Learning
토픽 11 / 210·암호학

AES (Advanced Encryption Standard)

AES (Advanced Encryption Standard)

2001년 NIST가 DES를 대체하기 위해 선정한 미국 연방 표준 대칭키 블록 암호 알고리즘으로, Rijndael 알고리즘 기반의 SPN(Substitution-Permutation Network) 구조

특징: 블록 128비트, 키 128/192/256비트, SPN 구조, 라운드 10/12/14

내부 구조: 128비트(16바이트) 평문을 4x4 바이트 행렬(State)로 구성하여 처리

라운드별 동작 (각 라운드 4단계 수행)

  • 1) SubBytes (바이트 치환):
  • 2) ShiftRows (행 이동):
  • 3) MixColumns (열 혼합):
  • 4) AddRoundKey (라운드 키 덧셈):

전체 흐름: 초기 AddRoundKey → (SubBytes → ShiftRows → MixColumns → AddRoundKey) × (N-1)라운드 → 최종 라운드(SubBytes → ShiftRows → AddRoundKey, MixColumns 없음)

키 확장(Key Schedule): 원래 키에서 각 라운드용 서브키를 생성, Rcon(Round Constant) 사용, AES-128: 10개 라운드키, AES-256: 14개 라운드키

라운드 수: AES-128(10라운드), AES-192(12라운드), AES-256(14라운드)

기술요소: AES-128/192/256, AES-NI(하드웨어 가속), AES-GCM(인증 암호화)

키길이: AES-128(일반/상업), AES-192(기업), AES-256(기밀/군사/양자 대비)

하드웨어가속: AES-NI(Intel/AMD CPU 명령어 세트), 성능 10배↑, 타이밍 공격 방어

보안성: 현재까지 실용적인 공격 없음, Brute Force 외 알려진 효과적 공격 부재, 양자 컴퓨터 대비 AES-256 권장(Grover 알고리즘으로 키길이 절반 효과)

적용사례: TLS/HTTPS(AES-GCM), 디스크 암호화(BitLocker/FileVault), DB TDE, WiFi(WPA2/WPA3), 파일 암호화

비교: AES(블록/SPN/하드웨어가속) vs ChaCha20(스트림/ARX/소프트웨어최적), AES(표준/범용) vs DES(구식/취약/56비트키), AES-128(빠름/10라운드) vs AES-256(안전/14라운드)

연관: 대칭키 암호화, 블록암호 운영모드, TLS, AEAD, SPN 구조