We provide a LaTeX templates for homework submissions: template.
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).
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.
Coursework includes homework and written responses to reading assignments. Graduate students will present at the end of the semester.
Go to this Google doc.