암호화 알고리즘
보안/신기술암호 알고리즘
읽는데 5분 소요
처음 쓰여진 날: 2025-09-25
마지막 수정일: 2025-10-29
조회수: 2,974
요약
정보처리기사 실기 시험에 자주 출제되는 대칭키(DES, SEED, AES), 비대칭키(디피-헬만, RSA, ECC), 해시(MD5, SHA) 암호화 알고리즘의 핵심 개념과 차이점을 비교 분석하고 예상 문제를 풀어봅니다.
| 용어 | 키워드 |
|---|---|
| 대칭키 | 암호화와 복호화에 동일한 키, 비밀키 전달 필요, 빠른 속도, 블록/스트림 암호화 |
| 비대칭키 | 공개키와 개인키 분리, 키 교환 안전, 느린 속도 |
| DES | IBM 개발, 56비트 키, 64비트 블록, 현재 취약, 최초 표준 |
| AES | NIST 개발, 128/192/256비트 키, 128비트 블록, 널리 사용 |
| RSA | 소인수분해 기반, 전자서명 기능, 가장 널리 사용 |
| 해시 함수 | 단방향 함수, 고정된 길이 해시값, 복호화 불가능 |
| IDEA | 초기 블록 암호화, 128비트 키, 64비트 블록, 8라운드 |
| Skipjack | NSA 개발, 음성 암호화, 80비트 키, 64비트 입출력 |
대칭키 암호화 알고리즘
대칭키 암호화는 암호화와 복호화에 동일한 키 를 사용하는 방식입니다. 키가 하나만 존재하므로 키 관리가 매우 중요하지만, 암호화 속도가 빠르다는 장점이 있습니다.
대칭키 암호화는 크게 블록 암호화와 스트림 암호화로 나뉩니다:
- 블록 암호화: 데이터를 고정된 크기의 블록으로 나누어 암호화 (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, SHA-1: 충돌(Collision) 취약점이 발견되어 더 이상 사용해서는 안 됩니다.
- SHA-2 계열 (SHA-256 등): AES의 키 길이에 대응하여 현재 보안 표준으로 가장 널리 사용되는 안전한 해시 알고리즘입니다.