An MD4 hash is a unique value produced by a mathematical calculation. It provides a 128-bit (16 bytes, 32 hex chars) key from the data input which is claimed to be unique. As such, MD4 hashes are used to ensure data integrity.
aMule uses MD4 hashes to ensure that no transmission errors corrupt in the files you share. Its MD4 algorithm is based on Crypto++.
Important note! although ed2k hash is based on MD4, it is not MD4. the algorithm for computing ed2k hash is as follows:
- split the file into blocks of 9728000 bytes
- compute MD4 hash digest of each file block separately
- concatenate the list of block digests into one big byte array
- compute MD4 of array created in step #3. this is the ed2k hash.
MD4 was developed by MIT professor Ronald L. Rivest. It was accepted by the RSA in October 1990.
Both MD4, and its successor MD5, are optimized for 32-bit machines. 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 MD4 but offers much more assurance of data security.