Introduction To Security And Applied Cryptography by Bruce Schneier & Michael T. Goodrich