CS/Ph 120 Quantum cryptography

Term: Fall 2019
Lectures: TT 1-2:30, 314 ANB
Instructor: Thomas Vidick (vidick@caltech.edu) Office Hours: Tuesday 6-7pm, 207 ANB
TA: Alexander Poremba (aporemba@caltech.edu) and Tina Zhang (tinazhang@caltech.edu). OH: Thursdays 5-6pm, 205 ANB.
Course website: Piazza

Course description

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:

  • (5% of grade) Read one chapter of the lecture notes (in pairs) and provide constructive feedback (such as typos, improvements to exercises, suggestions for reorganization, etc.).
  • (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.

Collaboration policy

Please refer to the collaboration table and ask the instructor in case of any confusion.

Indicative schedule of lectures

  • Oct. 1st. Introduction to quantum cryptography
    • Lecture:
      • Why use quantum information for cryptography?
      • Basics of quantum information: qubits, basis measurements, unitary operations.
    • Reading:
      • Chapter 0, Sections 1 to 7
  • Oct. 3rd. Quantum money (1/2)
    • Lecture:
      • No Cloning
      • Wiesner’s scheme for quantum money
      • Multiple qubits: the tensor product
    • Reading:
    • Assignment:
      • HW0 due Tuesday 10/08
  • Oct. 8th. Density matrices
    • Lecture:
      • Quantum money formalism
      • Density matrices
    • Reading:
      • Chapter 1, Sections 1,2,and 3
  • Oct. 10th. Generalized measurements
    • Lecture:
      • Classical-quantum states
      • Measurements
    • Reading:
      • Chapter 1, Section 4
    • Assignment:
      • Wiesner’s 1983 paper due Sunday 10/13
  • Oct. 15th. The quantum one-time pad
    • Lecture:
      • The partial trace
      • The quantum one-time pad
    • Reading:
      • Chapter 1, Section 5
  • Oct. 17th. Quantum money (2/2)
    • Lecture:
      • Simple cloning attacks
      • The Elitzur-Vaidman bomb tester.
    • Reading:
      • Chapter 2, Sections 2 and 3
    • Assignment:
      • HW1 due Friday 10/18
  • Oct. 22nd. Introduction to entanglement
    • Lecture:
      • Purifications
      • The Schmidt decomposition
      • Secret sharing
    • Reading:
      • Chapter 3, Sections 1, 2 and 3
  • Oct. 24th. Nonlocal games
    • Lecture:
      • The CHSH game
      • Monogamy of entanglement
    • Reading:
      • Chapter 3, Sections 4 and 5
    • Assignment:
      • Reading due Sunday 10/27
  • Nov. 5th Measuring randomness: notions of entropy.
    • Reading:
      • Chapter 3, Sections 1,2 and 3
  • Nov. 7th Guessing games.
    • Reading:
      • Chapter 3, Sections 4,5
    • Assignment:
      • HW2 due Friday 11/08
  • Nov. 12th Privacy amplification.
    • Reading:
      • Chapter 5, Sections 1 and 2
  • Nov. 14th Extractors against quantum side information. Two-universal hashing. The pretty-good measurement
    • Reading:
      • Chapter 5, Sections 2,3 and 4
    • Assignment:
      • Reading due Friday 11/15
  • Nov. 19th Information reconciliation.
    • Reading:
      • Chapter 6
  • Nov. 21st The BB’84 protocol for quantum key distribution.
    • Reading:
      • Chapter 7, Section 1
    • Assignment:
      • HW3 due Friday 11/22
  • Nov. 26th Security of BB’84 via the purified protocol.
    • Reading:
      • Chapter 7, Section 2
  • Nov. 28th No class due to Thanksgiving.
  • Dec. 3rd Quantum cryptography using untrusted devices
    • Reading:
      • Chapter 8
  • 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.