Learning
토픽 9 / 210·암호학

SPN / Feistel 구조

SPN / Feistel 구조

블록 암호의 2대 내부 구조로, 평문을 혼돈(Confusion)과 확산(Diffusion)을 통해 암호문으로 변환하는 라운드 함수 설계 방식

SPN (Substitution-Permutation Network)

  • 동작: 각 라운드에서 치환(S-Box) → 전치(P-Box) → 키 혼합(XOR) 수행, 모든 비트를 동시에 처리
  • 특징: 암호화/복호화 구조 다름(역연산 필요), 병렬 처리 가능
  • 대표: AES (10/12/14라운드, 128비트 블록)

Feistel 구조

  • 동작: 평문을 좌(L)/우(R)로 분할 → R에 라운드 함수 F 적용 → L과 XOR → L/R 교환 → 반복
  • 수식: Li = Ri-1, Ri = Li-1 XOR F(Ri-1, Ki)
  • 특징: 암호화/복호화 동일 구조(키 순서만 역순), F 함수가 비가역이어도 복호화 가능
  • 대표: DES (16라운드, 64비트 블록), 3DES, SEED, Blowfish

비교: SPN(전체 처리/AES/빠름) vs Feistel(분할 교차/DES/역연산 불필요)

연관: 대칭키 암호, AES, DES, 블록암호 운영모드