Paper 2013/343

Quantum one-time programs

Anne Broadbent, Gus Gutoski, and Douglas Stebila


A one-time program is a hypothetical device by which a user may evaluate a circuit on exactly one input of his choice, before the device self-destructs. One-time programs cannot be achieved by software alone, as any software can be copied and re-run. However, it is known that every circuit can be compiled into a one-time program using a very basic hypothetical hardware device called a one-time memory. At first glance it may seem that quantum information, which cannot be copied, might also allow for one-time programs. But it is not hard to see that this intuition is false: one-time programs for classical or quantum circuits based solely on quantum information do not exist, even with computational assumptions. This observation raises the question, "what assumptions are required to achieve one-time programs for quantum circuits?" Our main result is that any quantum circuit can be compiled into a one-time program assuming only the same basic one-time memory devices used for classical circuits. Moreover, these quantum one-time programs achieve statistical universal composability (UC-security) against any malicious user. Our construction employs methods for computation on authenticated quantum data, and we present a new quantum authentication scheme called the trap scheme for this purpose. As a corollary, we establish UC-security of a recent protocol for delegated quantum computation.

Note: Minor correction to proceedings version based on feedback from Christopher Portmann. Full version available at arXiv:1211.1080 (

Available format(s)
Cryptographic protocols
Publication info
A minor revision of an IACR publication in CRYPTO 2013
quantum cryptographyone-time programs
Contact author(s)
ggutoski @ perimeterinstitute ca
2013-08-03: revised
2013-06-09: received
See all versions
Short URL
Creative Commons Attribution


      author = {Anne Broadbent and Gus Gutoski and Douglas Stebila},
      title = {Quantum one-time programs},
      howpublished = {Cryptology ePrint Archive, Paper 2013/343},
      year = {2013},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.