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

On the (Im)plausibility of Public-Key Quantum Money
from Collision-Resistant Hash Functions

   Prabhanjan Ananth
UCSB
prabhanjan@cs.ucsb.edu
   Zihan Hu
Tsinghua University
huzh19@mails.tsinghua.edu.cn
   Henry Yuen
Columbia University
hyuen@cs.columbia.edu
Abstract

Public-key quantum money is a cryptographic proposal for using highly entangled quantum states as currency that is publicly verifiable yet resistant to counterfeiting due to the laws of physics. Despite significant interest, constructing provably-secure public-key quantum money schemes based on standard cryptographic assumptions has remained an elusive goal. Even proposing plausibly-secure candidate schemes has been a challenge.

These difficulties call for a deeper and systematic study of the structure of public-key quantum money schemes and the assumptions they can be based on. Motivated by this, we present the first black-box separation of quantum money and cryptographic primitives. Specifically, we show that collision-resistant hash functions cannot be used as a black-box to construct public-key quantum money schemes where the banknote verification makes classical queries to the hash function. Our result involves a novel combination of state synthesis techniques from quantum complexity theory and simulation techniques, including Zhandry’s compressed oracle technique.

1 Introduction

Unclonable cryptography is an emerging area in quantum cryptography that leverages the no-cloning principle of quantum mechanics [WZ82, Die82] to achieve cryptographic primitives that are classically impossible. Over the years, many interesting unclonable primitives have been proposed and studied. These include quantum copy-protection [Aar09], one-time programs [BGS13], secure software leasing [AL21], unclonable encryption [BL20], encryption with certified deletion [BI20], encryption with unclonable decryption keys [GZ20, CLLZ21], and tokenized signatures [BS16].

One of the oldest and (arguably) the most popular unclonable primitives is quantum money, which was first introduced in a seminal work by Wiesner [Wie83]. A quantum money scheme enables a bank to issue digital money represented as quantum states. Informally, the security guarantee states that it is computationally infeasible to produce counterfeit digital money states. That is, a malicious user, given one money state, cannot produce two money states that are both accepted by a pre-defined verification procedure. There are two notions we can consider here. The first notion is private-key quantum money, where the verification procedure is private. That is, in order to check whether a money state is valid, we need to submit the state to the bank which decides its validity. A more useful notion is public-key quantum money, where anyone can verify the validity of money states. While private-key money schemes have been extensively studied and numerous constructions, including information-theoretic ones, have been proposed, the same cannot be said for public-key quantum money schemes.

Aaronson and Christiano [AC13] first demonstrated the feasibility of information-theoretically secure public-key quantum money in the oracle model; meaning that all algorithms in the scheme (e.g., the minting and verification algorithms) query a black box oracle during their execution. In the standard (i.e., non-oracle) model, there are two types of constructions known for building quantum money:

  • In the first category, we have constructions borrowing sophisticated tools from different areas of mathematics, such as knot theory [FGH+12], quaternion algebras [KSS21] and lattices [Zha21, KLS22]. The constructions in this category have been susceptible to cryptanalytic attacks as demonstrated by a couple of recent works [Rob21, BDG22]. We are still in the nascent stages of understanding the security of these candidates.

  • In the second category, we have constructions based on well-studied (or perhaps better-studied) cryptographic primitives. In this category, we have constructions [Zha21, Shm22, Shm22a] based on indistinguishability obfuscation, first initiated by Zhandry [Zha21].

We focus on the second category. Constructions from existing primitives, especially from those that can be based on well-studied assumptions, would position public-key quantum money on firmer foundations. Unfortunately, existing constructions of indistinguishability obfuscation are either post-quantum insecure [AJL+19, JLS21, JLS22] or are based on newly introduced cryptographic assumptions [GP21, BDGM20, WW21, DQV+21] that have been subjected to cryptanalytic attacks [HJL21].

The goal of our work is to understand the feasibility of constructing public-key quantum money from fundamental and well-studied cryptographic primitives. We approach this direction via the lens of black-box separations. Black-box separations have been extensively studied in classical cryptography [Rud91, Sim98, GKM+00, RTV04, BM09, DLMM11, GKLM12, BDV17]. We say that a primitive AA cannot be constructed from another primitive BB in a black-box manner if there exists a computational world (defined by an oracle) where BB exists but AA does not. Phrased another way, these separations rule out constructions of primitive AA where primitive BB is used in a black-box manner. In this case, we say that there is a black-box separation between AA and BB. Black-box separations have been essential in understanding the relationship between different cryptographic primitives. Perhaps surprisingly, they have also served as a guiding light in designing cryptographic constructions. One such example is the setting of identity-based encryption (IBE). A couple of works [BPR+08, PRV12] demonstrated the difficulty of constructing IBE from the decisional Diffie Hellman (DDH) assumption using a black-box construction which prompted the work of [DG17] who used non-black-box techniques to construct IBE from DDH.

1.1 Our Work

Black-Box Separations for Unclonable Cryptography.

We initiate the study of black-box separations in unclonable cryptography. In this work, we study a black-box separation between public-key quantum money and (post-quantum secure) collision-resistant hash functions. To the best of our knowledge, our work takes the first step in ruling out certain approaches to constructing public-key quantum money from well-studied assumptions.

Model.

We first discuss the model in which we prove the black-box separation. We consider two oracles with the first being a random oracle {\mathcal{R}} (i.e., a uniformly random function) and the second being a 𝖯𝖲𝖯𝖠𝖢𝖤{\sf PSPACE} oracle (i.e., one that can solve 𝖯𝖲𝖯𝖠𝖢𝖤{\sf PSPACE}-complete problems). We investigate the feasibility of quantum money schemes and collision-resistant hash functions in the presence of {\mathcal{R}} and 𝖯𝖲𝖯𝖠𝖢𝖤{\sf PSPACE}. That is, all the algorithms of the quantum money schemes and also the adversarial entities are given access to the oracles {\mathcal{R}} and 𝖯𝖲𝖯𝖠𝖢𝖤{\sf PSPACE}.

There are two ways we can model a quantum algorithm to have access to an oracle. The first is classical access, where the algorithms in the quantum money scheme can only make classical queries to the oracle; that is, each query to the oracle is measured in the computational basis before forwarding it to the oracle. If an algorithm 𝖠{\sf A} has classical access to an oracle, say 𝒰{\mathcal{U}}, we denote this by 𝖠𝒰{\sf A}^{{\mathcal{U}}}. The second is quantum access, where the algorithms can make superposition queries. That is, an algorithm can submit a state of the form x,yαx,y|x|y\sum_{x,y}\alpha_{x,y}\ket{x}\ket{y} to the oracle 𝒪{\mathcal{O}} and it receives back x,yαx,y|x|𝒪(x)y\sum_{x,y}\alpha_{x,y}\ket{x}\ket{{\mathcal{O}}(x)\oplus y}. If an algorithm 𝖠{\sf A} has quantum access to an oracle 𝒰{{\mathcal{U}}}, we denote this by 𝖠|𝒰{\sf A}^{\ket{{\mathcal{U}}}}.

Our ultimate goal is to obtain black-box separations in the quantum access model, where the algorithms in the quantum money scheme can query oracles in superposition. However, there are two major obstacles to achieving this.

First, analyzing the quantum access model in quantum cryptography has been notoriously challenging. For example, it is not yet known how to generalize to the quantum access setting black-box separations between key agreement protocols – a classical cryptographic primitive – and one-way functions [IR90]. Attempts to tackle special cases have already encountered significant barriers [ACC+22], and has connections to long-standing conjectures in quantum query complexity (like the Aaronson-Ambainis conjecture [AA09]).

Second, we have to contend with the difficulty that quantum money is an inherently quantum cryptographic primitive. A black-box separation requires designing an adversary that can effectively clone a quantum banknote given a single copy of it. Here one encounters problems of a uniquely quantum nature, such as the No-Cloning Theorem [WZ82, Die82] and the fact that measuring the banknote will in general disturb it.

We present partial progress towards the ultimate goal stated above by simplifying the problem and focusing exclusively on this second obstacle: we prove black-box separations where the banknote verification algorithm in the quantum money schemes makes classical queries to the random oracle \mathcal{R} (but still can make quantum queries to the 𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{PSPACE} oracle), and the minting algorithm may still make quantum queries to both \mathcal{R} and 𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{PSPACE} oracles. As we will see, even this special case of quantum money schemes is already challenging and nontrivial to analyze. We believe that our techniques may ultimately be extendable to the general setting (if there indeed exists a black-box impossibility in the general setting!), where all algorithms can make quantum queries to all oracles, and furthermore help prove black-box separations of other quantum cryptographic primitives.

Main Theorem.

We will state our theorem more formally. A quantum money scheme consists of three quantum polynomial-time (QPT) algorithms, namely (𝖪𝖾𝗒𝖦𝖾𝗇,𝖬𝗂𝗇𝗍,𝖵𝖾𝗋)(\mathsf{KeyGen},\mathsf{Mint},\mathsf{Ver}), where 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} produces a public key-secret key pair, 𝖬𝗂𝗇𝗍\mathsf{Mint} uses the secret key to produce money states and a serial number associated with money states and finally, 𝖵𝖾𝗋\mathsf{Ver} determines the validity of money states using the public key. We consider oracle-aided quantum money schemes, where these algorithms have access to a random oracle {\mathcal{R}} and a 𝖯𝖲𝖯𝖠𝖢𝖤{\sf PSPACE} oracle, defined above.

Theorem 1 (Informal).

Any public-key quantum money scheme (𝖪𝖾𝗒𝖦𝖾𝗇|,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖬𝗂𝗇𝗍|,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤)(\mathsf{KeyGen}^{\ket{{\mathcal{R}}},\ket{{\sf PSPACE}}},\mathsf{Mint}^{\ket{{\mathcal{R}}},\ket{{\sf PSPACE}}},\allowbreak\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}}) is insecure.

By insecurity, we mean the following. There exists a quantum polynomial-time (QPT) adversary 𝒜{\mathcal{A}} such that 𝒜,|𝖯𝖲𝖯𝖠𝖢𝖤{\mathcal{A}}^{{\mathcal{R}},\ket{{\sf PSPACE}}}, given a money state (𝗉𝗄,ρs,s)({\sf pk},\rho_{s},s), where 𝗉𝗄{\sf pk} is the public key and ss is a serial number, with non-negligible probability, can produce two (possibly entangled) states that both pass the verification checks with respect to the same serial number ss. The probability is taken over the randomness of {\mathcal{R}} and also over the randomness of 𝖪𝖾𝗒𝖦𝖾𝗇,𝖬𝗂𝗇𝗍\mathsf{KeyGen},\mathsf{Mint} and 𝒜{\mathcal{A}}. We note that only 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint} can have quantum access to {\mathcal{R}}, while 𝖵𝖾𝗋\mathsf{Ver} only has classical access. On the other hand, we show that the adversary 𝒜{\mathcal{A}} only needs classical access to {\mathcal{R}}.

Furthermore, we note that the random oracle \mathcal{R} constitutes a collision-resistant hash function against QPT adversaries that can make queries to (,|𝖯𝖲𝖯𝖠𝖢𝖤)(\mathcal{R},\ket{\mathsf{PSPACE}}) [Zha15]. We note that \mathcal{R} still remains collision-resistant even when the adversaries can make quantum queries to \mathcal{R}, not just classical ones.

Implications.

Our main result rules out a class of public-key quantum money constructions that (a) base their security on collision-resistant hash functions, (b) use the hash functions in a black-box way, and (c) where the verification algorithm makes classical queries to the hash function. Clearly, it would be desirable to generalize the result to the case where the verification algorithm can make quantum queries to the hash function. However, there are some conceptual challenges to going beyond classical verification queries (which we discuss in more detail in Section 2.2.3).

The class of quantum money schemes in this hybrid classical-quantum query model is quite interesting on its own and a well-motivated setting. For example, in Zhandry’s public-key quantum money scheme [Zha21], the mint procedure only needs classical access to the underlying cryptographic primitives (when the component that uses cryptographic primitives is viewed as a black-box) while the verification procedure makes quantum queries. In the constructions of copy-protection due to Coladangelo et al. [CLLZ21, CMP20], the copy-protection algorithm only makes classical queries to the cryptographic primitives in the case of [CLLZ21] and the random oracle in the case of [CMP20] whereas the evaluation algorithm in both constructions make quantum queries. Finally, in the construction of unclonable encryption in [AKL+22], all the algorithms only make classical queries to the random oracle. Given these constructions, we believe it is important to understand what is feasible or impossible for unclonable cryptosystems in the hybrid classical-quantum query model.

Secondly, we believe that the hybrid classical-quantum query model is a useful testbed for developing techniques needed for black-box separations, and for gaining insight into the structure of unclonable cryptographic primitives. Even in this special case, there are a number of technical and conceptual challenges to overcome in order to get our black-box separation of Theorem 1. We believe that the techniques developed in this paper will be a useful starting point for future work in black-box separations in unclonable cryptography.

Other Separations.

As a corollary of our main result, we obtain black-box separations between public-key quantum money and many other well-studied cryptographic primitives such as one-way functions, private-key encryption and digital signatures.

Our result also gives a separation between public-key quantum money and collapsing hash functions in the same setting as above; that is, when 𝖵𝖾𝗋\mathsf{Ver} makes classical queries to {\mathcal{R}}. This follows from a result due to Unruh [Unr16] who showed that random oracles are collapsing. Collapsing hash functions are the quantum analogue of collision-resistant hash functions. Informally speaking, a hash function is collapsing if an adversary cannot distinguish a uniform superposition of inputs, say |ψ\ket{\psi}, mapping to a random output yy versus a computational basis state obtained by measuring |ψ\ket{\psi} in the computational basis. Zhandry [Zha21] showed that hash functions that are collision-resistant but not collapsing imply the existence of public-key quantum money. Thus our result rules out a class of constructions of quantum money from collapsing functions, improving our understanding of the relationship between them.

Acknowledgments.

We thank anonymous conference referees, Qipeng Liu, Yao Ching Hsieh, and Xingjian Li for their helpful comments. HY is supported by AFOSR award FA9550-21-1-0040 and NSF CAREER award CCF-2144219.

2 Our Techniques in a Nutshell

We present a high-level overview of the techniques involved in proving Theorem 1. But first, we will briefly discuss the correctness guarantee of oracle-aided public-key quantum money schemes.

Reusability.

In a quantum money scheme (𝖪𝖾𝗒𝖦𝖾𝗇,𝖬𝗂𝗇𝗍,𝖵𝖾𝗋)(\mathsf{KeyGen},\mathsf{Mint},\mathsf{Ver}), we require that 𝖵𝖾𝗋\mathsf{Ver} accepts a state and a serial number produced by 𝖬𝗂𝗇𝗍\mathsf{Mint} with overwhelming probability. However, for all we know, 𝖵𝖾𝗋\mathsf{Ver}, during the verification process, might destroy the state. In general, a more useful correctness definition is reusability, which states that a money state can be repeatedly verified without losing its validity. In general, one can show that the gentle measurement lemma [Win99] does prove that correctness implies reusability. However, as observed in [AK22], this is not the case when 𝖵𝖾𝗋\mathsf{Ver} has classical access to an oracle. Specifically, 𝖵𝖾𝗋\mathsf{Ver} has classical access to {\mathcal{R}}. Hence, we need to explicitly define reusability in this setting. Roughly speaking, we require the following: suppose we execute 𝖵𝖾𝗋\mathsf{Ver} on a money state ρ(0)\rho^{(0)} produced using 𝖬𝗂𝗇𝗍\mathsf{Mint} and the verification algorithm accepts with probability δ\delta. The residual state is (possibly) a different state ρ(1)\rho^{(1)} which when executed upon by 𝖵𝖾𝗋\mathsf{Ver} is also accepted with probability close to δ\delta. In fact, even if we run the verification process polynomially many times, the state obtained at the end of the process should still be accepted by 𝖵𝖾𝗋\mathsf{Ver} with probability close to δ\delta.

2.1 Warmup: Insecurity when {\mathcal{R}} is absent

Towards developing techniques to prove Theorem 1, let us first tackle a simpler statement. Suppose we have a secure public-key quantum money scheme (𝖪𝖾𝗒𝖦𝖾𝗇,𝖬𝗂𝗇𝗍,𝖵𝖾𝗋)(\mathsf{KeyGen},\mathsf{Mint},\mathsf{Ver}). This means that any QPT adversary cannot break the security of this scheme. But what about oracle-aided adversaries? In more detail, we ask the following question: Does there exist a QPT algorithm, given quantum access to a 𝖯𝖲𝖯𝖠𝖢𝖤{\sf PSPACE} oracle, that violates the security of (𝖪𝖾𝗒𝖦𝖾𝗇,𝖬𝗂𝗇𝗍,𝖵𝖾𝗋)(\mathsf{KeyGen},\mathsf{Mint},\mathsf{Ver})? That is, given (s,ρs)(s,\rho_{s}), where ss is a serial number and ρs\rho_{s} is a valid banknote produced by 𝖬𝗂𝗇𝗍\mathsf{Mint}, it should be able to produce two states, with respect to the same serial number ss, that are both accepted by the verifier.

Even this seemingly simple question seems challenging! Let us understand why. Classical cryptographic primitives (even post-quantum secure ones) such as encryption schemes or digital signatures can be broken by efficient adversaries who have access to even 𝖭𝖯{\sf NP} oracles. This follows from the fact that we can efficiently reduce the problem of breaking the scheme to the problem of determining membership in a language. For instance, in order to succeed in breaking an encryption scheme, the adversary has to decide whether the instance (𝗉𝗄,𝖼𝗍,𝗆)L({\sf pk},{\sf ct},{\sf m})\in L, where 𝗉𝗄{\sf pk} is a public key, 𝖼𝗍{\sf ct} is a ciphertext, 𝗆{\sf m} is a message and LL consists of instances of the form (𝗉𝗄,𝖼𝗍,𝗆)({\sf pk},{\sf ct},{\sf m}), where 𝖼𝗍{\sf ct} is an encryption of 𝗆{\sf m} with respect to the public key 𝗉𝗄{\sf pk}. Implicitly, we are using the fact that 𝗉𝗄,𝖼𝗍,𝗆{\sf pk},{\sf ct},{\sf m} are binary strings. Emulating a similar approach in the case of quantum money would result in quantum instances and it is not clear how to leverage 𝖯𝖲𝖯𝖠𝖢𝖤{\sf PSPACE}, or more generally a decider for any language, to complete the reduction.

Synthesizing Witness States.

Towards addressing the above question, we reduce the task of breaking the security of the quantum money scheme using 𝖯𝖲𝖯𝖠𝖢𝖤{\sf PSPACE} to the task of finding states accepted by the verifier in quantum polynomial space. This reduction is enabled by the following observation, due to Rosenthal and Yuen [RY21]: a set of pure states computable by a quantum polynomial space algorithm (which may in general include intermediate measurements) can be synthesized by a QPT algorithm with quantum access to a 𝖯𝖲𝖯𝖠𝖢𝖤{\sf PSPACE} oracle. Implicit in the result of [RY21] is the following important point: in order to synthesize the state using the 𝖯𝖲𝖯𝖠𝖢𝖤{\sf PSPACE} oracle, it is important that we know the entire description of the quantum polynomial space algorithm generating the pure states.

In more detail, we show the following statement: for every111Technically, we show a weaker statement which holds for an overwhelming fraction of (𝗉𝗄,s)({\sf pk},s). verification key 𝗉𝗄{\sf pk}, serial number ss, there exists a pure state222Technically, we require that the reduced density matrix of ρ𝗉𝗄,s\rho_{{\sf pk},s} is accepted by 𝖵𝖾𝗋\mathsf{Ver}. ρ𝗉𝗄,s\rho_{{\sf pk},s} that is accepted by 𝖵𝖾𝗋(𝗉𝗄,s,)\mathsf{Ver}({\sf pk},s,\cdot) with non-negligible probability and moreover, can be generated by a quantum polynomial space algorithm.

The first attempt is to follow the classical brute-force search algorithm. Namely, we repeat the following for exponential times: guess a quantum state ρ\rho uniformly at random and if ρ\rho is accepted by 𝖵𝖾𝗋(𝗉𝗄,s,)\mathsf{Ver}({\sf pk},s,\cdot) with non-negligible probability, output ρ\rho and terminate. (Output an arbitrary state if we run out of times.) However, there are two problems with this attempt. Firstly, in general, it’s not clear how to calculate the acceptance probability of 𝖵𝖾𝗋(𝗉𝗄,s,ρ)\mathsf{Ver}({\sf pk},s,\rho) in polynomial space (ρ\rho needs exponential bits to represent). Secondly, ρ\rho might be destroyed when we calculate the acceptance probability.

To fix the first problem, we note that an estimation of the acceptance probability is already good enough and it can be done by using a method introduced by Marriott and Watrous [MW05] (called MW technique). The MW technique allows us to efficiently estimate the acceptance probability of a verification algorithm on a state with only one copy of that state. Furthermore, it does not disturb the state too much in the sense that the expected acceptance probability of the residual state does not decay too significantly, which fixes the second problem.

This brings us to our second attempt. We repeat the following process for exponentially many times: apply MW technique on a maximally mixed state and if the estimated acceptance probability happens to be non-negligible, output the residual state and terminate. (Output an arbitrary state if all the iterations fail.)

As the MW technique is efficient, this algorithm only uses polynomial space. Furthermore, intuitively we can get a state that is accepted by 𝖵𝖾𝗋\mathsf{Ver} with non-negligible acceptance probability given the fact that such a state exists. Because if such state exists, by a simple convexity argument, we can assume that without loss of generality that it’s pure. Maximally mixed state can be treated as a uniform mixture of a basis containing that pure state. Thus roughly speaking, we start from that pure state with inverse exponential probability, so we can find it in exponentially many iterations with overwhelming probability. This attempt almost succeeds except that it outputs a mixed state in general, but the known approach in [RY21] can only deal with pure states. There are two reasons for this. Firstly, we start with a maximally mixed state and secondly, MW technique involves intermediate measurements.

Our final attempt makes the following minor changes compared to the second attempt. To fix the first issue, it starts with a maximally entangled state (instead of maximally mixed state) and only operates on half of it. To fix the second issue, it runs the MW process coherently by deferring all the intermediate measurements. Then we will end up with a pure state whose reduced density matrix is the same as the output state of the second attempt.

2.2 Insecurity in the presence of {\mathcal{R}}

So far, we considered the task of violating the security of a quantum money scheme where the algorithms did not have access to any oracle. Let us go back to the oracle-aided quantum money schemes, where, all the algorithms (honest and adversarial) have access to {\mathcal{R}} and |𝖯𝖲𝖯𝖠𝖢𝖤\ket{{\sf PSPACE}}. Our goal is to construct an adversary that violates the security of quantum money schemes. But didn’t we just solve this problem? Recall that when invoking [RY21], it was crucial that we knew the entire description of the polynomial space algorithm in order to synthesize the state. However, when we are considering oracle-aided verification algorithms, denoted by 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{\sf PSPACE}}, we don’t have the full description of333The fact that we don’t have the description of {\mathcal{R}} is the problem here. 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{\sf PSPACE}}. Thus, we cannot carry out the synthesizing process.

A naive approach is to sample our own oracle {\mathcal{R}}^{\prime} and synthesize the state with respect to 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}}^{\prime},\ket{\sf PSPACE}}. However, this does not help. Firstly, there is no guarantee that 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(𝗉𝗄,s,)\mathsf{Ver}^{{\mathcal{R}}^{\prime},\ket{\sf PSPACE}}({\sf pk},s,\cdot) accepts any state with high enough probability. Without this guarantee, the synthesizing process does not work. For now, let us take for granted that there does exist some witness state σ\sigma^{\prime} that is accepted by 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(𝗉𝗄,s,)\mathsf{Ver}^{{\mathcal{R}}^{\prime},\ket{\sf PSPACE}}({\sf pk},s,\cdot) with high enough probability. However, there is no guarantee that σ\sigma^{\prime} is going to be accepted by 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(𝗉𝗄,s,)\mathsf{Ver}^{{\mathcal{R}},\ket{\sf PSPACE}}({\sf pk},s,\cdot) with better than negligible probability.

Towards addressing these hurdles, we first focus on a simple case when 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint} make classical queries to {\mathcal{R}} and we later, focus on the quantum queries case.

2.2.1 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint}: Classical Queries to {\mathcal{R}}

Compiling out {\mathcal{R}}.

Suppose we can magically find a database DD, using only polynomially many queries to {\mathcal{R}}, such that all the query-answer pairs made by 𝖵𝖾𝗋\mathsf{Ver} to {\mathcal{R}} are contained in DD. In this case, there is a QPT adversary 𝒜,|𝖯𝖲𝖯𝖠𝖢𝖤{\mathcal{A}}^{{\mathcal{R}},\ket{{\sf PSPACE}}} that given (𝗉𝗄,s,ρs)({\sf pk},s,\rho_{s}), can find two states (s,σs)(s,\sigma^{\prime}_{s}) and (s,σs′′)(s,\sigma^{\prime\prime}_{s}) such that 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{\sf PSPACE}} accepts both the states. 𝒜{\mathcal{A}} does the following: it first finds the database DD and constructs another circuit 𝖵𝖾𝗋D,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D,\ket{{\sf PSPACE}}} such that 𝖵𝖾𝗋D,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D,\ket{\sf PSPACE}} runs 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}} and when 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}} makes a query to {\mathcal{R}}, the query is answered by DD. Then, 𝒜{\mathcal{A}} synthesizes two states (s,σs)(s,\sigma^{\prime}_{s}) and (s,σs′′)(s,\sigma^{\prime\prime}_{s}), using 𝖯𝖲𝖯𝖠𝖢𝖤{\sf PSPACE}, such that both the states are accepted by 𝖵𝖾𝗋D,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D,\ket{{\sf PSPACE}}}. By definition of the database DD, these two states are also accepted by 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{\sf PSPACE}}.

Of course, it is wishful for us to hope that we can find a database DD by making only polynomially many queries to {\mathcal{R}} that is perfectly consistent with the queries made by 𝖵𝖾𝗋\mathsf{Ver}. Instead, we hope to recover a good enough database DD. In more detail, we aim to recover a database DD that captures all the relevant queries made by 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint}.

Let D𝖪𝖾𝗒𝖦𝖾𝗇D_{\mathsf{KeyGen}} and D𝖬𝗂𝗇𝗍D_{\mathsf{Mint}} be the collection of query-answer pairs made by 𝖪𝖾𝗒𝖦𝖾𝗇{\mathsf{KeyGen}} and 𝖬𝗂𝗇𝗍{\mathsf{Mint}} respectively. A query made by 𝖵𝖾𝗋\mathsf{Ver} is called bad if this query is in D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}} and moreover, this query was not recorded in DD. If 𝖵𝖾𝗋\mathsf{Ver} makes bad queries then the answers returned will likely be inconsistent with {\mathcal{R}} and thus, there is no guarantee that 𝖵𝖾𝗋\mathsf{Ver} will work. Our hope is that the probability of 𝖵𝖾𝗋\mathsf{Ver} making bad queries is upper bounded by an inverse polynomial.

Once we have such a database DD, by a similar argument, we can conclude that the states synthesized using 𝖵𝖾𝗋D,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D,\ket{{\sf PSPACE}}} are also accepted by 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}}.

But how do we recover this database DD? To see how, we will first focus on a simple case before dealing with the general case.

State-independent database simulation.

Note that the queries made by 𝖵𝖾𝗋\mathsf{Ver} could potentially depend on its input state. For now, we will assume that the distribution of queries made by 𝖵𝖾𝗋\mathsf{Ver} is independent of the input state. We will deal with the state-dependent query distributions later.

The first attempt to generate DD would be to rely upon techniques introduced by Canetti, Kalai and Paneth [CKP15] who, in a different context – that of proving impossibility of obfuscation in the random oracle model – showed how to generate a database that is sufficient to simulate the queries made by the evaluation algorithm. Suppose (s,ρs)(s,\rho_{s}) is the state generated by 𝖬𝗂𝗇𝗍\mathsf{Mint}. Then, run 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,s,ρs)\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}}(pk,s,\rho_{s}) a fixed polynomially many times, referred to as test executions, by querying {\mathcal{R}}. In each execution of 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}}, record all the queries made by 𝖵𝖾𝗋\mathsf{Ver} along with their answers. The union of queries made in all the executions of 𝖵𝖾𝗋\mathsf{Ver} will be assigned the database DD. In the context of obfuscation for classical circuits, [CKP15] argue that, except with inverse polynomial probability, the queries made by the evaluation algorithm can be successfully simulated by DD. This argument is shown by proving an upper bound on the probability that the evaluation algorithm makes bad queries.

A similar analysis can also be made in our context to argue that DD suffices for successful simulation. That is, we can argue that the state we obtain after all the executions of 𝖵𝖾𝗋\mathsf{Ver} (which could be very different from the state we started off with) can be successfully simulated using DD. However, it is crucial for our analysis to go through that D𝖵𝖾𝗋D_{\mathsf{Ver}} (the query-answer pairs made during 𝖵𝖾𝗋\mathsf{Ver}) is independent of the state input to 𝖵𝖾𝗋\mathsf{Ver}.

State-dependent database simulation.

For all we know, D𝖵𝖾𝗋D_{\mathsf{Ver}} could indeed depend on the input state. In this case, we can no longer appeal to the argument of [CKP15]. At a high level, the reason is due to the fact that after each execution of 𝖵𝖾𝗋\mathsf{Ver}, the money state could potentially change and this would affect the distribution of D𝖵𝖾𝗋D_{\mathsf{Ver}} in the further executions of 𝖵𝖾𝗋\mathsf{Ver} in such a way that the execution of 𝖵𝖾𝗋\mathsf{Ver} on the final state (which could be different from the input state in the first execution of 𝖵𝖾𝗋\mathsf{Ver}) cannot be simulated using the database DD.

Instead, we will rely upon a technique due to [AK22], who studied a similar problem in the context of copy-protection. They showed that by randomizing the number of executions, one can argue that the execution of 𝖵𝖾𝗋\mathsf{Ver} on the state obtained after all the test executions can be successfully simulated using DD, except with inverse polynomial probability. That is, suppose the initial state is (s,ρs(0))(s,\rho_{s}^{(0)}) and after running 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}}, tt number of times where t${0,1,,T}t\xleftarrow{\$}\{0,1,\cdots,T\}, let the resulting state be (s,ρs(t))(s,\rho_{s}^{(t)}). Let DD be as defined before. Then, we have the guarantee that 𝖵𝖾𝗋\mathsf{Ver} accepts (s,ρs(t))(s,\rho_{s}^{(t)}), except with inverse polynomial probability, even when {\mathcal{R}} is simulated using DD. This is because the sum of the number of bad queries we encounter during T+1T+1 verifications is bounded by |D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍|\lvert D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}\rvert. Then there are only at most ϵ1|D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍|\epsilon^{-1}\lvert D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}\rvert points t{0,1,,T}t^{\prime}\in\{0,1,\cdots,T\} such that the probability of making a bad query during the (t+1)th(t^{\prime}+1)^{th} verification is at least ϵ\epsilon. So when TT is large enough, there is a good chance that we choose tt such that the probability of making a bad query during the next verification (i.e. the (t+1)th(t+1)^{th} verification if you count from the beginning) is small, in which case DD can simulate \mathcal{R} well.

This suggests the following attack on the quantum money scheme. On input a money state (s,ρs)(s,\rho_{s}), do the following:

  • Run 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}}, tt times, also referred to as test executions. The number of times we need to run 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}}, namely tt, is randomized as per [AK22]. Let DD be the set of query-answer pairs made by 𝖵𝖾𝗋\mathsf{Ver} to {\mathcal{R}} during the test executions. Denote ρs(t)\rho_{s}^{(t)} to be the state obtained after tt executions of 𝖵𝖾𝗋\mathsf{Ver}.

  • Let 𝖵𝖾𝗋D,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D,\ket{{\sf PSPACE}}} be the verification circuit as defined earlier.

  • Using quantum access to 𝖯𝖲𝖯𝖠𝖢𝖤{\sf PSPACE}, synthesize two states (s,σs)(s,\sigma^{\prime}_{s}) and (s,σs′′)(s,\sigma^{\prime\prime}_{s}), as per Section 2.1, such that both the states are accepted by 𝖵𝖾𝗋D,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D,\ket{{\sf PSPACE}}}.

  • Output (s,σs)(s,\sigma^{\prime}_{s}) and (s,σs′′)(s,\sigma^{\prime\prime}_{s}).

From the witness synthesis method, we have the guarantee that (s,σs)(s,\sigma^{\prime}_{s}) and (s,σs′′)(s,\sigma^{\prime\prime}_{s}) are both accepted by 𝖵𝖾𝗋D,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D,\ket{{\sf PSPACE}}}. However, this is not sufficient to prove that the above attack works. Remember that the adversary is supposed to output two states that are both accepted by 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}}. Unfortunately, there is no guarantee that 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}} accepts these two states. Indeed, both σs\sigma^{\prime}_{s} and σs′′\sigma^{\prime\prime}_{s} could be quite different from ρs(t)\rho_{s}^{(t)}. Hence, the above attack does not work.

Every mistake we make is progress.

Let us understand why the above attack does not work. Note that as long as 𝖵𝖾𝗋\mathsf{Ver} does not make any bad query (i.e., a query in D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}} but not contained in DD), it cannot distinguish whether its queries are being simulated by DD or {\mathcal{R}}. However, when 𝖵𝖾𝗋\mathsf{Ver} is executed on (s,σs)(s,\sigma^{\prime}_{s}) or (s,σs′′)(s,\sigma^{\prime\prime}_{s}), we can no longer upper bound the probability that 𝖵𝖾𝗋\mathsf{Ver} will not make any bad queries.

We modify the above approach as follows: whenever 𝖵𝖾𝗋\mathsf{Ver} makes bad queries, we can update the database DD to contain the bad queries along with the correct answers (i.e., answers generated using {\mathcal{R}}). Once DD is updated, we can synthesize two new states using 𝖵𝖾𝗋D,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D,\ket{{\sf PSPACE}}}. We repeat this process until we have synthesized two states that are accepted by 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}}.

Is there any guarantee that this process will stop? Our key insight is that whenever we make a mistake and synthesize states that are not accepted by 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}} then we necessarily learn a new query in D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}} that is not contained in DD. Thus, with each mistake, we make progress. Since there are only a polynomial number of queries in D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}, we will ultimately end up synthesizing two states that are accepted by 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}}.

Our Attack.

With this modification, we have the following attack. On input a money state (s,ρs)(s,\rho_{s}), do the following:

  • Test phase: Run 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}}, tt times, also referred to as test executions. The number of times we need to run 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}}, namely tt, is randomized as per [AK22]. Let DD be the set of query-answer pairs made by 𝖵𝖾𝗋\mathsf{Ver} to {\mathcal{R}} during the test executions. Denote ρs(t)\rho_{s}^{(t)} to be the state obtained after tt executions of 𝖵𝖾𝗋\mathsf{Ver}.

  • Update phase: Repeat the following polynomially many times. Let 𝖵𝖾𝗋D,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D,\ket{{\sf PSPACE}}} be the verification circuit as defined earlier. Using quantum access to 𝖯𝖲𝖯𝖠𝖢𝖤{\sf PSPACE}, synthesize a state (s,σs)(s,\sigma_{s}) as per Section 2.1, such that the state is accepted by 𝖵𝖾𝗋D,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D,\ket{{\sf PSPACE}}}. Run 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}} on this state and include any new queries made by 𝖵𝖾𝗋\mathsf{Ver} to {\mathcal{R}} in DD.

  • Let D1,,DpolyD_{1},\ldots,D_{{\rm poly}} be the databases obtained after every execution during the update phase.

  • Using quantum access to 𝖯𝖲𝖯𝖠𝖢𝖤{\sf PSPACE}, synthesize two states (s,σs)(s,\sigma^{\prime}_{s}) and (s,σs′′)(s,\sigma^{\prime\prime}_{s}) such that both the states are accepted by 𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D_{j},\ket{{\sf PSPACE}}} for some randomly chosen jj.

  • Output (s,σs)(s,\sigma^{\prime}_{s}) and (s,σs′′)(s,\sigma^{\prime\prime}_{s}).

In the technical sections, we analyze the above attack and prove that it works.

2.2.2 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint}: Quantum Queries to {\mathcal{R}}

The important point to note here is the form of our aforementioned attacker. It only takes advantage of the fact that 𝖵𝖾𝗋\mathsf{Ver} makes classical queries to {\mathcal{R}}. When 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint} make quantum queries to {\mathcal{R}} while 𝖵𝖾𝗋\mathsf{Ver} makes classical queries to {\mathcal{R}}, we can still run the attacker. What is left is to show that the same attacker works even when 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint} make quantum queries to {\mathcal{R}}.

The main difficulty in carrying out the intuitions in Section 2.2.1 to the case where 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint} make quantum queries to {\mathcal{R}} is that it’s difficult to define analogue of D𝖪𝖾𝗒𝖦𝖾𝗇D_{\mathsf{KeyGen}} and D𝖬𝗂𝗇𝗍D_{\mathsf{Mint}}. To give a flavour of the difficulty, let’s first consider two naive attempts.

The first attempt is to define D𝖪𝖾𝗒𝖦𝖾𝗇D_{\mathsf{KeyGen}} and D𝖬𝗂𝗇𝗍D_{\mathsf{Mint}} to be those query-answer pairs asked (with non-zero amplitudes) during 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint}. However, this attempt suffers from the problem that in this way, D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}} can have exponential elements. So even if each time we can make progress in the sense that we recover some new elements in D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}, there is no guarantee that the update phase will terminate in polynomial time.

The second attempt is to only include queries that are asked “heavily” during 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint}. To be more specific, let D𝖪𝖾𝗒𝖦𝖾𝗇D_{\mathsf{KeyGen}} and D𝖬𝗂𝗇𝗍D_{\mathsf{Mint}} be query-answer pairs asked with inverse polynomial squared amplitudes during 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint}. However, with this plausible definition, the claim does not hold that whenever the acceptance probability of 𝖵𝖾𝗋D,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D,\ket{{\sf PSPACE}}} is far from that of 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}, then we can recover a query in D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍DD_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}-D, which is a crucial idea underlying our intuitions in Section 2.2.1. Let us understand why this claim is not true if we adopt this definition of D𝖪𝖾𝗒𝖦𝖾𝗇D_{\mathsf{KeyGen}} and D𝖬𝗂𝗇𝗍D_{\mathsf{Mint}}.

Consider the following contrived counterexample (𝖪𝖾𝗒𝖦𝖾𝗇|,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖬𝗂𝗇𝗍|,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤)(\mathsf{KeyGen}^{\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}},\mathsf{Mint}^{\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}},\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}). Suppose there exists a quantum money scheme (𝖪𝖾𝗒𝖦𝖾𝗇|,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖬𝗂𝗇𝗍|,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤)(\mathsf{KeyGen}^{\prime\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}},\mathsf{Mint}^{\prime\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}},\mathsf{Ver}^{\prime{\mathcal{R}},\ket{\mathsf{PSPACE}}}). We modify this scheme into (𝖪𝖾𝗒𝖦𝖾𝗇|,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖬𝗂𝗇𝗍|,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤)(\mathsf{KeyGen}^{\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}},\mathsf{Mint}^{\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}},\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}) as follows:

  • 𝖪𝖾𝗒𝖦𝖾𝗇|,|𝖯𝖲𝖯𝖠𝖢𝖤(1n)\mathsf{KeyGen}^{\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}}(1^{n}): outputs the secret key-public key pair of 𝖪𝖾𝗒𝖦𝖾𝗇|,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{KeyGen}^{\prime\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}}.

  • 𝖬𝗂𝗇𝗍|,|𝖯𝖲𝖯𝖠𝖢𝖤(sk)\mathsf{Mint}^{\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}}(sk): takes as input sksk, makes quantum query to {\mathcal{R}} on state 12ns=02n1|s|0\frac{1}{\sqrt{2^{n}}}\sum_{s=0}^{2^{n}-1}\ket{s}\ket{0} to get a state 12ns=02n1|s|(s)\frac{1}{\sqrt{2^{n}}}\sum_{s=0}^{2^{n}-1}\ket{s}\ket{{\mathcal{R}}(s)}, and then measures the first register to get a value ss. It also runs 𝖬𝗂𝗇𝗍|,|𝖯𝖲𝖯𝖠𝖢𝖤(sk)\mathsf{Mint}^{\prime\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}}(sk) to get a serial number ss^{\prime} along with a state ρs\rho_{s^{\prime}}. It outputs (s,s)(s,s^{\prime}) as the serial number and ((s),ρs)({\mathcal{R}}(s),\rho_{s^{\prime}}) as the banknote.

  • 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,((s,s),(h,ρs)))\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,((s,s^{\prime}),(h,\rho_{s^{\prime}}))): takes as input pkpk and an alleged banknote ((s,s),(h,ρs))((s,s^{\prime}),(h,\rho_{s^{\prime}})), makes classical query to {\mathcal{R}} on the input ss to get R(s)R(s) and checks if h=(s)h={\mathcal{R}}(s). It also checks if (s,ρs)(s^{\prime},\rho_{s^{\prime}}) is a valid money state with respect to 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{\prime{\mathcal{R}},\ket{\mathsf{PSPACE}}}. Accepts if and only if both the checks pass.

In the above counterexample, it is possible that there is no query-answer pair that is asked with inverse polynomial squared amplitudes and thus D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍=D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}=\emptyset. At the beginning D=D=\emptyset because we have not started to record query-answer pairs. In this case, the acceptance probability of 𝖵𝖾𝗋D,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,((s,s),((s),ρs)))\mathsf{Ver}^{D,\ket{{\sf PSPACE}}}(pk,((s,s^{\prime}),({\mathcal{R}}(s),\rho_{s^{\prime}}))) is smaller than or equal to 12m\frac{1}{2^{m}} where mm is the output length of {\mathcal{R}} on input length nn while the acceptance probability of 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,((s,s),((s),ρs)))\mathsf{Ver}^{{\mathcal{R}},\ket{{\sf PSPACE}}}(pk,((s,s^{\prime}),({\mathcal{R}}(s),\rho_{s^{\prime}}))) is 1 if (𝖪𝖾𝗒𝖦𝖾𝗇|,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖬𝗂𝗇𝗍|,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤)(\mathsf{KeyGen}^{\prime\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}},\mathsf{Mint}^{\prime\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}},\mathsf{Ver}^{\prime{\mathcal{R}},\ket{\mathsf{PSPACE}}}) is (perfectly) correct. However, it’s impossible to recover a new query in D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍DD_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}-D because it’s empty.

Purified View.

Our insight is to consider an alternate world called the purified view. In this alternate world, we run everything coherently; in more detail, we consider a uniform superposition of {\mathcal{R}}, run 𝖬𝗂𝗇𝗍\mathsf{Mint}, 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and even the attacker coherently (i.e., no intermediate measurements). If the attacker is successful in this alternate world then he is also successful in the real world where {\mathcal{R}} and the queries made by 𝖵𝖾𝗋\mathsf{Ver} to {\mathcal{R}} are measured. We then employ the the compressed oracle technique by Zhandry [Zha18] to coherently recover the database of query-answer pairs recorded during 𝖪𝖾𝗒𝖦𝖾𝗇,𝖬𝗂𝗇𝗍\mathsf{KeyGen},\mathsf{Mint} and relate this with the database recorded during 𝖵𝖾𝗋\mathsf{Ver}. Using an involved analysis, we then show many of the insights from the case when 𝖪𝖾𝗒𝖦𝖾𝗇,𝖬𝗂𝗇𝗍\mathsf{KeyGen},\mathsf{Mint} make classical queries to {\mathcal{R}} can be translated to the quantum query setting.

2.2.3 Challenges To Handling Quantum Verification Queries

It is natural to wonder whether we can similarly use the compressed oracle technique to handle quantum queries made by 𝖵𝖾𝗋\mathsf{Ver}. Unfortunately, there are inherent limitations. Recall that in our attack, the adversary records the verifier’s classical query-answer pairs in a database, uses this to produce a classical description of a verification circuit (that does not make any queries to the random oracle), and submits the circuit description to a 𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{PSPACE} oracle in order to synthesize a money state. If the verifier instead makes quantum queries, then a natural idea is to use Zhandry’s compressed oracle technique to record the quantum queries. However, there are two conceptual challenges to implementing this idea.

First, in the compressed oracle technique, the queries are being recorded by the oracle itself in a “database register”, and not the adversary in the cryptosystem. In our setting, we are trying to construct an adversary to record the queries, but it does not have access to the oracle’s database register. In general, any attempts by the adversary to get some information about the query positions of 𝖵𝖾𝗋\mathsf{Ver} could potentially disturb the intermediate states of the 𝖵𝖾𝗋\mathsf{Ver} algorithm; it is then unclear how to use the original guarantees of 𝖵𝖾𝗋\mathsf{Ver}. Another way of saying this is that Zhandry’s compressed oracle technique is typically used in the security analysis to show limits on the adversary’s ability to break some cryptosystem. In our case, we want to use some kind of quantum recording technique in the adversary’s attack.

Secondly, the natural approach to using the 𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{PSPACE} oracle is to leverage it to synthesize alleged banknotes. However, since the 𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{PSPACE} oracle is a classical function (which may be accessed in superposition), it requires polynomial-length classical strings as input. In our approach, the adversary submits a classical description of a verification circuit with query/answer pairs hardcoded inside. On the other hand if 𝖵𝖾𝗋\mathsf{Ver} makes quantum queries, it may query exponentially many positions of the random oracle \mathcal{R} in superposition, and it is unclear how to “squeeze” the relevant information about the queries into a polynomial-sized classical string that could be utilized by the 𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{PSPACE} oracle.

This suggests that we may need a fundamentally new approach to recording quantum queries in order to handle the case when the verification algorithm makes quantum queries.

2.3 Related Work

Quantum Money.

The notion of quantum money was first conceived in the paper by Wiesner [Wie83]. In the same work, a construction of private-key quantum money was proposed. Wiesner’s construction has been well studied and its limitations [Lut10] and security guarantees [MVW12] have been well understood. Other constructions of private-key quantum money have also been studied. Ji, Liu and Song [JLS18] construct private-key quantum money from pseudorandom quantum states. Radian and Sattath [RS22] construct private-key quantum money with classical bank from quantum hardness of learning with errors.

With regards to public-key quantum money, Aaronson and Christiano [AC13] present a construction of public-key quantum money in the oracle model. Zhandry [Zha21] instantiated this oracle and showed how to construct public-key quantum money based on the existence of post-quantum indistinguishability obfuscation (iO) [BGI+01]. Recently, Shmueli [Shm22] showed how to achieve public-key quantum money with classical bank, assuming post-quantum iO and quantum hardness of learning with errors. Constructions [FGH+12, KSS21, KLS22] of public-key quantum money from newer assumptions have also been explored although they have been susceptible to quantum attacks [Rob21, BDG22].

Black-box Separations in Quantum Cryptography.

So far, most of the existing black-box separations in quantum cryptography have focused on extending black-box separations for classical cryptographic primitives to the quantum setting. Hosoyamada and Yamakawa [HY20] extend the black-box separation between collision-resistant hash functions and one-way functions [Sim98] to the quantum setting. Austrin, Chung, Chung, Fu, Lin and Mahmoody [ACC+22] showed a black-box separation between key agreement and one-way functions in the setting when the honest parties can perform quantum computation but only have access to classical communication. Cao and Xue [CX21] extended classical black-box separations between one-way permutations and one-way functions to the quantum setting.

3 Preliminaries

For a string xx, let |x|{\lvert{x}\rvert} denote its length. Let [n][n] denote the set {0,1,,n1}\{0,1,\cdots,n-1\} for any positive integer nn. Define the symmetric difference of two sets XX and YY to be the set of elements contained in exactly one of XX and YY, i.e. XΔY=(XY)(YX)X\Delta Y=(X-Y)\cup(Y-X).

3.1 Quantum States, Algorithms, and Oracles

A register 𝖱\mathsf{R} is a finite-dimensional complex Hilbert space. If 𝖠,𝖡,𝖢\mathsf{A},\mathsf{B},\mathsf{C} are registers, for example, then the concatenation 𝖠𝖡𝖢\mathsf{A}\mathsf{B}\mathsf{C} denotes the tensor product of the associated Hilbert spaces. For a linear transformation LL and register 𝖱\mathsf{R}, we sometimes write L𝖱L_{\mathsf{R}} to indicate that LL acts on 𝖱\mathsf{R}, and similarly we sometimes write ρ𝖱\rho_{\mathsf{R}} to indicate that a state ρ\rho is in the register 𝖱\mathsf{R}. We write Tr()\mathrm{Tr}(\cdot) to denote trace, and Tr𝖱()\mathrm{Tr}_{\mathsf{R}}(\cdot) to denote the partial trace over a register 𝖱\mathsf{R}.

For a pure state |φ\ket{\varphi}, we write φ\varphi to denote the density matrix |φφ|\ket{\varphi}\!\bra{\varphi}. Let II denote the identity matrix. Let TD(ρ,σ)\operatorname{TD}(\rho,\sigma) denote the trace distance between two density matrices ρ,σ\rho,\sigma.

For a pure state |φ=iai|i\ket{\varphi}=\sum_{i}a_{i}\ket{i} written in computational basis, we write |φ¯=iai¯|i\ket{\overline{\varphi}}=\sum_{i}\overline{a_{i}}\ket{i} to denote the conjugate of |φ\ket{\varphi} where ai¯\overline{a_{i}} is the complex conjugate of the complex number aia_{i}. The following observation shows that what the maximally entangled state looks like in other basis.

Lemma 1.

For two registers 𝖠\mathsf{A} and 𝖡\mathsf{B} of the same dimension NN, let (|i)i=1N\left(\ket{i}\right)_{i=1}^{N} be the computational basis and (|vi)i=1N\left(\ket{v_{i}}\right)_{i=1}^{N} be an arbitrary basis. Then 1Ni=1N|i𝖠|i𝖡=1Ni=1N|vi𝖠|vi¯𝖡.\frac{1}{\sqrt{N}}\sum_{i=1}^{N}\ket{i}_{\mathsf{A}}\ket{i}_{\mathsf{B}}=\frac{1}{\sqrt{N}}\sum_{i=1}^{N}\ket{v_{i}}_{\mathsf{A}}\ket{\overline{v_{i}}}_{\mathsf{B}}.

Proof.

It’s easy to show that (|vi¯)i=1N\left(\ket{\overline{v_{i}}}\right)_{i=1}^{N} also forms a basis. Suppose |vj=i=1Naj,i|i\ket{v_{j}}=\sum_{i=1}^{N}a_{j,i}\ket{i}. Then

1Ni=1N|i𝖠|i𝖡\displaystyle\frac{1}{\sqrt{N}}\sum_{i=1}^{N}\ket{i}_{\mathsf{A}}\ket{i}_{\mathsf{B}} =j=1N|vjvj|𝖠j=1N|vj¯vj¯|𝖡1Ni=1N|i𝖠|i𝖡\displaystyle=\sum_{j=1}^{N}\ket{v_{j}}\!\bra{v_{j}}_{\mathsf{A}}\sum_{j^{\prime}=1}^{N}\ket{\overline{v_{j^{\prime}}}}\!\bra{\overline{v_{j^{\prime}}}}_{\mathsf{B}}\frac{1}{\sqrt{N}}\sum_{i=1}^{N}\ket{i}_{\mathsf{A}}\ket{i}_{\mathsf{B}}
=1Nj=1Nj=1Ni=1Naj,i¯aj,i|vj𝖠|vj¯𝖡\displaystyle=\frac{1}{\sqrt{N}}\sum_{j=1}^{N}\sum_{j^{\prime}=1}^{N}\sum_{i=1}^{N}\overline{a_{j,i}}a_{j^{\prime},i}\ket{v_{j}}_{\mathsf{A}}\ket{\overline{v_{j^{\prime}}}}_{\mathsf{B}}
=1Nj=1Nj=1Nvj|vj|vj𝖠|vj¯𝖡\displaystyle=\frac{1}{\sqrt{N}}\sum_{j=1}^{N}\sum_{j^{\prime}=1}^{N}\braket{v_{j}}{v_{j^{\prime}}}\ket{v_{j}}_{\mathsf{A}}\ket{\overline{v_{j^{\prime}}}}_{\mathsf{B}}
=1Nj=1N|vj𝖠|vj¯𝖡\displaystyle=\frac{1}{\sqrt{N}}\sum_{j=1}^{N}\ket{v_{j}}_{\mathsf{A}}\ket{\overline{v_{j}}}_{\mathsf{B}}

where we use the fact that j=1N|vjvj|𝖠\sum_{j=1}^{N}\ket{v_{j}}\!\bra{v_{j}}_{\mathsf{A}} and j=1N|vj¯vj¯|𝖡\sum_{j^{\prime}=1}^{N}\ket{\overline{v_{j^{\prime}}}}\!\bra{\overline{v_{j^{\prime}}}}_{\mathsf{B}} are identity. ∎

Quantum Circuits

We specify the model of quantum circuits that we work with in this paper. For convenience we fix the universal gate set {H,𝐶𝑁𝑂𝑇,T}\{H,\mathit{CNOT},T\} [NC00, Chapter 4] (although our results hold for any universal gate set consisting of gates with algebraic entries). Quantum circuits can include unitary gates from the aforementioned universal gate set, as well as non-unitary gates that (a) introduce new qubits initialized in the zero state, (b) trace them out, or (c) measure them in the standard basis. We say that a circuit uses space ss if the total number of qubits involved at any time step of the computation is at most ss. The description of a circuit is a sequence of gates (unitary or non-unitary) along with a specification of which qubits they act on.

We call a sequence of quantum circuits C=(Cx)x{0,1}C=(C_{x})_{x\in\{0,1\}^{*}} a quantum algorithm. We say that CC is polynomial-time if there exists a polynomial pp such that CxC_{x} has size at most p(|x|)p(\lvert x\rvert). We say that CC is polynomial-space if there exists a polynomial pp such that CxC_{x} uses at most p(|x|)p(|x|) space.

Let C=(Cx)x{0,1}C=(C_{x})_{x\in\{0,1\}^{*}} denote a quantum algorithm. Given a string x{0,1}x\in\{0,1\}^{*} and a state ρ\rho whose number of qubits matches the input size of the circuit CxC_{x}, we write C(x,ρ)C(x,\rho) to denote the output of circuit CxC_{x} on input ρ\rho. The output will in general be a mixed state as the circuit CxC_{x} can perform measurements.

We say that a quantum algorithm C=(Cx)x{0,1}C=(C_{x})_{x\in\{0,1\}^{*}} is time-uniform (or simply uniform) if there exists a polynomial-time Turing machine that on input xx outputs the description of CxC_{x}. Similarly we say that CC is space-uniform if there exists a polynomial-space Turing machine that on input xx outputs the description of CxC_{x}.

Oracle Algorithms

Oracle algorithms are quantum algorithms whose circuits, in addition to having the gates as described above, have the ability to query (perhaps in superposition) a function OO (called an oracle) which may act on many qubits. This is essentially the same as the standard quantum query model [NC00, Chapter 6], except the circuits may perform non-unitary operations such as measurement, reset, and tracing out. Each oracle call is counted as a single gate towards the size complexity of a circuit. The notion of time- and space-uniformity for oracle algorithms is the same as with non-oracle algorithms: there is a polynomial-time/polynomial-space Turing machine – which does not have access to the oracle – that outputs the description of the circuits.

Given an oracle 𝒪=(𝒪n)n{\mathcal{O}}=({\mathcal{O}}_{n})_{n\in\mathbb{N}} where each 𝒪n:{0,1}n{0,1}{\mathcal{O}}_{n}:\{0,1\}^{n}\to\{0,1\} is an nn-bit boolean function, we write C𝒪=(Cx𝒪)x{0,1}C^{\mathcal{O}}=(C_{x}^{\mathcal{O}})_{x\in\{0,1\}^{*}} to denote an oracle algorithm where each circuit CxC_{x} can query any of the functions (𝒪n)n({\mathcal{O}}_{n})_{n\in\mathbb{N}} (provided that the oracle does not act on more than the number of qubits of Cx)C_{x}).

In this paper we distinguish between classical and quantum queries. We say that an oracle algorithm C𝒪C^{\mathcal{O}} makes quantum queries if it can query 𝒪{\mathcal{O}} in superposition; this is akin to the standard query model. We say that C𝒪C^{\mathcal{O}} makes classical queries if, before every oracle call, the input qubits to the oracle are measured in the standard basis. In this case, the algorithm would be querying the oracle on a probabilistic mixture of inputs. For clarity, we write C|𝒪C^{\ket{{\mathcal{O}}}} to denote CC making quantum queries, and C𝒪C^{\mathcal{O}} to denote CC making classical queries.

A specific oracle that we consider throughout is the 𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{PSPACE} oracle. What we mean by this is a sequence of functions (𝖯𝖲𝖯𝖠𝖢𝖤n)n(\mathsf{PSPACE}_{n})_{n\in\mathbb{N}} where for every nn, the function 𝖯𝖲𝖯𝖠𝖢𝖤n\mathsf{PSPACE}_{n} decides nn-bit instances of a 𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{PSPACE} complete language (such as Quantified Satisfiability [Pap94]).

We state the following observation.

Lemma 2.

Let C|𝖯𝖲𝖯𝖠𝖢𝖤=(Cx|𝖯𝖲𝖯𝖠𝖢𝖤)x{0,1}C^{\ket{\mathsf{PSPACE}}}=(C_{x}^{\ket{\mathsf{PSPACE}}})_{x\in\{0,1\}^{*}} denote a polynomial-time oracle algorithm (not necessarily uniform) that makes quantum queries to 𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{PSPACE} and has one-bit classical output. Then there exists a polynomial-space algorithm D=(Dx)x{0,1}D=(D_{x})_{x\in\{0,1\}^{*}} such that for all x{0,1}x\in\{0,1\}^{*}, DxD_{x} is a unitary and the functionality of Cx|𝖯𝖲𝖯𝖠𝖢𝖤C_{x}^{\ket{\mathsf{PSPACE}}} is exactly the same as introducing polynomial number of qubits initialized in the zero state, applying unitary DxD_{x} and then measuring the first qubit in computational basis to get a classical output. Furthermore if CC is uniform, then DD is space-uniform.

Proof.

This follows because for a polynomial-time (oracle) algorithm, we can always introduce new qubits only at the beginning and defer measurements and tracing out to the end, and each oracle query in Cx|𝖯𝖲𝖯𝖠𝖢𝖤C_{x}^{\ket{\mathsf{PSPACE}}} to the 𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{PSPACE} oracle can be computed by first introducing several ancillas initialized in the zero state and then applying a unitary that implements the classical polynomial space algorithm for the PSPACE-complete language and uncomputes all the intermediate results. Furthermore, the description of the unitary can be generated by polynomial-space Turing machines. ∎

Finally, we will consider hybrid oracles 𝒪{\mathcal{O}} that are composed of two separate oracles {\mathcal{R}} and the |𝖯𝖲𝖯𝖠𝖢𝖤\ket{\mathsf{PSPACE}} oracle. In this model, the oracle algorithm C𝒪C^{\mathcal{O}} makes classical queries to {\mathcal{R}}, and quantum queries to 𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{PSPACE}. We abuse the notation and refer to algorithms having access to hybrid oracles as oracle algorithms.

State Synthesis

We define the following “state complexity class”. Intuitively it captures the set of quantum states that can be synthesized by polynomial-space quantum algorithms.

Definition 1 (𝗌𝗍𝖺𝗍𝖾𝖯𝖲𝖯𝖠𝖢𝖤{\mathsf{statePSPACE}}).

𝗌𝗍𝖺𝗍𝖾𝖯𝖲𝖯𝖠𝖢𝖤{\mathsf{statePSPACE}} is the class of all sequences (ρx)xS(\rho_{x})_{x\in S} for some set S{0,1}S\subseteq\{0,1\}^{*} (called the promise) such that there is a polynomial pp where each ρx\rho_{x} is a density matrix on p(|x|)p(|x|) qubits, and for every polynomial qq there exists a space-uniform polynomial-space quantum algorithm C=(Cx)x{0,1}C=(C_{x})_{x\in\{0,1\}^{*}} such that for all xSx\in S, the circuit CxC_{x} takes no inputs and outputs a density matrix σ\sigma such that TD(σ,ρx)exp(q(|x|))\operatorname{TD}(\sigma,\rho_{x})\leq\exp(-q(\lvert x\rvert)).

We say that the state sequence (ρx)xS(\rho_{x})_{x\in S} is pure if each ρx\rho_{x} is a pure state |ψxψx|\ket{\psi_{x}}\!\bra{\psi_{x}}; in that case we usually denote the sequence by (|ψx)xS(\ket{\psi_{x}})_{x\in S}.

The following theorem says that, for 𝗌𝗍𝖺𝗍𝖾𝖯𝖲𝖯𝖠𝖢𝖤{\mathsf{statePSPACE}} sequences that are pure, there in fact is a polynomial-time oracle algorithm that makes quantum queries to a 𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{PSPACE} oracle to synthesize the state sequence.

Theorem 2 (Section 5 of [RY21]).

Let (|ψx)xS(\ket{\psi_{x}})_{x\in S} be a 𝗌𝗍𝖺𝗍𝖾𝖯𝖲𝖯𝖠𝖢𝖤{\mathsf{statePSPACE}} family of pure states. Then there exists a polynomial-time oracle algorithm A|𝖯𝖲𝖯𝖠𝖢𝖤A^{\ket{\mathsf{PSPACE}}} such that on input xSx\in S, the algorithm outputs a pure state that is exp(|x|)\exp(-\lvert x\rvert)-close in trace distance to |ψx\ket{\psi_{x}}.

3.2 Public Key Quantum Money Schemes

Definition 2 (Oracle-aided Public Key Quantum Money Schemes).

A oracle-aided public key quantum money scheme 𝒮𝒪\mathcal{S}^{\mathcal{O}} consists of three uniform polynomial-time oracle algorithms (𝖪𝖾𝗒𝖦𝖾𝗇𝒪,𝖬𝗂𝗇𝗍𝒪,𝖵𝖾𝗋𝒪)\left(\mathsf{KeyGen}^{{\mathcal{O}}},\mathsf{Mint}^{{\mathcal{O}}},\mathsf{Ver}^{{\mathcal{O}}}\right):

  • 𝖪𝖾𝗒𝖦𝖾𝗇𝒪(1n)\mathsf{KeyGen}^{{\mathcal{O}}}(1^{n}): takes as input a security parameter nn in unary notation and generates secret key-public key pair (sk,pk)(sk,pk).

  • 𝖬𝗂𝗇𝗍𝒪(sk)\mathsf{Mint}^{{\mathcal{O}}}(sk): takes as input sksk and mints banknote ρs\rho_{s} associated with the serial number ss.

  • 𝖵𝖾𝗋𝒪(pk,(s,ρs))\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s})): takes as inputs pkpk and an alleged banknote (s,ρs)(s,\rho_{s}) and outputs ρs|𝐱𝐱|\rho^{\prime}_{s}\otimes\ket{{\bf x}}\!\bra{{\bf x}}, where 𝐱{𝖠𝖼𝖼𝖾𝗉𝗍,𝖱𝖾𝗃𝖾𝖼𝗍}{\bf x}\in\{{\sf Accept},{\sf Reject}\}.

For simplicity, when we don’t care about the output ρs\rho_{s}^{\prime} in 𝖵𝖾𝗋𝒪\mathsf{Ver}^{{\mathcal{O}}}, we sometimes denote the event that ρs|𝖠𝖼𝖼𝖾𝗉𝗍𝖠𝖼𝖼𝖾𝗉𝗍|𝖵𝖾𝗋𝒪(pk,(s,ρs))\rho^{\prime}_{s}\otimes\ket{{\sf Accept}}\!\bra{{\sf Accept}}\leftarrow\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s})) as 𝖵𝖾𝗋𝒪(pk,(s,ρs))\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s})) accepts.

We require the above oracle-aided public key quantum money scheme to satisfy both correctness and security properties.

3.2.1 Correctness

We first consider the traditional definition of correctness considered by prior works. Roughly speaking, correctness states that the verification algorithm accepts the money state produced by the minting algorithm. Later, we consider a stronger notion called reusability which stipulates that the verification process on a valid money outputs another valid money state (not necessarily the same as before).

Definition 3 (Correctness).

An oracle-aided public key quantum money scheme (𝖪𝖾𝗒𝖦𝖾𝗇𝒪,𝖬𝗂𝗇𝗍𝒪,𝖵𝖾𝗋𝒪)\left(\mathsf{KeyGen}^{{\mathcal{O}}},\mathsf{Mint}^{{\mathcal{O}}},\mathsf{Ver}^{{\mathcal{O}}}\right) is δ\delta-correct if the following holds for every nn\in\mathbb{N}:

𝖯𝗋[ρs|𝖠𝖼𝖼𝖾𝗉𝗍𝖠𝖼𝖼𝖾𝗉𝗍|𝖵𝖾𝗋𝒪(pk,(s,ρs)):(sk,pk)𝖪𝖾𝗒𝖦𝖾𝗇𝒪(1n)(s,ρs)𝖬𝗂𝗇𝗍𝒪(sk)]δ,\mathsf{Pr}\left[\rho^{\prime}_{s}\otimes\ket{{\sf Accept}}\!\bra{{\sf Accept}}\leftarrow\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s}))\ :\ \begin{subarray}{c}(sk,pk)\leftarrow\mathsf{KeyGen}^{{\mathcal{O}}}(1^{n})\\ (s,\rho_{s})\leftarrow\mathsf{Mint}^{{\mathcal{O}}}(sk)\end{subarray}\right]\geq\delta,

where the probability is also over the randomness of 𝒪{\mathcal{O}}.

We omit δ\delta when δ1𝗇𝖾𝗀𝗅(n)\delta\geq 1-\mathsf{negl}(n).

Reusability.

In this work, we consider quantum money schemes satisfying the stronger notion of reusability.

Definition 4 (Reusability).

An oracle-aided public key quantum money scheme (𝖪𝖾𝗒𝖦𝖾𝗇𝒪,𝖬𝗂𝗇𝗍𝒪,𝖵𝖾𝗋𝒪)\left(\mathsf{KeyGen}^{{\mathcal{O}}},\mathsf{Mint}^{{\mathcal{O}}},\mathsf{Ver}^{{\mathcal{O}}}\right) is δ\delta-reusable if the following holds for every nn\in\mathbb{N} and for every polynomial q(n)q(n):

𝖯𝗋[ρs(q(n))|𝖠𝖼𝖼𝖾𝗉𝗍𝖠𝖼𝖼𝖾𝗉𝗍|𝖵𝖾𝗋𝒪(pk,(s,ρs(q(n)1))):(sk,pk)𝖪𝖾𝗒𝖦𝖾𝗇𝒪(1n)(s,ρs(0))𝖬𝗂𝗇𝗍𝒪(sk)i[q(n)1],ρs(i+1)|𝐱𝐱|𝖵𝖾𝗋𝒪(pk,(s,ρs(i)))]δ,\mathsf{Pr}\left[\rho_{s}^{(q(n))}\otimes\ket{{\sf Accept}}\!\bra{{\sf Accept}}\leftarrow\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s}^{(q(n)-1)}))\ :\ \begin{subarray}{c}(sk,pk)\leftarrow\mathsf{KeyGen}^{{\mathcal{O}}}(1^{n})\\ \ \\ (s,\rho_{s}^{(0)})\leftarrow\mathsf{Mint}^{{\mathcal{O}}}(sk)\\ \ \\ \forall i\in[q(n)-1],\ \rho_{s}^{(i+1)}\otimes\ket{{\bf x}}\!\bra{{\bf x}}\leftarrow\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s}^{(i)}))\end{subarray}\right]\geq\delta,

where the probability is also over the randomness of 𝒪{\mathcal{O}}.

We omit δ\delta when δ1𝗇𝖾𝗀𝗅(n)\delta\geq 1-\mathsf{negl}(n).

In general, gentle measurement lemma [Win99] can be invoked to prove that correctness generically implies reusability. However, this is not the case in our context. The reason being that the verification algorithm performs intermediate measurements whenever it makes classical queries to an oracle and these measurements cannot be deferred to the end.

3.2.2 Security

We consider the following security notion. Basically, it says that no efficient adversary can produce two alleged banknotes from one valid banknote with the same serial number.

Definition 5 (Security).

An oracle-aided public key quantum money scheme (𝖪𝖾𝗒𝖦𝖾𝗇𝒪,𝖬𝗂𝗇𝗍𝒪,𝖵𝖾𝗋𝒪)\left(\mathsf{KeyGen}^{{\mathcal{O}}},\mathsf{Mint}^{{\mathcal{O}}},\mathsf{Ver}^{{\mathcal{O}}}\right) is δ\delta-secure if the following holds for every nn\in\mathbb{N} and for every uniform polynomial-time oracle algorithm 𝒜𝒪\mathcal{A}^{{\mathcal{O}}}:

𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,ϕ1)) accepts and 𝖵𝖾𝗋𝒪(pk,(s,ϕ2)) accepts:(sk,pk)𝖪𝖾𝗒𝖦𝖾𝗇𝒪(1n)(s,ρs)𝖬𝗂𝗇𝗍𝒪(sk)ϕ𝒜𝒪(pk,(s,ρs))]δ,\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\phi_{1}))\text{ accepts and }\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\phi_{2}))\text{ accepts}\ :\ \begin{subarray}{c}(sk,pk)\leftarrow\mathsf{KeyGen}^{{\mathcal{O}}}(1^{n})\\ (s,\rho_{s})\leftarrow\mathsf{Mint}^{{\mathcal{O}}}(sk)\\ \phi\leftarrow\mathcal{A}^{{\mathcal{O}}}(pk,(s,\rho_{s}))\end{subarray}\right]\leq\delta,

where the probability is also over the randomness of 𝒪{\mathcal{O}}. By ϕi\phi_{i}, we mean the reduced density matrix of ϕ\phi on the ithi^{th} register.

We omit δ\delta when δ𝗇𝖾𝗀𝗅(n)\delta\leq\mathsf{negl}(n).

3.3 Jordan’s Lemma and Alternating Projections

In this section, we analyze alternating projection algorithm, a tool for estimating the acceptance of the verification algorithm on a state with only one copy of that state, which was introduced by Marriott and Watrous [MW05] for witness-preserving error reduction. This section follows section 4.1 in [CMSZ22] mostly.

For two binary-outcome projective measurements M1={Π1,IΠ1},M2={Π2,IΠ2}M_{1}=\{\Pi_{1},I-\Pi_{1}\},M_{2}=\{\Pi_{2},I-\Pi_{2}\}, the alternating projection algorithm applies measurements M1M_{1} and M2M_{2} alternatively (Π1,Π2\Pi_{1},\Pi_{2} corresponds to outcome 11) until a stopping condition is met. The following lemma can help us analyze the distribution of the outcomes by decomposing it into several small subspaces.

Lemma 3 (Jordan’s Lemma).

For any two projectors Π1\Pi_{1}, Π2\Pi_{2}, there exists an orthogonal decomposition of the Hilbert space into one-dimensional and two-dimensional subspaces SiS_{i} that are invariant under both Π1\Pi_{1} and Π2\Pi_{2}. Moreover, if SiS_{i} is a one-dimensional subspace, then Π1\Pi_{1} and Π2\Pi_{2} act as identity or rank-zero projectors inside SiS_{i}. If SiS_{i} is a two-dimensional subspace, then Π1\Pi_{1} and Π2\Pi_{2} are rank-one projectors inside SiS_{i}. To be more specific, there are two unit vectors |vi\ket{v_{i}} and |wi\ket{w_{i}} such that inside SiS_{i}, Π1\Pi_{1} projects on |vi\ket{v_{i}} and Π2\Pi_{2} projects on |wi\ket{w_{i}}.

Let measurement M𝖩𝗈𝗋={Pi}iM_{\mathsf{Jor}}=\{P_{i}\}_{i} where PiP_{i} is the projector onto the subspace SiS_{i} defined above. Then both M1M_{1} and M2M_{2} commute with M𝖩𝗈𝗋M_{\mathsf{Jor}}. Therefore the distribution of outcomes of each M1M_{1} and M2M_{2} will not change if we insert M𝖩𝗈𝗋M_{\mathsf{Jor}} at any point of the alternating projections. We can analyze the distribution of outcome sequence by first applying M𝖩𝗈𝗋M_{\mathsf{Jor}} and then applying M1M_{1}, M2M_{2} alternatively. For each two-dimensional subspace SiS_{i}, denote pi:=|vi|wi|2p_{i}:=\lvert\braket{v_{i}}{w_{i}}\rvert^{2}. (This can be seen as a quantity that measures the angle between Π1\Pi_{1} and Π2\Pi_{2} inside SiS_{i}.)

For now, let’s assume that there are only two-dimensional subspaces in the decomposition. The general case where there exist one-dimensional subspaces is essentially the same and can be handled similarly. Then, Π1=i|vivi|,Π2=i|wiwi|\Pi_{1}=\sum_{i}\ket{v_{i}}\!\bra{v_{i}},\Pi_{2}=\sum_{i}\ket{w_{i}}\!\bra{w_{i}}.444Generally, for each one-dimensional subspace SiS_{i} on which Π1\Pi_{1} acts as identity, we can set |vi\ket{v_{i}} to be the vector that spaces SiS_{i}. Let AA be the set of index ii such that Π1\Pi_{1} is not a rank-zero projector inside SiS_{i}. Then Π1=iA|vivi|\Pi_{1}=\sum_{i\in A}\ket{v_{i}}\!\bra{v_{i}}. Similarly Π2=iB|wiwi|\Pi_{2}=\sum_{i\in B}\ket{w_{i}}\!\bra{w_{i}} where BB and |wi\ket{w_{i}} are defined in a similar way.

Now let’s state a result first proven in [MW05] and restated in many later works (e.g., [CMSZ22]).

Proposition 1.

If initially the state is |vi\ket{v_{i}}555The same holds for each |vi(iA)\ket{v_{i}}(i\in A) generally where we define pi=1p_{i}=1 if Π1\Pi_{1} and Π2\Pi_{2} act both as identity in subspace SiS_{i} and we define pi=0p_{i}=0 if Π1\Pi_{1} acts as identity while Π2\Pi_{2} acts as zero-projector in subspace SiS_{i}. and we apply M2M_{2}, M1M_{1} alternatively for NN times, then the outcome sequence b1,b2,b3,,b2Nb_{1},b_{2},b_{3},\cdots,b_{2N} will follow the distribution below

  1. 1.

    Set b0=1b_{0}=1 (because applying M1M_{1} to |vi\ket{v_{i}} will give outcome 1).

  2. 2.

    For each jj, we set bjb_{j} to be bj1b_{j-1} with probability pip_{i}, and 1bj11-b_{j-1} otherwise.

Moreover, whenever we measure M1M_{1} and get outcome 1, we will go back to state |vi\ket{v_{i}}.

Then the fraction of bit-flips in the outcome sequence will be a good estimation of 1pi1-p_{i} if we start from |vi\ket{v_{i}}.

3.4 Compressed Oracle Techniques

In this section, we present some basics of compressed oracle techniques introduced by Zhandry [Zha18].

For a quantum query algorithm AA interacting with a random oracle, let’s assume that AA only queries the random oracle with nn-bit input and gets 11-bit output for simplicity. By the deferred measurement principle, without loss of generality we can write AA in the form of a sequence of unitaries U0,Uf,U1,Uf,,Uk1,Uf,UkU_{0},U_{f},U_{1},U_{f},\cdots,U_{k-1},U_{f},U_{k} where UiU_{i} is the unitary that prepares the (i+1)th{(i+1)^{th}} query of AA to RR and UfU_{f} maps |x|y\ket{x}\ket{y} to |x|yf(x)\ket{x}\ket{y\oplus f(x)} where ff is the chosen random function from all the functions with nn-bit input and 11-bit output.

Then the behavior of AA when it is interacting with a random oracle can be analyzed in the following purified view:

  • Initialize register 𝖠\mathsf{A} to be the input for AA (along with enough ancillas |0\ket{0}) and initialize register 𝖥\mathsf{F} to be a uniform superposition of the truth tables of all functions from [2n][2^{n}] to {0,1}\{0,1\} (to be more specific, 𝖥\mathsf{F} is initialized to 122nf is a 2n-bit string|f\frac{1}{\sqrt{2^{2^{n}}}}\sum_{f\text{ is a $2^{n}$-bit string}}\ket{f} where |f=|f(0)|f(1)|f(2n1)\ket{f}=\ket{f(0)}\ket{f(1)}\cdots\ket{f(2^{n}-1)} and |f(i)\ket{f(i)} consists of one qubit).

  • Apply U0,UF,U1,UF,,Uk1,UF,UkU_{0},U_{F},U_{1},U_{F},\cdots,U_{k-1},U_{F},U_{k} where UiU_{i} is acting on 𝖠\mathsf{A} and UFU_{F} maps |x|y|f𝖥\ket{x}\ket{y}\ket{f}_{\mathsf{F}} to |x|yf(x)|f𝖥\ket{x}\ket{y\oplus f(x)}\ket{f}_{\mathsf{F}}.

In fact, the output (mixed) state of AA (we also take the randomness of ff into account) equals to the reduced density matrix on the output register of the state we obtain from the above procedure as Ui,UFU_{i},U_{F} commutes with computational basis measurement on 𝖥\mathsf{F}. More generally, the output (mixed) state of a sequence of algorithms with access to random oracle can also be analyzed in the same way.

Definition 6 (Fourier basis).

|0^:=|+=12(|0+|1)\ket{\hat{0}}:=\ket{+}=\frac{1}{\sqrt{2}}\left(\ket{0}+\ket{1}\right). |1^:=|=12(|0|1)\ket{\hat{1}}:=\ket{-}=\frac{1}{\sqrt{2}}\left(\ket{0}-\ket{1}\right).

One can easily check that {|0^,|1^}\{\ket{\hat{0}},\ket{\hat{1}}\} is a basis because it’s just the result of applying hermitian matrix HH to |0,|1\ket{0},\ket{1}. We call this basis as Fourier basis.

The following fact is simple and easy to check, but crucial in compressed oracle techniques. Roughly speaking, it says that if we see 𝐶𝑁𝑂𝑇\mathit{CNOT} in Fourier basis, its control bit and target bit swaps.

Fact 1.

The operator defined by |y|y|yy|y\ket{y}\ket{y^{\prime}}\rightarrow\ket{y\oplus y^{\prime}}\ket{y^{\prime}} for all y,y{0,1}y,y^{\prime}\in\{0,1\} is the same as the operator defined by |y^|y^|y^|yy^\ket{\widehat{y}}\ket{\widehat{y^{\prime}}}\rightarrow\ket{\hat{y}}\ket{\widehat{y^{\prime}\oplus y}} for all y,y{0,1}y,y^{\prime}\in\{0,1\}.

By 1, when we look at the last two registers in Fourier basis, UFU_{F} becomes

|x|y^|y0^|y1^|y2n1^|x|y^|y0^|y1^|yx1^|yxy^|yx+1^|y2n1^.\ket{x}\ket{\widehat{y}}\ket{\widehat{y_{0}}}\ket{\widehat{y_{1}}}\cdots\ket{\widehat{y_{2^{n}-1}}}\rightarrow\ket{x}\ket{\widehat{y}}\ket{\widehat{y_{0}}}\ket{\widehat{y_{1}}}\cdots\ket{\widehat{y_{x-1}}}\ket{\widehat{y_{x}\oplus y}}\ket{\widehat{y_{x+1}}}\cdots\ket{\widehat{y_{2^{n}-1}}}.

Initially, 𝖥\mathsf{F} is |0^|0^|0^\ket{\hat{0}}\ket{\hat{0}}\cdots\ket{\hat{0}} and each call of UFU_{F} only changes one position if we look at the last two registers in Fourier basis. So after kk calls of UFU_{F}, the state can be written as

a,y0,y1,,y2n1such that there are at most k non-zeroin y0,y1,,y2n1αa,y0,y1,,y2n1|a𝖠|y0^|y1^|y2n1^.\sum_{\begin{subarray}{c}a,y_{0},y_{1},\cdots,y_{2^{n}-1}\\ \text{such that there are at most $k$ non-zero}\\ \text{in $y_{0},y_{1},\cdots,y_{2^{n}-1}$}\end{subarray}}\alpha_{a,y_{0},y_{1},\cdots,y_{2^{n}-1}}\ket{a}_{\mathsf{A}}\ket{\widehat{y_{0}}}\ket{\widehat{y_{1}}}\cdots\ket{\widehat{y_{2^{n}-1}}}.

We can record those non-0^\hat{0} into a database. To be more specific, there exists a unitary that maps those |y0^|y1^|y2n1^\ket{\widehat{y_{0}}}\ket{\widehat{y_{1}}}\cdots\ket{\widehat{y_{2^{n}-1}}} (perhaps along with some ancillas) to a database |x1|yx1^|xl|yxl^\ket{x_{1}}\ket{\widehat{y_{x_{1}}}}\cdots\ket{x_{l}}\ket{\widehat{y_{x_{l}}}} (perhaps along with some unused space) where x1<x2<<xl,yxi^0^x_{1}<x_{2}<\cdots<x_{l},\widehat{y_{x_{i}}}\neq\hat{0} and lkl\leq k. That is, there exists a unitary that can compress the oracle. Furthermore, the inverse of the unitary can decompress the database back to the oracle.

Chernoff bound

Finally, we state here a variant of the Chernoff bound that we will use.

Theorem 3 (Chernoff Bound).

Suppose X1,X2,,XnX_{1},X_{2},\cdots,X_{n} are independent random variables taking values from {0,1}\{0,1\} such that each Xi=1X_{i}=1 with probability pp. Let μ=pn\mu=pn. Then for any δ>0\delta>0,

𝖯𝗋[i=1nXi(1+δ)μ]eδ2μ/(2+δ),\mathsf{Pr}\left[\sum_{i=1}^{n}X_{i}\geq(1+\delta)\mu\right]\leq e^{-\delta^{2}\mu/(2+\delta)},
𝖯𝗋[i=1nXi(1δ)μ]eδ2μ/2.\mathsf{Pr}\left[\sum_{i=1}^{n}X_{i}\leq(1-\delta)\mu\right]\leq e^{-\delta^{2}\mu/2}.

4 Synthesizing Witness States In Quantum Polynomial Space

In the classical setting it is easy to see that given a (classical) verifier circuit VV (which may make oracle queries to 𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{PSPACE}), one can find in polynomial space a witness string yy that is accepted by VV: one can simply perform brute-force search over all strings and check whether V𝖯𝖲𝖯𝖠𝖢𝖤V^{\mathsf{PSPACE}} accepts xx.

In the section, we prove the quantum counterpart, where now the verifier circuit is quantum and can make quantum queries to the 𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{PSPACE} oracle. We show that given the description of such a verifier circuit, with the help of the quantum |𝖯𝖲𝖯𝖠𝖢𝖤\ket{\mathsf{PSPACE}} oracle, we can efficiently synthesize a witness state ρ\rho that is accepted by VV with probability greater than the desired guarantee (provided that there exists a witness state with acceptance probability greater than the threshold). Formally:

Theorem 4.

Let aa (called the guarantee), bb (called the threshold) be functions such that b(n)a(n)1p(n)b(n)-a(n)\geq\frac{1}{p(n)} for every nn where pp is a polynomial. Let 𝖵|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{V}^{\ket{\mathsf{PSPACE}}} denote a uniform oracle algorithm. Then there exists a uniform oracle algorithm 𝖲𝗒𝗇\mathsf{Syn} (called the synthesizer) such that for every xSx\in S,

𝖯𝗋[𝖵|𝖯𝖲𝖯𝖠𝖢𝖤(x,𝖲𝗒𝗇|𝖯𝖲𝖯𝖠𝖢𝖤(x)) accepts]a(|x|)\mathsf{Pr}\left[\mathsf{V}^{\ket{\mathsf{PSPACE}}}(x,\mathsf{Syn}^{\ket{\mathsf{PSPACE}}}(x))\text{ accepts}\right]\geq a({\lvert{x}\rvert})

where S:={x:maxρ𝖯𝗋[𝖵|𝖯𝖲𝖯𝖠𝖢𝖤(x,ρ) accepts]b(|x|)}S:=\left\{x:\max_{\rho}\mathsf{Pr}\left[\mathsf{V}^{\ket{\mathsf{PSPACE}}}(x,\rho)\text{ accepts}\right]\geq b({\lvert{x}\rvert})\right\}.

This theorem follows directly from Theorem 2 and the following lemma.

Lemma 4.

Let a,ba,b be functions such that b(n)a(n)1p(n)b(n)-a(n)\geq\frac{1}{p(n)} for every nn where pp is a polynomial. Let 𝖵|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{V}^{\ket{\mathsf{PSPACE}}} denote a uniform oracle algorithm, and let SS be the corresponding set as in Theorem 4. Then there exists a 𝗌𝗍𝖺𝗍𝖾𝖯𝖲𝖯𝖠𝖢𝖤{\mathsf{statePSPACE}} family of pure states (|ψx)xS(\ket{\psi_{x}})_{x\in S} where each state |ψx\ket{\psi_{x}} is bipartite on two registers (labeled 𝖬\mathsf{M} and 𝖤\mathsf{E}) such that for every xSx\in S,

𝖯𝗋[𝖵|𝖯𝖲𝖯𝖠𝖢𝖤(x,ρ𝖬) accepts]a(|x|)\mathsf{Pr}\left[\mathsf{V}^{\ket{\mathsf{PSPACE}}}(x,\rho_{\mathsf{M}})\text{ accepts}\right]\geq a({\lvert{x}\rvert})

where ρ𝖬\rho_{\mathsf{M}} is the reduced density matrix of |ψx\ket{\psi_{x}} on register 𝖬\mathsf{M}, i.e. ρ𝖬=Tr𝖤(ψx)\rho_{\mathsf{M}}=\mathrm{Tr}_{\mathsf{E}}(\psi_{x}).

Proof of Theorem 4.

Let a(n)=a(n)+exp(n)a^{\prime}(n)=a(n)+\exp(-n) and b(n)=b(n)b^{\prime}(n)=b(n), where a(n),b(n)a(n),b(n) are as given by the conditions in Theorem 4. Applying Lemma 4 with functions a(n),b(n)a^{\prime}(n),b^{\prime}(n), we obtain a 𝗌𝗍𝖺𝗍𝖾𝖯𝖲𝖯𝖠𝖢𝖤{\mathsf{statePSPACE}} state sequence (|ψx)xS(\ket{\psi_{x}})_{x\in S} such that for every xSx\in S,

𝖯𝗋[𝖵|𝖯𝖲𝖯𝖠𝖢𝖤(x,ρ𝖬) accepts]a(|x|)+exp(|x|)\mathsf{Pr}\left[\mathsf{V}^{\ket{\mathsf{PSPACE}}}(x,\rho_{\mathsf{M}})\text{ accepts}\right]\geq a({\lvert{x}\rvert})+\exp(-{\lvert{x}\rvert})

where S:={x:maxρ𝖯𝗋[𝖵|𝖯𝖲𝖯𝖠𝖢𝖤(x,ρ) accepts]b(|x|)}S:=\left\{x:\max_{\rho}\mathsf{Pr}\left[\mathsf{V}^{\ket{\mathsf{PSPACE}}}(x,\rho)\text{ accepts}\right]\geq b({\lvert{x}\rvert})\right\}.

Theorem 2 implies that there exists a polynomial-time oracle algorithm A|𝖯𝖲𝖯𝖠𝖢𝖤A^{\ket{\mathsf{PSPACE}}} that on input xSx\in S, outputs a pure state |φx\ket{\varphi_{x}} that is exp(|x|)\exp(-{\lvert{x}\rvert})-close to |ψx\ket{\psi_{x}}. This implies that the reduced density matrix of A|𝖯𝖲𝖯𝖠𝖢𝖤(x)A^{\ket{\mathsf{PSPACE}}}(x) on register 𝖬\mathsf{M}, which we denote by σ𝖬\sigma_{\mathsf{M}}, is also exp(|x|)\exp(-{\lvert{x}\rvert})-close to ρ𝖬=Tr𝖤(ψx)\rho_{\mathsf{M}}=\mathrm{Tr}_{\mathsf{E}}(\psi_{x}) (this follows from the fact that trace distance is non-increasing when you discard subsystems). Thus for every xSx\in S, we have

𝖯𝗋[𝖵|𝖯𝖲𝖯𝖠𝖢𝖤(x,σ𝖬) accepts]a(|x|)\mathsf{Pr}\left[\mathsf{V}^{\ket{\mathsf{PSPACE}}}(x,\sigma_{\mathsf{M}})\text{ accepts}\right]\geq a({\lvert{x}\rvert})

because otherwise 𝖵|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{V}^{\ket{\mathsf{PSPACE}}} would be able to distinguish between ρ𝖬\rho_{\mathsf{M}} and σ𝖬\sigma_{\mathsf{M}} with more than exp(|x|)\exp(-{\lvert{x}\rvert}) bias.

The synthesizer 𝖲𝗒𝗇\mathsf{Syn} works as follows: on input xSx\in S it runs the oracle algorithm A|𝖯𝖲𝖯𝖠𝖢𝖤(x)A^{\ket{\mathsf{PSPACE}}}(x) to obtain a pure state |φx\ket{\varphi_{x}}, and then traces out the 𝖤\mathsf{E} register and returns the remaining state on the 𝖬\mathsf{M} register as output. ∎

The remainder of Section 4 will be devoted to the proof of Lemma 4. We will use the techniques and results from [MW05] (also presented in Section 3.3 for completeness). In Section 4.1 we present the description of the state family along with the description of a circuit family that generates (an approximation of) the state family. In Section 4.2 we prove that the state family satisfies the requirements.

4.1 Description of the State Family and Circuit Family

In this section, we implement our ideas from Section 2.1 in a formal way. Recall that our algorithm in Section 2.1 repeatedly does the following (which we will call a trial): start from a maximally entangled state, estimate the acceptance probability coherently using MW technique and if the estimated acceptance probability high, then output the remaining state. Roughly speaking, the target state we aim to generate will be the remaining state after a successful trial (a trial is successful if the estimated acceptance probability is high). Looking ahead, in order to prove Lemma 4, we only need to show two things. Firstly, our algorithm actually outputs a good approximation of the target state, so our target state forms a 𝗌𝗍𝖺𝗍𝖾𝖯𝖲𝖯𝖠𝖢𝖤{\mathsf{statePSPACE}} family; Secondly, our target state will indeed be accepted with high probability.

Now let’s start by giving a formal description of the state family.

The state family

Let 𝖵|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{V}^{\ket{\mathsf{PSPACE}}} be the uniform oracle algorithm given in the condition of Lemma 4. From Lemma 2, there exists a space-uniform polynomial-space algorithm 𝖵^=(𝖵^x)x{0,1}\widehat{\mathsf{V}}=(\widehat{\mathsf{V}}_{x})_{x\in\{0,1\}^{*}} such that 𝖵^x\widehat{\mathsf{V}}_{x} is unitary and the functionality of 𝖵x|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{V}_{x}^{\ket{\mathsf{PSPACE}}} is exactly the same as introducing k(|x|)k({\lvert{x}\rvert}) new ancilla qubits in |0\ket{0}, applying unitary 𝖵^x\widehat{\mathsf{V}}_{x} and then measuring the first qubit in computational basis where kk is a polynomial. Let m(|x|)m({\lvert{x}\rvert}) be the number of qubits that 𝖵x\mathsf{V}_{x} takes as input, which is also a polynomial.

Fix xS,n=|x|x\in S,n={\lvert{x}\rvert}. We sometimes omit subscript xx when it is clear from the context. For convenience, we write m(n),k(n)m(n),k(n) as m,km,k respectively from now on.

Let 𝖬{\mathsf{M}} denote the register containing the mm input qubits. Let 𝖪{\mathsf{K}} denote the register containing the kk ancilla qubits. Let 𝖠𝗇𝗌{\mathsf{Ans}} denote the first qubit (i.e. the one that will be measured in computational basis to decide whether 𝖵x|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{V}_{x}^{\ket{\mathsf{PSPACE}}} accepts or rejects, and outcome 11 means accept while outcome 0 means reject). Let 𝖠𝗎𝗑{\mathsf{Aux}} denote a register containing another mm fresh qubits.

Here we define two binary-outcome projective measurements on 𝖬𝖪\mathsf{MK}. Define P1:=|0k0k|𝖪P^{1}:=\ket{0^{k}}\!\bra{0^{k}}_{{\mathsf{K}}}, P0:=I𝖬𝖪P1P^{0}:=I_{\mathsf{MK}}-P^{1} and P:={P0,P1}P:=\{P^{0},P^{1}\}. Intuitively, P1P^{1} corresponds to “valid input subspace” (i.e., the ancilla qubits are initialized properly). Define Q1:=𝖵^x|11|𝖠𝗇𝗌𝖵^x,Q0:=𝖵^x|00|𝖠𝗇𝗌𝖵^xQ^{1}:=\widehat{\mathsf{V}}_{x}^{\dagger}\ket{1}\!\bra{1}_{{\mathsf{Ans}}}\widehat{\mathsf{V}}_{x},Q^{0}:=\widehat{\mathsf{V}}_{x}^{\dagger}\ket{0}\!\bra{0}_{{\mathsf{Ans}}}\widehat{\mathsf{V}}_{x} and Q:={Q0,Q1}Q:=\{Q^{0},Q^{1}\}. Intuitively, Q1Q^{1} corresponds to the state that will be accepted if we apply 𝖵^x\widehat{\mathsf{V}}_{x} to it and then measure 𝖠𝗇𝗌\mathsf{Ans} in computational basis. So QQ checks whether 𝖵x|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{V}_{x}^{\ket{\mathsf{PSPACE}}} will accept as long as register 𝖪{\mathsf{K}} is initialized properly. The following simple observation is implicitly shown in [MW05].

Observation 1.

The maximum acceptance probability of 𝖵|𝖯𝖲𝖯𝖠𝖢𝖤(x,)\mathsf{V}^{\ket{\mathsf{PSPACE}}}(x,\cdot) is exactly the largest eigenvalue of P1Q1P1P^{1}Q^{1}P^{1}.

Proof.

First, we show that the maximum eigenvalue of P1Q1P1P^{1}Q^{1}P^{1} is upper bounded by the maximum acceptance probability of 𝖵|𝖯𝖲𝖯𝖠𝖢𝖤(x,)\mathsf{V}^{\ket{\sf PSPACE}}(x,\cdot).

For any pure state |ϕ\ket{\phi} on register 𝖬𝖪\mathsf{MK}, let ρ𝖬=1P1|ϕ2Tr𝖪(P1|ϕϕ|P1)\rho_{\mathsf{M}}=\frac{1}{\|P^{1}\ket{\phi}\|^{2}}\mathrm{Tr}_{\mathsf{K}}(P^{1}\ket{\phi}\!\bra{\phi}P^{1}). Then

ϕ|P1Q1P1|ϕ=\displaystyle\bra{\phi}P^{1}Q^{1}P^{1}\ket{\phi}= Tr(Q1P1|ϕϕ|P1)=P1|ϕ2Tr(Q11P1|ϕ2P1|ϕϕ|P1)\displaystyle\mathrm{Tr}(Q^{1}P^{1}\ket{\phi}\!\bra{\phi}P^{1})=\|P^{1}\ket{\phi}\|^{2}\mathrm{Tr}(Q^{1}\frac{1}{\|P^{1}\ket{\phi}\|^{2}}P^{1}\ket{\phi}\!\bra{\phi}P^{1})
=\displaystyle= P1|ϕ2Tr(Q1(ρ𝖬|0k0k|𝖪))\displaystyle\|P^{1}\ket{\phi}\|^{2}\mathrm{Tr}(Q^{1}(\rho_{\mathsf{M}}\otimes\ket{0^{k}}\!\bra{0^{k}}_{\mathsf{K}}))
=\displaystyle= 𝖯𝗋[𝖵|𝖯𝖲𝖯𝖠𝖢𝖤(x,ρ𝖬) accepts]\displaystyle\mathsf{Pr}\left[\mathsf{V}^{\ket{\mathsf{PSPACE}}}(x,\rho_{\mathsf{M}})\text{ accepts}\right]
\displaystyle\leq maxρ𝖯𝗋[𝖵|𝖯𝖲𝖯𝖠𝖢𝖤(x,ρ) accepts]\displaystyle\max_{\rho}\mathsf{Pr}\left[\mathsf{V}^{\ket{\mathsf{PSPACE}}}(x,\rho)\text{ accepts}\right]

Second, we show that the maximum eigenvalue of P1Q1P1P^{1}Q^{1}P^{1} is lower bounded by the maximum acceptance probability of 𝖵|𝖯𝖲𝖯𝖠𝖢𝖤(x,)\mathsf{V}^{\ket{\sf PSPACE}}(x,\cdot). By a simple convexity argument, we can assume without loss of generality, the acceptance probability of 𝖵|𝖯𝖲𝖯𝖠𝖢𝖤(x,)\mathsf{V}^{\ket{\sf PSPACE}}(x,\cdot) achieves its maximum on pure state |ϕ0\ket{\phi_{0}}. Let |ϕ=|ϕ0|0k\ket{\phi}=\ket{\phi_{0}}\ket{0^{k}}. Then

ϕ|P1Q1P1|ϕ=𝖯𝗋[𝖵|𝖯𝖲𝖯𝖠𝖢𝖤(x,ϕ0) accepts]=maxρ𝖯𝗋[𝖵|𝖯𝖲𝖯𝖠𝖢𝖤(x,ρ) accepts]\bra{\phi}P^{1}Q^{1}P^{1}\ket{\phi}=\mathsf{Pr}\left[\mathsf{V}^{\ket{\mathsf{PSPACE}}}(x,\phi_{0})\text{ accepts}\right]=\max_{\rho}\mathsf{Pr}\left[\mathsf{V}^{\ket{\mathsf{PSPACE}}}(x,\rho)\text{ accepts}\right]

Therefore, this observation holds true.

We first define a subroutine 𝖳𝗋𝗂𝖺𝗅\mathsf{Trial} where N:=max(3a+b(ba)2(m+2log(ba)),16b(ba)2)N:=\max\left(\frac{3a+b}{(b-a)^{2}}\left(m+2-\log(b-a)\right),\frac{16b}{(b-a)^{2}}\right) is polynomial in nn (recall that b(n)a(n)1p(n)b(n)-a(n)\geq\frac{1}{p(n)} where pp is a polynomial).

1:Initialize register 𝖬𝖠𝗎𝗑\mathsf{MAux} to be 12mi{0,1}m|i𝖬|i𝖠𝗎𝗑\frac{1}{\sqrt{2^{m}}}\sum_{i\in\{0,1\}^{m}}\ket{i}_{{\mathsf{M}}}\ket{i}_{{\mathsf{Aux}}}
2:Initialize register 𝖪\mathsf{K} to be |0k𝖪\ket{0^{k}}_{{\mathsf{K}}}
3:Introduce a new 2N+12N+1 qubit register 𝖸:=𝖸𝟢𝖸𝟤𝖭{\mathsf{Y}}:=\mathsf{{Y}_{0}\cdots{Y}_{2N}} initialized to be |1|02N\ket{1}\ket{0^{2N}}
4:Introduce a new register 𝖢𝗇𝗍{\mathsf{Cnt}} initialized in |0\ket{0}
5:for i=1,2,,Ni=1,2,\cdots,N do
6:     Measure 𝖬𝖪\mathsf{MK} with QQ coherently, store the outcome in 𝖸2i1{\mathsf{Y}}_{2i-1}
7:     Measure 𝖬𝖪\mathsf{MK} with PP coherently, store the outcome in 𝖸2i{\mathsf{Y}}_{2i}
8:end for
9:Compute the number of times that yj=yj1y_{j}=y_{j-1} in superposition and store the result in 𝖢𝗇𝗍{\mathsf{Cnt}}
10:Do the projective measurement 𝖳𝖾𝗌𝗍:={𝖸𝖾𝗌:=jN(a+b)|jj|𝖢𝗇𝗍|11|𝖸2N,𝖭𝗈:=I𝖸𝖾𝗌}\mathsf{Test}:=\{\mathsf{Yes}:=\sum_{j\geq N(a+b)}\ket{j}\!\bra{j}_{{\mathsf{Cnt}}}\otimes\ket{1}\!\bra{1}_{{\mathsf{Y}}_{2N}},\mathsf{No}:=I-\mathsf{Yes}\}

Define 𝖤:=𝖪𝖠𝗎𝗑𝖸𝖢𝗇𝗍\mathsf{E}:={\mathsf{K}}\otimes{\mathsf{Aux}}\otimes{\mathsf{Y}}\otimes{\mathsf{Cnt}} (i.e., all registers except 𝖬\mathsf{M}).

Definition 7 (State family (|ψx)xS(\ket{\psi_{x}})_{x\in S}).

Let SS be the set defined in Lemma 4. When xSx\in S, let |ψx\ket{\psi_{x}} denote the state in register 𝖬𝖤{\mathsf{M}}\otimes{\mathsf{E}} after a successful implementation of 𝖳𝗋𝗂𝖺𝗅\mathsf{Trial} (i.e., the outcome of 𝖳𝖾𝗌𝗍\mathsf{Test} is 𝖸𝖾𝗌\mathsf{Yes}). When xx are clear from the context, we also write it as |ψ\ket{\psi}.

Observe that in 𝖳𝗋𝗂𝖺𝗅\mathsf{Trial}, we initialize a pure state in register 𝖬𝖤{\mathsf{M}}\otimes{\mathsf{E}} (line 1 - line 4), then apply a unitary on it (line 5- line 9) as all measurements are conducted coherently, and finally do a projective measurement (line 10). So the definition above indeed gives us a family of states (|ψx)xS(\ket{\psi_{x}})_{x\in S} such that each |ψx\ket{\psi_{x}} is a pure state on l(n)l(n) qubits where ll is a polynomial.

The circuit family

Now let’s construct a circuit family (or algorithm) that can generate efficiently an approximation of the state family (|ψx)xS(\ket{\psi_{x}})_{x\in S}. For any polynomial qq and approximation factor exp(q(n))\exp(-q(n)), the circuit CxC_{x} operates as follows where T:=2m+2q(n)T:=2^{m+2}q(n) is exponential in nn.

1:for t=1,,Tt=1,\cdots,T do
2:     Run 𝖳𝗋𝗂𝖺𝗅\mathsf{Trial}
3:     if it is successful then
4:         return the state in the register 𝖬𝖤{\mathsf{M}}{\mathsf{E}}
5:     end if
6:end for
7:return an arbitrary state with l(n)l(n) qubits

4.2 Proof of Lemma 4

In the section, we prove that the pure state family (|ψx)xS(\ket{\psi_{x}})_{x\in S} satisfies the requirements in Lemma 4 by applying known result in Section 3.3.

Fix xSx\in S. We associate Π1\Pi_{1} with P1P^{1}, Π2\Pi_{2} with Q1Q^{1}, M1M_{1} with PP and M2M_{2} with QQ, and adopt the notations in Section 3.3. Then P1Q1P1=i|vivi|i|wiwi|i|vivi|=ipi|vivi|P^{1}Q^{1}P^{1}=\sum_{i}\ket{v_{i}}\!\bra{v_{i}}\sum_{i}\ket{w_{i}}\!\bra{w_{i}}\sum_{i}\ket{v_{i}}\!\bra{v_{i}}=\sum_{i}p_{i}\ket{v_{i}}\!\bra{v_{i}}. From xSx\in S and 1, we can assume p1=maxipibp_{1}=\max_{i}p_{i}\geq b. 666Generally P1Q1P1=iABpi|vivi|P^{1}Q^{1}P^{1}=\sum_{i\in A\cap B}p_{i}\ket{v_{i}}\!\bra{v_{i}}. We can assume p1=maxiABpibp_{1}=\max_{i\in A\cap B}p_{i}\geq b.

To begin with, let’s prove that the state family (|ψx)xS(\ket{\psi_{x}})_{x\in S} satisfies the first requirement in Lemma 4. That is, it is a 𝗌𝗍𝖺𝗍𝖾𝖯𝖲𝖯𝖠𝖢𝖤{\mathsf{statePSPACE}} family, which can be approximately generated by the circuit family. Notice that CxC_{x} outputs |ψx\ket{\psi_{x}} whenever one of the exponential 𝖳𝗋𝗂𝖺𝗅\mathsf{Trial}s succeeds. So we first analyze the success probability of one 𝖳𝗋𝗂𝖺𝗅\mathsf{Trial}.

Lemma 5.

𝖯𝗋[𝖳𝗋𝗂𝖺𝗅 succeeds]12m+2.\mathsf{Pr}\left[\mathsf{Trial}\text{ succeeds}\right]\geq\frac{1}{2^{m+2}}.

Proof.

The success probability of 𝖳𝗋𝗂𝖺𝗅\mathsf{Trial} doesn’t change if we measure each qubit of 𝖸{\mathsf{Y}} once the outcome is stored in it because computational basis measurements on 𝖸\mathsf{Y} commutes with the operations in line 9 and 10 of 𝖳𝗋𝗂𝖺𝗅\mathsf{Trial}. Thus we can think of it as measure 𝖬𝖪\mathsf{MK} directly with PP and QQ alternatively, get a classical outcome sequence y:=y1y2y2Ny:=y_{1}y_{2}\cdots y_{2N} and return 𝖸𝖾𝗌\mathsf{Yes} if y2N=1y_{2N}=1 and the number of times that yj=yj1(1j2N)y_{j}=y_{j-1}(1\leq j\leq 2N) is at least N(a+b)N(a+b) (where y0=1y_{0}=1), which is an alternating projection algorithm. For simplicity, we will denote by 𝖦𝗈𝗈𝖽{\sf Good} the set of yy that corresponds to outcome 𝖸𝖾𝗌\mathsf{Yes}. Now let’s analyze the probability of y𝖦𝗈𝗈𝖽y\in{\sf Good}.

An important observation is that the initial state can also be written in forms of |vi\ket{v_{i}}. Because P1=i|vivi|P^{1}=\sum_{i}\ket{v_{i}}\!\bra{v_{i}}, |vi\ket{v_{i}} forms a basis for the Hilbert space 𝖬|0k0k|𝖪\mathcal{H}_{\mathsf{M}}\otimes\ket{0^{k}}\!\bra{0^{k}}_{\mathsf{K}}. Let |ui\ket{u_{i}} be a truncation on 𝖬\mathsf{M} of |vi\ket{v_{i}}, i.e. |vi𝖬𝖪=|ui𝖬|0k𝖪\ket{v_{i}}_{\mathsf{MK}}=\ket{u_{i}}_{\mathsf{M}}\ket{0^{k}}_{\mathsf{K}}. Then |ui\ket{u_{i}} forms a basis for 𝖬\mathcal{H}_{\mathsf{M}}. Thus by Lemma 1, the state

12mi=02m1|i𝖬|i𝖠𝗎𝗑=12mi|ui𝖬|ui¯𝖠𝗎𝗑\frac{1}{\sqrt{2^{m}}}\sum_{i=0}^{2^{m}-1}\ket{i}_{{\mathsf{M}}}\ket{i}_{{\mathsf{Aux}}}=\frac{1}{\sqrt{2^{m}}}\sum_{i}\ket{u_{i}}_{{\mathsf{M}}}\ket{\overline{u_{i}}}_{{\mathsf{Aux}}}

Consequently, 12mi=02m1|i𝖬|0k𝖪|i𝖠𝗎𝗑=12mi|vi𝖬𝖪|ui¯𝖠𝗎𝗑.\frac{1}{\sqrt{2^{m}}}\sum_{i=0}^{2^{m}-1}\ket{i}_{{\mathsf{M}}}\ket{0^{k}}_{\mathsf{K}}\ket{i}_{{\mathsf{Aux}}}=\frac{1}{\sqrt{2^{m}}}\sum_{i}\ket{v_{i}}_{{\mathsf{MK}}}\ket{\overline{u_{i}}}_{{\mathsf{Aux}}}. 777In the general case, the summation is over iAi\in A. That is, 12mi=02m1|i𝖬|0k𝖪|i𝖠𝗎𝗑=12miA|vi𝖬𝖪|ui¯𝖠𝗎𝗑.\frac{1}{\sqrt{2^{m}}}\sum_{i=0}^{2^{m}-1}\ket{i}_{{\mathsf{M}}}\ket{0^{k}}_{\mathsf{K}}\ket{i}_{{\mathsf{Aux}}}=\frac{1}{\sqrt{2^{m}}}\sum_{i\in A}\ket{v_{i}}_{{\mathsf{MK}}}\ket{\overline{u_{i}}}_{{\mathsf{Aux}}}. Thus for each iAi\in A, we will be in subspace SiS_{i} with probability 12m\frac{1}{2^{m}} if we apply M𝖩𝗈𝗋M_{\mathsf{Jor}}.

Notice that we can apply M𝖩𝗈𝗋M_{\mathsf{Jor}} on register 𝖬𝖪\mathsf{MK} before the alternating projections without changing the distribution of yy. Applying M𝖩𝗈𝗋M_{\mathsf{Jor}} to the above state, the post-measurement state will be |vi𝖬𝖪|ui¯𝖠𝗎𝗑\ket{v_{i}}_{\mathsf{MK}}\ket{\overline{u_{i}}}_{\mathsf{Aux}} with probability 12m\frac{1}{2^{m}}. And by Proposition 1, when we start from |vi𝖬𝖪|ui¯𝖠𝗎𝗑\ket{v_{i}}_{\mathsf{MK}}\ket{\overline{u_{i}}}_{\mathsf{Aux}}, yj=yj1y_{j}=y_{j-1} with probability pip_{i} for each jj independently.

In particular, we will start from |v1𝖬𝖪|u1¯𝖠𝗎𝗑\ket{v_{1}}_{\mathsf{MK}}\ket{\overline{u_{1}}}_{\mathsf{Aux}} with probability 12m\frac{1}{2^{m}}. And when we start from |v1𝖬𝖪|u1¯𝖠𝗎𝗑\ket{v_{1}}_{\mathsf{MK}}\ket{\overline{u_{1}}}_{\mathsf{Aux}}, yj=yj1y_{j}=y_{j-1} with probability p1p_{1} for each jj independently. This can be seen as performing 2N2N independent coin flips with bias p1bp_{1}\geq b. And y𝖦𝗈𝗈𝖽y\in{\sf Good} if the number of heads (denote as cntcnt) is an even greater than or equal to N(a+b)N(a+b).

By Chernoff bound,

𝖯𝗋[cnt<(a+b)N]exp(Np1(1a+b2p1)2)exp(N(ba)24b)14\mathsf{Pr}\left[cnt<(a+b)N\right]\leq\exp(-Np_{1}(1-\frac{a+b}{2p_{1}})^{2})\leq\exp(-N\frac{(b-a)^{2}}{4b})\leq\frac{1}{4}
𝖯𝗋[cnt is an odd]=\displaystyle\mathsf{Pr}\left[cnt\text{ is an odd}\right]= j=0N1(2N2j+1)p12j+1(1p1)2N2j1\displaystyle\sum_{j=0}^{N-1}\binom{2N}{2j+1}p_{1}^{2j+1}(1-p_{1})^{2N-2j-1}
=\displaystyle= 12((p1+1p1)2N(p1(1p1))2N)\displaystyle\frac{1}{2}((p_{1}+1-p_{1})^{2N}-(p_{1}-(1-p_{1}))^{2N})
\displaystyle\leq 12\displaystyle\frac{1}{2}

Thus by union bound, when the post-measurement state after M𝖩𝗈𝗋M_{\mathsf{Jor}} is |v1𝖬𝖪|u1¯𝖠𝗎𝗑\ket{v_{1}}_{\mathsf{MK}}\ket{\overline{u_{1}}}_{\mathsf{Aux}}, y𝖦𝗈𝗈𝖽y\in{\sf Good} with probability at least 14\frac{1}{4}.

So 𝖯𝗋[𝖳𝗋𝗂𝖺𝗅 succeeds]=𝖯𝗋[y𝖦𝗈𝗈𝖽]12m14=12m+2.\mathsf{Pr}\left[\mathsf{Trial}\text{ succeeds}\right]=\mathsf{Pr}\left[y\in{\sf Good}\right]\geq\frac{1}{2^{m}}\frac{1}{4}=\frac{1}{2^{m+2}}.

Claim 1.

(|ψx)xS(\ket{\psi_{x}})_{x\in S} is a 𝗌𝗍𝖺𝗍𝖾𝖯𝖲𝖯𝖠𝖢𝖤[S]{\mathsf{statePSPACE}}\left[S\right] family.

Proof.

We only need to show that our construction CxC_{x} satisfies the requirements in Definition 1.

From the construction, CxC_{x} can be generated by polynomial space Turing machine on input xx and CxC_{x} uses at most polynomial space at any time. Thus C=(Cx)x{0,1}C=(C_{x})_{x\in\{0,1\}^{*}} is a space-uniform polynomial-space quantum algorithm. It is obvious from the construction that CxC_{x} takes no inputs. The only remaining thing is to prove CxC_{x} outputs a good approximation of |ψx\ket{\psi_{x}} when xSx\in S.

Fix xSx\in S. Whenever there is a successful implementation of 𝖳𝗋𝗂𝖺𝗅\mathsf{Trial}, CxC_{x} will output |ψx\ket{\psi_{x}}. Moreover, by Lemma 5, recall that T=2m+2q(n)T=2^{m+2}q(n),

𝖯𝗋[T independent repetitions of 𝖳𝗋𝗂𝖺𝗅 all fail]=(1𝖯𝗋[𝖳𝗋𝗂𝖺𝗅 succeeds])T(112m+2)Teq(n)\mathsf{Pr}\left[\text{$T$ independent repetitions of $\mathsf{Trial}$ all fail}\right]=(1-\mathsf{Pr}\left[\mathsf{Trial}\text{ succeeds}\right])^{T}\leq(1-\frac{1}{2^{m+2}})^{T}\leq e^{-q(n)}

That is, except with probability eq(n)e^{-q(n)}, CxC_{x} outputs |ψx\ket{\psi_{x}}.

As a result, the state outputted by CxC_{x} is eq(n)e^{-q(n)}-close to |ψx\ket{\psi_{x}} in trace distance. ∎

The second requirement in Lemma 4 that (|ψx)xS(\ket{\psi_{x}})_{x\in S} needs to satisfy is that the reduced density matrix of |ψx\ket{\psi_{x}} will be accepted by 𝖵|𝖯𝖲𝖯𝖠𝖢𝖤(x,)\mathsf{V}^{\ket{\mathsf{PSPACE}}}(x,\cdot) with high probability. This is intuitively correct because the real acceptance probability should not be too far from the estimated acceptance probability. Now let’s prove it formally.

Claim 2.

For every xSx\in S, 𝖯𝗋[𝖵x|𝖯𝖲𝖯𝖠𝖢𝖤(ρ𝖬) accepts]a\mathsf{Pr}\left[\mathsf{V}_{x}^{\ket{\mathsf{PSPACE}}}(\rho_{\mathsf{M}})\text{ accepts}\right]\geq a where ρ𝖬\rho_{\mathsf{M}} is the reduced density matrix of ψx\psi_{x} on register 𝖬\mathsf{M}.

Proof.

Fix xSx\in S. We will omit subscripts when it is clear from the context.

Similar with what we did in Lemma 5, this probability doesn’t change if in the generation of ψx\psi_{x} (i.e. 𝖳𝗋𝗂𝖺𝗅\mathsf{Trial}), we measure 𝖸\mathsf{Y} directly instead (as we only care about the part in 𝖬\mathsf{M}). Let ψx\psi^{\prime}_{x} be the state we obtain from a successful implementation of 𝖳𝗋𝗂𝖺𝗅\mathsf{Trial} if we measure directly instead. Then the reduced density matrices of ψx\psi_{x} and ψx\psi^{\prime}_{x} are the same on register 𝖬\mathsf{M}.

Notice that 𝖵x|𝖯𝖲𝖯𝖠𝖢𝖤(ρ𝖬)\mathsf{V}_{x}^{\ket{\mathsf{PSPACE}}}(\rho_{\mathsf{M}}) is just applying 𝖵^x\widehat{\mathsf{V}}_{x} to ρ𝖬|0k0k|𝖪\rho_{\mathsf{M}}\otimes\ket{0^{k}}\!\bra{0^{k}}_{\mathsf{K}} and then measuring the first qubit in computational basis, or equivalently, it is just measuring ρ𝖬|0k0k|𝖪\rho_{\mathsf{M}}\otimes\ket{0^{k}}\!\bra{0^{k}}_{\mathsf{K}} with QQ. By the definition, ψx\psi^{\prime}_{x} is |0k\ket{0^{k}} on register 𝖪\mathsf{K} (because the outcome y2Ny_{2N} should be 1). So the reduced density matrix of ψx\psi^{\prime}_{x} on register 𝖬𝖪\mathsf{MK} is exactly ρ𝖬|0k0k|𝖪\rho_{\mathsf{M}}\otimes\ket{0^{k}}\!\bra{0^{k}}_{\mathsf{K}}.

Consider the following alternating projection algorithm:

We start from 12mi{0,1}m|i𝖬|0k𝖪|i𝖠𝗎𝗑\frac{1}{\sqrt{2^{m}}}\sum_{i\in\{0,1\}^{m}}\ket{i}_{{\mathsf{M}}}\ket{0^{k}}_{{\mathsf{K}}}\ket{i}_{{\mathsf{Aux}}}, apply Q,PQ,P to the state alternatively for NN times to obtain a classical outcome sequence y:=y1y2y2Ny:=y_{1}y_{2}\cdots y_{2N} and if yy meets the requirement (to be more accurate, y𝖦𝗈𝗈𝖽y\in{\sf Good} where 𝖦𝗈𝗈𝖽{\sf Good} is defined in Lemma 5), we will additionally apply QQ to get an outcome zz and accept if z=1z=1.

In the above algorithm, if y𝖦𝗈𝗈𝖽y\in{\sf Good}, the (mixed) state remaining is exactly ψx\psi_{x}^{\prime}, whose reduced density matrix on 𝖬𝖪\mathsf{MK} is ρ𝖬|0k0k|𝖪\rho_{\mathsf{M}}\otimes\ket{0^{k}}\!\bra{0^{k}}_{\mathsf{K}}. Recall that 𝖵x|𝖯𝖲𝖯𝖠𝖢𝖤(ρ𝖬)\mathsf{V}_{x}^{\ket{\mathsf{PSPACE}}}(\rho_{\mathsf{M}}) is just measuring ρ𝖬|0k0k|𝖪\rho_{\mathsf{M}}\otimes\ket{0^{k}}\!\bra{0^{k}}_{\mathsf{K}} with QQ. Therefore,

𝖯𝗋[𝖵x|𝖯𝖲𝖯𝖠𝖢𝖤(ρ𝖬) accepts]=𝖯𝗋[z=1|y𝖦𝗈𝗈𝖽]\mathsf{Pr}\left[\mathsf{V}_{x}^{\ket{\mathsf{PSPACE}}}(\rho_{\mathsf{M}})\text{ accepts}\right]=\mathsf{Pr}\left[z=1\ |\ y\in{\sf Good}\right]

From Section 3.3, 𝖯𝗋[z=1|y𝖦𝗈𝗈𝖽]\mathsf{Pr}\left[z=1\ |\ y\in{\sf Good}\right] will not change if we insert M𝖩𝗈𝗋M_{\mathsf{Jor}} in front of the alternating projections. So we can calculate it by projecting the initial state 12mi=02m1|i𝖬|0k𝖪|i𝖠𝗎𝗑\frac{1}{\sqrt{2^{m}}}\sum_{i=0}^{2^{m}-1}\ket{i}_{{\mathsf{M}}}\ket{0^{k}}_{\mathsf{K}}\ket{i}_{{\mathsf{Aux}}} to one of the subspaces SiS_{i}, getting the post-measurement state |vi𝖬𝖪|ui¯𝖠𝗎𝗑\ket{v_{i}}_{\mathsf{MK}}\ket{\overline{u_{i}}}_{\mathsf{Aux}} and then sampling yy and zz as if we start from this state (here we also use the fact that 12mi=02m1|i𝖬|0k𝖪|i𝖠𝗎𝗑\frac{1}{\sqrt{2^{m}}}\sum_{i=0}^{2^{m}-1}\ket{i}_{{\mathsf{M}}}\ket{0^{k}}_{\mathsf{K}}\ket{i}_{{\mathsf{Aux}}} can be written in the form 12mi|vi𝖬𝖪|ui¯𝖠𝗎𝗑\frac{1}{\sqrt{2^{m}}}\sum_{i}\ket{v_{i}}_{{\mathsf{MK}}}\ket{\overline{u_{i}}}_{{\mathsf{Aux}}}). Denote EiE_{i} be the event that we get the post-measurement state |vi𝖬𝖪|ui¯𝖠𝗎𝗑\ket{v_{i}}_{\mathsf{MK}}\ket{\overline{u_{i}}}_{\mathsf{Aux}}. Then 𝖯𝗋[Ei]=12m\mathsf{Pr}\left[E_{i}\right]=\frac{1}{2^{m}}888Generally, 𝖯𝗋[Ei]=12m\mathsf{Pr}\left[E_{i}\right]=\frac{1}{2^{m}} for each iAi\in A. And thus all the summations below will be only over iAi\in A. . Therefore,

𝖯𝗋[z=1|y𝖦𝗈𝗈𝖽]=\displaystyle\mathsf{Pr}\left[z=1\ |\ y\in{\sf Good}\right]= 𝖯𝗋[z=1y𝖦𝗈𝗈𝖽]𝖯𝗋[y𝖦𝗈𝗈𝖽]\displaystyle\frac{\mathsf{Pr}\left[z=1\wedge y\in{\sf Good}\right]}{\mathsf{Pr}\left[y\in{\sf Good}\right]}
=\displaystyle= i𝖯𝗋[Ei]𝖯𝗋[y𝖦𝗈𝗈𝖽|Ei]𝖯𝗋[z=1|Eiy𝖦𝗈𝗈𝖽]i𝖯𝗋[Ei]𝖯𝗋[y𝖦𝗈𝗈𝖽|Ei]\displaystyle\frac{\sum_{i}\mathsf{Pr}\left[E_{i}\right]\mathsf{Pr}\left[y\in{\sf Good}\ |\ E_{i}\right]\mathsf{Pr}\left[z=1\ |\ E_{i}\wedge y\in{\sf Good}\right]}{\sum_{i}\mathsf{Pr}\left[E_{i}\right]\mathsf{Pr}\left[y\in{\sf Good}\ |\ E_{i}\right]}
=\displaystyle= ipi𝖯𝗋[y𝖦𝗈𝗈𝖽|Ei]i𝖯𝗋[y𝖦𝗈𝗈𝖽|Ei]\displaystyle\frac{\sum_{i}p_{i}\mathsf{Pr}\left[y\in{\sf Good}\ |\ E_{i}\right]}{\sum_{i}\mathsf{Pr}\left[y\in{\sf Good}\ |\ E_{i}\right]}

Same as Lemma 5, when we start from |vi𝖬𝖪|ui¯𝖠𝗎𝗑\ket{v_{i}}_{\mathsf{MK}}\ket{\overline{u_{i}}}_{\mathsf{Aux}}, the probability of y𝖦𝗈𝗈𝖽y\in{\sf Good} is the same as the probability that during 2N2N independent coin flips with bias pip_{i}, the number of heads (denote as cntcnt) is an even greater than or equal to N(a+b)N(a+b).

So if pi<ap_{i}<a, by Chernoff bound,

𝖯𝗋[y𝖦𝗈𝗈𝖽|Ei]𝖯𝗋[cntN(a+b)]exp(2Npi(a+b2pi1)2/(1+a+b2pi))exp(N(ba)23a+b)\mathsf{Pr}\left[y\in{\sf Good}\ |\ E_{i}\right]\leq\mathsf{Pr}\left[cnt\geq N(a+b)\right]\leq\exp(-2Np_{i}(\frac{a+b}{2p_{i}}-1)^{2}/(1+\frac{a+b}{2p_{i}}))\leq\exp(-N\frac{(b-a)^{2}}{3a+b})

From Lemma 5, 𝖯𝗋[y𝖦𝗈𝗈𝖽|E1]14\mathsf{Pr}\left[y\in{\sf Good}\ |\ E_{1}\right]\geq\frac{1}{4}. As a result,

pia(pia)𝖯𝗋[y𝖦𝗈𝗈𝖽|Ei]pi<a(api)𝖯𝗋[y𝖦𝗈𝗈𝖽|Ei](ba)142maexp(N(ba)23a+b)>0\displaystyle\sum_{p_{i}\geq a}(p_{i}-a)\mathsf{Pr}\left[y\in{\sf Good}\ |\ E_{i}\right]-\sum_{p_{i}<a}(a-p_{i})\mathsf{Pr}\left[y\in{\sf Good}\ |\ E_{i}\right]\geq(b-a)\frac{1}{4}-2^{m}a\exp(-N\frac{(b-a)^{2}}{3a+b})>0

where we use the fact that there are only 2m2^{m} |vi\ket{v_{i}}s because P1P^{1} has rank 2m2^{m}.999For the general case, we only sum over iAi\in A and |A||A| equals to the rank of P1P^{1}, which is 2m2^{m}.

The above inequality can be rearranged into ipi𝖯𝗋[y𝖦𝗈𝗈𝖽|Ei]>ai𝖯𝗋[y𝖦𝗈𝗈𝖽|Ei].\sum_{i}p_{i}\mathsf{Pr}\left[y\in{\sf Good}\ |\ E_{i}\right]>a\sum_{i}\mathsf{Pr}\left[y\in{\sf Good}\ |\ E_{i}\right].

Therefore, 𝖯𝗋[𝖵x|𝖯𝖲𝖯𝖠𝖢𝖤(ρ𝖬) accepts]a\mathsf{Pr}\left[\mathsf{V}_{x}^{\ket{\mathsf{PSPACE}}}(\rho_{\mathsf{M}})\text{ accepts}\right]\geq a, which ends the proof of this claim. ∎

Lemma 4 follows directly from the above two claims.

5 Insecurity of Oracle-Aided Public-Key Quantum Money

In this section, we will use the synthesizer from Section 4 as a building block to attack the oracle-aided public key quantum money scheme where 𝒪{\mathcal{O}} is a hybrid oracle composed of random oracle {\mathcal{R}} and |𝖯𝖲𝖯𝖠𝖢𝖤\ket{\mathsf{PSPACE}}. Formally:

Theorem 5.

Reusable and secure oracle-aided public key quantum money scheme (𝖪𝖾𝗒𝖦𝖾𝗇,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖬𝗂𝗇𝗍,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤)(\mathsf{KeyGen}^{{{\mathcal{R}}},\ket{\mathsf{PSPACE}}},\allowbreak\mathsf{Mint}^{{{\mathcal{R}}},\ket{\mathsf{PSPACE}}},\mathsf{Ver}^{{{\mathcal{R}}},\ket{\mathsf{PSPACE}}}) does not exist where {\mathcal{R}} is a random oracle.

Informally speaking, our synthesizer in Theorem 4 works for uniform oracle algorithm 𝖵|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{V}^{\ket{\mathsf{PSPACE}}}. However, in the oracle-aided public key quantum money scheme we aim to attack, the verification algorithm has access to random oracle {\mathcal{R}} in addition to |𝖯𝖲𝖯𝖠𝖢𝖤\ket{\mathsf{PSPACE}}. Inspired by [CKP15, AK22], we try to remove {\mathcal{R}} and simulate it with a good database. Based on the ideas in Section 2.2, we give the following attacker.

Let 𝒪{\mathcal{O}} be the hybrid oracle composed of random oracle {\mathcal{R}} and |𝖯𝖲𝖯𝖠𝖢𝖤\ket{\mathsf{PSPACE}}. For a δr\delta_{r}-reusable δs\delta_{s}-secure oracle-aided quantum money scheme (𝖪𝖾𝗒𝖦𝖾𝗇𝒪,𝖬𝗂𝗇𝗍𝒪,𝖵𝖾𝗋𝒪)\left(\mathsf{KeyGen}^{{\mathcal{O}}},\mathsf{Mint}^{{\mathcal{O}}},\mathsf{Ver}^{{\mathcal{O}}}\right) where δr=0.99,δs=𝗇𝖾𝗀𝗅(n)\delta_{r}=0.99,\delta_{s}=\mathsf{negl}(n), denote l(n)l(n) to be the number of queries to {\mathcal{R}} made by one execution of 𝖪𝖾𝗒𝖦𝖾𝗇𝒪\mathsf{KeyGen}^{{\mathcal{O}}} and one execution of 𝖬𝗂𝗇𝗍𝒪\mathsf{Mint}^{{\mathcal{O}}}. By efficiency of 𝖵𝖾𝗋𝒪\mathsf{Ver}^{{\mathcal{O}}}, there exists a uniform oracle algorithm 𝖵|𝖯𝖲𝖯𝖠𝖢𝖤=(𝖵x|𝖯𝖲𝖯𝖠𝖢𝖤)x{0,1}\mathsf{V}^{\ket{\mathsf{PSPACE}}}=(\mathsf{V}_{x}^{\ket{\mathsf{PSPACE}}})_{x\in\{0,1\}^{*}} such that running 𝖵(pk,D,s)|𝖯𝖲𝖯𝖠𝖢𝖤(ρ)\mathsf{V}_{(pk,D,s)}^{\ket{\mathsf{PSPACE}}}(\rho) is the same as running 𝖵𝖾𝗋𝒪(pk,(s,ρ))\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho)) where {\mathcal{R}} is simulated with database DD.

Let ϵ=0.01\epsilon=0.01, b=11δr+ϵb=1-\sqrt{1-\delta_{r}+\epsilon}, a=0.99ba=0.99b. By Theorem 4, there exists a polynomial-time uniform oracle algorithm 𝖲𝗒𝗇|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Syn}^{\ket{\mathsf{PSPACE}}} which can generate an “almost optimal” witness state of 𝖵(pk,D,s)|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{V}^{\ket{\mathsf{PSPACE}}}_{(pk,D,s)} with guarantee aa and threshold bb. Now let’s construct the adversary 𝒜𝒪\mathcal{A}^{{\mathcal{O}}}.

Adversary 𝒜𝒪\mathcal{A}^{{\mathcal{O}}}.

It takes as input a valid banknote (s,ρs)(s,\rho_{s}) and public key pkpk, and behaves as follows.

  1. 1.

    Let t${0,,lϵ1}t\xleftarrow{\$}\{0,\ldots,\lceil\frac{l}{\epsilon}\rceil-1\}. Let D=D=\emptyset, ρs(0)=ρs\rho_{s}^{(0)}=\rho_{s}. Run the following tt times. In ithi^{th} iteration,

    1. (a)

      ρs(i)|𝐱𝐱|𝖵𝖾𝗋𝒪(pk,s,ρs(i1))\rho_{s}^{(i)}\otimes\ket{{\bf x}}\!\bra{{\bf x}}\leftarrow\mathsf{Ver}^{{\mathcal{O}}}(pk,s,\rho_{s}^{(i-1)}).

    2. (b)

      Add query-answer pairs to {\mathcal{R}} in item (a) into DD.

  2. 2.

    Denote D0=DD_{0}=D.

  3. 3.

    For k=0,1,,N(n)1k=0,1,\cdots,N(n)-1 where N(n)=100l(n)(11δr+ϵ)2N(n)=\frac{100l(n)}{\left(1-\sqrt{1-\delta_{r}+\epsilon}\right)^{2}} is polynomial in nn,

    1. (a)

      σDk𝖲𝗒𝗇|𝖯𝖲𝖯𝖠𝖢𝖤(pk,Dk,s)\sigma_{D_{k}}\leftarrow\mathsf{Syn}^{\ket{\mathsf{PSPACE}}}(pk,D_{k},s).

    2. (b)

      Run 𝖵𝖾𝗋𝒪(pk,(s,σDk))\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\sigma_{D_{k}})).

    3. (c)

      Let Dk+1D_{k+1} consist of all the query-answer pairs to {\mathcal{R}} in item (b) and the pairs in DkD_{k}.

  4. 4.

    j${0,1,,N(n)1}j\xleftarrow{\$}\{0,1,\ldots,N(n)-1\}.

  5. 5.

    Output ϕ=ϕ1ϕ2\phi=\phi_{1}\otimes\phi_{2} where ϕi𝖲𝗒𝗇|𝖯𝖲𝖯𝖠𝖢𝖤(pk,Dj,s)\phi_{i}\leftarrow\mathsf{Syn}^{\ket{\mathsf{PSPACE}}}(pk,D_{j},s) (i=1,2)(i=1,2).

Analysis of 𝒜𝒪\mathcal{A}^{{\mathcal{O}}}

Now let’s prove that 𝒜𝒪\mathcal{A}^{{\mathcal{O}}} outputs what we want. We will use the notations defined in the construction of 𝒜𝒪\mathcal{A}^{{\mathcal{O}}}.

Theorem 6.

Given input (pk,(s,ρs))(pk,(s,\rho_{s})) generated by 𝖪𝖾𝗒𝖦𝖾𝗇𝒪\mathsf{KeyGen}^{{\mathcal{O}}} and 𝖬𝗂𝗇𝗍𝒪\mathsf{Mint}^{{\mathcal{O}}}, 𝒜𝒪\mathcal{A}^{{\mathcal{O}}} outputs two alleged banknotes associated with the serial number ss that will be accepted with high probability. Formally:

𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,ϕ1)) accepts and 𝖵𝖾𝗋𝒪(pk,(s,ϕ2)) accepts]1.8(11δr+ϵ)21,\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\phi_{1}))\text{ accepts and }\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\phi_{2}))\text{ accepts}\right]\geq 1.8\left(1-\sqrt{1-\delta_{r}+\epsilon}\right)^{2}-1,

where the probability is over the randomness of {\mathcal{R}}, the randomness of the generation of the input for 𝒜𝒪\mathcal{A}^{{\mathcal{O}}} (that is, the randomness of 𝖪𝖾𝗒𝖦𝖾𝗇𝒪\mathsf{KeyGen}^{{\mathcal{O}}} and 𝖬𝗂𝗇𝗍𝒪\mathsf{Mint}^{{\mathcal{O}}}) and the randomness of our adversary 𝒜𝒪\mathcal{A}^{{\mathcal{O}}}.

Proof of Theorem 6.

The proof will be divided into two parts. Informally speaking, in the first part, we will show that for every kk, σDk\sigma_{D_{k}} works well on the simulation, i.e. 𝖵(pk,Dk,s)𝖯𝖲𝖯𝖠𝖢𝖤(σDk)\mathsf{V}_{(pk,D_{k},s)}^{\mathsf{PSPACE}}(\sigma_{D_{k}}) accepts with high probability; In the second part, we will show that for every kk, if 𝖵𝖾𝗋𝒪(pk,(s,))\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\cdot)) behaves far from 𝖵(pk,Dk,s)𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{V}_{(pk,D_{k},s)}^{\mathsf{PSPACE}} on input σDk\sigma_{D_{k}}, then we make progress. Then we will combine the results to prove Theorem 6.

The first part

The synthesizer 𝖲𝗒𝗇\mathsf{Syn} in Theorem 4 works well provided that good witness state for 𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{V}_{(pk,D_{k},s)}^{\ket{\mathsf{PSPACE}}} exists. Our candidate for the good witness state is ρs(t)\rho_{s}^{(t)} as it is accepted by 𝖵𝖾𝗋𝒪\mathsf{Ver}^{{\mathcal{O}}} with high probability by the definition of reusability. We begin by arguing that with high probability, our databases contain necessary information for running verification on ρs(t)\rho_{s}^{(t)} and thus 𝖵𝖾𝗋\mathsf{Ver} can not distinguish whether it is interacting with random oracle {\mathcal{R}} or the simulated one. Formally:

Claim 3.

Let D𝖪𝖾𝗒𝖦𝖾𝗇,D𝖬𝗂𝗇𝗍D_{\mathsf{KeyGen}},D_{\mathsf{Mint}} be the query-answer pairs made during the generation of the input pkpk and (s,ρs)(s,\rho_{s}) (that is, the execution of 𝖪𝖾𝗒𝖦𝖾𝗇𝒪\mathsf{KeyGen}^{{\mathcal{O}}} and 𝖬𝗂𝗇𝗍𝒪\mathsf{Mint}^{{\mathcal{O}}}). Then

𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,ρs(t))) queries in D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇D]ϵ,\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s}^{(t)}))\text{ queries in $D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}-D$}\right]\leq\epsilon,

where the probability is over the randomness of {\mathcal{R}}, the randomness of the generation of the input for 𝒜𝒪\mathcal{A}^{{\mathcal{O}}} and the randomness of our adversary 𝒜𝒪\mathcal{A}^{{\mathcal{O}}}.

Proof.

We only care about l(n)l(n) query positions (those inside D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}) and we repeatedly sample t${0,,lϵ1}t\xleftarrow{\$}\{0,\ldots,\lceil\frac{l}{\epsilon}\rceil-1\} times. Thus intuitively DD should reveal all the positions we care about. Formally,

𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,ρs(t))) queries in D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇D]\displaystyle\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s}^{(t)}))\text{ queries in $D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}-D$}\right]
\displaystyle\leq qD𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇𝖯𝗋[t=minj[𝖵𝖾𝗋𝒪(pk,(s,ρs(j))) queries q]]\displaystyle\sum_{q\in D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}}\mathsf{Pr}\left[t=\min_{j}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s}^{(j)}))\text{ queries $q$}\right]\right]
\displaystyle\leq l1lϵ\displaystyle\ l\cdot\frac{1}{\lceil\frac{l}{\epsilon}\rceil}
\displaystyle\leq ϵ\displaystyle\epsilon

where the probabilities are only over the randomness of our adversary 𝒜𝒪\mathcal{A}^{{\mathcal{O}}} and we use the fact that tt is picked uniformly random from {0,1,,lϵ1}\{0,1,\ldots,\lceil\frac{l}{\epsilon}\rceil-1\}, so it matches minj[𝖵𝖾𝗋𝒪(pk,(s,ρs(j))) queries q]\min_{j}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s}^{(j)}))\text{ queries $q$}\right] (which may follow some distribution, but is independent of tt anyway) with probability less or equal 1lϵ\frac{1}{\lceil\frac{l}{\epsilon}\rceil}.

After taking the randomness of {\mathcal{R}} and the randomness of the generation of the input for 𝒜𝒪\mathcal{A}^{{\mathcal{O}}} into account, we can get the claim.

The random oracle {\mathcal{R}} can be implemented by on-the-fly simulation. Thus 𝖵𝖾𝗋𝒪(pk,(s,ρs(t)))\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s}^{(t)})) can be implemented by simulating {\mathcal{R}} with database D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇DD_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}\cup D. If 𝖵𝖾𝗋\mathsf{Ver} doesn’t make queries in (D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇D)ΔD=D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇D(D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}\cup D)\Delta D=D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}-D, then it can not distinguish whether {\mathcal{R}} is simulated with D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇DD_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}\cup D or DD. That is, DD is a good database to simulate the verification process on input ρs(t)\rho_{s}^{(t)} if 𝖵𝖾𝗋\mathsf{Ver} doesn’t make queries inside D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇DD_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}-D. Thus the acceptance probability of 𝖵(pk,D,s)|𝖯𝖲𝖯𝖠𝖢𝖤(ρs(t))\mathsf{V}^{\ket{\mathsf{PSPACE}}}_{(pk,D,s)}(\rho_{s}^{(t)}) should be close to that of 𝖵𝖾𝗋𝒪(pk,(s,ρs(t)))\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s}^{(t)})), which is high by the definition of reusability. On average, the performance of the simulation on input ρs(t)\rho_{s}^{(t)} can only increase if we include more queries into the database. Thus for every kk, ρs(t)\rho_{s}^{(t)} should be a good witness state for 𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{V}^{\ket{\mathsf{PSPACE}}}_{(pk,D_{k},s)}. The intuition above is captured by the following claim.

Claim 4.

We use the same definition of D𝖪𝖾𝗒𝖦𝖾𝗇D_{\mathsf{KeyGen}} and D𝖬𝗂𝗇𝗍D_{\mathsf{Mint}} as in 3. k[N(n)],\forall k\in\left[N(n)\right],

𝖯𝗋[𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤(ρs(t)) accepts]δrϵ\mathsf{Pr}\left[\mathsf{V}_{(pk,D_{k},s)}^{\ket{\mathsf{PSPACE}}}(\rho_{s}^{(t)})\text{ accepts}\right]\geq\delta_{r}-\epsilon

where the probability is over the randomness of {\mathcal{R}}, the randomness of the generation of the input for 𝒜𝒪\mathcal{A}^{{\mathcal{O}}} and the randomness of our adversary 𝒜𝒪\mathcal{A}^{{\mathcal{O}}}.

Proof.

This claim follows from Definition 4 and 3. The following probabilities are over the same randomness as the probability in the above claim.

𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,ρs(t))) accepts]\displaystyle\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s}^{(t)}))\text{ accepts}\right]
=\displaystyle= 𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,ρs(t))) accepts and queries in D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇Dk]\displaystyle\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s}^{(t)}))\text{ accepts and queries in $D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}-D_{k}$}\right]
+𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,ρs(t))) accepts and never queries in D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇Dk]\displaystyle+\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s}^{(t)}))\text{ accepts and never queries in $D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}-D_{k}$}\right]
\displaystyle\leq 𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,ρs(t))) queries in D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇D]\displaystyle\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s}^{(t)}))\text{ queries in $D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}-D$}\right]
+𝖯𝗋[𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤(ρs(t)) accepts and never queries in D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇Dk]\displaystyle+\mathsf{Pr}\left[\mathsf{V}^{\ket{\mathsf{PSPACE}}}_{(pk,D_{k},s)}(\rho_{s}^{(t)})\text{ accepts and never queries in $D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}-D_{k}$}\right]
\displaystyle\leq ϵ+𝖯𝗋[𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤(ρs(t)) accepts]\displaystyle\epsilon+\mathsf{Pr}\left[\mathsf{V}^{\ket{\mathsf{PSPACE}}}_{(pk,D_{k},s)}(\rho_{s}^{(t)})\text{ accepts}\right]

where we use the fact that DDkD\subseteq D_{k} and the fact that we can use on-the-fly simulation to implement {\mathcal{R}}. As a result, 𝖵𝖾𝗋𝒪(pk,(s,ρs(t)))\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s}^{(t)})) can also be seen as simulating {\mathcal{R}} with D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍DkD_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}\cup D_{k}, which is different from DkD_{k} only on (D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍Dk)ΔDk=D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍Dk(D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}\cup D_{k})\Delta D_{k}=D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}-D_{k}. Thus 𝖵𝖾𝗋\mathsf{Ver} can not distinguish whether {\mathcal{R}} is simulated with DkD_{k} or D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇DkD_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}\cup D_{k} if it never queries in D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍DkD_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}-D_{k}. The above inequality can be rearranged as

𝖯𝗋[𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤(ρs(t)) accepts]𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,ρs(t))) accepts]ϵδrϵ.\mathsf{Pr}\left[\mathsf{V}^{\ket{\mathsf{PSPACE}}}_{(pk,D_{k},s)}(\rho_{s}^{(t)})\text{ accepts}\right]\geq\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\rho_{s}^{(t)}))\text{ accepts}\right]-\epsilon\geq\delta_{r}-\epsilon.

Intuitively, from 4, for a large fraction of 𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{V}_{(pk,D_{k},s)}^{\ket{\mathsf{PSPACE}}}, good witness state exists. Therefore, our synthesizer can find an “almost optimal” one. Formally:

Claim 5.

For every k[N(n)],k\in[N(n)],

𝖯𝗋[𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤(σDk) accepts]0.99(11δr+ϵ)2\mathsf{Pr}\left[\mathsf{V}_{(pk,D_{k},s)}^{\ket{\mathsf{PSPACE}}}(\sigma_{D_{k}})\text{ accepts}\right]\geq 0.99\left(1-\sqrt{1-\delta_{r}+\epsilon}\right)^{2}

where the probability is over the randomness of {\mathcal{R}}, the randomness of the generation of the input for 𝒜𝒪\mathcal{A}^{{\mathcal{O}}} and the randomness of our adversary 𝒜𝒪\mathcal{A}^{{\mathcal{O}}}.

Proof.

The following probabilities are over the same randomness as the probability in the above claim unless otherwise stated.

Define S:={(pk,Dk,s):maxw𝖯𝗋[𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤(w) accepts]11δr+ϵ}S:=\{(pk,D_{k},s):\max_{w}\mathsf{Pr}\left[\mathsf{V}_{(pk,D_{k},s)}^{\ket{\mathsf{PSPACE}}}(w)\text{ accepts}\right]\geq 1-\sqrt{1-\delta_{r}+\epsilon}\} where the probability is only over the randomness of 𝖵\mathsf{V}. Then by 4 and averaging argument,

𝖯𝗋[(pk,Dk,s)S]11δr+ϵ\mathsf{Pr}\left[(pk,D_{k},s)\in S\right]\geq 1-\sqrt{1-\delta_{r}+\epsilon}

By Theorem 4, (pk,Dk,s)S\forall(pk,D_{k},s)\in S, 𝖯𝗋[𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤(σDk) accepts]0.99(11δr+ϵ)\mathsf{Pr}\left[\mathsf{V}_{(pk,D_{k},s)}^{\ket{\mathsf{PSPACE}}}(\sigma_{D_{k}})\text{ accepts}\right]\geq 0.99(1-\sqrt{1-\delta_{r}+\epsilon}) where the probability is only over the randomness of 𝖵\mathsf{V}. Therefore,

𝖯𝗋[𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤(σDk) accepts]0.99(11δr+ϵ)2.\mathsf{Pr}\left[\mathsf{V}_{(pk,D_{k},s)}^{\ket{\mathsf{PSPACE}}}(\sigma_{D_{k}})\text{ accepts}\right]\geq 0.99\left(1-\sqrt{1-\delta_{r}+\epsilon}\right)^{2}.

The second part

We already know that σDk\sigma_{D_{k}} is accepted by 𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{V}^{\ket{\mathsf{PSPACE}}}_{(pk,D_{k},s)} with high probability. The next step is to associate the acceptance probability of 𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{V}^{\ket{\mathsf{PSPACE}}}_{(pk,D_{k},s)} and that of 𝖵𝖾𝗋𝒪(pk,(s,))\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\cdot)) on σDk\sigma_{D_{k}}. If the difference of these two terms is large, the simulation with DkD_{k} is not good enough. That is, 𝖵𝖾𝗋𝒪(pk,(s,σDk))\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\sigma_{D_{k}})) asks some important queries outside DkD_{k}. So in this case, Dk+1D_{k+1} will contain more important queries and we make progress. Formally:

Claim 6.

We use the same notation as above. For every k[N(n)],k\in[N(n)],

𝖯𝗋[𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤(σDk) accepts]𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,σDk)) accepts]\displaystyle\mathsf{Pr}\left[\mathsf{V}_{(pk,D_{k},s)}^{\ket{\mathsf{PSPACE}}}(\sigma_{D_{k}})\text{ accepts}\right]-\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\sigma_{D_{k}}))\text{ accepts}\right]
\displaystyle\leq 𝐄[|Dk+1(D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍)|]𝐄[|Dk(D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍)|]\displaystyle\mathbf{E}\left[\lvert D_{k+1}\cap(D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}})\rvert\right]-\mathbf{E}\left[\lvert D_{k}\cap(D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}})\rvert\right]

where the probabilities and the expectations are over the randomness of {\mathcal{R}}, the randomness of the generation of the input for 𝒜𝒪\mathcal{A}^{{\mathcal{O}}} and the randomness of our adversary 𝒜𝒪\mathcal{A}^{{\mathcal{O}}}.

Proof.

The following probabilities and expectations are over the same randomness of those in the above claim unless otherwise stated.

Similar as the arguments in 4, 𝖵(pk,s,Dk)|𝖯𝖲𝖯𝖠𝖢𝖤(σDk)\mathsf{V}^{\ket{\mathsf{PSPACE}}}_{(pk,s,D_{k})}(\sigma_{D_{k}}) and 𝖵𝖾𝗋𝒪(pk,(s,σDk))\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\sigma_{D_{k}})) behave differently only when they make queries in (D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇Dk)ΔDk=D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇Dk(D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}\cup D_{k})\Delta D_{k}=D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}-D_{k}. Therefore,

𝖯𝗋[𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤(σDk) accepts]\displaystyle\mathsf{Pr}\left[\mathsf{V}_{(pk,D_{k},s)}^{\ket{\mathsf{PSPACE}}}(\sigma_{D_{k}})\text{ accepts}\right]
=\displaystyle= 𝖯𝗋[𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤(σDk) accepts and queries in D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇Dk]\displaystyle\mathsf{Pr}\left[\mathsf{V}_{(pk,D_{k},s)}^{\ket{\mathsf{PSPACE}}}(\sigma_{D_{k}})\text{ accepts and queries in $D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}-D_{k}$}\right]
+𝖯𝗋[𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤(σDk) accepts and never queries in D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇Dk]\displaystyle+\mathsf{Pr}\left[\mathsf{V}_{(pk,D_{k},s)}^{\ket{\mathsf{PSPACE}}}(\sigma_{D_{k}})\text{ accepts and never queries in $D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}-D_{k}$}\right]
\displaystyle\leq 𝖯𝗋[𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤(σDk) queries in D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇Dk]\displaystyle\mathsf{Pr}\left[\mathsf{V}_{(pk,D_{k},s)}^{\ket{\mathsf{PSPACE}}}(\sigma_{D_{k}})\text{ queries in $D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}-D_{k}$}\right]
+𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,σDk)) accepts and never queries in D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇Dk]\displaystyle+\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\sigma_{D_{k}}))\text{ accepts and never queries in $D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}-D_{k}$}\right]
=\displaystyle= 𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,σDk)) queries in D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇Dk]\displaystyle\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\sigma_{D_{k}}))\text{ queries in $D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}-D_{k}$}\right]
+𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,σDk)) accepts and never queries in D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇Dk]\displaystyle+\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\sigma_{D_{k}}))\text{ accepts and never queries in $D_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}-D_{k}$}\right]
\displaystyle\leq 𝖯𝗋[(Dk+1Dk)(D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍)]+𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,σDk)) accepts]\displaystyle\mathsf{Pr}\left[\left(D_{k+1}-D_{k}\right)\cap\left(D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}\right)\neq\emptyset\right]+\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\sigma_{D_{k}}))\text{ accepts}\right]
\displaystyle\leq 𝐄[|(Dk+1Dk)(D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍)|]+𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,σDk)) accepts]\displaystyle\mathbf{E}\left[\lvert\left(D_{k+1}-D_{k}\right)\cap\left(D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}\right)\rvert\right]+\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\sigma_{D_{k}}))\text{ accepts}\right]

Note that DkDk+1D_{k}\subseteq D_{k+1},

𝐄[|(Dk+1Dk)(D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍)|]=𝐄[|Dk+1(D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍)|]𝐄[|Dk(D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍)|]\mathbf{E}\left[\lvert\left(D_{k+1}-D_{k}\right)\cap\left(D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}\right)\rvert\right]=\mathbf{E}\left[\lvert D_{k+1}\cap(D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}})\rvert\right]-\mathbf{E}\left[\lvert D_{k}\cap(D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}})\rvert\right]

Therefore, the claim holds true. ∎

Now let’s combine the above results to prove Theorem 6. The probabilities and expectations below are over the randomness of {\mathcal{R}}, the randomness of the generation of the input for 𝒜𝒪\mathcal{A}^{{\mathcal{O}}} and the randomness of our adversary 𝒜𝒪\mathcal{A}^{{\mathcal{O}}} (thus over the randomness of tt and jj) unless otherwise stated.

By our construction and the union bound,

𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,ϕ1)) accepts and 𝖵𝖾𝗋𝒪(pk,(s,ϕ2)) accepts]\displaystyle\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\phi_{1}))\text{ accepts and }\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\phi_{2}))\text{ accepts}\right]
\displaystyle\geq 2𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,σDj)) accepts]1\displaystyle 2\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\sigma_{D_{j}}))\text{ accepts}\right]-1
=\displaystyle= 2N(n)k=0N(n)1𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,σDk)) accepts]1\displaystyle\frac{2}{N(n)}\sum_{k=0}^{N(n)-1}\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\sigma_{D_{k}}))\text{ accepts}\right]-1

From 5 and 6,

1N(n)k=0N(n)1𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,σDk)) accepts]\displaystyle\frac{1}{N(n)}\sum_{k=0}^{N(n)-1}\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\sigma_{D_{k}}))\text{ accepts}\right]
\displaystyle\geq 1N(n)k=0N(n)1(𝖯𝗋[𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤(σDk) accepts]𝐄[|Dk+1(D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍)|]+𝐄[|Dk(D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍)|])\displaystyle\frac{1}{N(n)}\sum_{k=0}^{N(n)-1}\left(\mathsf{Pr}\left[\mathsf{V}_{(pk,D_{k},s)}^{\ket{\mathsf{PSPACE}}}(\sigma_{D_{k}})\text{ accepts}\right]-\mathbf{E}\left[\lvert D_{k+1}\cap(D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}})\rvert\right]+\mathbf{E}\left[\lvert D_{k}\cap(D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}})\rvert\right]\right)
\displaystyle\geq 1N(n)k=0N(n)1𝖯𝗋[𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤(σDk) accepts]1N(n)𝐄[|DN(n)(D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍)|]\displaystyle\frac{1}{N(n)}\sum_{k=0}^{N(n)-1}\mathsf{Pr}\left[\mathsf{V}_{(pk,D_{k},s)}^{\ket{\mathsf{PSPACE}}}(\sigma_{D_{k}})\text{ accepts}\right]-\frac{1}{N(n)}\mathbf{E}\left[\lvert D_{N(n)}\cap(D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}})\rvert\right]
\displaystyle\geq 1N(n)k=0N(n)1𝖯𝗋[𝖵(pk,Dk,s)|𝖯𝖲𝖯𝖠𝖢𝖤(σDk) accepts]l(n)N(n)\displaystyle\frac{1}{N(n)}\sum_{k=0}^{N(n)-1}\mathsf{Pr}\left[\mathsf{V}_{(pk,D_{k},s)}^{\ket{\mathsf{PSPACE}}}(\sigma_{D_{k}})\text{ accepts}\right]-\frac{l(n)}{N(n)}
\displaystyle\geq 0.99(11δr+ϵ)20.01(11δr+ϵ)2\displaystyle 0.99\left(1-\sqrt{1-\delta_{r}+\epsilon}\right)^{2}-0.01\left(1-\sqrt{1-\delta_{r}+\epsilon}\right)^{2}
\displaystyle\geq 0.9(11δr+ϵ)2\displaystyle 0.9\left(1-\sqrt{1-\delta_{r}+\epsilon}\right)^{2}

Therefore,

𝖯𝗋[𝖵𝖾𝗋𝒪(pk,(s,ϕ1)) accepts and 𝖵𝖾𝗋𝒪(pk,(s,ϕ2)) accepts]1.8(11δr+ϵ)21,\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\phi_{1}))\text{ accepts and }\mathsf{Ver}^{{\mathcal{O}}}(pk,(s,\phi_{2}))\text{ accepts}\right]\geq 1.8\left(1-\sqrt{1-\delta_{r}+\epsilon}\right)^{2}-1,

which ends our proof of Theorem 6. ∎

Proof of Theorem 5.

The proposed adversary 𝒜𝒪\mathcal{A}^{{\mathcal{O}}} is a valid attack because when ϵ=0.01,δr=0.99\epsilon=0.01,\delta_{r}=0.99,

1.8(11δr+ϵ)211.8(10.2)210.1,1.8\left(1-\sqrt{1-\delta_{r}+\epsilon}\right)^{2}-1\geq 1.8(1-0.2)^{2}-1\geq 0.1,

which is non-negligible. ∎

6 Extensions to Quantum Access

In this section, we will explore a special case where some algorithms can have quantum access to the random oracle. We consider reusable secure oracle-aided public key quantum money scheme (𝖪𝖾𝗒𝖦𝖾𝗇|,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖬𝗂𝗇𝗍|,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤)(\mathsf{KeyGen}^{\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}},\mathsf{Mint}^{\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}},\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}). Formally:

Theorem 7.

Reusable and secure oracle-aided public key quantum money scheme (𝖪𝖾𝗒𝖦𝖾𝗇|,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖬𝗂𝗇𝗍|,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤)(\mathsf{KeyGen}^{{\ket{{\mathcal{R}}}},\ket{\mathsf{PSPACE}}},\allowbreak\mathsf{Mint}^{{\ket{{\mathcal{R}}}},\ket{\mathsf{PSPACE}}},\mathsf{Ver}^{{{\mathcal{R}}},\ket{\mathsf{PSPACE}}}) does not exist where {\mathcal{R}} is a random oracle.

Without loss of generality, we can suppose the algorithms only make queries to the random oracle on input length l(n)l(n) and receive 11 bit output where ll is a polynomial. (If they make queries to {\mathcal{R}} on various input lengths, suppose the maximal input length is l(n)l^{\prime}(n). Let l(n)=l(n)+logl(n)l(n)=l^{\prime}(n)+\log l^{\prime}(n). We can modify the algorithms so that their queries on input length k(n)k(n) will be made on input length l(n)l(n) where the first k(n)k(n) bits stores the true query position, the middle l(n)k(n)l^{\prime}(n)-k(n) bits are 0, and the last logl(n)\log l^{\prime}(n) bits indicates k(n)k(n).)

Let 𝖵𝖾𝗋\mathsf{Ver} make q(n)q(n) classical queries to {\mathcal{R}}. Let 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint} make q(n)q^{\prime}(n) quantum queries to {\mathcal{R}} in total. Denote the reusability and the security of the scheme as δr\delta_{r} and δs\delta_{s} respectively where δr=1𝗇𝖾𝗀𝗅(n),δs=𝗇𝖾𝗀𝗅(n)\delta_{r}=1-\mathsf{negl}(n),\delta_{s}=\mathsf{negl}(n). When it is clear from the context, we sometimes omit nn for simplicity.

It’s worth noting that the attacker in Section 5 doesn’t take advantage of the fact that 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint} there can only make classical queries to {\mathcal{R}}. In fact, the same attacker works even when 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint} can make quantum queries to {\mathcal{R}} (with some modifications on the number of iterations). To be more specific, here is our construction of the attacker where T(n)T(n), N(n)N(n), the guarantee aa and the threshold bb of 𝖲𝗒𝗇\mathsf{Syn} will be determined later.

𝒜,|𝖯𝖲𝖯𝖠𝖢𝖤\mathcal{A}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}

It takes as input a valid banknote (s,ρs)(s,\rho_{s}) and public key pkpk, and behaves as follows.

  1. 1.

    Test phase: Let t${0,1,,T(n)1}t\xleftarrow{\$}\{0,1,\ldots,T(n)-1\}. Let D=D=\emptyset, ρs(0)=ρs\rho_{s}^{(0)}=\rho_{s}. Run the following tt times. In ithi^{th} iteration,

    1. (a)

      ρs(i)|𝐱𝐱|𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,s,ρs(i1))\rho_{s}^{(i)}\otimes\ket{{\bf x}}\!\bra{{\bf x}}\leftarrow\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,s,\rho_{s}^{(i-1)}).

    2. (b)

      Add query-answer pairs to {\mathcal{R}} in item (a) into DD.

  2. 2.

    Update phase: Let j${0,1,,N(n)1}j\xleftarrow{\$}\{0,1,\ldots,N(n)-1\}. Let D0=DD_{0}=D. Run the following jj times. In kthk^{th} iteration,

    1. (a)

      σDk1𝖲𝗒𝗇|𝖯𝖲𝖯𝖠𝖢𝖤(pk,Dk1,s)\sigma_{D_{k-1}}\leftarrow\mathsf{Syn}^{\ket{\mathsf{PSPACE}}}(pk,D_{k-1},s).

    2. (b)

      Run 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,σDk1))\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\sigma_{D_{k-1}})).

    3. (c)

      Let DkD_{k} consist of all the query-answer pairs to {\mathcal{R}} in item (b) and the pairs in Dk1D_{k-1}.

  3. 3.

    Synthesize phase: Output ϕ=ϕ1ϕ2\phi=\phi_{1}\otimes\phi_{2} where ϕi𝖲𝗒𝗇|𝖯𝖲𝖯𝖠𝖢𝖤(pk,Dj,s)\phi_{i}\leftarrow\mathsf{Syn}^{\ket{\mathsf{PSPACE}}}(pk,D_{j},s) (i=1,2)(i=1,2).

This description of 𝒜,|𝖯𝖲𝖯𝖠𝖢𝖤\mathcal{A}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}} is actually equivalent to our adversary in Section 5. We move the line j${0,1,,N(n)1}j\xleftarrow{\$}\{0,1,\ldots,N(n)-1\} to the front because it will be easier to analyze.

What is left is to prove an analogue of Theorem 6. That is, the output states of 𝒜\mathcal{A} will be accepted with high probability.

Theorem 8.

Given input (pk,(s,ρs))(pk,(s,\rho_{s})) generated by 𝖪𝖾𝗒𝖦𝖾𝗇|,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{KeyGen}^{\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}} and 𝖬𝗂𝗇𝗍|,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Mint}^{\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}}, 𝒜,|𝖯𝖲𝖯𝖠𝖢𝖤\mathcal{A}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}} outputs two alleged banknotes associated with the serial number ss that will be accepted with high probability. Formally:

𝖯𝗋[𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,ϕ1)) accepts and 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,ϕ2)) accepts]1.8(11δr+ϵ)21,\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\phi_{1}))\text{ accepts and }\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\phi_{2}))\text{ accepts}\right]\geq 1.8\left(1-\sqrt{1-\delta_{r}+\epsilon}\right)^{2}-1,

where the probability is over the randomness of {\mathcal{R}}, the randomness of the generation of the input for 𝒜,|𝖯𝖲𝖯𝖠𝖢𝖤\mathcal{A}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}} (that is, the randomness of 𝖪𝖾𝗒𝖦𝖾𝗇|,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{KeyGen}^{\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}} and 𝖬𝗂𝗇𝗍|,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Mint}^{\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}}) and the randomness of our adversary 𝒜,|𝖯𝖲𝖯𝖠𝖢𝖤\mathcal{A}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}.

Similar to Theorem 6, we will show that the verification on σDj𝖲𝗒𝗇|𝖯𝖲𝖯𝖠𝖢𝖤(pk,Dj,s)\sigma_{D_{j}}\leftarrow\mathsf{Syn}^{\ket{\mathsf{PSPACE}}}(pk,D_{j},s) accepts with high probability and then prove the theorem by union bound.

In Section 5, we crucially rely on the fact that whenever we make a mistake, we make progress in the sense that we recover a query inside D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍DkD_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}-D_{k}. However, now 𝖪𝖾𝗒𝖦𝖾𝗇,𝖬𝗂𝗇𝗍\mathsf{KeyGen},\mathsf{Mint} can make quantum queries. As a result, 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint} could “touch” exponentially many positions. Fortunately, the compressed oralce technique introduced by Zhandry [Zha18] can be seen as a quantum analogue of recording queries into a database. Basically, if we run all the algorithms in the purified view and see the register containing the oracle (labeled 𝖥\mathsf{F}) in Fourier basis, then all except polynomial positions are |0^\ket{\hat{0}} after polynomial quantum queries, and thus the register can be compressed using a unitary. In this work, in order to better mimic DkD_{k} and D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍DkD_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}-D_{k} in Section 5, we take advantage of the fact that 𝖵𝖾𝗋\mathsf{Ver} only makes classical queries. To be more specific, we will maintain a register to store a database for all the classical queries and only record those non-|0^\ket{\hat{0}} positions outside the database into 𝖥\mathsf{F}. These two registers will be our analogue of DkD_{k} and D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍DkD_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}-D_{k}. We will elaborate on this idea in Section 6.2.

6.1 A Purified View of the Algorithms

From Section 3.4, for any sequence of algorithms that only make queries to the random oracle on input length l(n)l(n) and receive 1 bit output, we can analyze the output using a pure state that we obtain by running all the algorithms in the purified view instead. By purified view, we mean that we will purify the execution of the algorithms in the following way:

  • We will introduce a register 𝖥\mathsf{F} that contains the truth table of the oracle. Before the execution of the first algorithm, it is initialized to a uniform superposition of all the possible truth tables of the oracle, i.e. |0^2l\ket{\hat{0}}^{\otimes 2^{l}}.

  • Instead of quantum query to {\mathcal{R}}, we apply a unitary UQ:|x𝖰|y𝖠|f𝖥|x𝖰|yf(x)𝖠|f𝖥U_{Q}:\ket{x}_{\mathsf{Q}}\ket{y}_{\mathsf{A}}\ket{f}_{\mathsf{F}}\rightarrow\ket{x}_{\mathsf{Q}}\ket{y\oplus f(x)}_{\mathsf{A}}\ket{f}_{\mathsf{F}} where 𝖰\mathsf{Q} stores the query position and 𝖠\mathsf{A} is for the answer bit. (The subscript QQ in UQU_{Q} is for Quantum queries.)

  • Instead of computational basis measurements, we apply 𝐶𝑁𝑂𝑇\mathit{CNOT} to copy it to a fresh ancilla.

Without loss of generality, we can suppose for any classical query to {\mathcal{R}}, the register for query answer is always set to |0\ket{0} before the query. Notice that a classical query to {\mathcal{R}} is equivalent to a computational basis measurement on the query position followed by a quantum query to {\mathcal{R}}. An extra computational basis measurement on the answer of the query won’t change the view. So a classical query in the purified view can be treated as applying the unitary

UC:|x𝖰|0𝖠|f𝖥|D𝖣|x𝖰|f(x)𝖠|f𝖥|D,(x,f(x))𝖣U_{C}:\ket{x}_{\mathsf{Q}}\ket{0}_{\mathsf{A}}\ket{f}_{\mathsf{F}}\ket{D_{{\mathcal{R}}}}_{\mathsf{D}_{{\mathcal{R}}}}\rightarrow\ket{x}_{\mathsf{Q}}\ket{f(x)}_{\mathsf{A}}\ket{f}_{\mathsf{F}}\ket{D_{{\mathcal{R}}},(x,f(x))}_{\mathsf{D}_{{\mathcal{R}}}}

where 𝖣\mathsf{D}_{{\mathcal{R}}} is a register that we will use to purify the computational basis measurements in the classical queries. By |D\ket{D_{{\mathcal{R}}}}, we mean a sequence of pairs |(x1,z1),(x2,z2),(xk,zk)\ket{(x_{1},z_{1}),(x_{2},z_{2}),\cdots(x_{k},z_{k})} where x1,x2,,xkx_{1},x_{2},\cdots,x_{k} are not necessary to be distinct but if xi=xjx_{i}=x_{j}, then we have the guarantee that zi=zjz_{i}=z_{j}. Here 𝖣\mathsf{D}_{{\mathcal{R}}} has enough space. That is, by |(x1,z1),(xk,zk)\ket{(x_{1},z_{1}),\cdots(x_{k},z_{k})}, we actually mean |(x1,z1),(xk,zk),,,\ket{(x_{1},z_{1}),\cdots(x_{k},z_{k}),\bot,\cdots,\bot} where \bot is a special symbol that represents empty. Despite not being standard, we sometimes call DD_{{\mathcal{R}}} database. (The subscript CC in UCU_{C} is for Classical queries.)

Another convenient way to think of the purified view is to treat the execution of the algorithms as an interaction between two parties, the algorithm and the oracle. The oracle will maintain two private registers 𝖥\mathsf{F} and 𝖣\mathsf{D}_{{\mathcal{R}}} (and also some ancillas initialized to be |0\ket{0}). If the algorithm is allowed to make quantum queries to {\mathcal{R}}, the algorithm will submit 𝖰𝖠\mathsf{Q}\mathsf{A} to the oracle, and then the oracle will apply UQU_{Q} and send 𝖰𝖠\mathsf{Q}\mathsf{A} back to the algorithm. If the algorithm is only allowed to make classical queries, the algorithm will submit 𝖰\mathsf{Q} to the oracle, and then the oracle will put a fresh ancilla on 𝖠\mathsf{A}, apply UCU_{C} and send 𝖰𝖠\mathsf{Q}\mathsf{A} to the algorithm.

We will use U𝖪𝖾𝗒𝖦𝖾𝗇,n,U𝖬𝗂𝗇𝗍,n,U𝖵𝖾𝗋,nU_{\mathsf{KeyGen},n},U_{\mathsf{Mint},n},U_{\mathsf{Ver},n} and U𝖲𝗒𝗇,nU_{\mathsf{Syn},n} to denote the unitary corresponding to the purified version of 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen}, 𝖬𝗂𝗇𝗍\mathsf{Mint}, 𝖵𝖾𝗋\mathsf{Ver} and 𝖲𝗒𝗇\mathsf{Syn} on security number nn respectively. Then U𝖪𝖾𝗒𝖦𝖾𝗇,n,U𝖬𝗂𝗇𝗍,nU_{\mathsf{KeyGen},n},U_{\mathsf{Mint},n} and U𝖵𝖾𝗋,nU_{\mathsf{Ver},n} are all in the form of preparing the first query and then repeatively answering the query by applying UQU_{Q} or UCU_{C} and preparing the next query (or the final output if there is no further query). In particular, we will write U𝖵𝖾𝗋,nU_{\mathsf{Ver},n} as Uq(n)UCUq(n)1UCU0U_{q(n)}U_{C}U_{q(n)-1}\cdots U_{C}U_{0}. We will omit the subscript nn when it is clear from the context.

Let U𝖵𝖾𝗋:=UqURUq1URU0U_{\mathsf{Ver}}^{\prime}:=U_{q}U_{R}U_{q-1}\cdots U_{R}U_{0} where URU_{R} (the subscript RR is for Recording) is a unitary that in addition to a classical query UCU_{C}, it records the query-answer pair into a database maintained by 𝒜\mathcal{A}. That is,

UR:|x𝖰|0𝖠|D𝒜𝖣𝒜|f𝖥|D𝖣|x𝖰|f(x)𝖠|D𝒜,(x,f(x))𝖣𝒜|f𝖥|D,(x,f(x))𝖣U_{R}:\ket{x}_{\mathsf{Q}}\ket{0}_{\mathsf{A}}\ket{D_{\mathcal{A}}}_{\mathsf{D}_{\mathcal{A}}}\ket{f}_{\mathsf{F}}\ket{D_{{\mathcal{R}}}}_{\mathsf{D}_{{\mathcal{R}}}}\rightarrow\ket{x}_{\mathsf{Q}}\ket{f(x)}_{\mathsf{A}}\ket{D_{\mathcal{A}},(x,f(x))}_{\mathsf{D}_{\mathcal{A}}}\ket{f}_{\mathsf{F}}\ket{D_{{\mathcal{R}}},(x,f(x))}_{\mathsf{D}_{{\mathcal{R}}}}

where 𝖣𝒜\mathsf{D}_{\mathcal{A}} is the register that stores the database maintained by 𝒜\mathcal{A}. Again by |D𝒜\ket{D_{\mathcal{A}}} and |D\ket{D_{{\mathcal{R}}}}, we mean a sequence of query-answer pairs where the query positions are not necessary to be distinct, but the pairs are consistent. 𝖣𝒜\mathsf{D}_{\mathcal{A}} has enough space.

It’s easy to see that U𝖵𝖾𝗋U_{\mathsf{Ver}}^{\prime} corresponds to running 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}} while the adversary records the query-answer pairs made by 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}.

Then in the purified view, 𝒜,|𝖯𝖲𝖯𝖠𝖢𝖤\mathcal{A}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}} is the following (we will denote by U𝒜U_{\mathcal{A}}):

  1. 1.

    Given input public key, serial number, the alleged banknote along with the register containing the truth table of the oracle, introduce a register 𝖳\mathsf{T} initialized to be 1T(n)t=0T(n)1|t𝖳\frac{1}{\sqrt{T(n)}}\sum_{t=0}^{T(n)-1}\ket{t}_{\mathsf{T}} and introduce a register 𝖩\mathsf{J} initialized to be 1N(n)j=0N(n)1|j𝖩\frac{1}{\sqrt{N(n)}}\sum_{j=0}^{N(n)-1}\ket{j}_{\mathsf{J}}.

  2. 2.

    Test phase: Conditioned on the content in 𝖳\mathsf{T} is tt, apply U𝖵𝖾𝗋U_{\mathsf{Ver}}^{\prime} on the banknote for tt times in sequential. (Or equivalently apply unitary U𝖳𝖾𝗌𝗍:=t=0T(n)1U𝖵𝖾𝗋t|tt|𝖳U_{\mathsf{Test}}:=\sum_{t=0}^{T(n)-1}U_{\mathsf{Ver}}^{\prime t}\otimes\ket{t}\!\bra{t}_{\mathsf{T}} where U𝖵𝖾𝗋tU_{\mathsf{Ver}}^{\prime t} means applying U𝖵𝖾𝗋U_{\mathsf{Ver}}^{\prime} for tt times.)

  3. 3.

    Update phase: Conditioned on the content in 𝖩\mathsf{J} is jj, apply the following for jj times:

    1. (a)

      Apply U𝖲𝗒𝗇U_{\mathsf{Syn}} on all the query-answer pairs we learn so far (i.e. the contents in 𝖣𝒜\mathsf{D}_{\mathcal{A}}).

    2. (b)

      Apply U𝖵𝖾𝗋U_{\mathsf{Ver}}^{\prime} on the state synthesized in item (a).

    (Or equivalently apply unitary U𝖴𝗉𝖽:=j=0N(n)1(U𝖵𝖾𝗋U𝖲𝗒𝗇)j|jj|𝖩U_{\mathsf{Upd}}:=\sum_{j=0}^{N(n)-1}(U_{\mathsf{Ver}}^{\prime}U_{\mathsf{Syn}})^{j}\otimes\ket{j}\!\bra{j}_{\mathsf{J}} where (U𝖵𝖾𝗋U𝖲𝗒𝗇)j(U_{\mathsf{Ver}}^{\prime}U_{\mathsf{Syn}})^{j} means alternatively applying U𝖲𝗒𝗇U_{\mathsf{Syn}} and U𝖵𝖾𝗋U_{\mathsf{Ver}}^{\prime} for jj times.)

  4. 4.

    Synthesize phase: Apply U𝖲𝗒𝗇1U_{\mathsf{Syn}_{1}} and U𝖲𝗒𝗇2U_{\mathsf{Syn}_{2}} on the query-answer pairs in 𝖣𝒜\mathsf{D}_{\mathcal{A}} to obtain two alleged banknotes where U𝖲𝗒𝗇1U_{\mathsf{Syn}_{1}} and U𝖲𝗒𝗇2U_{\mathsf{Syn}_{2}} are U𝖲𝗒𝗇U_{\mathsf{Syn}} that acts on different registers.

Then the acceptance probability of the following algorithms on the corresponding states (taking the randomness of {\mathcal{R}} into account) can be analyzed by running the following sequence of algorithms in the purified view.

𝗩𝗲𝗿𝓡,|𝗣𝗦𝗣𝗔𝗖𝗘(𝒑𝒌,(𝒔,))\bm{\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\cdot))} on 𝝆𝒔(𝒕)\bm{\rho_{s}^{(t)}}

The acceptance probability is the probability that

  1. 1.

    Run the algorithms 𝖪𝖾𝗒𝖦𝖾𝗇|,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖬𝗂𝗇𝗍|,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{KeyGen}^{\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}},\mathsf{Mint}^{\ket{{\mathcal{R}}},\ket{\mathsf{PSPACE}}} and 𝒜,|𝖯𝖲𝖯𝖠𝖢𝖤\mathcal{A}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}} in a purified view sequentially where the input of 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} is the security parameter in unary notion, the input of 𝖬𝗂𝗇𝗍\mathsf{Mint} is the output register corresponding to secret key of 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen}, and the input of 𝒜\mathcal{A} is the output register of 𝖬𝗂𝗇𝗍\mathsf{Mint} and the register for the public key.

  2. 2.

    Furthermore run 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}} in a purified view where the input of 𝖵𝖾𝗋\mathsf{Ver} is the register for the public key, the register for the serial number and the register for ρs(t)\rho_{s}^{(t)} (It’s inside working space register of 𝒜\mathcal{A}).

  3. 3.

    Measure the outcome register of the above 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}} and obtain 𝖠𝖼𝖼𝖾𝗉𝗍{\sf Accept}.

𝗩𝗲𝗿𝑫𝒋,|𝗣𝗦𝗣𝗔𝗖𝗘(𝒑𝒌,(𝒔,))\bm{\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}}(pk,(s,\cdot))} on 𝝆𝒔(𝒕)\bm{\rho_{s}^{(t)}}

Here 𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}} means running 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}} where the queries to {\mathcal{R}} is answered by the database DjD_{j} (all the query-answer pairs in 𝖣𝒜\mathsf{D}_{\mathcal{A}}).

Define a unitary

UD:|x𝖰|0𝖠|Dj𝖣𝒜{|x𝖰|Dj(x)𝖠|Dj,(x,Dj(x))𝖣𝒜,xDj|x𝖰z=0112|z𝖠|Dj,(x,z)𝖣𝒜,xDjU_{D}:\ket{x}_{\mathsf{Q}}\ket{0}_{\mathsf{A}}\ket{D_{j}}_{\mathsf{D}_{\mathcal{A}}}\rightarrow\begin{cases}\ket{x}_{\mathsf{Q}}\ket{D_{j}(x)}_{\mathsf{A}}\ket{D_{j},(x,D_{j}(x))}_{\mathsf{D}_{\mathcal{A}}},&x\in D_{j}\\ \ket{x}_{\mathsf{Q}}\sum_{z=0}^{1}\frac{1}{\sqrt{2}}\ket{z}_{\mathsf{A}}\ket{D_{j},(x,z)}_{\mathsf{D}_{\mathcal{A}}},&x\notin D_{j}\end{cases}

where by |Dj\ket{D_{j}}, we mean a sequence of query-answer pairs |(x1,z1),(x2,z2),(xk,zk)\ket{(x_{1},z_{1}),(x_{2},z_{2}),\cdots(x_{k},z_{k})} where the query positions x1,x2,,xkx_{1},x_{2},\cdots,x_{k} are not necessary to be distinct, but the pairs are consistent. By xDjx\in D_{j}, we mean there exists zz such that (x,z)(x,z) is a pair in DjD_{j} and we will denote this zz as Dj(x)D_{j}(x). By xDjx\notin D_{j}, we mean for all zz, (x,z)(x,z) is not a pair in DjD_{j}. (The subscript DD in UDU_{D} is for simulating with Database.)

Then applying UDU_{D} is exactly answering the query xx using DjD_{j} (If xx is in the database, then answer the query using DjD_{j}; Otherwise, give a random answer while recording this query-answer pair into the database for later use). Thus the purified version of 𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}} is

U𝖲𝗂𝗆:=UqUDUq1UDU0.U_{\mathsf{Sim}}:=U_{q}U_{D}U_{q-1}\cdots U_{D}U_{0}.

So the acceptance probability of 𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,))\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}}(pk,(s,\cdot)) on ρs(t)\rho_{s}^{(t)} is the probability that

  1. 1.

    Run the first step in the case 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,)){\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\cdot))} on ρs(t){\rho_{s}^{(t)}}.

  2. 2.

    Furthermore run 𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}} in a purified view where the input of 𝖵𝖾𝗋\mathsf{Ver} is the register for the public key, the register for the serial number, and the register for ρs(t)\rho_{s}^{(t)} (The input is the same as the case 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,)){\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\cdot))} on ρs(t){\rho_{s}^{(t)}}).

  3. 3.

    Measure the outcome register of the above 𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}} and obtain 𝖠𝖼𝖼𝖾𝗉𝗍{\sf Accept}.

𝗩𝗲𝗿𝓡,|𝗣𝗦𝗣𝗔𝗖𝗘(𝒑𝒌,(𝒔,))\bm{\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\cdot))} on 𝝈𝑫𝒋\bm{\sigma_{D_{j}}}

The acceptance probability is the probability that

  1. 1.

    Run the first step in the case 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,)){\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\cdot))} on ρs(t){\rho_{s}^{(t)}}.

  2. 2.

    Furthermore run 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}} in a purified view where the input of 𝖵𝖾𝗋\mathsf{Ver} is the register for the public key, the register for the serial number, and the register for σDj\sigma_{D_{j}} (It’s the first register of the output state of 𝒜\mathcal{A}).

  3. 3.

    Measure the outcome register of the above 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}} and obtain 𝖠𝖼𝖼𝖾𝗉𝗍{\sf Accept}.

𝗩𝗲𝗿𝑫𝒋,|𝗣𝗦𝗣𝗔𝗖𝗘(𝒑𝒌,(𝒔,))\bm{\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}}(pk,(s,\cdot))} on 𝝈𝑫𝒋\bm{\sigma_{D_{j}}}

The acceptance probability is the probability that

  1. 1.

    Run the first step in the case 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,)){\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\cdot))} on ρs(t){\rho_{s}^{(t)}}.

  2. 2.

    Furthermore run 𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}} in a purified view where the input of 𝖵𝖾𝗋\mathsf{Ver} is the register for the public key, the register for the serial number, and the register for σDj\sigma_{D_{j}} (The input is the same as the case 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,)){\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\cdot))} on σDj{\sigma_{D_{j}}}).

  3. 3.

    Measure the outcome register of the above 𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}} and obtain 𝖠𝖼𝖼𝖾𝗉𝗍{\sf Accept}.

6.2 Compress and Decompress

Intuitively, |0^\ket{\hat{0}} position in 𝖥\mathsf{F} is a uniform superposition of the range and it is unentangled with all other things, so it can be seen as choosing a value from the range uniformly at random independently, which is exactly what the simulation does. It is an analog of those positions that are never asked during the sequence of algorithms in the purely classical query case.

In this subsection, we will show how to extract an analog of DkD_{k} and D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍DkD_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}-D_{k} from the pure state. Roughly speaking, the recorded classical queries are an analog of DkD_{k} and we will compress the register 𝖥\mathsf{F} to extract those non-|0^\ket{\hat{0}} positions outside DkD_{k} to form our analog of D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍DkD_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}-D_{k}.

As it’s easier to write down and analyze the inverse operation of compress, we first give a formal description of decompress unitary 𝖣𝖾𝖼𝗈𝗆𝗉\mathsf{Decomp}. Recall that 𝖣\mathsf{D}_{{\mathcal{R}}} stores all the classical queries to {\mathcal{R}}. 𝖥\mathsf{F} is a register for the random function. Define

𝖣𝖾𝖼𝗈𝗆𝗉:|DF𝖥|D𝖣|f0,f1,,f2l1𝖥|D𝖣\mathsf{Decomp}:\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}}}_{\mathsf{D}_{{\mathcal{R}}}}\rightarrow\ket{f_{0},f_{1},\cdots,f_{2^{l}-1}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}}}_{\mathsf{D}_{{\mathcal{R}}}}

where |DF𝖥\ket{D_{F}}_{\mathsf{F}} can be written as a sequence of pairs |(x1,y1^),(x2,y2^),,(xk,yk^)𝖥\ket{(x_{1},\widehat{y_{1}}),(x_{2},\widehat{y_{2}}),\cdots,(x_{k^{\prime}},\widehat{y_{k^{\prime}}})}_{\mathsf{F}}, |D𝖣\ket{D_{{\mathcal{R}}}}_{\mathsf{D}_{{\mathcal{R}}}} can be written as a sequence of pairs |(x1,z1),(x2,z2),,(xk,zk)\ket{(x_{1}^{\prime},z_{1}),(x_{2}^{\prime},z_{2}),\cdots,(x_{k}^{\prime},z_{k})} and the input |DF𝖥|D𝖣\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}}}_{\mathsf{D}_{{\mathcal{R}}}} satisfies

  • if xi=xjx_{i}^{\prime}=x_{j}^{\prime}, then zi=zjz_{i}=z_{j};

  • x1<x2<<xk,yi^0^x_{1}<x_{2}<\cdots<x_{k^{\prime}},\widehat{y_{i}}\neq\widehat{0};

  • i,j,xjxi\forall i,j,x_{j}\neq x_{i}^{\prime};

and the output satisfies

  • If xj=ix_{j}^{\prime}=i, then fi=zjf_{i}=z_{j};

  • If xj=ix_{j}=i, then fi=yj^f_{i}=\widehat{y_{j}};

  • If j,xji,xji\forall j,x_{j}\neq i,x_{j}^{\prime}\neq i, then fi=0^f_{i}=\widehat{0}.

Roughly speaking, we fill f0,f1,,f2l1f_{0},f_{1},\cdots,f_{2^{l}-1} by looking at the pairs (x1,z1),(x2,z2),,(xk,zk)(x_{1}^{\prime},z_{1}),(x_{2}^{\prime},z_{2}),\cdots,(x_{k}^{\prime},z_{k}) and (x1,y1^),(x2,y2^),,(xk,yk^)(x_{1},\widehat{y_{1}}),(x_{2},\widehat{y_{2}}),\cdots,(x_{k^{\prime}},\widehat{y_{k^{\prime}}}). And we fill all the remaining positions with 0^\hat{0}.

Here our register 𝖥\mathsf{F} also have enough space. As our random function only has one-bit outputs, z1,z2,,zk,y1,y2,,yk{0,1}z_{1},z_{2},\cdots,z_{k},y_{1},y_{2},\cdots,y_{k^{\prime}}\in\{0,1\}. Recall that |0^=|+=12(|0+|1),|1^=|=12(|0|1)\ket{\hat{0}}=\ket{+}=\frac{1}{\sqrt{2}}(\ket{0}+\ket{1}),\ket{\hat{1}}=\ket{-}=\frac{1}{\sqrt{2}}(\ket{0}-\ket{1}). One can check that each two inputs in the above form are orthogonal and they are mapped to orthogonal outputs. So we can define the outputs of other inputs that are not in the above form so that 𝖣𝖾𝖼𝗈𝗆𝗉\mathsf{Decomp} is a unitary.

More Notations

For simplicity, when we write DD_{{\mathcal{R}}}, we mean a sequence of consistent pairs (x1,z1),(x2,z2),,(xk,zk)(x_{1}^{\prime},z_{1}),(x_{2}^{\prime},z_{2}),\cdots,(x_{k}^{\prime},z_{k}) by default. By xDx\in D_{{\mathcal{R}}}, we mean i\exists i, xi=xx_{i}^{\prime}=x. By D(x)D_{{\mathcal{R}}}(x) where xDx\in D_{{\mathcal{R}}}, we mean ziz_{i} where xi=xx_{i}^{\prime}=x. When we write DFD_{F}, we mean a sequence (x1,y1^),(x2,y2^),,(xk,yk^)(x_{1},\widehat{y_{1}}),(x_{2},\widehat{y_{2}}),\cdots,(x_{k^{\prime}},\widehat{y_{k^{\prime}}}) that satisfies the second item of the input requirements above. By xDFx\in D_{F}, we mean i\exists i, xi=xx_{i}=x. By DF(x)D_{F}(x) where xDFx\in D_{F}, we mean yi^\widehat{y_{i}} where xi=xx_{i}=x. By DF(x)^\widehat{D_{F}(x)} where xDFx\in D_{F}, we mean yiy_{i} where xi=xx_{i}=x. By DFxD_{F}-x, we mean the sequence we obtain after deleting xi,yi^x_{i},\widehat{y_{i}} from the sequence DFD_{F} where xi=xx_{i}=x. Define DDF={x:xD and xDF}D_{{\mathcal{R}}}\cap D_{F}=\{x:x\in D_{{\mathcal{R}}}\text{ and }x\in D_{F}\}.

The inverse operation of the above unitary 𝖣𝖾𝖼𝗈𝗆𝗉\mathsf{Decomp} is compress, which can take our database DD_{{\mathcal{R}}} and the truth table in register 𝖥\mathsf{F} as inputs and compress them into two databases DD_{{\mathcal{R}}} and DFD_{F}. Define it as 𝖢𝗈𝗆𝗉:=𝖣𝖾𝖼𝗈𝗆𝗉\mathsf{Comp}:=\mathsf{Decomp}^{\dagger}. These two unitaries enable us to change our view between the decompressed one (a database for classical queries and a truth table) and the compressed one (a database for classical queries and another database). Here is a picture to illustrate this. |θ\ket{\theta} is an arbitrary state without compression. U{U} is a unitary in the decompressed view (It takes a state without compression as input and outputs a state without compression). Then U~:=𝖢𝗈𝗆𝗉U𝖣𝖾𝖼𝗈𝗆𝗉{\widetilde{U}}:=\mathsf{Comp}{U}\mathsf{Decomp} is a compressed view version of U{U} (It takes a state after compression as input and outputs a state after compression). From now on, when we write unitary ~{\widetilde{\cdot}}, we mean it is in the compressed view.

|θ\ket{\theta}𝖢𝗈𝗆𝗉|θ\mathsf{Comp}\ket{\theta}U|θ{U}\ket{\theta}𝖢𝗈𝗆𝗉U|θ\mathsf{Comp}{U}\ket{\theta}𝖢𝗈𝗆𝗉\mathsf{Comp}𝖣𝖾𝖼𝗈𝗆𝗉\mathsf{Decomp}U{U}𝖢𝗈𝗆𝗉\mathsf{Comp}𝖣𝖾𝖼𝗈𝗆𝗉\mathsf{Decomp}U~=𝖢𝗈𝗆𝗉U𝖣𝖾𝖼𝗈𝗆𝗉{\widetilde{U}}=\mathsf{Comp}{U}\mathsf{Decomp}

Readers can treat DD_{{\mathcal{R}}} as an analog of database DkD_{k} in Section 5 and treat DFD_{F} as an analog of databases D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍DkD_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}-D_{k} in Section 5. Roughly speaking, DD_{{\mathcal{R}}} stores our classical queries. The query positions in DFD_{F} are those asked by 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint}, but not recorded in DD_{{\mathcal{R}}}. We can understand this analog better after taking a look of the following query unitaries in the compressed view.

Recall the unitaries UCU_{C}, URU_{R} and UDU_{D} from Section 6.1. They are for classical query, classical query while recording and simulated classical query respectively. Their compressed versions are the unitaries UC~:=𝖢𝗈𝗆𝗉UC𝖣𝖾𝖼𝗈𝗆𝗉{\widetilde{U_{C}}}:=\mathsf{Comp}{U_{C}}\mathsf{Decomp}, UR~:=𝖢𝗈𝗆𝗉UR𝖣𝖾𝖼𝗈𝗆𝗉{\widetilde{U_{R}}}:=\mathsf{Comp}{U_{R}}\mathsf{Decomp} and UD~:=𝖢𝗈𝗆𝗉UD𝖣𝖾𝖼𝗈𝗆𝗉{\widetilde{U_{D}}}:=\mathsf{Comp}{U_{D}}\mathsf{Decomp}.

From the description of 𝖣𝖾𝖼𝗈𝗆𝗉\mathsf{Decomp}, we can get for DFD=,D_{F}\cap D_{{\mathcal{R}}}=\emptyset,

UC~(|x𝖰|0𝖠|DF𝖥|D𝖣)\displaystyle{\widetilde{U_{C}}}(\ket{x}_{\mathsf{Q}}\ket{0}_{\mathsf{A}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}}}_{\mathsf{D}_{{\mathcal{R}}}})
=\displaystyle= {|x𝖰|D(x)𝖠|DF𝖥|D,(x,D(x))𝖣xD|x𝖰12z=01|z𝖠|DF𝖥|D,(x,z)𝖣xD,xDF|x𝖰12z=01(1)zDF(x)^|z𝖠|DFx𝖥|D,(x,z)𝖣xD,xDF\displaystyle\begin{cases}\ket{x}_{\mathsf{Q}}\ket{D_{{\mathcal{R}}}(x)}_{\mathsf{A}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}},(x,D_{{\mathcal{R}}}(x))}_{\mathsf{D}_{{\mathcal{R}}}}&x\in D_{{\mathcal{R}}}\\ \ket{x}_{\mathsf{Q}}\frac{1}{\sqrt{2}}\sum_{z=0}^{1}\ket{z}_{\mathsf{A}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}},(x,z)}_{\mathsf{D}_{{\mathcal{R}}}}&x\notin D_{{\mathcal{R}}},x\notin D_{F}\\ \ket{x}_{\mathsf{Q}}\frac{1}{\sqrt{2}}\sum_{z=0}^{1}(-1)^{z\widehat{D_{F}(x)}}\ket{z}_{\mathsf{A}}\ket{D_{F}-x}_{\mathsf{F}}\ket{D_{{\mathcal{R}}},(x,z)}_{\mathsf{D}_{{\mathcal{R}}}}&x\notin D_{{\mathcal{R}}},x\in D_{F}\end{cases}
UR~(|x𝖰|0𝖠|D𝒜𝖣𝒜|DF𝖥|D𝖣)\displaystyle{\widetilde{U_{R}}}(\ket{x}_{\mathsf{Q}}\ket{0}_{\mathsf{A}}\ket{D_{\mathcal{A}}}_{\mathsf{D}_{\mathcal{A}}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}}}_{\mathsf{D}_{{\mathcal{R}}}})
=\displaystyle= {|x𝖰|D(x)𝖠|D𝒜,(x,D(x))𝖣𝒜|DF𝖥|D,(x,D(x))𝖣xD|x𝖰12z=01|z𝖠|D𝒜,(x,z)𝖣𝒜|DF𝖥|D,(x,z)𝖣xD,xDF|x𝖰12z=01(1)zDF(x)^|z𝖠|D𝒜,(x,z)𝖣𝒜|DFx𝖥|D,(x,z)𝖣xD,xDF\displaystyle\begin{cases}\ket{x}_{\mathsf{Q}}\ket{D_{{\mathcal{R}}}(x)}_{\mathsf{A}}\ket{D_{\mathcal{A}},(x,D_{{\mathcal{R}}}(x))}_{\mathsf{D}_{\mathcal{A}}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}},(x,D_{{\mathcal{R}}}(x))}_{\mathsf{D}_{{\mathcal{R}}}}&x\in D_{{\mathcal{R}}}\\ \ket{x}_{\mathsf{Q}}\frac{1}{\sqrt{2}}\sum_{z=0}^{1}\ket{z}_{\mathsf{A}}\ket{D_{\mathcal{A}},(x,z)}_{\mathsf{D}_{\mathcal{A}}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}},(x,z)}_{\mathsf{D}_{{\mathcal{R}}}}&x\notin D_{{\mathcal{R}}},x\notin D_{F}\\ \ket{x}_{\mathsf{Q}}\frac{1}{\sqrt{2}}\sum_{z=0}^{1}(-1)^{z\widehat{D_{F}(x)}}\ket{z}_{\mathsf{A}}\ket{D_{\mathcal{A}},(x,z)}_{\mathsf{D}_{\mathcal{A}}}\ket{D_{F}-x}_{\mathsf{F}}\ket{D_{{\mathcal{R}}},(x,z)}_{\mathsf{D}_{{\mathcal{R}}}}&x\notin D_{{\mathcal{R}}},x\in D_{F}\end{cases}

Since UDU_{D} does not act on 𝖥\mathsf{F} and 𝖣\mathsf{D}_{{\mathcal{R}}}, UD~=UD{\widetilde{U_{D}}}=U_{D}. Thus

UD~(|x𝖰|0𝖠|D𝒜𝖣𝒜)\displaystyle{\widetilde{U_{D}}}(\ket{x}_{\mathsf{Q}}\ket{0}_{\mathsf{A}}\ket{D_{\mathcal{A}}}_{\mathsf{D}_{\mathcal{A}}})
=\displaystyle= {|x𝖰|D𝒜(x)𝖠|D𝒜,(x,D𝒜(x))𝖣𝒜,xD𝒜|x𝖰12z=01|z𝖠|D𝒜,(x,z)𝖣𝒜,xD𝒜\displaystyle\begin{cases}\ket{x}_{\mathsf{Q}}\ket{D_{\mathcal{A}}(x)}_{\mathsf{A}}\ket{D_{\mathcal{A}},(x,D_{\mathcal{A}}(x))}_{\mathsf{D}_{\mathcal{A}}},&x\in D_{\mathcal{A}}\\ \ket{x}_{\mathsf{Q}}\frac{1}{\sqrt{2}}\sum_{z=0}^{1}\ket{z}_{\mathsf{A}}\ket{D_{\mathcal{A}},(x,z)}_{\mathsf{D}_{\mathcal{A}}},&x\notin D_{\mathcal{A}}\end{cases}

By the description of UC~{\widetilde{U_{C}}} and UR~{\widetilde{U_{R}}}, whenever we ask a classical query on input xDx\in D_{{\mathcal{R}}}, we answer it with our database DD_{{\mathcal{R}}} and record (x,D(x))(x,D_{{\mathcal{R}}}(x)) for another time; whenever we ask a classical query on input xDDFx\notin D_{{\mathcal{R}}}\cup D_{F}, we answer it with a random zz and record (x,z)(x,z) in our database for later use; whenever we ask a classical query on input xDFx\in D_{F}, we actually copy the answer from the DFD_{F}, record it, and remove xx from DFD_{F}. The above three cases is analogous to the classical on-the-fly simulation where the query to {\mathcal{R}} inside DkD_{k} can be answered by DkD_{k}, the query to {\mathcal{R}} inside D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍DkD_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}-D_{k} should be answered consistently by D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍DkD_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}-D_{k} and we can give a random answer to the query to outside (D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍Dk)Dk(D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}-D_{k})\cup D_{k}. It is worth pointing out that UC~{\widetilde{U_{C}}} and UR~{\widetilde{U_{R}}} maintain the property that DDFD_{{\mathcal{R}}}\cap D_{F} is empty (analogous to (D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍Dk)Dk=\left(D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}-D_{k}\right)\cap D_{k}=\emptyset).

Furthermore, recall that U𝖵𝖾𝗋=UqUCUq1U1UCU0{U_{\mathsf{Ver}}}=U_{q}{U_{C}}U_{q-1}\cdots U_{1}{U_{C}}U_{0} and UiU_{i} does not act on 𝖥\mathsf{F} or 𝖣\mathsf{D}_{{\mathcal{R}}}. Thus Ui~=Ui{\widetilde{U_{i}}}=U_{i}, U𝖵𝖾𝗋~=Uq~UC~Uq1~U1~UC~U0~=UqUC~Uq1U1UC~U0.{\widetilde{U_{\mathsf{Ver}}}}={\widetilde{U_{q}}}{\widetilde{U_{C}}}{\widetilde{U_{q-1}}}\cdots{\widetilde{U_{1}}}{\widetilde{U_{C}}}{\widetilde{U_{0}}}=U_{q}{\widetilde{U_{C}}}U_{q-1}\cdots U_{1}{\widetilde{U_{C}}}U_{0}. Similarly, recall that the purified version of 𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}} is U𝖲𝗂𝗆=UqUDUq1UDU0U_{\mathsf{Sim}}=U_{q}U_{D}U_{q-1}\cdots U_{D}U_{0}. Thus U𝖲𝗂𝗆~=UqUD~Uq1UD~U0=U𝖲𝗂𝗆{\widetilde{U_{\mathsf{Sim}}}}=U_{q}{\widetilde{U_{D}}}U_{q-1}\cdots{\widetilde{U_{D}}}U_{0}=U_{\mathsf{Sim}} (Because UD~=UD{\widetilde{U_{D}}}=U_{D}).

6.3 Analysis of 𝒜,|𝖯𝖲𝖯𝖠𝖢𝖤\mathcal{A}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}

Here we analyze the acceptance probability of 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}} on the output of our 𝒜,|𝖯𝖲𝖯𝖠𝖢𝖤\mathcal{A}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}. We reuse our ideas in Section 5. Readers are encouraged to refer to our notation table in Appendix C when confused about the notations.

The following proposition can be seen as an analog of 6 except that we work on a general state instead of solely analyzing σDk\sigma_{D_{k}}. It basically says that when the behavior of 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}} (corresponding to U𝖵𝖾𝗋~=UqUC~UC~U0{\widetilde{U_{\mathsf{Ver}}}}=U_{q}{\widetilde{U_{C}}}\cdots{\widetilde{U_{C}}}U_{0}) is far from a simulation 𝖵𝖾𝗋D,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D,\ket{\mathsf{PSPACE}}} (corresponding to U𝖲𝗂𝗆~=UqUDUDU0{\widetilde{U_{\mathsf{Sim}}}}=U_{q}U_{D}\cdots U_{D}U_{0}), then the number of pairs in 𝖥\mathsf{F} (analogous to |D𝖪𝖾𝗒𝖦𝖾𝗇D𝖬𝗂𝗇𝗍Dk|{\lvert{D_{\mathsf{KeyGen}}\cup D_{\mathsf{Mint}}-D_{k}}\rvert}) will drop a lot after the verification. The intuition is that roughly speaking, UC~{\widetilde{U_{C}}} and UDU_{D} only behave differently when given a query position xDFx\in D_{F}, in which case xx will be excluded from DFD_{F} after applying UC~{\widetilde{U_{C}}}. So it results in a decrement of the number of pairs in 𝖥\mathsf{F}. Formally:

Proposition 2.

Denote OO to be the observable corresponding to the number of pairs in 𝖥\mathsf{F}. To be more specific, O=DF|DF||DFDF|𝖥O=\sum_{D_{F}}{\lvert{D_{F}}\rvert}\ket{D_{F}}\!\bra{D_{F}}_{\mathsf{F}} where |DF|{\lvert{D_{F}}\rvert} is the number of pairs in DFD_{F}.

For a state |ϕ\ket{\phi} in the following form (i.e. it’s in the compressed view and the contents in 𝖣\mathsf{D}_{{\mathcal{R}}} and 𝖣𝒜\mathsf{D}_{\mathcal{A}} are the same),

|ϕ=pk,s,m,D,DF,gs.t. DDF=αpk,s,m,D,DF,g|pk𝖯𝗄|s𝖲|m𝖬|D𝖣𝒜|DF𝖥|D𝖣|g𝖦.\ket{\phi}=\sum_{\begin{subarray}{c}pk,s,m,D,D_{F},g\\ \text{s.t. }D\cap D_{F}=\emptyset\end{subarray}}\alpha_{pk,s,m,D,D_{F},g}\ket{pk}_{\mathsf{Pk}}\ket{s}_{\mathsf{S}}\ket{m}_{\mathsf{M}}\ket{D}_{\mathsf{D}_{\mathcal{A}}}\ket{D_{F}}_{\mathsf{F}}\ket{D}_{\mathsf{D}_{{\mathcal{R}}}}\ket{g}_{\mathsf{G}}.

Let 𝖯𝗋[U𝖵𝖾𝗋~ accepts when running on |ϕ]\mathsf{Pr}\left[{\widetilde{U_{\mathsf{Ver}}}}\text{ accepts when running on $\ket{\phi}$}\right] be the acceptance probability of U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} when the public key, the serial number and the alleged money state are in 𝖯𝗄,𝖲\mathsf{Pk},\mathsf{S} and 𝖬\mathsf{M} respectively (It also equals to the acceptance probability of U𝖵𝖾𝗋U_{\mathsf{Ver}} on 𝖣𝖾𝖼𝗈𝗆𝗉|ϕ\mathsf{Decomp}\ket{\phi} because U𝖵𝖾𝗋~|ϕ=𝖢𝗈𝗆𝗉U𝖵𝖾𝗋(𝖣𝖾𝖼𝗈𝗆𝗉|ϕ){\widetilde{U_{\mathsf{Ver}}}}\ket{\phi}=\mathsf{Comp}U_{\mathsf{Ver}}(\mathsf{Decomp}\ket{\phi}) and 𝖢𝗈𝗆𝗉\mathsf{Comp} does not act on the output bit).

Let 𝖯𝗋[U𝖲𝗂𝗆~ accepts when running on |ϕ]\mathsf{Pr}\left[{\widetilde{U_{\mathsf{Sim}}}}\text{ accepts when running on $\ket{\phi}$}\right] be the acceptance probability of U𝖲𝗂𝗆~{\widetilde{U_{\mathsf{Sim}}}} when the public key, the serial number, the alleged money state and the database for simulating the random oracle are in 𝖯𝗄,𝖲,𝖬\mathsf{Pk},\mathsf{S},\mathsf{M} and 𝖣𝒜\mathsf{D}_{\mathcal{A}} respectively (It also equals to the acceptance probability of U𝖲𝗂𝗆U_{\mathsf{Sim}} on 𝖣𝖾𝖼𝗈𝗆𝗉|ϕ\mathsf{Decomp}\ket{\phi}).

|𝖯𝗋[U𝖵𝖾𝗋~ accepts when running on |ϕ]𝖯𝗋[U𝖲𝗂𝗆~ accepts when running on |ϕ]|\displaystyle\left|\mathsf{Pr}\left[{\widetilde{U_{\mathsf{Ver}}}}\text{ accepts when running on $\ket{\phi}$}\right]-\mathsf{Pr}\left[{\widetilde{U_{\mathsf{Sim}}}}\text{ accepts when running on $\ket{\phi}$}\right]\right|
\displaystyle\leq TD(Tr𝖥𝖣𝒜𝖣(U𝖵𝖾𝗋~|ϕϕ|U𝖵𝖾𝗋~),Tr𝖥𝖣𝒜𝖣(U𝖲𝗂𝗆~|ϕϕ|U𝖲𝗂𝗆~))\displaystyle{\operatorname{TD}\left(\mathrm{Tr}_{\mathsf{F}\mathsf{D}_{\mathcal{A}}\mathsf{D}_{{\mathcal{R}}}}({\widetilde{U_{\mathsf{Ver}}}}\ket{\phi}\!\bra{\phi}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger}),\mathrm{Tr}_{\mathsf{F}\mathsf{D}_{\mathcal{A}}\mathsf{D}_{{\mathcal{R}}}}({\widetilde{U_{\mathsf{Sim}}}}\ket{\phi}\!\bra{\phi}{\widetilde{U_{\mathsf{Sim}}}}^{\dagger})\right)}
\displaystyle\leq 6q(Tr(O|ϕϕ|)Tr(OU𝖵𝖾𝗋~|ϕϕ|U𝖵𝖾𝗋~))\displaystyle 6\sqrt{q\left(\mathrm{Tr}(O\ket{\phi}\!\bra{\phi})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}\ket{\phi}\!\bra{\phi}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})\right)}
Proof.

The first inequality follows immediately from the fact that we can measure a qubit (not in 𝖥𝖣𝒜𝖣\mathsf{F}\mathsf{D}_{\mathcal{A}}\mathsf{D}_{{\mathcal{R}}}) of U𝖵𝖾𝗋~|ϕ{\widetilde{U_{\mathsf{Ver}}}}\ket{\phi} and U𝖲𝗂𝗆~|ϕ{\widetilde{U_{\mathsf{Sim}}}}\ket{\phi} to obtain whether they accept and the fact that we can not distinguish two states with probability greater than their trace distance.

As for the second inequality, recall that U𝖵𝖾𝗋~=UqUC~UC~U0{\widetilde{U_{\mathsf{Ver}}}}=U_{q}{\widetilde{U_{C}}}\cdots{\widetilde{U_{C}}}U_{0} and U𝖲𝗂𝗆~=UqUDUDU0{\widetilde{U_{\mathsf{Sim}}}}=U_{q}U_{D}\cdots U_{D}U_{0}. Let UDU_{D}^{\prime} be the same as UDU_{D} except that it uses the contents in DD_{{\mathcal{R}}} for simulation instead of the contents in D𝒜D_{\mathcal{A}}. To be more specific,

UD(|x𝖰|0𝖠|D𝖣)={|x𝖰|D(x)𝖠|D,(x,D(x))𝖣,xD|x𝖰12z=01|z𝖠|D,(x,z)𝖣,xD\displaystyle U_{D}^{\prime}(\ket{x}_{\mathsf{Q}}\ket{0}_{\mathsf{A}}\ket{D_{{\mathcal{R}}}}_{\mathsf{D}_{{\mathcal{R}}}})=\begin{cases}\ket{x}_{\mathsf{Q}}\ket{D_{{\mathcal{R}}}(x)}_{\mathsf{A}}\ket{D_{{\mathcal{R}}},(x,D_{{\mathcal{R}}}(x))}_{\mathsf{D}_{{\mathcal{R}}}},&x\in D_{{\mathcal{R}}}\\ \ket{x}_{\mathsf{Q}}\frac{1}{\sqrt{2}}\sum_{z=0}^{1}\ket{z}_{\mathsf{A}}\ket{D_{{\mathcal{R}}},(x,z)}_{\mathsf{D}_{{\mathcal{R}}}},&x\notin D_{{\mathcal{R}}}\end{cases}

Define |ϕj=UC~Uj1UC~U0|ϕ\ket{\phi_{j}}={\widetilde{U_{C}}}U_{j-1}\cdots{\widetilde{U_{C}}}U_{0}\ket{\phi} where 0jq0\leq j\leq q. In order to analyze the difference of U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} and U𝖲𝗂𝗆~{\widetilde{U_{\mathsf{Sim}}}} on |ϕ\ket{\phi}, it’s enough to analyze the difference between one true query and one simulated query. Formally,

TD(Tr𝖥𝖣𝒜𝖣(U𝖵𝖾𝗋~|ϕϕ|U𝖵𝖾𝗋~),Tr𝖥𝖣𝒜𝖣(U𝖲𝗂𝗆~|ϕϕ|U𝖲𝗂𝗆~))\displaystyle{\operatorname{TD}\left(\mathrm{Tr}_{\mathsf{F}\mathsf{D}_{\mathcal{A}}\mathsf{D}_{{\mathcal{R}}}}({\widetilde{U_{\mathsf{Ver}}}}\ket{\phi}\!\bra{\phi}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger}),\mathrm{Tr}_{\mathsf{F}\mathsf{D}_{\mathcal{A}}\mathsf{D}_{{\mathcal{R}}}}({\widetilde{U_{\mathsf{Sim}}}}\ket{\phi}\!\bra{\phi}{\widetilde{U_{\mathsf{Sim}}}}^{\dagger})\right)}
=\displaystyle= TD(Tr𝖥𝖣𝒜𝖣(Uq|ϕqϕq|Uq),Tr𝖥𝖣𝒜𝖣(UqUDUDU0|ϕ0ϕ0|U0UDUDUq))\displaystyle{\operatorname{TD}\left(\mathrm{Tr}_{\mathsf{F}\mathsf{D}_{\mathcal{A}}\mathsf{D}_{{\mathcal{R}}}}(U_{q}\ket{\phi_{q}}\!\bra{\phi_{q}}U_{q}^{\dagger}),\mathrm{Tr}_{\mathsf{F}\mathsf{D}_{\mathcal{A}}\mathsf{D}_{{\mathcal{R}}}}(U_{q}U_{D}^{\prime}\cdots U_{D}^{\prime}U_{0}\ket{\phi_{0}}\!\bra{\phi_{0}}U_{0}^{\dagger}U_{D}^{\prime\dagger}\cdots U_{D}^{\prime\dagger}U_{q}^{\dagger})\right)}
\displaystyle\leq j=0q1TD(Tr𝖥𝖣𝒜𝖣(UqUDUj+1|ϕj+1ϕj+1|Uj+1UDUq),Tr𝖥𝖣𝒜𝖣(UqUDUj|ϕjϕj|UjUDUq))\displaystyle{\sum_{j=0}^{q-1}{\operatorname{TD}\left(\mathrm{Tr}_{\mathsf{F}\mathsf{D}_{\mathcal{A}}\mathsf{D}_{{\mathcal{R}}}}(U_{q}U_{D}^{\prime}\cdots U_{j+1}\ket{\phi_{j+1}}\!\bra{\phi_{j+1}}U_{j+1}^{\dagger}U_{D}^{\prime\dagger}\cdots U_{q}^{\dagger}),\mathrm{Tr}_{\mathsf{F}\mathsf{D}_{\mathcal{A}}\mathsf{D}_{{\mathcal{R}}}}(U_{q}U_{D}^{\prime}\cdots U_{j}\ket{\phi_{j}}\!\bra{\phi_{j}}U_{j}^{\dagger}U_{D}^{\prime\dagger}\cdots U_{q}^{\dagger})\right)}}
\displaystyle\leq j=0q1TD(UC~Uj|ϕjϕj|UjUC~,UDUj|ϕjϕj|UjUD)\displaystyle\sum_{j=0}^{q-1}{\operatorname{TD}\left({\widetilde{U_{C}}}U_{j}\ket{\phi_{j}}\!\bra{\phi_{j}}U_{j}^{\dagger}{\widetilde{U_{C}}}^{\dagger},U_{D}^{\prime}U_{j}\ket{\phi_{j}}\!\bra{\phi_{j}}U_{j}^{\dagger}U_{D}^{\prime\dagger}\right)}

where we use the fact that |ϕ\ket{\phi} have the same contents on 𝖣𝒜\mathsf{D}_{\mathcal{A}} and 𝖣\mathsf{D}_{{\mathcal{R}}} and thus Tr𝖥𝖣𝒜𝖣(U𝖲𝗂𝗆~|ϕϕ|U𝖲𝗂𝗆~)\mathrm{Tr}_{\mathsf{F}\mathsf{D}_{\mathcal{A}}\mathsf{D}_{{\mathcal{R}}}}({\widetilde{U_{\mathsf{Sim}}}}\ket{\phi}\!\bra{\phi}{\widetilde{U_{\mathsf{Sim}}}}^{\dagger}) equals to Tr𝖥𝖣𝒜𝖣(UqUDUDU0|ϕ0ϕ0|U0UDUDUq)\mathrm{Tr}_{\mathsf{F}\mathsf{D}_{\mathcal{A}}\mathsf{D}_{{\mathcal{R}}}}(U_{q}U_{D}^{\prime}\cdots U_{D}^{\prime}U_{0}\ket{\phi_{0}}\!\bra{\phi_{0}}U_{0}^{\dagger}U_{D}^{\prime\dagger}\cdots U_{D}^{\prime\dagger}U_{q}^{\dagger}).

UC~{\widetilde{U_{C}}} and UDU_{D}^{\prime} act differently only when the query position is inside DFD_{F}. So the difference between one true query and one simulated query can be bounded by the weight of queries inside DFD_{F}, which equals the decrement of the number of pairs in 𝖥\mathsf{F} after the query. Formally, we give the following lemma, whose proof is deferred to Appendix A.

Lemma 6.

TD(UC~Uj|ϕjϕj|UjUC~,UDUj|ϕjϕj|UjUD)6Tr(O|ϕjϕj|)Tr(O|ϕj+1ϕj+1|).{\operatorname{TD}\left({\widetilde{U_{C}}}U_{j}\ket{\phi_{j}}\!\bra{\phi_{j}}U_{j}^{\dagger}{\widetilde{U_{C}}}^{\dagger},U_{D}^{\prime}U_{j}\ket{\phi_{j}}\!\bra{\phi_{j}}U_{j}^{\dagger}U_{D}^{\prime\dagger}\right)}\leq 6\sqrt{\mathrm{Tr}(O\ket{\phi_{j}}\!\bra{\phi_{j}})-\mathrm{Tr}(O\ket{\phi_{j+1}}\!\bra{\phi_{j+1}})}.

We can insert Lemma 6 into the above inequality and obtain

TD(Tr𝖥𝖣𝒜𝖣(U𝖵𝖾𝗋~|ϕϕ|U𝖵𝖾𝗋~),Tr𝖥𝖣𝒜𝖣(U𝖲𝗂𝗆~|ϕϕ|U𝖲𝗂𝗆~))\displaystyle{\operatorname{TD}\left(\mathrm{Tr}_{\mathsf{F}\mathsf{D}_{\mathcal{A}}\mathsf{D}_{{\mathcal{R}}}}({\widetilde{U_{\mathsf{Ver}}}}\ket{\phi}\!\bra{\phi}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger}),\mathrm{Tr}_{\mathsf{F}\mathsf{D}_{\mathcal{A}}\mathsf{D}_{{\mathcal{R}}}}({\widetilde{U_{\mathsf{Sim}}}}\ket{\phi}\!\bra{\phi}{\widetilde{U_{\mathsf{Sim}}}}^{\dagger})\right)}
\displaystyle\leq j=0q16Tr(O|ϕjϕj|)Tr(O|ϕj+1ϕj+1|)\displaystyle\sum_{j=0}^{q-1}6\sqrt{\mathrm{Tr}(O\ket{\phi_{j}}\!\bra{\phi_{j}})-\mathrm{Tr}(O\ket{\phi_{j+1}}\!\bra{\phi_{j+1}})}
\displaystyle\leq 6qj=0q1(Tr(O|ϕjϕj|)Tr(O|ϕj+1ϕj+1|)) (Cauchy–Schwarz inequality)\displaystyle 6\sqrt{q\sum_{j=0}^{q-1}\left(\mathrm{Tr}(O\ket{\phi_{j}}\!\bra{\phi_{j}})-\mathrm{Tr}(O\ket{\phi_{j+1}}\!\bra{\phi_{j+1}})\right)}\text{ (Cauchy\textendash Schwarz inequality)}
=\displaystyle= 6q(Tr(O|ϕϕ|)Tr(OUC~Uq1UC~U0|ϕϕ|U0UC~Uq1UC~))\displaystyle 6\sqrt{q\left(\mathrm{Tr}(O\ket{\phi}\!\bra{\phi})-\mathrm{Tr}(O{\widetilde{U_{C}}}U_{q-1}\cdots{\widetilde{U_{C}}}U_{0}\ket{\phi}\!\bra{\phi}U_{0}^{\dagger}{\widetilde{U_{C}}}^{\dagger}\cdots U_{q-1}^{\dagger}{\widetilde{U_{C}}}^{\dagger})\right)}
=\displaystyle= 6q(Tr(O|ϕϕ|)Tr(OUqUC~UC~U0|ϕϕ|U0UC~UC~Uq))\displaystyle 6\sqrt{q\left(\mathrm{Tr}(O\ket{\phi}\!\bra{\phi})-\mathrm{Tr}(OU_{q}{\widetilde{U_{C}}}\cdots{\widetilde{U_{C}}}U_{0}\ket{\phi}\!\bra{\phi}U_{0}^{\dagger}{\widetilde{U_{C}}}^{\dagger}\cdots{\widetilde{U_{C}}}^{\dagger}U_{q}^{\dagger})\right)}
=\displaystyle= 6q(Tr(O|ϕϕ|)Tr(OU𝖵𝖾𝗋~|ϕϕ|U𝖵𝖾𝗋~))\displaystyle 6\sqrt{q\left(\mathrm{Tr}(O\ket{\phi}\!\bra{\phi})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}\ket{\phi}\!\bra{\phi}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})\right)}

where we use again the fact that UqU_{q} does not act on 𝖥\mathsf{F} and thus OO commutes with UqU_{q}.

The next claim is an analog of 4. Basically, it argues that on average, ρs(t)\rho_{s}^{(t)} is a good witness state for the simulation with database DjD_{j} even when 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint} can make quantum queries to {\mathcal{R}}.

The intuition of the proof is the following: from Section 6.1, the difference between the acceptance probabilities of 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,))\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\cdot)) and 𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,))\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}}(pk,(s,\cdot)) on ρs(t)\rho_{s}^{(t)} is the difference between running 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}} and 𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}} in the purified view on the same state (i.e. the difference between applying U𝖵𝖾𝗋U_{\mathsf{Ver}} and U𝖲𝗂𝗆U_{\mathsf{Sim}} on the same state), which can be transformed to the compressed view and by Proposition 2 can be bounded by the decrement of the number of pairs in 𝖥\mathsf{F} after the verification. Roughly speaking, the decrement equals to the number of pairs in DFD_{F} asked during the verification. But we randomize tt, so running another verification on ρs(t)\rho_{s}^{(t)} should not decrease the number of pairs in 𝖥\mathsf{F} too much on average. Formally:

Claim 7.
|𝖯𝗋[𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,ρs(t))) accepts]𝖯𝗋[𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,ρs(t))) accepts]|6q(n)q(n)T(n)\left|\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\rho_{s}^{(t)}))\text{ accepts}\right]-\mathsf{Pr}\left[\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}}(pk,(s,\rho_{s}^{(t)}))\text{ accepts}\right]\right|\leq 6\sqrt{\frac{q(n)q^{\prime}(n)}{T(n)}}

where the probabilities are taken over the randomness of {\mathcal{R}}, the randomness of the inputs to the adversary and the randomness of the adversary (so tt and jj are both randomized).

Proof.

From Section 6.1, these two probabilities can be analyzed by running a sequence of algorithms in the purified view. As 𝖢𝗈𝗆𝗉𝖣𝖾𝖼𝗈𝗆𝗉=I\mathsf{Comp}\mathsf{Decomp}=I, we can insert 𝖢𝗈𝗆𝗉\mathsf{Comp} and 𝖣𝖾𝖼𝗈𝗆𝗉\mathsf{Decomp} between the algorithms. So these two probabilities can also be analyzed by running the sequence of algorithms in the compressed view.

Let |ϕ\ket{\phi} be the whole pure state we obtain by applying the unitaries U𝖪𝖾𝗒𝖦𝖾𝗇~=𝖢𝗈𝗆𝗉U𝖪𝖾𝗒𝖦𝖾𝗇𝖣𝖾𝖼𝗈𝗆𝗉{\widetilde{U_{\mathsf{KeyGen}}}}=\mathsf{Comp}U_{\mathsf{KeyGen}}\mathsf{Decomp}, U𝖬𝗂𝗇𝗍~=𝖢𝗈𝗆𝗉U𝖬𝗂𝗇𝗍𝖣𝖾𝖼𝗈𝗆𝗉{\widetilde{U_{\mathsf{Mint}}}}=\mathsf{Comp}U_{\mathsf{Mint}}\mathsf{Decomp} and U𝒜~=𝖢𝗈𝗆𝗉U𝒜𝖣𝖾𝖼𝗈𝗆𝗉{\widetilde{U_{\mathcal{A}}}}=\mathsf{Comp}U_{\mathcal{A}}\mathsf{Decomp} to the state |1n|𝖣𝒜|𝖥|𝖣\ket{1^{n}}\ket{\emptyset}_{\mathsf{D}_{\mathcal{A}}}\ket{\emptyset}_{\mathsf{F}}\ket{\emptyset}_{\mathsf{D}_{{\mathcal{R}}}} along with enough ancillas (i.e. the compressed version of the first step of “𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,)){\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\cdot))} on ρs(t){\rho_{s}^{(t)}}” in Section 6.1). Let 𝖬\mathsf{M} be the register corresponding to ρs(t)\rho_{s}^{(t)}.

It’s easy to see that every classical query is recorded by the adversary. That is, |ϕ\ket{\phi} has the same contents in 𝖣𝒜\mathsf{D}_{\mathcal{A}} and 𝖣\mathsf{D}_{{\mathcal{R}}}. From Proposition 2,

|𝖯𝗋[𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,ρs(t))) accepts]𝖯𝗋[𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,ρs(t))) accepts]|\displaystyle\left|\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\rho_{s}^{(t)}))\text{ accepts}\right]-\mathsf{Pr}\left[\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}}(pk,(s,\rho_{s}^{(t)}))\text{ accepts}\right]\right|
\displaystyle\leq 6q(Tr(O|ϕϕ|)Tr(OU𝖵𝖾𝗋~|ϕϕ|U𝖵𝖾𝗋~))\displaystyle 6\sqrt{q\left(\mathrm{Tr}(O\ket{\phi}\!\bra{\phi})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}\ket{\phi}\!\bra{\phi}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})\right)}

Denote U𝖴𝗉𝖽~{\widetilde{U_{\mathsf{Upd}}}} to be unitary that describes our update phase in the compressed view. Formally, U𝖴𝗉𝖽~=𝖢𝗈𝗆𝗉U𝖴𝗉𝖽𝖣𝖾𝖼𝗈𝗆𝗉=j=0N(n)1(U𝖵𝖾𝗋~U𝖲𝗒𝗇~)j|jj|𝖩{\widetilde{U_{\mathsf{Upd}}}}=\mathsf{Comp}U_{\mathsf{Upd}}\mathsf{Decomp}=\sum_{j=0}^{N(n)-1}({\widetilde{U_{\mathsf{Ver}}^{\prime}}}{\widetilde{U_{\mathsf{Syn}}}})^{j}\otimes\ket{j}\!\bra{j}_{\mathsf{J}} where U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}^{\prime}}} is running on the state synthesized by U𝖲𝗒𝗇~{\widetilde{U_{\mathsf{Syn}}}}.

Let |ψ\ket{\psi} be the whole pure state we obtain by applying the unitaries U𝖪𝖾𝗒𝖦𝖾𝗇~{\widetilde{U_{\mathsf{KeyGen}}}}, U𝖬𝗂𝗇𝗍~{\widetilde{U_{\mathsf{Mint}}}} and U𝖳𝖾𝗌𝗍~:=𝖢𝗈𝗆𝗉U𝖳𝖾𝗌𝗍𝖣𝖾𝖼𝗈𝗆𝗉{\widetilde{U_{\mathsf{Test}}}}:=\mathsf{Comp}U_{\mathsf{Test}}\mathsf{Decomp} to the state |1n|𝖣𝒜|𝖥|𝖣1T(n)t=0T(n)1|t𝖳1N(n)j=0N(n)1|j𝖩\ket{1^{n}}\ket{\emptyset}_{\mathsf{D}_{\mathcal{A}}}\ket{\emptyset}_{\mathsf{F}}\ket{\emptyset}_{\mathsf{D}_{{\mathcal{R}}}}\frac{1}{\sqrt{T(n)}}\sum_{t=0}^{T(n)-1}\ket{t}_{\mathsf{T}}\frac{1}{\sqrt{N(n)}}\sum_{j=0}^{N(n)-1}\ket{j}_{\mathsf{J}} along with enough ancillas (i.e. running the compressed version of the first step of “𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,)){\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\cdot))} on ρs(t){\rho_{s}^{(t)}}” until the end of the test phase of 𝒜\mathcal{A}). That is to say, |ϕ=U𝖲𝗒𝗇2U𝖲𝗒𝗇1U𝖴𝗉𝖽~|ψ\ket{\phi}=U_{\mathsf{Syn}_{2}}U_{\mathsf{Syn}_{1}}{\widetilde{U_{\mathsf{Upd}}}}\ket{\psi} where U𝖲𝗒𝗇iU_{\mathsf{Syn}_{i}} synthesizes the ithi^{th} alleged banknote. Notice that U𝖲𝗒𝗇iU_{\mathsf{Syn}_{i}} only reads the public key, the serial number and acts on 𝖣𝒜\mathsf{D}_{\mathcal{A}} and some fresh ancillas. So U𝖲𝗒𝗇iU_{\mathsf{Syn}_{i}} commutes with OO and U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}}. (Recall that U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} is the one that does not record queries for 𝒜\mathcal{A}. That is, it does not act on 𝖣𝒜\mathsf{D}_{\mathcal{A}}.) Thus

Tr(O|ϕϕ|)Tr(OU𝖵𝖾𝗋~|ϕϕ|U𝖵𝖾𝗋~)\displaystyle\mathrm{Tr}(O\ket{\phi}\!\bra{\phi})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}\ket{\phi}\!\bra{\phi}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})
=\displaystyle= Tr(OU𝖲𝗒𝗇2~U𝖲𝗒𝗇1~U𝖴𝗉𝖽~|ψψ|U𝖴𝗉𝖽~U𝖲𝗒𝗇1~U𝖲𝗒𝗇2~)Tr(OU𝖵𝖾𝗋~U𝖲𝗒𝗇2~U𝖲𝗒𝗇1~U𝖴𝗉𝖽~|ψψ|U𝖴𝗉𝖽~U𝖲𝗒𝗇1~U𝖲𝗒𝗇2~U𝖵𝖾𝗋~)\displaystyle\mathrm{Tr}(O{\widetilde{U_{\mathsf{Syn}_{2}}}}{\widetilde{U_{\mathsf{Syn}_{1}}}}{\widetilde{U_{\mathsf{Upd}}}}\ket{\psi}\!\bra{\psi}{\widetilde{U_{\mathsf{Upd}}}}^{\dagger}{\widetilde{U_{\mathsf{Syn}_{1}}}}^{\dagger}{\widetilde{U_{\mathsf{Syn}_{2}}}}^{\dagger})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}{\widetilde{U_{\mathsf{Syn}_{2}}}}{\widetilde{U_{\mathsf{Syn}_{1}}}}{\widetilde{U_{\mathsf{Upd}}}}\ket{\psi}\!\bra{\psi}{\widetilde{U_{\mathsf{Upd}}}}^{\dagger}{\widetilde{U_{\mathsf{Syn}_{1}}}}^{\dagger}{\widetilde{U_{\mathsf{Syn}_{2}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})
=\displaystyle= Tr(OU𝖴𝗉𝖽~|ψψ|U𝖴𝗉𝖽~)Tr(OU𝖵𝖾𝗋~U𝖴𝗉𝖽~|ψψ|U𝖴𝗉𝖽~U𝖵𝖾𝗋~)\displaystyle\mathrm{Tr}(O{\widetilde{U_{\mathsf{Upd}}}}\ket{\psi}\!\bra{\psi}{\widetilde{U_{\mathsf{Upd}}}}^{\dagger})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}{\widetilde{U_{\mathsf{Upd}}}}\ket{\psi}\!\bra{\psi}{\widetilde{U_{\mathsf{Upd}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})

The next step is to bound the decrement of the pairs in 𝖥\mathsf{F} during the verification on U𝖴𝗉𝖽~|ψ{\widetilde{U_{\mathsf{Upd}}}}\ket{\psi}. However, the update phase between U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} and the randomized number of verifications in the test phase may bring some trouble. So we give the following lemma, which is the counterpart of the fact that in the classical case, the number of queries in D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇DkD_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}-D_{k} asked during a verification is no more than the number of queries in D𝖬𝗂𝗇𝗍D𝖪𝖾𝗒𝖦𝖾𝗇DD_{\mathsf{Mint}}\cup D_{\mathsf{KeyGen}}-D asked during a verification.

Lemma 7.

We use the same notation as above. Then

Tr(OU𝖴𝗉𝖽~|ψψ|U𝖴𝗉𝖽~)Tr(OU𝖵𝖾𝗋~U𝖴𝗉𝖽~|ψψ|U𝖴𝗉𝖽~U𝖵𝖾𝗋~)\displaystyle\mathrm{Tr}(O{\widetilde{U_{\mathsf{Upd}}}}\ket{\psi}\!\bra{\psi}{\widetilde{U_{\mathsf{Upd}}}}^{\dagger})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}{\widetilde{U_{\mathsf{Upd}}}}\ket{\psi}\!\bra{\psi}{\widetilde{U_{\mathsf{Upd}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})
\displaystyle\leq Tr(O|ψψ|)Tr(OU𝖵𝖾𝗋~|ψψ|U𝖵𝖾𝗋~)\displaystyle\mathrm{Tr}(O\ket{\psi}\!\bra{\psi})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}\ket{\psi}\!\bra{\psi}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})

The proof of the lemma is deferred to Appendix B.

Now let’s bound the decrement of the pairs in 𝖥\mathsf{F} during the verification. From Lemma 7,

|𝖯𝗋[𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,ρs(t))) accepts]𝖯𝗋[𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,ρs(t))) accepts]|\displaystyle\left|\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\rho_{s}^{(t)}))\text{ accepts}\right]-\mathsf{Pr}\left[\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}}(pk,(s,\rho_{s}^{(t)}))\text{ accepts}\right]\right|
\displaystyle\leq 6q(Tr(OU𝖴𝗉𝖽~|ψψ|U𝖴𝗉𝖽~)Tr(OU𝖵𝖾𝗋~U𝖴𝗉𝖽~|ψψ|U𝖴𝗉𝖽~U𝖵𝖾𝗋~))\displaystyle 6\sqrt{q\left(\mathrm{Tr}(O{\widetilde{U_{\mathsf{Upd}}}}\ket{\psi}\!\bra{\psi}{\widetilde{U_{\mathsf{Upd}}}}^{\dagger})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}{\widetilde{U_{\mathsf{Upd}}}}\ket{\psi}\!\bra{\psi}{\widetilde{U_{\mathsf{Upd}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})\right)}
\displaystyle\leq 6q(Tr(O|ψψ|)Tr(OU𝖵𝖾𝗋~|ψψ|U𝖵𝖾𝗋~))\displaystyle 6\sqrt{q\left(\mathrm{Tr}(O\ket{\psi}\!\bra{\psi})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}\ket{\psi}\!\bra{\psi}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})\right)}
=\displaystyle= 6q(Tr(O|ψψ|)Tr(OU𝖵𝖾𝗋~|ψψ|U𝖵𝖾𝗋~))\displaystyle 6\sqrt{q\left(\mathrm{Tr}(O\ket{\psi}\!\bra{\psi})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}^{\prime}}}\ket{\psi}\!\bra{\psi}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})\right)}

where we use the fact that U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}^{\prime}}} is the same as U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} except that it records the query-answer pairs for 𝒜\mathcal{A}.

Note that we can also write |ψ\ket{\psi} as 1T(n)t=0T(n)1|ψ(t)|t𝖳\frac{1}{\sqrt{T(n)}}\sum_{t=0}^{T(n)-1}\ket{\psi^{(t)}}\ket{t}_{\mathsf{T}} where |ψ(t)\ket{\psi^{(t)}} is the state after we run tt iterations in the test phase. Then |ψ(t+1)=U𝖵𝖾𝗋~|ψ(t)\ket{\psi^{(t+1)}}={\widetilde{U_{\mathsf{Ver}}^{\prime}}}\ket{\psi^{(t)}}. As OO and U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}^{\prime}}} do not run on 𝖳\mathsf{T}, tracing out 𝖳\mathsf{T} does not change the quantity. Therefore,

|𝖯𝗋[𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,ρs(t))) accepts]𝖯𝗋[𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,ρs(t))) accepts]|\displaystyle\left|\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\rho_{s}^{(t)}))\text{ accepts}\right]-\mathsf{Pr}\left[\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}}(pk,(s,\rho_{s}^{(t)}))\text{ accepts}\right]\right|
\displaystyle\leq 6q(Tr(O|ψψ|)Tr(OU𝖵𝖾𝗋~|ψψ|U𝖵𝖾𝗋~))\displaystyle 6\sqrt{q\left(\mathrm{Tr}(O\ket{\psi}\!\bra{\psi})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}^{\prime}}}\ket{\psi}\!\bra{\psi}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})\right)}
=\displaystyle= 6q(Tr(OTr𝖳(|ψψ|))Tr(OU𝖵𝖾𝗋~Tr𝖳(|ψψ|)U𝖵𝖾𝗋~))\displaystyle 6\sqrt{q\left(\mathrm{Tr}(O\mathrm{Tr}_{\mathsf{T}}(\ket{\psi}\!\bra{\psi}))-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}^{\prime}}}\mathrm{Tr}_{\mathsf{T}}(\ket{\psi}\!\bra{\psi}){\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})\right)}
=\displaystyle= 6q(1T(n)t=0T(n)1Tr(O|ψ(t)ψ(t)|)1T(n)t=0T(n)1Tr(OU𝖵𝖾𝗋~|ψ(t)ψ(t)|U𝖵𝖾𝗋~))\displaystyle 6\sqrt{q\left(\frac{1}{T(n)}\sum_{t=0}^{T(n)-1}\mathrm{Tr}\left(O\ket{\psi^{(t)}}\!\bra{\psi^{(t)}}\right)-\frac{1}{T(n)}\sum_{t=0}^{T(n)-1}\mathrm{Tr}\left(O{\widetilde{U_{\mathsf{Ver}}^{\prime}}}\ket{\psi^{(t)}}\!\bra{\psi^{(t)}}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger}\right)\right)}
=\displaystyle= 6q(1T(n)t=0T(n)1Tr(O|ψ(t)ψ(t)|)1T(n)t=0T(n)1Tr(O|ψ(t+1)ψ(t+1)|))\displaystyle 6\sqrt{q\left(\frac{1}{T(n)}\sum_{t=0}^{T(n)-1}\mathrm{Tr}\left(O\ket{\psi^{(t)}}\!\bra{\psi^{(t)}}\right)-\frac{1}{T(n)}\sum_{t=0}^{T(n)-1}\mathrm{Tr}\left(O\ket{\psi^{(t+1)}}\!\bra{\psi^{(t+1)}}\right)\right)}
\displaystyle\leq 6qT(n)Tr(O|ψ(0)ψ(0)|)\displaystyle 6\sqrt{\frac{q}{T(n)}\mathrm{Tr}\left(O\ket{\psi^{(0)}}\!\bra{\psi^{(0)}}\right)}
\displaystyle\leq 6qqT(n)\displaystyle 6\sqrt{\frac{qq^{\prime}}{T(n)}}

where we use the property of compressed oracle techniques that after q(n)q^{\prime}(n) quantum queries, there are at most q(n)q^{\prime}(n) non-0^\hat{0} elements in 𝖥\mathsf{F}. |ψ(0)\ket{\psi^{(0)}} is just the state we obtain after we run 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint} (so there are at most q(n)q^{\prime}(n) quantum queries) and then apply the unitary 𝖢𝗈𝗆𝗉\mathsf{Comp}. So there are at most q(n)q^{\prime}(n) pairs in 𝖥\mathsf{F} of |ψ(0)\ket{\psi^{(0)}}. Hence Tr(O|ψ(0)ψ(0)|)q(n)\mathrm{Tr}\left(O\ket{\psi^{(0)}}\!\bra{\psi^{(0)}}\right)\leq q^{\prime}(n).

The next claim is an analog of summing over kk of 6 to get a bound for how well 𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}} behaves on σDj\sigma_{D_{j}}. The intuition of the proof is similar to 7.

Claim 8.
|𝖯𝗋[𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,σDj)) accepts]𝖯𝗋[𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,σDj)) accepts]|6q(n)q(n)N(n)\left|\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\sigma_{D_{j}}))\text{ accepts}\right]-\mathsf{Pr}\left[\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}}(pk,(s,\sigma_{D_{j}}))\text{ accepts}\right]\right|\leq 6\sqrt{\frac{q(n)q^{\prime}(n)}{N(n)}}

where the probabilities are taken over the randomness of {\mathcal{R}}, the randomness of the inputs to the adversary and the randomness of the adversary (so tt and jj are both randomized).

Proof.

Similar to the proof of 7, these two probabilities can be analyzed by running a sequence of algorithms specificed in Section 6.1 in the compressed view. Let |ϕ\ket{\phi} be the same state as in 7 except that now 𝖬\mathsf{M} is the first output register of 𝒜\mathcal{A} (corresponding to the first synthesized state σDj\sigma_{D_{j}}). Let |ψ\ket{\psi} be the state we obtain by running the compressed version of the first step of “𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,)){\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\cdot))} on ρs(t){\rho_{s}^{(t)}}” in Section 6.1 until the end of the update phase of 𝒜\mathcal{A}. That is to say, |ϕ=U𝖲𝗒𝗇2U𝖲𝗒𝗇1|ψ\ket{\phi}=U_{\mathsf{Syn}_{2}}U_{\mathsf{Syn}_{1}}\ket{\psi}. Then |ϕ\ket{\phi} has the same contents in 𝖣𝒜\mathsf{D}_{\mathcal{A}} and 𝖣\mathsf{D}_{{\mathcal{R}}}.

Recall that U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} and U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}^{\prime}}} both run the verification for the state in 𝖬\mathsf{M}, i.e. the first synthesized state σDj\sigma_{D_{j}}. Recall the fact that U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}^{\prime}}} is the same as U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} except that it also records query-answer pairs for 𝒜\mathcal{A} and that OO only acts on 𝖥\mathsf{F}. From Proposition 2,

|𝖯𝗋[𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,σDj)) accepts]𝖯𝗋[𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,σDj)) accepts]|\displaystyle\left|\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\sigma_{D_{j}}))\text{ accepts}\right]-\mathsf{Pr}\left[\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}}(pk,(s,\sigma_{D_{j}}))\text{ accepts}\right]\right|
\displaystyle\leq 6q(Tr(O|ϕϕ|)Tr(OU𝖵𝖾𝗋~|ϕϕ|U𝖵𝖾𝗋~))\displaystyle 6\sqrt{q\left(\mathrm{Tr}(O\ket{\phi}\!\bra{\phi})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}\ket{\phi}\!\bra{\phi}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})\right)}
=\displaystyle= 6q(Tr(OU𝖲𝗒𝗇2U𝖲𝗒𝗇1|ψψ|U𝖲𝗒𝗇1U𝖲𝗒𝗇2)Tr(OU𝖵𝖾𝗋~U𝖲𝗒𝗇2U𝖲𝗒𝗇1|ψψ|U𝖲𝗒𝗇1U𝖲𝗒𝗇2U𝖵𝖾𝗋~))\displaystyle 6\sqrt{q\left(\mathrm{Tr}(OU_{\mathsf{Syn}_{2}}U_{\mathsf{Syn}_{1}}\ket{\psi}\!\bra{\psi}U_{\mathsf{Syn}_{1}}^{\dagger}U_{\mathsf{Syn}_{2}}^{\dagger})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}U_{\mathsf{Syn}_{2}}U_{\mathsf{Syn}_{1}}\ket{\psi}\!\bra{\psi}U_{\mathsf{Syn}_{1}}U_{\mathsf{Syn}_{2}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})\right)}
=\displaystyle= 6q(Tr(O|ψψ|)Tr(OU𝖵𝖾𝗋~U𝖲𝗒𝗇1|ψψ|U𝖲𝗒𝗇1U𝖵𝖾𝗋~))\displaystyle 6\sqrt{q\left(\mathrm{Tr}(O\ket{\psi}\!\bra{\psi})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}U_{\mathsf{Syn}_{1}}\ket{\psi}\!\bra{\psi}U_{\mathsf{Syn}_{1}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})\right)}
=\displaystyle= 6q(Tr(O|ψψ|)Tr(OU𝖵𝖾𝗋~U𝖲𝗒𝗇1|ψψ|U𝖲𝗒𝗇1U𝖵𝖾𝗋~))\displaystyle 6\sqrt{q\left(\mathrm{Tr}(O\ket{\psi}\!\bra{\psi})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}^{\prime}}}U_{\mathsf{Syn}_{1}}\ket{\psi}\!\bra{\psi}U_{\mathsf{Syn}_{1}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})\right)}

This is because U𝖲𝗒𝗇2U_{\mathsf{Syn}_{2}} acts on the second output register, and thus it commutes with U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} (it verifies the first output state). Moreover, both U𝖲𝗒𝗇1U_{\mathsf{Syn}_{1}} and U𝖲𝗒𝗇2U_{\mathsf{Syn}_{2}} do not act on 𝖥\mathsf{F}, and thus commute with OO.

Note that we can write |ψ=1N(n)j=0N(n)1|ψ(j)|j𝖩\ket{\psi}=\frac{1}{\sqrt{N(n)}}\sum_{j=0}^{N(n)-1}\ket{\psi^{(j)}}\ket{j}_{\mathsf{J}} where |ψ(j)\ket{\psi^{(j)}} is the state we obtain after we run a randomized number of iterations in the test phase and jj iterations in the update phase. Then |ψ(j+1)=U𝖵𝖾𝗋~U𝖲𝗒𝗇|ψ(j)\ket{\psi^{(j+1)}}={\widetilde{U_{\mathsf{Ver}}^{\prime}}}U_{\mathsf{Syn}}\ket{\psi^{(j)}}. Notice that OO, U𝖲𝗒𝗇1U_{\mathsf{Syn}_{1}} and U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}^{\prime}}} do not run on 𝖩\mathsf{J}. So tracing out 𝖩\mathsf{J} won’t change the value. Therefore,

|𝖯𝗋[𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,σDj)) accepts]𝖯𝗋[𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,σDj)) accepts]|\displaystyle\left|\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\sigma_{D_{j}}))\text{ accepts}\right]-\mathsf{Pr}\left[\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}}(pk,(s,\sigma_{D_{j}}))\text{ accepts}\right]\right|
\displaystyle\leq 6q(Tr(O|ψψ|)Tr(OU𝖵𝖾𝗋~U𝖲𝗒𝗇1|ψψ|U𝖲𝗒𝗇1U𝖵𝖾𝗋~))\displaystyle 6\sqrt{q\left(\mathrm{Tr}(O\ket{\psi}\!\bra{\psi})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}^{\prime}}}U_{\mathsf{Syn}_{1}}\ket{\psi}\!\bra{\psi}U_{\mathsf{Syn}_{1}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})\right)}
=\displaystyle= 6q(Tr(OTr𝖩(|ψψ|))Tr(OU𝖵𝖾𝗋~U𝖲𝗒𝗇1Tr𝖩(|ψψ|)U𝖲𝗒𝗇1U𝖵𝖾𝗋~))\displaystyle 6\sqrt{q\left(\mathrm{Tr}(O\mathrm{Tr}_{\mathsf{J}}(\ket{\psi}\!\bra{\psi}))-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}^{\prime}}}U_{\mathsf{Syn}_{1}}\mathrm{Tr}_{\mathsf{J}}(\ket{\psi}\!\bra{\psi})U_{\mathsf{Syn}_{1}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})\right)}
=\displaystyle= 6q(1N(n)j=0N(n)1Tr(O|ψ(j)ψ(j)|)1N(n)j=0N(n)1Tr(OU𝖵𝖾𝗋~U𝖲𝗒𝗇1|ψ(j)ψ(j)|U𝖲𝗒𝗇1U𝖵𝖾𝗋~))\displaystyle 6\sqrt{q\left(\frac{1}{N(n)}\sum_{j=0}^{N(n)-1}\mathrm{Tr}\left(O\ket{\psi^{(j)}}\!\bra{\psi^{(j)}}\right)-\frac{1}{N(n)}\sum_{j=0}^{N(n)-1}\mathrm{Tr}\left(O{\widetilde{U_{\mathsf{Ver}}^{\prime}}}U_{\mathsf{Syn}_{1}}\ket{\psi^{(j)}}\!\bra{\psi^{(j)}}U_{\mathsf{Syn}_{1}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger}\right)\right)}
=\displaystyle= 6q(1N(n)j=0N(n)1Tr(O|ψ(j)ψ(j)|)1N(n)j=0N(n)1Tr(O|ψ(j+1)ψ(j+1)|))\displaystyle 6\sqrt{q\left(\frac{1}{N(n)}\sum_{j=0}^{N(n)-1}\mathrm{Tr}\left(O\ket{\psi^{(j)}}\!\bra{\psi^{(j)}}\right)-\frac{1}{N(n)}\sum_{j=0}^{N(n)-1}\mathrm{Tr}\left(O\ket{\psi^{(j+1)}}\!\bra{\psi^{(j+1)}}\right)\right)}
\displaystyle\leq 6qN(n)Tr(O|ψ(0)ψ(0)|)\displaystyle 6\sqrt{\frac{q}{N(n)}\mathrm{Tr}\left(O\ket{\psi^{(0)}}\!\bra{\psi^{(0)}}\right)}
\displaystyle\leq 6qqN(n)\displaystyle 6\sqrt{\frac{qq^{\prime}}{N(n)}}

where we use the property of compressed oracle techniques that after q(n)q^{\prime}(n) quantum queries, there are at most q(n)q^{\prime}(n) non-0^\hat{0} elements in 𝖥\mathsf{F}. |ψ(0)\ket{\psi^{(0)}} is just the state we obtain after we run 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint} (so there are at most q(n)q^{\prime}(n) quantum queries) and run the test phase of 𝒜\mathcal{A} (only classical queries with recording) in the compressed view. By the description of UR~{\widetilde{U_{R}}}, the number of pairs in 𝖥\mathsf{F} can not increase when we make classical queries and record them. So there are at most q(n)q^{\prime}(n) pairs in 𝖥\mathsf{F} of |ψ(0)\ket{\psi^{(0)}}. Hence Tr(O|ψ(0)ψ(0)|)q(n)\mathrm{Tr}\left(O\ket{\psi^{(0)}}\!\bra{\psi^{(0)}}\right)\leq q^{\prime}(n). ∎

Now let’s combine the above results to prove Theorem 8.

Proof.

Let ϵ=0.01\epsilon=0.01, b=11δr+ϵb=1-\sqrt{1-\delta_{r}+\epsilon}, a=0.99ba=0.99b, T(n)=36q(n)q(n)ϵ2T(n)=\frac{36q(n)q^{\prime}(n)}{\epsilon^{2}} and N(n)=q(n)q(n)ϵ2(11δr+ϵ)4N(n)=\frac{q(n)q^{\prime}(n)}{\epsilon^{2}(1-\sqrt{1-\delta_{r}+\epsilon})^{4}}.

From 7, 𝖯𝗋[𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,ρs(t))) accepts]δrϵ\mathsf{Pr}\left[\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}}(pk,(s,\rho_{s}^{(t)}))\text{ accepts}\right]\geq\delta_{r}-\epsilon. Hence using the same argument in 5, 𝖯𝗋[𝖵𝖾𝗋Dj,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,σDj)) accepts]0.99(11δr+ϵ)2\mathsf{Pr}\left[\mathsf{Ver}^{D_{j},\ket{\mathsf{PSPACE}}}(pk,(s,\sigma_{D_{j}}))\text{ accepts}\right]\geq 0.99(1-\sqrt{1-\delta_{r}+\epsilon})^{2}. From 8, 𝖯𝗋[𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,σDj)) accepts]0.99(11δr+ϵ)26q(n)q(n)N(n)0.9(11δr+ϵ)2.\mathsf{Pr}\left[\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\sigma_{D_{j}}))\text{ accepts}\right]\geq 0.99(1-\sqrt{1-\delta_{r}+\epsilon})^{2}-6\sqrt{\frac{q(n)q^{\prime}(n)}{N(n)}}\geq 0.9(1-\sqrt{1-\delta_{r}+\epsilon})^{2}. Thus by union bound, the outputs of our adversary pass two verifications simultaneously with probability at least 1.8(11δr+ϵ)211.8(1-\sqrt{1-\delta_{r}+\epsilon})^{2}-1, which is non-negligible when δr0.99\delta_{r}\geq 0.99. ∎

That is, the adversary we construct gives a valid attack to (𝖪𝖾𝗒𝖦𝖾𝗇|,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖬𝗂𝗇𝗍|,|𝖯𝖲𝖯𝖠𝖢𝖤,𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤)(\mathsf{KeyGen}^{{\ket{{\mathcal{R}}}},\ket{\mathsf{PSPACE}}},\mathsf{Mint}^{{\ket{{\mathcal{R}}}},\ket{\mathsf{PSPACE}}},\allowbreak\mathsf{Ver}^{{{\mathcal{R}}},\ket{\mathsf{PSPACE}}}) where δr0.99\delta_{r}\geq 0.99 and δs=𝗇𝖾𝗀𝗅(n)\delta_{s}=\mathsf{negl}(n), which establishes Theorem 7.

References

  • [AA09] Scott Aaronson and Andris Ambainis “The need for structure in quantum speedups” In arXiv preprint arXiv:0911.0996, 2009
  • [Aar09] Scott Aaronson “Quantum copy-protection and quantum money” In 24th Annual IEEE Conference on Computational Complexity IEEE Computer Soc., Los Alamitos, CA, 2009, pp. 229–242 DOI: 10.1109/CCC.2009.42
  • [AC13] Scott Aaronson and Paul Christiano “Quantum money from hidden subspaces” In Theory Comput. 9, 2013, pp. 349–401 DOI: 10.4086/toc.2013.v009a009
  • [ACC+22] Per Austrin et al. “On the Impossibility of Key Agreements from Quantum Random Oracles” In Cryptology ePrint Archive, 2022
  • [AJL+19] Prabhanjan Ananth et al. “Indistinguishability obfuscation without multilinear maps: new paradigms via low degree weak pseudorandomness and security amplification” In Annual International Cryptology Conference, 2019, pp. 284–332 Springer
  • [AK22] Prabhanjan Ananth and Fatih Kaleoglu “A Note on Copy-Protection from Random Oracles” https://eprint.iacr.org/2022/1109, Cryptology ePrint Archive, Paper 2022/1109, 2022 URL: https://eprint.iacr.org/2022/1109
  • [AKL+22] Prabhanjan Ananth et al. “On the feasibility of unclonable encryption, and more” In Annual International Cryptology Conference, 2022, pp. 212–241 Springer
  • [AL21] Prabhanjan Ananth and Rolando L La Placa “Secure Software Leasing” In Eurocrypt, 2021
  • [BDG22] Andriyan Bilyk, Javad Doliskani and Zhiyong Gong “Cryptanalysis of Three Quantum Money Schemes” In arXiv preprint arXiv:2205.10488, 2022
  • [BDGM20] Zvika Brakerski, Nico Döttling, Sanjam Garg and Giulio Malavolta “Factoring and pairings are not necessary for iO: circular-secure LWE suffices” In Cryptology ePrint Archive, 2020
  • [BDV17] Nir Bitansky, Akshay Degwekar and Vinod Vaikuntanathan “Structure vs. hardness through the obfuscation lens” In Annual International Cryptology Conference, 2017, pp. 696–723 Springer
  • [BGI+01] Boaz Barak et al. “On the (im) possibility of obfuscating programs” In Annual international cryptology conference, 2001, pp. 1–18 Springer
  • [BGS13] Anne Broadbent, Gus Gutoski and Douglas Stebila “Quantum one-time programs” In Annual Cryptology Conference, 2013, pp. 344–360 Springer
  • [BI20] Anne Broadbent and Rabib Islam “Quantum encryption with certified deletion” In Theory of Cryptography Conference, 2020, pp. 92–122 Springer
  • [BL20] Anne Broadbent and Sébastien Lord “Uncloneable Quantum Encryption via Oracles” In 15th Conference on the Theory of Quantum Computation, Communication and Cryptography (TQC 2020) 158, Leibniz International Proceedings in Informatics (LIPIcs) Dagstuhl, Germany: Schloss Dagstuhl–Leibniz-Zentrum für Informatik, 2020, pp. 4:1–4:22 DOI: 10.4230/LIPIcs.TQC.2020.4
  • [BM09] Boaz Barak and Mohammad Mahmoody-Ghidary “Merkle puzzles are optimal—an o (n 2)-query attack on any key exchange from a random oracle” In Annual International Cryptology Conference, 2009, pp. 374–390 Springer
  • [BPR+08] Dan Boneh et al. “On the impossibility of basing identity based encryption on trapdoor permutations” In 2008 49th Annual IEEE Symposium on Foundations of Computer Science, 2008, pp. 283–292 IEEE
  • [BS16] Shalev Ben-David and Or Sattath “Quantum tokens for digital signatures” In arXiv preprint arXiv:1609.09047, 2016
  • [CKP15] Ran Canetti, Yael Tauman Kalai and Omer Paneth “On obfuscation with random oracles” In Theory of Cryptography Conference, 2015, pp. 456–467 Springer
  • [CLLZ21] Andrea Coladangelo, Jiahui Liu, Qipeng Liu and Mark Zhandry “Hidden cosets and applications to unclonable cryptography” In Annual International Cryptology Conference, 2021, pp. 556–584 Springer
  • [CMP20] Andrea Coladangelo, Christian Majenz and Alexander Poremba “Quantum copy-protection of compute-and-compare programs in the quantum random oracle model” In arXiv preprint arXiv:2009.13865, 2020
  • [CMSZ22] Alessandro Chiesa, Fermi Ma, Nicholas Spooner and Mark Zhandry “Post-quantum succinct arguments: breaking the quantum rewinding barrier” In 2021 IEEE 62nd Annual Symposium on Foundations of Computer Science—FOCS 2021 IEEE Computer Soc., Los Alamitos, CA, [2022] ©2022, pp. 49–58 DOI: 10.1109/FOCS52979.2021.00014
  • [CX21] Shujiao Cao and Rui Xue “Being a permutation is also orthogonal to one-wayness in quantum world: Impossibilities of quantum one-way permutations from one-wayness primitives” In Theoretical Computer Science 855 Elsevier, 2021, pp. 16–42
  • [DG17] Nico Döttling and Sanjam Garg “Identity-based encryption from the Diffie-Hellman assumption” In Annual International Cryptology Conference, 2017, pp. 537–569 Springer
  • [Die82] DGBJ Dieks “Communication by EPR devices” In Physics Letters A 92.6 Elsevier, 1982, pp. 271–272
  • [DLMM11] Dana Dachman-Soled, Yehuda Lindell, Mohammad Mahmoody and Tal Malkin “On the black-box complexity of optimally-fair coin tossing” In Theory of Cryptography Conference, 2011, pp. 450–467 Springer
  • [DQV+21] Lalita Devadas et al. “Succinct LWE sampling, random polynomials, and obfuscation” In Theory of Cryptography Conference, 2021, pp. 256–287 Springer
  • [FGH+12] Edward Farhi et al. “Quantum money from knots” In Proceedings of the 3rd Innovations in Theoretical Computer Science Conference, 2012, pp. 276–289
  • [GKLM12] Vipul Goyal, Virendra Kumar, Satya Lokam and Mohammad Mahmoody “On black-box reductions between predicate encryption schemes” In Theory of Cryptography Conference, 2012, pp. 440–457 Springer
  • [GKM+00] Yael Gertner et al. “The relationship between public key encryption and oblivious transfer” In Proceedings 41st Annual Symposium on Foundations of Computer Science, 2000, pp. 325–335 IEEE
  • [GP21] Romain Gay and Rafael Pass “Indistinguishability obfuscation from circular security” In Proceedings of the 53rd Annual ACM SIGACT Symposium on Theory of Computing, 2021, pp. 736–749
  • [GZ20] Marios Georgiou and Mark Zhandry “Unclonable decryption keys” In Cryptology ePrint Archive, 2020
  • [HJL21] Sam Hopkins, Aayush Jain and Huijia Lin “Counterexamples to new circular security assumptions underlying iO” In Annual International Cryptology Conference, 2021, pp. 673–700 Springer
  • [HY20] Akinori Hosoyamada and Takashi Yamakawa “Finding collisions in a quantum world: quantum black-box separation of collision-resistance and one-wayness” In International Conference on the Theory and Application of Cryptology and Information Security, 2020, pp. 3–32 Springer
  • [IR90] Russell Impagliazzo and Steven Rudich “Limits on the provable consequences of one-way permutations” In Advances in cryptology—CRYPTO ’88 (Santa Barbara, CA, 1988) 403, Lecture Notes in Comput. Sci. Springer, Berlin, 1990, pp. 8–26 DOI: 10.1007/0-387-34799-2\_2
  • [JLS18] Zhengfeng Ji, Yi-Kai Liu and Fang Song “Pseudorandom quantum states” In Annual International Cryptology Conference, 2018, pp. 126–152 Springer
  • [JLS21] Aayush Jain, Huijia Lin and Amit Sahai “Indistinguishability obfuscation from well-founded assumptions” In Proceedings of the 53rd Annual ACM SIGACT Symposium on Theory of Computing, 2021, pp. 60–73
  • [JLS22] Aayush Jain, Huijia Lin and Amit Sahai “Indistinguishability Obfuscation from LPN over, DLIN, and PRGs in NC” In Annual International Conference on the Theory and Applications of Cryptographic Techniques, 2022, pp. 670–699 Springer
  • [KLS22] Andrey Boris Khesin, Jonathan Z Lu and Peter W Shor “Publicly verifiable quantum money from random lattices” In arXiv preprint arXiv:2207.13135, 2022
  • [KSS21] Daniel M Kane, Shahed Sharif and Alice Silverberg “Quantum money from quaternion algebras” In arXiv preprint arXiv:2109.12643, 2021
  • [Lut10] Andrew Lutomirski “An online attack against Wiesner’s quantum money” In arXiv preprint arXiv:1010.0256, 2010
  • [MVW12] Abel Molina, Thomas Vidick and John Watrous “Optimal counterfeiting attacks and generalizations for Wiesner’s quantum money” In Conference on Quantum Computation, Communication, and Cryptography, 2012, pp. 45–64 Springer
  • [MW05] Chris Marriott and John Watrous “Quantum arthur–merlin games” In computational complexity 14.2 Springer, 2005, pp. 122–152
  • [NC00] Michael A. Nielsen and Isaac L. Chuang “Quantum computation and quantum information” Cambridge University Press, Cambridge, 2000, pp. xxvi+676
  • [Pap94] Christos H. Papadimitriou “Computational Complexity” Addison-Wesley, 1994
  • [PRV12] Periklis A Papakonstantinou, Charles W Rackoff and Yevgeniy Vahlis “How powerful are the DDH hard groups?” In Cryptology ePrint Archive, 2012
  • [Rob21] Bhaskar Roberts “Security analysis of quantum lightning” In Annual International Conference on the Theory and Applications of Cryptographic Techniques, 2021, pp. 562–567 Springer
  • [RS22] Roy Radian and Or Sattath “Semi-quantum money” In Journal of Cryptology 35.2 Springer, 2022, pp. 1–70
  • [RTV04] Omer Reingold, Luca Trevisan and Salil Vadhan “Notions of reducibility between cryptographic primitives” In Theory of Cryptography Conference, 2004, pp. 1–20 Springer
  • [Rud91] Steven Rudich “The Use of Interaction in Public Cryptosystems.” In Annual International Cryptology Conference, 1991, pp. 242–251 Springer
  • [RY21] Gregory Rosenthal and Henry Yuen “Interactive Proofs for Synthesizing Quantum States and Unitaries” In arXiv preprint arXiv:2108.07192, 2021
  • [Shm22] Omri Shmueli “Public-key Quantum money with a classical bank” In Proceedings of the 54th Annual ACM SIGACT Symposium on Theory of Computing, 2022, pp. 790–803
  • [Shm22a] Omri Shmueli “Semi-Quantum Tokenized Signatures” In Cryptology ePrint Archive, 2022
  • [Sim98] Daniel R Simon “Finding collisions on a one-way street: Can secure hash functions be based on general assumptions?” In International Conference on the Theory and Applications of Cryptographic Techniques, 1998, pp. 334–345 Springer
  • [Unr16] Dominique Unruh “Computationally binding quantum commitments” In Annual International Conference on the Theory and Applications of Cryptographic Techniques, 2016, pp. 497–527 Springer
  • [Wie83] Stephen Wiesner “Conjugate coding” In ACM Sigact News 15.1 ACM New York, NY, USA, 1983, pp. 78–88
  • [Win99] Andreas Winter “Coding theorem and strong converse for quantum channels” In IEEE Transactions on Information Theory 45.7 IEEE, 1999, pp. 2481–2485
  • [WW21] Hoeteck Wee and Daniel Wichs “Candidate obfuscation via oblivious LWE sampling” In Annual International Conference on the Theory and Applications of Cryptographic Techniques, 2021, pp. 127–156 Springer
  • [WZ82] William K Wootters and Wojciech H Zurek “A single quantum cannot be cloned” In Nature 299.5886 Nature Publishing Group, 1982, pp. 802–803
  • [Zha15] Mark Zhandry “A note on the quantum collision and set equality problems” In Quantum Information & Computation 15.7-8 Rinton Press, Incorporated Paramus, NJ, 2015, pp. 557–567
  • [Zha18] Mark Zhandry “How to Record Quantum Queries, and Applications to Quantum Indifferentiability” https://eprint.iacr.org/2018/276, Cryptology ePrint Archive, Paper 2018/276, 2018 URL: https://eprint.iacr.org/2018/276
  • [Zha21] Mark Zhandry “Quantum lightning never strikes the same state twice. Or: quantum money from cryptographic assumptions” In J. Cryptology 34.1, 2021, pp. Paper No. 6\bibrangessep56 DOI: 10.1007/s00145-020-09372-x

Appendix A Missing Proof of Lemma 6

The proof consists of two parts. In the first part, we will bound TD(UC~Uj|ϕjϕj|UjUC~,UDUj|ϕjϕj|UjUD){\operatorname{TD}\left({\widetilde{U_{C}}}U_{j}\ket{\phi_{j}}\!\bra{\phi_{j}}U_{j}^{\dagger}{\widetilde{U_{C}}}^{\dagger},U_{D}^{\prime}U_{j}\ket{\phi_{j}}\!\bra{\phi_{j}}U_{j}^{\dagger}U_{D}^{\prime\dagger}\right)} by the weight of queries inside DFD_{F}. In the second part, we will show that the weight equals the decrement of the number of pairs in 𝖥\mathsf{F} after the query.

Proof.

Let’s begin the first part with some notations.

For 0jq10\leq j\leq q-1, UjU_{j} prepares the (j+1)th(j+1)^{th} query, thus we can write Uj|ϕjU_{j}\ket{\phi_{j}} as follows,

Uj|ϕj=x,DF,D,hs.t. DFD=αx,DF,D,h|x𝖰|0𝖠|DF𝖥|D𝖣|h𝖧U_{j}\ket{\phi_{j}}=\sum_{\begin{subarray}{c}x,D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset\end{subarray}}\alpha_{x,D_{F},D_{{\mathcal{R}}},h}\ket{x}_{\mathsf{Q}}\ket{0}_{\mathsf{A}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}}}_{\mathsf{D}_{{\mathcal{R}}}}\ket{h}_{\mathsf{H}}

where 𝖰\mathsf{Q} is the next query position, 𝖠\mathsf{A} is for the query answer and 𝖧\mathsf{H} contains all other registers including the public key, serial number, 𝖣𝒜\mathsf{D}_{\mathcal{A}}, etc. We can divide these terms into two categories, one is xDFx\notin D_{F}, and the other one is xDFx\in D_{F}. That is, Uj|ϕj=1α|u+α|vU_{j}\ket{\phi_{j}}=\sqrt{1-\alpha}\ket{u}+\sqrt{\alpha}\ket{v} where α:=x,DF,D,hs.t. DFD=,xDF|αx,DF,D,h|2\alpha:=\sum_{\begin{subarray}{c}x,D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset,x\in D_{F}\end{subarray}}\left|\alpha_{x,D_{F},D_{{\mathcal{R}}},h}\right|^{2} is the weight of queries inside DFD_{F},

1α|u=x,DF,D,hs.t. DFD=,xDFαx,DF,D,h|x𝖰|0𝖠|DF𝖥|D𝖣|h𝖧\sqrt{1-\alpha}\ket{u}=\sum_{\begin{subarray}{c}x,D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset,x\notin D_{F}\end{subarray}}\alpha_{x,D_{F},D_{{\mathcal{R}}},h}\ket{x}_{\mathsf{Q}}\ket{0}_{\mathsf{A}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}}}_{\mathsf{D}_{{\mathcal{R}}}}\ket{h}_{\mathsf{H}}
α|v=x,DF,D,hs.t. DFD=,xDFαx,DF,D,h|x𝖰|0𝖠|DF𝖥|D𝖣|h𝖧\sqrt{\alpha}\ket{v}=\sum_{\begin{subarray}{c}x,D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset,x\in D_{F}\end{subarray}}\alpha_{x,D_{F},D_{{\mathcal{R}}},h}\ket{x}_{\mathsf{Q}}\ket{0}_{\mathsf{A}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}}}_{\mathsf{D}_{{\mathcal{R}}}}\ket{h}_{\mathsf{H}}

Recall that

UC~(|x𝖰|0𝖠|DF𝖥|D𝖣)\displaystyle{\widetilde{U_{C}}}(\ket{x}_{\mathsf{Q}}\ket{0}_{\mathsf{A}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}}}_{\mathsf{D}_{{\mathcal{R}}}})
=\displaystyle= {|x𝖰|D(x)𝖠|DF𝖥|D,(x,D(x))𝖣xD|x𝖰12z=01|z𝖠|DF𝖥|D,(x,z)𝖣xD,xDF|x𝖰12z=01(1)zDF(x)^|z𝖠|DFx𝖥|D,(x,z)𝖣xD,xDF\displaystyle\begin{cases}\ket{x}_{\mathsf{Q}}\ket{D_{{\mathcal{R}}}(x)}_{\mathsf{A}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}},(x,D_{{\mathcal{R}}}(x))}_{\mathsf{D}_{{\mathcal{R}}}}&x\in D_{{\mathcal{R}}}\\ \ket{x}_{\mathsf{Q}}\frac{1}{\sqrt{2}}\sum_{z=0}^{1}\ket{z}_{\mathsf{A}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}},(x,z)}_{\mathsf{D}_{{\mathcal{R}}}}&x\notin D_{{\mathcal{R}}},x\notin D_{F}\\ \ket{x}_{\mathsf{Q}}\frac{1}{\sqrt{2}}\sum_{z=0}^{1}(-1)^{z\widehat{D_{F}(x)}}\ket{z}_{\mathsf{A}}\ket{D_{F}-x}_{\mathsf{F}}\ket{D_{{\mathcal{R}}},(x,z)}_{\mathsf{D}_{{\mathcal{R}}}}&x\notin D_{{\mathcal{R}}},x\in D_{F}\end{cases}

So when xDFx\notin D_{F}, UC~{\widetilde{U_{C}}} and UDU_{D}^{\prime} act exactly the same. As a result, UC~|u=UD|u{\widetilde{U_{C}}}\ket{u}=U_{D}^{\prime}\ket{u}. Therefore,

TD(UC~Uj|ϕjϕj|UjUC~,UDUj|ϕjϕj|UjUD)\displaystyle{\operatorname{TD}\left({\widetilde{U_{C}}}U_{j}\ket{\phi_{j}}\!\bra{\phi_{j}}U_{j}^{\dagger}{\widetilde{U_{C}}}^{\dagger},U_{D}^{\prime}U_{j}\ket{\phi_{j}}\!\bra{\phi_{j}}U_{j}^{\dagger}U_{D}^{\prime\dagger}\right)}
=\displaystyle= UC~Uj|ϕjϕj|UjUC~UDUj|ϕjϕj|UjUD1\displaystyle{\left\lVert{\widetilde{U_{C}}}U_{j}\ket{\phi_{j}}\!\bra{\phi_{j}}U_{j}^{\dagger}{\widetilde{U_{C}}}^{\dagger}-U_{D}^{\prime}U_{j}\ket{\phi_{j}}\!\bra{\phi_{j}}U_{j}^{\dagger}U_{D}^{\prime\dagger}\right\rVert}_{1}
=\displaystyle= UC~((1α)|uu|+α|vv|+α(1α)(|uv|+|vu|))UC~\displaystyle\|{\widetilde{U_{C}}}\left((1-\alpha)\ket{u}\!\bra{u}+\alpha\ket{v}\!\bra{v}+\sqrt{\alpha(1-\alpha)}\left(\ket{u}\!\bra{v}+\ket{v}\!\bra{u}\right)\right){\widetilde{U_{C}}}^{\dagger}
UD((1α)|uu|+α|vv|+α(1α)(|uv|+|vu|))UD1\displaystyle-U_{D}^{\prime}\left((1-\alpha)\ket{u}\!\bra{u}+\alpha\ket{v}\!\bra{v}+\sqrt{\alpha(1-\alpha)}\left(\ket{u}\!\bra{v}+\ket{v}\!\bra{u}\right)\right)U_{D}^{\prime\dagger}\|_{1}
=\displaystyle= UC~(α|vv|+α(1α)(|uv|+|vu|))UC~UD(α|vv|+α(1α)(|uv|+|vu|))UD1\displaystyle\|{\widetilde{U_{C}}}\left(\alpha\ket{v}\!\bra{v}+\sqrt{\alpha(1-\alpha)}\left(\ket{u}\!\bra{v}+\ket{v}\!\bra{u}\right)\right){\widetilde{U_{C}}}^{\dagger}-U_{D}^{\prime}\left(\alpha\ket{v}\!\bra{v}+\sqrt{\alpha(1-\alpha)}\left(\ket{u}\!\bra{v}+\ket{v}\!\bra{u}\right)\right)U_{D}^{\prime\dagger}\|_{1}
\displaystyle\leq 2α|vv|+α(1α)(|uv|+|vu|)1\displaystyle 2{\left\lVert\alpha\ket{v}\!\bra{v}+\sqrt{\alpha(1-\alpha)}\left(\ket{u}\!\bra{v}+\ket{v}\!\bra{u}\right)\right\rVert}_{1}
\displaystyle\leq 2(α+2α(1α))\displaystyle 2(\alpha+2\sqrt{\alpha(1-\alpha)})
\displaystyle\leq 6α\displaystyle 6\sqrt{\alpha}

where we use properties of trace norm of matrices A+B1A1+B1,UAU1=A1{\left\lVert A+B\right\rVert}_{1}\leq{\left\lVert A\right\rVert}_{1}+{\left\lVert B\right\rVert}_{1},{\left\lVert UAU^{\dagger}\right\rVert}_{1}={\left\lVert A\right\rVert}_{1} and A1=i|λi|{\left\lVert A\right\rVert}_{1}=\sum_{i}\lvert\lambda_{i}\rvert if A=iλi|sivi|A=\sum_{i}\lambda_{i}\ket{s_{i}}\!\bra{v_{i}} where |si,|vi\ket{s_{i}},\ket{v_{i}} are two bases.

Now let’s move to the second part. We will show that α\alpha equals to the difference of the number of pairs in 𝖥\mathsf{F} on |ϕj\ket{\phi_{j}} and |ϕj+1=UC~Uj|ϕj\ket{\phi_{j+1}}={\widetilde{U_{C}}}U_{j}\ket{\phi_{j}}.

First, let’s calculate the number of pairs in 𝖥\mathsf{F} on state |ϕj\ket{\phi_{j}}.

Notice that UjU_{j} does not act on 𝖥\mathsf{F}, so it commutes with OO. Then Tr(O|ϕjϕj|)=Tr(OUj|ϕjϕj|Uj)\mathrm{Tr}(O\ket{\phi_{j}}\!\bra{\phi_{j}})=\mathrm{Tr}(OU_{j}\ket{\phi_{j}}\!\bra{\phi_{j}}U_{j}^{\dagger}). Recall that

Uj|ϕj=x,DF,D,hs.t. DFD=αx,DF,D,h|x𝖰|0𝖠|DF𝖥|D𝖣|h𝖧U_{j}\ket{\phi_{j}}=\sum_{\begin{subarray}{c}x,D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset\end{subarray}}\alpha_{x,D_{F},D_{{\mathcal{R}}},h}\ket{x}_{\mathsf{Q}}\ket{0}_{\mathsf{A}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}}}_{\mathsf{D}_{{\mathcal{R}}}}\ket{h}_{\mathsf{H}}

In the summation, the terms are orthogonal to each other. Thus the expected number of pairs in 𝖥\mathsf{F} of Uj|ϕjU_{j}\ket{\phi_{j}} is x,DF,D,hs.t. DFD=|DF||αx,DF,D,h|2\sum_{\begin{subarray}{c}x,D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset\end{subarray}}{\lvert{D_{F}}\rvert}\left|\alpha_{x,D_{F},D_{{\mathcal{R}}},h}\right|^{2}. So

Tr(O|ϕjϕj|)=x,DF,D,hs.t. DFD=|DF||αx,DF,D,h|2\mathrm{Tr}(O\ket{\phi_{j}}\!\bra{\phi_{j}})=\sum_{\begin{subarray}{c}x,D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset\end{subarray}}{\lvert{D_{F}}\rvert}\left|\alpha_{x,D_{F},D_{{\mathcal{R}}},h}\right|^{2}

Next, let’s calculate the number of pairs in 𝖥\mathsf{F} on state |ϕj+1\ket{\phi_{j+1}}.

By definition of |ϕj+1\ket{\phi_{j+1}} and UC~{\widetilde{U_{C}}}

|ϕj+1\displaystyle\ket{\phi_{j+1}}
=\displaystyle= UC~Uj|ϕj\displaystyle{\widetilde{U_{C}}}U_{j}\ket{\phi_{j}}
=\displaystyle= x,DF,D,hs.t. DFD=,xDαx,DF,D,h|x𝖰|D(x)𝖠|DF𝖥|D,(x,D(x))𝖣|h𝖧\displaystyle\sum_{\begin{subarray}{c}x,D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset,x\in D_{{\mathcal{R}}}\end{subarray}}\alpha_{x,D_{F},D_{{\mathcal{R}}},h}\ket{x}_{\mathsf{Q}}\ket{D_{{\mathcal{R}}}(x)}_{\mathsf{A}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}},(x,D_{{\mathcal{R}}}(x))}_{\mathsf{D}_{{\mathcal{R}}}}\ket{h}_{\mathsf{H}}
+x,DF,D,hs.t. DFD=,xD,xDFαx,DF,D,h12z=01|x𝖰|z𝖠|DF𝖥|D,(x,z)𝖣|h𝖧\displaystyle+\sum_{\begin{subarray}{c}x,D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset,x\notin D_{{\mathcal{R}}},x\notin D_{F}\end{subarray}}\alpha_{x,D_{F},D_{{\mathcal{R}}},h}\frac{1}{\sqrt{2}}\sum_{z=0}^{1}\ket{x}_{\mathsf{Q}}\ket{z}_{\mathsf{A}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}},(x,z)}_{\mathsf{D}_{{\mathcal{R}}}}\ket{h}_{\mathsf{H}}
+x,DF,D,hs.t. DFD=,xDFαx,DF,D,h12z=01(1)zDF(x)^|x𝖰|z𝖠|DFx𝖥|D,(x,z)𝖣|h𝖧\displaystyle+\sum_{\begin{subarray}{c}x,D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset,x\in D_{F}\end{subarray}}\alpha_{x,D_{F},D_{{\mathcal{R}}},h}\frac{1}{\sqrt{2}}\sum_{z=0}^{1}(-1)^{z\widehat{D_{F}(x)}}\ket{x}_{\mathsf{Q}}\ket{z}_{\mathsf{A}}\ket{D_{F}-x}_{\mathsf{F}}\ket{D_{{\mathcal{R}}},(x,z)}_{\mathsf{D}_{{\mathcal{R}}}}\ket{h}_{\mathsf{H}}

UC~{\widetilde{U_{C}}} is a unitary, so the terms |x𝖰|D(x)𝖠|DF𝖥|D,(x,D(x))𝖣|h𝖧\ket{x}_{\mathsf{Q}}\ket{D_{{\mathcal{R}}}(x)}_{\mathsf{A}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}},(x,D_{{\mathcal{R}}}(x))}_{\mathsf{D}_{{\mathcal{R}}}}\ket{h}_{\mathsf{H}} where DFD=D_{F}\cap D_{{\mathcal{R}}}=\emptyset and xDx\in D_{{\mathcal{R}}}, 12z=01|x𝖰|z𝖠|DF𝖥|D,(x,z)𝖣|h𝖧\frac{1}{\sqrt{2}}\sum_{z=0}^{1}\ket{x}_{\mathsf{Q}}\ket{z}_{\mathsf{A}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}},(x,z)}_{\mathsf{D}_{{\mathcal{R}}}}\ket{h}_{\mathsf{H}} where DFD=D_{F}\cap D_{{\mathcal{R}}}=\emptyset and xDDFx\notin D_{{\mathcal{R}}}\cup D_{F}, and 12z=01(1)zDF(x)^|x𝖰|z𝖠|DFx𝖥|D,(x,z)𝖣|h𝖧\frac{1}{\sqrt{2}}\sum_{z=0}^{1}(-1)^{z\widehat{D_{F}(x)}}\ket{x}_{\mathsf{Q}}\ket{z}_{\mathsf{A}}\ket{D_{F}-x}_{\mathsf{F}}\ket{D_{{\mathcal{R}}},(x,z)}_{\mathsf{D}_{{\mathcal{R}}}}\ket{h}_{\mathsf{H}} where DFD=D_{F}\cap D_{{\mathcal{R}}}=\emptyset and xDFx\in D_{F} in the above summation are orthogonal to each other.

Thus the expected number of pairs in 𝖥\mathsf{F} of |ϕj+1\ket{\phi_{j+1}} is

Tr(O|ϕj+1ϕj+1|)\displaystyle\mathrm{Tr}(O\ket{\phi_{j+1}}\!\bra{\phi_{j+1}})
=\displaystyle= x,DF,D,hs.t. DFD=,xDF|DF||αx,DF,D,h|2+x,DF,D,hs.t. DFD=,xDF|DFx||αx,DF,D,h|2\displaystyle\sum_{\begin{subarray}{c}x,D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset,x\notin D_{F}\end{subarray}}{\lvert{D_{F}}\rvert}\left|\alpha_{x,D_{F},D_{{\mathcal{R}}},h}\right|^{2}+\sum_{\begin{subarray}{c}x,D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset,x\in D_{F}\end{subarray}}{\lvert{D_{F}-x}\rvert}\left|\alpha_{x,D_{F},D_{{\mathcal{R}}},h}\right|^{2}
=\displaystyle= x,DF,D,hs.t. DFD=|DF||αx,DF,D,h|2x,DF,D,hs.t. DFD=,xDF|αx,DF,D,h|2\displaystyle\sum_{\begin{subarray}{c}x,D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset\end{subarray}}{\lvert{D_{F}}\rvert}\left|\alpha_{x,D_{F},D_{{\mathcal{R}}},h}\right|^{2}-\sum_{\begin{subarray}{c}x,D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset,x\in D_{F}\end{subarray}}\left|\alpha_{x,D_{F},D_{{\mathcal{R}}},h}\right|^{2}
=\displaystyle= Tr(O|ϕjϕj|)α\displaystyle\mathrm{Tr}(O\ket{\phi_{j}}\!\bra{\phi_{j}})-\alpha

So α=Tr(O|ϕjϕj|)Tr(O|ϕj+1ϕj+1|)\alpha=\mathrm{Tr}(O\ket{\phi_{j}}\!\bra{\phi_{j}})-\mathrm{Tr}(O\ket{\phi_{j+1}}\!\bra{\phi_{j+1}}). That is to say, the weight of queries outside DFD_{F} equals the decrement of the number of pairs in 𝖥\mathsf{F} after the query.

Combine the above two parts, and we can obtain

TD(UC~Uj|ϕjϕj|UjUC~,UDUj|ϕjϕj|UjUD)6Tr(O|ϕjϕj|)Tr(O|ϕj+1ϕj+1|).{\operatorname{TD}\left({\widetilde{U_{C}}}U_{j}\ket{\phi_{j}}\!\bra{\phi_{j}}U_{j}^{\dagger}{\widetilde{U_{C}}}^{\dagger},U_{D}^{\prime}U_{j}\ket{\phi_{j}}\!\bra{\phi_{j}}U_{j}^{\dagger}U_{D}^{\prime\dagger}\right)}\leq 6\sqrt{\mathrm{Tr}(O\ket{\phi_{j}}\!\bra{\phi_{j}})-\mathrm{Tr}(O\ket{\phi_{j+1}}\!\bra{\phi_{j+1}})}.

Appendix B Missing Proof of Lemma 7

We prove Lemma 7 by first showing that for two parallel queries, we can remove one of them without decreasing the value and then extending the result to U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} on ρs(t)\rho_{s}^{(t)} and U𝖴𝗉𝖽~{\widetilde{U_{\mathsf{Upd}}}} (each has polynomial queries).

Proof.

Let UR~{\widetilde{U_{R}}} act on the first query position register 𝖰1\mathsf{Q}_{1}, the first query answer register 𝖠1,𝖣𝒜,𝖥\mathsf{A}_{1},\mathsf{D}_{\mathcal{A}},\mathsf{F} and 𝖣\mathsf{D}_{{\mathcal{R}}} while UC~{\widetilde{U_{C}}} acts on the second query position register 𝖰2\mathsf{Q}_{2}, the second query position register 𝖠2,𝖥\mathsf{A}_{2},\mathsf{F} and 𝖣\mathsf{D}_{{\mathcal{R}}}.

We first show that for any state

|φ=x1,x2,D𝒜,DF,D,hs.t. DFD=αx1,x2,D𝒜,DF,D,h|x1𝖰1|0𝖠1|x2𝖰2|0𝖠2|D𝒜𝖣𝒜|DF𝖥|D𝖣|h𝖧,\ket{\varphi}=\sum_{\begin{subarray}{c}x_{1},x_{2},D_{\mathcal{A}},D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset\end{subarray}}\alpha_{x_{1},x_{2},D_{\mathcal{A}},D_{F},D_{{\mathcal{R}}},h}\ket{x_{1}}_{\mathsf{Q}_{1}}\ket{0}_{\mathsf{A}_{1}}\ket{x_{2}}_{\mathsf{Q}_{2}}\ket{0}_{\mathsf{A}_{2}}\ket{D_{\mathcal{A}}}_{\mathsf{D}_{\mathcal{A}}}\ket{D_{F}}_{\mathsf{F}}\ket{D_{{\mathcal{R}}}}_{\mathsf{D}_{{\mathcal{R}}}}\ket{h}_{\mathsf{H}},

we have the inequality

Tr(OUR~|φφ|UR~)Tr(OUC~UR~|φφ|UR~UC~)Tr(O|φφ|)Tr(OUC~|φφ|UC~).\mathrm{Tr}(O{\widetilde{U_{R}}}\ket{\varphi}\!\bra{\varphi}{\widetilde{U_{R}}}^{\dagger})-\mathrm{Tr}(O{\widetilde{U_{C}}}{\widetilde{U_{R}}}\ket{\varphi}\!\bra{\varphi}{\widetilde{U_{R}}}^{\dagger}{\widetilde{U_{C}}}^{\dagger})\leq\mathrm{Tr}(O\ket{\varphi}\!\bra{\varphi})-\mathrm{Tr}(O{\widetilde{U_{C}}}\ket{\varphi}\!\bra{\varphi}{\widetilde{U_{C}}}^{\dagger}).

In fact, from the same argument in Lemma 6, Tr(O|φφ|)Tr(OUC~|φφ|UC~)\mathrm{Tr}(O\ket{\varphi}\!\bra{\varphi})-\mathrm{Tr}(O{\widetilde{U_{C}}}\ket{\varphi}\!\bra{\varphi}{\widetilde{U_{C}}}^{\dagger}) is exactly the probability that we get outcome (x2,DF)(x_{2},D_{F}) such that x2DFx_{2}\in D_{F} when we measure the registers 𝖰2\mathsf{Q}_{2} and 𝖣F\mathsf{D}_{F} on state |φ\ket{\varphi}. That is

Tr(O|φφ|)Tr(OUC~|φφ|UC~)=x1,x2,D𝒜,DF,D,hs.t. DFD=,x2DF|αx1,x2,D𝒜,DF,D,h|2.\mathrm{Tr}(O\ket{\varphi}\!\bra{\varphi})-\mathrm{Tr}(O{\widetilde{U_{C}}}\ket{\varphi}\!\bra{\varphi}{\widetilde{U_{C}}}^{\dagger})=\sum_{\begin{subarray}{c}x_{1},x_{2},D_{\mathcal{A}},D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset,x_{2}\in D_{F}\end{subarray}}\left|\alpha_{x_{1},x_{2},D_{\mathcal{A}},D_{F},D_{{\mathcal{R}}},h}\right|^{2}.

Similarly, Tr(OUR~|φφ|UR~)Tr(OUC~UR~|φφ|UR~UC~)\mathrm{Tr}(O{\widetilde{U_{R}}}\ket{\varphi}\!\bra{\varphi}{\widetilde{U_{R}}}^{\dagger})-\mathrm{Tr}(O{\widetilde{U_{C}}}{\widetilde{U_{R}}}\ket{\varphi}\!\bra{\varphi}{\widetilde{U_{R}}}^{\dagger}{\widetilde{U_{C}}}^{\dagger}) is exactly the probability that we get outcome (x2,DF)(x_{2},D_{F}) such that x2DFx_{2}\in D_{F} when we measure the registers 𝖰2\mathsf{Q}_{2} and 𝖣F\mathsf{D}_{F} on state UR~|φ{\widetilde{U_{R}}}\ket{\varphi}. Notice that we can write UR~|φ{\widetilde{U_{R}}}\ket{\varphi} as

x1,x2,D𝒜,DF,D,hs.t. DFD=αx1,x2,D𝒜,DF,D,h|x2𝖰2|0𝖠2|x1𝖰1Ux1,DF(|0𝖠1|D𝒜𝖣𝒜|D𝖣)|DFx1𝖥|h𝖧\sum_{\begin{subarray}{c}x_{1},x_{2},D_{\mathcal{A}},D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset\end{subarray}}\alpha_{x_{1},x_{2},D_{\mathcal{A}},D_{F},D_{{\mathcal{R}}},h}\ket{x_{2}}_{\mathsf{Q}_{2}}\ket{0}_{\mathsf{A}_{2}}\ket{x_{1}}_{\mathsf{Q}_{1}}U_{x_{1},D_{F}}(\ket{0}_{\mathsf{A}_{1}}\ket{D_{\mathcal{A}}}_{\mathsf{D}_{\mathcal{A}}}\ket{D_{{\mathcal{R}}}}_{\mathsf{D}_{{\mathcal{R}}}})\ket{D_{F}-x_{1}}_{\mathsf{F}}\ket{h}_{\mathsf{H}}

where Ux1,DFU_{x_{1},D_{F}} is a unitary that only depends on x1,DFx_{1},D_{F}. UR~{\widetilde{U_{R}}} is a unitary, so the terms in the above summation are orthogonal. Thus

Tr(OUR~|φφ|UR~)Tr(OUC~UR~|φφ|UR~UC~)=x1,x2,D𝒜,DF,D,hs.t. DFD=,x2DFx1|αx1,x2,D𝒜,DF,D,h|2.\mathrm{Tr}(O{\widetilde{U_{R}}}\ket{\varphi}\!\bra{\varphi}{\widetilde{U_{R}}}^{\dagger})-\mathrm{Tr}(O{\widetilde{U_{C}}}{\widetilde{U_{R}}}\ket{\varphi}\!\bra{\varphi}{\widetilde{U_{R}}}^{\dagger}{\widetilde{U_{C}}}^{\dagger})=\sum_{\begin{subarray}{c}x_{1},x_{2},D_{\mathcal{A}},D_{F},D_{{\mathcal{R}}},h\\ \text{s.t. }D_{F}\cap D_{{\mathcal{R}}}=\emptyset,x_{2}\in D_{F}-x_{1}\end{subarray}}\left|\alpha_{x_{1},x_{2},D_{\mathcal{A}},D_{F},D_{{\mathcal{R}}},h}\right|^{2}.

As a result, Tr(OUR~|φφ|UR~)Tr(OUC~UR~|φφ|UR~UC~)Tr(O|φφ|)Tr(OUC~|φφ|UC~).\mathrm{Tr}(O{\widetilde{U_{R}}}\ket{\varphi}\!\bra{\varphi}{\widetilde{U_{R}}}^{\dagger})-\mathrm{Tr}(O{\widetilde{U_{C}}}{\widetilde{U_{R}}}\ket{\varphi}\!\bra{\varphi}{\widetilde{U_{R}}}^{\dagger}{\widetilde{U_{C}}}^{\dagger})\leq\mathrm{Tr}(O\ket{\varphi}\!\bra{\varphi})-\mathrm{Tr}(O{\widetilde{U_{C}}}\ket{\varphi}\!\bra{\varphi}{\widetilde{U_{C}}}^{\dagger}). That is to say, an extra query UR~{\widetilde{U_{R}}} on another part of the state can only decrease the chance of making a bad query in UC~{\widetilde{U_{C}}} because that extra query can only make the set of bad queries smaller.

U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} and U𝖴𝗉𝖽~{\widetilde{U_{\mathsf{Upd}}}} are composed of UC~{\widetilde{U_{C}}} and UR~{\widetilde{U_{R}}}. In fact, the above argument can also be extended to U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} and U𝖴𝗉𝖽~{\widetilde{U_{\mathsf{Upd}}}} to capture our intuition that U𝖴𝗉𝖽~{\widetilde{U_{\mathsf{Upd}}}} can only decrease the number of bad queries made during U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} because U𝖴𝗉𝖽~{\widetilde{U_{\mathsf{Upd}}}} can only make the set of bad queries smaller.

We will first show a fixed number of iterations of the update phase can only decrease the number of bad queries made during U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} and then show it holds for U𝖴𝗉𝖽~{\widetilde{U_{\mathsf{Upd}}}}.

Let |ψ\ket{\psi} be the state |ψ\ket{\psi} as in 7. We can write it as |ψ01N(n)j=0N(n)1|j𝖩\ket{\psi_{0}}\otimes\frac{1}{\sqrt{N(n)}}\sum_{j=0}^{N(n)-1}\ket{j}_{\mathsf{J}}.

For any j1j\geq 1, for unitary U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}^{\prime}}} that acts on the synthesized state and records the query for 𝒜\mathcal{A}, and unitary U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} that acts on ρs(t)\rho_{s}^{(t)}, denote |μ=U𝖲𝗒𝗇~(U𝖵𝖾𝗋~U𝖲𝗒𝗇~)j1|ψ0\ket{\mu}={\widetilde{U_{\mathsf{Syn}}}}({\widetilde{U_{\mathsf{Ver}}^{\prime}}}{\widetilde{U_{\mathsf{Syn}}}})^{j-1}\ket{\psi_{0}}. Let Ui(1)U_{i}^{(1)} prepare the next query for ρs(t)\rho_{s}^{(t)} and Ui(2)U_{i}^{(2)} prepare the next query for the synthesized state. For every ii, denote Ui,C(1)=Ui(1)UC~U0(1)U_{i,C}^{(1)}=U_{i}^{(1)}{\widetilde{U_{C}}}\cdots U_{0}^{(1)} and Ui,R(2)=Ui(2)UR~U0(2)U_{i,R}^{(2)}=U_{i}^{(2)}{\widetilde{U_{R}}}\cdots U_{0}^{(2)}. Apply the above inequality, and we can get that

Tr(O(U𝖵𝖾𝗋~U𝖲𝗒𝗇~)j|ψ0ψ0|(U𝖲𝗒𝗇~U𝖵𝖾𝗋~)j)Tr(OU𝖵𝖾𝗋~(U𝖵𝖾𝗋~U𝖲𝗒𝗇~)j|ψ0ψ0|(U𝖲𝗒𝗇~U𝖵𝖾𝗋~)jU𝖵𝖾𝗋~)\displaystyle\mathrm{Tr}(O({\widetilde{U_{\mathsf{Ver}}^{\prime}}}{\widetilde{U_{\mathsf{Syn}}}})^{j}\ket{\psi_{0}}\!\bra{\psi_{0}}({\widetilde{U_{\mathsf{Syn}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})^{j})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}({\widetilde{U_{\mathsf{Ver}}^{\prime}}}{\widetilde{U_{\mathsf{Syn}}}})^{j}\ket{\psi_{0}}\!\bra{\psi_{0}}({\widetilde{U_{\mathsf{Syn}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})^{j}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})
=\displaystyle= Tr(OUq,R(2)|μμ|Uq,R(2))Tr(OUq,C(1)Uq,R(2)|μμ|Uq,R(2)Uq,C(1))\displaystyle\mathrm{Tr}(OU_{q,R}^{(2)}\ket{\mu}\!\bra{\mu}{U_{q,R}^{(2)}}^{\dagger})-\mathrm{Tr}(OU_{q,C}^{(1)}U_{q,R}^{(2)}\ket{\mu}\!\bra{\mu}{U_{q,R}^{(2)}}^{\dagger}{U_{q,C}^{(1)}}^{\dagger})
=\displaystyle= Tr(OUq(2)UR~Uq1,R(2)|μμ|Uq1,R(2)UR~Uq(2))\displaystyle\mathrm{Tr}(OU_{q}^{(2)}{\widetilde{U_{R}}}U_{q-1,R}^{(2)}\ket{\mu}\!\bra{\mu}{U_{q-1,R}^{(2)}}^{\dagger}{\widetilde{U_{R}}}^{\dagger}{U_{q}^{(2)}}^{\dagger})
Tr(OUq(1)Uq(2)UC~UR~Uq1,C(1)Uq1,R(2)|μμ|Uq1,R(2)Uq1,C(1)UR~UC~Uq(2)Uq(1))\displaystyle-\mathrm{Tr}(OU_{q}^{(1)}U_{q}^{(2)}{\widetilde{U_{C}}}{\widetilde{U_{R}}}U_{q-1,C}^{(1)}U_{q-1,R}^{(2)}\ket{\mu}\!\bra{\mu}{U_{q-1,R}^{(2)}}^{\dagger}{U_{q-1,C}^{(1)}}^{\dagger}{\widetilde{U_{R}}}^{\dagger}{\widetilde{U_{C}}}^{\dagger}{U_{q}^{(2)}}^{\dagger}{U_{q}^{(1)}}^{\dagger})
=\displaystyle= Tr(OUR~Uq1,R(2)|μμ|Uq1,R(2)UR~)Tr(OUC~UR~Uq1,C(1)Uq1,R(2)|μμ|Uq1,R(2)Uq1,C(1)UR~UC~)\displaystyle\mathrm{Tr}(O{\widetilde{U_{R}}}U_{q-1,R}^{(2)}\ket{\mu}\!\bra{\mu}{U_{q-1,R}^{(2)}}^{\dagger}{\widetilde{U_{R}}}^{\dagger})-\mathrm{Tr}(O{\widetilde{U_{C}}}{\widetilde{U_{R}}}U_{q-1,C}^{(1)}U_{q-1,R}^{(2)}\ket{\mu}\!\bra{\mu}{U_{q-1,R}^{(2)}}^{\dagger}{U_{q-1,C}^{(1)}}^{\dagger}{\widetilde{U_{R}}}^{\dagger}{\widetilde{U_{C}}}^{\dagger})
\displaystyle\leq Tr(OUq1,R(2)|μμ|Uq1,R(2))Tr(OUC~Uq1,C(1)Uq1,R(2)|μμ|Uq1,R(2)Uq1,C(1)UC~)\displaystyle\mathrm{Tr}(OU_{q-1,R}^{(2)}\ket{\mu}\!\bra{\mu}{U_{q-1,R}^{(2)}}^{\dagger})-\mathrm{Tr}(O{\widetilde{U_{C}}}U_{q-1,C}^{(1)}U_{q-1,R}^{(2)}\ket{\mu}\!\bra{\mu}{U_{q-1,R}^{(2)}}^{\dagger}{U_{q-1,C}^{(1)}}^{\dagger}{\widetilde{U_{C}}}^{\dagger})
=\displaystyle= Tr(OUq1,R(2)|μμ|Uq1,R(2))Tr(OUq,C(1)Uq1,R(2)|μμ|Uq1,R(2)Uq,C(1))\displaystyle\mathrm{Tr}(OU_{q-1,R}^{(2)}\ket{\mu}\!\bra{\mu}{U_{q-1,R}^{(2)}}^{\dagger})-\mathrm{Tr}(OU_{q,C}^{(1)}U_{q-1,R}^{(2)}\ket{\mu}\!\bra{\mu}{U_{q-1,R}^{(2)}}^{\dagger}{U_{q,C}^{(1)}}^{\dagger})

That is, we can delete a query for the synthesized state without decreasing the number of bad queries made during U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} on ρs(t)\rho_{s}^{(t)}. Repetitively removing the queries for the synthesized state, we can get that

Tr(O(U𝖵𝖾𝗋~U𝖲𝗒𝗇~)j|ψ0ψ0|(U𝖲𝗒𝗇~U𝖵𝖾𝗋~)j)Tr(OU𝖵𝖾𝗋~(U𝖵𝖾𝗋~U𝖲𝗒𝗇~)j|ψ0ψ0|(U𝖲𝗒𝗇~U𝖵𝖾𝗋~)jU𝖵𝖾𝗋~)\displaystyle\mathrm{Tr}(O({\widetilde{U_{\mathsf{Ver}}^{\prime}}}{\widetilde{U_{\mathsf{Syn}}}})^{j}\ket{\psi_{0}}\!\bra{\psi_{0}}({\widetilde{U_{\mathsf{Syn}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})^{j})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}({\widetilde{U_{\mathsf{Ver}}^{\prime}}}{\widetilde{U_{\mathsf{Syn}}}})^{j}\ket{\psi_{0}}\!\bra{\psi_{0}}({\widetilde{U_{\mathsf{Syn}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})^{j}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})
\displaystyle\leq Tr(OU0,R(2)|μμ|U0,R(2))Tr(OUq,C(1)U0,R(2)|μμ|U0,R(2)Uq,C(1))\displaystyle\mathrm{Tr}(OU_{0,R}^{(2)}\ket{\mu}\!\bra{\mu}{U_{0,R}^{(2)}}^{\dagger})-\mathrm{Tr}(OU_{q,C}^{(1)}U_{0,R}^{(2)}\ket{\mu}\!\bra{\mu}{U_{0,R}^{(2)}}^{\dagger}{U_{q,C}^{(1)}}^{\dagger})
=\displaystyle= Tr(O|μμ|)Tr(OU𝖵𝖾𝗋~|μμ|U𝖵𝖾𝗋~)\displaystyle\mathrm{Tr}(O\ket{\mu}\!\bra{\mu})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}\ket{\mu}\!\bra{\mu}{{\widetilde{U_{\mathsf{Ver}}}}}^{\dagger})

where we use the fact that Ui(1)U_{i}^{(1)} commutes with Uj(2)U_{j}^{(2)} and UC~{\widetilde{U_{C}}}, Ui(2)U_{i}^{(2)} commutes with UR~{\widetilde{U_{R}}}, and both Ui(1)U_{i}^{(1)} and Uj(2)U_{j}^{(2)} commute with OO.

We successfully removed one U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}^{\prime}}} on the synthesized state. We can do it until we remove all of U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}^{\prime}}} on the synthesized state. That is,

Tr(O(U𝖵𝖾𝗋~U𝖲𝗒𝗇~)j|ψ0ψ0|(U𝖲𝗒𝗇~U𝖵𝖾𝗋~)j)Tr(OU𝖵𝖾𝗋~(U𝖵𝖾𝗋~U𝖲𝗒𝗇~)j|ψ0ψ0|(U𝖲𝗒𝗇~U𝖵𝖾𝗋~)jU𝖵𝖾𝗋~)\displaystyle\mathrm{Tr}(O({\widetilde{U_{\mathsf{Ver}}^{\prime}}}{\widetilde{U_{\mathsf{Syn}}}})^{j}\ket{\psi_{0}}\!\bra{\psi_{0}}({\widetilde{U_{\mathsf{Syn}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})^{j})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}({\widetilde{U_{\mathsf{Ver}}^{\prime}}}{\widetilde{U_{\mathsf{Syn}}}})^{j}\ket{\psi_{0}}\!\bra{\psi_{0}}({\widetilde{U_{\mathsf{Syn}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})^{j}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})
\displaystyle\leq Tr(OU𝖲𝗒𝗇~(U𝖵𝖾𝗋~U𝖲𝗒𝗇~)j1|ψ0ψ0|(U𝖲𝗒𝗇~U𝖵𝖾𝗋~)j1U𝖲𝗒𝗇~)\displaystyle\mathrm{Tr}(O{\widetilde{U_{\mathsf{Syn}}}}({\widetilde{U_{\mathsf{Ver}}^{\prime}}}{\widetilde{U_{\mathsf{Syn}}}})^{j-1}\ket{\psi_{0}}\!\bra{\psi_{0}}({\widetilde{U_{\mathsf{Syn}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})^{j-1}{{\widetilde{U_{\mathsf{Syn}}}}}^{\dagger})
Tr(OU𝖵𝖾𝗋~U𝖲𝗒𝗇~(U𝖵𝖾𝗋~U𝖲𝗒𝗇~)j1|ψ0ψ0|(U𝖲𝗒𝗇~U𝖵𝖾𝗋~)j1U𝖲𝗒𝗇~U𝖵𝖾𝗋~)\displaystyle-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}{\widetilde{U_{\mathsf{Syn}}}}({\widetilde{U_{\mathsf{Ver}}^{\prime}}}{\widetilde{U_{\mathsf{Syn}}}})^{j-1}\ket{\psi_{0}}\!\bra{\psi_{0}}({\widetilde{U_{\mathsf{Syn}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})^{j-1}{{\widetilde{U_{\mathsf{Syn}}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})
=\displaystyle= Tr(O(U𝖵𝖾𝗋~U𝖲𝗒𝗇~)j1|ψ0ψ0|(U𝖲𝗒𝗇~U𝖵𝖾𝗋~)j1)Tr(OU𝖵𝖾𝗋~(U𝖵𝖾𝗋~U𝖲𝗒𝗇~)j1|ψ0ψ0|(U𝖲𝗒𝗇~U𝖵𝖾𝗋~)j1U𝖵𝖾𝗋~)\displaystyle\mathrm{Tr}(O({\widetilde{U_{\mathsf{Ver}}^{\prime}}}{\widetilde{U_{\mathsf{Syn}}}})^{j-1}\ket{\psi_{0}}\!\bra{\psi_{0}}({\widetilde{U_{\mathsf{Syn}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})^{j-1})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}({\widetilde{U_{\mathsf{Ver}}^{\prime}}}{\widetilde{U_{\mathsf{Syn}}}})^{j-1}\ket{\psi_{0}}\!\bra{\psi_{0}}({\widetilde{U_{\mathsf{Syn}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})^{j-1}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})
\displaystyle\leq \displaystyle\cdots
\displaystyle\leq Tr(O|ψ0ψ0|)Tr(OU𝖵𝖾𝗋~|ψ0ψ0|U𝖵𝖾𝗋~)\displaystyle\mathrm{Tr}(O\ket{\psi_{0}}\!\bra{\psi_{0}})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}\ket{\psi_{0}}\!\bra{\psi_{0}}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})

where we use the fact that U𝖲𝗒𝗇~{\widetilde{U_{\mathsf{Syn}}}} uses the database in D𝒜D_{\mathcal{A}} and U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} does not record query for 𝒜\mathcal{A}. Thus U𝖲𝗒𝗇~{\widetilde{U_{\mathsf{Syn}}}} and U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} commute. U𝖲𝗒𝗇~{\widetilde{U_{\mathsf{Syn}}}} does not act on 𝖥\mathsf{F} and 𝖣\mathsf{D}_{{\mathcal{R}}}, so it commutes with OO.

Finally, we will show a randomized number of iterations of the update phase can not increase the number of bad queries made during U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}}. As both U𝖵𝖾𝗋~{\widetilde{U_{\mathsf{Ver}}}} and OO do not act on register 𝖩\mathsf{J}, tracing out 𝖩\mathsf{J} after U𝖴𝗉𝖽~{\widetilde{U_{\mathsf{Upd}}}} does not change the quantity. Recall that U𝖴𝗉𝖽~|ψ=1N(n)j=0N(n)1(U𝖵𝖾𝗋~U𝖲𝗒𝗇~)j(|ψ0)|j𝖩{\widetilde{U_{\mathsf{Upd}}}}\ket{\psi}=\frac{1}{\sqrt{N(n)}}\sum_{j=0}^{N(n)-1}({\widetilde{U_{\mathsf{Ver}}^{\prime}}}{\widetilde{U_{\mathsf{Syn}}}})^{j}(\ket{\psi_{0}})\ket{j}_{\mathsf{J}}. Thus

Tr(OU𝖴𝗉𝖽~|ψψ|U𝖴𝗉𝖽~)Tr(OU𝖵𝖾𝗋~U𝖴𝗉𝖽~|ψψ|U𝖴𝗉𝖽~U𝖵𝖾𝗋~)\displaystyle\mathrm{Tr}(O{\widetilde{U_{\mathsf{Upd}}}}\ket{\psi}\!\bra{\psi}{\widetilde{U_{\mathsf{Upd}}}}^{\dagger})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}{\widetilde{U_{\mathsf{Upd}}}}\ket{\psi}\!\bra{\psi}{\widetilde{U_{\mathsf{Upd}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})
=\displaystyle= Tr(OTr𝖩(U𝖴𝗉𝖽~|ψψ|U𝖴𝗉𝖽~))Tr(OU𝖵𝖾𝗋~Tr𝖩(U𝖴𝗉𝖽~|ψψ|U𝖴𝗉𝖽~)U𝖵𝖾𝗋~)\displaystyle\mathrm{Tr}(O\mathrm{Tr}_{\mathsf{J}}({\widetilde{U_{\mathsf{Upd}}}}\ket{\psi}\!\bra{\psi}{\widetilde{U_{\mathsf{Upd}}}}^{\dagger}))-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}\mathrm{Tr}_{\mathsf{J}}({\widetilde{U_{\mathsf{Upd}}}}\ket{\psi}\!\bra{\psi}{\widetilde{U_{\mathsf{Upd}}}}^{\dagger}){\widetilde{U_{\mathsf{Ver}}}}^{\dagger})
=\displaystyle= 1N(n)j=0N(n)1(Tr(O(U𝖵𝖾𝗋~U𝖲𝗒𝗇~)j|ψ0ψ0|(U𝖲𝗒𝗇~U𝖵𝖾𝗋~)j)Tr(OU𝖵𝖾𝗋~(U𝖵𝖾𝗋~U𝖲𝗒𝗇~)j|ψ0ψ0|(U𝖲𝗒𝗇~U𝖵𝖾𝗋~)jU𝖵𝖾𝗋~))\displaystyle\frac{1}{N(n)}\sum_{j=0}^{N(n)-1}\left(\mathrm{Tr}(O({\widetilde{U_{\mathsf{Ver}}^{\prime}}}{\widetilde{U_{\mathsf{Syn}}}})^{j}\ket{\psi_{0}}\!\bra{\psi_{0}}({\widetilde{U_{\mathsf{Syn}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})^{j})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}({\widetilde{U_{\mathsf{Ver}}^{\prime}}}{\widetilde{U_{\mathsf{Syn}}}})^{j}\ket{\psi_{0}}\!\bra{\psi_{0}}({\widetilde{U_{\mathsf{Syn}}}}^{\dagger}{\widetilde{U_{\mathsf{Ver}}^{\prime}}}^{\dagger})^{j}{{\widetilde{U_{\mathsf{Ver}}}}^{\dagger}})\right)
\displaystyle\leq Tr(O|ψ0ψ0|)Tr(OU𝖵𝖾𝗋~|ψ0ψ0|U𝖵𝖾𝗋~)\displaystyle\mathrm{Tr}(O\ket{\psi_{0}}\!\bra{\psi_{0}})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}\ket{\psi_{0}}\!\bra{\psi_{0}}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})
=\displaystyle= Tr(O|ψψ|)Tr(OU𝖵𝖾𝗋~|ψψ|U𝖵𝖾𝗋~)\displaystyle\mathrm{Tr}(O\ket{\psi}\!\bra{\psi})-\mathrm{Tr}(O{\widetilde{U_{\mathsf{Ver}}}}\ket{\psi}\!\bra{\psi}{\widetilde{U_{\mathsf{Ver}}}}^{\dagger})

Appendix C Notation Tables

Table 1: Parameters in Section 6.3
q(n),q(n)q(n),q^{\prime}(n) nn is the security number. 𝖵𝖾𝗋\mathsf{Ver} makes q(n)q(n) classical queries. 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint} make q(n)q^{\prime}(n) quantum queries in total. We sometimes omit nn.
T(n),N(n)T(n),N(n) two polynomials that will decide the maximal possible number of iterations we run in the test phase and the update phase.
Table 2: Registers in Section 6.3
𝖯𝗄\mathsf{Pk} the register storing the public key
𝖲\mathsf{S} the register storing the serial number
𝖬\mathsf{M} the register storing the alleged money state
𝖣𝒜\mathsf{D}_{\mathcal{A}} the register storing the classical queries database maintained by 𝒜\mathcal{A}
𝖣\mathsf{D}_{{\mathcal{R}}} the register storing the classical queries we made so far along with their answers (maintained by the oracle)
𝖥\mathsf{F} the register storing the oracle if in the decompressed view or the register storing DFD_{F} (the database for non-|0^\ket{\hat{0}} elements) if in compressed view
𝖦\mathsf{G}, 𝖧\mathsf{H} the register storing unimportant things for the analysis. For example, it may include the secret key, working space for 𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen} and 𝖬𝗂𝗇𝗍\mathsf{Mint}, and some unused fresh ancillas.
𝖳\mathsf{T} the register storing the number of iterations for test phase.
𝖩\mathsf{J} the register storing the number of iterations for update phase.
𝖰,𝖰1,𝖰2\mathsf{Q},\mathsf{Q}_{1},\mathsf{Q}_{2} the register storing the next query position.
𝖠,𝖠1,𝖠2\mathsf{A},\mathsf{A}_{1},\mathsf{A}_{2} the register to store the next query answer.
Table 3: States in Section 6.3
|ϕ\ket{\phi} A state in the following form (i.e. it’s in the compressed view and the contents in 𝖣\mathsf{D}_{{\mathcal{R}}} and 𝖣𝒜\mathsf{D}_{\mathcal{A}} are the same), |ϕ⟩ = ∑_pk, s, m, D, D_F, g s.t. D ∩D_F = ∅α_pk, s, m, D, D_F, g|pk⟩_Pk|s_S|m_M|D_D_A|D_F_F|D_D_R|g_G. In 7 and 8, we will instantiate it with the pure state we obtain by applying the unitaries U𝖪𝖾𝗒𝖦𝖾𝗇~{\widetilde{U_{\mathsf{KeyGen}}}}, U𝖬𝗂𝗇𝗍~{\widetilde{U_{\mathsf{Mint}}}} and U𝒜~{\widetilde{U_{\mathcal{A}}}} to the state |1n|𝖣𝒜|𝖥|𝖣\ket{1^{n}}\ket{\emptyset}_{\mathsf{D}_{\mathcal{A}}}\ket{\emptyset}_{\mathsf{F}}\ket{\emptyset}_{\mathsf{D}_{{\mathcal{R}}}} along with enough ancillas.
|ϕj\ket{\phi_{j}} |ϕj=UC~Uj1UC~U0|ϕ\ket{\phi_{j}}={\widetilde{U_{C}}}U_{j-1}\cdots{\widetilde{U_{C}}}U_{0}\ket{\phi}. It’s the state when we run 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}} on |ϕ\ket{\phi} in the compressed view until we have answered the jthj^{th} query.
|ψ\ket{\psi} We abuse the notation. |ψ\ket{\psi} is the pure state we obtain by running the first step in the compressed view in the case 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,)){\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\cdot))} on ρs(t){\rho_{s}^{(t)}} until the end of the test phase (in 7) or the update phase (in 8) of 𝒜\mathcal{A}.
|φ\ket{\varphi} an arbitary state ready for two “parallel” classical queries on different registers.
|ψ0\ket{\psi_{0}} the pure state we obtain by running the first step in the compressed view in the case 𝖵𝖾𝗋,|𝖯𝖲𝖯𝖠𝖢𝖤(pk,(s,)){\mathsf{Ver}^{{\mathcal{R}},\ket{\mathsf{PSPACE}}}(pk,(s,\cdot))} on ρs(t){\rho_{s}^{(t)}} until we finish the test phase and then truncating 𝖩\mathsf{J}.
|ψ(t),|ψ(j)\ket{\psi^{(t)}},\ket{\psi^{(j)}} We abuse the notation. In 7, |ψ(t)\ket{\psi^{(t)}} is the state after we run tt iterations in the test phase but not run the update phase in the compressed view. In 8, |ψ(j)\ket{\psi^{(j)}} is the state we obtain after we run a randomized number of iterations in the test phase and jj iterations in the update phase in the compressed view.
Table 4: Observable and Unitaries in Section 6.3
OO the observable corresponding to the number of pairs in 𝖥\mathsf{F} (i.e. half of the nonempty length in 𝖥\mathsf{F}). Formally, O=DF|DF||DFDF|𝖥O=\sum_{D_{F}}{\lvert{D_{F}}\rvert}\ket{D_{F}}\!\bra{D_{F}}_{\mathsf{F}} where |DF|{\lvert{D_{F}}\rvert} is the number of pairs in DFD_{F}. It will only be applied to those states in compressed view.
𝖣𝖾𝖼𝗈𝗆𝗉\mathsf{Decomp} the unitary defined in Section 6.2. It acts on 𝖣\mathsf{D}_{{\mathcal{R}}} and 𝖥\mathsf{F} and decompresses two databases to one database and the oracle.
𝖢𝗈𝗆𝗉\mathsf{Comp} the inverse of the unitary 𝖣𝖾𝖼𝗈𝗆𝗉\mathsf{Decomp}.
U~{\widetilde{U}} U~=𝖢𝗈𝗆𝗉U𝖣𝖾𝖼𝗈𝗆𝗉{\widetilde{U}}=\mathsf{Comp}{U}\mathsf{Decomp}. It’s the compressed view version of UU for a general unitary UU. See the figure in Section 6.2 for more details.
UQ{U_{Q}} the unitary corresponding to answering a quantum query with the real oracle.
UC{U_{C}} the unitary corresponding to answering a classical query with the real oracle.
UR{U_{R}} the same as UC{U_{C}} except that it records the query-answer for 𝒜\mathcal{A} at the same time.
UD{U_{D}} the unitary corresponding to answering a classical query with the database in register 𝖣𝒜\mathsf{D}_{\mathcal{A}} while recording the query-answer to 𝖣𝒜\mathsf{D}_{\mathcal{A}} for later use.
UD{U_{D}^{\prime}} the unitary corresponding to answering a classical query with the database in register 𝖣\mathsf{D}_{{\mathcal{R}}} while recording the query-answer to 𝖣\mathsf{D}_{{\mathcal{R}}} for later use.
UiU_{i} When 0iq10\leq i\leq q-1, it’s the unitary corresponding to the preparation of the (i+1)th{(i+1)}^{th} query of 𝖵𝖾𝗋\mathsf{Ver}. When i=qi=q, it’s the unitary after the final query of 𝖵𝖾𝗋\mathsf{Ver}.
U𝖪𝖾𝗒𝖦𝖾𝗇,U𝖬𝗂𝗇𝗍U_{\mathsf{KeyGen}},U_{\mathsf{Mint}} the unitary U𝖪𝖾𝗒𝖦𝖾𝗇,n,U𝖬𝗂𝗇𝗍,nU_{\mathsf{KeyGen},n},U_{\mathsf{Mint},n} defined in Section 6.1.
U𝖵𝖾𝗋,U𝖲𝗒𝗇U_{\mathsf{Ver}},U_{\mathsf{Syn}} the unitary U𝖵𝖾𝗋,n,U𝖲𝗒𝗇,nU_{\mathsf{Ver},n},U_{\mathsf{Syn},n} defined in Section 6.1, U𝖵𝖾𝗋=UqUCUq1UCU0U_{\mathsf{Ver}}=U_{q}U_{C}U_{q-1}\cdots U_{C}U_{0}.
U𝖵𝖾𝗋U_{\mathsf{Ver}}^{\prime} the unitary corresponding to doing the verification while recording the query-answer pair for 𝒜\mathcal{A}, U𝖵𝖾𝗋=UqURUq1URU0U_{\mathsf{Ver}}^{\prime}=U_{q}U_{R}U_{q-1}\cdots U_{R}U_{0}.
U𝖲𝗂𝗆U_{\mathsf{Sim}} the unitary corresponding to running 𝖵𝖾𝗋D,|𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{Ver}^{D,\ket{\mathsf{PSPACE}}} where DD is the content in 𝖣𝒜\mathsf{D}_{\mathcal{A}}, U𝖲𝗂𝗆=UqUDUq1UDU0U_{\mathsf{Sim}}=U_{q}U_{D}U_{q-1}\cdots U_{D}U_{0}.
U𝖴𝗉𝖽U_{\mathsf{Upd}} the unitary defined in Section 6.1 that describes our update phase. Formally, it’s the unitary j=0N(n)1(U𝖵𝖾𝗋U𝖲𝗒𝗇)j|jj|𝖩.\sum_{j=0}^{N(n)-1}(U_{\mathsf{Ver}}U_{\mathsf{Syn}})^{j}\ket{j}\!\bra{j}_{\mathsf{J}}.