CS 152 Introduction to cryptography
Term: Fall 2019
Lectures: TT 1-2:30, 314 ANB
Instructor: Thomas Vidick
Office Hours: Tuesday 5-6pm, 207 ANB
TA: Alexander Poremba and Tina Zhang. OH: TBD.
This course is an introduction to quantum cryptography. The goal of the course is to give you the ability to understand at a conceptual as well as technical level what makes quantum cryptography different and exiting; what it is useful for and what are its limitations. Starting with the basics of quantum information and cryptography we will study fundamental tasks in quantum cryptography: quantum money, the quantum one-time pad, secret sharing, nonlocal games, and two-party tasks such as bit commitment, coin-flipping and oblivious transfer. By the end of the course you will be able to formally design, analyze and show security of cryptographic protocols that make use of quantum information to implement novel tasks with strong security guarantees.
Prerequisites: Ma 1b. CS 21, CS 38 or equivalent recommended. No background in quantum mechanics required, though Ph 2b and 12b can be helpful. This course is largely disjoint from CS 152 and can be taken independently from it.
Evaluation in the course is based on a variety of assignment types. The bulk of the work will be proof-based assignments with an emphasis on mathematical rigor. These are complemented by programming assignments that allow you to practice with the implementation of quantum circuits and protocols, and reading assignments that encourage you to reflect on the broader context.
In addition to attending 3 hours of lecture weekly, students are expected to:
- (10% of grade) Prepare for lecture by completing a small quizz or puzzle (weekly).
- (40% of grade) Turn in a bi-weekly homework set. There will be 4 sets. Each set will be 80\% proof-based and involve a small programming component using Julia/Jupyter notebooks.
- (15% of grade) Complete a bi-weekly reading assignment. There will be 4 reading assignments. The goal is to read an important historical paper in cryptography and turn in a 2-page critical assessment of the paper’s contributions.
- (30% of grade) Complete a project. This can be reading, research, or implementation-based. The project will lead to a report and an in-class presentation.
- Oct. 1st. Introduction to quantum cryptography
- Why use quantum information for cryptography?
- Basics of quantum information: qubits, basis measurements, unitary operations.
- Oct. 3rd. Quantum money (1/2)
- No Cloning
- Wiesner’s scheme for quantum money
- Multiple qubits: the tensor product
- Oct. 8th. Density matrices
- Density matrices
- Classical-quantum states
- Week 1, Sections 1,2,3,4 and 5
- Oct. 10th. The quantum one-time pad
- Secure message transmission
- The QOTP
* Wiesner’s 1983 paper due Friday 10/11
- Oct. 15th. Quantum money (2/2)
- Simple cloning attacks
- The Elitzur-Vaidman bomb tester.
- Oct. 17th. Introduction to entanglement
- Oct. 22nd Secret sharing.
- Oct. 24th Nonlocal games.
- Nov. 5th Measuring randomness: notions of entropy.
- Week 3, Sections 1,2 and 3
- Nov. 7th Guessing games.
- Nov. 12th Privacy amplification.
- Nov. 14th Extractors against quantum side information. Two-universal hashing. The pretty-good measurement
- Week 5, Sections 2,3 and 4
- Nov. 19th Information reconciliation.
- Nov. 21st The BB’84 protocol for quantum key distribution.
- Nov. 26th Security of BB’84 via the purified protocol.
- Nov. 28th No class due to Thanksgiving.
- Dec. 3rd Quantum cryptography using untrusted devices
- Dec. 5th Project presentations
Your main resource will be the lecture notes. They will be posted on Piazza as the class progresses.
The only textbook I am aware of on quantum cryptography is Protecting Information: From Classical Error Correction to Quantum Cryptography by Loepp and Wootters. The book covers some topics from the class, but it is somewhat dated and we will go further.
For general background, a good reference on quantum information is the book Quantum Computation and Quantum Information by Nielsen and Chuang.