Instructor |
Timings |
Venkata Koppula kvenkata at cse.iitd.ac.in 413, Bharti Building |
Lectures: TF 14:00-15:30 |
A lattice (for this course) is a discrete additive subgroup of the
n-dimensional Euclidean space. Lattices have been used extensively in
computer science and mathematics. Recently (over the last two/three
decades), they have found numerous applications in cryptography - both for
cryptanalysis, and more recently, for building (quantum) secure
cryptosystems.
In this course, we will first study some basic properties of n
dimensional lattices, and discuss some problems on lattices that are
believed to be hard. Next, we will see why these problems are believed to
be hard. Following this, we will study some applications of lattices in
cryptanalysis. Finally, we will discuss how to use lattice-based hardness
assumptions to build cryptography.
Based on the class interest, we will cover (a subset of) the following topics:
This is a theoretical course, and therefore mathematical maturity will be necessary. Prerequisite for this course: COL351 - Analysis and Design of Algorithms. In particular, you should be comfortable with reductions in computer science (if you haven't done COL351, but are interested in attending, please send me an email). Familiarity with cryptography will be useful, but is not a prerequisite for this class.
Lectures and office hours will be online (MS Teams). We will also use MS Teams
for all discussions and announcements.
Grading will be based on assignments (40%), class participation (20%) and end-term presentations (40%).
There is no textbook for this course; relevant references will be posted in the schedule. Here are some popular courses on lattices and lattice-based cryptography.