Cryptography has been used for thousands of years to protect secrets, and has evolved from pen and paper methods to complex mechanical and electronic systems. Cryptanalysis has also developed alongside cryptography, with some notable successes in history. Until the 1960s, cryptography was mainly used by governments, but since then public encryption standards and public-key cryptography have made it accessible to everyone.

An introductory course into modern cryptography, grounded in rigorous mathematical definitions. Covers topics such as secret key and public key encryption, pseudorandom generators, and zero-knowledge proofs. Requires a basic understanding of probability theory and complexity theory, and entails some programming for course projects.