AES(Advanced Encryption Standard)
: 128의 평문블록을 128의 암호문 블록으로 출력하는 non-Feistel 알고리즘이다.
1997년 DES를 대체하기위한 공모전.
레인달(Rijndael) 알고리즘 채택 → AES로 사용
암호 (Cipher)
: DES는 Feistel network 구조를 사용하지만 AES는 SPN(Substituion-Permutation Network)라는 구조를 사용한다.
SPN구조
입력을 여러 개의 소블록으로 나누고 각 소블록을 S-box에 입력하여 치환시키고 S-box의 출력을 P-box로 전치하는 과정을 반복한다.
라운드 함수가 역변환 되어야 한다는 제약이 있지만 더 많은 병렬성을 제공하기 때문에 암. 복호화 알고리즘의 고속화를 요구하며, CPU가 더 많은 병렬성을 지원하게 된 현 추세에 부응하는 방식이다.
라운드 (Rounds)
: 10,12,14라운드를 사용하며 각각 128, 192, 256bit의 키 길이를 갖는다.
각 라운드는 비선형성을 갖는 S-Box를 적용
- SubBytes() : 바이트 단위로 치환을 수행
- ShiftRows() : 행 단위로 순환시프트를 수행
- MixColumns() : 높은 확산을 제공하기 위해 열단위로 혼합 (암호화의 마지막 라운드에서는 사용하지 않음)
- AddRoundKey() : 라운드 키와 state를 EX-OR
기타 대칭키 알고리즘
구분 |
개발국가 |
개발년도 |
특징 |
블록크기 |
키의 길이 |
라운드수 |
DES |
미국 |
1972년 |
NIST에서 표준으로 공포(1977) |
64 |
56 |
16 |
IDEA |
유럽 |
1990년 |
PGP채택 . DES를 대체하기 위해 개발 |
64 |
128 |
8 |
Rijndael |
벨기에 |
|
2000년 AES알고리즘으로 선정 |
128 |
128 192 256 |
10 12 14 |
SEED |
한국 |
1999년 |
한국표준 블록암호 알고리즘 , f함수의 비선형성 안전도에 의존 |
128 |
128 |
16 |
CRYPTON |
한국 |
1998년 |
|
128 |
0-256 |
12 |
RC5 |
미국 |
1994년 |
알고리즘 간단, 속도가 빠름 |
64 |
0-256 |
16 |
FEAL |
일본 |
1987년 |
S/W구현에 적합 |
64 |
64 |
4 |
MISTY |
일본 |
1996년 |
차분/선형공격에 안전성증명구조 |
64 |
128 |
8 |
SKIPJACK |
미국 |
1990년 |
소프트웨어로 구현되는것을 막고자 Fortezza 카드에 칩 형태로 사용 |
64 |
80 |
32 |
'정보보안기사 > 암호학' 카테고리의 다른 글
대칭키 암호 #4 (현대 대칭키 암호를 이용한 암호화 기법) (0) | 2017.06.27 |
---|---|
대칭키 암호 #2 (DES) (0) | 2017.06.16 |
대칭키 암호 #1 (0) | 2017.06.15 |
암호학 개요 (0) | 2017.05.19 |