tags:

views:

343

answers:

2

Two questions actually:

1) Does there exist a 128-bit number whose md5 hash is itself?

X == md5(X)   - does 'X' exist and can it be found without brute force?

2) Does there exist two 128-bit md5 digests that hash to each other?

Y == md5(X) && X == md5(Y)  - do 'X' and 'Y' exist and can they be found without brute force?

Related:

MD5 Fixed Point

+1  A: 

This is not the same as the Kember Identity Search.

Consider the differences of the following cases:

md5(X) == X

For this to be true, X must be a 128-bit value.

This is not the same as the following:

bin2hex(md5('string')) == 'string'

Which is what the Kember Identity Search is actually seeking. If you take a look at any of the search implementations on their site, you can easily see that they are working with 32-character strings, not with 128-bit numbers, as the input to the md5 function, and thus are not seeking md5(X) == X.

I am not the first to point this out either, you might find This Article Directly Targeting The "Kember Identity" by Kris Thompson enlightening.

Dustin Fineout
+1  A: 
fbrereto