Cryptography and Cryptanalysis
MIT's rigorous introduction to modern cryptography covers the fundamental primitives that underpin secure systems: public-key encryption, digital signatures, and pseudo-random number generation. The course builds these topics from computational complexity theory, examining what security guarantees are achievable and under what assumptions, then applies that foundation to basic cryptographic protocols. Materials include lecture notes, problem sets, and exams from MIT's Electrical Engineering and Computer Science department, available through MIT OpenCourseWare under a Creative Commons license at no cost. The treatment is mathematical and proof-driven rather than a survey of tools, aimed at students who already have background in algorithms and discrete math. It suits anyone who wants to understand why cryptographic schemes work, not just how to use them, and provides the theoretical grounding needed before tackling research papers or advanced security coursework.