토픽 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, 블록암호 운영모드