Programmable Cryptography synthesizes mathematics and computing to enable capabilities in digital systems that would otherwise be impossible. This is done through general purpose cryptographic systems that work over arbitrary functions, thus enabling programmability, rather than needing to design special purpose cryptographic protocols on a case by case basis. The fundamental building blocks of programmable cryptography rely on mathematical techniques, many of which resemble “doing Olympiad combinatorics on algebraic objects”.

Programmable Cryptography 101 (PC101) is an accelerated survey of techniques and concepts that comprise the field. Through PC 101, you’ll become familiar with constructions for many of the most important and interesting branches of programmable cryptography. Such as multiparty computation (MPC), zero-knowledge proofs (zk-SNARKs), fully homomorphic encryption (FHE), oblivious RAM (ORAM), and more.

The course is specifically designed for its target audience of strong Olympiad alumni with little-to-no prior cryptography background. No prior background in cryptography is necessary. By the end of the course, participants will know more about this burgeoning field than all but a handful of people in the world.

Our book, Four Easy Pieces in Programmable Cryptography by Evan Chen, Brian Lawrence, Elaine Shi, and Yan Zhang, is the primary reference text for the class.

This will be the second time PC 101 is run. After last year’s inaugural edition of PC 101, several participants ended up contributing significantly to 0xPARC and the wider programmable cryptography field this past summer.

Each week, we’ll run one mandatory 90-minute lecture and an optional 60-90 minute office hour session.

Additional reading

Curriculum (subject to change)