15356/15856 Introduction to Cryptography
Instructor: Elaine Shi
Tuesday/Thursday 10:10am - 11:30am
TEPP 1101A + Zoom
Course Description
This course is aimed as an introduction to modern cryptography. This course will be a mix of applied and theoretical cryptography. 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 hardness assumptions.
Prerequisites: 15251 or 21228 or equivalent
The homeworks and midterms will involve formal mathematical proofs.
Attendance Options
In light of the uncertain COVID situation, we will accommodate multiple attendance options. The in-person lectures will be streamed over zoom, and recorded lectures will be available on Panopto after each lecture.
You are free to choose any of the following three attendance options:
Attend in person.
Attend synchronously over zoom --- you will be able to ask questions and interact with the instructor real-time if you choose this option.
Watch lectures asynchronously offline. If you are in the east coast time zone and prefer to attend remotely, we encourage you to attend synchronously over zoom, if at all possible.
Course Staff
Instructor: Elaine Shi (please send me course-related mail through Canvas)
TAs: Ke Wu (kew2@andrew.cmu.edu), and Abhiram Kothapalli (akothapa@andrew.cmu.edu)
Office Hours (in-person or zoom)
Elaine Shi: Monday 3pm-4:30pm (CIC 2214)
Ke Wu: Tuesday 1pm-2:30pm (CIC 2206)
Abhiram Kothapalli: Wednesday 3pm-4:30pm (CIC 2206)
Important note: To simultaneously accommodate in-person and zoom office hours, students should sign up for a 15-min slot beforehand for office hours. We will send out the signup link weekly, for scheduling the next week's office hours. The scheduling will be on a first-come-first-serve basis. Please sign up for at most 1 slot in each session. Please be considerate of others, and do not hog the slots if you don't need them. For office hour sign up please click here.
Grading
5 Homeworks (50%)
There will be one homework assignment roughly every other week. Homeworks are usually handed out on Thursdays after class, and they are due the next Thursday 11:59pm. The homeworks will not overlap with the weeks of the midterms. Every student will have a total of 3 grace days for all homeworks, and for each homework, you may use up to 2 grace days.
(if you are sick and need more grace days, you can email us and we will try to accommodate to the best that we can.)
3 midterms (40%)
We will have three take-home midterms, and no final. The midterms will be administered during a normal lecture. We will make them available right before class start, and you have to submit the answers by the end of the lecture time.
Participation (10%)
Due to the hybrid mode of attendance, we will uses quizzes to record participation. There will be one quiz for each lecture. The quiz will consist of 1-5 simple multiple choice questions. They should take you 5 minutes to answer if you have attended or watched the lectures. They are designed for taking attendance and helping you to learn the course materials, so you will get full points if you just answer all the questions (regardless of correctness). Each week's two quizzes are both due on Sunday 11:59pm of the corresponding week. You can miss up to 5 number of quizzes and still get full participation points.
Collaboration policy
You are required to work on the homeworks on your own. You may discuss with your peers, in which case you must clearly specify on the solution who you have discussed with (otherwise it will be viewed as a violation of academic integrity). Regardless, you are required to typeset the solution yourself. Copying another student's solution is regarded as a violation of academic integrity. You are allowed to use information on the Internet. Similarly, you must explicitly specify the source you used (otherwise it will be viewed as a violation of academic integrity).
For midterms, you are required to solve it on your own. No discussion with peers is allowed. You may look at the lecture notes, or watch the lecture videos. You should not search for answers on the Internet.
Academic integrity
We will take academic integrity very seriously. Honesty and transparency are important features of good scholarship. Equally importantly, plagiarism and cheating are serious academic offenses with serious consequences. If you are discovered engaging in either behavior in this course, you will earn a failing grade on the assignment in question, and further disciplinary action may be taken. For a clear description of what counts as plagiarism, cheating, and/or the use of unauthorized sources, please see the University Policy on Academic Integrity and the Carnegie Mellon Code on Academic Integrity.
Midterm Dates
Oct 7 (Thursday)
Nov 9 (Tues)
Dec 2 (Thurs)
Homework Schedule
1st HW: Sept 9-16
2nd HW: Sept 23-30
3rd HW: Oct 14-21
4th HW: Oct 28-Nov 4
5th HW: Nov 11-18
Suggested Readings
[JL] Introduction to Modern Cryptography by Jonathan Katz and Yehuda Lindell
[PS] A Course in Cryptography by Rafael Pass and abhi shelat
[G] Lecture notes on "Introduction to Cryptography" by Vipul Goyal
[S] Foundations of Distributed Consensus and Blockchains by Elaine Shi
We will post the notes for each lecture (sometimes chapters in the textbooks) in the syllabus.
Piazza
Please join the course Piazza at the following URL: piazza.com/cmu/fall2021/1535615856