The following is a *tentative* syllabus.
Chapter numbers refer to the table of contents available here.
- Lectures 1-3: Classical vs. modern cryptography; some historical ciphers; principles of modern cryptography; perfectly secret encryption.
(Chapters 1 and 2.)
- Lectures 4-7: Computational security. Symmetric-key encryption. (Chapter 3.)
- Lectures 8-11: Message authentication and hash functions. (Chapter 4.)
- Lectures 12-13: Block cipher design. (Chapter 5.)
- Lecture 14: Theoretical constructions of pseudorandom generators/functions. (Sections 6.1, 6.2.)
- Lectures 15-18: Number theory; cryptographic hardness assumptions and their applications. (Chapter 7.)
- Lectures 19: The public-key revolution; Diffie-Hellman key exchange. (Chapter 9.)
- Lectures 20-22: Public-key encryption. (Chapter 10.)
- Lectures 23-25: Digital signatures. (Chapter 12.)
- Lectures 26-27: The random oracle model and efficient cryptographic schemes. (Chapter 13.)
- As time permits, we will cover some advanced topics.