This course provides an introduction to the principles and practice of contemporary cryptography. It begins with a brief survey of classical cryptographic techniques that influenced the modern development of the subject. The course then focuses on more contemporary work: symmetric block ciphers and the Advanced Encryption Standard, public key cryptosystems, digital signatures, authentication protocols, and cryptographic hash functions. The course also provides an overview of quantum resistant cryptography and, as time permits, other recent developments such as homomorphic encryption. Complexity theory and computational number theory provide the foundation for much of the contemporary work in cryptology; pertinent ideas from complexity and number theory are introduced, as needed, throughout the course.
01/22/2024 - 05/07/2024