Applied Cryptography

Applied Cryptography: Protocols, Algorithms and Source Code in C
20th Anniversary Edition

Bruce Schneier