MD5CRK

MD5CRK

In cryptography, MD5CRK was a distributed effort (similar to distributed.net) launched by Jean-Luc Cooke and his company, CertainKey Cryptosystems, to demonstrate that the MD5 message digest algorithm is insecure by finding a collision — two messages that produce the same MD5 hash. The project went live on March 1, 2004. The project ended on August 24, 2004 after researchers independently demonstrated a technique for generating collisions in MD5 using analytical methods by Xiaoyun Wang, Feng, Xuejia Lai, and Yu[1]. CertainKey awarded a 10,000 Canadian Dollar prize to Wang, Feng, Lai and Yu for their discovery.

Pollard's Rho collision search for a single path

A technique called Floyd's cycle-finding algorithm was used to try to find a collision for MD5. The algorithm can be described by analogy with a random walk. Using the principle that any function with a finite number of possible outputs placed in a feedback loop will cycle, one can use a relatively small amount of memory to store outputs with particular structures and use them as "markers" to better detect when a marker has been "passed" before. These markers are called distinguished points, the point where two inputs produce the same output is called a collision point. MD5CRK considered any point whose first 32 bits were zeroes to be a distinguished point.

Complexity

The expected time to find a collision is not equal to 2N where N is the number of bits in the digest output. It is in fact 2^N! \over {(2^N - K)! \times {2^N}^K}, where K is the number of function outputs collected.

For this project, the probability of success after K MD5 computations can be approximated by: 1 \over { 1 - e^{K \times (1-K) \over 2^{N+1} } }.

The expected number of computations required to produce a collision in the 128-bit MD5 message digest function is thus: {1.17741 \times 2^{N/2}} = {1.17741 \times 2^{64}}

To give some perspective to this, using Virginia Tech's System X with a max performance of 12.25 Teraflops, it would take approximately {2.17 \times 10^{19} / 12.25 \times 10^{12} \approx 1,770,000} seconds or about 3 weeks. Or for commodity processors at 2 gigaflops it would take 6,000 machines approximately the same amount of time.

See also

References

  • Paul C. van Oorschot, Michael J. Wiener: Parallel Collision Search with Application to Hash Functions and Discrete Logarithms. ACM Conference on Computer and Communications Security 1994: pp210–218 Online version (PDF format).

Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • MD-5 — MD5 (Message Digest Algorithm 5) ist eine weit verbreitete kryptographische Hashfunktion, die einen 128 Bit Hashwert erzeugt. MD5 wurde 1991 von Ronald L. Rivest entwickelt. Die errechneten MD5 Summen (kurz md5sum) werden zum Beispiel zur… …   Deutsch Wikipedia

  • MD5 — (Message Digest Algorithm 5) ist eine weit verbreitete kryptographische Hashfunktion, die einen 128 Bit Hashwert erzeugt. MD5 wurde 1991 von Ronald L. Rivest entwickelt. Die errechneten MD5 Summen (kurz md5sum) werden zum Beispiel zur… …   Deutsch Wikipedia

  • MD5 Hash — MD5 (Message Digest Algorithm 5) ist eine weit verbreitete kryptographische Hashfunktion, die einen 128 Bit Hashwert erzeugt. MD5 wurde 1991 von Ronald L. Rivest entwickelt. Die errechneten MD5 Summen (kurz md5sum) werden zum Beispiel zur… …   Deutsch Wikipedia

  • Md5 — (Message Digest Algorithm 5) ist eine weit verbreitete kryptographische Hashfunktion, die einen 128 Bit Hashwert erzeugt. MD5 wurde 1991 von Ronald L. Rivest entwickelt. Die errechneten MD5 Summen (kurz md5sum) werden zum Beispiel zur… …   Deutsch Wikipedia

  • Md5sum — MD5 (Message Digest Algorithm 5) ist eine weit verbreitete kryptographische Hashfunktion, die einen 128 Bit Hashwert erzeugt. MD5 wurde 1991 von Ronald L. Rivest entwickelt. Die errechneten MD5 Summen (kurz md5sum) werden zum Beispiel zur… …   Deutsch Wikipedia

  • Message-Digest 5 — MD5 (Message Digest Algorithm 5) ist eine weit verbreitete kryptographische Hashfunktion, die einen 128 Bit Hashwert erzeugt. MD5 wurde 1991 von Ronald L. Rivest entwickelt. Die errechneten MD5 Summen (kurz md5sum) werden zum Beispiel zur… …   Deutsch Wikipedia

  • Message Digest Algorithm 5 — MD5 (Message Digest Algorithm 5) ist eine weit verbreitete kryptographische Hashfunktion, die einen 128 Bit Hashwert erzeugt. MD5 wurde 1991 von Ronald L. Rivest entwickelt. Die errechneten MD5 Summen (kurz md5sum) werden zum Beispiel zur… …   Deutsch Wikipedia

  • MD5 — General Designers Ronald Rivest First published April 1992 Series MD2, MD4, MD5, MD6 Detail Digest sizes 128 bits …   Wikipedia

  • MD5 — Проверить информацию. Необходимо проверить точность фактов и достоверность сведений, изложенных в этой статье. На странице обсуждения должны быть пояснения …   Википедия

  • Brute force attack — In cryptanalysis, a brute force attack is a method of defeating a cryptographic scheme by trying a large number of possibilities; for example, possible keys in order to decrypt a message. In most schemes, the theoretical possibility of a brute… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”