Definition. A Hash Function is collision-resistant if for all probabilistic polynomial-time adversaries there is a negligible function such that
Simple Collision-Finding Attack: Compute , for distinct inputs.
We are guaranteed to find a collision, by Pigeonhole Principle, if the output is of length . Running time of the attack: .
Birthday Attacks: Compute .
We are not guaranteed to find a collision. But with non-negligible probability, we can find two inputs that map to the same output. Running time of the attack: .
Theorem. In the balls into bins problem with balls and bins, when is , the probability of a collision, i.e., of two balls falling into the same bin is approximately .
Theorem. Let be independent identically distributed integers. When , then .
Let be a hash function, with .
The following is a generic algorithm to find a collision in time .
— Feb 28, 2023
Made with ❤ at Earth.