주요 대칭키(블록 암호) 알고리즘 - 이해하기

대칭키 블록 암호 한눈에 보기 

핵심 비교 표

기억 키워드: 블록크기 / 키길이 / 라운드수 / 구조(Feistel? SPN?) / 특징

알고리즘 블록 키(대표) 라운드 구조 특징·메모
DES 64비트 56비트(64비트 중 패리티 8비트) 16 Feistel 고전 표준. 키 짧아 무차별 대입 공격 가능, 실무에서 퇴장.
3DES (EDE) 64비트 112/168비트(2키/3키) 48(16×3) Feistel DES 호환성, 느림, 점진적 퇴장 추세.
AES (Rijndael) 128비트 128/192/256비트 10/12/14 SPN 현행 표준. 하드웨어 가속(AES-NI), 빠르고 광범위 지원.
SEED 128비트 128비트 16 Feistel KISA/국가표준(국내). 공공·금융 레거시에서 다수 채택.
ARIA 128비트 128/192/256비트 12/14/16 SPN 국가표준(국내). 경량·고속, TLS 등 폭넓은 지원.
Blowfish 64비트 32–448비트 16 Feistel 무료, 키스케줄 느림, 64비트 블록이라 대용량에 부적합.
Twofish 128비트 128/192/256비트 16 Feistel 계열 AES 공모작. 무료, 임베디드 친화, 안정성 양호.
IDEA 64비트 128비트 8.5 Lai–Massey 덧셈·곱셈·XOR 혼합(MIX). 특허 만료로 자유 사용.
Camellia 128비트 128/192/256비트 18/24 Feistel NTT/미쓰비시. ISO/IEC 표준, AES 급 성능·보안성.
RC5 2w(가변, 흔히 64비트) 0–2040비트 (가변, 흔히 12) ARX(가변 Feistel류) 데이터 의존 회전(DDR). 매개변수화된 설계.
RC6 128비트 0–2040비트 20 ARX(+정수 곱셈) AES 공모작. 단순한 연산으로 소프트웨어 고속.
Serpent 128비트 128/192/256비트 32 SPN 보수적 라운드 수(32). 안전성 강조, 상대적으로 느림.
Skipjack 64비트 80비트 32 비균형 Feistel NSA 설계, 오늘날 키 짧아 비권장.
CAST-128 64비트 40–128비트 12/16 Feistel PGP 등에 사용. 64비트 블록 한계.
CAST-256 128비트 128–256비트 48 Feistel AES 공모작. 라운드 많아 느린 편.

※ **AES의 ‘Rijndael’**은 원래 블록/키 모두 가변이지만, 표준 AES는 블록 128비트로 고정입니다.
3DES 키 길이 표기: 2키(112비트 유효), 3키(168비트 유효). 시험에 자주 등장!


알고리즘별 한 줄 암기

  • DES: 64/56/16/Feistel → 짧은 키, 역사 속으로.

  • 3DES: 64/112·168/48/Feistel → 느리지만 호환성.

  • AES: 128/128·192·256/10·12·14/SPN → 현행 표준, 하드웨어 가속.

  • SEED: 128/128/16/Feistel → 국내표준 레거시 강자.

  • ARIA: 128/128·192·256/12·14·16/SPN → 국내표준, 경량·고속.

  • Blowfish: 64/가변~448/16/Feistel → 키스케줄 느림, 64블록 한계.

  • Twofish: 128/128·192·256/16/Feistel → 무료, 임베디드 친화.

  • IDEA: 64/128/8.5/Lai–Massey → MIX 구조, 특허 만료.

  • Camellia: 128/128·192·256/18·24/Feistel → AES급, 국제표준.

  • RC6: 128/가변/20/ARX → 정수 곱셈, 소프트웨어 고속.

  • Serpent: 128/가변/32/SPN → 안전성 최우선.


구조(Feistel vs SPN 등) 빠른 구분법

  • Feistel 계열: 라운드마다 좌/우 절반 교환하며 한쪽만 라운드 함수 F에 투입 → DES, 3DES, SEED, Blowfish, Twofish, Camellia, (CAST, Skipjack)

  • SPN(치환-전치망): 바이트/비트 단위 S-Box → 선형확산 반복 → AES, ARIA, Serpent

  • 기타: IDEA(Lai–Massey), RC5/RC6(ARX: Add–Rotate–XOR, RC6은 곱셈 추가)


시험에 잘 나오는 포인트

  1. 블록/키/라운드 매칭

    • AES: 128블록 고정, 키에 따라 10/12/14 라운드

    • ARIA: 12/14/16 라운드(키 128/192/256 순)

    • Camellia: 18(128키)/24(192·256키)

    • IDEA: 8.5 라운드(8라운드 + 출력변환) — 숫자 “.5”에 주의

  2. 국내 표준: SEED(Feistel, 16라운드), ARIA(SPN, 12·14·16)

  3. 안전성 이슈: **DES(56비트)·3DES(느림)·Blowfish/CAST/IDEA(64블록)**는 대용량 데이터에서 생일역설 취약 위험

  4. 키 길이 함정: DES 56비트(64비트 아님!), 3DES 112/168비트, RC5/RC6 키 가변(최대 2040비트)

  5. 구조 용어: Feistel / SPN / Lai–Massey / ARX 구분 정의를 함께 암기


선택·적용 가이드 (실무 감각)

  • 신규/현행 표준: AES, (정책상 필요한 경우) ARIA·Camellia

  • 레거시 호환: 3DES가능하면 피하고, 불가피 시 단기적 대체로만 사용

  • 경량/임베디드: ARIA, Twofish 검토

  • 대용량 파일 암호화: 64비트 블록(Blowfish/IDEA/CAST/Skipjack) 지양


초압축 암기 카드 (3줄)

  • Feistel: DES/3DES/SEED/Blowfish/Twofish/Camellia(+CAST/Skipjack)

  • SPN: AES/ARIA/Serpent — (AES 10·12·14 / ARIA 12·14·16)

  • 64비트 블록: DES·3DES·Blowfish·IDEA·CAST·Skipjack ← 대용량 비권장


댓글 쓰기

새 댓글을 작성할 수 없습니다.*

다음 이전