Practical Cryptography, chapter Hash Functions (2003)

by Niels Ferguson, Bruce Schneier