๊ฐ์ ์๋ฃ๊ฐ Computer & Internet Security: A Hands-on Approach 2nd Edition(Wenliang Du)์ ์์ฝ๋ณธ์ด๊ธฐ์ ์ฌ์ค์ ์ ์ฑ ๋ฒ์ญ+์์ฝ์ ๊ฐ๊น์
์ํธํ์ ๋ ์ข ๋ฅ
1. ๋์นญํค ์ํธํ(secret-key encryption): ์ํธ-๋ณตํธ์ ๋์ผ ํค ์ฌ์ฉ
2. ๊ณต๊ฐํค ์ํธํ(public-key encryption): ์ํธ-๋ณตํธ์ ๋ค๋ฅธ ํค ์ฌ์ฉ
๊ธฐ๋ณธ์ ์ธ ์ํธํ -> ๋จ์ด ๋ณํ
๋ณตํธํ์ ์๊ฐํ ์ ์๋ ์
1. ๋ฌธ์ ์ข ๋ฅ๊ฐ ๊ฐ๋ค๋ฉด, ์ํธํ๋ ๋ฌธ์ ์ญ์ ๊ฐ๋ค(e->W๋ก ์ํธํ๋ฅผ ์งํํ์๋ค๋ฉด, ๋ชจ๋ W๋ e๋ก ๋ณตํธํํ ์ ์๋ค)
2. ๋ฌธ์์ ์ข ๋ฅ์ ๋ฐ๋ผ ์ฌ์ฉ ๋น๋์๊ฐ ๊ฐ๋ฆฐ๋ค(์ผ๋ฐ์ ์ผ๋ก T,A,E,I,O๊ฐ ๊ฐ์ฅ ์์ฃผ ์ฐ์)
DES์ AES
DES(Data Encryption Standard): 64๋นํธ ๋ฐ์ดํฐ ๋ฉ์ด๋ฆฌ๋ค. ์ค์ ๋ก๋ 56๋นํธ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ ํ๋๋ฐ, 64๋นํธ ํค๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ํ์ํจ
AES(Advanced Encryption Standard): DES์ ํ๊ธ์ค๋ฌ์ด ์ ์ ๋ณด์ํ๊ธฐ ์ํด ๋์๋ค. ๋ธ๋ก ์ํธํ ๊ธฐ์ ์ ์ฌ์ฉํ๋ฉฐ, ๊ธฐ๋ณธ์ 128๋นํธ ๋ธ๋ก์ด๋ค. ํค๋ 128, 192, 256 ๋นํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฑธ๋ก 3์ข ๋ฅ๊ฐ ๊ฐ๋ฆฐ๋ค
์คํผ๋ ์ด์ ๋ชจ๋
๋ค์ํ ๊ณณ์์ ๋ค์ด๋ณธ ๋ธ๋ก์ฒด์ธ ๊ฐ๋ ์ ์ฐ๋จนํ ์ ์๋ค.
์ํธํ ๊ณผ์ ์์ ์ข ๋ฅ๊ฐ ๊ฐ๋ฆฐ๋ค
1. ECB(Electronic Codebook)
๊ฐ ๋ธ๋ก๋ง๋ค ๋ค๋ฅธ ํค๋ฅผ ์ฌ์ฉํ๋ค. ๋ธ๋ก๋ผ๋ฆฌ ์ฐ๊ด๋๋๊ฒ ์์

K๋ key๋ค
2. CBC(cipher Block Chaining)
์ฌ๊ธฐ์๋ถํด ๋ธ๋ก์ฒด์ธ์ด ๋ค์ด๊ฐ
C0์ P0์ ์์์ ๋ฏธ์ง์๋ฅผ ์ถ๊ฐํ๋ค(๋๋ค ๋ฏธ์ง์์ด๊ธด ํ์ง๋ง ๋ฑํ ๋น๋ฐ์ ์๋). (P0+X, K) ํ์์ด ๋๋ค. ๊ทธ๋ฆฌ๊ณ (P0+X)๋ ๋ค์ C1์์ ์ฐ์ผ ๋ฏธ์ง์๊ฐ ๋๋ค


๊ทธ๋์ ๋์ค์ ๋ธ๋ก๊ฐ ๊ด๊ณ๋ฅผ ๋ณด๋ฉด ์ฝํ์์
3. CTR(Counter Mode)
๋ธ๋ก์ ์ง์ ์ํธํํ์ง ์๊ณ (Nonce(์ผํ์ฉ ๋๋ค๊ฐ) || Counter) ์ฐ์ฐ์ผ๋ก ํค๋ฅผ ์ป๋๋ค.


๊ฐ์ ํค์ ๋์ผํ Nonce๋ฅผ ๋ ๋ฒ ์ด์ ์ฌ์ฉํ๋ฉด ์๋๋ค.
์ํธํ-๋ณตํธํ ๊ณผ์ ์ ๋ณ๋ ฌ์ ์ด๋ฉฐ, ๊ฐ ๋ธ๋ก๋ค๋ ๋ณ๋ ฌ์ ์ด๋ค. ํ๋ ํธ๋ ค๋ ๋๋จธ์ง๋ ํธ๋ฆด ์ํ์ด ๋ฎ๋ค
+ ํจ๋ฉ(Padding)
๋ธ๋ก ๋จ์๋ก ๋ฌถ๋๋ค๊ณ ํ๋๋ฐ ํญ์ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ 64, 128 ๋ฑ๋ฑ์ผ๋ก ๋๋์ด ๋จ์ด์ง ์๋ ์๋ค...
๊ทธ๋์ ๋ง์ง๋ง ๋ฐ์ดํฐ๊ฐ 27 ์ด๋ ๊ฒ ์์์๊ฒ ๋จ์ผ๋ฉด ์ถ๊ฐ ๋๋ฏธ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ ๋ธ๋ก ์ฌ์ด์ฆ๋ ๋ง๊ฒ ํด์ค๋ค
์ด ๋๋ฏธ ๋ฐ์ดํฐ๊ฐ ํจ๋ฉ์ด๋ค. ๋ณดํต PKCS#5๋ผ ๋ถ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ์์ฃผ ์ฌ์ฉํ๋ค
2๋นํธ ๋ถ์กฑํ๋ฉด 02 02 ์ด๋ ๊ฒ ๋ถ์กฑํ n๊ฐ์ ๊ทธ๋๋ก n๋ฒ ์ฑ์ ๋ฃ๋ ๋ฐฉ์์ด๋ค