Home

Practical Cryptographic Systems

601.445 (undergraduate) / 601.645 (graduate) — Fall 2026 Johns Hopkins University, Department of Computer Science

   
Instructor Matthew Green
Lectures Mondays & Wednesdays, 3:00–4:15 pm
Location Krieger 170
First class Monday, August 31, 2026
Office hours Wednesdays 1:00–2:50 pm (instructor); TA hours TBA
Teaching assistants TBA
Contact Piazza — please do not email; use Piazza for all course communication (public posts or private posts to the instructors)

Reach the course staff through Piazza, not email. Post publicly when others might have the same question, or use a private post to the instructors for anything personal. Piazza is where all announcements and answers live.

Cryptography is deployed everywhere: in TLS connections, messaging apps, disk encryption, cryptocurrencies, and the authentication systems that hold the modern Internet together. It also fails constantly — almost never because the mathematics breaks, but because real systems misuse good primitives. This course is about cryptography as it is actually deployed: how practical systems are designed, how they fail, and how to attack and fix them.

This course has been redesigned for the AI era

You may use AI coding assistants and agents on programming assignments — in fact, we encourage it, because this is how professional cryptographic engineering increasingly works. But this course grades understanding, not code. The majority of your grade comes from in-person written exams and interactive code-review sessions in which you’ll walk through, defend, and modify your own submissions live, with a member of the course staff. Students who delegate their assignments to AI without deeply understanding the result have historically found this format unpleasant. See the Syllabus for details.

  • Syllabus — grading, policies, AI policy, exam dates
  • Schedule — lecture-by-lecture topics, readings, and deadlines
  • Assignments — released in the course GitHub repository as the semester progresses. Assignment 1: handout PDF · materials