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-15: Message authentication codes and authenticated encryption, and hash functions. (Chapter 4.)
- Lectures 16-18: Hash functions. (Chapter 4.)
- Lectures 19-21: Stream-cipher, block-cipher, and hash-function 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: Diffie-Hellman key exchange and the public-key revolution. (Chapter 9.)
- Lectures 32-35: Public-key encryption. (Chapter 10.)
- Lectures 36-38: Digital signatures. (Chapter 12.)
- As time permits, we will cover some advanced topics.