topic★★★★★난이도 · 약 20분
암호화
대칭키 · 비대칭키 · 해시 — 3가지 암호 기법과 대표 알고리즘.
#보안#암호화#실기핵심
왜 배우는가
알고리즘 이름과 분류를 정확히 매칭할 수 있어야 한다. 매회 출제.
| 분류 | 키 구조 | 속도 | 대표 알고리즘 |
|---|---|---|---|
| 대칭키(비밀키) | 암호화·복호화에 같은 키 | 빠름 | DES, 3DES, AES, SEED, ARIA, IDEA, Blowfish |
| 비대칭키(공개키) | 공개키·개인키 쌍 | 느림 | RSA, ECC, ElGamal, DSA, Diffie-Hellman |
| 해시 | 단방향 (복호화 불가) | 매우 빠름 | MD5, SHA-1, SHA-2, SHA-3, HAS-160 |
대칭키 vs 비대칭키 — 대칭키는 빠르지만 키 교환이 어렵다. 비대칭키는 키 교환 문제를 해결하지만 느리다. 실제로는 하이브리드가 표준 — 비대칭키로 세션 키를 안전하게 교환한 뒤, 대칭키로 실제 데이터를 암호화 (SSL/TLS가 이 방식).
아래 시각화에서 대칭(AES)과 비대칭(RSA) 탭을 번갈아 선택해 Alice → Bob 송수신 단계의 키 사용 차이를 직접 확인해 보자.
단계1 / 4
1. 공유 비밀 키 합의
Alice와 Bob은 사전에 같은 비밀 키 K를 안전한 채널로 공유한다. 이 단계가 대칭 암호의 최대 난제다.
| 항목 | 대칭 (AES) | 비대칭 (RSA) |
|---|---|---|
| 키 개수 | 1개 (공유 비밀 키) | 2개 (공개키 + 개인키 쌍) |
| 대표 알고리즘 | AES, DES, 3DES, SEED, ARIA | RSA, ECC, ElGamal, Diffie-Hellman |
| 키 크기 | 128 / 192 / 256 bit | 2048 / 3072 / 4096 bit |
| 속도 | 빠름 (수백 MB/s) | 느림 (수 KB/s, 1000배 이상 차이) |
| 키 배포 | 어려움 — 안전한 채널 필요 | 쉬움 — 공개키는 누구에게든 공개 |
| 사용 사례 | 대량 데이터 암호화, 파일 암호화 | 키 교환, 디지털 서명, 작은 데이터 |
모드 탭을 바꿔 대칭·비대칭의 키 흐름 차이를 확인하자. 실무에서는 비대칭으로 대칭 키를 교환 → 실제 데이터는 대칭으로 암호화하는 **하이브리드 방식**을 사용한다 (TLS, PGP).
| 알고리즘 | 블록 크기 | 키 길이 | 국적 |
|---|---|---|---|
| AES | 128 | 128/192/256 | 미국 표준 (구 DES 대체) |
| DES | 64 | 56 | 구식, 취약 |
| SEED | 128 | 128 | 한국 국산 |
| ARIA | 128 | 128/192/256 | 한국 국산 |
| RSA | — | 2048~4096 | 인수분해 문제 기반 |
| ECC | — | 256 정도 | 타원곡선, RSA보다 효율적 |
해시의 용도 — ① 무결성 검증(다운로드 파일 체크섬) ② 비밀번호 저장(Salt 추가) ③ 전자서명 ④ 블록체인. MD5, SHA-1은 취약하여 보안 용도로 사용 금지, 대신 SHA-256 이상 사용.
실기 드릴 3문항
edit실기 드릴 · 단답형
한국에서 개발된 128비트 블록 대칭키 암호화 알고리즘 2개는?
edit실기 드릴 · 단답형
공개키·개인키 쌍을 사용하며, 인수분해 문제의 어려움에 기반한 비대칭 암호 알고리즘은?
check_circle실기 드릴 · OX
해시 함수는 복호화가 가능하다.