Theoretical Cryptography

Course Home Page
General Information/Policies
Course Materials by Lecture Date


This is an introductory graduate course in cryptography. We will assume that you have taken a prior course in discrete mathematics, but not a prior course in cryptography. It is recommended, but not required, that 600.471 (Theory of Computation) or an equivalent course in complexity theory be taken prior to this course.

Course materials

As a text for this course, we will be using a combination of the following online lecture notes: For additional resources on cryptography, we recommend the following textbooks: For a good source on number theory, we recommend A Computational Introduction to Number Theory and Algebra by Victor Shoup. (This book is freely available online under a Creative Commons license.)

For a good source on complexity theory, we recommend Introduction to the Theory of Computation (2nd Edition) by Michael Sipser.

Course Mailing List

The mailing list is cs472[ignore this spam break]@cs.jhu.edu.

Grading Policy

There will be five homeworks, one mid-term exam, and a final exam. The final grade will be computed using the following weights:

Collaboration Policy

We strongly encourage collaboration on homeworks. We do not expect you to be able to solve every problem on your own. We do, however, expect you to write up your own solution to every problem even if the solution is the result of a collaborative effort. You must also credit the people with whom you worked and explicitly note any reference material consulted.

To repeat: each person must:

  1. write up their solutions separately;
  2. credit the people with whom they worked;
  3. note any reference material consulted.

Credit on Homeworks and Exams

Full credit will be given for correct answers and proofs (with complete citations and collaboration lists on homeworks). We will also grant partial credit for partial solutions and solutions with minor flaws or gaps. This partial credit will increase if the gaps are explicitly noted. We will give no credit for wildly incorrect answers which are obviously only there in the hopes of getting partial credit. Please only write down answers in which you are confident.

We recommend that all homework solutions be typed up: the following template is available to help you get started. However, we will accept neatly hand-written solutions and hand-drawn diagrams.

Last modified: Thursday, January 24, 2008