[12์ 2์ฃผ์ฐจ] ํดํน ์๋ ค์ค๊ฒ 18ํ: OTP(One Time Pad) ์๋
ํ์ธ์! ์ํธ ์๋ฆฌ์ฆ์ ์ฒซ ๋ฒ์งธ ๊ณ ์ ์ํธ๋ ์ฌ๋ฐ๊ฒ ๋ณด์
จ๋์? ์ฌ๋ฌ ๊ณ ์ ์ํธ์ ๋น์ ๋ค๋ฅด ์ํธ์ ํค๋ฅผ ์์๋ด๋ ๋น๋ ๋ถ์๋ฒ๊น์ง ์ค๋ช
ํด ๋๋ ธ์ต๋๋ค. ์ญ์ ๊ณ ์ ์ํธ๊ฐ ์ฌ๋ฐ๊ธด ํด๋ ์์ ์ฑ์ ๋ณด์ฅํ์ง๋ ์์์. ๐
๊ทธ๋ ๋ค๋ฉด ์ ๋ ๊นจ์ง์ง ์๋ ์์ ํ ์ํธ๊ฐ ์๋ค๋ฉด ์ด๋ค ์ํธ์ผ๊น์?
๋ฐ๋ก OTP(One Time Pad, ์ผํ์ฉ ํจ๋)๋ก, ์์ ๋น๋ฐ์ฑ(perfect secrecy)์ ๋ณด์ฅํ๋ ์ํธ์์. ๐ฎ
๊ทธ๋ ๋ค๋ฉด ์ด OTP๋ ๋ญ๊ณ , ์์ ๋น๋ฐ์ฑ์ ๋ณด์ฅํ๋ค๋ ๊ฑด ๋ญ๊น์? OTP(One Time Pad)๊ฐ ๋ญ์์? ๐ค OTP๋ผ๊ณ ํ๋ฉด ์ํ์์ ๋๋ ์ฃผ๋ OTP ๋๋ 2๋จ๊ณ ์ธ์ฆ์ ์ํ OTP๋ฅผ ๊ฐ์ฅ ๋ง์ด ๋ ์ฌ๋ฆฌ์ค ๊ฒ ๊ฐ์์! ํ์ง๋ง ์ด๋ ์ผํ์ฉ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ปํ๋ One Time Password์
๋๋ค. One Time Pad๋ ์ํธํ์ ๋ณตํธํ์ ํ์ํ ํค๊ฐ ๋์ผํ ๋์นญํค ์ค์ ์คํธ๋ฆผ ์ํธ(stream cipher)์ ์ํด์๋ ์ํธ์์. ์ค๋ ๋ด์ฉ์ ์ ๋ง ์ฌ์์! ๐ OTP๋ XOR์ฐ์ฐ(โ)๋ง ์๋ฉด ๋์ด์์!
๋นํธ ๊ฐ์ XOR(๋ฐฐํ์ ๋
ผ๋ฆฌํฉ) ์ฐ์ฐ์ ๋ ๊ฐ์ ๋นํธ ์ค ํ๋๋ง 1์ผ ๋ 1์ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋ฉฐ, ์ด๋ ๋ ์๋ฅผ ๋ํด 2๋ก ๋๋๋ ๋๋จธ์ง์ ๊ฐ์ต๋๋ค. (0โ0=0, 0โ1=1, 1โ0=1, 1โ1=0) ์จ๋ฆฌ์ค๊ฐ ๋ฐฅ์๊ฒ 4๋นํธ ๋ฉ์์ง 0110์ ๋ณด๋ธ๋ค๊ณ ์๊ฐํด๋ด
์๋ค. ์ฐ์ , ์จ๋ฆฌ์ค์ ๋ฐฅ์ด ํด์ผ ํ ์ผ์ ๊ฐ์ ํค๋ฅผ ๋๋ ๊ฐ๋ ๊ฒ์
๋๋ค. ์จ๋ฆฌ์ค๊ฐ ๋ฐฅ์๊ฒ 4๋นํธ ํค 1100์ ์๋ ค์คฌ์ด์. ์ํธํ : PโK = C
์จ๋ฆฌ์ค๋ ๋ฉ์์ง 0110๊ณผ ํค 1100์ XOR ์ฐ์ฐํ์ฌ ์ํธ๋ฌธ 1010์ ๋ง๋ค์ด ๋ฐฅ์๊ฒ ๋ณด๋
๋๋ค. ๋ณตํธํ : CโK = P
๋ฐฅ์ ๋ฐ์ ์ํธ๋ฌธ 1010์ ํค 1100์ XOR ์ฐ์ฐํ์ฌ ์จ๋ฆฌ์ค๊ฐ ๋ณด๋ด๋ ค๊ณ ํ ๋ฉ์์ง 0110์ ๊ตฌํ ์ ์์ต๋๋ค.
C๊ฐ PโK์ด๊ธฐ ๋๋ฌธ์ CโK = (PโK)โK = Pโ(KโK) = Pโ0์ผ๋ก P๋ฅผ ๊ตฌํ ์ ์๊ธฐ ๋๋ฌธ์ด์์. ๐ ์ค์ํ ๊ฒ์ ์ด ํค K๊ฐ ๋ฐ๋์ ์ผํ์ฉ์ด๋ฉฐ, ์ด๋ ํ ํจํด๋ ์์ด ์ ๋ณด์ ์ ์ถ์ด ์์ด์ผ ํฉ๋๋ค. ์์ธก๋ถ๊ฐ๋ฅํ๋๋ก ์์ ํ ๋๋ค์ด์ด์ผ ํ์ฃ .
๋ง์ฝ ๋์ฒญ์ ์ด๋ธ๊ฐ ๋ฉ์์ง P1๊ณผ P2, ์ํธ๋ฌธ C1๊ณผ C2๋ฅผ ์ป์๋๋ฐ ํค๋ฅผ ์ฌ์ฌ์ฉํ๋ค๋ฉด, ์ด๋ธ๋ P1๊ณผ P2์ XOR ์ฐจ์ด๋ฅผ ์์๋ผ ์ ์๊ณ , P1์ด ์๋ ค์ง๋ค๋ฉด P2๋ ๊ณ์ฐํ ์ ์๊ฒ ๋ฉ๋๋ค.
์ ๋ฒ ์ด๋ฏธํ
์ด์
๊ฒ์์ TMI์์ ์จ๋ฐ ํ๋ง์ด ์ 2์ฐจ ์ธ๊ณ๋์ ์์ ์๋๊ทธ๋ง๋ฅผ ํด๋
ํ ์ฌ์ค์ ์๊ธฐํ๋ ๊ฒ ๊ธฐ์ต๋์๋์? ์ด๋ ์ 2์ฐจ ์ธ๊ณ๋์ ์ ๋
์ผ๊ตฐ์ OTP ๋ฐฉ์์ ์ฌ์ฉํ๋ ๋ก๋ ์ธ ์ํธ๊ธฐ๊ฐ ๋ ์์์ต๋๋ค.
OTP๋ ํค๊ฐ ํ ๋ฒ๋ง ์ฌ์ฉ๋์ด์ผ ํ๋ค๋ ๊ฒ์ ๋
์ผ๊ตฐ์ด ์งํค์ง ์์๊ณ , 'HQIBPEXEZMUG'๋ผ๋ ํค๊ฐ 2ํ ์ด์ ์ฌ์ฉ๋์ด ๊ฒฐ๊ตญ ์ด๋ฅผ ๋ฐํ์ผ๋ก ์จ๋ฐ ํ๋ง์ด ๋ก๋ ์ธ ์ํธ๊ธฐ์ ๋ชจ๋ ์ํธ๋ฅผ ํด๋
ํ๋ค๋ ์ด์ผ๊ธฐ๊ฐ ์์ด์. OTP์ ์น๋ช
์ ์ธ ๋จ์ ๐ฑ
์ด๋ ๊ฒ ๊ฐ๋จํ๋ฐ ์์ ๋น๋ฐ์ฑ์ ๋ณด์ฅํ๋ค๊ณ ์? ๊ทธ๋ ๋ค๋ฉด ๋ชจ๋ ์ํธ์ ์ด OTP๋ฅผ ์ฌ์ฉํ๋ฉด ๋์ง ์๋์? ๋ผ๊ณ ๋ฌผ์ด๋ณธ๋ค๋ฉด ์ฌํ๊ฒ๋ ํฐ ๋ฌธ์ ๊ฐ ์กด์ฌํฉ๋๋ค. ๐
์ฐ์ ์ํธํ์ ๋ณตํธํ๊ฐ ๊ต์ฅํ ๋น ๋ฅด์ง๋ง, ํค์ ๊ธธ์ด๊ฐ ๋ฉ์์ง์ ๊ธธ์ด๊ฐ ๋๊ฐ๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ๊ธธ์ด์.
์ด ํค ๋ฐฐ์ก์ ๊ดํ ๋ฌธ์ ์ธ๋ฐ์, ํน์ ์์ ์์์์ ์ด์ํ ์ ์ ์ฐพ์ผ์ค ์ ์์๋์? ๋ฐ๋ก '์ฐ์ , ์จ๋ฆฌ์ค์ ๋ฐฅ์ด ํด์ผ ํ ์ผ์ ๊ฐ์ ํค๋ฅผ ๋๋ ๊ฐ๋ ๊ฒ์
๋๋ค. ์จ๋ฆฌ์ค๊ฐ ๋ฐฅ์๊ฒ 4๋นํธ ํค 1100์ ์๋ ค์คฌ์ด์.' ๋ถ๋ถ์
๋๋ค.
์๋, ์ ์ด์ ์ด ๋ฉ์์ง์ ๊ธธ์ด๊ฐ ๊ฐ์ ํค๋ฅผ ์์ ํ๊ฒ ์ ๋ฌํ ๋ฐฉ๋ฒ์ด ์๋ค๋ฉด ๊ทธ ๋ฐฉ๋ฒ์ผ๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ฉด ๋๋ ๊ฑฐ ์๋๊ฐ์? ๐ฆ ๊ทธ๋ ๋ค๋ฉด ์์ ๋น๋ฐ์ฑ(perfect secrecy)๋ ๋ฌด์์ธ๊ฐ์? ๐
๊ฐ๋จํ ๋งํ๋ฉด "์๋ฌด๋ฆฌ ๋ฐ์ด๋ ๊ณ์ฐ ๋ฅ๋ ฅ์ ๊ฐ์ถ๊ณ ์์ด๋, ์ํธ๋ฌธ์์ ์ด๋ ํ ์ ๋ณด๋ ์ป์ ์ ์์ ๋" ์๋ฒฝํ๊ฒ ์์ ํ๋ค๊ณ ๋งํฉ๋๋ค. ๊ทธ๊ฒ ๊ฐ๋ฅํ ์ผ์ธ๊ฐ์? ๐คจ ๋ง์ฝ Alice 1๋ถํฐ 26๊น์ง ์ค ํ ์ซ์๋ฅผ ์ด์ฉํด ์ํํธ์ฐ์ฐ์ ํ๋ค๊ณ ํ์ ๋, 26๊ฐ์ ์ํธ ์ค ํ๋์ ๊ฒฐ๊ณผ๋ก ๋ํ๋ฉ๋๋ค. (ex. BMJDF, CNKEG ๋ฑ)
ํ์ง๋ง ๋ง์ฝ 5๊ธ์์ธ Alice๋ฅผ 1๋ถํฐ 25๊น์ง ์ซ์ ์ค ๋ฌด์์๋ก 5๊ฐ๋ฅผ ๊ณจ๋ผ ํ ๊ธ์์ฉ ์ํํธ ํ ๋ ๊ฐ๋ฅํ ์ํธ๋ฌธ์ ์๋ 26์ 5์ ๊ณฑ์ด ๋ฉ๋๋ค. ์๋ก ์๋ฆฌ๋ณ๋ก ์ํํธํ ํ์๋ฅผ 1,2,3,4,5๋ผ๊ณ ์ ํํ๋ฉด alice๋ bnlgj๊ฐ ๋์ง๋ง, ์ด๋ค ์ซ์์ด์ ์ฌ์ฉํ๋์ ๋ฐ๋ผ aaaaa, aaaab, aaaac, aaaad, โฆ zzzzx, zzzzy, zzzzz๊น์ง ๊ฐ๋ฅํฉ๋๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก hacky๋ฅผ ์ํธํํด๋ aaaaa๋ถํฐ zzzzz๊น์ง์ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด๋ด๊ธฐ ๋๋ฌธ์, ์ด๋ธ๊ฐ ์ํธ๋ฌธ aaaaa๋ฅผ ์ป์ด๋ ์ด๋ก๋ถํฐ ํ๋ฌธ์ด alice์ธ์ง, hacky์ธ์ง ์ ์ ์๋ ๊ฑฐ์ฃ . ๐ค ๋ค์ 4๋นํธ๋ก ์ค๋ช
ํด ๋๋ฆด๊ฒ์. ์์ ์์์์ ๋ง์ฝ ๋์ฒญ์์ธ ์ด๋ธ๊ฐ ์จ๋ฆฌ์ค์ ๋ฐฅ ์ฌ์ด์์ ์ํธ๋ฌธ 1010์ ์ป๊ฒ ๋์๋ค๊ณ ์๊ฐํด๋ด
์๋ค. ํค๋ฅผ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์ ์์กฐ์ฌํ๋ค๋ฉด ๊ฐ๋ฅํ ํค๋ 0000, 0001, 0010, 0011, 0100, 0101... ๋ฑ 16๊ฐ์ง ๊ฒฝ์ฐ์ ์๊ฐ ์๊ฒ ๋ค์.
ํค๋ฅผ ๋ชจ๋ ๊ตฌํด์ ๋ณตํธํ๋ฅผ ํด๋ณผ๊ฒ์. 0000์ผ ๋๋ 1010, 0001์ผ ๋๋ 1011, 0010์ผ ๋๋ 1000... ๋๊ฐ์ด 16๊ฐ์ง์ ํ๋ฌธ์ด ๋์ต๋๋ค. ํ์ง๋ง ๊ณต๊ฒฉ์๋ ์ด 16๊ฐ์ง ์ค ์ด๋ค ๊ฒ์ด ์ง์ง ํ๋ฌธ์ธ์ง ์ ์ ์์ด์. ์์ธก๋ง ๊ฐ๋ฅํ ๋ฟ์ด์ฃ . ๋ค์ ์ฃผ์๋ ์ฌ๋ฏธ์๋ ๋ด์ฉ์ผ๋ก ๋ค์ ๋ง๋์. ๐ by y00n_nms ์ง์ํด์ ๋ ์ข์ ๋ด์ค๋ ํฐ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํ ๊ฒ์ผ๋ก ๊ธ์ ์ ์ผ๋ก ์๊ฐํด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค! ์นด์นด์ค๋ฑ
ํฌ 3333-21-5085994 ใ
ใ
ใ
์ค๋ ์ ํด๋๋ฆฐ ๋ด์ฉ์ด ๋ง์์ ๋์
จ๋์? ์ฃผ์ ์น๊ตฌ๋ค์๊ฒ ๋ด์ค๋ ํฐ๋ฅผ ์ถ์ฒํด์ฃผ์ธ์! ๋ค์์ฃผ์๋ ์์ฐฌ ๋ด์ฉ์ผ๋ก ๋์์ค๊ฒ ์ต๋๋ค. ๐ ํน์ ๋ง์์ ์๋๋ ๋ถ๋ถ์ด ์์๋์? ์ฌ๊ธฐ์์ ํผ๋๋ฐฑ์ ์ ๋ฌํด์ฃผ์ธ์! ์ฌ๋ฌ๋ถ์ ์๊ฒฌ๋ค์ ์ ๊ทน ๋ฐ์ํด์ ๋์ฑ ์ ์ตํ ๋ด์ค๋ ํฐ๋ฅผ ๋ง๋ค์ด๊ฐ๋๋ก ํ๊ฒ ์ต๋๋ค. ๐ ํดํค๋ณด์ด์ฆ |