Chapter 4 Cryptographic hash functions
References:
– A. J. Menezes, P. C. van Oorschot, S. A. Vanstone: Handbook of Applied Cryptography – Chapter 9 - Hash Functions and Data Integrity [pdf available] – D Stinson: Cryprography – Theory and Practice (3rd ed), Chapter 4 – Security of Hash Functions – S Arora and B Barak. Computational Complexity: A Modern Approach (2009). Chap 9. Cryptography (draft available) http://www.cs.princeton.edu/theory/complexity/ (see also Boaz Barak course http://www.cs.princeton.edu/courses/archive/spring10/cos433/)
Grenoble University – M2 SCCI Security Proofs - JL Roch
Hash function
- Hash functions take a variable-length message and reduce it
to a shorter message digest with fixed size (k bits)
h: {0,1}* →{0,1}k
- Many applications: “Swiss army knives” of cryptography:
– Digital signatures (with public key algorithms) – Random number generation – Key update and derivation – One way function – Message authentication codes (with a secret key) – Integrity protection – code recognition (lists of the hashes of known good programs or malware) – User authentication (with a secret key) – Commitment schemes
- Cryptanalysis changing our understanding of hash functions
– [eg Wang’s analysis of MD5, SHA-0 and SHA-1 & others]