Cryptography Engineering by Niels Ferguson