Feistel, SPN, ARX 비교

암호화 알고리즘에서 자주 사용되는 Feistel 구조(Feistel Network), SPN 구조(Substitution-Permutation Network), ARX(Addition-Rotation-XOR) 방식을 비교해 보겠습니다.

1. Feistel 구조 (Feistel Network)

개요

  • IBM의 호너스트 페이스텔(Horst Feistel)이 제안한 암호 구조.
  • 데이터 블록을 두 개의 반(Left, Right)으로 나누어 암호화 수행.
  • 암호화와 복호화 과정이 거의 동일하여 구현이 간단함.
  • 대표적인 알고리즘: DES, SEED, HIGHT

특징

장점

  • 암호화와 복호화 과정이 거의 동일하여 리소스 절약 가능.
  • 확장성이 뛰어나며, 라운드를 추가하면 보안성이 증가함.
  • 강력한 수학적 보안성.

단점

  • 라운드 수가 많아지면 속도가 느려질 수 있음.
  • 구조적 특성상 병렬 처리(Parallelization)가 어렵다는 단점이 있음.

대표적인 알고리즘

알고리즘구조블록 크기키 크기주요 특징
DESFeistel64비트56비트16라운드, 취약점 존재
SEEDFeistel128비트128비트금융 및 공공기관 표준
HIGHTFeistel64비트128비트초경량, IoT 최적화

2. SPN 구조 (Substitution-Permutation Network)

개요

  • 대체(Substitution) + 치환(Permutation) 구조를 반복하여 강력한 보안성을 확보.
  • 라운드마다 **S-Box(치환)와 P-Box(순열)**을 적용하여 혼돈과 확산을 유도.
  • 대표적인 알고리즘: AES, ARIA

특징

장점

  • 강력한 보안성 제공 (AES 수준의 보안 가능).
  • 병렬 연산이 가능하여 고속 암호화 가능.

단점

  • 암호화와 복호화 과정이 다름, 구현이 상대적으로 복잡.
  • 리소스를 많이 사용하여 저전력 환경에서 불리할 수 있음.

대표적인 알고리즘

알고리즘구조블록 크기키 크기주요 특징
AESSPN128비트128/192/256비트글로벌 표준, 강력한 보안
ARIASPN128비트128/192/256비트AES 대체 가능, 국가 표준

3. ARX 구조 (Addition-Rotation-XOR)

개요

  • 덧셈(Addition), 회전(Rotation), XOR 연산을 반복하는 방식.
  • 복잡한 S-Box 없이도 강한 보안성을 확보할 수 있음.
  • 대표적인 알고리즘: LEA, ChaCha20, Speck

특징

장점

  • S-Box가 필요 없기 때문에 연산 속도가 빠름.
  • 경량화 가능, IoT 및 모바일 기기에서 사용하기 적합.
  • 병렬화가 가능하여 고속 암호화 가능.

단점

  • 수학적 분석이 더 어려울 수 있음.
  • 기존 Feistel, SPN 방식보다 보안성이 상대적으로 검증이 덜 됨.

대표적인 알고리즘

알고리즘구조블록 크기키 크기주요 특징
LEAARX128비트128/192/256비트경량 암호, IoT 최적화
ChaCha20ARX512비트256비트고속 스트림 암호

4. Feistel, SPN, ARX 비교 표

구조암호화 원리대표 알고리즘장점단점사용 분야
Feistel데이터를 두 부분으로 나누고 반복 처리SEED, HIGHT, DES구현이 쉬움, 보안성 높음속도가 느릴 수 있음, 병렬화 어려움금융, 정부 보안
SPNS-Box(치환) + P-Box(순열) 반복AES, ARIA강력한 보안성, 병렬 연산 가능암·복호화 과정이 다름, 리소스 소모 많음국가 보안, 군사
ARX덧셈, 회전, XOR 연산 반복LEA, ChaCha20빠른 연산, 저전력, 병렬화 가능기존 방식보다 분석이 어려움IoT, 모바일

5. 결론

  • Feistel 구조: 금융·공공기관에서 안정적인 보안이 필요한 경우 사용. (SEED, HIGHT)
  • SPN 구조: 강력한 보안이 필요한 국가 기관, 군사, 고속 암호화 환경에 적합. (AES, ARIA)
  • ARX 구조: 저전력·경량화 환경 (IoT, 모바일, 클라우드) 에 최적화. (LEA, ChaCha20)

각 암호화 방식은 목적과 환경에 따라 적절히 선택하는 것이 중요합니다

Leave a Comment