This is an advanced graduate course. It will build on your prior knowledge in algorithms, complexity theory, basic number theory and basic cryptography. Please see the instructor if you have questions about your background.

There is no text for this course. Please check the website for handouts and supplemental readings. You may find Foundations of Cryptography by Oded Goldreich to be useful. Also, for reviewing complexity theory, see Introduction to the Theory of Computation by Michael Sipser.

The course mailing list is cs641[ignore this spam break]@cs.jhu.edu. This list mails all students and listeners. (The instructor is NOT on this list, so add susan[ignore this spam break]@cs.jhu.edu if you wish to include her.) The list will be used for course announcements and is also available for student discussions.

There will be no quizzes or finals. There will be approximately three problem sets; the last one being larger and more open-ended than the first two. Students will also scribe lectures in rotation. Scribe notes will be posted on the website for everyone, so they should be reasonably polished. The final grade will be
computed using the following weights:

Scribe notes are due one week from the day of scribing. They should contain the information from lecture polished so that the notes are understandable to a classmate who was not in lecture. This includes filling in details and looking up references. You are encouraged to use the following template and bib file to help you with your scribe notes (and homeworks)! Recall that you first need to run "latex template" twice followed by "bibtex template".

We strongly encourage collaboration.
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. To repeat: each person
must write up their solutions separately. Also, in your write-up
please credit the people with whom you worked.
If you consult any reference material, please note which sources
you used for each problem.