In this course we'll be learning about the complex world of modern cryptography. We'll begin with private key encryption and decryption, which is what you probably think of when you hear the word "cryptography", but as the semester progresses we'll discuss authentication, public key encryption, pseudorandomness, and a variety of other topics. We'll be motivated in this course both by practical considerations and by theoretical interest.

Textbook: Introduction to Modern Cryptography by Jonathan Katz and Yehuda Lindell, 2nd ed.
Syllabus: Download here
Office hours: Mon. 1-2, Wed. 4-5, Thur. 3-4, Fri. 1-2 (or by appointment)

Date Topics Textbook Homework
1/26 Introduction; historical ciphers; Kerckhoff's principle Ch. 1 Probability review
1/28 Perfect security; one-time pads 2.1-2.3 HW1: 2.3, 2.12, 2.13
(due 2/6)
1/30 Computational security; encryption in the presence of an eavesdropper 3.1, 3.2.1 Read 3.2.2
2/2 Pseudorandom generators; construction of secure encryption 3.3
2/4 Security for multiple encryptions; CPA security 3.4
2/6 Equivalence of CPA and CPA-mult definitions
2/9 Homework review; pseudorandom functions and permutations 3.5.1
2/11 Constructing CPA-secure encryption 3.5.2 HW2: 3.3, 3.10, 3.11, 3.14, 3.21
(due 2/23)
2/13 Modes of operation 3.6 Read proof of Theorem 3.32 (pp. 93-94)
2/16 CCA security 3.7
2/18 Substitution-permutation networks; Feistel networks; DES; AES 6.2
2/20
2/23 MAC security definition 4.1, 4.2
2/25 Homework review
2/27 Constructing MACs 4.3, 4.4 Test 1 due 3/2
3/2 Authenticated Encryption 4.5 Read 4.4.2, Proof of Theorem 4.19 by 3/9
3/4 Groups and modular arithmetic 8.1.1-4 HW 3: 4.3, 4.7, 4.9. 4.15 due 3/13
3/6
3/9 Test review; DDH assumption 8.3.1, 8.3.2
3/11 Public key encryption; El Gamal encryption 11.1, 11.2.1-2, 11.3.1, 11.4.1
3/13 Simple RSA encryption 11.5.1
3/16 RSA attacks; padding 11.5.2
3/18 Byzantine agreement; broadcast; impossibility result
3/20 Exponential information gathering
3/30 Hash functions; Merkle-Damgard transform; MAC from hashing 5.1, 5.2, 5.3 HW4 due 4/6
4/1 Random oracle model 5.5
4/3 Applications of hashing 5.6.1-4
4/6 Commitment; Signatures 5.6.5, 12.1-3
4/8 Homework review Test 2 due 4/10
4/10 RSA-based signatures 12.4 HW5: 5.3 (with proof), 5.5, 5.10, 5.13 due 4/17
4/13 DDH-based signatures 12.5.1