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

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.