CPSC 4440/5440: Real-World Cryptography

Course information⬆️

  • Time & Location: MW 11:35am-12:50pm in WTS A46 (Watson Center 60 Sachem Street A46)
  • Instructor: Fan Zhang
    • OH: 4 - 5pm Wednesday in AKW 503
  • TA: Yunhao Wang
    • OH: 4-5pm Thursday

Course Description⬆️

Cryptography provides strong security and privacy guarantees in well-defined mathematical models, but applying it to real-world systems is an art that must account for performance, cost, evolving adversarial threats, and even user behavior. This course examines how cryptographic tools underpin today’s digital infrastructure and protect users against powerful and evolving threats, including rogue governments, privacy-prying corporations, and malicious AI content. Topics include TLS, anonymity (e.g., Tor, DC Nets), secure messaging (e.g., Signal, WhatsApp), anonymity credentials (e.g., Cloudflare’s Privacy Pass, Google and Apple’s Private Tokens), Digital Identity, and Trusted Execution Environments (e.g., Intel SGX).

Prerequisites⬆️

Familiarity with basic concepts in computer security and cryptography is recommended. We will cover the necessary background in the first few lectures.

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%)

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.

📆 Schedule⬆️

Basic

  1. (01-12) Course intro
  2. (01-14) Crash course on useful cryptographic tools

TLS

  1. (01-21) Authenticated Key Exchange (AKE), TLS Handshake, and Real-world Attacks
  2. (01-23) Encryption, TLS Record layer, and Real-world Attacks
  3. (01-26) Watching the Gatekeepers: Certificate Transparency
  4. (01-28) Provenance of TLS sessions (“zkTLS”)
  5. (02-02) Revocation:
    • Clubcards for the WebPKI: smaller certificate revocation tests in theory and practice (IEEE S&P'25)
    • AccuRevoke: Enhancing Certificate Revocation with Distributed Cryptographic Accumulators (IEEE S&P'25)

Messaging under Strong Adversary

  1. (02-04) Mixnets, Onion routing, Tor
  2. (02-09) DC nets, Dissent
  3. (02-11) E2EE encrypted messaging
  4. (02-16) Censorship
  5. (02-18) Presentations:

Identity and Credentials

  1. (02-23) Passwords, Password Authenticated Key Exchange, OPAQUE
  2. (02-25) Anonymous tokens
  3. (03-02) OAuth & zkLogin
  4. (03-04) Key transparency
    • CONIKS, Parakeet, etc
  5. (03-23) DID and Decentralized Social Network
    • atproto
  6. (03-25) Presentations:
    • “Modern” Anonymous Credential (zk-cred)
    • Protecting End-to-End Encryption from a Malicious Zoom Server

Securing data in use (Trustworthy Computing)

  1. (03-30) Secure enclave
  2. (04-01) SGX in-depth (Memory Isolation)
  3. (04-06) SGX in-depth (Remote Attestation & Sealing)
  4. (04-08) TEE side channel attacks
  5. (04-13) TEE and everything we’ve learned so far

AI <> Cryptography

  1. (04-15) What crypto can/cannot do for AI?
  2. (04-20) How to curb the potential negative impacts of AI?
    • Watermarking
  3. (04-22) Presentation of final projects

Prior versions⬆️