โป ์ด ์นดํ ๊ณ ๋ฆฌ์ ๊ธ๋ค์ knu JY.Lee ๊ต์๋์ <์ ๋ณด๋ณดํธ๋ก > ์์ ์ ๋ฃ๊ณ ๋๋ฆ๋๋ก ํ์๊ฐ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
โป ๋ถ์กฑํ ์ค๋ช ์ด ์๊ฑฐ๋, ์๋ชป ์๊ณ ์์ฑํ ๋ถ๋ถ์ด ๋ณด์ธ๋ค๋ฉด ๋๊ธ๋ก ์๋ ค์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค๐
๋ชฉ์ฐจ
1. Key Distribution Problem
2. Key Distribution Techniques
2-1. Key Distribution Center
2-2. Diffie-Hellman Key Exchange
3. Public Key Cryptography
3-1. RSA
1. Key Distribution Problem
๋์นญ ํค ์ํธํ ๋ฐฉ์(Symmetric Cryptography)์์, ๋ณด์์ ์ํด ํค๋ฅผ ์์ ํ๊ฒ ๋ถ๋ฐฐํ๋ ๊ฒ์ด ์ค์ํ๋ฐ, ์ด ๋ถ๋ถ์ด ๋ณต์กํ๊ณ ๊น๋ค๋ก์ด ๋ฌธ์ ๋ก ์๋ ค์ ธ ์๋ค.
๋์นญ ํค ์ํธํ์์, ๋ ๋น์ฌ์(์: ์ก์ ์์ ์์ ์)๊ฐ ์ํธํ ์์ ์ ์ํํ๊ธฐ ์ ์ ๊ณต์ ๋น๋ฐ ํค๋ฅผ ๋ฐ๋์ ๊ตํํด์ผ ํ๋ค. ์ด๋, ํค๊ฐ ์ ์ก๋๋ ๋์ ์ 3์๊ฐ ํค๋ฅผ ํ์ทจํ๊ฑฐ๋ ๋ณต์ฌํ ์ํ์ด ๋ฐ์ํ ์ ์๋ค. ํค๊ฐ ์ ์ถ๋๋ฉด ํด๋น ํค๋ก ์ํธํ๋ ๋ชจ๋ ๋ฉ์์ง๋ฅผ ์ 3์๊ฐ ํด๋ ํ ์ ์๊ฒ ๋๋ฏ๋ก ํฐ ๋ณด์ ์ํ์ด ๋ ์ ์๋ค.
์ด์ฒ๋ผ, ๋์นญ ํค ์ํธํ ๋ฐฉ์์์ ์ฌ์ ์ ๊ณต์ ๋น๋ฐ ํค๋ฅผ ๊ตํํ๋ ๊ฒ์ ํ์์ด์ง๋ง, ๊ณต๊ฒฉ์๋ก๋ถํฐ์ ์ํ์ ํญ์ ๊ฒฝ๊ณํด์ผ ํ๋ ๋ฌธ์ ๊ฐ ์๋ค.
๊ทธ๋ ๋ค๋ฉด, ์์ ํ๊ฒ ํค๋ฅผ ๊ณต์ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์.
2. Key Distribution Techniques
์์ ํ๊ฒ ํค๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐฉ๋ฒ 4๊ฐ์ง๋ฅผ ์์๋ณด์: 1) Face-toFace delivering 2) Use of a trusted courier 3) Use Diffie-Hellman key exchange 4) Use Public key cryptography system
2.1 ์ง์ ๋๋ฉดํ์ฌ ์ ๋ฌ (Face-to-face delivering):
- ์ด ๋ฐฉ์์ ์ฌ๋๋ค์ด ์ง์ ๋ง๋์ ํค๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ผ๋ก, ๊ฐ์ฅ ๊ฐ๋จํ๋ฉด์๋ ์ง๊ด์ ์ธ ๋ฐฉ์์ด๋ค. ํ์ง๋ง ํ์ค์ ์ผ๋ก ์คํํ๊ธฐ ์ด๋ ค์ด ๊ฒฝ์ฐ๊ฐ ๋ง๊ณ , ๋นํจ์จ์ ์ด๊ฑฐ๋ ์ํํ ์ ์๋ค.
- ์๋ฅผ ๋ค์ด, ๋ชจ๋ ์ง์์ด ํจ๊ป ๋ชจ์ฌ์ ํค๋ฅผ ๊ตํํด์ผ ํ๋ ๊ฒฝ์ฐ, ๋ฌผ๋ฆฌ์ ์ ํ๊ณผ ์๊ฐ์ ๋น์ฉ์ด ๋ง์ด ๋ค๊ธฐ ๋๋ฌธ์ ์กฐ์ง์ด ํด์๋ก ๋นํ์ค์ ์ธ ๋ฐฉ๋ฒ์ด๋ค.
- N๋ช ์ด ์๋ ํ์ฌ์์ ํ ์ฌ๋์ด ๋๋จธ์ง N - 1๋ช ๊ณผ ๊ฐ๊ฐ ํต์ ํด์ผ ํ๋ค๋ฉด, ๊ทธ ์ฌ๋์ N - 1๊ฐ์ ํค๋ฅผ ๊ด๋ฆฌํด์ผ ํ๋ค.
- ํ์ฌ ์ ์ฒด์ ์ ์ฅ์์ ๋ณด๋ฉด, ํ์ํ ํค๋ N(N - 1) / 2 ์ด๋ค.
2.2 ์ ๋ขฐํ ์ ์๋ ์ด์ก ์๋จ ์ฌ์ฉ (Use of a trusted courier):
- ์ ๋ขฐํ ์ ์๋ ์ด์ก ์๋จ (Use of a Trusted Courier), ์ฆ ํค ๋ถ๋ฐฐ ์ผํฐ (KDC, Key Distribution Center)๋ฅผ ์ฌ์ฉํ ํค ๋ถ๋ฐฐ ๋ฐฉ์์ด๋ค.
โKDC๋
- ํค ๋ถ๋ฐฐ ์ผํฐ(KDC)๋ ๋ชจ๋ ์ฌ์ฉ์ ๊ฐ์ ์ํธํ ํต์ ์ ์ํด ์ค์์์ ํค๋ฅผ ๊ด๋ฆฌํ๊ณ ๋ถ๋ฐฐํ๋ ์ญํ ์ ํ๋ ์ปดํจํฐ๋ ์์คํ ์ ์๋ฏธํ๋ค.
- KDC๋ ๋ชจ๋ ์ฌ์ฉ์(ํน์ ๋ ธ๋)๋ค์ ํค๋ฅผ ์ ์ฅํ๊ณ ์์ผ๋ฉฐ, ์ฌ์ฉ์๊ฐ ํต์ ์ ์ํ ๋ ํ์ํ ํค๋ฅผ KDC์์ ์์ฒญํ์ฌ ์ฌ์ฉํ ์ ์๋ค.
โKDC๋ฅผ ํ์ฉํ ํค ์ ๋ฌ ๊ณผ์
- Alice๊ฐ KDC์ ์์ฒญ:
- Alice๋ Bob๊ณผ์ ํต์ ์ ์ํด KDC์ ์ธ์ ํค ์์ฒญ์ ๋ณด๋ธ๋ค.
- KDC๊ฐ ์ธ์
ํค(K)๋ฅผ ์์ฑ:
- KDC๋ Alice์ Bob์ด ์ฌ์ฉํ ์ธ์ ํค(K)๋ฅผ ์์ฑํ๋ค.
- KDC๊ฐ Alice์๊ฒ ์ํธํ๋ ์ธ์
ํค(C_A)๋ฅผ ์ ์ก:
- KDC๋ ์ธ์ ํค(K)๋ฅผ Alice์ ํค(K_A)๋ก ์ํธํํ ํ, ์ํธํ๋ ํํ(C_A)๋ก Alice์๊ฒ ๋ณด๋ธ๋ค.
- KDC๊ฐ Bob์๊ฒ ์ํธํ๋ ์ธ์
ํค(C_B)๋ฅผ ์ ์ก:
- ๋์์, KDC๋ ๋์ผํ ์ธ์ ํค(K)๋ฅผ Bob์ ํค(K_B)๋ก ์ํธํํ์ฌ ์ํธํ๋ ํํ(C_B)๋ก Bob์๊ฒ ๋ณด๋ธ๋ค.
- Alice๊ฐ ์ธ์
ํค(K)๋ฅผ ๋ณตํธํ:
- Alice๋ KDC๋ก๋ถํฐ ๋ฐ์ ๋ฉ์์ง๋ฅผ ์์ ์ ํค(K_A)๋ก ๋ณตํธํํ์ฌ ์ธ์ ํค(K)๋ฅผ ์ถ์ถํ๋ค.
- Alice๊ฐ ์ธ์
ํค๋ฅผ ์ฌ์ฉํด ๋ฉ์์ง(M)๋ฅผ ์ํธํ(C):
- ์ด์ Alice๋ ์ป์ ์ธ์ ํค(K)๋ฅผ ์ฌ์ฉํด ์์ ์ด ๋ณด๋ด๋ ค๋ ๋ฉ์์ง(M)๋ฅผ ์ํธํ(C)ํ๋ค.
- Alice๊ฐ ์ํธํ๋ ๋ฉ์์ง(C)๋ฅผ Bob์๊ฒ ์ ์ก:
- Alice๋ ์ํธํ๋ ๋ฉ์์ง(C)๋ฅผ Bob์๊ฒ ์ ์กํ๋ค.
- Bob์ด ์ธ์
ํค(K)๋ฅผ ๋ณตํธํ:
- Bob์ KDC๋ก๋ถํฐ ๋ฐ์ ๋ฉ์์ง๋ฅผ ์์ ์ ํค(K_B)๋ก ๋ณตํธํํ์ฌ ์ธ์ ํค(K)๋ฅผ ์ถ์ถํ๋ค.
- Bob์ด ๋ฉ์์ง(M)๋ฅผ ๋ณตํธํ:
- ๋ง์ง๋ง์ผ๋ก, Bob์ Alice๋ก๋ถํฐ ๋ฐ์ ์ํธํ๋ ๋ฉ์์ง(C)๋ฅผ ์ธ์ ํค(K)๋ฅผ ์ฌ์ฉํด ๋ณตํธํํ์ฌ ์๋ ๋ฉ์์ง(M)๋ฅผ ์ป๋๋ค.
โKDC๋ฅผ ํตํ ํค ๋ถ๋ฐฐ ๋ฐฉ์์ ๋ฌธ์ ์
- ๋ชจ๋ ํต์ ์ KDC๊ฐ ๊ด์ฌํด์ผ ํจ: KDC๋ ๋ชจ๋ ํต์ ์์ ํค๋ฅผ ์ ๊ณตํ๋ ์ญํ ์ ํ๋ฏ๋ก, ์์คํ ์ ๊ณผ๋ถํ๊ฐ ๊ฑธ๋ฆด ์ ์๋ค.
- KDC์ ์คํจ๋ ์ ์ฒด ์์คํ ์ ์ค๋จ์ ์๋ฏธํจ: KDC๊ฐ ๋ค์ด๋๊ฑฐ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด, ์กฐ์ง ๋ด ๋ชจ๋ ์ํธํ ํต์ ์ด ๋ถ๊ฐ๋ฅํด์ง๋ฉฐ, ์ด๋ ์ ์ฒด ๋คํธ์ํฌ์ ํฐ ์ํฅ์ ์ค ์ ์๋ค.
- ๊ณต๊ฒฉ์ ํ์ ์ด ๋ ์ ์์: KDC๋ ๋คํธ์ํฌ์ ์ค์ํ ๋ถ๋ถ์ ๋ด๋นํ๊ณ ์๊ธฐ ๋๋ฌธ์, ํด์ปค์ ์ฃผ์ ๊ณต๊ฒฉ ๋์์ด ๋ ์ ์๋ค. ๋ง์ฝ KDC๊ฐ ๊ณต๊ฒฉ์ ๋ฐ์์ ์์๋๋ฉด ๋ชจ๋ ํค ์ ๋ณด๊ฐ ์ ์ถ๋ ์ํ์ด ์๋ค.
2.3 ๋ํผ-ํฌ๋ง ํค ๊ตํ ์ฌ์ฉ (Use Diffie–Hellman key exchange):
- ๋ํผ-ํฌ๋ง ํค ๊ตํ(Diffie–Hellman Key Exchange)์ ๋ ์ฌ๋์ด ์์ ํ๊ฒ ๊ณต์ ๋น๋ฐํค๋ฅผ ์์ฑํ ์ ์๋๋ก ๋๋ ์ด๊ธฐ ๊ณต๊ฐ ํค ํ๋กํ ์ฝ ์ค ํ๋์ด๋ค.
โ๋ํผ-ํฌ๋ง ํค ๊ตํ ๋ฐฉ์์ ์ ์ฐจ (๊ทธ๋ฆผ์ผ๋ก ์ดํด)
- Alice์ Bob์ ๊ฐ์ ์์ ๋ง ์๊ณ ์๋ ๋น๋ฐ ์(Secret Color)์ ๊ฐ์ง๊ณ ์๋ค. ์ด ์์ ๊ณต๊ฐ๋์ง ์๊ณ ๊ฐ์ธ์ด ๋น๋ฐ๋ฆฌ์ ๋ณด๊ดํ๋ค.
- ์๋ก ๊ตํํ ์ ๋ณด๋ฅผ ์ด์ฉํด ๊ฐ๊ฐ์ ๋น๋ฐ ์์ ๋ํ์ฌ ๊ณตํต์ ์(ํน์ ๊ณตํต์ ๋น๋ฐ ํค)์ ์์ฑํ๋ค.
- ์ด ๊ณผ์ ์์ ์ 3์๋ ๋์ผํ ํค๋ฅผ ์์ฑํ ์ ์๋ค. ์ 3์๊ฐ ๋น๋ฐ ์์ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์, ๊ตํ๋ ์ ๋ณด๋ง์ผ๋ก๋ ๊ฐ์ ํค๋ฅผ ๋ง๋ค ์ ์๋ค.
โ๋ํผ-ํฌ๋ง ํค ๊ตํ ๋ฐฉ์์ ์ ์ฐจ (์ํ์ ๊ณผ์ )
์ฃผ์ ๊ตฌ์ฑ ์์
- ๊ณต๊ฐ ๊ฐ:
- ํฐ ์์ p์ ์์ฑ์ g๋ ๊ณต๊ฐ๋ ๊ฐ์ผ๋ก ๋ชจ๋ ์ฌ๋์ด ์๊ณ ์์ด๋ ์๊ด์๋ค.
- ๋น๋ฐ ๊ฐ:
- Alice๋ ์์ ์ ๋น๋ฐ ๊ฐ์ผ๋ก a๋ฅผ ๊ฐ์ง๊ณ ์๊ณ , Bob์ b๋ผ๋ ๋น๋ฐ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ค. ์ด ๊ฐ๋ค์ ์ ๋ ๊ณต๊ฐ๋์ง ์๋๋ค.
๊ณต๊ฐ ๊ตํ ๊ณผ์
Alice์ Bob์ ๊ฐ์์ ๋น๋ฐ ๊ฐ๊ณผ ๊ณต๊ฐ๋ ์์ฑ์ g, ์์ p๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ํตํด ์๋ก์๊ฒ ๊ณต๊ฐ ๊ฐ์ ์ ๋ฌํ๋ค.
- Alice๋ A = g^a mod p๋ฅผ ๊ณ์ฐํ์ฌ Bob์๊ฒ ์ ๋ฌ
- Bob์ B = g^b mod p๋ฅผ ๊ณ์ฐํ์ฌ Alice์๊ฒ ์ ๋ฌ
์ด๋, ๋ ๊ฐ ์ B๋ ๊ณต๊ฐ์ ์ผ๋ก ๊ตํ๋์ง๋ง, ๊ฐ์์ ๋น๋ฐ ๊ฐ a์ b๋ ๊ตํ๋์ง ์๋๋ค.
๋น๋ฐ ํค ๊ณ์ฐ
Alice์ Bob์ ์๋๋ฐฉ์ผ๋ก๋ถํฐ ๋ฐ์ ๊ณต๊ฐ ๊ฐ์ ์ฌ์ฉํด ๊ณตํต ๋น๋ฐ ํค๋ฅผ ๊ณ์ฐํ ์ ์๋ค.
- Alice์ ๊ณ์ฐ:
- Alice๋ Bob์ผ๋ก๋ถํฐ ๋ฐ์ ๊ฐ B๋ฅผ ์ฌ์ฉํ์ฌ K = B^a mod p๋ฅผ ๊ณ์ฐํ๋ค.
- B^a mod p = (g^b)^a mod p = g^(b*a) mod p
- Bob์ ๊ณ์ฐ:
- Bob์ Alice๋ก๋ถํฐ ๋ฐ์ ๊ฐ ๋ฅผ ์ฌ์ฉํ์ฌ K = A^b mod p๋ฅผ ๊ณ์ฐํ๋ค.
- A^b mod p = (g^a)^b mod p = g^(a*b) mod p
๊ฒฐ๊ตญ, ๋ ์ฌ๋ ๋ชจ๋ ๊ฐ์ ๋น๋ฐ ํค K = g^(a*b) mod p๋ฅผ ์ป์ ์ ์๋ค. ์ด ํค๋ ์ธ๋ถ์ ๊ณต๊ฐ๋์ง ์์ผ๋ฉฐ, ์์ ํ ํต์ ์ ์ฌ์ฉํ ์ ์๋ค.
๋ณด์์ฑ (๊ณต๊ฒฉ์ Eve์ ๊ณต๊ฒฉ ๊ฐ๋ฅ์ฑ)
Eve๊ฐ g^(a*b) mod p๋ฅผ ๊ณ์ฐํ ์ ์๋๊ฐ?
- ๊ณต๊ฐ๋ ๊ฐ์ธ g^a mod p์ g^b mod p๋ง์ผ๋ก g^(a*b) mod p๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ ์ด์ฐ ๋ก๊ทธ ๋ฌธ์ (Discrete Logarithm Problem)์ ํด๋น๋๋ค.
- ์ด์ฐ ๋ก๊ทธ ๋ฌธ์ ๋ ์ํ์ ์ผ๋ก ๊ณ์ฐํ๊ธฐ ๋งค์ฐ ์ด๋ ต๋ค๊ณ ์ฌ๊ฒจ์ง๊ธฐ ๋๋ฌธ์(์ง์์ ๋ณต์ก๋), ํ์ฌ์ ์ปดํจํ ๊ธฐ์ ๋ก๋ ํ์ค์ ์ผ๋ก ๋ถ๊ฐ๋ฅํ๋ค.
2.4 ๊ณต๊ฐ ํค ์ํธํ ์์คํ ์ฌ์ฉ (Use Public key cryptography system):
- ๊ณต๊ฐ ํค ์ํธํ๋ ๋น๋์นญ ์ํธํ๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ฉฐ, ๊ฐ๊ฐ์ ๊ณต๊ฐ ํค์ ๋น๋ฐ ํค ์์ ์ฌ์ฉํ์ฌ ์ํธํ์ ๋ณตํธํ๋ฅผ ์ํํ๋ ์ํธํ ๋ฐฉ์์ด๋ค.
๊ณต๊ฐ ํค ์ํธํ์ ํต์ฌ ๊ฐ๋
- ํค ์ ์์ฑ:
- ์ํธํ ์์คํ ์ ๋ ๊ฐ์ ํค ์์ ์์ฑํ๋ค. ํ๋๋ ๊ณต๊ฐ ํค (Public Key)์ด๊ณ , ๋ค๋ฅธ ํ๋๋ ๋น๋ฐ ํค (Private Key)์ด๋ค.
- ๊ณต๊ฐ ํค๋ ์ฃผ๋ก ์ํธํ์ ์ฌ์ฉ๋๊ณ , ๋น๋ฐ ํค๋ ๋ณตํธํ์ ์ฌ์ฉ๋๋ค.
- ๋ณด์์ฑ:
- ๊ณต๊ฐ ํค ์ํธํ์ ๋ณด์์ ๋น๋ฐ ํค๋ฅผ ์์ ํ๊ฒ ๋ณด๊ดํ๋ ๊ฒ์ ๋ฌ๋ ค ์๋ค. ๊ณต๊ฐ ํค๋ ์์ ๋กญ๊ฒ ๋ฐฐํฌํด๋ ๋ณด์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๋๋ค.
- ๊ณต๊ฐ ํค๊ฐ ๋๋ฆฌ ํผ์ ธ ์๋๋ผ๋, ๋น๋ฐ ํค๋ฅผ ๋ชจ๋ฅด๋ฉด ์ํธํ๋ ๋ฉ์์ง๋ฅผ ๋ณตํธํํ ์ ์๋ค.
ํค ์ ์์ฑ ๋ฐฉ์
- ์ผ๋ฐฉํฅ ํจ์ (One-way Function):
- ๊ณต๊ฐ ํค์ ๋น๋ฐ ํค ์์ ์ผ๋ฐฉํฅ ํจ์๋ผ๋ ์ํ์ ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋๋ค.
- ์ผ๋ฐฉํฅ ํจ์๋ ๊ณ์ฐํ๊ธฐ๋ ์ฌ์๋, ์ญ์ผ๋ก ๊ณ์ฐํ๋ ๊ฒ์ ๋งค์ฐ ์ด๋ ค์์ ๋ณด์์ฑ์ ์ ๊ณตํ๋ค.
- ์๋ฅผ ๋ค์ด, ๊ณต๊ฐ ํค๋ฅผ ์ฌ์ฉํด ์ํธํ๋ ๋ฐ์ดํฐ๋ฅผ ๋น๋ฐ ํค ์์ด ๋ณตํธํํ๋ ๊ฒ์ ์ผ๋ฐฉํฅ ํจ์์ ํน์ฑ ๋๋ฌธ์ ๋งค์ฐ ์ด๋ ต๋ค.
์ํธํ์ ๋ณตํธํ์ ์๋ฆฌ
- ์ํธํ:
- ๊ณต๊ฐ ํค๋ก ์ํธํ๋ ๋ฉ์์ง(์ํธ๋ฌธ)๋ ๋น๋ฐ ํค๊ฐ ์์ผ๋ฉด ๋ณตํธํํ ์ ์๋ค. ๋ฐ๋ผ์, ๋๊ตฌ๋ ๊ณต๊ฐ ํค๋ก ๋ฉ์์ง๋ฅผ ์ํธํํ ์ ์์ง๋ง, ๋ณตํธํ๋ ๋น๋ฐ ํค๋ฅผ ์์ ํ ์ฌ๋๋ง ํ ์ ์๋ค.
- ๋ณตํธํ:
- ๊ณต๊ฐ ํค๋ก ์ํธํ๋ ์ํธ๋ฌธ์ ์ค์ง ํด๋น ๊ณต๊ฐ ํค์ ์์ ์ด๋ฃจ๋ ๋น๋ฐ ํค๋ก๋ง ๋ณตํธํ๊ฐ ๊ฐ๋ฅํ๋ค. ๋ฐ๋ผ์, ๋ฉ์์ง์ ๋ณด์์ด ๋ณด์ฅ๋๋ค.
3. RSA
RSA๋ 1977๋ ์ Ron Rivest, Adi Shamir, Leonard Adleman์ ์ํด ๊ฐ๋ฐ๋์์ผ๋ฉฐ, ์ธ ์ฌ๋์ ์ฑ์ ๋ฐ์ RSA๋ผ๊ณ ๋ถ๋ฆฐ๋ค.
RSA์ ์๋ ์๋ฆฌ
- RSA๋ ๋ ๊ฐ์ ํฐ ์์์ ๊ณฑ์ ์ด์ฉํ์ฌ ๋ชจ๋๋ฌ ๊ฑฐ๋ญ์ ๊ณฑ(exponentiation modulo) ์ฐ์ฐ์ ์ํํจ์ผ๋ก์จ ์ํธํ์ ๋ณตํธํ๋ฅผ ์ํํ๋ค.
- RSA์ ๋ณด์์ฑ์ ๋งค์ฐ ํฐ ์๋ฅผ ์ธ์๋ถํดํ๋ ๊ฒ์ด ์ด๋ ต๋ค๋ ์ํ์ ๋ฌธ์ ์ ๊ธฐ๋ฐํ๊ณ ์๋ค. ์ฆ, ํฐ ์์๋ฅผ ๊ณฑํ์ฌ ์์ฑ๋ ๊ฐ์ผ๋ก๋ถํฐ ์๋์ ๋ ์์๋ฅผ ์ฐพ๋ ๊ฒ์ด ๋งค์ฐ ์ด๋ ค์์ RSA๊ฐ ์์ ํ ์ํธํ ๋ฐฉ์์ผ๋ก ์ฌ๊ฒจ์ง๋ค.
RSA์ ์์ฉ
- RSA๋ ์ฃผ๋ก ํค ๊ตํ (Key Exchange)๊ณผ ๋์งํธ ์๋ช
(Digital Signature)์ ์ฌ์ฉ๋๋ค.
- ํค ๊ตํ: ์์ ํ ํต์ ์ ์ํด ๋ ๋น์ฌ์๊ฐ ๊ณต์ ๋น๋ฐ์ ์ค์ ํ ๋ ํ์ฉ ๊ฐ๋ฅ.
- ๋์งํธ ์๋ช : ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ธ์ฆ์ ์ ๊ณตํ๊ธฐ ์ํด ์ฌ์ฉ.
RSA์ AES์ ์๋ ๋น๊ต
- AES์ ๋น๊ตํ์ ๋, RSA๋ ์ฐ์ฐ ๊ณผ์ ์ด ๋ณต์กํ๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก ๋๋ฆฐ ํธ์ด๋ค.
- ์๋ฅผ ๋ค์ด, AES-256 ๋นํธ ์ํธํ๋ RSA 15,360 ๋นํธ ์ํธํ์ ๋น์ทํ ์์ค์ ๋ณด์์ฑ์ ์ ๊ณตํ๋ค. ์ฆ, RSA์ ํค ๊ธธ์ด๊ฐ ํจ์ฌ ๊ธธ์ด์ผ AES์ ์ ์ฌํ ๋ณด์ ์์ค์ ์ ๊ณตํ ์ ์์์ ์๋ฏธํ๋ค.
- 112 ๋นํธ ๋ณด์: 3TDEA์ ํด๋นํ๋ฉฐ, RSA๋ 2,048 ๋นํธ๊ฐ ํ์.
- 128 ๋นํธ ๋ณด์: AES-128์ ํด๋นํ๋ฉฐ, RSA๋ 3,072 ๋นํธ๊ฐ ํ์.
- 192 ๋นํธ ๋ณด์: AES-192์ ํด๋นํ๋ฉฐ, RSA๋ 7,680 ๋นํธ๊ฐ ํ์.
- 256 ๋นํธ ๋ณด์: AES-256์ ํด๋นํ๋ฉฐ, RSA๋ 15,360 ๋นํธ๊ฐ ํ์.
RSA์ ํต์ฌ๊ฐ๋ (1) Modular Arithmetic
1. ๋ชจ๋๋ฌ ์ฐ์ฐ (Modulo)
- ๋ชจ๋๋ฌ ์ฐ์ฐ์ ํ ์ซ์๋ฅผ ๋ค๋ฅธ ์ซ์๋ก ๋๋ด์ ๋ ๋๋จธ์ง๋ฅผ ๊ตฌํ๋ ์ฐ์ฐ์ด๋ค.
- ์:
- ์ฆ, 14๋ฅผ 12๋ก ๋๋๋ฉด ๋๋จธ์ง๊ฐ 2์ด๊ธฐ ๋๋ฌธ์ 14 mod 12์ ๊ฒฐ๊ณผ๋ 2์ด๋ค.
2. ๋์น ๋ชจ๋๋ฌ (Congruent Modulo)
- ๋์น ๋ชจ๋๋ฌ๋ ๋ ์ซ์๊ฐ ํน์ ๊ฐ์ผ๋ก ๋๋ด์ ๋ ๋์ผํ ๋๋จธ์ง๋ฅผ ๊ฐ์ง๋ฉด ์๋ก ๋์น์์ ์๋ฏธํ๋ค.
- ์: 14 ≡ 26 (mod 12) (14์ 26์ 12๋ก ๋๋ ๋๋จธ์ง๊ฐ ๊ฐ๋ค๋ ๋ป)
- ์์์ผ๋ก๋ a ≡ b (mod n) ๋ a mod n = b mod n๊ณผ ๊ฐ์ ์๋ฏธ์ ๋๋ค.
3. ๊ธฐ๋ณธ ์ฑ์ง (Basic Properties)
- ํญ๋ฑ์ฑ (Identity):
- (a mod n) mod n = a mod n
- ์ด ์์ a๋ฅผ n์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ๋ค์ n์ผ๋ก ๋๋๋๋ผ๋ ๊ฒฐ๊ณผ๊ฐ ๋ณํ์ง ์๋๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
- ๋ถ๋ฐฐ๋ฒ์น (Distributive):
- ๋ง์ ์ ๋ํ ๋ถ๋ฐฐ๋ฒ์น: (a+b) mod n=[(a mod n)+(b mod n)] mod n
- ๊ณฑ์ ์ ๋ํ ๋ถ๋ฐฐ๋ฒ์น: (a×b) mod n=[(a mod n)(b mod n)] mod n
- ์ฆ, ๋ ์์ ๋ง์ ์ด๋ ๊ณฑ์ ํ ๋ชจ๋๋ฌ ์ฐ์ฐ์ ํ๋ ๊ฒ๊ณผ ๊ฐ๊ฐ์ ๋ชจ๋๋ฌ ์ฐ์ฐ์ ๋จผ์ ์ํํ ๋ค ๊ฒฐ๊ณผ๋ฅผ ๋ค์ ๋ชจ๋๋ฌ ์ฐ์ฐํ๋ ๊ฒ์ ๋์ผํ๋ค.
๋ชจ๋๋ฌ ์ญ์์ด๋? (Modular Inverse)
1. ๋ชจ๋๋ก ๊ณฑ์ ์ญ์ (Modulo Multiplicative Inverse)
- ์ด๋ค ์ ์ a์ n์ ๋ํด, a×โก mod n=1์ ๋ง์กฑํ๋ ์ซ์ โก๋ฅผ ์ฐพ๋ ๊ฒ์ด ๋ชจ๋๋ก ๊ณฑ์
์ญ์์ด๋ค.
- ์: a=1, n=6์ผ ๋ 1×1 mod 6. ๋ฐ๋ผ์ โก = 1.
2. ํญ์ ์ญ์์ด ์กด์ฌํ ๊น? (Does the inverse always exist?)
- ๋ต์ NO ์ด๋ค. ๋ชจ๋ ์ซ์์ ๋ํด ๋ชจ๋๋ก ์ญ์์ด ์กด์ฌํ์ง ์๋๋ค.
- ์์: mod 6 ํ๊ฒฝ์์์ ๊ณ์ฐ:
- : ์ญ์์ด ์กด์ฌ (1×1mod 6=1), โก=1.
- : ์ญ์์ด ์์ (gcdโก(2,6)=2≠1).
- : ์ญ์์ด ์์ (gcdโก(3,6)=3≠1).
- : ์ญ์์ด ์์ (gcdโก(4,6)=2≠1).
- : ์ญ์์ด ์กด์ฌ (5×5mod 6=1), โก=5.
3. ํจํด ๋ฐ๊ฒฌ (Patterns?)
- ๋ชจ๋๋ก ๊ณฑ์
์ญ์์ a์ n์ด ์๋ก์์ผ ๋๋ง ์กด์ฌํ๋ค.
- ์ฆ, gcdโก(a,n)=1์ผ ๋ ์ญ์์ด ์ ์๋๋ค.
- ์ฌ๊ธฐ์ gcdโก๋ ๋ ์์ ์ต๋๊ณต์ฝ์(Greatest Common Divisor)๋ฅผ ๋ปํ๋ค.
4. ์ค์ํ๊ณผ ์ํธํ์ ํ์ฉ
์ด ๊ฐ๋ ์ RSA ์ํธํ์์ ์ค์ํ ์ญํ ์ ํ๋ค. RSA ํค ์์ฑ ์ ์ญ์ ๊ณ์ฐ์ด ํ์ํ๋ฉฐ, ์ด ๊ณผ์ ์ ํตํด ๊ณต๊ฐ ํค์ ๋น๋ฐ ํค๋ฅผ ์์ฑํ๋ค. ๋ชจ๋๋ก ๊ณฑ์ ์ญ์์ ๋ํ ์ํ์ ํผ์ฆ์ด๋ ์๊ณ ๋ฆฌ์ฆ์์ ์์ฃผ ์ฌ์ฉ๋๋คโ.
'๐CS > ๐Theory of Information Security' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ ๋ณด๋ณดํธ๋ก ] Lecture7. Block Cipher Operation (0) | 2024.11.08 |
---|---|
[์ ๋ณด๋ณดํธ๋ก ] Lecture6. Symmetric Cryptography (0) | 2024.11.08 |
[์ ๋ณด๋ณดํธ๋ก ] Lecture5. Classical Cryptography (0) | 2024.11.08 |
[์ ๋ณด๋ณดํธ๋ก ] Lecture4. Authorization (1) | 2024.10.08 |
[์ ๋ณด๋ณดํธ๋ก ] Lecture3. Authentication(2) (4) | 2024.10.06 |