IT/정보보안

[정보보안] AES(Advanced Encryption Standard) 알고리즘이란?

디지털 은행원 이야기 2020. 9. 17. 23:50
반응형

 

안녕하세요.

방프개입니다.

 

앞전에 DES(Data Encryption Standard) 알고리즘에 관해 소개를 해드렸었는데요.


https://wjdtngus5511.tistory.com/category/IT/%EC%A0%95%EB%B3%B4%EB%B3%B4%EC%95%88

 

'IT/정보보안' 카테고리의 글 목록

다양한것을 배우고 공부하고 싶은 초보 프리랜서 개발자입니다. 좋은 정보를 제공할 수 있도록 노력하겠습니다. 감사합니다.

wjdtngus5511.tistory.com

DES란 어떤 것인지 구조는 어떻게 되어있고 취약점은 무엇인지에 관해 적어봤었습니다.

오늘은 DES와 함께 항상 비교되는 AES(Advanced Encryption Standard)에 관해 적어보도록 하겠습니다.

 

AES(Advanced Encryption Standard) 란?

 

기존에 사용하던 DES는 56bit의 키를 사용했었는데 컴퓨터 성능의 발달로 인해 취약점이 발견되었습니다.

따라서 개선책으로 이중, 삼중 DES를 사용해봤지만 결국 더 이상 사용할 수 없는 상황에 이르렀고

1997년 NIST((미국 국립기술표준원)은 DES를 대체하기 위해 Advanced Encryption Standard,

즉 AES로 불리는 암호 알고리즘을 공모하였습니다.

 

치열한 경쟁 끝에 레인달(Rijndael)이 개발한 알고리즘인 AES 알고리즘이 채택되었습니다.

NIST에서 제시한 AES의 선정 기준은 안전성(Security), 비용(Cost), 구현 효율성(Implementation)

세 가지였고, 레인달이 이 세 가지 조건들에 가장 잘 부합하는 것으로 결정되었습니다.

 

높은 안전성과 속도로 인해 DES를 대체해 전 세계적으로 많이 사용되고 있습니다.

 

AES의 구조

 

AES는 DES와 동일하게 블록 대칭키 암호화 방식을 사용합니다. 이것을 제외하곤 DES와 전부 차이가 있는데

AES는 128bit 평문을 128bit 암호문으로 출력하는 알고리즘으로 non-Feistel 알고리즘에 속합니다.

또한 10, 12, 14 라운드를 사용하며, 각 라운드에 대응하는 키 크기는 128, 192, 256 bit입니다.

 

키의 크기에 따라 AES의 세 가지 버전이 존재하며 각각 AES-128, AES-192, AES-256으로 불립니다.

그러나 어떤 경우에도 키 확장 알고리즘으로부터 생성되는 라운드 키 크기는

평문과 암호문 크기와 동일한 128bit입니다.

 

 

레인달(Rijndael)의 암호(Cipher)

 

DES에서는 Feistel 네트워크라는 기본 구조를 사용하고 있지만

Rijndael 에서는 SPN(Substitution-Permutation Network)이라는 구조를 사용하고 있습니다.

 

# SPN 구조란?
SPN 구조는 라운드 함수가 역변환이 되어야 한다는 제약이 있지만 더 많은 병렬성(parallelism)을
제공하기 때문에 암, 복호화 알고리즘의 고속화를 요구하며, 컴퓨터 프로세서(CPU)가
더 많은 병렬성을 지원하게 된 현 추세에 부응하는 방식이라 할 수 있습니다.

 

AES 암호화 과정의 각 라운드는 비 선형성을 갖는

 

① S-Box를 적용하여 Byte 단위로 치환을 수행하는 SubBytes 연산

② 행 단위로 순환 시프트(Cyclic shift)를 수행하는 ShiftRows 연산

③ 높은 확산(Diffusion)을 제공하기 위해 열 단위로 혼합(Mixing)하는 MixColumns 연산

④ 라운드 키와 state를 EX-OR 하는 AddRoundKey 연산

 

으로 구성되어 있습니다.

특징으로 마지막 라운드에선 MixColumns 연산을 수행하지 않습니다.

 

AES는 알려진 블록 암호 알고리즘에 대한 모든 공격 방법으로부터 안전하도록 설계되었으며

하드웨어나 소프트웨어 구현 시 속도나 코드 압축성 면에서 효율적이므로

스마트카드와 같은 응용에 적합한 장점이 있다고 합니다.

 

 

 Rijndael 암호화의 1라운드
Rijndael 복호화의 1라운드

 

이상으로 AES 알고리즘에 대해 알아봤습니다.

DES와 AES의 정의, 특징 등에 대해 알아봤는데 보통 같이 비교를 많이 해

아래에 표로 정리하고 마무리하도록 하겠습니다.

 

구분 DES AES
년도 1976년 1999년
블록크기 64bits 128bits
키 길이 56bits 128, 192, 256bits 이상
암호화 프리미티브 치환, 전치 치환, 시프트, 비트 혼합
암호학적 프리미티브 혼돈, 확산 혼돈, 확산
설계 공개 공개
설계 원칙 비공개 공개
선택 과정 비밀 비밀, 공모
출처 IBM, NSA 벨기에 암호학자

 

감사합니다.

반응형