
600.472 Theoretical Cryptography 


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.
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.
The mailing list is cs472[ignore this spam break]@cs.jhu.edu.
There will be five homeworks, one midterm exam, and a final exam. The final grade will be
computed using the following weights:
 Homeworks: 40%
 Midterm: 20%
 Final Exam: 30%
 Participation in class: 10%
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:
 write up their solutions separately;
 credit the people with whom they worked;
 note any reference material consulted.
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 handwritten solutions and handdrawn diagrams.
Last modified: Thursday, January 24, 2008