CPSC 444/544: Real-World Cryptography

2025 Spring

Office Hours

Homeworks

We provide a LaTeX templates for homework submissions: template.

Late days

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.

Schedule

Go to this Google doc.