- Phillip Rogaway - your teacher - rogaway@cs.ucdavis.edu
- Topics: This course will cover NP-completeness (8 lectures) and cryptography (18 lectures). The cryptography will mostly be "rigorous" (reduction-based cryptography).
- Approximate grading: Homeworks: 20%, Quizzes: 20%, Attendance: 10%, Final: 50%. (The intended project has been eliminated, and its points redistributed.)

- List of all homework problems

- Lecture 1 - Mon, Oct 24 - Introduction. History. NP-Completeness. Reductions. 3SAT. CLIQUE. (1.5; 1.5)
- Lecture 2 - Tue, Oct 31 - Review. A reduction: 3SAT to CLIQUE. (1.5; 3)
- Lecture 3 - Mon, Nov 6 - Decision vs. search. Languages. (1.5; 4.5)
- Lecture 4 - Tue, Nov 7 - Turing machines. The class P. (1.5; 6)
- Lecture 5 - Tue, Nov 13 - The class NP. Defns of reductions and NP-Completeness. HC < TSP. (1.5; 7.5)
- Lecture 6 - Mon, Nov 20 - More reductions: 3SAT < SAT. 3SAT < G3C. 3SAT < HC. (1.5; 9)
- Lecture 7 - Tue, Nov 21 -
**Quiz 1**. 3SAT < HC. (1.5; 10.5) - Lecture 8 - Mon, Nov 28 - Homework explanations. Finish 3SAT < HC. Cook-Levin Theorem. (1.5; 12)
- Lecture 9 - Tue, Nov 29 - Introduction to cryptography. Provable security. Symmetric encryption. (1.5; 13.5)
- Lecture 10 - Mon, Dec 4 -
**Quiz 2.**Go over HW+quiz. Review. Asym enc, MACs, digital signatures. (1.5; 15) - Lecture 11 - Tue, Dec 12 - Block ciphers. Description of DES. Modes of operation. (1.5; 16.5)
- Lecture 12 - Mon, Dec 25 - Background on finite fields. Rijndael. (1.5; 18)
- Lecture 13 - Mon, Jan 8 - Probablity review. Block-cipher theory, Part 1 (PRPs) ciphers) (2.5; 20.5)
- Lecture 14 - Tue, Jan 9 - Block-cipher theory, part 2. (2.5; 23)
- Lecture 15 - Wed, Jan 10 - Block-cipher theory, part 3. Symmetric encryption, part 0. (2.5; 25.5)
- Lecture 16 - Tue, Jan 16 - Symmetric encryption, part 1. (1.5; 27)
- Lecture 17 - Fri, Jan 19 - Symmetric encryption, part 2. (3; 30)
- Lecture 19 - Mon, Jan 22 -
**Quiz 3.**Symmetric encryption, part 3 (the fg-notion of security, and relating it to the rr-notion) (3; 33) - Lecture 20 - Tue, Jan 22 - Number theory background. (1.5; 34.5)
- Lecture 21 - Tue, Jan 30 - RSA trapdoor function. As an encryption scheme. PKCS #1, and OAEP. (1.5; 36)
- Lecture 22 - Fri, Feb 2 - PK encryption -- definitions. Digital signatures. (2; 38)
- Lecture 23 - Mon, Feb 3 - Finish digital signatures. Message authentication codes. (2; 40)
- Lecture 24 - Tue, Feb 4 - (1.5; 41.5)
- Lecture 25 - Tue, Feb 13 - (1.5; 43)

- A compendium of NP optimization problems
- Rijndael (AES) home page and reference code and a few test vectors