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. Notes for each lecture will be available on Canvas after class.
Symmetric-Key Encryption
-
Aug 19: Intro and One Time Pad
Reading: BS 2.1; KL 1, 2.1-2.3 -
Aug 21: Stream ciphers
Reading: BS 2.2, 3.1-3.3; KL 3.1-3.3 -
Aug 26: Stream cipher security
Reading: BS 2.2, 3.1-3.3; KL 3.1-3.3 -
Aug 28: Block ciphers
Reading: BS 4.1-4.2, 4.4; KL 3.5, 7.2.5 -
Sep 2: How to use block ciphers
Reading: BS 5.1, 5.3-5.5; KL 3.4, 3.6
Message Integrity
-
Sep 4: Message integrity
Reading: BS 6.1-6.11; KL 4.1-4.5, 6.1 -
Sep 9: Collision resistant hashing
Reading: BS 8.1-8.8; KL 6.2-6.4.1, 7.3 -
Sep 11: Authenticated encryption
Reading: BS 9.1-9.7; KL 5.1-5.3
Public Key Cryptography
-
Sep 16: 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 18: 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 -
Sep 23: 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
-
Sep 25: Digital signatures
Reading: BS 13.1-13.7; KL 13.1-13.4, 13.6 -
Sep 30: More digital signatures
Reading: BS 14.1, 14.5-14.6, 13.8-13.9; KL 14.4 -
Oct 2: Identification protocols
Reading: BS 18.1-18.6 -
Oct 9: Authenticated key exchange, TLS, and private messaging
Reading: BS 21.1-21.6, 21.10; KL 13.7
Theoretical Foundations
-
Oct 14: Minimal assumptions for crypto
Reading: BS 3.4, 4.2.1, 4.5-4.6; KL 8.4.2-8.7 -
Oct 21: Catch up and midterm Q&A
-
Oct 23: Midterm exam
-
Oct 28: The Random Oracle Model
Reading: BS 8.10.2-8.10.3; KL 6.5, 6.6.5
Zero Knowledge
-
Oct 30: Introduction to zero-knowledge
-
Nov 4: Sigma protocols
Reading: BS 19.1, 19.4 -
Nov 6: Protocol composition and non-interactive zero-knowledge proofs (NIZKs)
Reading: BS 19.2-19.3, 19.7, 19.6.1, 20.1, 20.3; KL 13.5 -
Nov 11: Loose ends
Reading: BS 19.5.2, 8.9, 11.6.3; KL 6.6.2
Advanced Encryption Topics
-
Nov 13: Elliptic curves
Reading: BS 15.1-15.3; KL 9.3.4 -
Nov 18: Pairing-based cryptography
Reading: BS 15.4-15.6 -
Nov 20: Lattice-based cryptography
Reading: KL 14.3
Further Reading on Lattices: A Decade of Lattice Cryptography
Multiparty Computation
-
Nov 25: Oblivious transfer and two party computation
Further Reading on MPC: A Pragmatic Introduction to Secure Multi-Party Computation -
Dec 2: Secret sharing and multiparty computation
Reading: BS 22.1, 23.1-23.2; KL 15.3
Final Exam Period
-
Dec 6, 12-3pm: Final assessment
Back to course home page