MD4 hash

From AMule Project FAQ
Revision as of 09:06, 14 January 2006 by (Talk)

Jump to: navigation, search

An MD4 hash is a unique value given as a result of a mathematical expression following the MD4 algorithm which claims to ensure data integrity.
It provides a 128-bit (16 bytes, 32 hex chars) message digest from the data input (the input may be of any length) that is claimed to be unique.

MD4 was developed by Professor Ronald L. Rivest of MIT and accepted by the RSA on October 1990 and then redesigned on April 1992.

Both MD4 and its successor MD5 (which is an extension of MD4) are optimized for 32-bit machines, while its predecessor MD2 was optimized for 8-bit machines.

MD4 is known to be fast, but possibly not absolutely secure. On the other hand, MD5 is not as fast as the MD4 algorithm, but offers much more assurance of data security.

This is a bit out of date, or just uninformed. MD5 is questionable, these days (the currently existing attacks on it aren't serious for most applications, but the door is open for more), and MD4 is known to be absolutely hopeless, and collisions can be found with very little in the way of computational effort. The upshot of which is that it would be theoretically pretty easy for a rogue node to cause undetectable corruption to files on ed2k.

aMule incorporates the MD4 algorithm based on the Crypto++'s library sources (in some beta aMule v2 releases, it did actually use Crypto++).