Introduction to Cryptography

Course ID 15856

Doctoral Breadth Course: Algorithms and Complexity - (*)
Classes marked with "*" (star) are appropriate for any CSD doctoral or 5th year master's student.

Description

This course is aimed as an introduction to modern cryptography. This course will be a mix of applied and theoretical cryptography.

Key Topics
We will cover popular primitives such as: pseudorandom functions, encryption, signatures, zero-knowledge proofs, multi-party computation, and Blockchains. In addition, we will cover the necessary number-theoretic background. We will cover formal definitions of security, as well as constructions based on well established assumptions like factoring. Please see the course webpage for a detailed list of topics.

Required Background Knowledge
The course does not assume any prior background in cryptography or computer security. However a basic level of mathematical maturity is expected. It is recommended that you must have taken a course either in: algorithms or theoretical computer science (such as 15-251) or probability/discrete math (such as 21-228). Currently the prerequisites for this course are 15-251 (OR) 21-228. However if you haven't taken either of these course but you still believe you can handle the material (e.g., because you did very well in 15-151 or you have special interest in Crypto), please enroll in the waitlist and send the instructor an email.

Course Relevance
Section R is reserved for students who are unable to register for an in-person section due to a government visa/travel restriction or a documented medical condition. Enrollment in this section will require university-level approval. Register for an in-person section unless you are absolutely certain when you register that you will not be able to attend in-person this Fall.

Assessment Structure
Grading policy for both the sections is the same:

5 Homeworks: 10% each
Midterm (in class): 25%
Final (take home): 25%
Class participation and attendance: extra credits (up to 5%)
Improve lecture notes: extra credits (up to 10%)

Course Link
http://www.cs.cmu.edu/~goyal/15856/