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 18: Intro and One Time Pad
Reading: BS 2.1; KL 1, 2.1-2.3 -
Aug 20: Stream ciphers
Reading: BS 2.2, 3.1-3.3; KL 3.1-3.3 -
Aug 25: Stream cipher security
Reading: BS 2.2, 3.1-3.3; KL 3.1-3.3 -
Aug 27: Block ciphers
Reading: BS 4.1-4.2, 4.4; KL 3.5, 7.2.5 -
Sep 1: How to use block ciphers
Reading: BS 5.1, 5.3-5.5; KL 3.4, 3.6
Message Integrity
-
Sep 3: Message integrity
Reading: BS 6.1-6.11; KL 4.1-4.5, 6.1 -
Sep 8: Collision resistant hashing
Reading: BS 8.1-8.8; KL 6.2-6.4.1, 7.3 -
Sep 10: Authenticated encryption
Reading: BS 9.1-9.7; KL 5.1-5.3
Public Key Cryptography
-
Sep 15: 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 17: Exam 1
-
Sep 22: 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 24: 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 29: Digital signatures
Reading: BS 13.1-13.8; KL 13.1-13.4, 13.6 -
Oct 1: More digital signatures
Reading: BS 8.9, 14.1, 14.6; KL 6.6.2, 14.4 -
Oct 8: Identification protocols
Reading: BS 18.1-18.6 -
Oct 13: Authenticated key exchange, TLS, and private messaging
Reading: BS 21.1-21.6, 21.10; KL 13.7
Theoretical Foundations
-
Oct 20: Discrete Log, Elliptic Curves, and Quantum Computing
Reading: BS 15.1-15.3, 16.1.1, 16.5; KL 9.3.4, 10.2.2, 14.1-3 -
Oct 22: Minimal assumptions for crypto
Reading: BS 3.4, 4.2.1, 4.5-4.6; KL 8.4.2-8.7 -
Oct 27: Loose ends: commitments, random oracles, and other tools
Reading: BS 8.10.2-8.10.3, 11.6.3; KL 6.5, 6.6.5 -
Oct 29: Exam 2
Lattice Cryptography, Zero Knowledge Proofs
-
Nov 3: Lattice-based cryptography
Reading: KL 14.3
Basic Lattice Cryptography, Chapters 1,2, 4.1-3, 4.7 -
Nov 5: Introduction to zero-knowledge
-
Nov 10: Sigma protocols
Reading: BS 19.1, 19.4 -
Nov 12: Protocol composition and non-interactive zero-knowledge proofs (NIZKs)
Reading: BS 19.2-19.3, 19.7, 19.6.1, 19.5.2, 20.1, 20.3; KL 13.5 -
Nov 17: SIS and proofs for lattices
Reading: Basic Lattice Cryptography, Chapters 3.2, 5.1-2
Multiparty Computation
-
Nov 19: Oblivious transfer and two party computation
Further Reading on MPC: A Pragmatic Introduction to Secure Multi-Party Computation -
Nov 24: Secret sharing and multiparty computation
Reading: BS 22.1, 23.1-23.2; KL 15.3 -
Dec 1: Catch-up and review
Final Exam Period
-
Dec 5, 12-3pm: Final Exam
Back to course home page