Welcome to the Spring 2022 web page for Quantum Cryptography

Course Overview

This course will cover a selection of cutting-edge topics in quantum cryptography. We will begin with a brief introduction to quantum computing, and then discuss the influence of quantum computing on cryptography. We will cover:
1. Quantum attacks on classical cryptography and how to achieve resilience to them
2. Protocols that use quantum resources, such as quantum key distribution, copy-protection and quantum money
3. Interactive proofs with quantum devices
No prior background in quantum information/quantum physics/mechanics or in cryptography will be assumed, although students are expected to be well-versed with basic concepts in the theory of computation (P vs NP, Turing Machines, reductions), and are expected to pick up concepts in quantum cryptography along the way.

We will understand how an adversary that breaks advanced protocols can be transformed into an adversary that contradicts basic mathematical assumptions. Our focus will be on understanding key ideas in cryptography research published over the last few years, and identifying new directions and problems for the future.

Course Credits: 4
Time: Tuesdays and Thursdays, 2.00 - 3.15 pm
Location: 1302 Siebel.
Instructor: Dakshita Khurana, dakshita@illinois.edu
Office Hours: Tuesdays and Thursdays (after class).

Note: Students are encouraged to drop by during office hours (or set up, by email, an appointment to meet) within the first 3 weeks. This will help me learn more about your interests and what you hope to learn from this class, and I can help you with a choice of topic for your project.

We will have lecture notes uploaded on the course webpage, which will serve as the main resource for this course. Here is a list of additional resources.

Similar Course Offerings

Additional Resources: Books and Lecture Notes on Quantum Computing

Additional Resources: Books and Lecture Notes on Cryptography in General

Grading (subject to change until Jan 22)

10%: Class Participation.
The class is intended to be as interactive as possible: you are strongly encouraged to ask questions and offer answers. I will end my lectures with open questions that we will answer interactively during the next class. These questions will be easy to answer if you attend every lecture. Reading prescribed material before the next lecture is recommended to better understand the contents of the course.

20%: Preparing Video Snippets.
You will prepare clear video snippets explaining course content (and beyond, based on recent research) to a general audience, bonus points for clever ways to make it interesting and accessible! This component can be done in groups of 2.

40%: Assignments.
You will have 4 written assignments over the course of the semester.

30%: Project.
The purpose of the project is to expose students to research in cryptography. You can pick a project topic of your choice. The project can be a literature survey, or an attempt at original research to answer some open problem in cryptography. I am happy to consult individually with you during office hours or by appointment to provide guidance. You should feel free to work individually, or in teams of 2, and grades will be calibrated accordingly.

How to be Successful in this Course.
Attendance and class participation are important for success in this course. Please do your best to attend every lecture. Active participation in class will take you a long way. If you don't understand something, ask. If you didn't understand, there is a good chance that many others didn't, and you are likely doing everyone a favor. Read in advance of the next class, and be prepared to answer my questions during class.

If you are not comfortable with P versus NP, circuits, (non-uniform) Turing Machines, please read Sections 1, 2.1 and 6.1 from this textbook before the course begins. We will rely heavily on linear algebra throughout this course. Brush up your understanding of linear algebra here.

Course Schedule

The following is a tentative schedule and is subject to change.

Before the Course.
This course will assume familiarity with basic concepts in complexity theory. If you have not had prior exposure, please read Sections 1, 2.1 and 6.1 (all required), and section 10 (optional) from this textbook. 

Date Topic Notes from Class
(links outdated)
Additional Resources
      Boaz Barak's math background notesA Note on Negligible Functions

Quantum Mechanics:
Model, Unitaries, Measurements

Lecture Notes - 1 Nielsen-Chuang

Quantum Mechanics:
Operators, Matrices, Inequalities

Lecture Notes - 2 Nielsen-Chuang

Quantum Gates and Circuits

Lecture Notes - 3



Quantum Algorithms

Lecture Notes - 4 Nielsen-Chuang

Quantum Fourier Transform

Lecture Notes - 5 Nielsen-Chuang
02/03 Shor's Algorithm Lecture Notes - 6  

Shor's Algorithm

Lecture Notes - 7




Lecture Notes - 8


02/15 Quantum Key Distribution Lecture Notes - 9  

Quantum Oblivious Transfer

Lecture Notes - 10  

Quantum Rewinding - I

Lecture Notes - 11  
02/24 Quantum Rewinding - II Lecture Notes - 12  

Quantum Rewinding - III

Lecture Notes - 13  

Quantum Random Oracles - I

Lecture Notes - 14  

Quantum Random Oracles - II

Lecture Notes - 15  

Quantum Random Oracles - III

Lecture Notes - 16    

No class

  Spring break

No class

  Spring break
03/22 Encryption Lecture Notes - 17   


Lecture Notes - 18  

Quantum Fully Homomorphic Encryption - I


Quantum Fully Homomorphic Encryption - II​


Quantum Money - I

04/07 Quantum Money - II    

Quantum Money - III


Verification of Quantum Computation - I

04/19 Verification of Quantum Computation - II    

Classical Verification of Quantum Computation - I

04/26 Classical Verification of Quantum Computation - II    

Quantum Obfuscation


Quantum Copy-Protection