보안 공부/암호학

블록암호 : AES

sh1256 2022. 1. 25. 13:16
728x90

블록암호 : AES

블록암호 : AES(Advanced Encryption Standard)

SPN(Substitution Permutation Network)암호 구조 사용

--> 곱 암호의 일종, 페이스텔에 비해 두 배의 암호학적 안정성을 가짐

출처: Dreamhack

 

0. 배열 재구성

암호화 하기 전, 각 블록을 4행  4열의 상태배열로 재구성함.

 

출처: Dreamhack

1. SubBytes

State의 각 바이트를 S-Box를 참조하여 치환하는 함수

AES s-box

Ex) 첫번째 D7은 s-box의 D행 7열을 참조하여 0E로 치환됨. 

 

2. ShiftRows

바이트들의 쉬프트 연산 수행

출처: dreamhack

4. MixColumns(어려운 부분 skip)

4. AddRoundKey

키 생성 함수(Key Schedule)로 생성된 라운드 키의 state를 각 바이트별로 XOR진행.

4-1. Key Schedule

키를 생성할 땐, RotWord, SubWord, Rcon을 적용한다. 

자세한 설명 --> https://dreamhack.io/learn/73#10

 

로그인 | Dreamhack

 

dreamhack.io