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