AES (Advanced Encryption Standard)
지난 시간에 배운 유한체 내용과 Block Cipher 내용을 기반으로 AES라는 암호 방식에 대해 배워보려고 한다
개요도
기본 개념
- AES는 Byte 단위로 암호화한다.
- 4x4 matrix 형태로 진행한다.
- AES의 덧셈은 XOR 연산이다.
- encryption과 decryption 과정이 다르다.
AES Encryption
- Byte substitution layer : nonlinear한 특징
- ShiftRow, MixColumn Sublayer : Diffusion layer
1. ByteSub Transformation
1) S-box 표를 통해 치환 (바이트 단위로 읽어야 한다!)
예시
2) 연산에 의해서 S-box 가능 (자세한 계산은 참고자료 조합해서 이해)
(1) inverse 계산 (연산은 https://donkeysdevelpment.tistory.com/108 게시글에서 유클리드 알고리즘 파트 참고)
(2) affine transformation 적용
예시
2. ShiftRow Transformation
왼쪽으로 shifting
예시
3. MixColumn Transformation
다음의 행렬식을 곱하면서 진행한다.
이때, 곱셈은 GF(2^8) 공간에서 이루어짐을 유의하여 계산해야한다.
자세한 곱셈 과정을 참고자료 참고
https://hipolarbear.tistory.com/36
[정보보호] AES알고리즘 중, MIX Column 계산하는 법
아이고 MixClumns를 계산하다가 얼굴이 시뻘게지는 경험을 하고 다시는 잊지 않고자 정리한다. AES란 128비트, 192비트, 256비트 등 가변 길이의 키를 사용가능한 대칭키 알고리즘이다. 지금까지 알려
hipolarbear.tistory.com
4. Roundkey Addition
round key와 xor 연산
Key Schedule
w0 ~ w3 : key를 4bytes(32bits)씩 자른 것
w4~ w7 : xor 연산을 통해 나온 결과
AES Decryption
1. Inverse ByteSub Transformation
decryption 표를 통해 치환
2. Inverse ShiftRow Transformation
오른쪽으로 shifting
예시
3. Inverse MixColumn Transformation
encryption 행렬식의 inverse matrix를 통해 구한다.
4. Inverse Roundkey Addition
round key와 xor 연산
'Computer Science > 정보보안' 카테고리의 다른 글
정보보안:: 유한체 (Introduction to Finite Fields) (0) | 2023.04.16 |
---|---|
정보보안:: Block Cipyer - 운영모드 (Modes of Operation) (0) | 2023.04.14 |
정보보안:: Block Ciphers & DES (0) | 2023.04.14 |
정보보안:: 고전 암호 (Classical Encryption Techniques) (0) | 2023.04.12 |
정보보안:: 정보보안 개요 (0) | 2023.03.17 |