Fall 2021. Mondays, Wednesdays, 12:45pm-2pm, Allston SEC 2.118
Instructor: Boaz Barak
Teaching fellows: Yafah Edelman, Emil Khabiboulline, Richard Xu
Lecture notes: An intensive introduction to cryptography
If you are considering taking this course, you should: (1) Read the FAQ and the syllabus (2) Do Homework Zero (pdf, markdown , LaTeX ). I recommend you do it before the first lecture and in any case you will need to submit it by Thursday September 9 2021 at midnight through gradescope. (3) As part of homework zero you will need to read the “mathematical background” and “introduction” lecture of lecture notes and will need to annotate the latter on Perusall - you can join it through canvas. (4) You can join the Ed Discussion Board for this course through canvas.
Cryptography is as old as human communication itself, but has undergone a revolution in the last few decades. It is now about much more than “secret writing” and includes seemingly paradoxical notions such as communicating securely without a shared secret, and computing on encrypted data. In this challenging but rewarding course we will start from the basics of private and public key cryptography and go all the way up to advanced notions such as fully homomorphic encryption, and indistinguishability obfuscation.
Mathematical background: This is a proof-based course that will be best appreciated by mathematically mature students, see the FAQ. I highly recommend you go over my CS 121 lectures on mathematical background and probability before the course starts. All students should complete homework zero before the course begins and in any case no later than midnight of the second lecture.
The graduate version of this course, CS-227, will involve an extra project and scribe notes.
See also here
Feedback from prior versions of this course: Fall 2021 (CS 127 and 227 combined) Spring 2020 (CS 127 and CS227R combined), Spring 2018 (CS 127 and CS227R combined), Spring 2016 , Spring 2010 (Princeton)
This course has lecture notes but no official textbook. However, the following books can be helpful:
Introduction to Modern Cryptography / Katz and Lindell. This is an undergraduate textbook that can be a very useful companion, especially for the first part of the course. (See harvard coop link - you can also purchase a digital copy through Perusall)
A graduate course in applied cryptography / Boneh and Shoup. This book in preparation (currently available as an online draft) contains many topics that we will cover, as well as many that we won't, but is an excellent reference.
Foundations of Cryptography / Goldreich. This two volume book is the “canonical text” of the theory of cryptography. It does not contain all the topics we'll talk about (and covers many topics we won't) but the topics covered are done so in great depth.
The Joy of Cryptography / Rosulek online free textbook.
A course in cryptography / Pass and Shelat. Lecture notes in cryptography.