SEASON 3 MODULE 1
How to Build Hash Functions w/ Jean-Philippe (JP) Aumasson
In this module, Nicolas Mohnblatt and Jean-Philippe Aumasson, co-founder & Chief Security Officer at Taurus SA, and designer of the BLAKE family of hash functions deliver a comprehensive overview of cryptographic hash functions. Jean-Philippe begins with the fundamentals, defining what hash functions do and their applications across the cryptographic landscape, and explores the security definitions of hash functions and how they are constructed. He then details the two primary construction methods, the sponge and the Merkle-Damgård construction, and discusses bits of security as well as parallelism of various functions. Finally, the session shifts to specialized ZK-friendly hashes like Poseidon, explaining how their algebraic design makes them efficient within ZK circuits.
What you’ll learn:
- 00:00 – Introduction and Session Outline
- 01:43 – What is a Cryptographic Hash Function?
- 10:15 – Security Definitions of a hash function
- 20:40 – Constructing Hash Functions: Processing Arbitrary-Length Messages – Divide and Conquer
- 25:13 – The Sponge Construction (e.g., SHA-3, Keccak)
- 37:20 – The Merkle-Damgård Construction (e.g., SHA-2, BLAKE2)
- 45:30 – The Impact of Quantum Computing on Hash Security
- 50:43 – What Makes a ‘Good’ Hash Function?
- 55:20 – Hash Trees (e.g., BLAKE3)
- 1:00:50 – Differential Cryptanalysis
- 1:07:07 – Algebraic Hash Functions (Anatomy of a ZK-Friendly Hash: Poseidon)
- 1:13:10 – Session Summary and Conclusion
Below is an accompanying reading list:
- The Blake Family of Hash Functions: The Official Blake3 Website
- MAC (Message Authentication Code) definition: https://en.wikipedia.org/wiki/Message_authentication_code
- KDF (Key Derivation Function) definition: https://en.wikipedia.org/wiki/Key_derivation_function
- OAEP definition: https://en.wikipedia.org/wiki/Optimal_asymmetric_encryption_padding
- The Official Keccak Website
- NIST Cryptographic Hash Project Archive
- SIMD definition: https://en.wikipedia.org/wiki/Single_instruction,_multiple_data
- Poseidon: A New Hash Function for Zero-Knowledge Proof Systems (ePrint Archive)
- A Tutorial on Linear and Differential Cryptanalysis by Howard Heys
- The Official SPHINCS+ Website
- Zero Knowledge Podcast Ep.250 – What’s the Deal with Hash Functions?: https://zeroknowledge.fm/podcast/250/
ZK Whiteboard Sessions is an educational series on all things zero knowledge. Presented by ZK Hack.
Get notified on the latest module’s release by signing up below:
You're in. We'll let you know when the next module is live!