COMP 537: Cryptography
Course Schedule
This is a tentative schedule of topics and is subject to change. Suggested readings from the Boneh-Shoup textbook (v0.6, denoted BS) and the Katz-Lindell textbook (3rd Edition, denoted KL) are listed for most lectures. Lecture notes for each lecture will be made available to the class.
Symmetric-Key Encryption
-
Aug 21: Intro and One Time Pad
Reading: BS 2.1; KL 1, 2.1-2.3 -
Aug 23: Stream ciphers
Reading: BS 2.2, 3.1-3.3; KL 3.1-3.3 -
Aug 28: Block ciphers
Reading: BS 4.1-4.2; KL 3.5, 7.2.5 -
Sep 4: Labor Day (no class)
-
Sep 6: How to use block ciphers
Reading: BS 4.4, 5.1, 5.3-5.5; KL 3.4, 3.6
Message Integrity
-
Sep 11: Message integrity
Reading: BS 6.1-6.11; KL 4.1-4.5, 6.1 -
Sep 13: Collision resistant hashing
Reading: BS 8.1-8.8; KL 6.2-6.4.1, 7.3 -
Sep 18: Authenticated encryption
Reading: BS 9.1-9.7; KL 5.1-5.3
Public Key Cryptography
-
Sep 20: Key distribution and intro to groups
Reading: KL 11.1-11.2, 9.1, 9.3.1-9.3.3
A Computational Introduction to Number Theory and Algebra, Chapter 6 -
Sep 25: Well-being Day (no class)
-
Sep 27: Public key cryptography
Reading: BS 10.4-10.5, 10.6.1, 10.7, 11.2-11.3; KL 11.3-11.4, 9.3.2, 9.4.2 12.1-12.2 -
Oct 2: Public key encryption
Reading: BS 11.5, 12.1-12.2, 12.4, 10.2-10.3, 11.4; KL 9.2, 12.3-12.5
Digital Signatures and Authentication
-
Oct 4: Digital signatures
Reading: BS 13.1-13.7; KL 13.1-13.4 -
Oct 9: More digital signatures
Reading: BS 14.1, 14.5-14.6, 13.8-13.9; KL 14.4, 13.6 -
Oct 11: Identification protocols
Reading: BS 18.1-18.6
Theoretical Foundations
-
Oct 16: Minimal assumptions for crypto
Reading: BS 3.4, 4.2.1, 4.5-4.6; KL 8.4.2-8.7 -
Oct 18: The Random Oracle Model
Reading: BS 8.10.2-8.10.3; KL 6.5, 6.6.5 -
Oct 23: Authenticated key exchange and TLS
Reading: BS 21.1-21.6, 21.10; KL 13.7 -
Oct 25: Midterm exam
Zero Knowledge
-
Oct 30: Introduction to zero-knowledge
-
Nov 1: Sigma protocols
Reading: BS 19.1, 19.4, 19.7 -
Nov 6: Non-interactive zero-knowledge (NIZKs)
Reading: BS 19.2-19.3, 19.5.2, 19.6.1, 20.1, 20.3; KL 13.5 -
Nov 8: Succinct proofs
Reading: BS 8.9; KL 6.6.2
Advanced Encryption Topics
-
Nov 13: Elliptic curves
Reading: BS 15.1-15.3; KL 9.3.4 -
Nov 15: Pairing-based cryptography
Reading: BS 15.4-15.6 -
Nov 20: Privacy, policy, and social responsibility
Required reading:
The Moral Character of Cryptographic Work (Through Part 3)
Keys Under Doormats (At least through Executive Summary) -
Nov 22: Thanksgiving Break (no class)
-
Nov 27: Lattice-based cryptography
Reading: KL 14.3
Further Reading on Lattices: A Decade of Lattice Cryptography
Multiparty Computation
-
Nov 29: Oblivious transfer and two party computation
Further Reading on MPC: A Pragmatic Introduction to Secure Multi-Party Computation -
Dec 4: Secret sharing
Reading: BS 22.1; KL 15.3 -
Dec 6: Multiparty computation and course conclusion
Reading: BS 23.1-23.2
Final Exam Period
-
Dec 15, 4-7pm: Course feedback and bonus topic(s)