๐Ÿ”“ [ํด๋ž˜์‹] How to Break MD5 โ€” '15๋ถ„~1์‹œ๊ฐ„'์ด๋ฉด ์ถฉ๋Œ์„ ์ฐพ๋Š”๋‹ค: ์„ธ๊ณ„ ํ‘œ์ค€ ํ•ด์‹œ๋ฅผ ๋ฌด๋„ˆ๋œจ๋ฆฐ ๋ชจ๋“ˆ๋Ÿฌ ์ฐจ๋ถ„ ๊ณต๊ฒฉ (Wang & Yu, EUROCRYPT 2005)

2026-09-16 ยท ์นดํ…Œ๊ณ ๋ฆฌ: Research (๊ณ ์ „ ๋ณด์•ˆ ๋…ผ๋ฌธ ยท ์•”ํ˜ธํ•ด๋…/์•”ํ˜ธ๋ถ„์„ ยท ํ•ด์‹œ ํ•จ์ˆ˜)

๋…ผ๋ฌธ ์ •๋ณด

์ œ๋ชฉ: How to Break MD5 and Other Hash Functions
์ €์ž: Xiaoyun Wang (Shandong University ยท Tsinghua University), Hongbo Yu (Shandong University)
๋ฐœํ‘œ: EUROCRYPT 2005 (Aarhus, Denmark), Springer LNCS Vol. 3494, pp. 19โ€“35 โ€” 2005๋…„
DOI: 10.1007/11426639_2
๋ถ„์•ผ: ์•”ํ˜ธ๋ถ„์„ ยท ํ•ด์‹œ ํ•จ์ˆ˜ ยท ์ถฉ๋Œ ์ €ํ•ญ์„ฑ ยท ์ฐจ๋ถ„ ๊ณต๊ฒฉ(differential cryptanalysis)
์ธ์šฉ: OpenAlex ๊ธฐ์ค€ 1,458ํšŒ โ€” 2005๋…„ ๋‹จ์ผ ํ•™ํšŒ ๋…ผ๋ฌธ์œผ๋กœ๋Š” ์ด๋ก€์ ์œผ๋กœ ๋†’์€ ์ˆ˜์น˜๋‹ค. ์ง์ „ ๊ณ ์ง€์ธ ๋™์ผ ์ €์ž์ง„์˜ Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD (IACR ePrint 2004/199, 2004-08-16 ๋“ฑ๋ก)๋„ ๋ณ„๋„๋กœ 458ํšŒ ์ธ์šฉ๋๋‹ค.
์„ฑ๊ฒฉ: "ํ•ด์‹œ ํ•จ์ˆ˜๊ฐ€ ๊นจ์ง„๋‹ค"๋ฅผ ์ด๋ก ์—์„œ ์‹ค์ธก์œผ๋กœ ๋Œ์–ด๋‚ด๋ฆฐ ๋…ผ๋ฌธ. ๋‹จ์ˆœ ์ด๋ก  ๊ฐœ์„ ์ด ์•„๋‹ˆ๋ผ ์‹ค์ œ๋กœ 15๋ถ„~1์‹œ๊ฐ„ ์•ˆ์— ์ถฉ๋Œ ์Œ์„ ๊ณ„์‚ฐํ•ด ๋ณด์˜€๊ณ , ์ดํ›„ 15๋…„๊ฐ„ ์ธ์ฆ์„œยท์ฝ”๋“œ ์„œ๋ช…ยท๊ณต๊ธ‰๋ง ์‹ ๋ขฐ ๋ชจ๋ธ์„ ๊ฐ•์ œ๋กœ ์žฌํŽธ์‹œ์ผฐ๋‹ค.

์—ฐ๊ตฌ ๋ฐฐ๊ฒฝ โ€” 1992๋…„์‚ฐ ์„ค๊ณ„์™€ '12๋…„์˜ ์•ˆ์‹ฌ'

MD5๋Š” 1992๋…„ Ronald Rivest๊ฐ€ ์ž์‹ ์˜ MD4๋ฅผ ๊ฐœ์„ ํ•ด ๋‚ด๋†“์€ 128๋น„ํŠธ ํ•ด์‹œ ํ•จ์ˆ˜๋‹ค. ์ดํ›„ ์ธํ„ฐ๋„ท์˜ ๊ธฐ๋ณธ๊ฐ’์ด ๋๋‹ค โ€” ํŒŒ์ผ ๋ฌด๊ฒฐ์„ฑ ํ™•์ธ, ํŒจ์Šค์›Œ๋“œ ์ €์žฅ(๋‹น์‹œ ๊ด€ํ–‰), ์†Œํ”„ํŠธ์›จ์–ด ๋ฐฐํฌ ์ฒดํฌ์„ฌ, X.509 ์ธ์ฆ์„œ ์„œ๋ช…, ๊ฐ์ข… ํ”„๋กœํ† ์ฝœ์˜ HMAC. "MD5๋Š” ์•ˆ์ „ํ•˜๋‹ค"๋Š” ๋ฌธ์žฅ์€ 2000๋…„๋Œ€ ์ดˆ๋ฐ˜๊นŒ์ง€ ์‚ฌ์‹ค์ƒ ์ƒ์‹์ด์—ˆ๋‹ค.

ํ•™๊ณ„์˜ ์ตœ์„ ์˜ ๊ฒฐ๊ณผ๋„ ๊ทธ ์ƒ์‹์„ ๋’ค์ง‘์ง€ ๋ชปํ–ˆ๋‹ค. ๋…ผ๋ฌธ์ด ์ง์ ‘ ๋ฐํžˆ๋“ฏ 2004๋…„๊นŒ์ง€ MD5์— ๋Œ€ํ•ด ์•Œ๋ ค์ง„ ๊ฐ€์žฅ ๊ฐ•ํ•œ ๊ฒฐ๊ณผ๋Š” semi free-start collision(์ดˆ๊ธฐ๊ฐ’์„ ๊ณต๊ฒฉ์ž๊ฐ€ ์ •ํ•œ ๋น„ํ‘œ์ค€ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ”์•ผ ์„ฑ๋ฆฝํ•˜๋Š” ์ถฉ๋Œ)์— ๊ทธ์ณค๋‹ค. ์‹ค์ „์—์„œ ์˜๋ฏธ ์žˆ๋Š” ์ž„์˜ ์ดˆ๊ธฐ๊ฐ’์— ๋Œ€ํ•œ ์ถฉ๋Œ์€ ์•„๋‹ˆ์—ˆ๊ณ , ๊ทธ๋ž˜์„œ "MD5๋Š” ๊นจ์กŒ๋‹ค"๋Š” ๋ง์€ ํ•™์ˆ ์  ๊ฒฝ๊ณ ์— ๋จธ๋ฌผ๋Ÿฌ ์žˆ์—ˆ๋‹ค.

์ „ํ™˜์ ์€ 2004๋…„ 8์›”์ด์—ˆ๋‹ค. Xiaoyun Wang ์—ฐ๊ตฌ์ง„์ด Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD๋ฅผ IACR ePrint์— ์˜ฌ๋ฆฌ๊ณ  CRYPTO 2004 ๋Ÿผํ”„ ์„ธ์…˜์—์„œ ๊ฒฐ๊ณผ๋ฅผ ๊ณต๊ฐœํ•˜์ž, MD4ยทMD5ยทHAVAL-128ยทRIPEMD์— ๋Œ€ํ•œ ์‹ค์ œ ์ถฉ๋Œ์ด ์ž‡๋”ฐ๋ผ ํ™•์ธ๋๋‹ค. ์ด๋“ฌํ•ด EUROCRYPT 2005์˜ ์ด ๋…ผ๋ฌธ์ด ๊ณต๊ฒฉ์˜ ์ „์ฒด ๊ตฌ์กฐ์™€ ์ผ๋ฐ˜ํ™”๋ฅผ ๋‹ด์•„ ์ •์‹์œผ๋กœ ์ œ์ถœ๋๋‹ค.

ํ•ต์‹ฌ ์•„์ด๋””์–ด โ€” XOR์ด ์•„๋‹ˆ๋ผ '์ •์ˆ˜ ๋บ„์…ˆ'์œผ๋กœ ์ฐจ์ด๋ฅผ ์žฌ๋‹ค

์ด ๋…ผ๋ฌธ์ด ๊ธฐ์กด ์ฐจ๋ถ„ ๊ณต๊ฒฉ๊ณผ ๊ฐˆ๋ผ์ง€๋Š” ์ง€์ ์€ ์ฐจ์ด(difference)์˜ ์ •์˜๋‹ค. ๊ณ ์ „ ์ฐจ๋ถ„ ๋ถ„์„(Bihamโ€“Shamir, DES ๊ณ„์—ด)์€ ๋‘ ์ƒํƒœ์˜ ์ฐจ์ด๋ฅผ XOR๋กœ ์ธก์ •ํ•œ๋‹ค. Wang๊ณผ Yu๋Š” MD5์˜ ํ•ต์‹ฌ ์—ฐ์‚ฐ์ด 32๋น„ํŠธ ๋ชจ๋“ˆ๋Ÿฌ ๋ง์…ˆ(โŠž)์ด๋ผ๋Š” ์‚ฌ์‹ค์— ์ฃผ๋ชฉํ•˜๊ณ , ์ฐจ์ด๋ฅผ ์ •์ˆ˜ ๋บ„์…ˆ์œผ๋กœ ์ •์˜ํ•˜๋Š” ๋ชจ๋“ˆ๋Ÿฌ ์ฐจ๋ถ„(modular differential)์„ ๋„์ž…ํ–ˆ๋‹ค.

"We used this attack to find collisions of MD5 in about 15 minutes up to an hour computation time. The attack is a differential attack, which unlike most differential attacks, does not use the exclusive-or as a measure of difference, but instead uses modular integer subtraction as the measure. We call this kind of differential a modular differential." โ€” ๋…ผ๋ฌธ ์ดˆ๋ก

๋ฌด์—‡์ด ์‹ค์ œ๋กœ ๋ฌด๋„ˆ์ง€๋Š”๊ฐ€ โ€” ์ถฉ๋Œ ์ €ํ•ญ์„ฑ์˜ ๋ถ•๊ดด

3๋‹จ๊ณ„ ํ™•์‚ฐ โ€” 2004๋…„ ๊ฒฝ๊ณ ๊ฐ€ 2012๋…„ ์‹ค์ œ ์•…์„ฑ์ฝ”๋“œ๋กœ

์ด ๋…ผ๋ฌธ์˜ ํŒŒ๊ธ‰์€ ๋…ผ๋ฌธ ์•ˆ์—์„œ ๋๋‚˜์ง€ ์•Š์•˜๋‹ค. 4๋‹จ๊ณ„๋กœ ํ™•์‚ฐ๋๋‹ค.

์ด ๋…ผ๋ฌธ์ด ๋‚จ๊ธด ์ œ๋„์  ์œ ์‚ฐ โ€” SHA-3์™€ 'ํ•ด์‹œ ๊ต์ฒด์˜ ์‹œ๋Œ€'

์˜ค๋Š˜๋‚ ์˜ ์‹ค๋ฌด ์‹œ์‚ฌ์  โ€” 2026๋…„์—๋„ ์œ ํšจํ•œ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

์ถœ์ฒ˜

๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ