No. | Class Date | Topic | Slides | Reading |
---|---|---|---|---|
1 | Jan 29 | Introduction and overview Private-key cryptography The syntax of private-key encryption The shift cipher |
Lecture 1 | Sections 1.1-1.3 |
2 | Jan 31 | Cancelled | ||
3 | Feb 5 | Modern cryptography: definitions, assumptions, and proofs Perfect secrecy The one-time pad. |
Lecture 2 | Sections 1.4, 2.1, and 2.2 |
4 | Feb 7 | Proving security of the one-time pad Randomness generation and implementing the one-time pad Limitations of perfect secrecy Toward computational notions of security. |
Lecture 3 | Sections 2.2, 2.3, and 3.1 |
5 | Feb 12 | A computational notion of security Pseudorandomness and pseudorandom generators. |
Lecture 4 | Sections 3.1, 3.2.1, and 3.3.1 |
6 | Feb 14 | Pseudorandom generators and stream ciphers The pseudo-OTP Proofs by reduction, and a proof of security for the pseudo-OTP Security for multiple encryptions Drawbacks of deterministic encryption. |
Lecture 5 | Sections 3.3.1-3.3.3 and 3.4.1 |
7 | Feb 19 | Chosen-plaintext attacks and CPA-security Pseudorandom functions |
Lecture 6 | Sections 3.4.2 and 3.5.1 |
8 | Feb 21 | Pseudorandom permutations and block ciphers CPA-security from pseudorandom functions Encrypting arbitrary-length messages: block-cipher modes of operation. |
Lecture 7 | Section 3.5.2 and 3.6.2 |
9 | Feb 26 | Stream ciphers and stream-cipher modes of operation Chosen-ciphertext attacks Security against chosen-ciphertext attacks Padding-oracle attacks. |
Lecture 8 | Sections 3.6.1, 3.7.1, and 3.7.2 |
10 | Feb 28 | Padding-oracle attacks Message integrity and message authentication codes (MACs) Defining security for MACs A fixed-length MAC |
Lecture 9 | Sections 4.1 and 4.2 |
11 | Mar 5 | A fixed-length MAC (continued) MACs for arbitrary-length messages. CBC-MAC. |
Lecture 10 | Sections 4.3 and 4.4.1 |
12 | Mar 7 | Exam review Authenticated encryption and generic constructions Secure sessions. |
Lecture 11 | Sections 4.5.1-4.5.4 |
13 | Mar 12 | Midterm | ||
14 | Mar 14 | Some probability analysis finish authenticated encryption and secure sessions |
Lecture 12 | |
15 | Mar 19 | Spring Break, No class | ||
16 | Mar 21 | Spring Break, No class | ||
17 | Mar 26 | Midterm review authenticated sessions |
Lecture 13 | |
18 | Mar 28 | Hash functions and collision resistance Birthday attacks on hash functions Hash-and-Mac, HMAC |
Lecture 14 | Sections 5.1.1, 5.3.1, 5.4.1 |
19 | Apr 2 | Random Oracle Model Other applications of hash functions |
Lecture 15 | Sections 5.5 and 5.6 |
20 | Apr 4 | Basic number theory and algorithmic number theory Modular arithmetic and efficient algorithms Efficient exponentiation |
Lecture 16 | Sections 8.1.1 and 8.1.2; Appendices B.1 and B.2.1-B.2.3 |
21 | Apr 9 | Group theory | Lecture 17 | Sections 8.1.3 and 8.1.4 |
22 | Apr 11 | The factoring assumption Primality testing The RSA assumption |
Lecture 18 | Sections 8.2.1, 8.2.3, and 8.2.4 |
23 | Apr 16 | Cyclic groups Hardness assumptions in cyclic groups: the discrete-logarithm assumption and Diffie-Hellman problems |
Lecture 19 | Sections 8.3.1-8.3.3 |
24 | Apr 18 | Concrete parameters Drawbacks of private-key cryptography The Diffie-Hellman key-exchange protocol and the public-key setting Public-key encryption: syntax and definitions of security |
Lecture 20 | Sections 9.3, 10.1, 10.3, 10.4, and 11.1 |
25 | Apr 23 | Definitions of security for public-key encryption Hybrid encryption and the KEM/DEM paradigm El Gamal encryption |
Lecture 21 | Sections 11.2 (but not the proof of Theorem 11.6), 11.3 (but not the proof of Theorem 11.12), 11.4.1, 11.4.2, and 11.4.4 (just the fact that El Gamal encryption is malleable) |
26 | Apr 25 | RSA-based encryption. Padded RSA (PKCS #1 v1.5) PKCS #1 v2. Digital signatures |
Lecture 22 | Sections 11.5.1 (through page 412), 11.5.2, 11.5.4, and 12.1 |
27 | Apr 30 | The hash-and-sign paradigm RSA-based signatures DSA Certificates and public-key infrastructures |
Lecture 23 | Sections 12.2-12.4 and 12.7 |
28 | May 2 | Bitcoin and permissionless blockchains | Lecture 24 | Will use Video Bitcoin: A Peer-to-Peer Electronic Cash System |
29 | May 7 | Permissioned blockchains | Lecture 25 | Blockchain Consensus Protocols in the Wild |
30 | May 9 | Review | Lecture 26 | |
31 | May 21 | Final Exam (10:30am-12:30 PM) |