Cryptography Engineering by Niels Ferguson, Bruce Schneier,
Tadayoshi Kohno
Understanding Cryptography by Christof Paar, Jan Pelzl
Additional References:
Introduction to Modern Cryptography by Katz and Lindell
Cryptography and Network Security: Principles and Practice (6th edition) by Stallings
Superpowers that I wish to give you (course objectives)
An understanding of the role cryptography plays in overall security
The ability to employ best-practice crypto schemes for various real-world scenarios (understanding how to
employ the suite B algorithms)
The ability to estimate the number of core-years needed to break a chosen scheme
Practical knowledge of attacks in various schemes (Differential analysis, Birthday Paradox, Frequency
Analysis, Factoring techniques, etc.) and the threat models (ciphertext only, chosen plaintext,
chosen ciphertext).
Hand's on experience with triple-DES and AES
Knowledge of the SHA-* schemes.
The ability to apply the right mode of operation for block and stream ciphers for the application at hand
The way to use primitives in building out cryptographic hashes and MACs.
Practical knowledge of public-key exchange algorithms
How the mathematical security reductions work.
Ability to wield Ellipic Curve Encryption schemes and ID-based schemes
A look at post-quantum schemes
Implementing attacks that work in practice because of economic pressures.
Knowledge of how exactly SSL/TSL, VPNs, and other real-world applications employ cryptography