Modern Cryptography is used at scale to secure information at rest and/or in transit, and recently to also secure our computations. This course is a graduate-level introduction to the foundations of modern cryptography. It is also open to advanced undergraduates. We will cover basic cryptographic tools, discuss their applications and instantiations, and introduce a formal mathematical framework to rigorously argue about security.
In particular, the tools covered will include pseudorandom generators, pseudorandom functions, symmetric-key encryption, message-authentication codes, digital signatures, public-key encryption, and hash functions, along with a small sampling of advanced topics like zero-knowledge proofs and fully-homomorphic encryption. For each of these tools, will learn how to mathematically define security, their use-cases in practice. We will also study their constructions from different computational hardness assumptions like the discrete-log problem, the factoring problem, and the plausible quantum-hard problem of learning-with-errors. We may briefly cover applications of these tools for blockchain settings.
Pre-requisites: There are no formal pre-requisites and the course will not assume any prior background in cryptography. However, basic mathematical maturity is expected; exposure to undergraduate-level probability, elementary number/group theory, proofs by contradiction, and hardness reductions (in complexity theory) is highly recommended. Please discuss with the instructor in case of any gaps in your background.
Course Materials: The class will be self-contained, but the following is a continually expanding list of good resources for supplementary reading:
The credits (100%) are broken down as follows:
Homework Assignments: The assignment will be posted on Fridays at 11:59pm and will be due within a week. The solutions must be typeset in LATEX and submitted as a pdf. Please see the schedule below for release and due dates for homeworks.
Final project: Students can form groups of two. Each group will be assigned a topic along with suggestions of 1-2 research papers on that topic. The group is expected to submit a 3-5 page report (typeset in LATEX) along with a 30 mins in-class presentation on their findings. The format for the report and presentations will be discussed in class. Students are encouraged to choose a topic from this pre-populated list. Students can propose their own topic but instructor approval is required.
Class participation: To encourage class participation, each student is required to provide reviews on three student presentations. Once the schedule for the presentations is out, students can sign up for presentations they want to review. Each review must be about 1000 words (less is acceptable), and must demonstrate your understanding of the presentation's content, highlight positive aspects about the presentation, and suggest improvements that can be undertaken by the group. The reviews will be made available to the presenters in anonymized form at the end of the semester. Please be positive and constructive in your reviews!
Late Submissions: Late submissions are highly discouraged. In case of any emergencies, please immediately consult with the instructor. The decision on accepting late submissions and/or the penalty imposed will lie solely with the instructor.
Academic Integrity: For homework assignments, students are encouraged to discuss homework problems (in groups of at most two) but are expected to write solutions independently. The name of the collaborator must be indicated. Additionally, the students are expected to adhere to KSoC's academic code of conduct outlined here, Please also look at the semester guidelines by CoE and KSoC as outlined here and here.
Throughout the course, we will make progress towards achieving the following five (+ two bonus) learning outcomes through lectures and other evaluation components:
Following is a tentative schedule for the semester. It is meant to give you an idea of the topics, but note that some of the topics may be altered depending on the pace and comfort of the class.
|1||8/22/23||Course Organization||Learn LATEX, Overleaf|
|8/24/23||One-time Pad, Computational Security|
|8/31/23||Pseudorandomness 2||HW1 open|
|9/7/23||Pseudorandomness 4||HW1 due|
|4||9/12/23||Symmetric-key Encryption 1|
|8/14/23||Symmetric-key Encryption 2||HW2 open|
|5||9/19/23||Message Authentication and Hash Functions 1|
|9/21/23||Message Authentication and Hash Functions 2||HW2 due|
|6||9/26/23||Digital Signatures 1|
|9/28/23||Digital Signatures 2|
|9||10/17/23||Public-Key Encryption 1|
|10/19/23||Public-Key Encryption 2||HW3 open|
|10||10/24/23||Zero-Knowledge Proofs 1|
|10/26/23||Zero-Knowledge Proofs 2||HW3 due|
|11/2/23||Blockchains 2||HW4 open|
|12||11/7/23||Advanced Topics 1 (Fully-homomorphic encryption)|
|11/9/23||Advanced Topics 2 (Program Obfuscation)||HW4 due|
|13||11/14/23||Student Presentations 1|
|11/16/23||Student Presentations 2|
|14||11/21/23||Student Presentations 3|
|11/23/23||No Class due to Thanksgiving Day|
|15||11/28/23||Student Presentations 4|
|11/30/23||Student Presentations 5|
|16||12/5/23||Student Presentations 6|
|12/7/23||Student Presentations 7||Final reports due|