AES(Advanced Encryption Standard)구조에 대해서 설명하려고 한다. AES는 DES(Data Encryption Standard)암호가 깨져서 새로 2000년대 새로등장한 블록암호이다. 안전하고 속도가 빨라서 현재까지도 쓰이고 있는 그런 암호체계이다.



위 사진은 AES의 구조를 간단 명료하게 표현한 사진이다. AES는 DES와 달리 구조가 심플하게 이루어졌다는게 내생각이다. 총 4개의 알고리즘으로 구성된다.(SubBytes, ShiftRows, MixColumns, AddRoundKey). 차례차례 보기로 한다.


SubBytes는 각각의 바이트를 S박스에 대응되는 값으로 치환하는 과정이다.



위 사진은 S박스를 나타낸다. 예를들어 0x43의 값은 S박스를 통해서 0x1A의 값으로 치환된다.

ShiftRows는 행을 왼쪽으로 쉬프트연산 하는 알고리즘이다.

위 사진은 ShiftRows의 과정을 보여준다. 한블록(16바이트)를 4x4 형태로 분류한다. 맨위의 행은 값이 변하지않고 2번째행부터 왼쪽으로 쉬프트 연산이 이루어진다.3번째는 2번 이루어지고, 4번째는 3번이루어진다.


MixColumns는 문자 그대로 열을 믹스하는 알고리즘이다.


MixColumns는 각각의 열단위로 위 값을 XOR시켜 나온 값이다. 


마지막으로 AddRoundKey는 각각의 라운드키와 상태값을 XOR시킨 값이다.



키 확장함수에 의해 만들어진 각각의 키는 각 상태값과 XOR된다. 


AES의 구조의 특징은 맨처음 평문(Planetext)에서 AddRoundkey 알고리즘을 한번 거친 후에 암호문 라운드로 진입한다. 그리고 마지막 라운드에는 MixColumns 알고리즘이 존재하지 않는다. AES는 DES에 비해 수학적 공식이 다소 필요한 구조이다. 자세히 구조를 관찰하면 이해하기 난해할 수도 있지만, 전체적인 구조 및 맥락은 이러한 방식으로 진행된다.


이 글은 단순히 글쓴이의 머리속 내용을 끄집어서 작성된 것이라. 다소 내용이 이상하거나 하는 점이 있을 수 있음.



'Etc > Cipher' 카테고리의 다른 글

DES(Data Encryption Standard)  (0) 2017.09.26
HMAC 에 대해서...  (0) 2014.10.03
,