MD5

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

In cryptography, MD5 (Message-Digest algorithm 5) is a widely used cryptographic hash function with a 128-bit 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 32-digit 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 SHA-1 (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] US-CERT 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 SHA-2 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
NP-hard
Logical disjunction
Complement (set theory)
Simple LR parser
Binary function
Divisor
Lagrange's theorem (group theory)