Computational cryptography › Hashes and symmetric ciphers
Hardness assumptionHistorically broken

MD5, SHA-1 are collision resistant

In plain words

The bet that nobody can find two inputs with the same MD5 or SHA-1 fingerprint. It lost: collisions are now cheap to make.

The idea: A collision attack doesn't run the hash backwards. It exploits the hash's inner workings to steer two different inputs toward the same output. For MD5, Wang's team found input differences that cancel out step by step inside the hash. Once two inputs collide, anything appended to both keeps them colliding, which is how attackers build two meaningful documents with the same fingerprint.

Why it matters: Shows that hash functions age, and that migrating early matters.

The details

On the map: ✗ MD5 broken 2004, SHA-1 2017. Chosen-prefix: MD5 2007, SHA-1 2020

MD5 (1992) and SHA-1 (1995) were the standard hash functions for over a decade. Both lost collision resistance:

Their preimage resistance still holds in practice, so the damage is to anything that relies on collisions being hard: signatures over hashes, certificates, deduplication. Certificate authorities stopped issuing SHA-1 certificates in 2016 and browsers stopped accepting them in 2017[5].

Rests on

If any of these breaks, this breaks too.

If it falls

If this breaks, these break with it.

References

  1. Xiaoyun Wang and Hongbo Yu. How to Break MD5 and Other Hash Functions. Advances in Cryptology – EUROCRYPT 2005. doi:10.1007/11426639_2
  2. Marc Stevens, Arjen Lenstra and Benne de Weger. Chosen-Prefix Collisions for MD5 and Colliding X.509 Certificates for Different Identities. Advances in Cryptology - EUROCRYPT 2007. doi:10.1007/978-3-540-72540-4_1
  3. Marc Stevens, Elie Bursztein, Pierre Karpman et al. The First Collision for Full SHA-1. Advances in Cryptology – CRYPTO 2017. doi:10.1007/978-3-319-63688-7_19
  4. Gaëtan Leurent and Thomas Peyrin. SHA-1 is a Shambles: First Chosen-Prefix Collision on SHA-1 and Application to the PGP Web of Trust. USENIX Security 2020. usenix.org/conference/usenixsecurity20/presentation/leurent
  5. Google Security Blog. SHA-1 Certificates in Chrome. 2016. security.googleblog.com/2016/11/sha-1-certificates-in-chrome.html