CS 355: Applied Zero Knowledge Proofs

Spring 2025

Succinct non-interactive proof systems, also called SNARKs, have emerged as an extremely versatile tool that is used in many areas of computing, including blockchains, data provenance, and machine learning. This course provides an in-depth coverage of how SNARKs work and how to use them in practice. We will cover the beautiful ideas used to construct SNARKs, along with a programming project that will teach students how to use the latest SNARK tools. The course assumes no prior knowledge of zero-knowledge proof systems, but does require an understanding of the basics of cryptography, as covered in CS255 or equivalent.

Administrative

Lectures: Tue/Thu:   3:00-4:20pm,   Building 200 Room 305.
Section: Friday:   1:30-2:20pm,   McMurtry building (ART), Room 350
Course syllabus (and readings)
Course overview (grading, textbooks, coursework, exams)
Course staff
Discussion board: Ed Discussions.

Homeworks and Projects

--
Homework #1:    [pdf]
Due: Wednesday, Apr. 16, 2025, via Gradescope (code="Y2V2PR")
--
Homework #2:    [pdf]
Due: Wednesday, Apr. 30, 2025, via Gradescope
--
Programming project:    [pdf]
Due: Monday, May 19, 2025, via Gradescope
--
Homework #3:    [pdf]
Due: Thursday, May 29, 2025, via Gradescope

Course calendar