
related topics 
{math, number, function} 
{system, computer, user} 
{style, bgcolor, rowspan} 
{specie, animal, plant} 

In cryptography, MD5 (MessageDigest algorithm 5) is a widely used cryptographic hash function with a 128bit hash value. Specified in RFC 1321, MD5 has been employed in a wide variety of security applications, and is also commonly used to check the integrity of files. However, it has been shown that MD5 is not collision resistant;^{[3]} as such, MD5 is not suitable for applications like SSL certificates or digital signatures that rely on this property. An MD5 hash is typically expressed as a 32digit hexadecimal number.
MD5 was designed by Ron Rivest in 1991 to replace an earlier hash function, MD4. In 1996, a flaw was found with the design of MD5. While it was not a clearly fatal weakness, cryptographers began recommending the use of other algorithms, such as SHA1 (which has since been found also to be vulnerable). In 2004, more serious flaws were discovered, making further use of the algorithm for security purposes questionable; specifically, a group of researchers described how to create a pair of files that share the same MD5 checksum.^{[4]}^{[5]} Further advances were made in breaking MD5 in 2005, 2006, and 2007.^{[6]} In an attack on MD5 published in December 2008, a group of researchers used this technique to fake SSL certificate validity.^{[7]}^{[8]} USCERT of the U. S. Department of Homeland Security said MD5 "should be considered cryptographically broken and unsuitable for further use,"^{[9]} and most U.S. government applications will be required to move to the SHA2 family of hash functions after 2010.^{[10]}
Contents
Full article ▸


related documents 
PILOT 
Syntactic sugar 
Range encoding 
CLU (programming language) 
Greedy algorithm 
Goldbach's weak conjecture 
Topological ring 
Twin prime conjecture 
Kernel (category theory) 
Separated sets 
Heaviside step function 
Magma (algebra) 
Amicable number 
Ordered field 
Linear congruential generator 
Polynomial time 
Bézout's identity 
Graded algebra 
Lipschitz continuity 
Reverse Polish notation 
Regular language 
Intersection (set theory) 
BPP 
NPhard 
Logical disjunction 
Complement (set theory) 
Simple LR parser 
Binary function 
Divisor 
Lagrange's theorem (group theory) 
