암호화 알고리즘
요약
정보처리기사 실기 시험에 자주 출제되는 대칭키(DES, SEED, AES), 비대칭키(디피-헬만, RSA, ECC), 해시(MD5, SHA) 암호화 알고리즘의 핵심 개념과 차이점을 비교 분석하고 예상 문제를 풀어봅니다.
| 용어 | 키워드 |
|---|---|
| 대칭키 | 암호화와 복호화에 동일한 키, 비밀키 전달 필요, 빠른 속도, 블록/스트림 암호화 |
| 비대칭키 | 공개키와 개인키 분리, 키 교환 안전, 느린 속도 |
| DES | IBM 개발, 56비트 키, 64비트 블록, 현재 취약, 최초 표준 |
| AES | NIST 개발, 128/192/256비트 키, 128비트 블록, 널리 사용 |
| RSA | 소인수분해 기반, 전자서명 기능, 가장 널리 사용 |
| 해시 함수 | 단방향 함수, 고정된 길이 해시값, 복호화 불가능 |
| MD5 | RFC 1321, 128비트 해시값, MD4 대체, 현재 충돌 취약 |
| IDEA | 초기 블록 암호화, 128비트 키, 64비트 블록, 8라운드 |
| Skipjack | NSA 개발, 음성 암호화, 80비트 키, 64비트 입출력 |
| TKIP | WEP 보완, 패킷별 키 믹싱, MIC 적용, 무선랜 보안 프로토콜 |
대칭키 암호화 알고리즘
대칭키 암호화는 암호화와 복호화에 동일한 키 를 사용하는 방식입니다. 키가 하나만 존재하므로 키 관리가 매우 중요하지만, 암호화 속도가 빠르다는 장점이 있습니다.
대칭키 암호화는 크게 블록 암호화와 스트림 암호화로 나뉩니다:
- 블록 암호화: 데이터를 고정된 크기의 블록으로 나누어 암호화 (DES, AES, SEED, IDEA, Skipjack)
- 스트림 암호화: 데이터를 비트 단위로 순차적으로 암호화 (RC4, ChaCha20 등)
주요 대칭키 알고리즘 비교
| 알고리즘 | 주요 특징 |
|---|---|
| DES | 최초 표준, IBM 개발, 56비트, 현재 취약함 |
| AES | DES 성능 문제 극복, NIST 개발, 128비트, 널리 사용 |
| SEED | 국산 알고리즘, KISA 개발, 128비트, 한국 최초 표준 |
| IDEA | 초기 블록 암호화, 스위스 개발, 128비트 키, 64비트 블록 |
| Skipjack | 음성 암호화, NSA 개발, 80비트 키, 64비트 블록, 전화기 적용 |
핵심 요약:
- DES: 최초의 표준이었지만, 키 길이가 짧아 현재는 취약합니다.
- AES: 현존하는 가장 안전하고 널리 쓰이는 대칭키 알고리즘입니다.
- SEED: 최초의 국산 대칭키 알고리즘입니다.(2004년 ARIA로 대체)
- IDEA: 초기 블록 암호화 알고리즘으로 스위스에서 개발되었으며, 특허로 인해 사용이 제한적입니다.
- Skipjack: NSA에서 개발한 알고리즘으로 음성 암호화에 주로 사용되며, 전화기 등에 적용됩니다.
비대칭 (공개키) 암호화 알고리즘
비대칭키 암호화는 암호화 키와 복호화 키를 분리하여 사용하는 방식입니다. 하나는 모두에게 공개(공개키)하고, 다른 하나는 비밀로 간직(개인키)합니다. 대칭키 방식보다 속도는 느리지만, 키를 안전하게 교환할 수 있다는 큰 장점이 있습니다.
주요 비대칭키 알고리즘 비교
| 알고리즘 | 주요 특징 |
|---|---|
| 디피-헬만 | 키 교환, 이산 로그, 최초 공개키 |
| RSA | 소인수분해, 전자서명, 가장 널리 사용 |
| ECC | 타원곡선 이산 로그, 짧은 키, 모바일 유리 |
핵심 요약:
- 디피-헬만: 최초의 공개키 알고리즘으로 이산 로그의 어려움을 기반으로 만들어졌습니다.
- RSA: 소인수분해의 어려움을 기반으로 하며, 가장 대중적인 비대칭키 알고리즘입니다.
- ECC: RSA 대안으로, 타원곡선 이산 로그의 어려움을 기반으로 하며, 짧은 키 길이로 높은 보안성을 제공하여 성능이 우수합니다. 모바일 환경에 적합합니다.
해시 암호화 알고리즘
해시 알고리즘은 임의의 길이의 데이터를 고정된 길이의 해시 값으로 변환하는 단방향 함수입니다. 복호화가 불가능하며, 주로 데이터의 무결성 검증이나 패스워드 저장에 사용됩니다.
해시 함수
해시 함수는 임의의 길이의 데이터를 고정된 길이의 해시 값으로 변환하는 함수입니다. 해시 함수는 다음과 같은 특징을 가집니다.
- 단방향 함수: 복호화가 불가능합니다.
- 충돌 저항: 서로 다른 입력에 대해 동일한 해시 값을 생성하지 않습니다.
- 아무리 큰 숫자를 넣더라도 해시 값은 고정된 길이를 가집니다.
주요 해시 암호화 알고리즘 비교
| 알고리즘 | 주요 특징 |
|---|---|
| MD5 | 128비트, 충돌 취약, 사용 금지 |
| SHA-1 | 160비트, 충돌 취약, 사용 중단 |
| SHA-2 | 256/384/512비트, 안전, 널리 사용 |
핵심 요약:
- MD5: RFC 1321로 정의된 128비트 해시 함수입니다. MD4를 대체하기 위해 만들어졌고, 파일 무결성 검사에 널리 쓰였지만 현재는 충돌 취약점 때문에 보안 용도로는 부적합합니다.
- SHA-1: 160비트 해시값을 만들지만 충돌 취약점이 발견되어 사용을 중단하는 흐름입니다.
- SHA-2 계열 (SHA-256 등): AES의 키 길이에 대응하여 현재 보안 표준으로 가장 널리 사용되는 안전한 해시 알고리즘입니다.
무선랜 보안 프로토콜
무선랜 보안 프로토콜은 무선 구간에서 오가는 데이터를 암호화하고, 패킷이 중간에 위조되거나 변조되지 않았는지 확인하는 역할을 합니다. 암호 알고리즘 자체와 함께 출제될 때는 어떤 취약점을 보완했는지, 키를 어떻게 관리하는지, 무결성 검사를 하는지 를 중심으로 구분합니다.
TKIP
TKIP(Temporal Key Integrity Protocol)는 WEP의 취약점을 보완하기 위해 IEEE 802.11i 표준의 일부로 설계된 무선랜 보안 프로토콜입니다. 한국어로는 임시 키 무결성 프로토콜 이라고 부릅니다.
핵심은 두 가지입니다.
- 키 믹싱: 패킷마다 키를 동적으로 바꿔 WEP처럼 같은 키 흐름이 반복되는 문제를 줄입니다.
- MIC(Message Integrity Check): 메시지 무결성 검사를 붙여 패킷 위조와 변조를 탐지합니다.
WEP는 초기 무선랜 보안 방식이지만 키 재사용과 약한 무결성 검증 때문에 취약합니다. TKIP는 기존 장비와의 호환성을 고려해 WEP를 보완한 과도기적 방식이고, 이후에는 AES 기반의 CCMP가 더 강한 보안 방식으로 쓰입니다.