AES
: DES의 취약점을 보완하기 위해 만들어진 암호 알고리즘
· 후보 : MARS, RC6, Rijndael, Serpent, Twofish → Rijndael이 채택됨 ("레인달"이라고 읽는다)
Q. 그렇다면 AES와 Rijndael이 정확히 같은 걸 지칭하는가?
A. 아니다 → AES는 Rijndael의 표준 규격을 정한 것 (Rijndael이 더 넓은 개념)
| 구분 | Rijndael (원본 알고리즘) | AES (표준 규격) |
| 블록 크기 | 128, 160, 192, 224, 256비트 지원 | 128비트로 고정 |
| 키 길이 | 128, 160, 192, 224, 256비트 지원 | 128, 192, 256비트만 사용 |
| 라운드 수 | 블록과 키 길이에 따라 10~14회 가변적 | 키 길이에 따라 10, 12, 14회로 고정 |
[표 - Rijndael & AES]
▶ AES : Rijndael 중에서 "블록 크기가 128비트인 버전"만 추려서 표준화한 것
- 개관
· 평문의 길이 : 128비트 → 128비트짜리 암호문 출력
· 암호키의 길이 : 128, 192, 256비트 (AES-128, AES-192, AES-256)
→ 어떠한 경우에도 라운드 키 크기는 128비트임
· 라운드 횟수 : 10, 12, 14회
· SPN 구조 사용
- 구조
· AddRoundKey() : 라운드 키와 state를 XOR함
→ 왜하냐? 이후 수행될 연산들이 키의 개입 없이 평문 데이터만 가지고 이루어질시 보안에 취약
· SubBytes() : 비 선형성을 갖는 S-box를 적용하여 바이트 단위로 치환 수행 → 혼돈 제공
→ 16개의 독립된 바이트 단위의 변환 수행 (128비트 = 16바이트)
· ShiftRows() : 행 단위로 순환 시프트(Cyclic shift)를 수행 → 확산 제공
· MixColumns() : 열 단위로 혼합(mixing) → 확산 제공
→ 마지막 라운드에서는 MixColumns() 수행 X
- 방식
① 128비트의 평문이 입력되어 Pre-round transformation을 거친다.
→ 평문 ⊕ Key(0)
② 이후, N개의 라운드 함수를 거쳐 128비트의 암호문으로 출력된다.
- 라운드 함수
1) 구성
· SubBytes() 연산
· ShiftRows() 연산
· MixColumns() 연산
· AddRoundkey() 연산
2) 과정
① Pre-round transformation을 거친 데이터에 SubBytes() 연산을 한다.
② 이후 ShiftRows() 연산을 수행하고 MixColumns() 연산을 수행한다.
③ 마지막으로 state ⊕ key 연산을 진행한다.

※ 정리 ※
● Pre-round : AddRoundKey (한 번만 수행)
● 일반 라운드 : SubBytes → ShiftRows → MixColumns → AddRoundKey
● 마지막 라운드 : SubBytes → ShiftRows → AddRoundKey (MixColumns 생략)
- 특징
· 알려진 블록 암호 알고리즘에 대한 모든 공격으로부터 안전하게 설계
· 하드웨어 / 소프트웨어 구현 시 효율적 → 응용에 적합
| 구분 | DES | AES |
| 블록 크기 | 64비트 | 128비트 |
| 키 길이 | 64비트 | 128, 192, 256비트 이상 |
| 라운드 횟수 | 16회 | 10, 12, 14회 |
| 기본 구조 | Feistel 구조 | SPN 구조 |
| 암호화 프리미티브 | 치환, 전치 | 치환, 시프트, 비트 혼합 |
| 암호학적 프리미티브 | 혼돈, 확산 | 혼돈, 확산 |
[표 - DES & AES 비교]
♠ 2026.03.25 / D-301 ♠
오늘은 AES에 대해 알아봤다. 이제 DES vs AES 관련 문제는 모두 풀 수 있겠다. 오늘 생각보다 빨리 끝났는데 내일 아침 일찍 근무 준비해야해서 남은 대칭키 알고리즘은 내일 공부하겠다. 한 6개정도 있는데, 이 알고리즘들은 DES나 AES처럼 원리를 따져가며 정리하지 않고 특징만 정리하는 식으로 공부하겠다.
AES는 알고리즘 이름이 아니라, 특정 알고리즘의 표준 규격을 나타낸 것이다. 가장 많이 쓰이는 대칭키 알고리즘 중 하나로, Advanced Encryption Standard 이름을 보면 알 수 있듯이 DES에서 발전해서 AES라고 생각한다. 교재에 행이 시프트되고, 비트가 혼합되는 과정이 자세히 나와있지 않았으므로, 아마 자세한 원리에 대해선 시험에서 안 나올 것 같다.
.
.
.
요즘 1시간만 하고 가는데 내일은 진짜 2시간 꽉 채워서 공부하겠다. 이만
'정보보안산업기사 필기' 카테고리의 다른 글
| [암호학] 키 배송 문제와 해결 방안 (2) | 2026.03.30 |
|---|---|
| [암호학] 대칭키 암호 알고리즘 (4) | 2026.03.26 |
| [암호학] DES(Data Encryption Standard) (0) | 2026.03.24 |
| [암호학] 합성 암호 (0) | 2026.03.23 |
| [암호학] 현대 블록 암호 (0) | 2026.03.23 |