5

Just wondering, are there any known inverse hashes / hash lookups in common hashes (md5, sha1, sha2, etc.) for the zero string hash value? (i.e. bytes 0x00 00 00 00 00 ...)

Or more specifically, for a 128bit hash (like MD5 or SHA1):

HASH(x) = 0x00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Obviously it would take reverse hash lookup, or a rainbow table...

Paŭlo Ebermann
  • 22,656
  • 7
  • 79
  • 117
Codesmith
  • 187
  • 4
  • I think I have read something about MD2 or MD4 having this: Someone did create a message which leads to an output with all bits having the value 0. I have nothing to back up this statement, through. – Nova Jan 09 '15 at 00:42
  • 3
    This would be a first-preimage attack; I'm quite positive that we do not know a numerical answer for either MD5 or SHA-1, and I'm not aware of one for MD2 or MD4 (although there are theoretical preimage attacks on these hashes). – fgrieu Jan 09 '15 at 08:47

1 Answers1

3

The 2-pass Snefru hash of the one-block message

79F6A75E 0397C368 F60C88DE 3133A55E 6D00251C 8ED3567B
CA49F82B A32E5DC4 8F86E479 DD3FF4D6 14DD88C1 A2322E00

is all zeros[1].

However, no other major hash function (and it's debatable whether 2-pass Snefru counts as major) with advertised collision and preimage resistance has ever had its preimage resistance broken[2] (archived), not even MD5[3]. If anyone found a preimage of zero under MD5, SHA-1, SHA-2, SHA-3, BLAKE2, etc., it would be quite astonishing.

Squeamish Ossifrage
  • 48,392
  • 3
  • 116
  • 223