콘텐츠로 이동

대칭 암호화 (Symmetric Encryption)

Jan 28, 2026

대칭 암호화(Symmetric Encryption)는 암호화와 복호화에 동일한 비밀 키를 사용하는 암호화 방식이다. 네트워크에서 송신자/수신자 주소를 신뢰할 수 없으므로, 암호화로 메시지 수신자를 제한한다(키 보유자만 복호화 가능).

비유하면, 똑같은 자물쇠 열쇠를 두 사람이 가지고 있는 것이다. 하나로 잠그면 다른 하나로 열린다.

Alice Bob
│ │
│ ──────── 키 교환 ────────────> │
│ (안전한 채널) │
│ │
│ 평문 m │
│ ↓ │
│ c = E_k(m) │
│ ↓ │
│ ═══════ 암호문 c ═══════════> │
│ (공개 채널) │
│ m = D_k(c)
구분Block CipherStream Cipher
처리 단위고정 크기 블록바이트/비트 스트림
특징치환/순열 연산키스트림과 XOR
용도짧은 메시지, 블록 단위긴 메시지, 실시간
예시DES, AESAES-CTR mode
알고리즘키 길이블록 크기상태
DES56-bit64-bit취약 (brute-force 가능)
3DES168-bit64-bit레거시
AES128/192/256-bit128-bit현재 표준

AES(Advanced Encryption Standard)는 2001년 NIST가 채택한 Rijndael 알고리즘 기반이며, FIPS-197로 표준화되었다.

대칭 암호의 핵심 과제: 두 당사자가 비밀 키를 어떻게 안전하게 공유?

  • Out-of-band 교환 (직접 전달)
  • 신뢰할 수 있는 제3자 (Certificate Authority)
  • 비대칭 암호화로 대칭 키 전송

N명이 통신할 경우 N(N-1)/2개 키가 필요하다.

Alice와 Bob이 AES-256으로 통신:

  1. 사전에 안전한 채널로 256비트 키 공유
  2. Alice가 평문을 AES로 암호화하여 전송
  3. Bob이 동일한 키로 복호화