In the past several decades cryptography has become an indispensable tool for constructing secure electronic banking systems, Internet-based commerce, and secure mobile telephony. 

Due to the rapid adoption of this technology, many cryptographic systems have achieved widespread deployment without being subjected to proper design and evaluation.  This has led to a number of widely-publicized “breaks”: reports of serious vulnerabilities, including flaws in WiFi encryption, GSM cellular networks, SSL, disk encryption, and deployed biometric systems.

This semester-long course will teach systems and cryptographic design principles by example: by studying and identifying flaws in widely-deployed cryptographic products and protocols. Our focus will be on the techniques used in practical security systems, the mistakes that lead to failure, and the approaches that might have avoided the problem. We will place a particular emphasis on the techniques of provable security and the feasibility of reverse-engineering undocumented cryptographic systems.



Photos of inscribed key, Mykotronx MYK-78T Clipper chip, Nike Missile Control Panel and Nagra recorder by Matt Blaze, used under a Creative Commons license.


Monday / Wednesday, 3:00 - 4:15pm

Shaffer 202

Coursework, Exams & Grading

See the Course Syllabus page for slides and readings.  See also the Papers page for a sampling of the material we will be discussing in this class.

Grades will be assigned according to the following formula:

Assignments (40%): Students will be given two assignments, due at the beginning of class the following week.  Assignments are to be completed individually (no collaboration is allowed except where specifically indicated).

Presentations (10%): Students will be asked to give a group presentation on a topic related to the course.

Exams (40%): There will be a midterm and final exam covering material from lecture topics and student presentations.

Class participation (10%). 

Course TEXT, READINGS & Syllabus

There will be no mandatory text for this course. Reading will consist of case studies and academic research papers, with optional readings drawn from Anderson's Security Engineering, portions of which are available online. I also recommend Mao's Modern Cryptography and the Handbook of Applied Cryptography as references on cryptographic fundamentals.

  1. Full Syllabus (including course slides)

  2. Assignments: A1

  3. Past year midterms: 2011, 2010

  4. Reading List

Instructor: Matthew Green
Email: mgreen [at] cs.jhu.edu