Algorithm Usage
MD5 Message Digest, used in PEM (Privacy Enhanced Mail)

Description

Created by Ron Rivest, MD5 is an improved version of MD4. Still a 128-bit one-way hash, MD5 has no known attacks, although collisions have been produced using the compression function within MD5. This latter problem leads Schneier to recommend against its use.

MD5 is probably weaker than SHA-1. For hashing a program or long hunk of text, MD5 is theoretically weaker, but the latter weakness is likely to be computationally infeasible.

References

Applied Cryptography, 2nd edition (1996), Bruce Schneier.

See Also

SHA-1, MD4 and MD5.

Notes

This section is a random collection of related notes collected after this page was completed.

As Hans Dobbertin's recent works have shown, the quasi-standard MD5 checksum has weaknesses (for more info, see Hashes).
There is a chance that a malicious attacker can create two files with the same MD5 hash, if he can create both files. If this really becomes true, this creates some interesting threat models for software.
For example, the attacker could create two versions of a program, one correct one and a second one with a back door. He could give the correct version to an expert, who would verify the program and its MD5 checksum (or PGP-sign it, since PGP uses MD5). Then, the attacker hands out the back door version of the program, together with the expert's PGP signature.
Consequences? Yet another reson to distrust code signing. Don't use MD5 for it. SHA-1 and RIPEMD-160, which have been designed with this kind of attack in mind, probably are better choices at the moment, but nobody knows tomorrow's research results...
Thomas Koenig, Thomas.Koenig@ciw.uni-karlsruhe.de, ig25@dkauni2.bitnet
More on collisions
From: Geoffrey Leeming >geoffrey@jcp.co.uk<
Subject: Re: MD5 weakness and possible consequences (Re: RISKS-19.14)
Thomas Koenig is correct about the weakness in MD5, but recent postings in sci.crypt mention that he might be incorrect in the possible consequences. The weakness essentially allows an attacker to create two files that would have the same MD5 checksum, under very stringent conditions. However, the chances of finding two executable, meaningful pieces of code that would have the same checksum are so low that it can be considered computationally infeasible to do so.
A more plausible consequence is that two cryptographic keys are created that have the same MD5 checksum. Then any digital certificate for one key would be valid for the second as well.

Back to Tony's Home Page

Last updated on Jul 21, 1997 by Tony.

page alias md5
note notes