์ํธ์ ์ญ์ฌ
๋ณด์ ํ๋กํ ์ฝ์ ํต์ฌ ์์ฒ ๊ธฐ์ ์ ์ญ์ฌ์ ๊ดํ์ฌ ์ดํด๋ณธ๋ค.
์์ ์ํธ (Caesar cipher)
- ๋ก๋ง ์ฅ๊ตฐ ์ค๋ฆฌ์ด์ค ์์ ๊ฐ ์ฌ์ฉํ์๋ค๋ ์ํธ (๊ธฐ์์ 100๋ ๊ฒฝ)
- ํ๋ฌธ์ผ๋ก ์ฌ์ฉ๋๋ ์ํ๋ฒณ์ ์ผ์ ํ ๋ฌธ์ ์๋งํผ "ํํ์ด๋" ์ํด์ผ๋ก์จ ์ํธํ
์ฃผ์ด์ง ํค๋งํผ ํํ์ด๋ ์ํจ ๋ฌธ์๋ก ์ํธํ ํ์ฌ ์ํธ๋ฌธ์ ์์ฑํ๊ณ ์๋ค.
๋ณตํธํ๋ ์ฃผ์ด์ง ํค๋งํผ ์ญ์ผ๋ก ๊ณ์ฐํ์ฌ ๋ณตํธํ ํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๋์นญํค์ํธ์ ํด๋น๋๋ค๊ณ ๋ณผ ์ ์๋ค.
๋ง์ฝ ๋ฉ์์ง๊ฐ ์์ ์ํธ๋ฅผ ํตํด ์ํธํ ๋์๋ค๋ ์ ๋ณด๋ฅผ ๋์ฒญ์๊ฐ ์์๋ค๋ฉด ์์ด ์ํ๋ฒณ์ ์ด 26๊ฐ์ด๊ธฐ ๋๋ฌธ์ ์ฝ๊ฒ ๋ชจ๋ ํค ํ๋ณด๋ฅผ ๋์ ํ์ฌ ํ๋ฌธ์ ๋์ถํ ์ ์๋ค. => ์ ์ฌ ๊ณต๊ฒฉ (brute-force attack)
์ ์ฌ ๊ณต๊ฒฉ์ ๋ง์ ์ ์๋ ์ํธ๊ฐ ์์๊น?
ํ๋ฌธ์ ๊ตฌ์ฑํ๋ ์ํ๋ฒณ์ ์นํํ(๋น๋ฐํค)์ ๋ฐ๋ผ ๋ณํ์ํฌ ์ ์๋ค. ์นํํ๋ ์ ๋จ์ฌํจ์ (1:1๋์)์ฌ์ ๋ชจ๋ ๋ฌธ์์ ๋์๋๋ ๋ค๋ฅธ ๋ฌธ์๊ฐ ์กด์ฌํ๋ค.
๋ณตํธํ ๊ณผ์ ์ ์์ด์ ์นํํ๋ ๋น๋ฐํค์ ํด๋น๋๊ธฐ ๋๋ฌธ์ ๋ฐ๋์ ํ์ํ๋ค. ์ ์ฌ๊ณต๊ฒฉ์๋ ์์ ํ์ง๋ง ํ๋ฌธ์ ๋ฑ์ฅํ๋ ๋ฌธ์์ ๋น๋๊ฐ ์ํธ๋ฌธ์ ๋ฑ์ฅํ๋ ๋ฌธ์์ ๋น๋์ ๋์ผํ๋ค๋ ์ฝ์ ์ด ์๋ค.
์์ ์ํธ๋ ํค๊ณต๊ฐ์ด ์์์ brute-force ๊ณต๊ฒฉ์ด ๊ฐ๋ฅํ๋ค. ํค ๊ณต๊ฐ์ ์ํธ์์ ์ฌ์ฉํ ์ ์๋ ๋ชจ๋ ํค ํ๋ณด๋ค์ ์งํฉ์ด๋ฉฐ ์ ์ฒด ํค ํ๋ณด๋ค์ ๊ฐ์๋ฅผ ํค ๊ณต๊ฐ์ ํฌ๊ธฐ๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ ํค๊ณต๊ฐ์ ํฌ๊ธฐ๊ฐ ํด ์๋ก ์ ์ฌ ๊ณต๊ฒฉ์ ์์๋๋ ์๊ฐ์ด ๋์ด๋๋ค. ๋ฐ๋ผ์ ๋จ์ผ์นํ์ํธ๋ ํค๊ณต๊ฐ์ ํฌ๊ธฐ(26!)๊ฐ ํฌ๊ธฐ ๋๋ฌธ์ brute-force๋ก ๋ซ๊ธฐ ์ด๋ ต๋ค.
๋จ์ผ์นํ์ํธ๊ฐ ์์ ํ ๊ฒ๋ง์ ์๋๋ค. ์๋ฌธ๊ณผ ์ํธ๋ฌธ์ ๋ฑ์ฅํ๋ ๋ฌธ์์ ๋น๋ ์๊ฐ ๋์ผํ๊ธฐ ๋๋ฌธ์ ๋น๋ ๋ถ์์ ์ทจ์ฝํ๋ค. ๋น๋ ๋ถ์์ ์ํธ๋ฌธ ์์ ์์ด ์ํ๋ฒณ ์ถํ ๋น๋๋ฅผ ๋ถ์ํ๊ณ ์์ฃผ ๋ฑ์ฅํ๋ ๋จ์ด๋ฅผ ์ด์ฉํ์ฌ ์นํํ๋ฅผ ๋์ถํด๋ธ๋ค.
์์๋ฅผ ์ดํด๋ณด์ ๋ค์์ ๋จ์ผ ์นํ ์ํธ๋ก ์ํธํ๋ ์ํธ๋ฌธ์ด๋ค. ํด์ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด๋ด์ผ ํ ๊น?
๋ฌธ์์ด์ ์ ์ฌํ ์ดํด๋ณผ ๊ฒ์ด๋ค. ์๋ฅผ ๋ค์ด ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๊ด์ฌ "the"๋ ํญ์ ๋์ผํ ์ํ๋ฒณ์ผ๋ก ๋ณํ๋์์ ๊ฒ์ด๋ค. ์์์ MEY๊ฐ ๋ฐ๋ณต๋๋ ๊ฒ์ ๋ฏธ๋ฃจ์ด ๋ณด์ "the" ์ผ ๊ฐ๋ฅ์ฑ์ด ์๋ค.
์์ด ์ํ๋ฒณ์ ๋ฑ์ฅ ๋น๋๋ฅผ ์ดํด๋ณผ ํ์๊ฐ ์๋ค. ์์์ ์ธ๊ธ๋ฏ์ด ํ๋ฌธ๊ณผ ์ํธ๋ฌธ์ ๋ฌธ์์ด ๋ฑ์ฅ ๋น๋๋ ๋์ผํ๊ธฐ ๋๋ฌธ์ด๋ค. ํต๊ณ์ ์ผ๋ก ์ผ๋ฐ์ ์ธ ๋ฌธ์ ๋ฑ์ฅ ๋น๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
์ํ๋ฒณ e๊ฐ 12.49%๋ก ๋์ ๋น๋๋ก ๋ฑ์ฅํ๊ณ ์์์ ์ ์ ์์ผ๋ฉฐ ์ํ๋ฒณ t๋ 10% ์ก๋ฐํ๋ ๋น๋๋ก ๋ฑ์ฅํ๊ณ ์๋ค.
ํต๊ณ์ ๋ฐ๋ผ ๊ฐ์ฅ ๋ง์ด ๋ฑ์ฅํ๋ ์๋ฌธ์๋ฅผ e๋ก ๋ฐ๊ฟ๋ณธ ํ์ ๋ง์ด ๋ฑ์ฅํ๋ ๊ด์ฌ the๋ฅผ ์๊ฐํ์ฌ ๋ค์ ๋ฌธ์๋ฅผ ๋ฐ๊ฟ๋ณธ๋ค.
์ดํ์๋ ๋จ์ด์ ๊ธฐ๋ฐํ์ฌ ์ถ์ ์ ํ๋ฉฐ ์ญ์ถ์ ํด๋ณธ๋ค. (try an-error)
์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋จ์ผ ์นํ ์ํธ์ ์นํํ๋ฅผ ์ฐพ์๋ผ ์ ์์๋ค. ์ค์ ์๋ฌธ์ ์ด์ ์ฐํ์ธ ์ฌ์ฐ์ ํฌ๋์ด์ผ๊ธฐ ์์์ ์ ์ ์๋ค.
๋น๋ ๋ถ์์ ํตํญ ์ํธ ํด๋ ์๋ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ด ์๋ค.
- ๋น๋๊ฐ ๋์ ๋ฌธ์ ๋ฟ๋ง ์๋๋ผ ๋น๋๊ฐ ๋ฎ์ ๋ฌธ์๋ ๋จ์
- ๋จ์ด์ ๋งฅ๋ฝ์ ์๋ฉด ๊ทธ๊ฒ๋ ๋จ์
- ์ํธ๋ฌธ์ด ๊ธธ๋ฉด ํด๋ ์ด ์ฉ์ดํจ
- ๊ฐ์ ๋ฌธ์๊ฐ ์ฐ์ํด์ ๋ฑ์ฅํ๋ฉด ๊ทธ๊ฒ ๋ํ ๋จ์
๋น๋ ๋ถ์์ ๊ฐํ ์ํธ๋ฅผ ๋ง๋ค์ด ๋ผ ์ ์๋๊ฐ?
๋ค์ค ์นํ ์ํธ๊ฐ ์๋ค.
- ํ๋ฌธ์ ๋ฑ์ฅํ๋ ๋ฌธ์์ ๋น๋์ ์ํธ๋ฌธ์ ๋ฑ์ฅํ๋ ๋ฌธ์์ ๋น๋๋ฅผ ๋ค๋ฅด๊ฒ ๋ง๋๋ ์ํธ ์๊ณ ๋ฆฌ์ฆ
- ๋น์ ๋ค๋ฅด ์ํธ (Vigenere cipher)
- ํ ์ํธ (Hill Cipher)
- ์๋๊ทธ๋ง ๊ธฐ๊ณ (Enigma machine)
๋ค์ค ์นํ ์ํธ๋ ๋ค์๊ณผ ๊ฐ์ด ๋์ํ๋ค.
๋น์ ๋ค๋ฅด ์ํธ (Vigenere cipher)
- a, b, c, d, e, f, g h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z
- ํ๋ฌธ: kookmin university
- ๋น๋ฐํค: abc (1, 2, 3) ํํ์ด๋
- ์ํธ๋ฌธ: lqrlol
ํ ์ํธ
- ์์ด ์ํ๋ฒณ์ ์ซ์๋ก ๋์์ํจ๋ค.
- ํค๋ n x n ํฌ๊ธฐ์ ํ๋ ฌ๋ก ๊ตฌ์ฑ๋์ด์๋ค.
- ํ๋ฌธ์ ํค์ ํ๋ ฌ๊ณฑ ์ํจ๋ค.
๋ณตํธํ๋ฅผ ์ํด ํค๋ ๋ฐ๋์ ์ญํ๋ ฌ์ด ์กด์ฌํ๋ ํ๋ ฌ์ ์ฌ์ฉํด์ผํ๋ค.
์๋๊ทธ๋ง
- ๋ ์ผ์ ์ธ๋ฅด๋น์ฐ์ค(Arthur Scherbius)๊ฐ 20์ธ๊ธฐ ์ด์ ๋ฐ๋ช ํ ์ํธํ/๋ณตํธํ๋ฅผ ์ํํ๋ ๊ธฐ๊ณ
- ์๋๊ทธ๋ง๋ ๋ ์ผ์ด๋ก "์์๊ป๋ผ"๋ฅผ ์๋ฏธ
- ํ์ ํ๋ ์๋ฐ๊ณผ ์ ๊ธฐํ๋ก๋ฅผ ์จ์ ๊ฐ๋ ฅํ ์ํธ๋ฅผ ๋ง๋ค๊ณ ์ ์๋
- ๋ฐ๋ช ๋น์์๋ ์๋๊ทธ๋ง๋ฅผ ์์ฉ์ผ๋ก ์ฌ์ฉ
- 2์ฐจ ์ธ๊ณ๋์ ๋ ๋ ์ผ๊ตฐ์ ๋น๋ฐํต์ ์๋จ์ผ๋ก ์ฌ์ฉ
ํค๋ณด๋๋ฅผ ํตํด ํ๋ฌธ์ ์ ๋ ฅํ๋ฉด ๋คํธ์ํฌ๋ฅผ ํตํด ์ํธ๋ฌธ์ด ์ ์ก๋๋ค.
์จ๋ฆฌ์ค์ ๋ฐฅ์ ์ ๋๊ทธ๋ง ๊ธฐ๊ณ๊ฐ ์์ด์ผ ์/๋ณตํธํ๋ฅผ ํ ์ ์๋ค. ๋ํ ๋ ์ง๋ณ ์ฝ๋๋ถ์ ๊ณต์ ํ๊ณ ์์ผ๋ฉฐ ์ํธ ๊ธฐ์ ์์ ๋น๋ฐํค์ ํด๋น๋์ด ์ 3์๋ ๋ชจ๋ฅด๊ณ ์์ด์ผ ํ๋ค.
์๋๊ทธ๋ง๋ ๋จ์ผ ์นํ ์ํธ๋ฅผ ๋ฐ๋ณตํด์ ์ฌ์ฉํ์ฌ ์ํธํ๋ฅผ ์ํค๋๋ฐ ์๋๊ทธ๋ง์ ์ค์ ์ ๋ ์ง๋ณ ์ฝ๋๋ถ์ด ์ฌ์ฉ๋๋ค. ๋ฐ๋ผ์ ํ๋ฃจ๋ง ์ฌ์ฉํ ์ ์๋ ์ํธ๊ฐ ๋๋ค. ๋งค๋ฒ ์ํ๋ฒณ์ ์ ๋ ฅํ ๋๋ง๋ค ์นํ๋๋ ์ํ๋ฒณ์ด ๊ฐฑ์ ๋๋ค. ์ฆ ์ํ๋ฒณ์ ์ ๋ ฅํ ๋๋ง๋ค ๋ค๋ฅธ ๋ฌธ์๋ก ์นํ๋๋ค๋ ์๋ฏธ์ด๋ค.
์ฐ๋ฆฌ๊ฐ ๋น๋ฐํต์ ์ ํ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ ๋๊ฐ์ง๊ฐ ์๋ค.
- ์ํธ๋ฅผ ์จ๊ฒจ์ ์ด๋ค ์ํธ ์๊ณ ๋ฆฌ์ฆ, ๊ธฐ๊ณ๋ฅผ ์ฌ์ฉํ๋์ง ๋ชจ๋ฅด๊ฒ ํ์ฌ ์ฌ์ฉํ๋ค
- ์ ๋๊ทธ๋ง ์ฒ๋ผ ์ค๊ณ๋ ์๋ ค์ฃผ๊ณ ๊ฐํ ์ํธ๋ฅผ ์ฌ์ฉํ๋ค.
์๋๊ทธ๋ง๋ ์จ๊ธฐ๋ ๋ฐฉ์์ ๋ณด์์ ์์กดํ์ง ์๊ณ ๊ฐ๋ ฅํ ์ํธํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค. ํ์ง๋ง 1940๋ ์ ์๋๊ทธ๋ง๋ฅผ ํด๋ ํ๋๋ฐ ์ฑ๊ณตํ์๊ณ ์ฐํฉ๊ตฐ์ด ์น๋ฆฌํ ์ ์๋ ํ ๋๊ฐ ๋ง๋ จ๋์๋ค. ์ปดํจํฐ์ ์์ด๋ ์ํธ ํด๋ ๊ธฐ๊ณ๋ก ๋ถํฐ ์์๋์๋ค.
์ํธ๋ผ๊ณ ํ๋ ๊ฒ์ ์ธ๋ฅ ์ญ์ฌ์ ์์ด์ ํฐ ์ํฅ๋ ฅ์ ์ฃผ์๋ค.
'๐ฅ Computer Science > Computer Security' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ณด์ํ๋กํ ์ฝ] ํ์ด๋ธ๋ฆฌ๋ ์ํธ ์์คํ - Part 2 (0) | 2021.09.14 |
---|---|
[๋ณด์ ํ๋กํ ์ฝ] ํ์ด๋ธ๋ฆฌ๋ ์ํธ ์์คํ - Part 1 (0) | 2021.09.14 |
[๋ณด์ํ๋กํ ์ฝ] 2์ฃผ์ฐจ - 1๊ฐ (0) | 2021.09.07 |
[๋ณด์ํ๋กํ ์ฝ] 1์ฃผ์ฐจ - 2๊ฐ (0) | 2021.09.03 |
[๋ณด์ํ๋กํ ์ฝ] 1์ฃผ์ฐจ - 1๊ฐ (0) | 2021.09.03 |