맨위로가기

MD4

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

MD4는 128비트(16바이트)의 메시지 다이제스트를 생성하는 암호화 해시 함수로, 1991년에 취약점이 발견되었다. 1995년에는 충돌 공격이 발견되었고, 이후 왕샤오윈 등에 의해 효율적인 충돌 공격이 개발되었다. 2008년에는 사전 이미지 저항이 무너졌으며, 2011년에는 RFC 6150에 의해 역사적인 것으로 지정되었다. MD4 해시는 일반적으로 32자리의 십육진법으로 표현되며, 다양한 입력에 대한 해시 값과 테스트 벡터가 존재한다.

더 읽어볼만한 페이지

  • 암호화 해시 함수 - RIPEMD
    RIPEMD는 MD4를 기반으로 1992년 설계된 암호화 해시 함수로, 보안 취약점 보완을 위해 RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320 등의 변형이 개발되었으며, 특히 RIPEMD-160은 160비트 해시 값을 생성하고 다양한 라이브러리에서 지원되지만 보안성 우려가 제기되고 있다.
  • 암호화 해시 함수 - MD5
    MD5는 로널드 리베스트 교수가 개발한 128비트 해시 값 생성 암호화 해시 함수이나, 보안 취약점으로 인해 현재는 보안이 중요한 분야에서는 사용이 중단되었다.
MD4
일반 정보
디자이너로널드 리베스트
발표일1990년 10월
시리즈MD2, MD4, MD5, MD6
기반해당 사항 없음
파생해당 사항 없음
관련해당 사항 없음
인증해당 사항 없음
세부 사항
다이제스트 크기128비트
블록 크기512비트
구조해당 사항 없음
라운드3
암호 분석
내용2007년에 발표된 충돌 공격은 전체 MD4에 대한 충돌을 두 번의 해시 연산보다 적게 찾을 수 있다.

2. 보안

1991년 덴 보어(Den Boer)와 보셀라어스(Bosselaers)가 발표한 논문에서 MD4의 취약점이 입증되었다.[5] 1995년 한스 도베르틴은 최초로 완전 라운드 MD4 충돌 공격을 발견했으며, 이는 당시 몇 초 만에 수행할 수 있었다.[6] 2004년 8월, 왕 등은 MD4, MD5, SHA-1, RIPEMD 계열의 후기 해시 함수 설계에 대한 공격과 함께 매우 효율적인 충돌 공격을 발견했다. 이 결과는 이후 사사키 등에 의해 개선되었으며, 충돌을 생성하는 것은 이제 충돌을 확인하는 것만큼 저렴하다(몇 마이크로초).[3]

2008년에는 Gaëtan Leurent에 의해 MD4의 사전 이미지 저항이 2102 공격으로 무너졌다.[7] 2010년 Guo 등은 299.7 공격을 발표했다.[8]

2011년, RFC 6150은 RFC 1320(MD4)이 '''역사적'''(구식)이라고 명시했다.

3. MD4 해시

128비트(16바이트) MD4 해시(메시지 다이제스트)는 일반적으로 32자리 십육진수로 표현한다. 다음은 43바이트 아스키 입력 및 그와 일치하는 MD4 해시를 나타낸 것이다.



MD4("The quick brown fox jumps over the lazy dog")

= 1bee69a46ba811185c194762abaeae90



이 메시지의 사소한 변경도 완전히 다른 해시를 만들어내는데, 이를테면 d가 c로 바뀌는 점이다.



MD4("The quick brown fox jumps over the lazy cog")

= b86e130ce7028da59e672d56ad0113df



길이가 0인 문자열의 해시는 다음과 같다.



MD4("") = 31d6cfe0d16ae931b73c59d7e0c089c0


4. MD4 테스트 벡터

다음은 RFC 1320 (MD4 메시지 다이제스트 알고리즘)에 정의된 테스트 벡터이다.

입력값MD4 해시값
""31d6cfe0d16ae931b73c59d7e0c089c0
"a"bde52cb31de33e46245e05fbdbd6fb24
"abc"a448017aaf21d8525fc10ae87aa6729d
"message digest"d9130a8164549fe818874806e1c7014b
"abcdefghijklmnopqrstuvwxyz"d79e1c308aa5bbcdeea8ed63df412da9
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"043f8582f241db351ce627e153e7f0e4
"12345678901234567890123456789012345678901234567890123456789012345678901234567890"e33b4ddc9c38f2199c3e7b164fcc0536


5. MD4 충돌 예제

다음은 MD4 충돌 예제를 보여준다.

k1 = 839c7a4d7a92cb5678a5d5b9eea5a7573c8a74deb366c3dc20a083b69f5d2a3bb3719dc69891e9f95e809fd7e8b23ba6318edd45e51fe39708bf9427e9c3e8b9

k2 = 839c7a4d7a92cbd678a5d529eea5a7573c8a74deb366c3dc20a083b69f5d2a3bb3719dc69891e9f95e809fd7e8b23ba6318edc45e51fe39708bf9427e9c3e8b9

위 두 값(k1, k2)은 서로 다르지만(k1 ≠ k2), MD4 해시값은 4d7e6a1defa93d2dde05b45d864c429b로 동일하다(MD4(k1) = MD4(k2)).

k1과 k2에서 각 16진수 두 자리는 입력 문자열의 한 바이트를 나타내며, 전체 길이는 64바이트이다.

참조

[1] 웹사이트 The MD4 Message Digest Algorithm http://tools.ietf.or[...] Network Working Group 2011-04-29
[2] 웹사이트 What are MD2, MD4, and MD5? http://www.rsa.com/r[...] RSA Laboratories 2011-04-29
[3] 논문 New message difference for MD4 https://www.iacr.org[...]
[4] 웹사이트 5.1 Security Considerations for Implementors http://msdn.microsof[...] 2011-07-21
[5] 논문 An Attack on the Last Two Rounds of MD4 http://dsns.csie.nct[...]
[6] 논문 Cryptanalysis of MD4 1995-10-23
[7] 논문 MD4 is Not One-Way https://www.di.ens.f[...] FSE 2008 2008-02-10
[8] 서적 Advances in Cryptology - ASIACRYPT 2010
[9] 웹사이트 The MD4 Message Digest Algorithm https://datatracker.[...] Network Working Group 2011-04-29
[10] 논문 New message difference for MD4 http://www.iacr.org/[...]
[11] 웹인용 What are MD2, MD4, and MD5? http://www.rsa.com/r[...] RSA Laboratories 2011-04-29
[12] 웹인용 5.1 Security Considerations for Implementors http://msdn.microsof[...] 2011-07-21



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com