
CPSC 444/544: Real-World Cryptography
2025 Spring
- Instructor: Fan Zhang
- MW 11:35am-12:50pm in WTS B31 - Watson Center 60 Sachem Street B31
Office Hours
- Yunhao Wang (TA)
- Time: 5pm EST on Thursday
- Location: https://yale.zoom.us/j/3824493308?pwd=eVpkVkFTOFZQV0pPWnA0TzdKbE9jZz09
- Fan Zhang
- Time: 4 pm EST on Wednesday
- Location: AKW 503 (or on Zoom but you need to email me)
Homeworks
We provide a LaTeX templates for homework submissions: template.
Late days
- Each student gets 1 free late days
- One late day equals a 24-hour extension.
- 10% grade reduction for each non-free late day
- We honor Dean’s extensions. No other late days will be granted.
Course Description
Cryptography provides strong security and privacy guarantees in well-defined mathematical models, but applying it to real-world systems is an art—one that must account for performance, cost, evolving adversarial threats, and even user behavior. This course aims to impart the art of designing and applying cryptography in the real world, by examining select advanced cryptographic tools used in practice. Topics include secure channels, identity and credentials, anonymity, end-to-end encrypted messaging, and Trusted Execution Environments (TEEs).
Prerequisites
Students are expected to be familiar with concepts in computer security and cryptography (e.g., from CPSC 413, CPSC 467, or similar courses). To set the stage, we will go over the content of Katz and Lindell (https://www.cs.umd.edu/~jkatz/imc.html) in the first few lectures at a quick pace.
Grading
Coursework includes homework and written responses to reading assignments. Graduate students will present at the end of the semester.
- For undergraduate students: Participation (20%), Paper critiques (20%), Problem sets and labs (60%)
- For graduate students: Participation (20%), Paper critiques (20%), Problem sets and labs (40%), Presentation (20%)
Schedule
Go to this Google doc.