2-2/ํ•ดํ‚น๊ฐœ๋ก 

crypto hacking[1/3]

sourceoftax 2025. 9. 25. 12:28

๊ฐ•์˜ ์ž๋ฃŒ๊ฐ€ 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๋ฒˆ ์ฑ„์›Œ ๋„ฃ๋Š” ๋ฐฉ์‹์ด๋‹ค