This course serves as the introduction to cryptography 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; in this class, we will actually look "under the hood" and attempt to understand various cryptographic protocols and algorithms.
This course and CMSC 414 may be taken in either order.
We will begin with a brief discussion of "classical" cryptography and its limitations. Following this, we will define a notion of "perfect" 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 discussed in class.
A graduate cryptography course will be offered next semester (Spring, 2003).
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.
Final Exam Information
The final exam will be given on Saturday, December 21 from 8-10AM in room CSIC 1121.
Office Hours During Finals Week
I will hold office hours during finals week at the regularly-scheduled class time: Monday, Wednesday, and Friday 10-11.
General Information
The class meets Monday, Wednesday, and Friday from 10-10:50 in 1121 CSIC.
The textbook for the course is "Cryptography: Theory and Practice, 2nd edition" by Stinson. The second edition is very different from the first edition. Please do not use the older version of the book. Additional readings will be listed on the course homepage.
Grading will be based on 6-7 homeworks assigned throughout the course (40%), a midterm (25%), and a final exam (35%). Note that homeworks make up a significant portion of the final grade!
Graduate students taking the course (both Masters and PhDs students) will be required to do additional problems for homework. Their grades will also be curved independently of those of the undergraduate students.
Homework
You may collaborate on the homeworks with at most one other student in the class. Each student must independently write up their own solutions. Cheating will not be tolerated!
You may consult outside references when doing the homework, as long as these sources are properly referenced, you write up the solution yourself, and you understand the answer.
Feedback is very important. Please let me know (via email, if you like) if anything covered in class is unclear. Most likely, other students are having the same difficulty.
Check the course homepage frequently since all handouts will be distributed via the web and an updated syllabus will be maintained on this page.
Staff
Instructor:Jonathan Katz (jkatz AT cs). Office: 3225 A.V. Williams Building, tel. 405-1226. Office hours: Monday 11-12, Friday 9-10. Teaching Assistant: Nan Wang (nwang@cs.umd.edu). Office hours: Tuesday 4-6 in 1151 A.V. Williams (TA room).