암호학 - AES 알고리즘 ( Advanced Encryption Standard Algorithm ), 차세대 블록 암호 방식 - 기본

2011. 6. 9. 20:13카테고리 없음



AES 알고리즘 ( Advanced Encryption Standard Algorithm )


  DES의 안전성에 대한 여러가지 공격 방법들이 발표되면서 미국의 NIST에서는 1998년에 차세대 블록 암호 알고리즘인 AES를 공모하였다. 그 후 2년간의 심사 과정을 걸쳐 2000년 10월에 Rijindael이 AES 알고리즘으로 선정되었으며, 2001년 11월 FIPS-197로 등록되었다.블록 암호 방식
  처음에 개발된 Rijindael 알고리즘은 암호화에 사용하는 키의 길이와 입력 평문의 길이가 128비트, 196비트, 256비트 중 하나를 선택할 수 있었다. 그러나 FIPS-197에 등록된 AES 알고리즘은 입력 평문의 길이는 128비트로 고정시키고, 사용하는 암호화 키의 길이만 128비트, 192비트, 256비트 중에서 선택할 수 있도록 정의하고 있다.블록 암호 방식
  AES는 지금까지 알려진 블록 암호 알고리즘에 대한 모든 공격 방법들에 대해 안전하도록 설계되었으며, 하드웨어나 소프트웨어 구현시 속도나 코드 compactness 면에서 효율적이므로 스마트 카드와 같은 응용에 적합하다는 장점이 있다.
AES 알고리즘

@ 개요

- AES 암호 방식은 평문을 128비트 단위로 나누어 암호화, 복호화를 수행하며, 각각의 128비트를 4X4 행렬로 표현하여 연산을 수행한다. 아래 그림과 같이 4x4 행렬로 표현된 암호화, 복호화 과정의 중간 결과를 state라 하며, 행렬의 각 열의 32비트를 워드(word)라 한다.블록 암호 방식

AES 알고리즘

- AES의 기본 연산은 바이트 단위로 수행되며, 각 바이트를 유한체 GF(28) 위의 다항식으로 표현하여 연산을 수행하게 된다.

- AES의 암,복호화 과정은 바이트 단위의 덧셈, 곱셈 연산으로 이루어져 있다. AES의 암호화, 복호화 과정에서의 바이트들의 덧셈 연산은 비트 단위 XOR을 의미한다. 바이트들의 곱셈 연산은 mod 8차 기약 다항식 상에서의 곱셈을 의미한다.