NIST์์ ๊ณตํํ ๋์นญํค ๋ธ๋ก์ํธ
56๋นํธ์ ํค ์ฌ์ด์ฆ๋ก ์ ์์กฐ์ฌ ๊ณต๊ฒฉ์ ์ทจ์ฝํ ์ผ๋ ค
๋ด๋ถ S-๋ฐ์ค์ ํธ๋ฉ๋์ด๊ฐ ์์ด ํค ์์ด๋ ๋ณตํธํ๋ ์ ์๋ ์ผ๋ ค
ํ๋ฌธ 64๋นํธ โ ์ํธ๋ฌธ 64๋นํธ
(์ํธํค๋ 56๋นํธ)
(๋ผ์ด๋ํค๋ 48๋นํธ)
(๋ผ์ด๋ ์๋ 16๊ฐ)
64๊ฐ์ ๊ฐ ๋นํธ๋ฅผ P-๋ฐ์ค๋ก ์ด๊ธฐ์นํ
๊ฐ ๋ผ์ด๋๋ง๋ค Feistel ํจ์
64๊ฐ์ ๊ฐ ๋นํธ๋ฅผ P-๋ฐ์ค๋ก ์ต์ข ์นํ
(์ด๊ธฐ์นํ๊ณผ ์ต์ข ์นํ์ P-๋ฐ์ค๋ ์๋ก ์ญ์ ๊ด๊ณ์ด๋ค.)
ex) ์ ๋ ฅ๊ฐ Ox0002 0000 0000 0001์ ์ด๊ธฐ์นํํด ์ถ๋ ฅ ๊ฐ์ ์ฐพ์ผ์ธ์
์ญ์ฐ์ฐ์ด ๊ฐ๋ฅํ Mixer(XOR)์ swapper๊ฐ ์๋ค.
๊ทธ ์ธ ๋ชจ๋ Feistelํจ์(์ญ์ฐ์ฐ ๋ถ๊ฐ) DES์ ํต์ฌ์ผ๋ก DES ํจ์๋ผ๊ณ ๋ถ๋ฆฐ๋ค.
16๋ผ์ด๋์์ ๋ง์ง๋ง ๋ผ์ด๋๋ swapper๋ฅผ ํ์ง ์์์ผ๋ก์ ์ํธํ์ ๋ณตํธํ ๊ณผ์ ์ ๋์ผํ๊ฒ ๋ง๋ ๋ค.
๋ง์ง๋ง ๋ผ์ด๋์์ swapper๋ฅผ ํ๋ฒ ๋ ์คํํจ์ผ๋ก์ swapper ๊ธฐ๋ฅ์ ์์์ํจ๋ค.
56๋นํธ์ ์ํธํ ํค์์ 16๊ฐ์ 48๋นํธ ๋ผ์ด๋ ํค๋ฅผ ๋ง๋ ๋ค.
์๋ํจ๊ณผ : ํ๋ฌธ์ ์์ ๋ณํ๊ฐ ์ํธ๋ฌธ์ ์๋นํ ๋ณํ๋ฅผ ๊ฐ์ ธ์์ผ ํ๋ค.
์๋น์ฑ ํจ๊ณผ : ์ํธ๋ฌธ์ ๊ฐ ๋นํธ๋ ํ๋ฌธ์ ์ฌ๋ฌ ๋นํธ์ ์์กดํด์ ์ ํด์ง ํ์๊ฐ ์๋ค.
(P-๋ฐ์ค์ S-๋ฐ์ค์ ์ํด ์ผ๊ธฐ๋ ํ์ฐ๊ณผ ํผ๋์ด ๋งค์ฐ ๊ฐํ ์๋น์ฑ ํจ๊ณผ๊ฐ ๋์๋ค.)
์ ์์กฐ์ฌ ๊ณต๊ฒฉ์ด ๊ฐ๋ฅํ ์์ ํค ํฌ๊ธฐ
4๊ฐ์ ์ทจ์ฝํค
ํค๋ณด์ : ํ๋ฒ์ ๊ณต๊ฒฉ์ผ๋ก 2๊ฐ์ ํค๋ฅผ ๊ฒ์ฆํ๊ฒ ๋จ
ํค ๊ธธ์ด์ ๋ํ ์ทจ์ฝ์ฑ์ ํด๊ฒฐ
์ ์์กฐ์ฌ ๊ณต๊ฒฉ : ์ทจ์ฝ
์ฐจ๋ถ ๊ณต๊ฒฉ : ์ ๋ ฅ๊ฐ์ ๋ณํ์ ๋ฐ๋ฅธ ์ถ๋ ฅ๊ฐ์ ๋ณํ๋ฅผ ์ด์ฉํ๋ ๊ณต๊ฒฉ์ผ๋ก ๋ผ์ด๋ ์๊ฐ 16๊ฐ๋ก ์์ ํ๋ค.
์ ํ ๊ณต๊ฒฉ : ์ทจ์ฝํ๋ค. ํ์ง๋ง ๊ณต๊ฒฉ์ด ๋นํ์ค์ ์ด๋ค.