ํ๋ ๋์นญํค ์ํธ
ํ์ฐ๊ณผ ํผ๋
- ํ์ฐ(diffusion) : ์ํธ๋ฌธ๊ณผ ํ๋ฌธ ์ฌ์ด์ ๊ด๊ณ๋ฅผ ์จ๊ธฐ๋ ๊ฒ
- ํผ๋(confusion) : ์ํธ๋ฌธ๊ณผ ํค์ ๊ด๊ณ๋ฅผ ์จ๊ธฐ๋ ๊ฒ
P-๋ฐ์ค์ S-๋ฐ์ค
- P-๋ฐ์ค
ํ์ฐ์ ์ ์งํ๋ฉด์ ๋นํธ๋ฅผ ์ ์นํ๋๋ฐ ์ฌ์ฉ๋๋ ๊ธฐ๋ฒ์ด๋ค. ๋จ์ P-๋ฐ์ค๋ ์ญ์ผ์๊ฐ ์กด์ฌํ๊ณ ์ถ์ P-๋ฐ์ค, ํ์ฅ P-๋ฐ์ค๋ ์ญํจ์๊ฐ ์กด์ฌํ์ง ์๋๋ค.
์ถ์ P-๋ฐ์ค : n ๋นํธ๋ฅผ ์ ๋ ฅ๋ฐ์ m๋นํธ๋ฅผ ์ถ๋ ฅํ๋ P-๋ฐ์ค (n > m). ์ ๋ ฅ ๋นํธ ์ค ํน์ ๋นํธ๋ ์์ค๋์ด ์ถ๋ ฅ๋์ง ์๋๋ค.
ํ์ฅ P-๋ฐ์ค : n ๋นํธ๋ฅผ ์ ๋ ฅ๋ฐ์ m๋นํธ๋ฅผ ์ถ๋ ฅํ๋ P-๋ฐ์ค (n < m). ๋นํธ์ ์์ ์ฆ๊ฐ ์ํค๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ค.
๋จ์ P-๋ฐ์ค : n ๋นํธ๋ฅผ ์ ๋ ฅ๋ฐ์ m๋นํธ๋ฅผ ์ถ๋ ฅํ๋ P-๋ฐ์ค (n = m).
- S-๋ฐ์ค
S-๋ฐ์ค๋ ์ ๋ ฅ๊ฐ๊ณผ ์ถ๋ ฅ๊ฐ ์ฌ์ด์ ๊ด๊ณ๊ฐ ๋์์ ๊ด๊ณ๋ก ์ ์๋๋ ์นํ ์ํธ์ด๋ค. ์ ๋ ฅ ๋นํธ ์ n๊ณผ ์ถ๋ ฅ ๋นํธ ์ m์ด ๋ฐ๋์ ๊ฐ์ ํ์๋ ์๋ค.
Feistel์ SPN ์ํธ ๊ตฌ์กฐ
- Feistel ๊ตฌ์กฐ
๊ทธ๋ฌผ์ ์ง๋ ๊ฒ๊ณผ ๊ฐ์ด ๊ตํ๋๋ ํํ๋ก ๊ตฌ์ฑ๋ ์ํธ ๊ตฌ์กฐ์ด๋ค. ์ํธ์ ๊ณผ์ ๊ณผ ๋ณตํธํ ๊ณผ์ ์ด ๋์ผํ๋ค. DES์ SEED๊ฐ ๋ํ์ ์ธ ์์ด๋ค.
- SPN ๊ตฌ์กฐ
์ฌ๋ฌ๊ฐ์ ํจ์๋ฅผ ์ค์ฒฉํ๋ ํํ๋ก ๊ตฌ์ฑ๋ ์ํธ ๊ตฌ์กฐ์ด๋ค. ์ ๋ ฅ์ ์ฌ๋ฌ๊ฐ์ ์๋ธ๋ก์ผ๋ก ๋๋๊ณ ๋์น, ์ ์น ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค. AES, ARIA๊ฐ ๋ํ์ ์ธ ์์ด๋ค.
๋ธ๋ก ์ํธ์ ๋ํ ๊ณต๊ฒฉ
์ฐจ๋ถ ๋ถ์ : ์ ํ ํ๋ฌธ ๊ณต๊ฒฉ ๊ธฐ๋ฒ์ผ๋ก ๋๊ฐ์ ํ๋ฌธ ๋ธ๋ก์ ๋นํธ ์ฐจ์ด์ ์ํธ๋ฌธ ๋ธ๋ก์ ๋นํธ ์ฐจ์ด์ ๊ด๊ณ๋ฅผ ๋ถ์ํ์ฌ ์ํธํค๋ฅผ ์ฐพ์๋ด๋ ๋ฐฉ๋ฒ์ด๋ค.
์ ํ ๋ถ์ : ๊ธฐ์ง ํ๋ฌธ ๊ณต๊ฒฉ์ ํ ์ข ๋ฅ๋ก ์๊ณ ๋ฆฌ์ฆ ๋ด๋ถ์ ๋น์ ํ ๊ตฌ์กฐ์ ํจ์์ ์ ํ์ ํน์ฑ์ด ๋ํ๋๋ ํ๋ฅ ์ ๋ถ์ํ์ฌ ์ํธํค๋ฅผ ์ฐพ์๋ด๋ ๋ฐฉ๋ฒ์ด๋ค.
์ ์๊ณต๊ฒฉ๋ฒ : ์ํธํํ ๋ ์ผ์ด๋ ์ ์๋ ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํด์ ์กฐ์ฌํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๊ฒฝ์ฐ์ ์๊ฐ ๋ง์ ๊ฒฝ์ฐ์๋ ์คํ ๋ถ๊ฐ๋ฅํ๋ค.
ํต๊ณ์ ๋ถ์ : ์ํธ๋ฌธ์ ๋ํ ํ๋ฌธ์ ๊ฐ ๋จ์ด๋ณ ๋น๋์ ๊ดํ ์๋ฃ์ ๋๋ถ์ด ์ง๊ธ๊น์ง ์๋ ค์ง ๋ชจ๋ ํต๊ณ์ ์ธ ์๋ฃ๋ฅผ ์ด์ฉํ์ฌ ํด๋ ํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์ํ์ ๋ถ์ : ํต๊ณ์ ์ธ ๋ฐฉ๋ฒ๊ณผ ์ํ์ ์ธ ์ด๋ก ์ ์ด์ฉํ์ฌ ํด๋ ํ๋ ๋ฐฉ๋ฒ์ด๋ค.
ํ๋ ์คํธ๋ฆผ ์ํธ
ํ๋ฒ์ 1๋นํธ ํน์ 1๋ฐ์ดํธ์ ๋ฐ์ดํฐ ํ๋ฆ์ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌํด๊ฐ๋ ๋์นญํค ์ํธ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์์ ํ ์คํธ๋ฆผ ์ํธ๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์ ํค ์คํธ๋ฆผ์ ์ฃผ๊ธฐ, ํค ์คํธ๋ฆผ์ด ๋์์ด๊ณผ ๋น์ทํ์ง, ํค ๊ธธ์ด๊ฐ ์ถฉ๋ถํ ๊ธด์ง ๊ณ ๋ คํด์ผ ํ๋ค.
๋๊ธฐ์ ์คํธ๋ฆผ ์ํธ
- OTP (One Time Pad)
OTP ์ํธ๋ ์ํธํ๋ฅผ ์ํํ ๋๋ง๋ค ๋จ๋ํ๊ฒ ์ ํ๋ ํค ์คํธ๋ฆผ์ ์ฌ์ฉํ๋ค. ํด๋ ์ด ๋ถ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ด 1949๋ ์ค๋ ผ์ ์ํด ์ฆ๋ช ๋จ์ ๋ฐ๋ผ ์ด๋ก ์ ์ผ๋ก ํด๋ ๋ถ๊ฐ๋ฅํ๋ค๊ณ ์๋ ค์ ธ ์๋ค. ํ๋ฌธ์ ๋จ๋คํ ์์ด์ XOR์ฐ์ฐ ํ์ฌ ์ํธํํ๋ค.
- ๊ทํ ์ํํธ ๋ ์ง์คํฐ (Feedback Shift Register)
์ฌํํธ ๋ ์ง์คํฐ์ ๊ทํ ํจ์๋ก ๊ตฌ์ฑ๋๋ค.
- ์ ํ ๊ทํ ์ํํธ ๋ ์ง์คํฐ (LFSR, linear feedback shift reigster)
๊ทํ ํจ์์ ๋ง์ถฐ ํ ๋นํธ๊ฐ ์ฐ์ฐ๋๊ณ ๊ทธ ๊ฒฐ๊ณผ ๊ฐ์ด ํค ์คํธ๋ฆผ์ผ๋ก ์ฌ์ฉ๋๋ค. n๊ฐ์ ๋ ์ง์คํฐ๊ฐ ์กด์ฌํ ๋, ์ต๋ 2^n-1 ์ ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ง๋ค.
- ๋น์ ํ ๊ทํ ์ฌํํธ ๋ ์ง์คํฐ(NLFSR, Nonlinear Feedback Shift Register)
LFSR์ ์ ํ์ฑ ๋๋ฌธ์ ๊ณต๊ฒฉ์ ์ทจ์ฝํ๋ค.
๋น๋๊ธฐ์ ์คํธ๋ฆผ ์ํธ
ํค ์คํธ๋ฆผ์ด ํ๋ฌธ ํน์ ์ํธ๋ฌธ์ผ๋ก๋ถํฐ ํจ์ ๊ด๊ณ์ ์ํด ์์ฑ๋๋ ๋ฐฉ์์ด๋ค. ์ ์ก ์ค ์ํธ๋ฌธ์ ๋นํธ๊ฐ ์์ค ๋๋ ๋ณ๊ฒฝ๋๋๋ผ๋ ๊ทธ ์ค๋ฅ์ ์ ํ๊ฐ ์ ํํ๋ค.
DES (Data Encryption Standard)
DES ๊ตฌ์กฐ
DES๋ 1973๋ NIST์์ ๋ฐ๋ช ํ Feistel ๊ตฌ์กฐ ๋ธ๋ก ์ํธ์ด๋ค. ํ๋ฌธ ๋๋ ํค์ ์์ ๋ณํ๊ฐ ์ํธ๋ฌธ์ ํฐ ๋ณํ๋ฅผ ๋ง๋๋ ์๋ ํจ๊ณผ๊ฐ ๋งค์ฐ ํฌ๋ค. ๋ฐ๋ผ์ ์ํธ๋ฌธ์ผ๋ก๋ถํฐ ํ๋ฌธ์ ์ถ๋ก ํ๊ธฐ๊ฐ ๋งค์ฐ ์ด๋ ต๋ค. DES๋ ๋ธ๋ก์ ํฌ๊ธฐ๋ 64๋นํธ, ํค์ ๊ธธ์ด๋ 56๋นํธ, ๋ผ์ด๋ ํ์๋ 16ํ๋ก ๊ตฌ์ฑ๋๋ค. 56๋นํธ ํค๋ก๋ถํฐ 16๊ฐ์ ๋ผ์ด๋ ํค๋ฅผ ์์ฑํ์ฌ ๊ฐ ๋ผ์ด๋์ ์ฌ์ฉํ๋ค.
DES ๋ถ์
- ์ค๊ณ ๊ธฐ์ค
S-๋ฐ์ค : ๋น์ ํ ํจ์๋ก ํ ๋นํธ๋ผ๋ ๋ฐ๋๋ค๋ฉด ์ถ๋ ฅ๊ฐ์ด ๋ ๋นํธ ์ด์ ๋ฐ๋์ด ํผ๋(confusion)์ ๋ง์กฑํ๋๋ก ์ค๊ณ๋์๋ค.
P-๋ฐ์ค : 32๋นํธ→32๋นํธ์ ๋จ์ P-๋ฐ์ค์ 32๋นํธ→48๋นํธ ํ์ฅ P-๋ฐ์ค๋ฅผ ํ์ฉํ์ฌ ํ์ฐ(diffusion)์ํจ๋ค.
- DES์ ์ทจ์ฝ์
์ ์ฌ ๊ณต๊ฒฉ : DES๋ 56๋นํธ ํค๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์ต๋ ํค ๊ณต๊ฐ์ ํค๋ 2^56์ด๋ค. ํ์ฌ๋ ๊ณ์ฐ ๋ฅ๋ ฅ์ด ๋ฐ์ ํ์ฌ ์ ์ฌ ๊ณต๊ฒฉ์ ์์ ํ์ง ์๋ค.
๋ค์ค DES
์ ์ฌ ๊ณต๊ฒฉ์ ์์ ํ์ง ์๋ค๋ ์ ์ ๋ณด์ํ๊ธฐ ์ํ์ฌ DES๋ฅผ ์ค์ฒฉํ์ฌ ์ฌ์ฉํ์ฌ ํค ๊ณต๊ฐ์ ๋๋ฆฌ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์๋ค. ๋ ๊ฐ์ ํค๋ฅผ ๊ฐ๋ 3์ค DES๋ ์ฒ์๊ณผ ๋ง์ง๋ง์ ์งํ๋๋ DES์ K1์ ์ฌ์ฉํ๊ณ , ์ค๊ฐ DES์ K2๋ฅผ ์ฌ์ฉํ๋ค. ์ธ ๊ฐ์ ํค๋ฅผ ๊ฐ๋ 3์ค DES๋ ๊ฐ DES์ ๋ค๋ฅธ ํค๋ฅผ ์ฌ์ฉํ๋ค.
AES
AES ๊ตฌ์กฐ
1997๋ NIST์์ DES๋ฅผ ๋์ฒดํ๊ธฐ ์ํ ์ํธ ์๊ณ ๋ฆฌ์ฆ์ ๊ณต๋ชจํ์๊ณ AES๊ฐ ์ต์ข ์ ํ์์ผ๋ก ์ ์ ๋์๋ค. AES๋ SPN ๊ตฌ์กฐ ๋ธ๋ก ์ํธ๋ก ๋ธ๋ก์ ํฌ๊ธฐ๋ 128๋นํธ, ํค์ ๊ธธ์ด๋ 128, 192, 256 ๋นํธ์ด๊ณ ๋ผ์ด๋ ํ์๋ ๊ฐ๊ฐ 10, 12, 14ํ๋ก ๊ตฌ์ฑ๋๋ค. ํค๋ก๋ถํฐ ๋ผ์ด๋ ํค๋ฅผ ์์ฑํ์ฌ ๊ฐ ๋ผ์ด๋์ ์ฌ์ฉํ๋ค.
AES ๋ถ์
SubBytes : S-๋ฐ์ค๋ฅผ ์ ์ฉํ์ฌ ๋ฐ์ดํธ๋ฅผ ์นํํ๋ค.
ShiftRows : ํ ๋จ์๋ก ์ํ ์ํํธ๋ฅผ ์ํํ๋ค.
MixColumns : ์ด ๋จ์๋ก ํผํฉํ๋ค.
AddRoundKey : ๋ผ์ด๋ ํค์ XOR ์ฐ์ฐ์ ํ๋ค.
๊ธฐํ ๋์นญํค ์ํธ ์๊ณ ๋ฆฌ์ฆ
๊ตฌ๋ถ | ๊ฐ๋ฐ ๊ตญ๊ฐ | ๊ฐ๋ฐ ์ฐ๋ | ํน์ง | ๋ธ๋ก ํฌ๊ธฐ | ํค์ ๊ธธ์ด | ๋ผ์ด๋ ์ |
DES | ๋ฏธ๊ตญ | 1972 | NIST ํ์ค์ผ๋ก ๊ณตํ | 64 | 56 | 16 |
IDEA | ์ ๋ฝ | 1990 | PGP ์ฑํ | 64 | 128 | 8 |
RC5 | ๋ฏธ๊ตญ | 1994 | ์๊ณ ๋ฆฌ์ฆ์ด ๊ฐ๋จ, ์๋๊ฐ ๋น ๋ฆ | 32,64,128 | 0-2040 | 1-256 |
AES | ๋ฒจ๊ธฐ์ | 1998 | ํ์ฌ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ํธ ์๊ณ ๋ฆฌ์ฆ | 128 | 128,192,256 | 10,12,14 |
SEED | ํ๊ตญ | 1999 | ํ๊ตญ ํ์ค ๋ธ๋ก ์ํธ ์๊ณ ๋ฆฌ์ฆ | 128 | 128,256 | 16,24 |
ARIA | ํ๊ตญ | 2003 | ๊ตญ๊ฐ ํ์ค ์ํธ ์๊ณ ๋ฆฌ์ฆ | 128 | 128,192,256 | 12,14,16 |
HIGHT | ํ๊ตญ | 2006 | ๊ฒฝ๋ํ๋ ๋ธ๋ก ์ํธ ์๊ณ ๋ฆฌ์ฆ | 64 | 128 | 32 |
LEA | ํ๊ตญ | 2013 | ๊ณ ์, ๊ฒฝ๋ ๋ธ๋ก ์ํธ ์๊ณ ๋ฆฌ์ฆ | 128 | 128,192,256 | 24,28,32 |
ํ๋ ๋์นญํค์ํธ๋ฅผ ์ด์ฉํ ์ํธํ ๊ธฐ๋ฒ
๋ชจ๋ | ์ฅ์ | ๋จ์ | ๋น๊ณ |
ECB | - ๊ฐ ๋ธ๋ก์ด ๋ ๋ฆฝ์ ์ผ๋ก ์ํธํ๋์ด ๋ณ๋ ฌ ์ฒ๋ฆฌ ๊ฐ๋ฅ | - ๋์ผํ ํ๋ฌธ ๋ธ๋ก์ ๋์ผํ ์ํธ๋ฌธ์ ์์ฑ (ํจํด ๋ ธ์ถ ์ํ) | - ๊ฐ์ฅ ๊ฐ๋จํ ๋ชจ๋ - ํจํด์ด ์ค์ํ ๋ฐ์ดํฐ์ ๋ถ์ ํฉ |
CBC | - ๋์ผํ ํ๋ฌธ ๋ธ๋ก์ด๋ผ๋ ์๋ก ๋ค๋ฅธ ์ํธ๋ฌธ ์์ฑ - ์ด๊ธฐํ ๋ฒกํฐ(IV)๋ก ์์ ์ฑ ์ฆ๊ฐ |
- ์ํธํ๋ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ถ๊ฐ (์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌ๋จ) - ์์ ์ค๋ฅ๊ฐ ๋ค์ ๋ธ๋ก์ ์ํฅ |
- ์ด๊ธฐํ ๋ฒกํฐ(IV)๊ฐ ํ์ - ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ฌ์ฉ ๊ฐ๋ฅ |
CFB | - ์คํธ๋ฆผ ์ํธ์ฒ๋ผ ๋์ - ์ํธํ์ ๋ณตํธํ ์๊ณ ๋ฆฌ์ฆ ๋์ผ |
- ์ํธํ๋ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ถ๊ฐ - ์ค๋ฅ ์ ํ ๋ฐ์ (ํ ๋ธ๋ก ์ค๋ฅ๊ฐ ๋ค์ ๋ธ๋ก์ ์ํฅ) |
- ๋ฐ์ดํฐ ์์ด ์ ์ ๋ ์ ์ฉ - ๋ถ๋ถ์ ์ ์ก์ ์ ํฉ |
OFB | - ์คํธ๋ฆผ ์ํธ์ฒ๋ผ ๋์ - ์ค๋ฅ๊ฐ ์ ํ๋์ง ์์ |
- ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ถ๊ฐ - ๋๊ธฐํ ๋ฌธ์ ๋ฐ์ ๊ฐ๋ฅ |
- ์ค๋ฅ๊ฐ ์ ํ๋์ง ์์ ์์ ์ - ์ฃผ๊ธฐ์ฑ ๋ฌธ์ ๊ฐ๋ฅ |
CTR | - ๋ณ๋ ฌ ์ฒ๋ฆฌ ๊ฐ๋ฅ - ์ํธํ์ ๋ณตํธํ ์๊ณ ๋ฆฌ์ฆ ๋์ผ - ์คํธ๋ฆผ ์ํธ์ฒ๋ผ ๋์ |
- ์ด๊ธฐํ ๋ฒกํฐ์ ์นด์ดํฐ ๊ด๋ฆฌ ํ์ - ๋๊ธฐํ ์ค๋ฅ ๋ฐ์ ๊ฐ๋ฅ |
- ๊ฐ์ฅ ์ ์ฐํ๊ณ ํจ์จ์ - ๊ณ ์ ํต์ ์ ์ ํฉ |
'๐ฆพ ๋ณด์ ๐ฆพ > ์ ๋ณด๋ณด์๊ธฐ์ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
01. ์ํธํ ๊ฐ์ (4) | 2024.09.25 |
---|