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
  • Oct. 29th Measuring randomness: notions of entropy.
    • Reading:
      • Chapter 3, Sections 1,2 and 3
  • Oct. 31st Guessing games.
    • Reading:
      • Chapter 3, Sections 4,5
    • Assignment:
      • HW2 due Friday 11/01
  • Nov. 12th Privacy amplification.
    • Reading:
      • Chapter 5, Sections 1 and 2
  • Nov. 5th. Extractors against quantum side information. Two-universal hashing.
    • Reading:
      • Chapter 5, Sections 2,3 and 4
    • Assignment:
      • Reading due Sunday 11/10
  • Nov. 7th. The BB’84 protocol for quantum key distribution.
    • Lecture:
      • Information reconciliation
      • Parameter estimation
      • Security proof
    • Reading:
      • Chapter 6
  • Nov. 12th Two-party cryptography
    • Lecture:
      • Bit commitment
      • Oblivious transfer
    • Reading:
      • Chapter 7
  • Nov. 14th Cryptography in the noisy storage model
    • Reading:
      • Chapter 8
    • Assignment:
      • HW3 due Friday 11/15
  • Nov 19th
  • Nov 21st
  • Nov 26th
  • Nov. 28th No class due to Thanksgiving.
  • Dec. 3rd Delegated computation
    • 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.