hash collision

term

cryptography

When two different inputs produce the same hash output.

Every hash has collisions in theory, since it maps infinite inputs to finite outputs, but a secure one makes finding a useful pair computationally infeasible. When a hash's collision resistance breaks (as happened to MD5 and SHA-1), it is retired for security use.

A hash collision is two different inputs producing the same digest. Collisions always exist because a hash maps an unbounded input space onto a fixed-size output; the security question is whether anyone can find one on purpose, and for a strong function of sufficient output length the answer is no within any practical budget.

The distinction that matters operationally is between a collision, where the attacker chooses both inputs, and a preimage, where they must match a digest that already exists. Collisions are far cheaper, which is why MD5 and SHA-1 are broken for signatures, where an attacker can prepare two documents in advance, while being harder to abuse where the target value was fixed by someone else. Chosen-prefix collisions closed most of that remaining gap.

Also known as: collision, hash collision, birthday attack

All glossary entries