This example protocol is a private-key protocol which implements Quantum Money, a unique object generated by a Trusted Third Party (TTP). It is then circulated among untrusted clients (Transferability). Each client should be able to prove the authenticity of his owned quantum money to a verifier. On the other hand, an adversary must fail in counterfeiting the quantum money with overwhelmingly high probability (Unforgeability).
In this scheme, a Trusted Third Party (TTP) and a coin holder run the following procedure for generating and verifying a quantum coin:
- Quantum coin Generation - The TTP chooses k random 4-bit strings, keeps them in secret and produce k quantum states. A newly issued quantum coin consists of a piece of paper glued to k quantum registers that hold k quantum states. The piece of paper contains a unique identification tag and k initially unmarked positions, where the i-th position has to be marked in k-bit classical register P when the corresponding quantum state is used in the verification protocol.
- Quantum coin Verification - To verify a quantum coin through classical communication with the TTP, its holder sends the identification number of the quantum coin to the TTP. Then, the TTP and the coin holder exchange some classical information for choosing some quantum registers. The coin holder measures the chosen registers and sends their corresponding classical information to the TTP. The TTP verifies the authenticity of the coin by the secret information he possesses.
- -states: ,
- for , if
- -queries: An -query is an element . A valid answer to the query w.r.t. is a pair , such that . An -state can be used to answer an -query with certainty: If , let
otherwise (m = 1), let
Measure in the basis , and let be if the outcome is ; in the case of ; in the case of ; in the case of . Then always.
- Network stage: quantum memory network.
- General Features:
- No need to quantum communication for quantum coin verification.
- The classical communication channel used for verification can be unencrypted.
- The database of the bank is static, and therefore many de-centralized “verification branches” can exist that do not have to communicate with one another.
- The number of verifications that a quantum coin can go through is limited.
- Security Claims:
- The coins are exponentially hard to counterfeit.
- Secure against an adversary who uses adaptive “attempted verifications” in order to collect information about a coin.
Stage 1: Quantum coin generation
Input: A secret record consists of entries ,
Output: A “fresh” quantum coin
The Trusted Third Party (TTP) chooses at random, keeps them in secret and produces quantum states . A “fresh” quantum coin corresponding to this record consists of:
- quantum registers consisting of 2 qubits each, where the -th register contains ;
- a -bit classical register , that is initially set to ;
- a unique identification number.
Stage 2: Quantum coin verification
Input: the identification number of the quantum coin
Output: Accept or Reject
This stage is run as follows:
- The holder sends the identification number of the quantum coin to the TTP.
- The TTP chooses uniformly at random a set of size , and sends it to the coin holder.
- The holder consults with and chooses uniformly at random a set consisting of yet unmarked positions. He sends to the bank and marks in all the elements of as used.
- The TTP chooses at random values , one for each , and sends them to the coin holder.
- The holder measures the quantum registers corresponding to the elements of in order to produce pairs (refer to -queries in Notations), such that for all . He sends the list of s to the TTP.
- The TTP checks whether for all , in which case it confirms validity of the quantum coin. Otherwise, the coin is declared to be a counterfeit.
Gavinsky, Dmitry. "Quantum money with classical verification." 2012 IEEE 27th Conference on Computational Complexity. IEEE, 2012, Available at: http://users.math.cas.cz/~gavinsky/papers/QuMoClaV.pdf