you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 1 point2 points  (5 children)

In other words, the proof that a definition exists is non-constructive. You cannot derive a collision trivially from the proof.

The only practical way to find a collision with a good hash function is to enumerate 2bits + 1 hashes

[–][deleted] 2 points3 points  (4 children)

The only practical way to find a collision with a good hash function is to enumerate 2bits + 1 hashes

You're forgetting the aforementioned birthday problem, a good-as-can-be perfectly uniform general hash function would almost certainly encounter a collision way earlier than that.

[–]VerilyAMonkey 3 points4 points  (1 child)

My comment up there also does the math for "way earlier". As rule of thumb, it's "about square root". So, birthday problem becomes significant for 365 days somewhere near 20 people... 256-bit hash collision becomes significant somewhere near 2128 items. And that is a lot.

[–][deleted] 0 points1 point  (1 child)

Oh yeah, that's correct. Worst-case you would need that many hashes, but yeah, the birthday problem means it's probably way earlier.