암호화 알고리즘
암호화 알고리즘 정리표
| 용어 | 키워드 |
|---|---|
| 대칭키 | 암호화와 복호화에 동일한 키, 비밀키 전달 필요, 빠른 속도, 블록/스트림 암호화 |
| 비대칭키 | 공개키와 개인키 분리, 키 교환 안전, 느린 속도 |
| DES | IBM 개발, 56bit 키, 64bit 블록, 현재 취약, 최초 표준 |
| AES | NIST 개발, 128/192/256bit 키, 128bit 블록 |
| RSA | 소인수분해 기반, 전자서명 기능 |
| 해시 함수 | 단방향 함수, 고정된 길이 해시값, 복호화 불가능 |
| IDEA | 초기 블록 암호화, 128bit 키, 64bit 블록, 8라운드 |
| Skipjack | NSA 개발, 음성 암호화, 80bit 키, 64bit 입출력 |
대칭키 암호화 알고리즘
대칭키 암호화는 암호화와 복호화에 동일한 키를 사용하는 방식이다.
키 관리가 중요하지만, 암호화 속도가 빠르다는 장점이 있다.
블록 암호화 vs 스트림 암호화
- 블록 암호화 : 데이터를 고정된 크기의 블록으로 나누어 암호화 (DES, AES, SEED, IDEA, Skipjack)
- 스트림 암호화 : 데이터를 비트 단위로 순차적으로 암호화 (RC4, ChaCha20 등)
주요 대칭키 알고리즘
| 알고리즘 | 주요 특징 |
|---|---|
| DES | 최초 표준, IBM 개발, 56비트 |
| AES | DES 성능 문제 극복, NIST 개발, 128비트 |
| SEED | KISA 개발, 128비트, 한국 최초 표준 |
| IDEA | 초기 블록 암호화, 스위스 개발, 128비트 키, 64비트 블록 |
| Skipjack | 음성 암호화, NSA 개발, 80비트 키, 64비트 블록, 전화기 적용 |
비대칭 (공개키) 암호화 알고리즘
비대칭키 암호화는 암호화 키와 복호화 키를 분리하여 사용하는 방식이다.
하나는 모두에게 공개하고, 다른 하나는 비밀로 간직한다.
대칭키 방식보다 속도는 느리지만, 키를 안전하게 교환할 수 있다는 장점이 있다.
주요 비대칭키 알고리즘
| 알고리즘 | 주요 특징 |
|---|---|
| 디피-헬만 | 키 교환, 이산 로그, 최초 공개키 |
| RSA | 소인수분해, 전자서명 |
| ECC | 타원곡선 이산 로그, 짧은 키 |
해시 암호화 알고리즘
해시 알고리즘은 임의의 길이의 데이터를 고정된 길이의 해시 값으로 변환하는 단방향 함수이다.
복호화가 불가능하며, 주로 데이터의 무결성 검증이나 패스워드 저장에 사용된다.
주요 해시 암호화 알고리즘
| 알고리즘 | 주요 특징 |
|---|---|
| MD5 | 128비트, 충돌 취약, 사용 금지 |
| SHA-1 | 160비트, 충돌 취약, 사용 중단 |
| SHA-2 | 256/384/512비트, 안전 |