From Example Problems
Jump to navigation Jump to search

MD4 is a message digest algorithm (the fourth in a series) designed by Professor Ronald Rivest of MIT in 1990. It implements a cryptographic hash function for use in message integrity checks. The digest length is 128 bits. The algorithm has influenced later designs, such as the MD5, SHA and RIPEMD algorithms.

Weaknesses in MD4 were demonstrated by Den Boer and Bosselaers in a paper published in 1991. In August 2004, researchers reported generating collisions in MD4 using "hand calculation" [1], alongside attacks on later hash function designs in the MD4/MD5/SHA/RIPEMD family.

MD4 hashes

The 128-bit (16-byte) MD4 hashes (also termed message digests) are typically represented as 32-digit hexadecimal numbers. The following demonstrates a 43-byte ASCII input and the corresponding MD4 hash:

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

Even a small change in the message will (with overwhelming probability) result in a completely different hash, e.g. changing d to c:

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

The hash of the zero-length string is:

MD4("") = 31d6cfe0d16ae931b73c59d7e0c089c0

See also


  • Hans Dobbertin, 1998. Cryptanalysis of MD4. J. Cryptology 11(4): 253–271
  • Hans Dobbertin: Cryptanalysis of MD4. Fast Software Encryption 1996: 53–69

External links

Template:Cryptographic hash functions

de:Message-Digest 4 es:MD4 fr:MD4 pl:MD4 pt:MD4 ru:MD4