<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><p>The <b>MD5 algorithm</b> is a widely used hash function producing a 128-bit hash value. Although MD5 was initially designed to be used as a cryptographic hash function, it has been found to suffer from extensive vulnerabilities. It can still be used as a checksum to verify data integrity,
 but only against unintentional corruption. It remains suitable for 
other non-cryptographic purposes, for example for determining the 
partition for a particular key in a partitioned database.
</p><p>One basic requirement of any cryptographic hash function is that it should be computationally infeasible to find two distinct messages which hash to the same value. MD5 fails this requirement catastrophically; such collisions can be found in seconds on an ordinary home computer.
</p>The weaknesses of MD5 have been exploited in the field, most infamously by the Flame malware in 2012. The CMU Software Engineering Institute considers MD5 essentially "cryptographically broken and unsuitable for further use"</div><div dir="ltr"><br></div><div dir="ltr">MD5 processes a variable-length message into a fixed-length output of 
128 bits. The input message is broken up into chunks of 512-bit blocks 
(sixteen 32-bit words); the message is padded
 so that its length is divisible by 512. The padding works as follows: 
first a single bit, 1, is appended to the end of the message. This is 
followed by as many zeros as are required to bring the length of the 
message up to 64 bits fewer than a multiple of 512. The remaining bits 
are filled up with 64 bits representing the length of the original 
message, modulo 2<sup>64</sup></div><div dir="ltr"><br></div><div dir="ltr"><p>The security of the MD5 hash function is severely compromised. A collision attack exists that can find collisions within seconds on a computer with a 2.6 GHz Pentium 4 processor (complexity of 2<sup>24.1</sup>). Further, there is also a chosen-prefix collision attack
 that can produce a collision for two inputs with specified prefixes 
within hours, using off-the-shelf computing hardware (complexity 2<sup>39</sup>).The ability to find collisions has been greatly aided by the use of off-the-shelf GPUs.
 On an NVIDIA GeForce 8400GS graphics processor, 16–18 million hashes 
per second can be computed. An NVIDIA GeForce 8800 Ultra can calculate 
more than 200 million hashes per second.
</p>These hash and collision attacks have been demonstrated in the public in various situations, including colliding document files and digital certificates. As of 2015, MD5 was demonstrated to be still quite widely used, most notably by security research and antivirus companies.</div><div dir="ltr"><br></div><div dir="ltr">-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><b><br></b></div><div><b>NDUM Vianney Forewah.</b><br><b>Community Participation In Sustainable Development</b><b><span style="color:rgb(39,78,19)"><span style="font-size:12pt"></span></span></b></div><div><b><span style="color:rgb(39,78,19)">COMPSUDEV Cameroon</span></b><br></div></div></div></div></div></div></div></div></div></div></div></div></div>