CS 25N: Big Ideas in Cryptography (Winter 2026)

Instructor: Mark Zhandry

Course Content: Cryptography — securing data in the presence of an adversary — has been practiced for thousands of years. Today, cryptography is more ubiquitous than ever, as it is the foundation underlying our secure digital world. Modern cryptography is also characterized by surprising solutions to seemingly impossible tasks. In this seminar, we will survey some of the big ideas in cryptography, including cryptanalysis (including breaking the Enigma during WWII), methodologies behind the design of secure ciphers, public key cryptography (securely exchanging messages without ever having met in person to share a secret key), zero knowledge proofs (proving statements without revealing the proof), homomorphic encryption (performing computations on encrypted data), cryptocurrencies, and more.

Prerequisites: Basic programming knowledge and mathematical maturity suggested.

Grading: 70% homeworks, 30% final project

Very tentative list of topics: There will be two 80-minute lectures per week. We will cover approximately one topic per week:

• Week 1: Classical ciphers and cryptanaylsis
• Week 2: Breaking the Enigma
• Week 3: Modern ciphers
• Week 4: Public key encryption
• Week 5: Homomorphic encryption
• Week 6: Zero knowledge proofs
• Week 7: Cryptocurrencies
• Week 8: Quantum cryptography
• Weeks 9,10: Advanced topics