Topics in Cryptography

Warning: This is the spring 2023 course website.
The latest CS355 website is online here.

CS 355: Topics in Cryptography

Stanford University – Spring 2023


Stanford students have been behind some of the most important developments in modern cryptography, including Diffie-Hellman key exchange, Merkle trees, ElGamal encryption, and fully homomorphic encryption. With this history in mind, CS355 will cover many of the foundational techniques that you will need to get started with crypto research and to go on to solve the field’s great open problems. It will also introduce you to the joy of cryptography research and give you a taste of the lastest developments in cryptography. By the time you finish this course, you should understand the most important cryptographic tools and be able to use them.

We will cover basic proof techniques, zero knowledge, multiparty computation, elliptic-curve cryptography, cryptanalysis, privacy, and post-quantum cryptography. More details are available in the course schedule.

Meeting place and time

Location: Mitchell Earth Sciences B67
Time: Tuesdays and Thursdays, 1:30pm — 2:50pm

Lecture notes will be posted, but the lectures will not be recorded. Attendance is strongly encouraged.


We will primarily use Ed for sending out course announcements and answering questions. Please make sure to sign up.

Additional contact information, as well as the office hours, are available on the Course Staff page.

To submit anonymous feedback to us at any point during the quarter, you may use this form.


CS255, or an equivalent introductory cryptography course, is a prerequisite. Another important prerequisite is that you are curious about cryptography and excited to study some beautiful theory and clever cryptographic constructions.

An introductory algorithms or theory course, such as CS161 or CS154, is not a formal prerequisite, but will be very useful to you in this course (and beyond!).


Thanks to Deian Stefan of UCSD for giving us permission to use the design of his CSE 130 course website for CS 355. Thanks to Dan Boneh for providing the inspiration and materials for many of the problem sets and lecture notes we use in this course. Thanks to the previous CS 355 instructors—David, Henry, Sam, Dima, Florian, Saba, Riad, and Neil—for sharing the joy of cryptography with so many students (including us) over the years.