Applied Cryptography, second edition (1996)

by B Schneier