CS 8803TFC - Theoretical Foundations of Cryptography, Spring 2011
Instructor: Chris Peikert
Time: Tue/Thu 3-4:30pm (First meeting:
Jan 11th Jan 18th, due to weather)
Location: College of Computing Building, Room 102
Summary: Cryptography, or "secret writing," is nearly as old as written communication itself. Yet only over the past few decades has it grown from a "black art" into a true science with rigorous mathematical foundations and methodologies. These have taken cryptography far beyond its roots in simple secret codes, to a discipline with far-reaching influence on computing as a whole.
This class is a graduate-level, theory-oriented introduction to the foundations of modern cryptography. The emphasis is on essential concepts, precise models and definitions, and proof techniques. Topics include: one-way functions and related complexity assumptions, pseudorandomness, public-key and identity-based crypto, zero knowledge and commitment, and connections to diverse areas of computer science. As time permits, we may also touch upon specialized topic areas such as secure multiparty computation, private information retrieval, or lattice-based cryptography.
For more information and course policies, see the course information and syllabus handout.
All assignments are due (via the course T-Square site) before the start of class on the stated due date.
To use the supplied LaTeX templates (recommended), you will need the latest version of this header file (you may need to rename it to lower-case after downloading, due to a bug in the wiki software). You may also need this file, if the template does not compile properly on its own.
- Homework 1 (posted Jan 18): due Jan 27 (template, header file).
- Homework 2 (posted Jan 27): due Feb 10 (template, header file).
- Homework 3 (posted Feb 10): due Feb 24 (template, header file).
- Homework 4 (posted Feb 24): due Mar 10 (template, header file).
- Homework 5 (posted Apr 5): due Apr 14 (template, header file).
Handouts and Lecture Notes
Intro and Perfect Secrecy
- Overview, Perfect Secrecy
- Supplementary reading: Section 1.3 of Pass-shelat
- Limits of Perfect Secrecy, Computational Hardness
- Supplementary reading: Sections 2.1-2.2 of Pass-shelat
- Candidate OWFs, Hardness Amplification
- Supplementary reading: Sections 2.3-2.5 of Pass-shelat
- Number Theory, OWF Variants
- Supplementary reading: Section 2.6-2.7 of Pass-shelat
Indistinguishability and Pseudorandomness
- Indistinguishability, Pseudorandom Generators
- Supplementary reading: Sections 3-3.3 of Pass-shelat
- Blum-Micali PRG
- Supplementary reading: Section 3.4 of Pass-shelat
- Pseudorandom Functions
- Supplementary reading: Section 3.8 of Pass-shelat
- Symmetric Encryption
- Supplementary reading: Sections 3.5-3.7, 3.9 of Pass-shelat
- Asymmetric Encryption
- Supplementary reading: Sections 3.10-3.11 of Pass-shelat
- Message Authentication
- Supplementary reading: Sections 5-5.2 of Pass-shelat
- CCA Security, Digital Signatures
- Supplementary reading: Sections 5.3-5.4 of Pass-shelat
- Digital Signatures
- Supplementary reading: Sections 5.5-5.7 of Pass-shelat
- Random Oracle Signatures
- Supplementary reading: Sections 5.8 of Pass-shelat
- Zero Knowledge, Interactive Proofs
- Supplementary reading: Sections 4-4.5 of Pass-shelat
- ZK Proofs
- Supplementary reading: Sections 4.5-4.6 of Pass-shelat
- ZK for NP
- Supplementary reading: Section 4.7 of Pass-shelat
- The Georgia Tech cryptography reading group.
- A Course in Cryptography, by Rafael Pass and abhi shelat (freely available notes)
- Boaz Barak's course at Princeton
- Salil Vadhan's course at Harvard
- Yevgeniy Dodis's course at NYU
- A Computational Introduction to Number Theory and Algebra, a book by Victor Shoup (freely available)
- A collection of good advice on reading and writing mathematical proofs.
Previous iterations of this course: