- AES ๊ตฌ์กฐ
- ๋ผ์ด๋๋ง๋ค 128๋นํธ(16๋ฐ์ดํธ)ํฌ๊ธฐ์ ๋ธ๋ก์ ์ํธํํ๋ค.
- ํค์ ๊ธธ์ด๋ 128, 192, 256 ์ค์ ๊ณ ๋ฅผ ์ ์๋ค.
- ๋ผ์ด๋์ ์๋ ํค์ ๊ธธ์ด์ ๋ฐ๋ผ 10, 12, 14๋ก ๊ฒฐ์ ๋๋ค.
- ๋ฐฉ์ :
- ์ํธํ ์ ๊ฐ์ฅ ๋จผ์ ๋ธ๋ญ์ 4ํ 4์ด ์ํ์ ๋ธ๋ก์ผ๋ก ์ฌ๊ตฌ์ฑํ๋ค.
- ex)
- AddRoundKey
- SubBytes - Encryption round
- ShiftRows - Encryption round
- MixColumns - Encryption round
- AddRoundKey - Encryption round
- Subtypes - last round
- ShiftRows - last round
- AddRoundKeys - last round
| 1F 3C F2 03 |
| B2 11 C5 AA |
| 6E B2 7A 45 |
| E4 D9 81 30 |
- AES ๋ผ์ด๋ ํจ์
- SubBytes ๋จ๊ณ :
- State์ ๊ฐ ๋ฐ์ดํธ๋ฅผ S-Box๋ฅผ ์ฐธ์กฐํ์ฌ ์นํํ๋ ํจ์์ด๋ค.
- ๋ฐ์ดํธ์ ์์ 4๋นํธ๊ฐ ํ, ํ์ 4๋นํธ๊ฐ ์ด์ ๊ฒฐ์ ํ๋ค.
- ShiftRows ๋จ๊ณ :
- State์ ๊ฐ ํ์ ๊ตฌ์ฑํ๋ ๋ฐ์ดํธ๋ค์ ์ฌํํธํ๋ ํจ์์ด๋ค.
- ์ด ํจ์๋ ๋ค๊ฐ์ ํจ์ ์ค ์ ์ผํ๊ฒ ์์ด์ ์ญํ ์ ์ํํ๋ค.
- 2ํ์ ์ผ์ชฝ์ผ๋ก 1์นธ,
- 1, 3 ํ์ ์ผ์ชฝ์ผ๋ก 2์นธ,
- 4ํ์ ์ผ์ชฝ์ผ๋ก 3์นธ ์ด๋ํ๋ค.
- ๋ณตํธํํ ๋๋ ๋ฐ๋๋ก ์ด๋ํ๋ค.
- SubBytes ๋จ๊ณ :
ShiftRows(
AE 72 3C 7E
83 1A 32 D3
97 18 6A C1
56 0C 29 86
)
= (
AE 72 3C 7E
1A 32 D3 83
6A C1 97 18
86 56 0C 29 )
- MixColumns
- ์ด ๋จ์๋ก ์นํ์ ์ํํ๋ ํจ์์ด๋ค.
- ์ด ์นํ์ ๊ฐ๋ฃจ์ ํ๋ ๋ด์์์ ํ๋ ฌ ์ฐ์ฐ์ผ๋ก ๊ตฌํด์ง๋๋ฐ, ์์ธํ๋,, ์ผ๋จ ํจ์คํ๋ค.
- AddRoundKeys
- ํค ์์ฑ ํจ์๋ก ์์ฑ๋ ๋ผ์ด๋ ํค์ state๋ฅผ ๊ฐ ๋ฐ์ดํธ ๋ณ๋ก XOR์ฐ์ฐํ๋ค.
- ๋ณตํธํํ ๋๋ XOR์ ์ฑ์ง์ ์ด์ฉํ์ฌ ๋์ผํ ํค๋ฅผ state์ XORํ๋ค.
- Key Schedule :
- ํค ์์ฑ ํจ์๋ ์ ๋ ฅ๋ ํค๋ก๋ถํฐ ๊ฐ ๋ผ์ด๋์ ์ฐ์ผ ๋ผ์ด๋ ํค๋ฅผ ์์ฑ.
- ex) AES-128 ,
|2B 28 AB 09|
|7E AE F7 CF|
|15 D2 15 4F|
|16 A6 88 3C|
728x90
๋๊ธ