This course provides an introduction to the principles and practice of contemporary cryptology. It begins with a brief survey of classical cryptographic techniques that influenced the modern development of cryptology. The course then focuses on contemporary work: symmetric block ciphers and the Advanced Encryption Standard, public key cryptosystems, digital signatures, authentication protocols, cryptographic hash functions, and cryptographic protocols and their applications. Pertinent ideas from complexity theory and computational number theory, which provide the foundation for much of the contemporary work in cryptology, are introduced as needed throughout the course.
This course should be taken after the other two required foundation courses and before any other courses in the Analysis track.