Fall 2026 · University of Maryland
| Instructor | Gabe Kaptchuk · kaptchuk@umd.edu |
| Office hours | Tuesdays after class, IRB 5232 |
| Meetings | Tuesdays & Thursdays, 9:30–10:45 a.m., IRB 2207 |
| Term | Sept 1 – Dec 10, 2026 |
| TA | Kanav Gupta · kanav@umd.edu · office hours by appointment |
| Course site | IRB 2207 |
| Credits | 3 |
| Prerequisites | CMSC451, CMSC452, CMSC456, or equivalent |
This is a graduate course in cryptography. It will assume comfort with the basic building blocks of cryptography taught in undergraduate courses on cryptography/security and privacy: symmetric key encryption, public key encryption, message authentication codes, digital signatures, and hash functions. Students are expected to be comfortable with formal reductions and have some prior exposure to game-based security definitions. These building blocks will be very briefly reviewed at the start of the course, but students lacking this background are encouraged to invest the necessary time to catch up.
This course will be primarily theoretical, in that students will be expected to write definitions, design protocols, formally analyze security, and prove theorems. However, we will be primarily focusing on primitives that support the development of efficient cryptographic protocols, rather than focusing on core connections to computer science theory.
By the end of the course, students should be able to:
No required textbook; relevant readings will be posted. Students may want to consult the following as supplemental learning material or background:
Another very useful source of reference material is scribe notes for cryptography courses, a good list of which can be found here.
| Component | Weight |
|---|---|
| Problem sets | 35% |
| Attendance / participation | 10% |
| Final project | 25% |
| Final exam | 30% |
| Total | 100% |
There will be 4 problem sets assigned throughout the semester. We ask students to submit their answers in the form of a LaTeX-generated PDF.
For the course project, you will be doing independent work to understand and explore an area in cryptography. Your deliverable with be a recorded presentation of your findings. Your goal hould be to understand a new concept in crypto by reading original sources, and then to communicate this concept clearly and concisely. You should aim to cover a topic from your own perspective, not just to summarize a single paper. Your target audience should be your fellow students in the course. If you would like to do some original research as part of your project, this is very much encouraged, but not required.
For additional information, see the project page.
The final exam will be comprehensive and will take place during the assigned time during finals period. Please consult the finals calendar for the time when it is posted.
We will follow the standard University of Maryland graduate course policies. If you are eligible for and requesting reasonable academic accommodations due to a disability, please provide an electronic letter of accommodation via Accessibility and Disability Service within the first two weeks of the course. If you need additional accommodation, please reach out to me directly.
If you plan to observe any holidays during the semester that are not listed on the university calendar, please provide a list of these dates by the end of the first two weeks of the semester.
Meetings are Tuesdays and Thursdays, 9:30–10:45 a.m., Sept 1 through Dec 10. The schedule is subject to change; changes will be announced on the course site.
| # | Date | Topic | Reading | Notes |
|---|---|---|---|---|
| 1 | Tue, Sep 1 | Pre-req crash course | — | Negligible functions; ElGamal reduction |
| 2 | Thu, Sep 3 | PRGs from OWFs and the hybrid lemma | — | |
| – | Tue, Sep 8 | More reductions and hybrid lemmas | — | |
| 3 | Thu, Sep 10 | No class — instructor traveling | ||
| 4 | Tue, Sep 15 | KEM/DEM Hybrid Lemma and Random Oracles | — | Kem/Dem Hybrid Encryption; Generic transofrm to CCA Security |
| 5 | Thu, Sep 17 | The big day of game-based definitions | — | Review/Introducing the necessary background primatives. |
| 6 | Tue, Sep 22 | PRFs from PRGs via GGM | — | Set up for OPRFs; give first ideal/real definition implicitly |
| 7 | Thu, Sep 24 | Oblivious pseudorandom functions | — | OPRFs introduce protocols |
| 8 | Tue, Sep 29 | Secure computation and real/ideal | — | Generalizing from the above idea |
| 9 | Thu, Oct 1 | Commitment schemes and coin flipping | — | Very basic MPC functionality |
| 10 | Tue, Oct 6 | Oblivious transfer & GMW | — | |
| 11 | Thu, Oct 8 | Honest majority MPC | — | Special purpose MPC: DPFs |
| 12 | Tue, Oct 13 | ZK definitions and sigma protocols | — | Opportunity to talk about extraction |
| 13 | Thu, Oct 15 | Semi-honest to malicious compilers via ZK | — | |
| 14 | Tue, Oct 20 | OPRFs again | — | |
| 15 | Thu, Oct 22 | Writing ideal functionalities | — | |
| 16 | Tue, Oct 27 | Equivalence between ideal functionalities and game-based definitions | — | |
| 17 | Thu, Oct 29 | Universal composability | — | |
| 18 | Tue, Nov 3 | More interesting ideal functionalities | — | |
| 19 | Thu, Nov 5 | Garbled circuits (classic edition) | — | |
| 20 | Tue, Nov 10 | Garbled circuits (modern edition) | — | |
| 21 | Thu, Nov 12 | Special purpose MPC: PSI | — | |
| 22 | Tue, Nov 17 | Special purpose MPC: PIR | — | |
| 23 | Thu, Nov 19 | Special purpose MPC: PIR lower bounds, multi-server | — | |
| – | Thu, Nov 24 | No class — Thanksgiving is almost here. | ||
| – | Thu, Nov 26 | No class — Thanksgiving break | ||
| 24 | Tue, Dec 1 | Special purpose MPC: DPFs | — | |
| 25 | Thu, Dec 3 | Zero-knowledge from MPC | — | |
| 26 | Tue, Dec 8 | Kilian’s protocol | — | |
| 27 | Thu, Dec 10 | Modern IOPs (simplified) | — |