
Cryptography is now ubiquitous – moving beyond the traditional environments, such as government communications and banking systems, we see cryptographic techniques realized in Web browsers, e-mail programs, cell phones, manufacturing systems, embedded software, smart buildings, cars, and even medical implants. Today's designers need a comprehensive understanding of applied cryptography. After an introduction to cryptography and data security, the authors explain the main techniques in modern cryptography, with chapters addressing stream ciphers, the Data Encryption Standard (DES) and 3DES, the Advanced Encryption Standard (AES), block ciphers, the RSA cryptosystem, public-key cryptosystems based on the discrete logarithm problem, elliptic-curve cryptography (ECC), digital signatures, hash functions, Message Authentication Codes (MACs), and methods for key establishment, including certificates and public-key infrastructure (PKI). Throughout the book, the authors focus on communicating the essentials and keeping the mathematics to a minimum, and they move quickly from explaining the foundations to describing practical implementations, including recent topics such as lightweight ciphers for RFIDs and mobile devices, and current key-length recommendations.
2) Cryptography: Theory and Practice by Douglas Stinson et al. This is a more mathematical treatment and hence a nice complement to the Paar book above - https://www.routledge.com/Cryptography-Theory-and-Practice/S...
3) For understanding how cryptography is used in Networks see the classic Network Security: Private Communication in a Public World by Radia Perlman et al. The 2nd edition is where i started my journey into network security/cryptography needed for my then job. Highly recommended - https://www.amazon.com/Network-Security-Charlie-Kaufman/dp/0...
The first two books give you the "mechanisms" (and theory) of cryptography i.e. the building blocks. The last book puts everything together to implement "policies" via practical applications (eg. IPSec/SSL etc.) for the real world. They are complementary and hence should be studied together to get the full picture.
The Art of Computer Programming by Donald Knuth
Introduction to Algorithms by Thomas Cormen
An Introduction to Formal Languages and Automata by Peter Linz
Probability and Statistics by by Morris H. DeGroot
Operating Systems: Internals and Design Principles by William Stallings
Understanding Cryptography by Christof Paar
Database Systems: Fundamentals of Design, Implementations and Management by by Peter Rob
Principles of Concurrent and Distributed Programming: Algorithms and Models by M. Ben-Ari
Introduction to Graph Theory by Richard Trudeau
Advanced Data Structures by Peter Brass
Ones and Zeros: Understanding Boolean Algebra, Digital Circuits, and the Logic of Sets by John Gregg
An Introduction to Algebraic Structures by Joseph Landin
Theory of Computation by S.N. Sivanandam
You can always find more on https://cstheory.stackexchange.com/ or on some universities websites.
For a gentler intro to crypto, I am planning to do Cristof Paar's course first, given that he takes his time to carefully explain all the math; there is a youtube list with all the lectures [4] and a course webpage [5]. In case any further encouragement is needed, according to a blog posting "Matasano Crypto Challenges, Set 5" [6]: "This set was surprisingly easy, actually. The book Understanding Cryptography by Paar & Pelzl is an excellent intro to the basic maths needed for crypto — namely, the group theory and number theory necessary for RSA and Diffie-Hellman."
Now that I am at it, here are some HN links you may find helpful if planning to learn crypto, in no particular order:
Rolling Your Own Crypto (DON'T!) [7]
Telegram’s Cryptanalysis Contest [8]
The most dangerous code in the world [9]
BearSSL – Smaller SSL/TLS [10]
NaCl: DJB’s new crypto library [11]
JavaScript Cryptography Considered Harmful [12]
Cryptographic Right Answers [13]
Ask HN: Current Crypto Best Practices [14]
Mathematical Cryptology [15]
Ask HN: What are the best books for learning information security? [16]
Of course, there are also the courses Bohne's CS255, Rivest's 6.857 and many others, and the books Cryptography Engineering, Introduction to Modern Cryptography etc ... Harvard's [pdf] https://people.seas.harvard.edu/~salil/cs127/fall13/conclusi... is a good guide.
Good times for learning!
[1] https://ocw.mit.edu/courses/electrical-engineering-and-compu...
[2] https://ocw.mit.edu/courses/electrical-engineering-and-compu...
[3] https://ocw.mit.edu/courses/electrical-engineering-and-compu...
[4] https://www.youtube.com/playlist?list=PL2jrku-ebl3H50FiEPr4e...
[5] http://www.crypto-textbook.com/
[6] https://raywang.tech/2017/04/21/set5-writeup/
[7] https://news.ycombinator.com/item?id=13221923
[8] https://news.ycombinator.com/item?id=6940665
[9] https://news.ycombinator.com/item?id=4695350
[10] https://news.ycombinator.com/item?id=12863699
[11] https://news.ycombinator.com/item?id=704689
[12] https://news.ycombinator.com/item?id=7903720
[13] https://news.ycombinator.com/item?id=16748400
[14] https://news.ycombinator.com/item?id=14041827
https://www.amazon.com/Understanding-Cryptography-Textbook-S...