์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
1. ๊ฐ์[ํธ์ง]
Data Encryption Standard
- ํ์ค๋ฌธ์ : FIPS-46
1975๋ ์ IBM์์ ๊ฐ๋ฐํ๊ณ 1979๋ ์ ๋ฏธ๊ตญ NBS(National Bureau of Standards, ํ NIST)๊ฐ ๊ตญ๊ฐ ํ์ค ์ํธ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ง์ ํ ๋์นญํค ์ํธ ์๊ณ ๋ฆฌ์ฆ.
2. ์ญ์ฌ[ํธ์ง]
๊ฐ์๊ธฐ ๋์จ ์๊ณ ๋ฆฌ์ฆ์ ์๋๊ณ DES๊ฐ ๋์ค๊ธฐ ์ด์ ์ธ 1971๋
์ IBM์์ '๋ฃจ์ํผ'๋ผ๋ ์ํธ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋ฐํ๋๋ฐ ์ด๋ฅผ ๊ฐ๋ํ์ฌ NIST๊ฐ ๊ตญ๊ฐ ํ์ค์ผ๋ก ์ง์ ํ ์๊ณ ๋ฆฌ์ฆ์ด ๋ฐ๋ก DES. ์ด๋ฆ๋ถํฐ 'Data Encryption Standard'๋ก ํ์ค์์ ์ดํํ๊ณ ์๋ค. 21์ธ๊ธฐ์ ์์๋ ์ด๋ฏธ ๋ก์๋ ํ์ฐธ ๋ก์ ์๊ณ ๋ฆฌ์ฆ์ด์ง๋ง 70~80๋
๋ ๋น์์๋ ๊ฐ๋ ฅํ ์๊ณ ๋ฆฌ์ฆ์ด์ด์ ์๋ ์ค๋ซ๋์ ํ์ค์ผ๋ก ์ฐ์ฌ์๋ ํฐ๋ผ ์ค๋๋ ์๋ ์ข
์ข
์ด ๊ธฐ์ ์ ํ์ ์ ๋ง์ฃผ์น ์ ์์ ์ ๋๋ค.
๋ธ๋ก ์ํธ ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ฉฐ 16๋จ๊ณ์ ํ์ด์คํ ๋คํธ์ํฌ(Feistel Network)๋ฅผ ๊ฑฐ์ณ ์ํธํ๋ฅผ ์ํํ๋ค. ๋ธ๋ก์ ๋จ์๋ 64 ๋นํธ๋ก ํ๋ฌธ์ 64 ๋นํธ ๋จ์๋ก ์ํธํ๋ฅผ ์ํํ์ฌ 64 ๋นํธ์ ์ํธํ ๋ฌธ์๋ฅผ ์์ฑํ๋ฉฐ ํค ๊ธธ์ด๋ 64 ๋นํธ์ง๋ง ์ค์ ๋ก๋ ํจ๋ฆฌํฐ ๋นํธ๊ฐ 8 ๋นํธ ๋ถ์ด์์ด์ ์ค์ ํค ๊ธธ์ด(=์ํธํ ๊ฐ๋)๋ 56 ๋นํธ์ด๋ค. ์ด๋ ์๊ณ ๋ฆฌ์ฆ ํน์ฑ์ ํค ์์ฑ ๋จ๊ณ์์ weak key๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ด๋ค.
์์ง ๊ธฐ์ ์ ๊ทผ๊ฐ์ธ ํ์ด์คํ ๋คํธ์ํฌ(Feistel Network)์์์์ ๊ตฌ์กฐ์ ์ธ ์ทจ์ฝ์ ์ ๋ฐ๊ฒฌ๋์ง ์์์ผ๋ฉฐ[1] ์๊ณ ๋ฆฌ์ฆ ์์ฒด๋ ์ฌ์ ํ ๊ฒฌ๊ณ ํ ํธ์ด์ง๋ง, ๋ฌธ์ ๋ 56 ๋นํธ ํค๊ฐ ์ค๋๋ ์ปดํจํ ํ๊ฒฝ์์๋ ๋๋ฌด ์งง๋ค๋ ๊ฒ์ด๋ค. ์ด๋ฏธ 1998๋ ์ ๋ฏธํ 25๋ง ๋ถ์ ๋ค์ฌ ๋ง๋ DES ๊ณต๊ฒฉ ์ฅ์น๋ฅผ ํตํด, ๋ฌด์ฐจ๋ณ ๊ณต๊ฒฉ(Brutal Force Attack)๋ฐฉ์์ผ๋ก ์ดํ ์ด๋ด์ ์ํธ๋ฅผ ์ ์ ์์๋ค. ๊ทธ ์ดํ๋ก๋ ์ด๋ฌํ ๊ณต๊ฒฉ๋ฒ์ ๊ณ์๋์ด์, 2006๋ ์ ๋ฏธํ 1๋ง ๋ถ๋ง์ผ๋ก COPACOBANA์ ๊ฐ์ ๋ ๊ฐ๋ ฅํ ์ฅ์น๊ฐ ๊ฐ๋ฐ๋๊ธฐ๋ ํ์ผ๋ฉฐ, ๊ทธ๋ณด๋ค ๋ ๋ฐ์ ํ 2015๋ ์ ๊ธฐ์ค์ผ๋ก ํ๋ฉด ์ํธํ์ ์๋ฏธ๊ฐ ์๋ค. ํ๋ฒํ ๊ฐ์ธ์ฉ PC๋ก๋ ์ต์ ํ๋ ๋ฐฉ๋ฒ(SIMD, GPGPU ๋ฑ๋ฑ)์ ์ฌ์ฉํ๋ฉด ์ ์๊ฐ ๋ง์ ๋ซ์ ์ ์๋ค. ๋ฐ๋ผ์ ํ๋์๋ ๊ธฐ์กด์ ์ํธํ๋ ๋ฌธ์๋ฅผ ๋ณตํธํํ๋ ์ฉ๋๋ก๋ง ์ฌ์ฉํ๊ณ ์ ๊ท ์ํธํ ๋ฌธ์๋ฅผ ์์ฑํ๋ ๋ฐ๋ ์ ๋๋ก ์ฌ์ฉํ์ง ๋ง ๊ฒ์ ๊ถ์ฅํ๋ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด IBM์ด ์์๋ก ๋ง๋ค์ด ์ ์ํ ๊ฒ์ด ํ์ ํ 3-DES(Triple DES)์ด๋ค.
์ดํ NIST์์ 2001๋ ๊ณต๋ชจ์ ์ ํตํด ์๋ก์ด ํ์ค ์ํธ ์๊ณ ๋ฆฌ์ฆ์ ์ ํ๊ธฐ๋ก ํ๊ณ 5๊ฐ์ ์ต์ข ํ๋ณด์ ์ค์ ์ ํ๋ ๊ฒ์ด ์ง๊ธ์ AES์ด๋ค. ์ด์ชฝ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ต์ 128 ๋นํธ, ์ต๋ 256 ๋นํธ๊น์ง์ ํค๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ๊ณต๋ชจ์ ์ ํตํด ์๊ณ ๋ฆฌ์ฆ์ ์ ์ ํ๋ค๋ฉด ์๊ณ ๋ฆฌ์ฆ์ด ๊ณต๊ฐ๋์ด๋ฒ๋ฆด ๊ฒ์ด๊ณ ๊ทธ๋ผ ๋ฌด์ฉ์ง๋ฌผ์ด ์๋๊ฐ ํ๊ฒ ์ง๋ง ์ํธ ์๊ณ ๋ฆฌ์ฆ์ ์๋๋ถํฐ ๊ณต๊ฐํ๋ ๊ฒ์ด ์์น์ด๋ค. ์ํธํ์ ๊ฒฌ๊ณ ํจ์ ์๊ณ ๋ฆฌ์ฆ์ ๋น๋ฐ์ฑ์ด ์๋ ํค์ ์์กดํด์ผ ํ๋ฉฐ[2] ์๊ณ ๋ฆฌ์ฆ์ ์ํ์ ์ผ๋ก ๋ฌธ์ ๊ฐ ์๋๊ฐ๋ฅผ ๊ฒ์ฆ๋ฐ์์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค[3].
๋ธ๋ก ์ํธ ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ฉฐ 16๋จ๊ณ์ ํ์ด์คํ ๋คํธ์ํฌ(Feistel Network)๋ฅผ ๊ฑฐ์ณ ์ํธํ๋ฅผ ์ํํ๋ค. ๋ธ๋ก์ ๋จ์๋ 64 ๋นํธ๋ก ํ๋ฌธ์ 64 ๋นํธ ๋จ์๋ก ์ํธํ๋ฅผ ์ํํ์ฌ 64 ๋นํธ์ ์ํธํ ๋ฌธ์๋ฅผ ์์ฑํ๋ฉฐ ํค ๊ธธ์ด๋ 64 ๋นํธ์ง๋ง ์ค์ ๋ก๋ ํจ๋ฆฌํฐ ๋นํธ๊ฐ 8 ๋นํธ ๋ถ์ด์์ด์ ์ค์ ํค ๊ธธ์ด(=์ํธํ ๊ฐ๋)๋ 56 ๋นํธ์ด๋ค. ์ด๋ ์๊ณ ๋ฆฌ์ฆ ํน์ฑ์ ํค ์์ฑ ๋จ๊ณ์์ weak key๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ด๋ค.
์์ง ๊ธฐ์ ์ ๊ทผ๊ฐ์ธ ํ์ด์คํ ๋คํธ์ํฌ(Feistel Network)์์์์ ๊ตฌ์กฐ์ ์ธ ์ทจ์ฝ์ ์ ๋ฐ๊ฒฌ๋์ง ์์์ผ๋ฉฐ[1] ์๊ณ ๋ฆฌ์ฆ ์์ฒด๋ ์ฌ์ ํ ๊ฒฌ๊ณ ํ ํธ์ด์ง๋ง, ๋ฌธ์ ๋ 56 ๋นํธ ํค๊ฐ ์ค๋๋ ์ปดํจํ ํ๊ฒฝ์์๋ ๋๋ฌด ์งง๋ค๋ ๊ฒ์ด๋ค. ์ด๋ฏธ 1998๋ ์ ๋ฏธํ 25๋ง ๋ถ์ ๋ค์ฌ ๋ง๋ DES ๊ณต๊ฒฉ ์ฅ์น๋ฅผ ํตํด, ๋ฌด์ฐจ๋ณ ๊ณต๊ฒฉ(Brutal Force Attack)๋ฐฉ์์ผ๋ก ์ดํ ์ด๋ด์ ์ํธ๋ฅผ ์ ์ ์์๋ค. ๊ทธ ์ดํ๋ก๋ ์ด๋ฌํ ๊ณต๊ฒฉ๋ฒ์ ๊ณ์๋์ด์, 2006๋ ์ ๋ฏธํ 1๋ง ๋ถ๋ง์ผ๋ก COPACOBANA์ ๊ฐ์ ๋ ๊ฐ๋ ฅํ ์ฅ์น๊ฐ ๊ฐ๋ฐ๋๊ธฐ๋ ํ์ผ๋ฉฐ, ๊ทธ๋ณด๋ค ๋ ๋ฐ์ ํ 2015๋ ์ ๊ธฐ์ค์ผ๋ก ํ๋ฉด ์ํธํ์ ์๋ฏธ๊ฐ ์๋ค. ํ๋ฒํ ๊ฐ์ธ์ฉ PC๋ก๋ ์ต์ ํ๋ ๋ฐฉ๋ฒ(SIMD, GPGPU ๋ฑ๋ฑ)์ ์ฌ์ฉํ๋ฉด ์ ์๊ฐ ๋ง์ ๋ซ์ ์ ์๋ค. ๋ฐ๋ผ์ ํ๋์๋ ๊ธฐ์กด์ ์ํธํ๋ ๋ฌธ์๋ฅผ ๋ณตํธํํ๋ ์ฉ๋๋ก๋ง ์ฌ์ฉํ๊ณ ์ ๊ท ์ํธํ ๋ฌธ์๋ฅผ ์์ฑํ๋ ๋ฐ๋ ์ ๋๋ก ์ฌ์ฉํ์ง ๋ง ๊ฒ์ ๊ถ์ฅํ๋ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด IBM์ด ์์๋ก ๋ง๋ค์ด ์ ์ํ ๊ฒ์ด ํ์ ํ 3-DES(Triple DES)์ด๋ค.
์ดํ NIST์์ 2001๋ ๊ณต๋ชจ์ ์ ํตํด ์๋ก์ด ํ์ค ์ํธ ์๊ณ ๋ฆฌ์ฆ์ ์ ํ๊ธฐ๋ก ํ๊ณ 5๊ฐ์ ์ต์ข ํ๋ณด์ ์ค์ ์ ํ๋ ๊ฒ์ด ์ง๊ธ์ AES์ด๋ค. ์ด์ชฝ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ต์ 128 ๋นํธ, ์ต๋ 256 ๋นํธ๊น์ง์ ํค๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ๊ณต๋ชจ์ ์ ํตํด ์๊ณ ๋ฆฌ์ฆ์ ์ ์ ํ๋ค๋ฉด ์๊ณ ๋ฆฌ์ฆ์ด ๊ณต๊ฐ๋์ด๋ฒ๋ฆด ๊ฒ์ด๊ณ ๊ทธ๋ผ ๋ฌด์ฉ์ง๋ฌผ์ด ์๋๊ฐ ํ๊ฒ ์ง๋ง ์ํธ ์๊ณ ๋ฆฌ์ฆ์ ์๋๋ถํฐ ๊ณต๊ฐํ๋ ๊ฒ์ด ์์น์ด๋ค. ์ํธํ์ ๊ฒฌ๊ณ ํจ์ ์๊ณ ๋ฆฌ์ฆ์ ๋น๋ฐ์ฑ์ด ์๋ ํค์ ์์กดํด์ผ ํ๋ฉฐ[2] ์๊ณ ๋ฆฌ์ฆ์ ์ํ์ ์ผ๋ก ๋ฌธ์ ๊ฐ ์๋๊ฐ๋ฅผ ๊ฒ์ฆ๋ฐ์์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค[3].
3. ์ทจ์ฝ์ [ํธ์ง]
- ์ ํ ๊ณต๊ฒฉ(Linear Cryptanalysis)
DES ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ๊ณต๊ฒฉ์ผ๋ก ์ ํ ๊ณต๊ฒฉ์ด ๊ฐ์ฅ ๊ฐ๋ ฅํ ๊ฒ์ผ๋ก ์๋ ค์ ธ์๋ค. ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด DES ์งํ์ ๊ฐ๋ฐ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ถ๋ถ SPN(Substitution-Permutation-Network) ๊ตฌ์กฐ๋ก ์ค๊ณ๋์๋ค.
- ์ฐจ๋ถ ๊ณต๊ฒฉ(Differential Cryptanalysis)
์ ํ ๊ณต๊ฒฉ์ ์์ ํ๊ธฐ ์ํด์๋ ์ฐจ๋ถ ๊ณต๊ฒฉ์ ๋ํ ์์ ์ฑ์ ์กฐ๊ธ์ ํฌ๊ธฐํด์ผํ๋๋ฐ, ์ด๋ฅผ ์ต์ํํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก AES์ S-box๊ฐ ์ค๊ณ๋์๋ค.
4. ์์ฉ[ํธ์ง]
4.1. 3-DES(Triple-DES ๋๋ TDES)[ํธ์ง]
์ด๋ฆ ๊ทธ๋๋ก DES๋ฅผ ์ธ ๋ฒ ์ ์ฉํด์ ํค ๊ธธ์ด๋ฅผ ์ธ ๋ฐฐ๋ก ๋๋ฆฌ๋ ๊ธฐ๋ฒ์ด๋ค. DES์ ํค ๊ธธ์ด๋ DES ๊ฐ๋ฐ ๋น์ ์ถฉ๋ถํ ์์ ํ ๊ธธ์ด์์ผ๋, ์ปดํจํฐ์ ๋ฅ๋ ฅ์ด ํฅ์๋๋ฉด์ ์ฐ๋ ค๋๋ ์์ค๊น์ง ์ค๊ฒ ๋์๋ค. ์ด์ NIST๋ AES ์๊ณ ๋ฆฌ์ฆ์ ๊ณต๋ชจํ๋ฉด์ ๊ทธ ์ฌ์ด์ DES๋ฅผ ์์ ํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ๊ณ ์ํ์๋๋ฐ, ์ด ์ค ํ๋๊ฐ 3-DES์ด๋ค.
๊ตฌ์ฒด์ ์ผ๋ก๋ DES ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ์ฌ ์ํธํโ๋ณตํธํโ์ํธํ๋ฅผ ๊ฑฐ์น๋๋ฐ, ํค๋ ์ธ ๊ฐ๋ฅผ ์ ๋ถ ๋ค๋ฅธ ๊ฒ์ผ๋ก ์ธ ์๋ ์๊ณ (168 ๋นํธ[A]) ์ฒ์๊ณผ ๋ง์ง๋ง ์ํธํ๋ ๊ฐ์ ๊ฒ์ ์ฐ๊ณ ์ค๊ฐ์ ๋ณตํธํ๋ง ๋ค๋ฅธ ํค๋ฅผ ์จ์ ๋ ๊ฐ๋ง ์ธ ์๋ ์๋ค(112 ๋นํธ[B]).[6] ์ด๋ ๊ฒ ํค๋ฅผ 112 ๋นํธ[A]~168 ๋นํธ[B]๋ก ๋๋ฆฌ๋ ํจ๊ณผ๋ฅผ ์ป์ด๋ด๋ ๊ฒ์ด๋ค.[9] ๊ฒ๋ค๊ฐ ์ด๋ฏธ DES๊ฐ ๋งค์ฐ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์์๊ธฐ ๋๋ฌธ์ ๋น์ฉ์ ์ธก๋ฉด์์๋ ๊ต์ฅํ ์ ๋ ดํ ํด๊ฒฐ์ฑ ์ด์๋ค. ๋ค๋ง 1 ํ์ ์/๋ณตํธํ๋ฅผ ์ํด ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด DES์ 3 ๋ฐฐ๊ฐ ๋๋ค๋ณด๋ ์ข ๋๋ฆฌ๋ค๋ ๊ฒ์ด ๊ฒฐ์ ์ด๋ค. ์ปดํจํ ํ๊ฒฝ์ด ์ข์์ง์๋ก ์ํธํ์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ(ํ๋ฌธ)์ ํฌ๊ธฐ ์ญ์ ์ฆ๊ฐํ๊ธฐ ๋๋ฌธ์ด๋ค.
3-DES๋ DES๋ฅผ ์ธ๋ฒ ๋๋ฆฌ๋ ๋ฐฉ๋ฒ์ผ๋ก EEE(Encryption-Encryption-Encryption), EDE(Encryption-Decryption-Encryption) ๋ฑ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ด ์๋ค. ์ด ์ค EDE ๋ฐฉ์์ด ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋๋ฐ, ์ด๋ ํค๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๋๋์ ๋ฐ๋ผ ๊ธฐ์กด์ ์ฌ์ฉ์ค์ธ DES์ ํธํ์ด ๊ฐ๋ฅํ๋ค๋ ์ด์ ๋๋ฌธ์ด๋ค.
ํ์ง๋ง ์๊ฐ์ด ์ง๋ ํ์ฌ๋ 3-DES๋ ์ง์์ด ์ค๋จ๋์๋ค. ํค๋ฅผ 2๊ฐ๋ง ์ฌ์ฉํ๋ ๋ฐฉ์์ 2015๋ ์, ํค๋ฅผ 3๊ฐ ์ฌ์ฉํ๋ ๋ฐฉ์์ 2018๋ ์ ์ง์์ด ์ค๋จ๋์์ผ๋ฉฐ, 2023๋ ์ดํ์ ์ฌ์ฉ์ด ๊ธ์ง๋๋ค. ์ด์ ๋ Sweet32 ๊ณต๊ฒฉ์ด๋ผ๋, ๋ธ๋ฃจํธ ํฌ์ค์ ๋ณ์ข ์๊ณ ๋ฆฌ์ฆ์ ๋งค์ฐ ์ทจ์ฝํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์ 3-DES๋ ๊ธฐ์กด์ ์ํธํ๋ ๋ฌธ์๋ฅผ ํด๋ ํ๋ ์ฉ๋๋ก๋ง ์ฌ์ฉํ๊ณ , ์๋ก ์ํธํํ๋ ์ฉ๋๋ก ์ฌ์ฉํ์ง ์์์ผ ํ๋ค.
๊ตฌ์ฒด์ ์ผ๋ก๋ DES ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ์ฌ ์ํธํโ๋ณตํธํโ์ํธํ๋ฅผ ๊ฑฐ์น๋๋ฐ, ํค๋ ์ธ ๊ฐ๋ฅผ ์ ๋ถ ๋ค๋ฅธ ๊ฒ์ผ๋ก ์ธ ์๋ ์๊ณ (168 ๋นํธ[A]) ์ฒ์๊ณผ ๋ง์ง๋ง ์ํธํ๋ ๊ฐ์ ๊ฒ์ ์ฐ๊ณ ์ค๊ฐ์ ๋ณตํธํ๋ง ๋ค๋ฅธ ํค๋ฅผ ์จ์ ๋ ๊ฐ๋ง ์ธ ์๋ ์๋ค(112 ๋นํธ[B]).[6] ์ด๋ ๊ฒ ํค๋ฅผ 112 ๋นํธ[A]~168 ๋นํธ[B]๋ก ๋๋ฆฌ๋ ํจ๊ณผ๋ฅผ ์ป์ด๋ด๋ ๊ฒ์ด๋ค.[9] ๊ฒ๋ค๊ฐ ์ด๋ฏธ DES๊ฐ ๋งค์ฐ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์์๊ธฐ ๋๋ฌธ์ ๋น์ฉ์ ์ธก๋ฉด์์๋ ๊ต์ฅํ ์ ๋ ดํ ํด๊ฒฐ์ฑ ์ด์๋ค. ๋ค๋ง 1 ํ์ ์/๋ณตํธํ๋ฅผ ์ํด ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด DES์ 3 ๋ฐฐ๊ฐ ๋๋ค๋ณด๋ ์ข ๋๋ฆฌ๋ค๋ ๊ฒ์ด ๊ฒฐ์ ์ด๋ค. ์ปดํจํ ํ๊ฒฝ์ด ์ข์์ง์๋ก ์ํธํ์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ(ํ๋ฌธ)์ ํฌ๊ธฐ ์ญ์ ์ฆ๊ฐํ๊ธฐ ๋๋ฌธ์ด๋ค.
3-DES๋ DES๋ฅผ ์ธ๋ฒ ๋๋ฆฌ๋ ๋ฐฉ๋ฒ์ผ๋ก EEE(Encryption-Encryption-Encryption), EDE(Encryption-Decryption-Encryption) ๋ฑ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ด ์๋ค. ์ด ์ค EDE ๋ฐฉ์์ด ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋๋ฐ, ์ด๋ ํค๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๋๋์ ๋ฐ๋ผ ๊ธฐ์กด์ ์ฌ์ฉ์ค์ธ DES์ ํธํ์ด ๊ฐ๋ฅํ๋ค๋ ์ด์ ๋๋ฌธ์ด๋ค.
ํ์ง๋ง ์๊ฐ์ด ์ง๋ ํ์ฌ๋ 3-DES๋ ์ง์์ด ์ค๋จ๋์๋ค. ํค๋ฅผ 2๊ฐ๋ง ์ฌ์ฉํ๋ ๋ฐฉ์์ 2015๋ ์, ํค๋ฅผ 3๊ฐ ์ฌ์ฉํ๋ ๋ฐฉ์์ 2018๋ ์ ์ง์์ด ์ค๋จ๋์์ผ๋ฉฐ, 2023๋ ์ดํ์ ์ฌ์ฉ์ด ๊ธ์ง๋๋ค. ์ด์ ๋ Sweet32 ๊ณต๊ฒฉ์ด๋ผ๋, ๋ธ๋ฃจํธ ํฌ์ค์ ๋ณ์ข ์๊ณ ๋ฆฌ์ฆ์ ๋งค์ฐ ์ทจ์ฝํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์ 3-DES๋ ๊ธฐ์กด์ ์ํธํ๋ ๋ฌธ์๋ฅผ ํด๋ ํ๋ ์ฉ๋๋ก๋ง ์ฌ์ฉํ๊ณ , ์๋ก ์ํธํํ๋ ์ฉ๋๋ก ์ฌ์ฉํ์ง ์์์ผ ํ๋ค.
5. ์ฌ๋ด[ํธ์ง]
์์์๋ ์ด์ผ๊ธฐ ํ๋ฏ์ด DES๋ IBM์์ ๋ง๋ ์์(?)์ธ '๋ฃจ์ํผ'(Lucifer)๋ผ๋ ์ํธ ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ฐํ๋ ๊ธฐ์ ์ด๋ค. ์ด ๋ฃจ์ํผ๋ฅผ NSA๊ฐ ๊ฐ์ ธ๋ค๊ฐ S-Box[10]๋ฅผ ์ฝ๊ฐ ๊ณ ์ณ์ ๋ง๋ ๊ฒ DES์ด๋ค. ๊ทธ๋ฐ๋ฐ ์ด S-Box์ ๋ค์ด๊ฐ ์ซ์๋ค ๋๋ฌธ์ ๋ฃจ๋จธ๊ฐ ์๊ธฐ๊ธฐ๋ ํ๋ค. ๋ณดํต ์ํธ ๋์์ธ์ ์ด๋ค ์ซ์๊ฐ ํ์ํ๋ค๋ฉด 'nothing up my sleeve number' ๋ผ๊ณ ํด์ ํ์ด๋ผ๋๊ฐ ํฉ๊ธ๋น์จ๋ผ๋๊ฐ ์๋๋ฉด 12345678...์์ ๋ฐ์จ ์ซ์๋ฅผ ๋ฃ์ด ์ฌ๊ธฐ์ ์์ ์๋ถ๋ ธ์์ด๋ผ๋ ์ฌ์ค์ ํ๋ช
ํ๋๋ฐ, NSA๋ DES์ S-Box์ ์ด์งธ ๊ทผ๋ณธ์๋ ์ด์ํ ์ซ์๋ฅผ ์ง์ด๋ฃ์๋ ๊ด๊ณ๋ก ์๋ฌด๋ฆฌ ๋ด๋ ์์ํ๋ ๊ฒ. ์ด๋๋ฌธ์ DES๊ฐ ํ์ญ์ด๋ ๋น๋๋ถํฐ "NSA๊ฐ ํน์ ์ผ๋ถ๋ฌ ๋ง์คํฐํค๋ ๋ฐฑ๋์ด๋ฅผ ๋ง๋ ๊ฒ์ด ์๋๋" ๋ผ๋ ์ํน์ด ๋ฐ๋ผ๋ถ์์ง๋ง ํ๊ณ์์ ์กฐ์ฌํ ๊ฒฐ๊ณผ ๊ทธ๋ฐ ๊ฑฐ ์์๊ณ NSA๊ฐ S-Box๋ฅผ ๋ณ๊ฒฝํ ์ด์ ๋ Lucifer/DES๊ฐ ๋ง๋ค์ด์ง ๋น์์๋ ๋ฏผ๊ฐ ํ๊ณ์ ์๋ ค์ง์ง ์์ ์ฐจ๋ถ ๊ณต๊ฒฉ ๋ฐฉ์ (differential cryptanalysis)์ ๋ฃจ์ํผ๊ฐ ์ทจ์ฝํ๊ธฐ ๋๋ฌธ์ NSA๊ฐ ๋น๋ฐ ์ฐ๊ตฌ์ ๊ฒฐ๊ณผ๋ฌผ์ ์ถ๊ฐํ์ฌ ๋ณด์ํ๋ ๊ฒ์ผ๋ก ํ๋ช
๋ฌ๋ค.
ํ์ง๋ง NSA ๊ตฌ์ฑ์๋ค๋ ์ํ์ ์ ์ ์๋๋ผ์, DES S-Box ์ผ๋ถ์ ๋ถ์ฐจ๋ณ ๊ณต๊ฒฉ ์ทจ์ฝ์ ์ด ๋จ์์์ด์ ๋ณด์ฅ๋ 56 ๋นํธ๋ณด๋ค๋ ์ฝ๊ฐ ๋ฎ์ ๋ณด์ ๋ ๋ฒจ๋ก ํ๋ช ๋ฌ์ผ๋, ์ด์ ์์๋ ์ด์ฐจํผ 56 ๋นํธ๊ฐ ์ด๋ฏธ ํ์ ํ ๋ฎ์ ํค ๊ฐ๋๊ฐ ๋์ด๋ฒ๋ฆฐ ๊ด๊ณ๋ก ๋ณ ์๋ฏธ๊ฐ ์๋ค.
ํ์ง๋ง NSA ๊ตฌ์ฑ์๋ค๋ ์ํ์ ์ ์ ์๋๋ผ์, DES S-Box ์ผ๋ถ์ ๋ถ์ฐจ๋ณ ๊ณต๊ฒฉ ์ทจ์ฝ์ ์ด ๋จ์์์ด์ ๋ณด์ฅ๋ 56 ๋นํธ๋ณด๋ค๋ ์ฝ๊ฐ ๋ฎ์ ๋ณด์ ๋ ๋ฒจ๋ก ํ๋ช ๋ฌ์ผ๋, ์ด์ ์์๋ ์ด์ฐจํผ 56 ๋นํธ๊ฐ ์ด๋ฏธ ํ์ ํ ๋ฎ์ ํค ๊ฐ๋๊ฐ ๋์ด๋ฒ๋ฆฐ ๊ด๊ณ๋ก ๋ณ ์๋ฏธ๊ฐ ์๋ค.
[1] ์ค์ ๋ก ๋ค๋ฅธ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์์๋ ์ฌ์ ํ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ํํ AES๋ ํ์ด์คํ
๋คํธ์ํฌ ๋์ SPN์ ์ฌ์ฉํ์ง๋ง ํ๋ณด์ ์ค์๋ ํ์ด์คํ
๋คํธ์ํฌ์ ๊ธฐ๋ฐํ ๊ฒ์ด ๋ง์๋ค๊ณ ํ๋ค. ๊ตญ์ฐ ์ํธ ์๊ณ ๋ฆฌ์ฆ์ธ SEED ์๊ณ ๋ฆฌ์ฆ๋ ํ์ด์คํ
๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ๋ค.
[2] ์ด๋ฅผ '์ปคํฌํธํ์ ์๋ฆฌ'(Kerkhoff's principle)๋ผ๊ณ ํ๋ค. ์๋ฌธ์ "A cryptosystem should be secure even if everything about the system, except the key, is public knowledge."
[3] ์๋ฆญ ๋ ์ด๋ชฌ๋(Eric Raymond)๊ฐ ์ปคํฌํธํ์ ์๋ฆฌ๋ฅผ ํ์ฅํ ๊ฒ์ผ๋ก "์๋๋ฐฉ(์ํธ ํด๋
์)์ด ์ํธํ ์์คํ
์ ์์ค ์ฝ๋๋ฅผ ํ๋ณดํ์ง ๋ชปํ ๊ฒ์ด๋ผ๊ณ ๊ฐ์ ํ๊ณ ๋ง๋ ์์คํ
์ ๊ทธ ์์ฒด๋ก ๋ฏฟ์ ์ ์๋ค. ๊ณต๊ฐ๋์ง ์์ ์์ค(closed source)๋ ์ ๋๋ก ์ ๋ขฐํ์ง ๋ง๋ผ"๊ณ ํ๋ค.
[A] ์ค๊ฐ์ ๊ณต๊ฒฉ์ผ๋ก ์ธํ ์ทจ์ฝ์ ๋๋ฌธ์ ์ค์ง์ ์ผ๋ก๋ 112๋นํธ์ด๋ค.
[B] ์ค๊ฐ์ ๊ณต๊ฒฉ์ผ๋ก ์ธํ ์ทจ์ฝ์ ๋๋ฌธ์ ์ค์ง์ ์ผ๋ก๋ 80๋นํธ์ด๋ค.
[6] ํค๋ฅผ ํ ๊ฐ๋ง ์ฐ๋ฉด ๋ฉ์ฉกํ ํ๋ฌธ์ ์ํธํ-๋ณตํธํ-์ํธํ๋ฅผ ๊ฑฐ์น๋ ๊ฒ์ด ๋์ด ๊ทธ๋ฅ DES ํ ๋ฒ๋ง ์ ์ฉํ ๊ฒ๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค. ์ ํํ๋ 1 ๋จ๊ณ์ 2 ๋จ๊ณ์ ํค๋ ๊ฐ์ ๊ฒ์ ์จ์๋ ์ ๋๋ค. ํค ์ ์์กฐ์ฌ๋ง ํ๋ฉด ๋ณตํธํ๊ฐ ์ด๋ฃจ์ด์ง๋ฏ๋ก 56 ๋นํธ์ ํค๋ง์ ์ถ์ธกํ๋ ๊ฒ๊ณผ ๋์ผํ ์์ ์ฑ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
[9] ํค ๊ธธ์ด๊ฐ 1 ๋นํธ๋ง ๋์ด๋๋ ๋ฌด์ฐจ๋ณ ๊ณต๊ฒฉ์ ํ์ํ ๋์
ํ์๋ 2 ๋ฐฐ๋ก ๋์ด๋๊ธฐ ๋๋ฌธ์ ํค ๊ธธ์ด๋ฅผ ๋๋ฆฌ๋ ๊ฒ์ ์ผ๋จ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ด๋ค.
[10] ๊ฐ๋จํ ์ค๋ช
ํ์๋ฉด ์
๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ง์ ๋ ์ซ์๋ก ๋ฐ๊ฟ์ ์ํธ๋ฅผ ์ด๋ ต๊ฒ ๋ง๋๋ ๊ธฐ๋ฒ์ด๋ค. AES๋ ์ด๊ฑธ ์ฐฝ์กฐ๋กญ๊ฒ ์ฌ๋ฐ๋ช
ํ์ฌ ์ํธํ ์๋๋ฅผ ๋์ด๊ณ ์ถ์ผ๋ฉด S-Box๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์๋๊ณ , ํ๋ก๊ทธ๋จ ๋ฉ๋ชจ๋ฆฌ ์์ ์ค์ด๋ ค๋ฉด ์คํ์ S-Box๋ฅผ ์ฐ์ฐ์ผ๋ก ๊ตฌํด๋ด๋ ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค. ์
๋ง์ ๋ฐ๋ผ ๊ณ ๋ฅผ ์ ์๊ฒ ๋ง์ด๋ค.