AES(Advanced Encryption Standard)는 2001년 미국 국립기술표준원에서 공표한 대칭키 암호 알고리즘이다. AES의 선정기준으로는 안전성, 비용, 구현 효율성이 있다. AES는 128비트 평문을 128비트 암호문으로 출력하는 알고리즘으로서, non-feistal 알고리즘에 속한다. 10,12,14라운드를 사용하며, 각 라운드는 128,192,256비트 키 크기를 가지고 있다.(마스터키 기준, 라운드 키는 모두 128비트로 일정하다)
AES 암호화 과정은 다음과 같이 이루어진다.
- 키 확장(Key Expansion): 사용자의 암호키를 받아 내부적으로 사용될 여러 라운드 키로 확장한다.
- 초기 라운드(Initial Round): 평문에 첫 번째 라운드 키를 적용한다.
- 반복 라운드(Repeating Rounds): 여러 단계(바이트 치환, 행 이동, 열 혼합, 라운드 키 더하기)를 거쳐 데이터를 변환한다. 128비트 키의 경우 10회, 192비트 키의 경우 12회, 256비트 키의 경우 14회의 라운드를 진행한다.
- 최종 라운드(Final Round): 바이트 치환, 행 이동, 라운드 키 더하기의 세 단계만을 수행한다.
반응형
'Computer Science' 카테고리의 다른 글
[정보보안] 암호학적 해시함수의 3가지 충족기준(프리이미지 저항성, 제 2 프리이미지 저항성, 충돌저항성) (0) | 2023.12.15 |
---|---|
[정보보안] RSA Structure에 대하여(키 생성, 암호화, 복호화) (0) | 2023.12.14 |
[정보보안] DES(Data Encryption Standard)에 대하여 (0) | 2023.12.09 |
[자료구조] AVL tree 개념과 연산 (1) | 2023.12.08 |
[자료구조] 이진 탐색 트리에서의 연산(탐색 연산, 삽입 연산, 삭제 연산) (1) | 2023.12.07 |