This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

11institutetext: UC Berkeley 22institutetext: Princeton University 33institutetext: NTT Research

Franchised Quantum Money

Bhaskar Roberts and Mark Zhandry 112233
Abstract

The construction of public key quantum money based on standard cryptographic assumptions is a longstanding open question. Here we introduce franchised quantum money, an alternative form of quantum money that is easier to construct. Franchised quantum money retains the features of a useful quantum money scheme, namely unforgeability and local verification: anyone can verify banknotes without communicating with the bank. In franchised quantum money, every user gets a unique secret verification key, and the scheme is secure against counterfeiting and sabotage, a new security notion that appears in the franchised model. Finally, we construct franchised quantum money and prove security assuming one-way functions.

1 Introduction

The application of quantum information to unforgeable currency was first envisioned by Wiesner [Wie83], and these early ideas laid the foundation for the field of quantum cryptography. However, Wiesner’s scheme for quantum money has a major drawback: verifying that a banknote is valid requires a classical description of the state, so the banknote must be sent back to the bank for verification.

The key properties that make cash (paper bills) useful are that anyone can verify banknotes locally, without communicating with the bank, and the banknotes are hard to counterfeit. In a classical world, digital currency cannot hope to achieve these properties because any classical bitstring can be duplicated. In a quantum world, we have hope for uncounterfeitable money because of the no-cloning theorem.

Recent works [Aar09, FGH+12, AC12, Zha19] have sought a public test to verify banknotes. A scheme with such a test is called public key quantum money (or PKQM). Unfortunately, a convincing construction of public key quantum money has been notoriously elusive. Most proposals have been based on new ad hoc complexity assumptions, and in many cases those assumptions were broken [FGH+12, PFP15, Aar16]. Recently, Zhandry [Zha19] showed that the [AC12] scheme can be instantiated using recent indistinguishability obfuscators. However, the quantum security of such obfuscators is currently unclear. Zhandry also proposed a new quantum money scheme in [Zha19], but the security of his scheme was also called into question [Rob21].

Franchised Quantum Money:

In this work, we introduce franchised quantum money (FQM), which is useful as a currency system, easier to construct than public key quantum money, and potentially a stepping stone to PKQM. In franchised quantum money, every user receives a unique secret verification key. With their key, a user can verify banknotes locally, but they cannot create counterfeit money that would fool another user. Our main result is to show how to realize franchised quantum money under essentially minimal assumptions, namely one-way functions.

Franchised quantum money is a secret key scheme that approximates the functionality of a public key scheme. In particular, franchised quantum money achieves local verification111[BS20] also propose a quantum money scheme that tries to approximate the functionality of PKQM. However, their scheme does not achieve local verification: their banknotes must be periodically sent back to the bank for verification. Furthermore, the way they define security is hard to justify..

The franchised verification model is broadly useful for approximating the security guarantees of public key verification. Building off of an earlier, unpublished version of this paper, [KNY21] proposed a franchised verification model for quantum lightning, and combined with a lattice assumption that we also proposed, they constructed a scheme for secure software leasing.

The central feature of franchised quantum money is that each user has a unique secret key. Furthermore, we only require that an adversary cannot trick a different user into accepting a counterfeit banknote.

The difficulty with PKQM is that if the adversary knows the verification key, they know what properties of the state will be tested during verification. It is hard to design a verification procedure that reveals just enough information to verify banknotes, without giving enough information to create fake banknotes that fool the verifier.

Franchised quantum money does not have this issue. The adversary does not know any other user’s key, so they don’t know what properties the other user will test during verification. Therefore it is hard for the adversary to trick the other user into accepting a counterfeit banknote.

1.1 Technical Details

Definition of Franchised Quantum Money:

In franchised quantum money, there is a trusted party, called the bank, that administers the currency system by generating verification keys and banknotes. A banknote is valid if it was generated by the bank.

The other participants in the system are untrusted users, who send and receive banknotes among each other. Each user can request a unique secret verification key from the bank. The key allows the user to verify any banknote they receive, and valid banknotes are accepted by verification with overwhelming probability.

Some users (the adversaries) are malicious and try to trick other users into accepting invalid banknotes. However it’s hard for an adversary to create invalid banknotes that another user would accept.

Security:

In order to be considered secure, a franchised quantum money scheme must be secure against both counterfeiting and sabotage.

Security against counterfeiting:

We say that the scheme is secure against counterfeiting if it is hard for an adversary with mm valid banknotes to get any other users to accept m+1m+1 banknotes. The key difference from public key quantum money lies in the word other. We don’t care if the adversary can produce m+1m+1 banknotes that they themself would accept.

In fact in our construction, it’s easy for the adversary to “trick themself” into accepting invalid banknotes, because if they know what key will be used in verification, they can create invalid banknotes that will be accepted. However, a different user with a key that is unknown to the adversary will recognize these banknotes as invalid.

Security against sabotage:

Because each user has a different key, there is a second kind of security we need to consider. We don’t want one user to accept an invalid banknote that another user would reject.

We call this attack sabotage:222We borrow this name from [BS20]. the adversary takes a valid banknote and modifies it. Then they give it to one user, who accepts it even though the banknote is invalid. But when the first user tries to spend the banknote with a second user, the second user rejects the banknote.

How could sabotage be possible if the scheme is secure against counterfeiting? The adversary does not need to spend more banknotes than they received in order to succeed at sabotage.

A scheme is secure against sabotage if the adversary cannot produce a banknote that one other user accepts but which a second other user rejects.

Remark 1.

We note that sabotage attacks are also a potential concern for public key quantum money schemes. Even though all users run the same verification procedure, technically two successive runs of the procedure may not output the same result. However, this problem can always be avoided by implementing verification as a projective measurement.

Furthermore, in practice, decoherence between runs may cause successive runs to behave differently. In this case too, sabotage attacks may be relevant.

To the best of our knowledge, this is the first work to point out these potential problems.

If an FQM scheme is secure against counterfeiting and sabotage, then it is practically useful as currency. This is because users can trust that any banknote they accept will be accepted by all other users, and the money supply will not increase unless the bank produces more banknotes. Therefore, these banknotes can hold monetary value. Quantum money does not need to be public key in order to be useful as a currency system.

Construction from Hidden Subspaces:

Our construction of FQM is based on [AC12]’s proposal for PKQM from black-box subspace oracles. Below is a simplified version of our construction. A less-simplified version is given in section 4, and the full version is given in section 5.

Banknote:

The banknote is an nn-qubit quantum state. We can think of its computational basis states as vectors in 2n{\mathbb{Z}}_{2}^{n}. The banknote |A\ket{A} is a superposition over some random subspace A2nA\leq{\mathbb{Z}}_{2}^{n} such that dim(A)=dim(A)=n/2dim(A)=dim(A^{\perp})=n/2. We call this state a subspace state.

|A=1|A|𝐱A|𝐱\ket{A}=\frac{1}{\sqrt{|A|}}\sum_{{\mathbf{x}}\in A}\ket{{\mathbf{x}}}
Verification key:

For a given banknote |A\ket{A}, each verification key is a pair of random subspaces (V,WV,W). VAV\leq A and WAW\leq A^{\perp}, and the dimension of VV and WW is t:=Θ(n)t:=\Theta(\sqrt{n}). Each verifier gets an independently random (V,WV,W).

Verification:

To verify a banknote, the verifier performs two tests, one in the computational basis, and one in the Fourier basis.

First we test that the classical basis states of |A\ket{A} are in WW^{\perp}.

Then we take the quantum Fourier transform of the banknote. If the banknote is valid, the resulting state, |A~\widetilde{\ket{A}}, is a superposition over AA^{\perp} ([AC12]):

|A~=|A=1|A|𝐲A|𝐲\widetilde{\ket{A}}=\ket{A^{\perp}}=\frac{1}{\sqrt{|A^{\perp}|}}\sum_{{\mathbf{y}}\in A^{\perp}}\ket{{\mathbf{y}}}

Next, in the Fourier basis, we test that the vectors in |A~\widetilde{\ket{A}}’s superposition are in VV^{\perp}. Finally we take the inverse quantum Fourier transform, and return the resulting state. We accept the banknote if both tests passed. If the banknote was valid, the final state is the same as the initial one.

Discussion:

A verifier will accept any subspace state |B\ket{B} where VBWV\leq B\leq W^{\perp}. Note that the adversary can easily construct a |B\ket{B} based on their key (V,WV,W) that they themself would accept.

However, an adversary cannot trick other users into accepting an invalid banknote. With probability overwhelming in nn, the other user’s (V,WV,W) include dimensions of AA and AA^{\perp}, respectively, that are unknown to the adversary. Any banknote the adversary tries to produce, other than an honest banknote, will almost certainly get “caught” by these other dimensions and rejected.

Multiple banknotes.

In the simplified construction above, one verification key (V,WV,W) cannot verify multiple banknotes. Each banknote uses a different subspace AA, and (V,W)(V,W) depend on the choice of AA.

However in the full construction, one verification key needs to verify every banknote the user receives. To achieve this, we assume the existence of one-way functions, which implies CPA-secure encryption. First, (V,WV,W) are encrypted and appended to the banknote as a classical ciphertext. Then the decryption key serves as the verification key – the verifier decrypts the ciphertext to get (V,WV,W), which they use to verify the banknote.

It is straightforward to see that some computational assumptions are necessary for franchised quantum money, since given an unlimited number of banknotes, the bank’s master secret key is information-theoretically determined. So our construction of franchised quantum money uses essentially minimal assumptions.

Franchised vs. Obfuscated Verification:

The franchised verification model allows us to avoid using obfuscation when constructing quantum money, and the model may be useful beyond quantum money as a way to avoid obfuscation.

[AC12, Zha19]’s construction of PKQM relies on strong forms of obfuscation, such as post-quantum-secure iO, for which we we have no convincing construction. The PKQM construction is like our FQM construction, except every verifier uses V=AV=A and W=AW=A^{\perp}. We call this full verification, in contrast to franchised verification. Additionally, the oracles checking membership in AA and AA^{\perp} are obfuscated so the adversary can’t learn AA.

In the franchised model, there is no need for obfuscation. The adversary only gets query access to the verifier, and they do not know the other users’ verification keys. It is therefore feasible to construct FQM from assumptions weaker than obfuscation.

Finally, the franchised verifiers enjoy essentially the same security as full verifiers. We will show that the adversary cannot distinguish whether they’re interacting with a full verifier or a franchised verifier, so our FQM construction inherits the security guarantees of the PKQM construction.

Colluding adversaries:

As we defined FQM above, each user receives one verification key. But in the real world, it’s possible that multiple adversaries collude: they pool their verification keys to gain more counterfeiting or sabotage power.

In our construction, each key gives a small number of dimensions of AA and AA^{\perp}. If the adversary has unlimited verification keys, then they can learn all of AA and AA^{\perp} and produce as many copies of |A\ket{A} as they want. So we will impose a collusion bound: no more than C=n4tC=\frac{n}{4t} adversaries can work together. This means no adversary learns more than n/4n/4 dimensions of AA (or AA^{\perp}). With this collusion bound, the scheme is secure.

Although our scheme needs large banknotes to handle a large collusion bound, this may be reasonable in any scenario where the number of users is small – for example, in markets for certain financial securities, event tickets, etc. 333We thank an anonymous reviewer for suggesting these applications.

Additionally, collusion bounds are commonplace in cryptography, for example in traitor tracing. Our construction is analogous to the early days of traitor tracing, where the initial schemes [CFN94] had ciphertexts with size linear in the collusion bound, and the main goal became to shrink the ciphertext size. Eventually, [GKW18] essentially removed the collusion bound, giving a construction that is secure against exponentially many colluding adversaries, as a function of the ciphertext size.

Finally, we expect that any FQM scheme will require a collusion bound of some kind or else it would likely yield PKQM. See section 1.2 for more detail.

1.2 Next Steps

Increase the collusion bound:

The main open problem is to increase the collusion bound, while maintaining small banknotes and verification keys. In our construction of FQM, the size of the banknotes (nn) grows faster than the collusion bound (C=Θ(n)C=\Theta(\sqrt{n})). A reasonable next step is to construct a scheme whose banknote size grows slower than the collusion bound.

Here are two possible approaches: first, we might use LWE or similar assumptions to add noise to the verification keys. Given many noisy keys, an adversary would hopefully be unable to learn the secret information needed for counterfeiting. LWE has been used in traitor tracing [GKW18] to increase the collusion bound while achieving short ciphertexts and secret keys (which are analogous to banknotes and verification keys).

Second, we can use combinatorial techniques, such as those used for traitor tracing in [BN08]. [BN08]’s techniques have resulted in optimally short ciphertexts and might be used to achieve short banknotes. However, combinatorial techniques in traitor tracing usually come at the cost of much larger secret keys, and we might expect something similar for franchised quantum money.

Work up to public key quantum money:

Franchised quantum money is a potential stepping stone to PKQM. Intuitively, the larger the collusion bound, the more the scheme behaves like PKQM, and we expect that PKQM can be easily constructed from an FQM construction that has unbounded collusion.

Hypothetically, how would we prove security for an FQM scheme with unbounded collusion? The reduction would have to generate the adversary’s verification keys, and somehow use the adversary’s forgery for honest keys to break some underlying hard problem. But if the reduction could generate new verification keys for itself, then the construction might also be able to generate these new keys. If this were the case, we would easily get a public key quantum money scheme: to verify a banknote, generate a new verification key for yourself, and use that key.

Franchised semi-quantum money:

We can make the mint in our scheme entirely classical, similar to the semi-quantum money scheme of [RS19], which is a secret key scheme. This follows from the fact that anyone can create new (un-signed) banknotes. To create and send a new banknote to a recipient, the recipient will generate a new un-signed banknote |$|\$\rangle with serial number 𝐲{\mathbf{y}} on its own. It will then send 𝐲{\mathbf{y}} to the mint, who will sign 𝐲{\mathbf{y}} with a classical signature scheme.

2 Preliminaries

Subspaces

  • \circ

    For any subspace A2nA\leq\mathbb{Z}_{2}^{n}, AA will also refer to a matrix whose columns are a basis of the subspace AA. The matrix serves as a description of the subspace.

  • \circ

    Let A={𝐱2n|𝐚A,𝐱,𝐚=0}A^{\perp}=\{{\mathbf{x}}\in\mathbb{Z}_{2}^{n}\ |\forall\mathbf{a}\in A,\langle{\mathbf{x}},\mathbf{a}\rangle=0\} be the orthogonal complement of AA.

  • \circ

    Let |A=1|A|𝐱A|𝐱\ket{A}=\frac{1}{\sqrt{|A|}}\sum_{{\mathbf{x}}\in A}\ket{{\mathbf{x}}}

  • \circ

    Let OA:2n{0,1}O_{A}:\mathbb{Z}_{2}^{n}\rightarrow\{0,1\} decide membership in AA. That is, 𝐱2n\forall{\mathbf{x}}\in\mathbb{Z}_{2}^{n}:

    OA(𝐱)=𝟙𝐱AO_{A}({\mathbf{x}})=\mathbbm{1}_{{\mathbf{x}}\in A}

    Given a basis BB of AA^{\perp}, we can compute OAO_{A} as follows:

    OA(𝐱)=𝟙BT𝐱=𝟎O_{A}({\mathbf{x}})=\mathbbm{1}_{B^{T}\cdot{\mathbf{x}}=\mathbf{0}}

Quantum computation.

Here we recall the basics of quantum computation, and refer to Nielsen and Chuang [NC00] for a more detailed overview.

A quantum system is a Hilbert space {\mathcal{H}} and an associated inner product |\langle\cdot|\cdot\rangle. The state of the system is given by a complex unit vector |ψ|\psi\rangle. Given quantum systems 1{\mathcal{H}}_{1} and 2{\mathcal{H}}_{2}, the joint quantum system is given by the tensor product 12{\mathcal{H}}_{1}\otimes{\mathcal{H}}_{2}. Given |ψ11|\psi_{1}\rangle\in{\mathcal{H}}_{1} and |ψ22|\psi_{2}\rangle\in{\mathcal{H}}_{2}, we denote the product state by |ψ1|ψ212|\psi_{1}\rangle|\psi_{2}\rangle\in{\mathcal{H}}_{1}\otimes{\mathcal{H}}_{2}. A quantum state |ψ|\psi\rangle can be “measured” in an orthonormal basis B={|b0,,|bd1}B=\{|b_{0}\rangle,...,|b_{d-1}\rangle\} for {\mathcal{H}}, which gives value ii with probability |bi|ψ|2|\langle b_{i}|\psi\rangle|^{2}. The quantum state then collapses to the basis element |bi|b_{i}\rangle.

For a state over a joint system 12{\mathcal{H}}_{1}\otimes{\mathcal{H}}_{2}, we can also perform a partial measurement over just, say, 1{\mathcal{H}}_{1}. Let {|a0,}\{|a_{0}\rangle,...\rangle\} be a basis for 1{\mathcal{H}}_{1} and {|b0,}\{|b_{0}\rangle,...\rangle\} a basis for 2{\mathcal{H}}_{2}. Then for a general state |ψ=i,jαi,j|ai|bj|\psi\rangle=\sum_{i,j}\alpha_{i,j}|a_{i}\rangle|b_{j}\rangle, measuring in 1{\mathcal{H}}_{1} will give the outcome ii with probability pi=j|αi,j|2p_{i}=\sum_{j}|\alpha_{i,j}|^{2}. In this case, the state collapses to 1/pijαi,j|ai|bj\sqrt{1/p_{i}}\sum_{j}\alpha_{i,j}|a_{i}\rangle|b_{j}\rangle.

Operations on quantum states are given by unitary transformations over {\mathcal{H}}. An efficient quantum algorithm is a unitary UU that can be decomposed into a polynomial-sized circuit, consisting of unitary matrices from some finite set.

Miscellaneous

A function f(λ)f(\lambda) is negligible, written as f(λ)=𝗇𝖾𝗀𝗅(λ)f(\lambda)={\sf negl}(\lambda), if f(λ)=o(λc)f(\lambda)=o(\lambda^{-c}) for any constant cc. 𝗉𝗈𝗅𝗒(λ){\sf poly}{}(\lambda) is a generic polynomial in λ\lambda. A probability pp is overwhelming if 1p=𝗇𝖾𝗀𝗅(λ)1-p={\sf negl}(\lambda). Finally [λ]={1,,λ}[\lambda]=\{1,\dots,\lambda\}, for any λ\lambda\in\mathbb{N}. Numbers are assumed to be in \mathbb{N} unless otherwise stated.

3 Definition of Franchised Quantum Money

Here we’ll define franchised quantum money and its notions of security in detail.

Definition 1 (Main Variables).
  • \circ

    Let λ\lambda\in\mathbb{N} be the security parameter.

  • \circ

    Let NN\in\mathbb{N} be the number of verification keys that the bank distributes. N=O(𝗉𝗈𝗅𝗒(λ))N=O({\sf poly}(\lambda)) in the security game because the adversary cannot query more than polynomially-many users.

  • \circ

    Let C[N]C\in[N] be the collusion bound, the maximum number of verification keys that the adversary can receive.

  • \circ

    Let mskmsk be the master secret key, known only by the bank.

  • \circ

    Let svksvk be a secret verification key given to a user.

  • \circ

    Let |$\ket{\$} be a valid banknote. Let |P\ket{P} be a purported banknote, which may or may not be valid.

  • \circ

    After verification, |$\ket{\$} becomes |$\ket{\$^{\prime}}, and |P\ket{P} becomes |P\ket{P^{\prime}}.

Definition 2.

A franchised quantum money scheme \mathcal{F} comprises four polynomial-time quantum algorithms: Setup, Franchise, Mint, and Ver.

  1. 1.

    Setup: The bank runs Setup to initialize the FQM scheme.

    mskSetup(1λ)msk\leftarrow{\textsf{Setup}}{}(1^{\lambda})
  2. 2.

    Franchise: The bank runs Franchise whenever a user requests a secret verification key. Then the bank sends svksvk to the user.

    svkFranchise(msk)svk\leftarrow{\textsf{Franchise}}{}(msk)
  3. 3.

    Mint: The bank runs Mint to create a new banknote |$\ket{\$}. Then the bank gives |$\ket{\$} to someone who wants to spend it.

    |$Mint(msk)\ket{\$}\leftarrow{\textsf{Mint}}{}(msk)
  4. 4.

    Ver: Any user with a secret verification key can run Ver to check whether a purported banknote |P\ket{P} is valid. Ver accepts |P\ket{P} (b=1b=1) or rejects |P\ket{P} (b=0b=0). Finally, |P\ket{P} becomes |P\ket{P^{\prime}} after it is processed by Ver.

    b,|PVer(svk,|P)b,\ket{P^{\prime}}\leftarrow{\textsf{Ver}}{}(svk,\ket{P})

In order to function as money, |$\ket{\$} should be accepted by Ver with overwhelming probability, and |$\ket{\$^{\prime}} should be close to |$\ket{\$}. This way, we can verify the state in future transactions. The following definition, for correctness, achieves these properties.

Definition 3.

\mathcal{F} is correct if for any svkFranchise(msk)svk\leftarrow{\textsf{Franchise}}{}(msk), any |$Mint(msk)\ket{\$}\leftarrow{\textsf{Mint}}(msk), and any NN and CC that are polynomial in λ\lambda,

  1. 1.

    Ver(svk,|$){\textsf{Ver}}{}(svk,\ket{\$}) accepts with probability overwhelming in λ\lambda, and

  2. 2.

    The trace distance between |$\ket{\$} and |$\ket{\$^{\prime}} is 𝗇𝖾𝗀𝗅(λ){\sf negl}(\lambda).

Next, franchised quantum money needs two forms of security: security against counterfeiting and sabotage. Security against counterfeiting, defined below, means that an adversary given mm banknotes cannot produce m+1m+1 banknotes that pass verification, except with 𝗇𝖾𝗀𝗅(λ){\sf negl}(\lambda) probability.

Definition 4.

\mathcal{F} is secure against counterfeiting if for any polynomial-time quantum adversary, the probability that the adversary wins the following security game is 𝗇𝖾𝗀𝗅(λ){\sf negl}(\lambda):

  1. 1.

    Setup: The challenger is given λ,N, and C\lambda,N,\text{ and }C, where N,C=𝗉𝗈𝗅𝗒(λ)N,C={\sf poly}(\lambda). Then the challenger runs Setup(1λ){\textsf{Setup}}{}(1^{\lambda}) to get mskmsk, and finally creates NN verification keys (svk1,,svkNsvk_{1},\dots,svk_{N}) by running Franchise(msk){\textsf{Franchise}}{}(msk) NN times.

  2. 2.

    Queries: The adversary makes any number of franchise, mint, and verify queries, in any order:

    • \circ

      Franchise: the challenger sends a previously unused key to the adversary. By convention, let the last CC keys be sent to the adversary: svkNC+1,,svkNsvk_{N-C+1},\dots,svk_{N}.

    • \circ

      Mint: The challenger samples |$Mint(msk)\ket{\$}\leftarrow{\textsf{Mint}}{}(msk) and sends |$\ket{\$} to the adversary.

    • \circ

      Verify: The adversary sends a state |P\ket{P} and an index id[NC]id\in[N-C] to the challenger. The challenger runs Ver(svkid,|P){\textsf{Ver}}(svk_{id},\ket{P}), and sends the results (b,|P)(b,\ket{P^{\prime}}) back to the adversary.

    Let mm be the number of mint queries made, which represents the number of valid banknotes the adversary receives.

  3. 3.

    Challenge: The adversary tries to spend m+1m+1 banknotes. The adversary sends to the challenger u>mu>m purported banknotes, possibly entangled, each with an id[Nc]id\in[N-c]:

    (id1,|P1),(id2,|P2),,(idu,|Pu)(id_{1},\ket{P}_{1}),(id_{2},\ket{P}_{2}),\dots,(id_{u},\ket{P}_{u})

    Then for each purported banknote |Pk\ket{P}_{k}, the challenger runs Ver:

    bk,|PkVer(svkidk,|Pk)b_{k},\ket{P^{\prime}}_{k}\leftarrow{\textsf{Ver}}{}(svk_{id_{k}},\ket{P}_{k})

    The adversary wins the game if at least m+1m+1 of the purported banknotes are accepted.

The second form of security is security against sabotage. Sabotage is when the adversary tricks one user into accepting an invalid banknote that is then rejected by a second user.

Definition 5.

\mathcal{F} is secure against sabotage if for any polynomial-time quantum adversary, the probability that the adversary wins the following security game is 𝗇𝖾𝗀𝗅(λ){\sf negl}(\lambda):

  1. 1.

    Setup: same as in definition 4

  2. 2.

    Queries: same as in definition 4

  3. 3.

    Challenge: The adversary sends to the challenger a banknote |P\ket{P} and two distinct indices id1,id2[Nc]id_{1},id_{2}\in[N-c].

    The challenger runs Ver using svkid1svk_{id_{1}}, then svkid2svk_{id_{2}}:

    b1,|P\displaystyle b_{1},\ket{P^{\prime}} Ver(svkid1,|P)\displaystyle\leftarrow{\textsf{Ver}}{}(svk_{id_{1}},\ket{P})
    b2,|P′′\displaystyle b_{2},\ket{P^{\prime\prime}} Ver(svkid2,|P)\displaystyle\leftarrow{\textsf{Ver}}{}(svk_{id_{2}},\ket{P^{\prime}})

    The adversary wins the game if the first verification accepts (b1=1b_{1}=1) and the second verification rejects (b2=0b_{2}=0).

4 Simple Construction

Here we give a simpler version of our construction of FQM in order to illustrate the main ideas. The simple construction is correct and secure, but only if the adversary gets just one banknote. The full construction of FQM is given in section 5.

Variables and Parameters

  • \circ

    Let NN be any 𝗉𝗈𝗅𝗒(λ){\sf poly}(\lambda).

  • \circ

    Let n=Ω(λ)n=\Omega(\lambda) be the dimension of the ambient vector space: 2n{\mathbb{Z}}_{2}^{n}.

  • \circ

    Let A<2nA<{\mathbb{Z}}_{2}^{n} be a subspace, and let dim(A)=dim(A)=n/2dim(A)=dim(A^{\perp})=n/2.

  • \circ

    Let VAV\leq A and WAW\leq A^{\perp} be two subspaces given by an svk.

  • \circ

    Let t=Θ(n)t=\Theta(\sqrt{n}) be an upper bound on the dimension of VV and WW.

  • \circ

    Let C=n4tC=\frac{n}{4t}.

Setup

Input: 1λ1^{\lambda}

  1. 1.

    Choose values for N,n, and tN,n,\text{ and }t.

  2. 2.

    Sample A2nA\leq\mathbb{Z}_{2}^{n} such that dim(A)=dim(A)=n/2dim(A)=dim(A^{\perp})=n/2.

  3. 3.

    For each id[N]id\in[N]: sample tt indices uniformly and independently from [n/2][n/2]. Call this set IidI_{id}. Then sample another set called JidJ_{id} from the same distribution.

  4. 4.

    Sample 𝐯1,,𝐯n/2A{\mathbf{v}}_{1},\dots,{\mathbf{v}}_{n/2}\in A independently and uniformly at random.
    Sample 𝐰1,,𝐰n/2A{\mathbf{w}}_{1},\dots,{\mathbf{w}}_{n/2}\in A^{\perp} independently and uniformly at random.

  5. 5.
    Let msk=(A,{𝐯i}i[n/2],{𝐰j}j[n/2],{Iid,Jid}id[N])\text{Let }msk=\Big{(}A,\{{\mathbf{v}}_{i}\}_{i\in[n/2]},\{{\mathbf{w}}_{j}\}_{j\in[n/2]},\{I_{id},J_{id}\}_{id\in[N]}\Big{)}

    and output mskmsk.

Franchise

Input: msk

  1. 1.

    Choose an id[N]id\in[N] that hasn’t been chosen before.

  2. 2.

    Let svkid=(Iid,Jid,{𝐯i}iIid,{𝐰j}jJid)svk_{id}=\big{(}I_{id},J_{id},\{{\mathbf{v}}_{i}\}_{i\in I_{id}},\{{\mathbf{w}}_{j}\}_{j\in J_{id}}\big{)}, and output svkidsvk_{id}.

Mint

Input: msk

  1. 1.

    Generate and output |$=|A\ket{\$}=\ket{A}.

Ver

Input: svk,|Psvk,\ket{P}

Let svk=(I,J,{𝐯i}iI,{𝐰j}jJ)svk=\big{(}I,J,\{{\mathbf{v}}_{i}\}_{i\in I},\{{\mathbf{w}}_{j}\}_{j\in J}\big{)}. Then let

V:=span({𝐯i}iI) and W=span({𝐰j}jJ)V:=span(\{{\mathbf{v}}_{i}\}_{i\in I})\text{ and }W=span(\{{\mathbf{w}}_{j}\}_{j\in J})
  1. 1.

    Computational basis test: Check that OW(|P)=1O_{W^{\perp}}\big{(}\ket{P}\big{)}=1. Now |P\ket{P} becomes |P1\ket{P_{1}}.

  2. 2.

    Take the quantum Fourier transform of |P1\ket{P_{1}} to get |P1~\widetilde{\ket{P_{1}}}.

  3. 3.

    Fourier basis test: Check that OV(|P1~)=1O_{V^{\perp}}\big{(}\widetilde{\ket{P_{1}}}\big{)}=1. Now |P1~\widetilde{\ket{P_{1}}} becomes |P2~\widetilde{\ket{P_{2}}}.

  4. 4.

    Take the inverse quantum Fourier transform of |P2~\widetilde{\ket{P_{2}}} to get |P2\ket{P_{2}}. Let |P=|P2\ket{P^{\prime}}=\ket{P_{2}}. Output 11 (accept) if both tests pass, and 0 (reject) otherwise. Also output |P\ket{P^{\prime}}.

Proofs of Correctness and Security

Theorem 4.1.

The simple FQM construction is correct.

Proof.

We will show that for any valid banknote |$=|A\ket{\$}=\ket{A}, Ver(svk,|$){\textsf{Ver}}{}(svk,\ket{\$}) outputs (1,|$)(1,\ket{\$}) with probability 11.

  1. 1.

    The computational basis test passes with probability 11. WAW\leq A^{\perp}, so AWA\leq W^{\perp}, and OW(|A)=1O_{W^{\perp}}(\ket{A})=1 with probability 11. Also the banknote is unchanged by this test.

  2. 2.

    The quantum Fourier transform of the banknote is |A\ket{A^{\perp}} ([AC12]).

  3. 3.

    The Fourier basis test also passes with probability 11. Since VAV\leq A, then AVA^{\perp}\leq V^{\perp}, and OV(|A)=1O_{V^{\perp}}(\ket{A^{\perp}})=1 with probability 11. The banknote is also unchanged by this test.

  4. 4.

    Finally, the inverse quantum Fourier transform restores the banknote to its initial state |A\ket{A}, and the banknote is accepted by Ver with probability 11.

Theorem 4.2.

The simple FQM construction is secure against counterfeiting if the adversary receives only m=1m=1 banknote.

Proof.

1) Preliminaries
Let’s say without loss of generality that the adversary receives CC verification keys, which correspond to the last CC identities: id{NC+1,,N}id\in\{N-C+1,\dots,N\}. Then they receive 11 banknote, and then they make any polynomial number of verification queries. Finally, they attempt the counterfeiting challenge.

We can define the subspaces VadvAV_{adv}\leq A and WadvAW_{adv}\leq A^{\perp} as the subspaces known to the adversary. We also define VidV_{id} and WidW_{id} analogously for each id[N]id\in[N]:

Definition 6.
  • \circ

    Let Iadv=id>NCIid and Jadv=id>NCJidI_{adv}=\bigcup_{id>N-C}I_{id}\text{ and }J_{adv}=\bigcup_{id>N-C}J_{id}.

  • \circ

    For any id[N]id\in[N], let Vid=span({𝐯i}iIid)V_{id}=span\big{(}\{{\mathbf{v}}_{i}\}_{i\in I_{id}}\big{)}. Let WidW_{id}, VadvV_{adv}, and WadvW_{adv} be defined analogously.

Let’s assume for simplicity that

dim(Vadv)=dim(Wadv)=:ddim(V_{adv})=dim(W_{adv})=:d

where dd is fixed. This assumption isn’t necessary for proving security, but it does make the proof simpler. Also note that dn/4d\leq n/4.

2) We’ll use a hybrid argument to reduce the counterfeiting game to [AC12]’s security game for secret key quantum money:

  • \circ

    h0 is the counterfeiting security game for the simple FQM construction. In particular, the adversary receives one banknote |A\ket{A}, along with CC franchised verification keys.

  • \circ

    h1 is the same as h0, except the challenger simulates full verifiers: whenever the adversary makes a verification query (id,|P)(id,\ket{P}), the challenger verifies the state using OAO_{A} and OAO_{A^{\perp}} instead of OWidO_{W_{id}^{\perp}} and OVidO_{V_{id}^{\perp}}.

  • \circ

    h2 is essentially [AC12]’s security game for secret key quantum money: let A2n2dA\leq\mathbb{Z}_{2}^{n-2d} be a uniformly random subspace such that dim(A)=dim(A)=n/2ddim(A)=dim(A^{\perp})=n/2-d. Next, the adversary gets a banknote |A\ket{A} but no verification keys. They can make verification queries, and the challenger will run Ver using full verifiers: (OAO_{A} and OAO_{A^{\perp}}).

Lemma 1.

For any polynomial-time adversary 𝒜\mathcal{A}, their success probabilities in h0h0 and in h1h1 differ by a 𝗇𝖾𝗀𝗅(λ){\sf negl}(\lambda) function.

We’ll defer the proof of lemma 1 to section 6.

Lemma 2.

If 𝒜\mathcal{A} is a polynomial-time adversary with non-negligible success probability in h1h1, then there is a polynomial-time adversary 𝒜\mathcal{A}^{\prime} with non-negligible success probability in h2h2.

Proof.

We can reduce the security game in h2h2 to the security game in h1h1. Let 𝒜\mathcal{A}^{\prime} be given an h2h2 banknote |A\ket{A}, where A2n2dA\leq\mathbb{Z}_{2}^{n-2d} and dim(A)=dim(A)=n/2ddim(A)=dim(A^{\perp})=n/2-d. We will turn |A\ket{A} into an h1h1 banknote |B\ket{B}, where B2nB\leq\mathbb{Z}_{2}^{n}, and dim(B)=dim(B)=n/2dim(B)=dim(B^{\perp})=n/2:

  1. 1.

    Prepend |A\ket{A} with |0d|+d\ket{0}^{\otimes d}\ket{+}^{\otimes d}:

    Let |A=|0d|+d|A\text{Let }\ket{A^{\prime}}=\ket{0}^{\otimes d}\ket{+}^{\otimes d}\ket{A}

    |A\ket{A^{\prime}} is a subspace state, a uniform superposition over the subspace

    A:=span[e^d+1,,e^2d,(0×2d×A)]A^{\prime}:=span[\hat{e}_{d+1},\dots,\hat{e}_{2d},(0^{\times 2d}\times A)]

    where 0×2d×A0^{\times 2d}\times A is all vectors in 2n\mathbb{Z}_{2}^{n} for which the first 2d2d bits are 0 and the rest form a vector in AA. Also, dim(A)=dim(A)=n/2dim(A^{\prime})=dim(A^{\prime\perp})=n/2.

  2. 2.

    Sample an invertible matrix M2n×nM\in\mathbb{Z}_{2}^{n\times n} uniformly at random. Then apply MM to |A\ket{A^{\prime}}:

    Let B=MA and |B=M(|A)\text{Let }B=M\cdot A^{\prime}\text{ and }\ket{B}=M(\ket{A^{\prime}})

    Observe that |B\ket{B} is a uniformly random h1h1 banknote.

Additionally, the adversary knows dd dimensions of BB and dd dimensions of BB^{\perp}:

Vadv\displaystyle V_{adv} =Mspan(e^d+1,,e^2d)\displaystyle=M\cdot span(\hat{e}_{d+1},\dots,\hat{e}_{2d})
Wadv\displaystyle W_{adv} =Mspan(e^1,,e^d)\displaystyle=M\cdot span(\hat{e}_{1},\dots,\hat{e}_{d})

𝒜\mathcal{A}^{\prime} derives CC h1h1-verification keys whose vectors span VadvV_{adv} and WadvW_{adv}. Finally, 𝒜\mathcal{A}^{\prime} runs 𝒜\mathcal{A}, giving it the banknote |B\ket{B} along with the verification keys.

When 𝒜\mathcal{A} makes a verification query (id,|P)(id,\ket{P}), 𝒜\mathcal{A}^{\prime} simulates the h1h1 challenger’s response as follows, by converting |P\ket{P} into an h2h2 banknote:

  1. 1.

    Let |P=M1(|P)\ket{P^{\prime}}=M^{-1}(\ket{P}).

  2. 2.

    Check that the first 2d2d qubits of |P\ket{P^{\prime}} are |0d|+d\ket{0}^{\otimes d}\ket{+}^{\otimes d}.

  3. 3.

    Query the h2h2 challenger with the remaining n2dn-2d qubits of |P\ket{P^{\prime}}. Let |P′′\ket{P^{\prime\prime}} be the state returned by the challenger. Accept the banknote if and only if the first 2d2d qubits passed their test, and the challenger accepted as well.

  4. 4.

    Return M(|0d|+d|P′′)M(\ket{0}^{\otimes d}\ket{+}^{\otimes d}\ket{P^{\prime\prime}}) to the h1h1 adversary.

This procedure simulates h1h1 for 𝒜\mathcal{A}. Also, note that the probability that |P\ket{P^{\prime}} passes h2h2 verification is at least the probability that |P\ket{P} passes h1h1 verification.

Finally, when 𝒜\mathcal{A} attempts to win the challenge by outputting several purported h1h1 banknotes, 𝒜\mathcal{A}^{\prime} converts these into h2h2 banknotes. If 𝒜\mathcal{A} wins in h1h1 with non-negligible probability, then 𝒜\mathcal{A}^{\prime} wins in h2h2 with at least that probability. ∎

Lemma 3.

In h2h2, any polynomial-time adversary has negligible success probability.

Proof.

[AC12]’s security game is similar to h2h2, except the adversary can query both OAO_{A} and OAO_{A^{\perp}}. They proved the following:

Theorem 4.3 ([AC12], Theorem 25).

Let the adversary get |A\ket{A}, a random nn^{\prime}-qubit banknote, along with quantum query access to OAO_{A} and OAO_{A^{\perp}}. If the adversary prepares two possibly entangled banknotes that both pass verification with probability ε\geq\varepsilon, for all 1/ε=o(2n/2)1/\varepsilon=o(2^{n^{\prime}/2}), then they make at least Ω(ε2n/4)\Omega(\sqrt{\varepsilon}2^{n^{\prime}/4}) oracle queries.

Let n=n2dn^{\prime}=n-2d, the size of the banknote in h2h2. Note that nn/2n^{\prime}\geq n/2. Next, let ε=2n/3\varepsilon=2^{-n^{\prime}/3}. Note that ε=𝗇𝖾𝗀𝗅(λ)\varepsilon={\sf negl}(\lambda). Finally, the number of queries needed to win with probability ϵ\geq\epsilon is

Ω(ε2n/4)=Ω(2n/4n/6)=Ω(2n/12)\Omega(\sqrt{\varepsilon}2^{n^{\prime}/4})=\Omega(2^{n^{\prime}/4-n^{\prime}/6})=\Omega(2^{n^{\prime}/12})

Any polynomial-time adversary makes fewer than that many queries, so no polynomial-time adversary can win with non-negligible probability. ∎

Putting together lemmas 1, 2, 3, we get that any polynomial-time adversary has negligible probability of winning the counterfeiting security game for the simple construction of FQM. ∎

Theorem 4.4.

The simple FQM construction is secure against sabotage if the adversary receives only m=1m=1 banknote.

Proof.

The proof of this theorem follows the proof of 4.2, except at the end. We need to show that in h2h2, any polynomial-time adversary has negligible probability of succeeding at sabotage. To show this, we need the following lemma:

Lemma 4 ([AC12], Lemma 21).

In h2h2, Ver projects |P\ket{P} onto |A\ket{A} if it accepts and onto a state orthogonal to |A\ket{A} if it rejects.

That means that if a purported banknote is verified twice, it is either accepted both times or rejected both times. Therefore, sabotage is not possible in h2h2.

Again, by lemmas 1 and 2, any polynomial-time adversary has negligible probability of winning the sabotage security game for the simple construction of FQM. ∎

5 Full Construction

The full construction of FQM adds a signature scheme and a secret key encryption scheme, which let us hand out the subspaces Vid,WidV_{id},W_{id} as part of the banknote. As a result, a user can verify many banknotes, each for a different subspace AA, without needing to call Franchise for each banknote.

The signature and encryption schemes have the following syntax.

Definition 7.

([KL14], Definition 12.1) A signature scheme comprises the following three probabilistic polynomial-time algorithms:

  • \circ

    𝖲𝗂𝗀𝖪𝖾𝗒𝖦𝖾𝗇{\sf SigKeyGen}{} takes a security parameter λ\lambda, and returns (sig_pk,sig_sk)(sig\_pk,sig\_sk), the public and secret keys.

    sig_pk,sig_sk𝖲𝗂𝗀𝖪𝖾𝗒𝖦𝖾𝗇(1λ)sig\_pk,sig\_sk\leftarrow{\sf SigKeyGen}{}(1^{\lambda})
  • \circ

    𝖲𝗂𝗀𝗇{\sf Sign}{} takes a message msg{0,1}msg\in\{0,1\}^{*} and the secret key and produces σ\sigma, the signature for msgmsg.

    σ𝖲𝗂𝗀𝗇(sig_sk,msg)\sigma\leftarrow{\sf Sign}{}(sig\_sk,msg)
  • \circ

    𝖲𝗂𝗀𝖵𝖾𝗋{\sf SigVer}{} takes msgmsg, σ\sigma, and the public key, and outputs a bit bb to indicate the decision to accept (b=1b=1) or reject (b=0b=0) the signature-message pair. Also, SigVer is deterministic.

    b:=𝖲𝗂𝗀𝖵𝖾𝗋(sig_pk,msg,σ)b:={\sf SigVer}{}(sig\_pk,msg,\sigma)

The signature scheme is existentially unforgeable under an adaptive chosen-message attack. Such a signature scheme can be constructed from one-way functions ([KL14]).

Definition 8.

([KL14], Definition 3.7). A secret key encryption scheme comprises the following three probabilistic polynomial-time algorithms:

  • \circ

    EncKeyGen takes a security parameter λ\lambda and produces a secret key enc_kenc\_k.

    enc_kEncKeyGen(1λ)enc\_k\leftarrow\textsf{EncKeyGen}(1^{\lambda})
  • \circ

    Enc encrypts a message msg{0,1}msg\in\{0,1\}^{*} using the key enc_kenc\_k to produce a cyphertext cc.

    cEnc(enc_k,msg)c\leftarrow{\textsf{Enc}}(enc\_k,msg)
  • \circ

    Dec decrypts cc, again using enc_kenc\_k. Dec is deterministic, so for any enc_kenc\_k produced by EncKeyGen, Dec always decrpyts cc correctly.

    msg:=Dec(enc_k,c)msg:={\textsf{Dec}}(enc\_k,c)

The secret key encryption is CPA-secure, and it can also be constructed from one-way functions ([KL14]).

Variables

  • \circ

    Let |$\ket{\$}, a valid banknote, comprise a quantum state |Σ\ket{\Sigma} and some classical bits.

  • \circ

    Let |P\ket{P}, a purported banknote, comprise a quantum state |Π\ket{\Pi} and some classical bits.

Setup

Input: 1λ1^{\lambda}

  1. 1.

    Choose values for the parameters: n=Ω(λ),t=Θ(n)n=\Omega(\lambda),t=\Theta(\sqrt{n}).

  2. 2.

    Set up one signature scheme and nn encryption schemes by computing:

    (sig_pk,sig_sk)\displaystyle(sig\_pk,sig\_sk) 𝖲𝗂𝗀𝖪𝖾𝗒𝖦𝖾𝗇(1λ)\displaystyle\leftarrow{\sf SigKeyGen}{}(1^{\lambda})
    (enc_k1,,enc_kn)\displaystyle(enc\_k_{1},\dots,enc\_k_{n}) EncKeyGen(1λ),,EncKeyGen(1λ)\displaystyle\leftarrow\textsf{EncKeyGen}(1^{\lambda}),\dots,\textsf{EncKeyGen}(1^{\lambda})
  3. 3.

    Let msk=(sig_pk,sig_sk,enc_k1,,enc_kn)msk=(sig\_pk,sig\_sk,enc\_k_{1},\dots,enc\_k_{n}), and then output mskmsk.

Franchise

Input: mskmsk

  1. 1.

    Sample tt indices uniformly and independently from [n/2][n/2]. Call this set II. Then sample another set called JJ from the same distribution.

  2. 2.

    Let svk=(sig_pk,I,J,{enc_ki}iI,{enc_kj+n/2}jJ)svk=(sig\_pk,I,J,\{enc\_k_{i}\}_{i\in I},\{enc\_k_{j+n/2}\}_{j\in J}), and then output svksvk.

Mint

Input: mskmsk

  1. 1.

    Sample a subspace A<2nA<{\mathbb{Z}}_{2}^{n} such that dim(A)=dim(A)=n/2dim(A)=dim(A^{\perp})=n/2, uniformly at random.

  2. 2.

    Create the subspace state for AA, and let |Σ=|A\ket{\Sigma}=\ket{A}.

  3. 3.

    Sample n/2n/2 random vectors in AA: {𝐯1,,𝐯n/2}RA\{{\mathbf{v}}_{1},\dots,{\mathbf{v}}_{n/2}\}\in_{R}A. And sample n/2n/2 random vectors in AA^{\perp}: {𝐰1,,𝐰n/2}RA\{{\mathbf{w}}_{1},\dots,{\mathbf{w}}_{n/2}\}\in_{R}A^{\perp}.

  4. 4.

    Encrypt the 𝐯{\mathbf{v}}s and 𝐰{\mathbf{w}}s, each with a different enckenc_{k}:

    Let c1,,cn2\displaystyle\text{Let }c_{1},\dots,c_{\frac{n}{2}} =[Enc(enc_k1,𝐯1),,Enc(enc_kn2,𝐯n2)\displaystyle=\big{[}{\textsf{Enc}}(enc\_k_{1},{\mathbf{v}}_{1}),\dots,{\textsf{Enc}}(enc\_k_{\frac{n}{2}},{\mathbf{v}}_{\frac{n}{2}})
    cn2+1,,cn\displaystyle c_{\frac{n}{2}+1},\dots,c_{n} =[Enc(enc_kn2+1,𝐰1),,Enc(enc_kn,𝐰n2)\displaystyle=\big{[}{\textsf{Enc}}(enc\_k_{\frac{n}{2}+1},{\mathbf{w}}_{1}),\dots,{\textsf{Enc}}(enc\_k_{n},{\mathbf{w}}_{\frac{n}{2}})
  5. 5.

    Sign the ciphertexts. Let σ𝖲𝗂𝗀𝗇[sig_sk,(c1,,cn)]\sigma\leftarrow{\sf Sign}[sig\_sk,(c_{1},\dots,c_{n})].

  6. 6.

    Construct the banknote. Let |$=(|Σ,c1,,cn,σ)\ket{\$}=(\ket{\Sigma},c_{1},\dots,c_{n},\sigma). Finally, output |$\ket{\$}.

Ver

Inputs: svkid,|Psvk_{id},\ket{P}

  1. 1.

    Check the signature: 𝖲𝗂𝗀𝖵𝖾𝗋(sig_pk,(c1,,cn),σ){\sf SigVer}{}(sig\_pk,(c_{1},\dots,c_{n}),\sigma).

  2. 2.

    Decrypt any ciphertexts for which the key is available. For every iIidi\in I_{id} compute 𝐯i=Dec(enc_ki,ci){\mathbf{v}}_{i}={\textsf{Dec}}(enc\_k_{i},c_{i}), and for every jJidj\in J_{id}, compute 𝐰j=Dec(enc_kj+n/2,cj+n/2){\mathbf{w}}_{j}={\textsf{Dec}}(enc\_k_{j+n/2},c_{j+n/2}).

    Additionally, define two subspaces, Vid,WidV_{id},W_{id}:

    Vid\displaystyle V_{id} :=span({𝐯i}iIid)\displaystyle:=span(\{{\mathbf{v}}_{i}\}_{i\in I_{id}})
    Wid\displaystyle W_{id} :=span({𝐰j}jJid)\displaystyle:=span(\{{\mathbf{w}}_{j}\}_{j\in J_{id}})
  3. 3.

    Recall that |P\ket{P} comprises a quantum state |Π\ket{\Pi} and some classical bits.
    Computational basis test: Check that OWid(|Π)=1O_{W_{id}^{\perp}}(\ket{\Pi})=1. After this step, |Π\ket{\Pi} becomes |Π1\ket{\Pi_{1}}.

  4. 4.

    Take the quantum Fourier transform of |Π1\ket{\Pi_{1}} to get |Π1~\widetilde{\ket{\Pi_{1}}}.

  5. 5.

    Fourier basis test: Check that OVid(|Π1~)=1O_{V_{id}^{\perp}}(\widetilde{\ket{\Pi_{1}}})=1. After this step, |Π1~\widetilde{\ket{\Pi_{1}}} becomes |Π2~\widetilde{\ket{\Pi_{2}}}.

  6. 6.

    Take the inverse quantum Fourier transform of |Π2~\widetilde{\ket{\Pi_{2}}} to get |Π2\ket{\Pi_{2}}.

    Let |P\ket{P^{\prime}} be the state that |P\ket{P} has become, with |Π\ket{\Pi} replaced with |Π2\ket{\Pi_{2}}.

    Output 11 (accept) if both tests pass, and 0 (reject) otherwise. Also output |P\ket{P^{\prime}}.

Proofs of Correctness and Security

Theorem 5.1.

The full construction of franchised quantum money is correct.

Proof.

In steps 1 and 2 of Ver, we check the signature and decrypt the ciphertexts. With probability 11, the signature check passes, and the ciphertexts are correctly decrypted. This follows from the correctness of the signature and encryption schemes.

After the first two steps, Ver is the same as it was in the simple construction. Because the simple construction is correct, the full construction is correct as well. ∎

Theorem 5.2.

The full construction of franchised quantum money is secure against counterfeiting and sabotage.

Proof.

We will use a hybrid argument to show that the adversary’s success probability at counterfeiting or sabotage with the full construction is close to what it is with the simple construction. Since the simple construction is secure against counterfeiting and sabotage, the full construction is secure as well.

1) Preliminaries
Without loss of generality, let us say that the adversary receives CC svksvks, then receives mm valid banknotes from the challenger, and finally makes multiple Ver queries.

Furthermore, let the challenger keep a record of all the banknotes and svksvks it generated. Finally let the ciphertexts (c1,,cn)(c_{1},\dots,c_{n}) of each valid banknote be unique. This occurs with overwhelming probability.

2) Next, we’ll use a sequence of hybrids to simplify the situation and remove the need for the signature and encryption schemes.

  • \circ

    𝐡𝟎\mathbf{h0} uses the full FQM construction in the counterfeiting or sabotage security game.

  • \circ

    𝐡𝟏\mathbf{h1} is the same as h0h0, except Ver only accepts a purported banknote if its ciphertexts (c1,,cn)(c_{1},\dots,c_{n}) match those of one of the mm valid banknotes given to the adversary.

  • \circ

    𝐡𝟐\mathbf{h2} is the same as h1h1, except for any ciphertext cic_{i} for which the adversary does not have the decryption key, cic_{i} is replaced with junk: the encryption under enc_kienc\_k_{i} of a random message.

The adversary has 𝗇𝖾𝗀𝗅(λ){\sf negl}(\lambda) advantage in distinguishing h0h0 and h1h1. The signature scheme is existentially unforgeable under an adaptive chosen-message attack, so except with 𝗇𝖾𝗀𝗅(λ){\sf negl}(\lambda) probability, any banknote that passed Ver in h0h0 had ciphertexts that matched one of the mm valid banknotes.

The adversary has 𝗇𝖾𝗀𝗅(λ){\sf negl}(\lambda) advantage in distinguishing h1h1 and h2h2 because the encryption scheme is CPA-secure. For any ii for which the adversary does not have the decryption key, the adversary receives either mm ciphertexts of random messages or mm ciphertexts of potentially useful messages. CPA security is equivalent to left-or-right security ([KL14]), which implies that the adversary cannot distinguish these two cases.

3) Next, we’ll use another set of hybrids to relate the full construction with the simple construction.

  • \circ

    𝐡𝟑\mathbf{h3} is the same as h2h2, except we do not use the signature or encryption schemes. Each valid banknote comprises a subspace state |ψA\ket{\psi_{A}} and a set of plaintext 𝐯{\mathbf{v}} vectors in AA and 𝐰{\mathbf{w}} vectors in AA^{\perp}. Finally, to verify a purported banknote, the challenger checks that the 𝐯{\mathbf{v}} and 𝐰{\mathbf{w}} vectors associated with a purported banknote match those of a valid banknote. Then they use whatever svksvks were recorded along with the valid banknote to verify the subspace state.

  • \circ

    𝐡𝟒\mathbf{h4} is the simple FQM construction with just one banknote. This is the same as h3h3, except the adversary receives only 11 valid banknote, and the 𝐯{\mathbf{v}} and 𝐰{\mathbf{w}} vectors are given by Franchise and are not included with the banknote.

The adversary’s best success probability is the same in h2 and h3 because the signature and encryption schemes were not necessary in h2, so h3 presents essentially the same security game to the adversary.

Lemma 5.

The best success probability for an adversary in h3 is at most mm times the best success probability in h4.

Proof.

Given any h3h3 adversary 𝒜\mathcal{A}, there is an h4h4 adversary 𝒜\mathcal{A}^{\prime} that simulates 𝒜\mathcal{A}. 𝒜\mathcal{A}^{\prime} receives one valid banknote and generates m1m-1 other banknotes. Then 𝒜\mathcal{A}^{\prime} runs 𝒜\mathcal{A} with the mm banknotes. When 𝒜\mathcal{A} makes a verification query, 𝒜\mathcal{A}^{\prime} simulates the verifier for the m1m-1 banknotes it generated and queries the h4h4 verifier for the banknote that it received. Finally, 𝒜\mathcal{A} outputs some purported banknotes at the challenge step, which 𝒜\mathcal{A}^{\prime} outputs as well.

If 𝒜\mathcal{A} wins in h3h3, then there are at least m+1m+1 purported banknotes that pass verification, and at least two of them have the same 𝐯{\mathbf{v}} and 𝐰{\mathbf{w}} vectors. 𝒜\mathcal{A}^{\prime} wins in h4h4 if the two banknotes with matching vectors also match the vectors of the banknote given to 𝒜\mathcal{A}^{\prime}. This happens with probability 1m\frac{1}{m}, by the symmetry of the mm banknotes. Therefore, 𝒜\mathcal{A}^{\prime}’s success probability is 1m\frac{1}{m} times 𝒜\mathcal{A}’s. ∎

4) In h4h4, the adversary has negligible probability of winning the counterfeiting or sabotage games, by theorems 4.2 and 4.4. Since m=O(𝗉𝗈𝗅𝗒(λ))m=O({\sf poly}(\lambda)), for any polynomial-time adversary, then any polynomial-time adversary has negligible probability of winning the counterfeiting or security games for the full FQM construction. ∎

6 Distinguishing Game

In order to prove lemma 1, we will use the adversary method of [Amb02]. We will study the distinguishing game, in which an adversary that is more powerful than the one in lemma 1 tries to distinguish full and franchised verifiers. Then we show that the more-powerful adversary still has negligible advantage.

In the distinguishing game, the adversary is given a classical description of AA, along with other information that is more than what they receive in the security game. However, one piece of information remains hidden to them: the verification keys used by the franchised verifiers. More formally, we say the adversary is given the mskmsk, which includes every (Vid,Wid)(V_{id},W_{id}). But the verifiers will actually use (MVid,MWid)(M\cdot V_{id},M\cdot W_{id}) for some random matrix MM. The next two definitions make this precise.

Definition 9.

Let (A)\mathcal{M}(A) be the set of all matrices M2n×nM\in\mathbb{Z}_{2}^{n\times n} such that:

  • \circ

    MM is invertible

  • \circ

    If 𝐱A{\mathbf{x}}\in A, then MT𝐱AM^{T}{\mathbf{x}}\in A, and if 𝐱A{\mathbf{x}}\in A^{\perp}, then MT𝐱AM^{T}{\mathbf{x}}\in A^{\perp}.

Definition 10.

For any M(A)M\in\mathcal{M}(A), we also treat MM as a function mapping one master secret key to another. Essentially, MM is applied to every 𝐯{\mathbf{v}} or 𝐰{\mathbf{w}} vector that the adversary did not receive. More formally, for any mskmsk:

M(msk)=(A,{𝐯i}iIadv,{M𝐯i}iIadv,{𝐰j}jJadv,{M𝐰j}jJadv,{Iid,Jid}id[N])M(msk)=\Big{(}A,\{{\mathbf{v}}_{i}\}_{i\in I_{adv}},\{M\cdot{\mathbf{v}}_{i}\}_{i\not\in I_{adv}},\{{\mathbf{w}}_{j}\}_{j\in J_{adv}},\{M\cdot{\mathbf{w}}_{j}\}_{j\not\in J_{adv}},\{I_{id},J_{id}\}_{id\in[N]}\Big{)}

Let msk=M(msk)msk^{\prime}=M(msk), and let Vadv,Wadv,Vid,V_{adv}^{\prime},W_{adv}^{\prime},V_{id}^{\prime}, and WidW_{id}^{\prime} be defined analogously. Then Vadv=VadvV_{adv}^{\prime}=V_{adv} and Wadv=WadvW_{adv}^{\prime}=W_{adv} because the adversary’s 𝐯{\mathbf{v}} and 𝐰{\mathbf{w}} vectors are not changed by MM. Therefore, in the counterfeiting and sabotage security games, the adversary receives the same information, whether the master secret key is mskmsk or mskmsk^{\prime}.

Next, the adversary in the distinguishing game can also query OWidO_{W_{id}^{\perp}} and OVidO_{V_{id}^{\perp}}, rather than just Ver. The following definitions bundle together the oracles that the adversary can query.

Definition 11.

The franchised verification oracle for a given mskmsk is OFran[msk]O_{Fran}[msk]. It takes as input an id[NC]id\in[N-C], a selection bit s{0,1}s\in\{0,1\}, and a vector 𝐱2n{\mathbf{x}}\in\mathbb{Z}_{2}^{n}. Then

OFran[msk](id,s,𝐱)={OWid(𝐱)s=0OVid(𝐱)s=1O_{Fran}[msk](id,s,{\mathbf{x}})=\begin{cases}O_{W_{id}^{\perp}}({\mathbf{x}})&s=0\\ O_{V_{id}^{\perp}}({\mathbf{x}})&s=1\end{cases}
Definition 12.

The full verification oracle for a given mskmsk is OFull[msk]O_{Full}[msk] or OFull[A]O_{Full}[A]. It takes as input id[NC]id\in[N-C], s{0,1}s\in\{0,1\}, and 𝐱2n{\mathbf{x}}\in\mathbb{Z}_{2}^{n}. Then

OFull[A](id,s,𝐱)={OA(𝐱)s=0OA(𝐱)s=1O_{Full}[A](id,s,{\mathbf{x}})=\begin{cases}O_{A}({\mathbf{x}})&s=0\\ O_{A^{\perp}}({\mathbf{x}})&s=1\end{cases}

Now we can define the distinguishing game precisely.

Definition 13.

The distinguishing game takes as input an mskmsk, which is given to the challenger and the adversary. Then:

  1. 1.

    The challenger samples bR{0,1}b\in_{R}\{0,1\} and MR(A)M\in_{R}\mathcal{M}(A).

  2. 2.

    The adversary makes quantum queries to the challenger. If b=0b=0, the challenger uses OFull[A]O_{Full}[A] to answer the queries; if b=1b=1, the challenger uses OFran[M(msk)]O_{Fran}[M(msk)].

  3. 3.

    The adversary outputs a bit bb^{\prime}, and they win if and only if b=bb^{\prime}=b.

Theorem 6.1.

Any polynomial-time quantum adversary 𝒜\mathcal{A} has negligible advantage in the distinguishing game. That is:

|P[𝒜=1|b=0]P[𝒜=1|b=1]|𝗇𝖾𝗀𝗅(λ)\Big{|}P[\mathcal{A}=1|b=0]-P[\mathcal{A}=1|b=1]\Big{|}\leq{\sf negl}(\lambda)

where the probabilities are over the choice of M(A)M\in\mathcal{M}(A) and 𝒜\mathcal{A}’s randomness.

We’ll prove theorem 6.1 later using the adversary method, but assuming theorem 6.1 for now, we can prove lemma 1.

Proof of lemma 1

We want to show that for any polynomial-time adversary 𝒜\mathcal{A}, their success probabilities in h0h0 and in h1h1 differ by a 𝗇𝖾𝗀𝗅(λ){\sf negl}(\lambda) function. Recall that h0h0 uses franchised verifiers, whereas h1h1 uses full verifiers.

Assume toward contradiction that 𝒜\mathcal{A}’s success probabilities in h0h0 and h1h1 differ by a non-negligible amount. Then we can construct an adversary 𝒜\mathcal{A}^{\prime} that has non-negligible advantage in the distinguishing game.

𝒜\mathcal{A}^{\prime} simulates the counterfeiting security game and runs 𝒜\mathcal{A} on it. Given mskmsk, 𝒜\mathcal{A}^{\prime} constructs |A\ket{A} and the CC franchised verification keys. When 𝒜\mathcal{A} queries a verifier, 𝒜\mathcal{A}^{\prime} simulates this by querying either OFull[A]O_{Full}[A] (if we’re in h1h1) or OFran[M(msk)]O_{Fran}[M(msk)] (if we’re in h0h0). 𝒜\mathcal{A}^{\prime} can even simulate the counterfeiting challenge, checking if 𝒜\mathcal{A} successfully counterfeited. Finally, 𝒜\mathcal{A}^{\prime} outputs 11 if 𝒜\mathcal{A} won the security game, and 0 otherwise. h0h0 and h1h1 for the counterfeiting game correspond to b=1b=1 and b=0b=0 in the distinguishing game, so 𝒜\mathcal{A}^{\prime} has non-negligible advantage in the distinguishing game.

This is a contradiction, by theorem 6.1, so in fact, the success probabilities of 𝒜\mathcal{A} in the two hybrids must be negligibly close.

The Adversary Method

Now we’ll prove theorem 6.1 using the adversary method444Our proof is inspired by [AC12].. First, we’ll define the scenario that [Amb02] considered, which is an abstract version of the distinguishing game, and then we’ll state their main theorem.

Definition 14.

Let 𝒪\mathcal{O} be a set of oracles, each of which has range {0,1}\{0,1\}. Let f:𝒪{0,1}f:\mathcal{O}\rightarrow\{0,1\} be a predicate that takes an oracle as input. Let X,YX,Y partition 𝒪\mathcal{O} such that f(Ox)=0f(O_{x})=0, for all OxXO_{x}\in X, and f(Oy)=1f(O_{y})=1, for all OyYO_{y}\in Y.

Next, the adversary will try to compute ff on every input, so it must distinguish oracles in XX from oracles in YY.

Definition 15.

Let 𝒜O\mathcal{A}^{O} be a quantum algorithm with query access to an O𝒪O\in\mathcal{O}. We say that 𝒜\mathcal{A} approximately computes ff if for every O𝒪O\in\mathcal{O}, P[𝒜O=f(O)]2/3P[\mathcal{A}^{O}=f(O)]\geq 2/3.

Definition 16.

Let u,uu,u^{\prime} be upper bounds that satisfy:

  • \circ

    For any OxXO_{x}\in X and any input ii to OxO_{x}, POyY[Ox(i)Oy(i)]uP_{O_{y}\in Y}[O_{x}(i)\neq O_{y}(i)]\leq u.

  • \circ

    For any OyYO_{y}\in Y and any input ii to OyO_{y}, POxX[Ox(i)Oy(i)]uP_{O_{x}\in X}[O_{x}(i)\neq O_{y}(i)]\leq u^{\prime}.

Theorem 6.2 ([Amb02], Thm. 2).

If 𝒜\mathcal{A} approximately computes ff, then 𝒜\mathcal{A} makes at least Ω(1uu)\Omega\Big{(}\frac{1}{\sqrt{u\cdot u^{\prime}}}\Big{)} queries to OO.

Proof of theorem 6.1

The distinguishing game’s format matches the format considered by the adversary method. For a given mskmsk, let XX comprise only the full verification oracle, {OFull[A]}\{O_{Full}[A]\}. Let YY comprise all possible franchised verification oracles: Y={OFran[M(msk)]|M(A)}Y=\{O_{Fran}[M(msk)]|M\in\mathcal{M}(A)\}. And let 𝒪=XY\mathcal{O}=X\bigcup Y. Then ff equals bb from the distinguishing game.

Next, we will assume that each honest verifier gets at least t/4t/4 dimensions of VidV_{id} and t/4t/4 dimensions of WidW_{id} that are unknown to the adversary. As a result, each verifier accepts a negligible fraction of the vectors in 2n\mathbb{Z}_{2}^{n}. So it is hard for the adversary to find an 𝐱2n{\mathbf{x}}\in\mathbb{Z}_{2}^{n} on which the full and franchised oracles behave differently, which makes distinguishing them hard. The next definition and next two lemmas expand on this argument.

Definition 17.

An mskSetup(1λ)msk\leftarrow{\textsf{Setup}}(1^{\lambda}) is good if for every id[NC]id\in[N-C],

  • \circ

    dim[span(Vadv,Vid)]dim(Vadv)+t/4dim[span(V_{adv},V_{id})]\geq dim(V_{adv})+t/4

  • \circ

    dim[span(Wadv,Wid)]dim(Wadv)+t/4dim[span(W_{adv},W_{id})]\geq dim(W_{adv})+t/4

Lemma 6.

With overwhelming probability in λ\lambda, mskSetup(1λ)msk\leftarrow{\textsf{Setup}}(1^{\lambda}) is good.

Proof.

1) With overwhelming probability, |Iid\Iadv|t/4|I_{id}\backslash I_{adv}|\geq t/4 for all id[NC]id\in[N-C].
First, |Iadv|Ct=n/4|I_{adv}|\leq Ct=n/4, so the probability that a uniformly random i[n/2]i\in[n/2] is in IadvI_{adv} is 1/2\leq 1/2. Then

Let μ=𝔼Iid[|Iid\Iadv|]t/2\text{Let }\mu=\mathbb{E}_{I_{id}}[|I_{id}\backslash I_{adv}|]\geq t/2

Next we use the multiplicative Chernoff bound:

P[|Iid\Iadv|t/4]\displaystyle P\big{[}|I_{id}\backslash I_{adv}|\leq t/4\big{]} P[|Iid\Iadv|μ/2]\displaystyle\leq P\big{[}|I_{id}\backslash I_{adv}|\leq\mu/2\big{]}
<(e1/2(1/2)1/2)μ=(2e)μ/2(2e)t/4\displaystyle<\bigg{(}\frac{e^{-1/2}}{(1/2)^{1/2}}\bigg{)}^{\mu}=\Big{(}\frac{2}{e}\Big{)}^{\mu/2}\leq\Big{(}\frac{2}{e}\Big{)}^{t/4}
=(2e)Θ(n)=𝗇𝖾𝗀𝗅(λ)\displaystyle=\Big{(}\frac{2}{e}\Big{)}^{\Theta(\sqrt{n})}={\sf negl}(\lambda)

Then by the union bound, the probability that |Iid\Iadv|t/4|I_{id}\backslash I_{adv}|\geq t/4 for all id[NC]id\in[N-C] is 1(NC)𝗇𝖾𝗀𝗅(λ)=1𝗇𝖾𝗀𝗅(λ)1-(N-C)\cdot{\sf negl}(\lambda)=1-{\sf negl}(\lambda).

2) For convenience, let’s say that Iid\Iadv=[|Iid\Iadv|]I_{id}\backslash I_{adv}=\big{[}|I_{id}\backslash I_{adv}|\big{]}. Given that |Iid\Iadv|t/4|I_{id}\backslash I_{adv}|\geq t/4, the following event EE occurs with overwhelming probability:

E:dim[span(Vadv,𝐯1,,𝐯t/4)]=dim(Vadv)+t/4E:\quad dim\big{[}span(V_{adv},{\mathbf{v}}_{1},\dots,{\mathbf{v}}_{t/4})\big{]}=dim(V_{adv})+t/4
P{vi}i[t/4](E)\displaystyle P_{\{v_{i}\}_{i\in[t/4]}}(E) 1P(𝐯1Vadv)P[𝐯t/4span(Vadv,𝐯1,,𝐯t/41)]\displaystyle\geq 1-P({\mathbf{v}}_{1}\in V_{adv})-\ldots-P[{\mathbf{v}}_{t/4}\in span(V_{adv},{\mathbf{v}}_{1},\dots,{\mathbf{v}}_{t/4-1})]
12n/4n/22n/4+t/41n/2\displaystyle\geq 1-2^{n/4-n/2}-\ldots-2^{n/4+t/4-1-n/2}
1t42(t/4n/4)=12Θ(n)=1𝗇𝖾𝗀𝗅(λ)\displaystyle\geq 1-\frac{t}{4}\cdot 2^{(t/4-n/4)}=1-2^{-\Theta(n)}=1-{\sf negl}(\lambda)

3) Putting together steps 1 and 2, we have that with overwhelming probability in λ\lambda,

dim[span(Vadv,Vid)]dim(Vadv)+t/4dim\big{[}span(V_{adv},V_{id})\big{]}\geq dim(V_{adv})+t/4

Lemma 7.

Let mskmsk be good, let MR(A)M\in_{R}\mathcal{M}(A), and let msk=M(msk)msk^{\prime}=M(msk). Then for any id[NC]id\in[N-C] and any 𝐱2n{\mathbf{x}}\in\mathbbm{Z}_{2}^{n},

  • \circ

    If 𝐱A{\mathbf{x}}\not\in A, then P(𝐱Wid)=2Ω(n)P\big{(}{\mathbf{x}}\in{W^{\prime}_{id}}^{\perp}\big{)}=2^{-\Omega(\sqrt{n})}.

  • \circ

    If 𝐱A{\mathbf{x}}\not\in A^{\perp}, then P(𝐱Vid)=2Ω(n)P\big{(}{\mathbf{x}}\in{V^{\prime}_{id}}^{\perp}\big{)}=2^{-\Omega(\sqrt{n})}.

The probability is over the choice of MR(A)M\in_{R}\mathcal{M}(A).

Proof.

We’ll prove the first claim – the second claim’s proof is similar.

1) Let S=span({wj}jJid\Jadv)S=span(\{w_{j}\}_{j\in J_{id}\backslash J_{adv}}). This is the random subspace that verifier idid has that the adversary cannot predict. We know from lemma 6 that dim(S)t/4dim(S)\geq t/4. Also MSWidM\cdot S\leq W_{id}^{\prime}, so Wid(MS)W_{id}^{\prime\perp}\leq(M\cdot S)^{\perp}. Then:

PM(𝐱Wid)\displaystyle P_{M}\big{(}{\mathbf{x}}\in W_{id}^{\prime}\big{)} PM(𝐱(MS))=PM(𝐱TMS=𝟎)\displaystyle\leq P_{M}\big{(}{\mathbf{x}}\in(M\cdot S)^{\perp}\big{)}=P_{M}\big{(}{\mathbf{x}}^{T}\cdot M\cdot S=\mathbf{0}\big{)}

2) MT𝐱M^{T}{\mathbf{x}} is a random vector satisfying MT𝐱AM^{T}{\mathbf{x}}\not\in A. First, MTM^{T} maps AA to AA and AA^{\perp} to AA^{\perp}. Since 𝐱A{\mathbf{x}}\not\in A, 𝐱{\mathbf{x}} has a non-zero component in AA^{\perp}, which MTM^{T} maps to a non-zero component in AA^{\perp}. Therefore, MT𝐱AM^{T}{\mathbf{x}}\not\in A.

PM(𝐱TMS=𝟎)\displaystyle P_{M}\big{(}{\mathbf{x}}^{T}\cdot M\cdot S=\mathbf{0}\big{)} =PM(MT𝐱S)|S||2n\A|\displaystyle=P_{M}\big{(}M^{T}{\mathbf{x}}\in S^{\perp}\big{)}\leq\frac{|S^{\perp}|}{|\mathbb{Z}_{2}^{n}\backslash A|}
=2dim(S)2n2n/22nt/42n1=21t/4=2Ω(n)\displaystyle=\frac{2^{dim(S^{\perp})}}{2^{n}-2^{n/2}}\leq\frac{2^{n-t/4}}{2^{n-1}}=2^{1-t/4}=2^{-\Omega(\sqrt{n})}

Lemma 8.

If mskmsk is good, then any quantum algorithm that approximately computes ff needs at least 2Ω(n)2^{\Omega(\sqrt{n})} oracle queries.

Proof.

1) If OFullO_{Full} and OFranO_{Fran} differ on an input, then OFullO_{Full} rejects the input, and OFranO_{Fran} accepts it.

For any input (id,s,𝐱)(id,s,{\mathbf{x}}) to an oracle, if OFull[A](id,s,𝐱)=1O_{Full}[A](id,s,{\mathbf{x}})=1, then
OFran[M(msk)](id,s,𝐱)=1O_{Fran}[M(msk)](id,s,{\mathbf{x}})=1 as well. When s=0s=0, OFullO_{Full} accepts iff 𝐱A{\mathbf{x}}\in A. Since AWidA\leq W_{id}^{\perp}, OFranO_{Fran} accepts as well. Similar reasoning shows that when s=1s=1, if OFullO_{Full} accepts, then OFranO_{Fran} accepts as well.

Therefore, the only way for OFullO_{Full} and OFranO_{Fran} to give different responses to an input is if:

OFull[A](id,s,𝐱)=0, and OFran[M(msk)](id,s,𝐱)=1O_{Full}[A](id,s,{\mathbf{x}})=0\text{, and }O_{Fran}[M(msk)](id,s,{\mathbf{x}})=1

2) Lemma 7 says that if OFull[A](id,s,𝐱)=0O_{Full}[A](id,s,{\mathbf{x}})=0, then

PM(A)(OFran[M(msk)](id,s,𝐱)=1)=2Ω(n)P_{M\leftarrow\mathcal{M}(A)}\Big{(}O_{Fran}[M(msk)](id,s,{\mathbf{x}})=1\Big{)}=2^{-\Omega(\sqrt{n})}

so we can set u=2Ω(n)u=2^{-\Omega(\sqrt{n})}. Also, we can set u=1u^{\prime}=1 because 11 is greater than or equal to any probability.

Finally, in order to approximately compute ff, the number of oracle queries needed is Ω(1uu)=2Ω(n)\Omega\Big{(}\frac{1}{\sqrt{u\cdot u^{\prime}}}\Big{)}=2^{\Omega(\sqrt{n})}. ∎

Lemma 9.

For any polynomial-time quantum algorithm 𝒜\mathcal{A}, and any good mskmsk, there exists an M(A)M\in\mathcal{M}(A) such that:

|P(𝒜OFull[A]=1)P(𝒜OFran[M(msk)]=1)|2Θ(n3)\Big{|}P(\mathcal{A}^{O_{Full}[A]}=1)-P(\mathcal{A}^{O_{Fran}[M(msk)]}=1)\Big{|}\leq 2^{-\Theta(\sqrt[{}^{3}]{n})}
Proof.

1) Let Δ\Delta be the minimum value of

|P(𝒜OFull[A]=1)P(𝒜OFran[M(msk)]=1)|\Big{|}P(\mathcal{A}^{O_{Full}[A]}=1)-P(\mathcal{A}^{O_{Fran}[M(msk)]}=1)\Big{|}

over all MM, and let p=P(𝒜OFull[A]=1)p=P(\mathcal{A}^{O_{Full}[A]}=1).

Next, assume toward contradiction that there is some polynomial-time algorithm 𝒜\mathcal{A} and some good mskmsk such that Δ>2Θ(n3)\Delta>2^{-\Theta(\sqrt[{}^{3}]{n})}. Then we’ll construct an algorithm 𝒜\mathcal{A}^{\prime} that approximately computes ff using 2Θ(n3)2^{\Theta(\sqrt[{}^{3}]{n})} queries (by lemma 8, we know this is not possible).

𝒜\mathcal{A}^{\prime} runs 4n/Δ24n/\Delta^{2} independent iterations of 𝒜\mathcal{A} and averages the outputs. Let p¯\bar{p} be the average number of iterations of 𝒜\mathcal{A} that output 11. Next, 𝒜\mathcal{A}^{\prime} outputs 0 if |p¯p|Δ/2|\bar{p}-p|\leq\Delta/2 and outputs 11 otherwise.

2) 𝒜\mathcal{A}^{\prime} gives the incorrect value for ff if:

  1. 1.

    |p¯p|Δ/2|\bar{p}-p|\leq\Delta/2, but the oracle is franchised.

  2. 2.

    |p¯p|>Δ/2|\bar{p}-p|>\Delta/2, but the oracle is full.

In the first case, |𝔼[p¯]p|>Δ\big{|}\mathbbm{E}[\bar{p}]-p\big{|}>\Delta, so |p¯𝔼[p¯]|Δ/2\big{|}\bar{p}-\mathbbm{E}[\bar{p}]\big{|}\geq\Delta/2. In the second case as well, |p¯𝔼[p¯]|Δ/2\big{|}\bar{p}-\mathbbm{E}[\bar{p}]\big{|}\geq\Delta/2.

The probability of an error is bounded by the Hoeffding inequality:

P(|p¯𝔼[p¯]|Δ/2)2e2(Δ/2)2(4n/Δ2)=2e2nP\Big{(}\big{|}\bar{p}-\mathbbm{E}[\bar{p}]\big{|}\geq\Delta/2\Big{)}\leq 2e^{-2(\Delta/2)^{2}\cdot(4n/\Delta^{2})}=2e^{-2n}

Next, 𝒜\mathcal{A}^{\prime} approximately computes ff because for any O𝒪O\in\mathcal{O}, 𝒜\mathcal{A}^{\prime} computes f(O)f(O) with probability 12e2n>2/3\geq 1-2e^{-2n}>2/3.

3) Finally, 𝒜\mathcal{A}^{\prime} makes 2Θ(n3)2^{\Theta(\sqrt[{}^{3}]{n})} queries. First, 𝒜\mathcal{A} makes 2O(logn)2^{O(\log n)} queries because it runs in polynomial time. So the number of queries that 𝒜\mathcal{A}^{\prime} makes is:

4nΔ22O(logn)=2O(logn)+O(n3)=2O(n3)\frac{4n}{\Delta^{2}}\cdot 2^{O(\log n)}=2^{O(\log n)+O(\sqrt[{}^{3}]{n})}=2^{O(\sqrt[{}^{3}]{n})}

Since no algorithm can approximately compute ff using 2O(n3)2^{O(\sqrt[{}^{3}]{n})} queries, this is a contradiction. So for any polynomial-time 𝒜\mathcal{A}, and any good mskmsk, there exists an MM such that

|P(𝒜OFull[A]=1)P(𝒜OFran[M(msk)]=1)|2Θ(n3)\Big{|}P(\mathcal{A}^{O_{Full}[A]}=1)-P(\mathcal{A}^{O_{Fran}[M(msk)]}=1)\Big{|}\leq 2^{-\Theta(\sqrt[{}^{3}]{n})}

Lemma 10.

For any polynomial-time quantum algorithm 𝒜\mathcal{A}, any good mskmsk, and a uniformly random MR(A)M\in_{R}\mathcal{M}(A),

|P(𝒜OFull[A]=1)P(𝒜OFran[M(msk)]=1)|2Θ(n3)\Big{|}P(\mathcal{A}^{O_{Full}[A]}=1)-P(\mathcal{A}^{O_{Fran}[M(msk)]}=1)\Big{|}\leq 2^{-\Theta(\sqrt[{}^{3}]{n})}

The probability is over 𝒜\mathcal{A}’s randomness and the choice of MM.

Note that lemma 10 is equivalent to theorem 6.1.

Proof.

The problem of distinguishing full and franchised oracles is random self-reducible. Since lemma 9 says the algorithm’s distinguishing advantage is negligible in the worst case, then their advantage is also negligible in the average case.

Assume toward contradiction that there exists a polynomial-time quantum algorithm 𝒜\mathcal{A} such that for a uniformly random MR(A)M\in_{R}\mathcal{M}(A),

δ:=|P(𝒜OFull[A]=1)P(𝒜OFran[M(msk)]=1)|=2o(n3)\delta:=\Big{|}P(\mathcal{A}^{O_{Full}[A]}=1)-P(\mathcal{A}^{O_{Fran}[M(msk)]}=1)\Big{|}=2^{-o(\sqrt[{}^{3}]{n})}

Then we’ll construct a polynomial-time algorithm 𝒜\mathcal{A}^{\prime} that runs 𝒜\mathcal{A} as a subroutine and achieves δ=2o(n3)\delta=2^{-o(\sqrt[{}^{3}]{n})} for all MM (by lemma 9, this is impossible).

Given any M(A)M\in\mathcal{M}(A), 𝒜\mathcal{A}^{\prime} samples a uniformly random RR(A)R\in_{R}\mathcal{M}(A). Then R[M(msk)]R[M(msk)] is an “average-case” master secret key in the sense that R[M(msk)]=(RM)(msk)R[M(msk)]=(R\cdot M)(msk), and R:=RMR^{\prime}:=R\cdot M is uniformly random in (A)\mathcal{M}(A).

𝒜\mathcal{A}^{\prime} gives mskmsk to 𝒜\mathcal{A} and simulates the distinguishing game in which the franchised verifiers are using R[M(msk)]R[M(msk)]. Whenever 𝒜\mathcal{A} queries the oracle, 𝒜\mathcal{A}^{\prime} uses RR as a change-of-basis for the query before forwarding it to the challenger. In 𝒜\mathcal{A}’s view, it is dealing with a uniformly random R(A)R^{\prime}\in\mathcal{M}(A), so 𝒜\mathcal{A} has distinguishing advantage δ\delta. Therefore, 𝒜\mathcal{A}^{\prime} has the same advantage δ=2o(n3)\delta=2^{-o(\sqrt[{}^{3}]{n})}, but for every MM. This contradicts lemma 9, so in fact, lemma 10’s claim is true. ∎

Lemma 10 proves theorem 6.1.

Acknowledgements

This work is supported in part by NSF. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of NSF.

This work is also supported by MURI Grant FA9550-18-1-0161 and ONR award N00014-17-1-3025.

We thank Zeph Landau, Umesh Vazirani, and the Princeton Writing Center for helpful feedback on various drafts of this paper.

References

  • [Aar09] Scott Aaronson. Quantum copy-protection and quantum money. In Proceedings of the 2009 24th Annual IEEE Conference on Computational Complexity, CCC ’09, pages 229–242, Washington, DC, USA, 2009. IEEE Computer Society.
  • [Aar16] Scott Aaronson, 2016. http://www.scottaaronson.com/blog/?p=2854.
  • [AC12] Scott Aaronson and Paul Christiano. Quantum money from hidden subspaces. Proceedings of the Annual ACM Symposium on Theory of Computing, 03 2012.
  • [Amb02] Andris Ambainis. Quantum lower bounds by quantum arguments. J. Comput. Syst. Sci., 64(4):750–767, June 2002.
  • [BN08] Dan Boneh and Moni Naor. Traitor tracing with constant size ciphertext. In Proceedings of the 15th ACM Conference on Computer and Communications Security, CCS ’08, page 501–510, New York, NY, USA, 2008. Association for Computing Machinery.
  • [BS20] Amit Behera and Or Sattath. Almost public quantum coins, 2020.
  • [CFN94] Benny Chor, Amos Fiat, and Moni Naor. Tracing traitors. In Yvo G. Desmedt, editor, Advances in Cryptology — CRYPTO ’94, pages 257–270, Berlin, Heidelberg, 1994. Springer Berlin Heidelberg.
  • [FGH+12] Edward Farhi, David Gosset, Avinatan Hassidim, Andrew Lutomirski, and Peter Shor. Quantum money from knots. In Proceedings of the 3rd Innovations in Theoretical Computer Science Conference, ITCS ’12, page 276–289, New York, NY, USA, 2012. Association for Computing Machinery.
  • [GKW18] Rishab Goyal, Venkata Koppula, and Brent Waters. Collusion resistant traitor tracing from learning with errors. In Proceedings of the 50th Annual ACM SIGACT Symposium on Theory of Computing, STOC 2018, page 660–670, New York, NY, USA, 2018. Association for Computing Machinery.
  • [KL14] Jonathan Katz and Yehuda Lindell. Introduction to Modern Cryptography, Second Edition. Chapman & Htall/CRC, 2nd edition, 2014.
  • [KNY21] Fuyuki Kitagawa, Ryo Nishimaki, and Takashi Yamakawa. Secure software leasing from standard assumptions, 2021.
  • [NC00] Michael A. Nielsen and Isaac Chuang. Quantum Computation and Quantum Information. American Journal of Physics, 70(5):558, 2000.
  • [PFP15] Marta Conde Pena, Jean-Charles Faugère, and Ludovic Perret. Algebraic cryptanalysis of a quantum money scheme the noise-free case. In Jonathan Katz, editor, Public-Key Cryptography – PKC 2015, pages 194–213, Berlin, Heidelberg, 2015. Springer Berlin Heidelberg.
  • [Rob21] Bhaskar Roberts. Security analysis of quantum lightning. Springer-Verlag, 2021.
  • [RS19] Roy Radian and Sattath. Semi-quantum money. In Proceedings of the 1st ACM Conference on Advances in Financial Technologies, AFT ’19, page 132–146. Association for Computing Machinery, 2019.
  • [Wie83] Stephen Wiesner. Conjugate coding. SIGACT News, 15(1):78–88, January 1983.
  • [Zha19] Mark Zhandry. Quantum lightning never strikes the same state twice. In Yuval Ishai and Vincent Rijmen, editors, Advances in Cryptology – EUROCRYPT 2019, pages 408–438, Cham, 2019. Springer International Publishing.