Copy Protection is a functionality first defined by Aaronson  that enables a Vendor to send a program (a circuit) to a Client so that the Client cannot duplicate it.
Classically, this functionality has been proven impossible. However, it is possible to copy protect some families of programs using quantum computation.
Tags: Quantum Functionality, Two Party Protocols, Universal Task, Computational Security
- Any kind of software licence protection
Currently, protocols for Copy Protection are only known for a few families of circuits.
- Quantum Copy Protection for Compute and Compare functions  
- Quantum Copy Protection for Pseudo Random Number Generators 
A Copy Protection protocol for a family of circuits is made of two algorithms:
- Protect, which takes as input a classical description of a circuit and outputs a quantum encoding of this circuit.
- Eval, which takes as input a quantum state and an classical input, and returns a classical output.
A Copy Protection scheme for a family of circuits has - if for any circuit of this family and for any input for this circuit,
A Copy Protection scheme for a family of circuits has - if no polynomially bounded quantum adversary can efficiently copy a protected program, more formally if for any such adversary, her probability of winning the following game is lower than :
- A Challenger samples a circuit C in the family and sends Protect(C) to the Adversary
- The Adversary runs any polynomial computation she wants on Protect(C) and sends two quantum states, respectively and to two of her agents, respectively Alice and Bob
- The Challenger samples two inputs for the circuit and sends to Alice and to Bob.
- Alice sends to the Challenger and Bob sends to the Challenger.
- The Adversary wins iff and
We assume that Alice and Bob cannot communicate with each other.
Even with quantum computation, Copy Protection is not possible for all families of circuits. Currently, it has been proven impossible for all learnable functions and de-quantumizable functions  .
- Aaronson (2009) proposed a fist definition of Quantum Copy Protection.
- Ananth, Prabhanjan, and La Placa (2020) constructed a family of unlearnable circuits that cannot be copy protected.
- Coladangelo et al. (2020) proposed a copy protection construction for Compute and Compare functions in the QROM.
- Broadbent et al. (2021) proposed a copy protection construction for Compute and Compare functions without assumptions but with a weaker adversary model.
- Coladangelo et al. (2021) proposed a copy protection construction for PRNGs based on coset states.