Chronology
A timeline of hash functions
When each algorithm was published, when each one broke, what replaced it. Filtered to the events that shaped the field; the algorithm catalog has the full bibliography per page.
- 1976Design
Diffie-Hellman paper
Diffie & Hellman publish 'New Directions in Cryptography', coins the term 'cryptographic hash function' alongside public-key cryptography.
- 1979Design
Ralph Merkle on hash trees
Merkle's foundational 1979 work introduces hash trees (Merkle trees) and the basis of iterated hash design.
- 1989Design
MD2
Ronald Rivest publishes the Message Digest 2 algorithm. 128-bit output, originally aimed at 8-bit microprocessors.
- 1989Design
Merkle-Damgård paper
Ivan Damgård and Ralph Merkle independently publish the design principle for chaining hash compressions.
- 1990Design
MD4
Rivest's MD4 design, 32-bit-word friendly, very fast. The structural template for the whole MD/SHA family.
- 1991Design
MD5
MD5, strengthened MD4 with an extra round and tweaked nonlinear functions. The dominant hash of the 1990s.
- 1992Standard
RFC 1321 (MD5)
Rivest publishes MD5 as RFC 1321. It will go on to become one of the most-implemented algorithms in software history.
- 1993Design
SHA-0
NIST publishes the Secure Hash Algorithm. 160-bit output. Withdrawn within months because of an undisclosed flaw discovered by the NSA.
- 1995Design
SHA-1
SHA-1, the public re-release of SHA with one extra rotation in the message schedule. NIST FIPS 180-1.
- 1996Attack
Dobbertin breaks MD4
Hans Dobbertin demonstrates practical MD4 collisions, ending MD4's use in serious cryptographic contexts.
- 1996Design
RIPEMD-160
Dobbertin, Bosselaers, Preneel publish RIPEMD-160, strengthened RIPEMD with parallel branches. Bitcoin will adopt it twelve years later.
- 1996Design
HMAC
Bellare, Canetti, Krawczyk publish the HMAC construction. RFC 2104 follows in 1997.
- 1999Design
bcrypt
Provos and Mazières publish bcrypt at USENIX, the first widely-deployed password hash with a tunable cost factor.
- 2000Design
Whirlpool
Barreto and Rijmen submit Whirlpool to the NESSIE project, a 512-bit hash on an AES-like block cipher.
- 2001Standard
SHA-2 family (FIPS 180-2)
NIST publishes SHA-256, SHA-512, SHA-384, SHA-224. The new family addresses concerns about SHA-1's 160-bit output.
- 2004Attack
Wang & Yu break MD5
Xiaoyun Wang and Hongbo Yu's CRYPTO 2004 rump session demonstrates practical MD5 collisions. Within months, collision attacks are running on laptops.
- 2005Attack
Wang weakens SHA-1
Wang, Yin, Yu publish theoretical SHA-1 collision attacks reducing the work factor from 2^80 to 2^69.
- 2007Tool
NIST SHA-3 competition
NIST opens the SHA-3 competition, calling for new hash designs structurally different from SHA-2. 64 submissions arrive by 2008.
- 2008Design
Bitcoin
Satoshi Nakamoto publishes the Bitcoin paper, SHA-256d (double SHA-256) becomes the proof-of-work primitive for the largest cryptocurrency. RIPEMD-160 enters production for addresses.
- 2008Attack
Chosen-prefix MD5 collision
Stevens, Lenstra, de Weger build a chosen-prefix MD5 collision and use it to forge a CA certificate. Web certificate authorities deprecate MD5 signatures.
- 2009Design
scrypt
Colin Percival publishes scrypt: the first widely-deployed memory-hard password hash. Litecoin will pick it up two years later.
- 2010Standard
HKDF (RFC 5869)
Hugo Krawczyk publishes HKDF, the modern default key-derivation function for non-password key derivation. TLS 1.3, Signal, WireGuard will all use it.
- 2011Design
CityHash
Google releases CityHash, a Murmur-class non-cryptographic hash with better distribution and SSE4.2-accelerated paths.
- 2012Incident
Flame malware (chosen-prefix MD5)
State-sponsored Flame cyber-espionage tool forges a Microsoft Windows code-signing certificate using a chosen-prefix MD5 collision. Stevens reverse-engineers the attack later that year.
- 2012Incident
LinkedIn password leak
6.5 million unsalted SHA-1 password hashes leaked publicly. ~90% cracked within hours by rainbow tables. The case study for every password storage talk since.
- 2012Design
SipHash
Aumasson and Bernstein publish SipHash, a keyed PRF designed specifically to defeat hash-flooding attacks against language-runtime hash tables.
- 2012Design
Keccak wins SHA-3
NIST selects Keccak (Bertoni, Daemen, Peeters, Van Assche) as the SHA-3 standard. A sponge construction structurally different from SHA-2.
- 2013Design
BLAKE2
Aumasson, Neves, Wilcox-O'Hearn, Winnerlein publish BLAKE2, faster than SHA-2 and SHA-3, with built-in keyed mode replacing HMAC.
- 2015Standard
SHA-3 standardized (FIPS 202)
NIST FIPS 202 finalizes SHA-3 (224/256/384/512) and SHAKE128/256. The padding rule changes between submission and final, which is why Ethereum's 'keccak256' is not SHA3-256.
- 2015Design
Argon2 wins PHC
The Password Hashing Competition concludes; Argon2 wins. Three variants (Argon2i/d/id) for different threat models.
- 2015Standard
BLAKE2 RFC (RFC 7693)
BLAKE2 gets an IETF RFC. libsodium adopts BLAKE2b as the default for crypto_generichash.
- 2016Design
MiMC
MiMC (Albrecht, Grassi, Rechberger, Roy, Tiessen), the first deliberately SNARK-friendly hash to gain real-world use. Iterates x → (x + c)³ in a prime field.
- 2017Attack
SHAttered: SHA-1 collision
SHA-1 falls. Stevens, Bursztein, Karpman, Albertini, Markov publish two PDF documents with the same SHA-1 hash. Cost: ~6,500 CPU-years donated by Google.
- 2018Standard
TLS 1.3 (RFC 8446)
TLS 1.3 ships, with HKDF-SHA-256 / SHA-384 throughout the key schedule. The new design also drops the long list of MAC-then-encrypt ciphersuites that hurt TLS 1.2.
- 2019Design
xxHash3
Yann Collet releases xxHash3, the third generation of xxHash, with SIMD paths reaching tens of GiB/s.
- 2019Design
Poseidon (eprint)
Grassi, Khovratovich, Rechberger, Roy, Schofnegger post the Poseidon hash design. ZK rollups start adopting it within months.
- 2020Design
BLAKE3
BLAKE3 ships, parallel Merkle-tree hash, fastest secure hash on modern CPUs. Built-in keyed and derive_key modes replace HMAC and HKDF for many uses.
- 2020Attack
SHA-1 chosen-prefix (Shambles)
Leurent and Peyrin make chosen-prefix SHA-1 collisions practical. The same primitive that fueled the Flame attack on MD5 now applies to SHA-1.
- 2020Design
Rescue-Prime
Szepieniec, Ashur, Dhooghe publish Rescue-Prime, SNARK-friendly hash with alternating x^α and x^(1/α) S-boxes.
- 2021Standard
Argon2 (RFC 9106)
RFC 9106 standardizes Argon2. The IETF reference now matches the PHC-selected design and parameter recommendations.
- 2021Design
Poseidon (USENIX final)
Final, peer-reviewed Poseidon paper at USENIX Security 2021. By now StarkNet, Aztec, Aleo, Mina, and Filecoin all use it in production.
- 2021Incident
Apple NeuralHash breaks
Apple's perceptual hash for client-side CSAM detection is reverse-engineered and collisions are demonstrated within days of disclosure. Apple shelves the client-side scanning plan.
- 2022Standard
RFC 9309 (robots.txt)
After 28 years as a de facto convention, robots.txt finally gets a formal RFC. (Adjacent to hash functions because llms.txt / ai.txt proposals will follow with similar shape.)
- 2023Design
Poseidon2
Grassi, Khovratovich, Rechberger, Schofnegger publish Poseidon2, simpler matrix multiplications, slightly better circuit cost. New ZK designs pick Poseidon2.
- 2024Standard
NIST FIPS 205 (SLH-DSA)
NIST finalizes the SPHINCS+ hash-based signature scheme as SLH-DSA. Hash-based signatures become the conservative post-quantum signature choice.
- 2024Incident
XZ utils backdoor
A multi-year supply-chain attack on liblzma is discovered. Not a hash-function attack per se, but a sobering reminder that hash-function-strength bug bars do not apply to the integration glue around them.
- 2026Tool
Hash Lab opens
This site goes live, an interactive reference for every major hash family, with side-by-side tools and a step-by-step Merkle-Damgård / sponge animator.