Cryptography - CMSC 456

Fall 2004

Course Outline

This course serves as an introduction to cryptography suitable for advanced undergraduates and graduate students. The focus is on definitions, theoretical foundations, and rigorous proofs of security. This course is cross-listed with the mathematics department, so it will have a significant mathematical component. This course complements Computer and Network Security (CMSC 414) which focuses more on "high-level" issues and actual systems; in this class, we will look "under the hood" and attempt to understand various cryptographic protocols and algorithms. This course and CMSC 414 may be taken in either order, and are designed to be largely independent of each other.

We will begin with a brief discussion of "classical" cryptography and its limitations. Following this, we will define a notion of "perfect" (information-theoretic) security and see what can and cannot be achieved in this sense. This will lead us naturally to the modern, complexity-theoretic appraoch to cryptography in which security is based on the assumed computational hardness of various problems. In this vein, we will study pseudo-randomness, private-key (i.e., shared key) encryption and message authentication, block ciphers, authentication, public-key encryption, and digital signatures. Advanced topics will be covered as time permits.

No advanced mathematics background is assumed, but students are expected to possess "mathematical maturity" since many of the concepts will be abstract and rigorous proofs will be given occasionally throughout the semester. Discrete mathematics (probability theory, modular arithmetic) and complexity theory are also helpful, but the necessary prerequisites will be covered in class.

A graduate cryptography course is offered regularly by the instructor. The graduate course will not assume that students have taken the undergraduate course; therefore, there will be a fair amount of overlap between the two. In any case, I welcome students who wish to take both. The graduate version will cover more material in far greater depth, will assume slightly more mathematical background, and will focus more on rigorous proofs of security. If you have questions about which version is "right" for you, please see me.

General Information


Instructor: Jonathan Katz (jkatz AT cs). Office: 3225 A.V. Williams Building. Office hours: Thursday 3:30 - 4:30 (note change in day), or by appointment.
Teaching Assistant: Nan Wang (nwang AT cs). Office hours: Tuesday and Thursday 4 - 5 in 1151 A.V. Williams (TA room).


Syllabus and Assigned Reading (updated throughout the semester)

Handouts and Homeworks

Lecture Notes

Additional Readings and Useful Links