Does MD5 map to all possible 128 bit numbers? To put it another way:
For every 128 bit number
y, does there exist at least one
x for which
md5(x) = y?
The answer probably is yes, for arbitrary
x, and probably no proof exists. However, feel free to prove me wrong :)
But what if I impose some kind of limit on
x <= x_max? Of course, for very small
x_max the answer is no. But what is the minimum value of
x_max for which the answer likely becomes yes? Or the maximum value for which the answer can be shown to be no?
I'm not really interested in the exact value for
x_max, rather in the approximate order of magnitude.