grahams rated Applied cryptography: 5 stars Nov. 25, 2008 Public Applied cryptography by Bruce Schneier