Instructor: Amit Kumar Chauhan
Time:
Lectures: Monday, Tuesday, Thursday 9:00 am-10:00 am
Cryptography, that began as the study of secret communication, has undergone a major revolution in recent years. It now enables us to achieve a variety of seemingly impossible tasks: from performing computations on encrypted data without revealing the data itself, to offloading computation to untrusted clients while maintaining verifiable results, and even making programs unintelligible while preserving their functionality. The advent of quantum computers has had a profound impact on cryptography, with potentially destructive consequences. Quantum computers, which harness the power of quantum mechanics, have demonstrated surprising capabilities over classical computers—most notably, Shor's and Grover's algorithms show that much of modern cryptography, once believed to be secure against classical computers, is now completely insecure against quantum computers.
This course will cover a selection of foundational topics in post-quantum cryptography (PQC). We will study the basics of quantum computing, quantum algorithms and their applications to attacks on cryptography, and the design of cryptosystems resilient to quantum attacks, such as lattice-based cryptosystems, code-based cryptosystems, and hash-based signatures.
This class is intended for graduate students or undergraduate CS or Math students. The most important pre-requisite is (some) mathematical maturity and familiarity with linear algebra. Students should be ready to read and write (and even enjoy!) mathematical definitions and proofs. Courses in theory of computation and cryptography would help, but are not necessary.
There is no mandatory textbook. Following is a list of rich resources/references for post-quantum cryptography and cryptography in general.
Ronald de Wolf, CWI, Lecture Notes on Quantum Computing
Chris Peikert, University of Michigan course on Lattices in Cryptography
Vinod Vaikuntanathan, MIT course on Lattices, Learning with Errors and Post-Quantum Cryptography
Leo Ducas and Daniel Dadush's course on Introduction to Lattice Algorithms and Cryptography
Carl Londahl, Notes on Code-Based Cryptography
R. Pass and a. shelat. A Course in Cryptography (fun and intuitive lecture notes for an undergrad crypto class, focusing on theory)
J. Katz and Y. Lindell. Introduction to Modern Cryptography (a textbook, relatively easy entry)
D. Boneh and V. Shoup A Graduate Course in Applied Cryptography (a textbook on applied cryptography)
Introduction to Post-Quantum Cryptography
Basics of Quantum Computing
Quantum Algorithms (Deutsch-Jozsa, Bernstein-Vazirani, Simon, Shor, Grover)
Quantum Security of Symmetric-Key Cryptosystems (Feistel cipher, AES, MAC, Hash Functions)
Quantum Security of Public-Key Cryptosystems (Diffie-Hellman, RSA, Elgamal)
Lattice-based Cryptography (SIS, LWE problems, Encryption (Regev), KEM (Crystals-Kyber), Signature (Dilithium, Falcon))
Code-based Cryptography (Syndrome Decoding problem, Encryption (McEliece), KEM (HQC))
Hash-based Signatures (Lamport-OTS, Merkle, XMSS, SPHINCS+)
Post-Quantum TLS protocol
Post-Quantum Signal protocol
Post-Quantum Blind Signatures
Post-Quantum Ring Signatures