“My intuition tells me there's a fair chance such a fixed-point exists, if MD5 behaves as a random oracle.” (comment)
recommended by 1 user | 2009 | gojomo on: Using http:// and .com is madness | mathematics | original thread |
gojomo on May 17, 2009 | on: Using http:// and .com is madness | view on HN

My intuition tells me there's a fair chance such a fixed-point exists, if MD5 behaves as a random oracle.

Specifically, there's a 1-in-2^128 chance that any 128-bit input will give itself as the output. Over 2^128 trials the chance that no input answers itself would be:

  (1-(2^-128))^(2^128)

...which mAlphaMatica helpfully calculates as...

http://www.wolframalpha.com/input/?i=(1-2^-128)^(2^128)

  0.367879441171442321595523770

That is, there's about a 63% chance Kember's quest to find an input whose MD5 output is itself will succeed.

Or, is there something in MD5's construction making this impossible, making the random-oracle model inapplicable?

One user recommended this comment. What they said:
manimino Sep 23, 2022 | on: The image in this post displays its own MD5 hash | context

Neat question. The best answer seems to be an HN thread from 13 years ago (!) which posits that the chance of one existing is ~63%:

https://news.ycombinator.com/item?id=614079

However, it appears no one has actually discovered it yet, if it exists.

A more tractable question might be to find a cycle in the MD5 hash space, like a->b->c->d->a. So one might ask, what is the shortest MD5 cycle found so far?