Cryptanalysis
<aside>
๐ก ์ํธ ์ฒด๊ณ๋ฅผ ํด๋
ํ๊ฑฐ๋ ๋ถ์ํ๋ ํ๋ก์ธ์ค
</aside>
- ์ํธ๋ฌธ์ ๋ํ ๊ณต๊ฒฉ โ ์ป๊ณ ์ ํ๋ ๊ฒ
- Key์ ๋ํ Information
- Message์ ๋ํ Information
Methods of Cryptanalysis
- Break(decrypt) a single message
- ํน์ ์ํธ๋ฌธ์ ํด๋
ํ์ฌ, ์ฌ๊ธฐ์ ์ฌ์ฉ๋ ํค๋ฅผ ์ฐพ์๋ด๊ฑฐ๋ ์ํธํ๋ ๋ฉ์์ง๋ฅผ ๋ณตํธํํ์ฌ ์๋ฌธ์ ํ๋ํ๊ณ ์ ํจ.
- Recognize patterns in encrypted messages
- ์ํธ๋ฌธ์์ ํจํด์ ์ธ์ํ๋ ๋ฐฉ๋ฒ.
- ํน์ ์ํ๋ฒณ์ด๋ ๋จ์ด์ ํจํด์ด๋ ๋ฐ๋ณต์ ๋ถ์ํด ํค๋ฅผ ์ ์ถํ๊ฑฐ๋ ์ํธ๋ฌธ์ ํด๋
ํ ์ ์์. (๊ณต๊ฒฉ์ ๊ธฐ์ด๋ก ์ผ์)
- Infer some meaning without even breaking the encryption, such as from the length or frequency of messages
- ์ํธ๋ฌธ์ ๊ธธ์ด๋ ๋น๋๋ฅผ ํตํด ์๋ฏธ๋ฅผ ์ถ๋ก ํ๋ ๋ฐฉ๋ฒ
- Easily deduce the key to break one message and perhaps subsequent ones
- ํ๋์ ์ํธ๋ฌธ์ ํด๋
ํ๊ณ ์ด๋ฅผ ํตํด ํค๋ฅผ ์ฝ๊ฒ ์ ์ถํ์ฌ ๋ค๋ฅธ ์ํธ๋ฌธ๋ ํด๋
ํ๋ ๋ฐฉ๋ฒ
- Find weaknesses in the implementation or environment of use of encryption by the sender
- ์ํธํ๋ฅผ ์ฌ์ฉํ๋ ์์คํ
์ด๋ ํ๊ฒฝ์ ๊ตฌํ์์ ์ทจ์ฝ์ ์ ์ฐพ๋ ๋ฐฉ๋ฒ
- Find general weaknesses in an encryption algorithm
- ํน์ ์ํธํ ์๊ณ ๋ฆฌ์ฆ ์์ฒด์ ์ทจ์ฝ์ ์ ์ฐพ๋ ๋ฐฉ๋ฒ
Cryptanalysis Inputs
-
Ciphertext only
- ์ํธ๋ฌธ๋ง ์ฃผ์ด์ง ์ํฉ โ ํจํด, ์ ์ฌ์ฑ, ๋ถ์ฐ์์ฑ์ ํ์
ํจ
-
Known plaintext
- ๊ณต๊ฒฉ์์ ์์ง์ ์๊ด ์์ด ์ฃผ์ด์ง โ Plaintext & Ciphertext ์ฌ๋ฌ ์์ด ์ฃผ์ด์ง.
-
Chosen plaintext
- ๊ณต๊ฒฉ์๊ฐ ์์ฒญ์ด ๊ฐ๋ฅํจ โ ๊ทธ๋๊ทธ๋ ์ํ๋ plaintext๋ฅผ ์์ฒญํ ์ ์์ด ๊ณต๊ฒฉ์ ์์ฃผ ์ ๋ฆฌํจ.
Cryptographic Primitives
<aside>
๐ก ์ํธํ์์ ์ฌ์ฉ๋๋ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์ฑ ์์
โ ์ด๋ฌํ ์์๋ค์ ๋ค์ํ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ฐ์ด ๋๋ฉฐ, ๋ณด์์ฑ์ ํ๋ณดํ๊ธฐ ์ํด ์กฐํฉ๋์ด ์ฌ์ฉ๋จ.
</aside>
-
Substitution(์นํ)
- ํ๋ฌธ์ ๋ฌธ์๋ ๋นํธ๋ฅผ ๋ค๋ฅธ ๋ฌธ์๋ ๋นํธ๋ก ๋์ฒดํ๋ ๊ณผ์
-
Transposition(์ ์น)
- ํ๋ฌธ์ ๋ฌธ์๋ ๋นํธ์ ์์น๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ ์๋ฏธ
- ํ๊ณผ ์ด์ ๋ฐ๊พธ๊ฑฐ๋, ๋ฌธ์์ ์์๋ฅผ ์ฌ๋ฐฐ์นํ๋ ๋ฑ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ์ ์น๋ฅผ ์ํ
-
Confusion(ํผ๋)
- ์ํธํ๋ ๊ฒฐ๊ณผ๊ฐ ํค๋ ๋ฉ์์ง์ ์์ ๋ณํ์๋ ํฐ ์ํฅ์ ๋ฐ๋๋ก ํ๋ ๊ฒ์ ์๋ฏธ
- ํต๊ณ์ ๋ถ์์ ๋ํ ์ ํญ๋ ฅ์ ์ฆ๊ฐ
- ๊ฐ๊ฐ์ ์ํธ๋ฌธ์ด ํค์์ ๊ด๊ณ๋ฅผ ๋์ฑ ํผ๋์ค๋ฝ๊ฒ ๋ง๋ค์ด ๋ณด์์ฑ์ ํฅ์์ํด.
-
Diffusion(ํ์ฐ)
- ํ๋ฌธ์ ๊ฐ ๋นํธ๊ฐ ์ํธ๋ฌธ์ ์ฌ๋ฌ ๋นํธ์ ์ํฅ์ ๋ฏธ์น๋๋ก ํ๋ ๊ฒ์ ์๋ฏธ
- ๊ณต๊ฒฉ์๊ฐ ์ํธ๋ฌธ์ ์ผ๋ถ๋ฅผ ๋ณ๊ฒฝํด๋ ํ๋ฌธ์๋ ํฐ ์ํฅ์ ์ฃผ๊ฒ ๋์ด ๋ณด์์ฑ์ ํฅ์์ํด.