Topics in Cryptography

(CS 4501 and 6501) - Spring 2018

Objectives and Overview

Goals. The goal of this course is to develop skills that allow formally (i.e., mathematically) arguing about security. This involves knowing how to define security in various settings and how to use the right theoretical tools (also known as cryptographic primitives) to design the right solutions (also called protocols) for various tasks. As a result, proofs of security would be a major part of this course.

Pre-reqs. Due to the rather heavy mathematical side of this course, we assume you are comfortable with mathematical proofs. As a result, there are pre-reqs that are enforced (for undergrads) as follows. C or higher in CS2102 (Discrete Math) + CS3102 (Theory of computation). Algorithms (CS4102) also helps, but not mandatory if you are willing to learn the concepts needed for this class. If you have taken CS4102 but not CS3102, it is also accepted.

Logistics. We will meet Fridays 2-4:30pm in Thornton Hall D115. My office hours are Wed 12:30-1:30pm 511 Rice Hall, but you can always email me to meet me in other times if you could not make that time in a particular week.


Content. The course will have two parts. In the first part we go over the basic goals of privacy and security as well as main theoretical tools in cryptography for reaching these goals. The second part of the course will be focused on more advanced topics, and will involve reading classical as well as recent research papers in selected topics, examples include. You can find more details in the syllabus file.

Lecture notes (and videos). You can find specifics posts for each lecture here. For each class you can find suggested readings as well as link to the recorded video of the class (accessible through collab) and ther scribed lecture note written by you.


There will be up to six homeworks during the semester. You can find the posted homeworks (and their solutions after the submission date) here in the course's collab website.


There will be no single text-book that is followed closely in class. The content of the first half of the course will largely be based on the book Introduction to Modern Cryptography (2nd edition) by Jonathan Katz and Yehuda Lindell. However, there are also quite a few other great books that you can use. (I will post for each session which related chapters of the books could be used.) Examples include:

Other Resources

Piazza. We will also have a Piazza page which will serve as a place for discussions after the class and announcements. There you can ask any questions you have about the material and other students as well as myself will provide their thoughts on that.

Grading You can find the details of the grading policy in the in the syllabus file.