From Wikipedia, the free encyclopedia
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 (SHA1, SHA224, SHA256, SHA384, SHA512/224, SHA512/256, SHA512, SHA3-224, SHA3-256, SHA3-384, and SHA3-512), and RIPEMD (RIPEMD128, RIPEMD160, RIPEMD256, and RIPEMD320) algorithms. MD4 is also used to compute NT-hash password digests on Microsoft Windows NT, XP and Vista.
Weaknesses in MD4 were demonstrated by Den Boer and Bosselaers in a paper published in 1991. The first collision attack was found by Hans Dobbertin in 1996. In August 2004, Wang et al. found a very efficient collision attack, alongside attacks on later hash function designs in the MD4/MD5/SHA/RIPEMD family. This result was improved later by Sasaki et al., and generating a collision is now as cheap as verifying it (a few microseconds).
A variant of MD4 is used in the ed2k URI scheme to provide a unique indentifier for a file in the popular eDonkey2000 / eMule P2P networks. MD4 is also used by the rsync protocol.