MD4

MD4 메시지-다이제스트 알고리즘(MD4 Message-Digest Algorithm)은 1990년 로널드 라이베스트가 개발한 암호화 해시 함수이다.[1] 다이제스트 길이는 128비트이다. 이 알고리즘은 MD5, SHA-1, RIPEMD 알고리즘과 같은 이후의 디자인에 영향을 주었다. "MD"는 "메시지 다이제스트"(Message Digest)의 준말이다.

MD4는 마이크로소프트 윈도우 NT, XP, 비스타, 7, 8, 10에서 NTLM 암호 파생 키 다이제스트를 연산하기 위해 사용된다.[2]

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

MD4 테스트 벡터

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

MD4 ("") = 31d6cfe0d16ae931b73c59d7e0c089c0
MD4 ("a") = bde52cb31de33e46245e05fbdbd6fb24
MD4 ("abc") = a448017aaf21d8525fc10ae87aa6729d
MD4 ("message digest") = d9130a8164549fe818874806e1c7014b
MD4 ("abcdefghijklmnopqrstuvwxyz") = d79e1c308aa5bbcdeea8ed63df412da9
MD4 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = 043f8582f241db351ce627e153e7f0e4
MD4 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = e33b4ddc9c38f2199c3e7b164fcc0536

MD4 충돌 예제

다음이 있다고 가정하면:

 k1 = 839c7a4d7a92cb5678a5d5b9eea5a7573c8a74deb366c3dc20a083b69f5d2a3bb3719dc69891e9f95e809fd7e8b23ba6318edd45e51fe39708bf9427e9c3e8b9
 k2 = 839c7a4d7a92cbd678a5d529eea5a7573c8a74deb366c3dc20a083b69f5d2a3bb3719dc69891e9f95e809fd7e8b23ba6318edc45e51fe39708bf9427e9c3e8b9

k1 ≠ k2이지만, MD4(k1) = MD4(k2) = 4d7e6a1defa93d2dde05b45d864c429b이다. k1과 k2의 16진 자리가 입력 문자열의 한 바이트를 정의하며, 여기서 길이는 64바이트로 된다.

같이 보기

  • MD2
  • MD5
  • MD6

각주

  1. “What are MD2, MD4, and MD5?”. 《Public-Key Cryptography Standards (PKCS): PKCS #7: Cryptographic Message Syntax Standard: 3.6 Other Cryptographic Techniques: 3.6.6 What are MD2, MD4, and MD5?》. RSA Laboratories. 2011년 8월 23일에 원본 문서에서 보존된 문서. 2011년 4월 29일에 확인함. 
  2. “5.1 Security Considerations for Implementors”. 2011년 7월 21일에 확인함. Deriving a key from a password is as specified in [RFC1320] and [FIPS46-2]. 

외부 링크

  • RFC 1320 - Description of MD4 by Ron Rivest
  • RFC 6150 - MD4 to Historic Status
  • Rivest, Ronald (1991). “The MD4 Message Digest Algorithm”. 《Advances in Cryptology-CRYPT0’ 90》 (Springer Berlin / Heidelberg). doi:10.1007/3-540-38424-3_22. 
  • v
  • t
  • e
  • 목록
  • 비교
  • 알려진 공격
공통 함수
  • MD5
  • SHA-1
  • SHA-2
  • SHA-3
  • BLAKE2
SHA-3 결승전 출전자
  • BLAKE
  • Grøstl
  • JH
  • Skein
  • Keccak (우승)
기타 함수
  • 큐브해시
  • ECOH
  • FSB
  • GOST
  • HAS-160
  • HAVAL
  • Kupyna
  • LM 해시
  • LSH
  • MD2
  • MD4
  • MD6
  • MDC-2
  • N-Hash
  • RIPEMD
  • RadioGatún
  • SWIFFT
  • Snefru
  • Streebog
  • 타이거
  • VSH
  • 월풀
키 유도 함수
MAC 함수
  • DAA
  • CBC-MAC
  • GMAC
  • HMAC
  • NMAC
  • OMAC/CMAC
  • PMAC
  • VMAC
  • UMAC
  • Poly1305
  • SipHash
인증 암호화 방식
  • CCM
  • CWC
  • EAX
  • GCM
  • IAPM
  • OCB
공격설계
표준화
  • CRYPTREC
  • NESSIE
  • NIST 해시 함수 대회
활용