COMP 537: Cryptography
Fall 2026Instructor: Saba Eskandarian
Contact: saba@cs.unc.edu or anonymous feedback form
TAs: TBD
Lectures: Tues/Thurs 2pm-3:15pm, SN011
Office Hours: TBD
Links:
Course Schedule
Gradescope
Canvas
Anonymous Feedback
Course Description
Cryptography is an indispensable tool for protecting information in computer systems. Our web browsers use it almost every time we connect to a website; it protects our private messages from prying eyes; it enables the modern world of online commerce; and it guards the freedoms of journalists, dissidents, and oppressed groups throughout the world.
At the same time, cryptography has deep connections to the theory of computation, number theory, algebra, and computational complexity theory. Major open questions in cryptography have immediate ramifications for whether P=NP, and cryptography research has given rise to several of the most beautiful ideas in computer science. These ideas (which we will cover) have been recognized by several Turing awards.
This course will introduce you to both sides of cryptography. Our main focus will be on the inner workings of cryptographic primitives and how to use them correctly. We will begin with standard cryptographic tools such as encryption, message authentication, key exchange, and digital signatures before moving on to more advanced topics like elliptic curves, post-quantum cryptography, and zero-knowledge. See the course schedule page for a more detailed list of topics. Throughout the course we will also explore the techniques used in modern cryptography to reason about the security of cryptographic schemes.
Assignments
All problem sets are submitted on Gradescope using the Latex template provided here.- Problem set 1: due Thursday, August 27
Additional materials for problem set 1, problem 4: ciphertexts, code - Problem set 2: due Tuesday, September 15
- Programming assignment 1 (starter code): due Tuesday, September 29
- Problem set 3: due Tuesday, October 13
- Programming assignment 2 (starter code): due Thursday, October 22
- Problem set 4: due Thursday, November 12
- Problem set 5: due Tuesday, December 1
Note: After completing each problem set, you will receive feedback on your submission from AI and submit the feedback, along with a brief reflection, as part of your submission. See the template above for details. Points will be given for completion of the problems, or evidence of a serious attempt, and the feedback exercise.
Late Work. All assignments are due at 11:59pm on the listed day and must be submitted via Gradescope. You get five “late days” in total during the semester. You may use a late day to submit a problem set after the deadline via Gradescope. You may only use late days in one-day increments (no partial late days), and you may use at most two late days on a single assignment. If you submit an assignment late after running out of late days, you will receive no credit for the submission. Please submit your assignments on time and save your late days for extraordinary situations. Please contact me in advance if there are extenuating circumstances that may warrant an exception to this policy.
Resources
The following resources may be helpful as reference throughout the course.- A Graduate Course in Applied Cryptography, textbook by Dan Boneh and Victor Shoup
- Introduction to Modern Cryptography, textbook by Jonathan Katz and Yehuda Lindell
- Dan Boneh's online cryptography class, videos covering some of the material from this class
- Attacks and Reductions in Cryptography, a short tutorial by David Wu
- Arithmetic Modulo Primes, a cheat sheet by Dan Boneh
- Arithmetic Modulo Composites, a cheat sheet by Dan Boneh
- Glossary of Crypto Definition Acronyms