(1) AES(Advanced Encryption Standard) 개요
: 1977년도에 미국 표준으로 제정된 DES는 지금까지 큰 허점이 발견되지 않았지만 키 길이가 56비트 밖에 되지 않아 현재의 컴퓨팅 기술로는 쉽게 전사공격을 하여 암호해독을 할 수 있다. 따라서 1997년에 새 표준에 대한 작업을 시작하여 2000년 10월에 AES(Advanced Encryption Standard)라는 새 표준을 채택하였다. 1997년 새 표준에 대한 제안에 의하면 새 암호알고리즘의 블록 크기는 128비트이어야 하며, 알고리즘에 대한 변경 없이 128비트, 196비트, 256비트 길이의 키를 지원해야 한다. 1998년도에 제출된 여러 제안 중에 15개를 일차적으로 선정하였고, 1999년에 이 중에 다섯 개를 최종 후보로 선정하였다. 이 중에 벨기에 암호학자인 Daemen과 Rijmen이 제안한 Rijndael 암호알고리즘이 AES로 채택되었다.

채택된 Rijndael 알고리즘은 기존 표준인 DES와 달리 Feistel 구조가 아니었으며, 제안에서 요구한 사항뿐만 아니라 블록 크기를 192비트, 256비트로 확장할 수 있도록 되어 있었다. 하지만 제안에서 요구한 128비트 블록 크기 버전만 표준으로 채택되었다. Rijndael 암호 알고리즘의 라운드 수는 블록 크기와 키 길이에 의해 다음과 같이 결정된다.

B = 암호블록의 크기에 대한 32비트 워드의 수
K = 암호키 길이에 대한 32비트 워드의 수
R = 라운드 수

R = 6 + max(B, K)


표준으로 채택된 블록의 길이는 128비트이므로 B=4 이며, 128비트, 192비트, 256비트 세 가지 종류의 키 길이를 지원하므로 K=4, 6, 8 이다. 따라서 블록 크기가 128비트이고, 키 길이가 128비트이면 R=10이 된다.

이때, 암호키는 4행 * K 로 2차원 바이트 배열로 구성된 것으로 간주한다. 이 암호키는 4 * R + 4개의 32비트 워드로 확장된다.

즉, 블록 크기와 키 길이가 모두 128비트이면 128비트 암호키는 총 44개의 32비트 워드로 확장되며, 각 라운드마다 이 중 4개의 워드가 사용된다.


각 라운드는 하나의 자리바꿈 연산과 세개의 치환연산으로 구성되어 있다.
- S-Box
- Shift row
- Mix column
- Add roundkey


'T heory > Encryption' 카테고리의 다른 글

[AES] AddRoundKey  (0) 2011.09.19
[AES] MixColumns 치환  (0) 2011.09.19
[AES] ShiftRows 자리바꿈  (0) 2011.09.19
[AES] S-Box 치환  (0) 2011.09.19
[AES] 상태  (0) 2011.09.19
by 민트앤라떼 2011. 9. 19. 14:58