CS758: Advanced Tools from Modern Cryptography


Symmetric-key encryption, public-key encryption and zero-knowledge proofs

  • Instructor: Chethan Kamath
  • When and where: Slot 10 (14:00-15:25, Tuesdays and Fridays) in CC101
  • Teaching assistant: Priyanshu Singh (24M2101)
  • Contact hours: After lectures, and by appointment (via e-mail)
  • Announcements and online discussion: Moodle

[+]

Overview


Description

Lattices have turned out to be a key source of hardness assumptions for post-quantum cryptography. In this iteration of Advanced Tools from Modern Cryptography, we will look at some advanced cryptographic primitives like identity-based encryption, fully-homomorphic encryption and zero-knowledge proofs through the lens of lattices. The course will have the following structure.

  • Module I: We will study lattices from a mathematical and algorithmic point of view. In particular, we will cover several fundamental worst-case lattice problems (e.g., SVP and CVP) and algorithms for these problems (e.g., LLL).
  • Module II: We will study the average-case lattice assumptions that post-quantum cryptography relies on (e.g., SIS and LWE). Under these assumptions, we will then construct basic cryptographic primitives like one-way functions, collision-resistant hash functions and public-key encryption.
  • Module III: Finally, we will construct advanced cryptographic primitives like fully-homomorphic encryption and identity-based encryption from lattices

Prerequisites

Knowledge of basic cryptography, as covered in CS409 or CS409m, will be assumed. This course will involve some amount of theory, and thus we will expect mathematical maturity.

Who can credit?

The course is open to all CS, EE, Math and IEOR students except for BTech1s and BTech2s. If you are a BTech2 who has taken either CS409 or CS409m, and are keen to credit this course, please reach out to me.

Grading and Attendance

Weightage Towards
30% End-sem
25% Mid-sem
20% Paper presentation (two students per paper)
15% Two quizzes
5% Class participation
5% Scribing (1-2 lectures per student)
  • Attendance is not mandatory (but encouraged)
  • There will be five ungraded assignments to help you with quizzes and exams.
  • Instructions for scribing:
    • Please try to submit your scribe notes within two weeks of the lecture.
    • Please use this \(\LaTeX\) template for scribing (output) -- you will find the necessary instructions in the \(\TeX\) file. In case you have trouble compiling, drop by my office.
    • I will maintain the scribe notes (along with all my other course material) in this CSE Gitlab repository. Please drop me an e-mail if you'd like to be added as a member there.

[+]

Course Material


# Date Material Topics Covered
L01 06/Jan [↓]
  • Administrivia
  • Course overview
Module I: Introduction to Lattices
L02 09/Jan [↗]
R1 12/Jan [↗]
  • Basics of coding theory
L03 13/Jan [↗]
L04 16/Jan [↗]
A1 19/Jan [↗] Assignment 1
L05 20/Jan [↗]
R2 23/Jan [↗]
  • Basics of complexity theory
L06 27/Jan [↗]
L07 30/Jan [↗]
L08 03/Feb [↗]
Q1 04/Feb [↗] Quiz 1, 08:25-09:25 in CC101
L09 06/Feb [↗]
Module II: Basic Cryptography From Lattices
L10 10/Feb [↗]
  • Short integer solution (SIS) problem
  • One-way function (OWF) and collision-resistant hash function (CRHF) from SIS
R3 12/Feb [↗]
  • Cryptography refresher
L11 13/Feb [↗]
  • Worst-case to average-case reduction for SIS
L12 17/Feb [↗]
  • Worst-case to average-case reduction for SIS, continued
  • Gaussian distribution and smoothing parameter
A2 19/Feb [↗] Assignment 2
L13 20/Feb [↗]
M 27/Feb [↗] Mid-sem, 17:00-19:00 in CC101
Module III: Advanced Cryptography from Lattices
Q2 18/Mar [↗] Quiz 2
Paper Presentation
E TBD [↗] End-sem

[+]

Resources


Below you can find the list of resources relevant to this course. The list of per-lecture resources (e.g., further reading) can be found at the end of the respective notes.

Textbooks Related Courses Background Material Prior Iterations