고급 암호화 표준(AES) (Advanced Encryption Standard)
쉽게 풀면
AES는 오늘날 가장 널리 쓰이는 자물쇠 방식이라고 생각하면 됩니다. 예전에 쓰이던 DES라는 암호가 안전성 문제로 한계에 부딪히자, 공모를 통해 새롭게 채택된 표준입니다. 데이터를 128비트씩 잘라 여러 단계의 치환과 뒤섞기 연산을 반복해 암호화합니다.
키 길이를 128비트, 192비트, 256비트 중에서 선택할 수 있어 필요에 따라 보안 강도를 조절할 수 있습니다. AES는 미국 국립표준기술연구소가 기존의 DES를 대체하기 위해 공모를 거쳐 채택한 블록암호 표준으로, 오늘날 가장 널리 쓰이는 대칭키 암호 알고리즘입니다.
왜 중요한가
AES는 정부, 금융, 통신 등 거의 모든 산업 분야에서 표준으로 채택되어 있어 정보보안학 연구와 실무 모두에서 기준점 역할을 합니다. 하드웨어 가속을 지원하는 프로세서가 많아 실용적인 속도로 강력한 보안을 제공할 수 있다는 점도 널리 채택된 이유입니다.
새로운 암호 알고리즘이나 프로토콜을 평가할 때도 AES가 비교 기준으로 자주 사용됩니다. AES는 정부기관용 암호부터 상용 통신 보안까지 폭넓게 채택되어 사실상의 전 세계 표준으로 자리잡았으며, 공개 공모와 학계 검증을 거쳐 선정된 대표적 사례로 암호학 표준화 과정의 모범 사례로 인용됩니다.
어떤 절차인가
- AES는 NIST가 1997년 공모를 시작해 2000년 10월 Rijndael(Daemen과 Rijmen 설계)을 선정하고, 2001년 FIPS 197로 표준화한 블록 암호입니다. 후보 15개 가운데 MARS, RC6, Rijndael, Serpent, Twofish의 다섯 개가 결선에 올랐습니다(NIST, 2001; Daemen & Rijmen, 2002).
- 블록 크기는 128비트로 고정이며 키 길이는 128, 192, 256비트 중에서 고릅니다. 키 길이에 따라 라운드 수가 10, 12, 14로 달라집니다.
- 평문 블록을 바이트 4×4 배열(state)에 넣고, 처음에 라운드 키를 더한 뒤(AddRoundKey) 라운드를 반복합니다. 각 라운드는 SubBytes(바이트별 비선형 치환, S-박스), ShiftRows(행 이동), MixColumns(열 안에서 섞기), AddRoundKey(라운드 키 더하기)로 이루어지며 마지막 라운드에서는 MixColumns를 생략합니다. 라운드 키는 키 확장으로 만들어집니다. 이는 치환과 뒤섞기를 반복하는 SPN 구조입니다.
- 복호는 같은 연산의 역변환을 쓰고, 키가 같은 대칭키 암호입니다(블록 암호).
언제 쓰고 무엇을 얻나
- 쓰이는 곳: 파일·디스크 암호화, 통신 보안(TLS 등), 무선 통신, 저장 매체 보호에 널리 쓰입니다. 많은 프로세서가 AES 전용 명령어를 지원해 속도가 빠릅니다.
- 운용 모드가 필요: 블록 암호 하나만으로는 128비트 블록만 처리하므로, 긴 데이터에는 운용 모드가 필요합니다(Dworkin, 2001). ECB는 같은 평문 블록이 같은 암호문 블록이 되어 패턴이 드러나기 쉽고, CBC와 CTR는 초기화 벡터나 카운터를 씁니다. 인증을 겸하는 GCM은 Dworkin(2007)이 규정합니다(운용 모드, AES-GCM).
- 안전성의 수준: 128비트 키를 전수 탐색하려면 2128 ≈ 3.4×1038번의 시도가 필요합니다. 초당 1012개 키를 시험할 수 있다고 가상으로 가정하면 약 1.1×1019년으로, 우주 나이(약 1.4×1010년)의 약 8억 배입니다. 전수 탐색은 현실적이지 않습니다.
- 알려진 분석: 완전한 라운드를 가진 AES에 대해 공개된 최선의 키 복구 분석은 전수 탐색보다 약간 나은 수준(AES-128에 대해 약 2126.1, Bogdanov, Khovratovich, & Rechberger, 2011)으로, 실용적 위협은 아닙니다. 실제 사고는 알고리즘보다 구현(부채널)이나 모드·키 관리의 오용에서 생긴다고 논의됩니다(이 페이지의 “주의할 점”).
논문에는 이렇게 적는다
- 알고리즘 설정: 키 길이, 운용 모드, 초기화 벡터·논스의 생성과 재사용 방지 방법, 패딩 방식을 적습니다.
- 구현 환경: 사용한 라이브러리와 버전, 하드웨어 가속 여부, 구현이 표준(FIPS 197, SP 800-38 시리즈)을 따르는지 적습니다.
- 키 관리: 키를 어떻게 생성·저장·교체하는지 밝힙니다. 암호의 안전성은 키 관리에 크게 좌우됩니다.
- 성능 측정: 처리량(MB/s)이나 바이트당 사이클 수와 함께 측정 환경(프로세서, 데이터 크기)을 적습니다.
- 이 항목은 연구 보고의 일반 요소이며 공격 방법을 설명하는 것이 아닙니다.
논문에서는 이렇게 쓰입니다
실제 논문에서
국내 학술지 논문에서 이 용어가 쓰인 문장을 그대로 옮겼습니다. 제목·학술지·연도와 원문 링크를 함께 적었습니다.
“Bianlian 랜섬웨어는 하드웨어 구현된 AES 256-CBC(Cipher Block Chaining) 알고리즘을 암호화에 악용하며, Go 언어의 goroutine을 이용하여 기존 랜섬웨어보다 더 신속하게 시스템을 장악한다.”
역공학을 통한 Bianlian 랜섬웨어 복호화 방안 연구, 디지털포렌식연구, 2023 · KCI 한국학술지인용색인 · 원문 보기 ↗
예시 문장
아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.
실제 시스템 구현에서 AES의 성능을 구체적으로 검증하는 사례를 보여줍니다.
표준 AES 구조를 특정 환경에 맞게 최적화하려는 연구 방향을 보여줍니다.
조금 더 깊게 보면
AES는 SPN(치환-순열 네트워크) 구조를 기반으로 하며, 키 길이에 따라 10, 12, 14라운드를 거쳐 암호문을 만들어냅니다. 실제 서비스에서는 AES를 GCM이나 CTR 같은 운용 모드와 결합해 기밀성뿐 아니라 데이터 무결성까지 함께 보장하는 방식이 널리 사용됩니다.
AES는 128비트 고정 블록 크기를 사용하며 키 길이에 따라 128비트, 192비트, 256비트의 세 종류로 나뉘고, 키 길이가 길수록 라운드 수가 늘어나 이론적 안전성은 높아지지만 연산 부담도 함께 증가합니다.
주의할 점
AES 알고리즘 자체가 안전하더라도 잘못된 운용 모드나 키 관리 방식과 함께 사용하면 전체 시스템의 보안이 취약해질 수 있습니다.
헷갈리기 쉬운 용어
암호 관련 용어는 층위가 다릅니다.
| 용어 | 무엇인가 | AES와의 관계 |
|---|---|---|
| AES | 128비트 블록의 대칭키 블록 암호 | 이 페이지의 용어입니다. |
| 블록 암호 | 고정 크기 블록 단위로 암호화하는 대칭키 방식 | AES가 속한 상위 개념 |
| 운용 모드 | 블록 암호를 임의 길이 데이터에 쓰는 규칙 | AES를 실제로 쓰려면 필요 |
| AES-GCM | AES를 카운터 방식으로 돌리면서 인증 태그를 생성 | AES와 모드를 결합한 방식 |
| RSA | 큰 수의 소인수분해 어려움에 기대는 공개키(비대칭) 암호 | 키 관리·교환에 쓰이며 AES와 역할이 다름 |
| SHA-256 | 임의 길이 입력을 고정 길이로 줄이는 해시 함수 | 암호화(복호 가능)가 아닌 요약값 |
참고 문헌
- National Institute of Standards and Technology (2001). Advanced Encryption Standard (AES) (FIPS PUB 197).
- Dworkin, M. (2001). Recommendation for Block Cipher Modes of Operation: Methods and Techniques (NIST Special Publication 800-38A).
- Daemen, J., & Rijmen, V. (2002). The Design of Rijndael: AES, the Advanced Encryption Standard. Springer.
- Dworkin, M. (2007). Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC (NIST Special Publication 800-38D).
- Bogdanov, A., Khovratovich, D., & Rechberger, C. (2011). Biclique cryptanalysis of the full AES. In Advances in Cryptology: ASIACRYPT 2011 (LNCS 7073, pp. 344–371). Springer.
표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.