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

11institutetext: Joint Center for Quantum Information and Computer Science, University of Maryland22institutetext: National Institute of Standards and Technology, Gaithersburg, Maryland33institutetext: QuSoft, Amsterdam44institutetext: Centrum Wiskunde & Informatica, Amsterdam55institutetext: Department of Computer Science and Engineering, University of Connecticut

Efficient simulation of random states and random unitaries

Gorjan Alagic 1122 Christian Majenz 3344 Alexander Russell 55
(September 30, 2025)
Abstract

We consider the problem of efficiently simulating random quantum states and random unitary operators, in a manner which is convincing to unbounded adversaries with black-box oracle access.

This problem has previously only been considered for restricted adversaries. Against adversaries with an a priori bound on the number of queries, it is well-known that tt-designs suffice. Against polynomial-time adversaries, one can use pseudorandom states (PRS) and pseudorandom unitaries (PRU), as defined in a recent work of Ji, Liu, and Song; unfortunately, no provably secure construction is known for PRUs.

In our setting, we are concerned with unbounded adversaries. Nonetheless, we are able to give stateful quantum algorithms which simulate the ideal object in both settings of interest. In the case of Haar-random states, our simulator is polynomial-time, has negligible error, and can also simulate verification and reflection through the simulated state. This yields an immediate application to quantum money: a money scheme which is information-theoretically unforgeable and untraceable. In the case of Haar-random unitaries, our simulator takes polynomial space, but simulates both forward and inverse access with zero error.

These results can be seen as the first significant steps in developing a theory of lazy sampling for random quantum objects.

1 Introduction

1.1 Motivation

Efficient simulation of randomness is a task with countless applications, ranging from cryptography to derandomization. In the setting of classical probabilistic computation, such simulation is straightforward in many settings. For example, a random function which will only be queried an a priori bounded number of times tt can be perfectly simulated using a tt-wise independent function [31]. In the case of unbounded queries, one can use pseudorandom functions (PRFs), provided the queries are made by a polynomial-time algorithm [16]. These are examples of stateless simulation methods, in the sense that the internal memory of the simulator is initialized once (e.g., with the PRF key) and then remains fixed regardless of how the simulator is queried. Against arbitrary adversaries, one must typically pass to stateful simulation. For example, the straightforward and well-known technique of lazy sampling suffices to perfectly simulate a random function against arbitrary adversaries; however, the simulator must maintain a list of responses to all previous queries.

Each of these techniques for simulating random classical primitives has a plethora of applications in theoretical cryptography, both as a proof tool and for cryptographic constructions. These range from constructing secure cryptosystems for encryption and authentication, to proving security reductions in a wide range of settings, to establishing security in idealized models such as the Random Oracle Model [6].

1.1.1 Quantum randomness.

As is well-known, quantum sources of randomness exhibit dramatically different properties from their classical counterparts [23, 7]. Compare, for example, uniformly random nn-bit classical states (i.e., nn-bit strings) and uniformly random nn-qubit (pure) quantum states. A random string xx is obviously trivial to sample perfectly given probabilistic classical (or quantum) computation, and can be copied and distributed arbitrarily. However, it is also (just as obviously) deterministic to all parties who have examined it before. By contrast, a random state |φ\lvert\mspace{0.5mu}\varphi\mspace{0.5mu}\rangle would take an unbounded amount of information to describe perfectly. Even if one manages to procure such a state, it is then impossible to copy due to the no-cloning theorem. On the other hand, parties who have examined |φ\lvert\mspace{0.5mu}\varphi\mspace{0.5mu}\rangle many times before, can still extract almost exactly nn bits of randomness from any fresh copy of |φ\lvert\mspace{0.5mu}\varphi\mspace{0.5mu}\rangle they receive – even if they use the exact same measurement procedure each time.

The differences between random classical and random quantum maps are even more stark. The outputs of a classical random function are of course classical random strings, with all of the aforementioned properties. Outputs which have already been examined become effectively deterministic, while the rest remain uniformly random and independent. This is precisely what makes efficient simulation possible via lazy sampling. A Haar-random unitary UU queried on two inputs |ψ\lvert\mspace{0.5mu}\psi\mspace{0.5mu}\rangle and |ϕ\lvert\mspace{0.5mu}\phi\mspace{0.5mu}\rangle also produces (almost) independent and uniformly random states when queried, but only if the queries are orthogonal, i.e., ψϕ=0\left\langle\psi\mid\phi\right\rangle=0. Unitarity implies that overlapping queries must be answered consistently, i.e., if ψϕ=δ\left\langle\psi\mid\phi\right\rangle=\delta then (Uψ)(Uϕ)=δ\left\langle(U\psi)\mid(U\phi)\right\rangle=\delta. This possibility of querying with a distinct pure state which is not linearly independent from previous queries simply doesn’t exist for classical functions.

We emphasize that the above differences should not be interpreted as quantum random objects simply being “stronger” than their classical counterparts. In the case of classical states, i.e. strings, the ability to copy is quite useful, e.g., in setting down basic security definitions [8, 3, 2] or when rewinding an algorithm [29, 30, 14]. In the case of maps, determinism is also quite useful, e.g., for verification in message authentication.

1.2 The problem: efficient simulation

Given the dramatic differences between classical and quantum randomness, and the usefulness of both, it is reasonable to ask if there exist quantum analogues of the aforementioned efficient simulators of classical random functions. In fact, given the discussion above, it is clear that we should begin by asking if there even exist efficient simulators of random quantum states.

1.2.1 Simulating random states.

The first problem of interest is thus to efficiently simulate the following ideal object: an oracle 𝔖(n)\mathfrak{IS}(n) which contains a description of a perfectly Haar-random nn-qubit pure state |φ\lvert\mspace{0.5mu}\varphi\mspace{0.5mu}\rangle, and which outputs a copy of |φ\lvert\mspace{0.5mu}\varphi\mspace{0.5mu}\rangle whenever it is invoked. We first make an obvious observation: the classical analogue, which is simply to generate a random bitstring x{0,1}nx\leftarrow\{0,1\}^{n} and then produce a copy whenever asked, is completely trivial. In the quantum case, efficient simulation is only known against limited query algorithms (henceforth, adversaries.)

If the adversary has an a priori bound on the number of queries, then state tt-designs suffice. These are indexed families {|φk,t:kKt}\{\lvert\mspace{0.5mu}\varphi_{k,t}\mspace{0.5mu}\rangle:k\in K_{t}\} of pure states which perfectly emulate the standard uniform “Haar” measure on pure states, up to the first tt moments. State tt-designs can be sampled efficiently, and thus yield a stateless simulator for this case [4]. A recent work of Ji, Liu and Song considered the case of polynomial-time adversaries [18]. They defined a notion of pseudorandom states (PRS), which appear Haar-random to polynomial-time adversaries who are allowed as many copies of the state as they wish. They also showed how to construct PRS efficiently, thus yielding a stateless simulator for this class of constrained adversaries [18]; see also [9].

The case of arbitrary adversaries is, to our knowledge, completely unexplored. In particular, before this work it was not known whether simulating 𝔖(n)\mathfrak{IS}(n) against adversaries with no a priori bound on query or time complexity is possible, even if given polynomial space (in nn and the number of queries) and unlimited time. Note that, while the state family constructions from [18, 9] could be lifted to the unconditional security setting by instantiating them with random instead of pseudorandom functions, this would require space exponential in nn regardless of the number of queries.

1.2.2 Simulating random unitaries.

In the case of simulating random unitaries, the ideal object is an oracle 𝔘\mathfrak{IU} (n) which contains a description of a perfectly Haar-random nn-qubit unitary operator UU, and applies UU to its input whenever it is invoked. The classical analogue is the well-known Random Oracle, and can be simulated perfectly using the aforementioned technique of lazy sampling. In the quantum case, the situation is even less well-understood than in the case of states.

For the case of query-limited adversaries, we can again rely on design techniques: (approximate) unitary tt-designs can be sampled efficiently, and suffice for the task [10, 21]. Against polynomial-time adversaries, Ji, Liu and Song defined the natural notion of a pseudorandom unitary (or PRU) and described candidate constructions [18]. Unfortunately, at this time there are no provably secure constructions of PRUs. As in the case of states, the case of arbitrary adversaries is completely unexplored. Moreover, one could a priori plausibly conjecture that simulating 𝔘\mathfrak{IU} might even be impossible. The no-cloning property seems to rule out examining input states, which in turn seems to make it quite difficult for a simulator to correctly identify the overlap between multiple queries, and then answer correspondingly.

1.2.3 Extensions.

While the above problems already appear quite challenging, we mention several natural extensions that one might consider. First, for the case of repeatedly sampling a random state |φ\lvert\mspace{0.5mu}\varphi\mspace{0.5mu}\rangle, one would ideally want some additional features, such as the ability to apply the two-outcome measurement {|φφ|,𝟙|φφ|}\{|\varphi\rangle\langle\varphi|,\mathds{1}-|\varphi\rangle\langle\varphi|\} (verification) or the reflection 𝟙2|φφ|\mathds{1}-2|\varphi\rangle\langle\varphi|. In the case of pseudorandom simulation, these additional features can be used to create a (computationally secure) quantum money scheme [18]. For the case of simulating random unitaries, we might naturally ask that the simulator for a unitary UU also has the ability to respond to queries to U1=UU^{-1}=U^{\dagger}.

1.3 This work

In this work, we make significant progress on the above problems, by giving the first simulators for both random states and random unitaries, which are convincing to arbitrary adversaries. We also give an application of our sampling ideas: the construction of a new quantum money scheme, which provides information-theoretic security guarantees against both forging and tracing.

We begin by remarking that our desired simulators must necessarily be stateful, for both states and unitaries. Indeed, since approximate tt-designs have Ω((22n/t)2t)\Omega((2^{2n}/t)^{2t}) elements (see, e.g., [26] which provides a more fine-grained lower bound), a stateless approach would require superpolynomial space simply to store an index from a set of size Ω((22n/t(n))2t(n))\Omega((2^{2n}/t(n))^{2t(n)}) for all polynomials t(n)t(n).

In the following, we give a high-level overview of our approach for each of the two simulation problems of interest.

1.3.1 Simulating random states.

As discussed above, we wish to construct an efficient simulator 𝔈𝔖(n)\mathfrak{ES}(n) for the ideal oracle 𝔖(n)\mathfrak{IS}(n). For now we focus on simulating the procedure which generates copies of the fixed Haar-random state; we call this 𝔖(n).𝖦𝖾𝗇\mathfrak{IS}(n).\mathsf{Gen}. We first note that the mixed state observed by the adversary after tt queries to 𝔖(n).𝖦𝖾𝗇\mathfrak{IS}(n).\mathsf{Gen} is the expectation of the projector onto tt copies of |ψ\lvert\mspace{0.5mu}\psi\mspace{0.5mu}\rangle. Equivalently, it is the (normalized) projector onto the symmetric subspace 𝐒𝐲𝐦n,t\mathbf{Sym}_{n,t} of (2n)t(\mathbb{C}^{2^{n}})^{\otimes t}:

τt=𝔼ψHaar|ψψ|tΠSymt2n.\tau_{t}=\mathbb{E}_{\psi\sim\mathrm{Haar}}|\psi\rangle\langle\psi|^{\otimes t}\propto\Pi_{\mathrm{Sym}^{t}\mathbb{C}^{2^{n}}}\,. (1)

Recall that 𝐒𝐲𝐦n,t\mathbf{Sym}_{n,t} is the subspace of (2n)t(\mathbb{C}^{2^{n}})^{\otimes t} of vectors which are invariant under permutations of the tt tensor factors. Our goal will be to maintain an entangled state between the adversary 𝒜\mathcal{A} and our oracle simulator 𝔈𝔖\mathfrak{ES} such that the reduced state on the side of 𝒜\mathcal{A} is τt\tau_{t} after tt queries. Specifically, the joint state will be the maximally entangled state between the 𝐒𝐲𝐦n,t\mathbf{Sym}_{n,t} subspace of the tt query output registers received by 𝒜\mathcal{A}, and the 𝐒𝐲𝐦n,t\mathbf{Sym}_{n,t} subspace of tt registers held by 𝔈𝔖\mathfrak{ES}. If we can maintain this for the first tt queries, then it’s not hard to see that there exists an isometry Vtt+1V^{t\rightarrow t+1} which, by acting only on the state of 𝔈𝔖\mathfrak{ES}, implements the extension from the tt-fold to the (t+1)(t+1)-fold joint state.

The main technical obstacle, which we resolve, is showing that Vtt+1V^{t\rightarrow t+1} can be performed efficiently. To achieve this, we develop some new algorithmic tools for working with symmetric subspaces, including an algorithm for coherent preparation of its basis states. We let AA denote an nn-qubit register, AjA_{j} its indexed copies, and At=A1AtA^{t}=A_{1}\cdots A_{t} tt-many indexed copies (and likewise for BB.) We also let {|Sym(α):αSn,t}\{\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle:\alpha\in S^{\scriptscriptstyle\uparrow}_{n,t}\} denote a particular orthonormal basis set for 𝐒𝐲𝐦n,t\mathbf{Sym}_{n,t}, indexed by some set Sn,tS^{\scriptscriptstyle\uparrow}_{n,t} (see Section 3 for definitions of these objects.)

Theorem 1.1

For each nn and tt, there exists a polynomial-time quantum algorithm which implements an isometry V=Vtt+1V=V^{t\to t+1} from BtB^{t} to At+1Bt+1A_{t+1}B^{t+1} such that, up to negligible trace distance,

(𝟙AtV)αSn,t|Sym(α)At|Sym(α)Bt=βSn,t+1|Sym(β)At+1|Sym(β)Bt+1.(\mathds{1}_{A^{t}}\otimes V)\sum_{\alpha\in{S^{\scriptscriptstyle\uparrow}_{n,t}}}\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle_{A^{t}}\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle_{B^{t}}=\!\!\!\sum_{\beta\in{S^{\scriptscriptstyle\uparrow}_{n,t+1}}}\lvert\mspace{0.5mu}\mathrm{Sym}(\beta)\mspace{0.5mu}\rangle_{A^{t+1}}\lvert\mspace{0.5mu}\mathrm{Sym}(\beta)\mspace{0.5mu}\rangle_{B^{t+1}}\,.

Above, VV is an operator defined to apply to a specific subset of registers of a state. When no confusion can arise, in such settings we will abbreviate 𝟙V\mathds{1}\otimes V—the application of this operator on the entire state—as simply VV.

It will be helpful to view Vtt+1V^{t\to t+1} as first preparing |0nAt+1|0nBt+1\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle_{A_{t+1}}\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle_{B_{t+1}} and then applying a unitary Utt+1U^{t\to t+1} on At+1Bt+1A_{t+1}B^{t+1}. Theorem 1.1 then gives us a way to answer 𝖦𝖾𝗇\mathsf{Gen} queries efficiently, as follows. For the first query, we prepare a maximally entangled state |ϕ+A1B1\lvert\mspace{0.5mu}\phi^{+}\mspace{0.5mu}\rangle_{A_{1}B_{1}} across two nn-qubit registers A1A_{1} and B1B_{1}, and reply with register A1A_{1}. Note that 𝐒𝐲𝐦n,1=2n\mathbf{Sym}_{n,1}=\mathbb{C}^{2^{n}}. For the second query, we prepare two fresh registers A2A_{2} and B2B_{2}, both in the |0n\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle state, apply U12U^{1\to 2} on A2B1B2A_{2}B_{1}B_{2}, return A2A_{2}, and keep B1B2B_{1}B_{2}. For the tt-th query, we proceed similarly, preparing fresh blank registers At+1Bt+1A_{t+1}B_{t+1}, applying Utt+1U^{t\to t+1}, and then outputting the register At+1A_{t+1}.

With this approach, as it turns out, there is also a natural way to respond to verification queries 𝖵𝖾𝗋\mathsf{Ver} and reflection queries 𝖱𝖾𝖿𝗅𝖾𝖼𝗍\mathsf{Reflect}. The ideal functionality 𝔖\mathfrak{IS}.𝖵𝖾𝗋\mathsf{Ver} is to apply the two-outcome measurement {|φφ|,𝟙|φφ|}\{|\varphi\rangle\langle\varphi|,\mathds{1}-|\varphi\rangle\langle\varphi|\} corresponding to the Haar-random state |φ\lvert\mspace{0.5mu}\varphi\mspace{0.5mu}\rangle. To simulate this after producing tt samples, we apply the inverse of Ut1tU^{t-1\to t}, apply the measurement {|02n02n|,𝟙|02n02n|}\{|0^{2n}\rangle\langle 0^{2n}|,\mathds{1}-|0^{2n}\rangle\langle 0^{2n}|\} to AtBtA_{t}B_{t}, reapply Ut1tU^{t-1\to t}, and then return AtA_{t} together with the measurement outcome (i.e., yes/no). For 𝔖\mathfrak{IS}.𝖱𝖾𝖿𝗅𝖾𝖼𝗍\mathsf{Reflect}, the ideal functionality is to apply the reflection 𝟙2|φφ|\mathds{1}-2|\varphi\rangle\langle\varphi| through the state. To simulate this, we perform a sequence of operations analogous to 𝖵𝖾𝗋\mathsf{Ver}, but apply a phase of 1-1 on the |02n\lvert\mspace{0.5mu}0^{2n}\mspace{0.5mu}\rangle state of AtBtA_{t}B_{t} instead of measuring.

Our main result on simulating random states is to establish that this collection of algorithms correctly simulates the ideal object 𝔖\mathfrak{IS}, in the following sense.

Theorem 1.2

There exists a stateful quantum algorithm 𝔈𝔖(n,ϵ)\mathfrak{ES}(n,\epsilon) which runs in time polynomial in nn, log(1/ϵ)\log(1/\epsilon), and the number of queries qq submitted to it, and satisfies the following. For all oracle algorithms 𝒜\mathcal{A},

|Pr[𝒜𝔖(n)=1]Pr[𝒜𝔈𝔖(n,ϵ)=1]|ϵ.\left|\Pr\left[\mathcal{A}^{\mathfrak{IS}(n)}=1\right]-\Pr\left[\mathcal{A}^{\mathfrak{ES}(n,\epsilon)}=1\right]\right|\leq\epsilon\,.

A complete description of our construction, together with the proofs of Theorem 1.1 and Theorem 1.2, are given in Section 3.

1.3.2 Application: untraceable quantum money.

To see that the efficient state sampler leads to a powerful quantum money scheme, consider building a scheme where the bank holds the ideal object 𝔖.\mathfrak{IS}. The bank can mint bills by 𝔖.𝖦𝖾𝗇\mathfrak{IS}.\mathsf{Gen}, and verify them using 𝔖.𝖵𝖾𝗋\mathfrak{IS}.\mathsf{Ver}. As each bill is guaranteed to be an identical and Haar-random state, it is clear that this scheme should satisfy perfect unforgeability and untraceability, under quite strong notions of security.

By Theorem 3.2, the same properties should carry over for a money scheme built on 𝔈𝔖\mathfrak{ES}, provided ϵ\epsilon is sufficiently small. We call the resulting scheme Haar money. Haar money is an information-theoretically secure analogue of the scheme of [18], which is based on pseudorandom states. We remark that our scheme requires the bank to have quantum memory and to perform quantum communication with the customers. However, given that quantum money already requires customers to have large-scale, high-fidelity quantum storage, these additional requirements seem reasonable.

The notions of correctness and unforgeability (often called completeness and soundness) for quantum money are well-known (see, e.g., [1].) Correctness asks that honestly generated money schemes should verify, i.e., 𝖵𝖾𝗋(𝖬𝗂𝗇𝗍)\mathsf{Ver}(\mathsf{Mint}) should always accept. Unforgeability states that an adversary with kk bills and oracle access to 𝖵𝖾𝗋\mathsf{Ver} should not be able to produce a state on which 𝖵𝖾𝗋k+1\mathsf{Ver}^{\otimes k+1} accepts. In this work, we consider untraceable quantum money (also called “quantum coins” [24].) We give a formal security definition for untraceability, which states that an adversary 𝒜\mathcal{A} with oracle access to 𝖵𝖾𝗋\mathsf{Ver} and 𝖬𝗂𝗇𝗍\mathsf{Mint} cannot do better than random guessing in the following experiment:

  1. 1.

    𝒜\mathcal{A} outputs some candidate bill registers {Mj}\{M_{j}\} and a permutation π\pi;

  2. 2.

    b{0,1}b\leftarrow\{0,1\} is sampled, and if b=1b=1 the registers {Mj}\{M_{j}\} are permuted by π\pi; each candidate bill is verified and the failed ones are discarded;

  3. 3.

    𝒜\mathcal{A} receives the rest of the bills and the entire internal state of the bank, and outputs a guess bb^{\prime} for bb.

Theorem 1.3

The Haar money scheme 𝔐\mathfrak{HM}, defined by setting

  1. 1.

    𝔐.𝖬𝗂𝗇𝗍=𝔈𝔖(n,𝗇𝖾𝗀𝗅(n)).𝖦𝖾𝗇\mathfrak{HM}.\mathsf{Mint}=\mathfrak{ES}(n,\mathsf{negl}(n)).\mathsf{Gen}

  2. 2.

    𝔐.𝖵𝖾𝗋=𝔈𝔖(n,𝗇𝖾𝗀𝗅(n)).𝖵𝖾𝗋\mathfrak{HM}.\mathsf{Ver}=\mathfrak{ES}(n,\mathsf{negl}(n)).\mathsf{Ver}

is a correct quantum money scheme which satisfies information-theoretic unforgeability and untraceability.

One might reasonably ask if there are even stronger definitions of security for quantum money. Given its relationship to the ideal state sampler, we believe that Haar money should satisfy almost any notion of unforgeability and untraceability, including composable notions. We also remark that, based on the structure of the state simulator, which maintains an overall pure state supported on two copies of the symmetric subspace of banknote registers, it is straightforward to see that the scheme is also secure against an “honest but curious” or “specious” [27, 15] bank. We leave the formalization of these added security guarantees to future work.

1.3.3 Sampling Haar-random unitaries.

Next, we turn to the problem of simulating Haar-random unitary operators. In this case, the ideal object 𝔘(n)\mathfrak{IU}(n) initially samples a description of a perfectly Haar-random nn-qubit unitary UU, and then responds to two types of queries: 𝔘.𝖤𝗏𝖺𝗅\mathfrak{IU}.\mathsf{Eval}, which applies UU, and 𝔘.𝖨𝗇𝗏𝖾𝗋𝗍\mathfrak{IU}.\mathsf{Invert}, which applies UU^{\dagger}. In this case, we are able to construct a stateful simulator that runs in space polynomial in nn and the number of queries qq, and is exactly indistinguishable from 𝔘(n)\mathfrak{IU}(n) to arbitrary adversaries. Our result can be viewed as a polynomial-space quantum analogue of the classical technique of lazy sampling for random oracles.

Our high-level approach is as follows. For now, suppose the adversary 𝒜\mathcal{A} only makes parallel queries to 𝖤𝗏𝖺𝗅\mathsf{Eval}. If the query count tt of 𝒜\mathcal{A} is a priori bounded, we can simply sample an element of a unitary tt-design. We can also do this coherently: prepare a quantum register II in uniform superposition over the index set of the tt-design, and then apply the tt-design controlled on II. Call this efficient simulator 𝔈𝔘t\mathfrak{EU}_{t}. Observe that the effect of tt parallel queries is just the application of the tt-twirling channel 𝒯(t)\mathcal{T}^{(t)} to the tt input registers [10], and that 𝔈𝔘t\mathfrak{EU}_{t} simulates 𝒯(t)\mathcal{T}^{(t)} faithfully. What is more, it applies a Stinespring dilation111The Stinespring dilation of a quantum channel is an isometry with the property that the quantum channel can be implemented by applying the isometry and subsequently discarding an auxiliary register. [28] of 𝒯(t)\mathcal{T}^{(t)} with dilating register II.

Now suppose 𝒜\mathcal{A} makes an “extra” query, i.e., query number t+1t+1. Consider an alternative Stinespring dilation of 𝒯(t)\mathcal{T}^{(t)}, namely the one implemented by 𝔈𝔘t+1\mathfrak{EU}_{t+1} when queried tt times. Recall that all Stinespring dilations of a quantum channel are equivalent, up to a partial isometry on the dilating register. It follows that there is a partial isometry, acting on the private space of 𝔈𝔘t\mathfrak{EU}_{t}, that transforms the dilation of 𝒯(t)\mathcal{T}^{(t)} implemented by 𝔈𝔘t\mathfrak{EU}_{t} into the dilation of 𝒯(t)\mathcal{T}^{(t)} implemented by 𝔈𝔘t+1\mathfrak{EU}_{t+1}. If we implement this transformation, and then respond to 𝒜\mathcal{A} as prescribed by 𝔈𝔘t+1\mathfrak{EU}_{t+1}, we have achieved perfect indistinguishability against the additional query. By iterating this process, we see that the a priori bound on the number of queries is no longer needed. We let 𝔈𝔘\mathfrak{EU} denote the resulting simulator. The complete construction is described in Construction 4 below.

Our high-level discussion above did not take approximation into account. All currently known efficient constructions of tt-designs are approximate. Here, we take a different approach: we will implement our construction using exact tt-designs. This addresses the issue of adaptive queries: if there exists an adaptive-query distinguisher with nonzero distinguishing probability, then by post-selection there also exists a parallel-query one via probabilistic teleportation. This yields that the ideal and efficient unitary samplers are perfectly indistinguishable to arbitrary adversaries.

Theorem 1.4

For all oracle algorithms 𝒜\mathcal{A}, Pr[𝒜𝔘(n)=1]=Pr[𝒜𝔈𝔘(n)=1].\Pr\left[\mathcal{A}^{\mathfrak{IU}(n)}=1\right]=\Pr\left[\mathcal{A}^{\mathfrak{EU}(n)}=1\right].

The existence of exact unitary tt-designs for all tt is a fairly recent result. It follows as a special case of a result of Kane [19], who shows that designs exist for all finite-dimensional vector spaces of well-behaved functions on path-connected topological spaces. He also gives a simpler result for homogeneous spaces when the vector space of functions is invariant under the symmetry group action. Here, the number of elements of the smallest design is bounded just in terms of the dimension of the space of functions. The unitary group is an example of such a space, and the dimension of the space of homogeneous polynomials of degree tt in both UU and UU^{\dagger} can be explicitly derived, see e.g. [26]. This yields the following.

Corollary 1

The space complexity of 𝔈𝔘(n)\mathfrak{EU}(n) for qq queries is bounded from above by 2q(2n+loge)+O(logq)2q(2n+\log e)+O(\log q).

1.3.4 An alternative approach.

We now sketch another potential approach to lazy sampling of unitaries. Very briefly, this approach takes a representation-theoretic perspective and suggests that the Schur transform [5] could lead to a polynomial-time algorithm for lazy sampling Haar-random unitaries. The discussion below uses tools and language from quantum information theory and the representation theory of the unitary and symmetric groups to a much larger extent than the rest of the article, and is not required for understanding our main results.

We remark that the analogous problem of lazy sampling a quantum oracle for a random classical function was recently solved by Zhandry [32]. One of the advantages of Zhandry’s technique is that it partly recovers the ability to inspect previously made queries, an important feature of classical lazy sampling. The key insight is that the simulator can implement the Stinespring dilation of the oracle channel, and thus record the output of the complementary channel.222The complementary channel of a quantum channel maps the input to the auxiliary output of the Stinespring dilation isometry. As the classical function is computed via XOR, changing to the 2n\mathbb{Z}_{2}^{n}-Fourier basis makes the recording property explicit. It also allows for an efficient implementation.

In the case of Haar-random unitary oracles, we can make an analogous observation. Consider an algorithm that makes tt parallel queries to UU. The relevant Fourier transform is now over the unitary group, and is given by the Schur transform [5]. By Schur-Weyl duality (see e.g. [12]), the decomposition of (2n)t\left(\mathbb{C}^{2^{n}}\right)^{\otimes t} into irreducible representations is given by

(d)tλdt[λ]Vλ,d.\left(\mathbb{C}^{d}\right)^{\otimes t}\cong\bigoplus_{\lambda\vdash_{d}t}[\lambda]\otimes V_{\lambda,d}. (2)

Here λdt\lambda\vdash_{d}t means λ\lambda is any partition of tt into at most dd parts, [λ][\lambda] is the Specht module of StS_{t}, and Vλ,dV_{\lambda,d} is the Weyl module of U(d)U(d), corresponding to the partition λ\lambda, respectively. By Schur’s lemma, the tt-twirling channel acts as

𝒯(t)=λdtid[λ]ΛVλ,d,\mathcal{T}^{(t)}=\bigoplus_{\lambda\vdash_{d}t}\mathrm{id}_{[\lambda]}\otimes\Lambda_{V_{\lambda,d}}, (3)

where id\mathrm{id} is the identity channel, and Λ=Tr()τ\Lambda=\mathrm{Tr}(\cdot)\tau with the maximally mixed state τ\tau is the depolarizing channel. We therefore obtain a Stinespring dilation of the tt-twirling channel as follows. Let B~,B~\tilde{B},\tilde{B}^{\prime} be registers with Hilbert spaces

B~=B~=λdtVλ,d\mathcal{H}_{\tilde{B}}=\mathcal{H}_{\tilde{B}^{\prime}}=\bigotimes_{\lambda\vdash_{d}t}V_{\lambda,d} (4)

and denote the subregisters by B~λ\tilde{B}_{\lambda} and B~λ\tilde{B}^{\prime}_{\lambda}, respectively. Let further |ϕ+B~B~\lvert\mspace{0.5mu}\phi^{+}\mspace{0.5mu}\rangle_{\tilde{B}\tilde{B}^{\prime}} be the standard maximally entangled state on these registers, and let CC be a register whose dimension is the number of partitions of tt (into at most 2n2^{n} parts). Define the isometry

V^AtB~AtB~C=λdtFVλ,dB~λ𝕀[λ]|λC\hat{V}_{A^{t}\tilde{B}\to A^{t}\tilde{B}C}=\bigoplus_{\lambda\vdash_{d}t}F_{V_{\lambda,d}\tilde{B}_{\lambda}}\otimes\mathbb{I}_{[\lambda]}\otimes\lvert\mspace{0.5mu}\lambda\mspace{0.5mu}\rangle_{C} (5)

In the above equation Vλ,dV_{\lambda,d} and [λ][\lambda] are understood to be subspaces of AtA^{t}, the identity operators on B~μ\tilde{B}_{\mu}, μλ\mu\neq\lambda are omitted and FF is the swap operator. By (3), a Stinespring dilation of the tt-twirling channel is then given by

VAtAtB~B~C=V^AtB~AtB~C|ϕ+B~B~.V_{A^{t}\to A^{t}\tilde{B}\tilde{B}^{\prime}C}=\hat{V}_{A^{t}\tilde{B}\to A^{t}\tilde{B}C}\lvert\mspace{0.5mu}\phi^{+}\mspace{0.5mu}\rangle_{\tilde{B}\tilde{B}^{\prime}}. (6)

By the equivalence of all Stinespring dilations, the exists an isometry WB^tB~B~CW_{\hat{B}_{t}\to\tilde{B}\tilde{B}^{\prime}C} that transforms the state register of 𝔈𝔘(n)\mathfrak{EU}(n) after tt parallel queries so that the global state is the same as if the Stinespring dilation above had been applied to the tt input registers. But now the quantum information that was contained in the subspace Vλ,dV_{\lambda,d} of the algorithm’s query registers can be found in register B~λ\tilde{B}_{\lambda}.

1.4 Organization

The remainder of the paper is organized as follows. In Section 2, we recall some basic notation and facts, and some lemmas concerning coherent preparation of certain generic families of quantum states. The proofs for these lemmas are given in Appendix 0.A. We also describe stateful machines, which will be our model for thinking about the aforementioned ideal objects and their efficient simulators. In Section 3 we describe our efficient simulator for Haar-random states, and in Section 4 we describe our polynomial-space simulator for Haar-random unitaries. We end by describing the Haar money scheme and establishing its security in Section 5.

1.5 Acknowledgments

The authors thank Yi-Kai Liu, Carl Miller, and Fang Song on helpful comments on an earlier draft. CM thanks Michael Walter for discussions about tt-designs. CM was funded by a NWO VIDI grant (Project No. 639.022.519) and a NWO VENI grant (Project No. VI.Veni.192.159). GA acknowledges support from NSF grant CCF-1763736.

2 Preliminaries

2.1 Some basics

Given a fixed-size (e.g., nn-qubit) register AA, we will use A1,A2,A_{1},A_{2},\dots to denote indexed copies of AA. We will use AtA^{t} to denote a register consisting of tt indexed copies of AA, i.e., At=A1A2AtA^{t}=A_{1}A_{2}\cdots A_{t}. Unless stated otherwise, distances of quantum states are measured in the trace distance, i.e.,

d(ρ,σ)=12ρσ1whereX1=Tr(XX).d(\rho,\sigma)=\frac{1}{2}\|\rho-\sigma\|_{1}\qquad\text{where}\qquad\|X\|_{1}=\mathrm{Tr}\left(\sqrt{X^{\dagger}X}\right)\,.

Distances of unitary operators are measured in the operator norm.

We will frequently apply operators to some subset of a larger collection of registers. In that context, we will use register indexing to indicate which registers are being acted upon, and suppress identities to simplify notation. The register indexing will also be suppressed when it is clear from context. For example, given an operator XABX_{A\to B} and some state ρ\rho on registers AA and CC, we will write X(ρ)X(\rho) in place of (X𝟙C)(ρ)(X\otimes\mathds{1}_{C})(\rho) to denote the state on BCBC resulting from applying XX to the AA register of ρ\rho.

We let |ϕ+AA\lvert\mspace{0.5mu}\phi^{+}\mspace{0.5mu}\rangle_{AA^{\prime}} denote the maximally entangled state on registers AA and AA^{\prime}. For a linear operator XX and some basis choice, we denote its transpose by XTX^{T}.

Lemma 1 (Mirror lemma; see, e.g., [22])

For XABX_{A\rightarrow B} a linear operator,

XAB|ϕ+AA=dim(B)dim(A)XBAT|ϕ+BB.X_{A\rightarrow B}\lvert\mspace{0.5mu}\phi^{+}\mspace{0.5mu}\rangle_{AA^{\prime}}=\sqrt{\frac{\dim(B)}{\dim(A)}}X^{T}_{B^{\prime}\rightarrow A^{\prime}}\lvert\mspace{0.5mu}\phi^{+}\mspace{0.5mu}\rangle_{BB^{\prime}}\,.

2.2 Unitary designs

Let μn\mu_{n} be the Haar measure on the unitary group U(2n)\mathrm{U}(2^{n}). We define the Haar tt-twirling channel 𝒯Haar(t)\mathcal{T}^{(t)}_{\mathrm{Haar}} by

𝒯Haar(t)(X)=U(2n)UtX(Ut)dμ(U).\mathcal{T}^{(t)}_{\mathrm{Haar}}(X)=\int_{\mathrm{U}(2^{n})}U^{\otimes t}X\left(U^{\otimes t}\right)^{\dagger}\mathrm{d}\mu(U). (7)

For a finite subset DU(2n)D\subset\mathrm{U}(2^{n}), we define the tt-twirling map with respect to DD as

𝒯D(t)(X)=1|D|UDUtX(Ut).\mathcal{T}^{(t)}_{D}(X)=\frac{1}{|D|}\sum_{U\in D}U^{\otimes t}X\left(U^{\otimes t}\right)^{\dagger}. (8)

An nn-qubit unitary tt-design is a finite set DU(2n)D\subset\mathrm{U}(2^{n}) such that

𝒯D(t)=𝒯Haar(t)(X)\mathcal{T}^{(t)}_{D}=\mathcal{T}^{(t)}_{\mathrm{Haar}}(X) (9)

Another twirling channel is the mixed twirling channels with \ell applications of the unitary and tt-\ell applications of it’s inverse,

𝒯Haar(,t)(Γ)=U(2n)U(U(t))Γ(U)U(t)dμ(U).\mathcal{T}^{(\ell,t-\ell)}_{\mathrm{Haar}}(\Gamma)=\int_{\mathrm{U}(2^{n})}U^{\otimes\ell}\otimes\left(U^{\otimes(t-\ell)}\right)^{\dagger}\Gamma\left(U^{\otimes\ell}\right)^{\dagger}\otimes U^{\otimes(t-\ell)}\mathrm{d}\mu(U). (10)

The mixed twirling channel 𝒯D(,t)\mathcal{T}^{(\ell,t-\ell)}_{D} for a finite set DU(2n)D\subset\mathrm{U}(2^{n}) is also defined analogous to Equation (8). As our definition of unitary tt-designs is equivalent to one based on the expectation values of polynomials (see, e.g., [21]), we easily obtain the following.

Proposition 1

Let DD be an nn-qubit unitary tt-design and 0t0\leq\ell\leq t. Then

𝒯Haar(,t)=𝒯D(,t)\mathcal{T}^{(\ell,t-\ell)}_{\mathrm{Haar}}=\mathcal{T}^{(\ell,t-\ell)}_{D} (11)

Finite exact unitary tt-designs exist. In particular, one can apply the following theorem to obtain an upper bound on their minimal size. Here, a design for a function space WW on a topological space XX with measure μ\mu is a finite set DXD\subset X such that the expectation of a function fWf\in W is the same whether it is taken over XX according to μ\mu or over the uniform distribution on DD.

Theorem 2.1 ([19], Theorem 10)

Let XX be a homogeneous space, μ\mu an invariant measure on XX and WW a MM-dimensional vector subspace of the space of real functions on XX that is invariant under the symmetry group of XX, where M>1M>1. Then for any N>M(M1)N>M(M-1), there exists a WW-design for XX of size NN. Furthermore, there exists a design for XX of size at most M(M1)M(M-1).

The case of unitary tt-designs is the one where X=U(2n)X=\mathrm{U}(2^{n}) is acting on itself (e.g., on the left), μ\mu is the Haar measure, and WW is the vector space of homogeneous polynomials of degree tt in both UU and UU^{\dagger}333The output of the twirling channel (7) is a matrix of such polynomials.. The dimension of this space is

Mt=(22n+t1t)2(e(22n+t1)t)t,M_{t}=\left(\begin{array}[]{c}2^{2n}+t-1\\ t\end{array}\right)^{2}\leq\left(\frac{e(2^{2n}+t-1)}{t}\right)^{t}, (12)

see e.g. [26]. We therefore get

Corollary 2

For all nn, there exists an exact nn-qubit unitary tt-design with a number of elements which is at most

(e(22n+t1)t)2t.\left(\frac{e(2^{2n}+t-1)}{t}\right)^{2t}\,.

2.3 Real and ideal stateful machines

We will frequently use stateful algorithms with multiple “interfaces” which allow a user to interact with the algorithm. We will refer to such objects as stateful machines. We will use stateful machines to describe functionalities (and implementations) of collections of oracles which relate to each other in some way. For example, one oracle might output a fixed state, while another oracle reflects about that state.

Definition 1 (Stateful machine)

A stateful machine 𝒮\mathcal{S} consists of:

  • A finite set Λ\Lambda, whose elements are called interfaces. Each interface Λ\mathcal{I}\in\Lambda has two fixed parameters nn_{\mathcal{I}}\in\mathbb{N} (input size) and mm_{\mathcal{I}}\in\mathbb{N} (output size), and a variable tt_{\mathcal{I}} initialized to 11 (query counter.)

  • For each interface Λ\mathcal{I}\in\Lambda, a sequence of quantum algorithms {𝒮.j:j=1,2,}\{\mathcal{S}.\mathcal{I}_{j}:j=1,2,\dots\}. Each 𝒮.j\mathcal{S}.\mathcal{I}_{j} has an input register of nn_{\mathcal{I}} qubits, an output register of mm_{\mathcal{I}} qubits, and is allowed to act on an additional shared work register RR (including the ability to add/remove qubits in RR.) In addition, each 𝒮.j\mathcal{S}.\mathcal{I}_{j} increments the corresponding query counter tt_{\mathcal{I}} by one.

The typical usage of a stateful machine 𝒮\mathcal{S} is as follows. First, the work register RR is initialized to be empty, i.e., no qubits. After that, whenever a user invokes an interface 𝒮.\mathcal{S}.\mathcal{I} and supplies nn_{\mathcal{I}} qubits in an input register MM, the algorithm 𝒮.t\mathcal{S}.\mathcal{I}_{t_{\mathcal{I}}} is invoked on registers MM and RR. The contents of the output register are returned to the user, and the new, updated work register remains for the next invocation. We emphasize that the work register is shared between all interfaces.

We remark that we will also sometimes define ideal machines, which behave outwardly like a stateful machine but are not constrained to apply only maps which are implementable in finite space or time. For example, an ideal machine can have an interface that implements a perfectly Haar-random unitary UU, and another interface which implements UU^{\dagger}.

2.4 Some state preparation tools

We now describe some algorithms for efficient coherent preparation of certain quantum state families. The proofs for the following lemmas can be found in Appendix 0.A. We begin with state families with polynomial support.

Lemma 2

Let |φ=x{0,1}nφ(x)|x\lvert\mspace{0.5mu}\varphi\mspace{0.5mu}\rangle=\sum_{x\in\{0,1\}^{n}}\varphi(x)\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle be a family of quantum states whose amplitudes φ\varphi have an efficient classical description φ~\tilde{\varphi}, and such that |{x:φ(x)0}|\poly|\{x:\varphi(x)\neq 0\}|\leq\poly. Then there exists a quantum algorithm 𝒫\mathcal{P} which runs in time polynomial in nn and log(1/ϵ)\log(1/\epsilon) and satisfies

𝒫|φ~|0n|φ~|φ2ϵ.\|\mathcal{P}\lvert\mspace{0.5mu}\tilde{\varphi}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle-\lvert\mspace{0.5mu}\tilde{\varphi}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\varphi\mspace{0.5mu}\rangle\|_{2}\leq\epsilon\,.

Given a set S{0,1}nS\subset\{0,1\}^{n}, we let

|S:=1|S|xS|xand|S¯:=12n|S|x{0,1}S|x\lvert\mspace{0.5mu}S\mspace{0.5mu}\rangle:=\frac{1}{\sqrt{|S|}}\sum_{x\in S}\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle\qquad\text{and}\qquad\lvert\mspace{0.5mu}\bar{S}\mspace{0.5mu}\rangle:=\frac{1}{\sqrt{2^{n}-|S|}}\sum_{x\in\{0,1\}\setminus S}\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle

denote the states supported only on SS and its set complement S¯\bar{S}, respectively. Provided that SS has polynomial size, we can perform coherent preparation of both state families efficiently: the former by Lemma 2 and the latter via the below.

Lemma 3

Let S{0,1}nS\subset\{0,1\}^{n} be a family of sets of size \poly\poly with efficient description S~\tilde{S}, and let ϵ>0\epsilon>0. There exists a quantum algorithm 𝒫\mathcal{P} which runs in time polynomial in nn and log(1/ϵ)\log(1/\epsilon) and satisfies

𝒫|S~A|0nB|S~A|S¯B2ϵ.\left\|\mathcal{P}\lvert\mspace{0.5mu}\tilde{S}\mspace{0.5mu}\rangle_{A}\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle_{B}-\lvert\mspace{0.5mu}\tilde{S}\mspace{0.5mu}\rangle_{A}\lvert\mspace{0.5mu}\bar{S}\mspace{0.5mu}\rangle_{B}\right\|_{2}\leq\epsilon\,.

Finally, we show that if two orthogonal quantum states can be prepared, then so can an arbitrary superposition of the two.

Lemma 4

Let |ζ0,j,|ζ1,j\lvert\mspace{0.5mu}\zeta_{0,j}\mspace{0.5mu}\rangle,\lvert\mspace{0.5mu}\zeta_{1,j}\mspace{0.5mu}\rangle be two familes of nn-qubit quantum states such that ζ0,jζ1,j=0\left\langle\zeta_{0,j}\mid\zeta_{1,j}\right\rangle=0 for all jj, and such that there exists a quantum algorithm 𝒫b\mathcal{P}_{b} which runs in time polynomial in nn and log(1/ϵ)\log(1/\epsilon) and satisfies 𝒫b|j|0n|j|ζb,j2ϵ\|\mathcal{P}_{b}\lvert\mspace{0.5mu}j\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle-\lvert\mspace{0.5mu}j\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\zeta_{b,j}\mspace{0.5mu}\rangle\|_{2}\leq\epsilon for b{0,1}b\in\{0,1\}.

For z0,z1z_{0},z_{1}\in\mathbb{C} such that |z0|2+|z1|2=1|z_{0}|^{2}+|z_{1}|^{2}=1, let z~\tilde{z} denote a classical description of (z0,z1)(z_{0},z_{1}) to precision at least ϵ\epsilon. There exists a quantum algorithm 𝒬\mathcal{Q} which runs in time polynomial in nn and log(1/ϵ)\log(1/\epsilon) and satisfies

𝒬|j|z~|0n|j|z~(z0|ζ0,j+z1|ζ1,j)2ϵ.\left\|\mathcal{Q}\lvert\mspace{0.5mu}j\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\tilde{z}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle-\lvert\mspace{0.5mu}j\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\tilde{z}\mspace{0.5mu}\rangle\bigl{(}z_{0}\lvert\mspace{0.5mu}\zeta_{0,j}\mspace{0.5mu}\rangle+z_{1}\lvert\mspace{0.5mu}\zeta_{1,j}\mspace{0.5mu}\rangle\bigr{)}\right\|_{2}\leq\epsilon\,. (13)

3 Simulating a Haar-random state oracle

3.1 The problem, and our approach

We begin by defining the ideal object we’d like to emulate. Here we deviate slightly from the discussion above, in that we ask for the reflection oracle to also accept a (quantum) control bit.

Construction 1 (Ideal state sampler)

The ideal nn-qubit state sampler is an ideal machine 𝔖(n)\mathfrak{IS}(n) with interfaces (𝖨𝗇𝗂𝗍,𝖦𝖾𝗇,𝖵𝖾𝗋,𝖢𝖱𝖾𝖿𝗅𝖾𝖼𝗍)(\mathsf{Init},\mathsf{Gen},\mathsf{Ver},\mathsf{CReflect}), defined as follows.

  1. 1.

    𝔖(n).𝖨𝗇𝗂𝗍:\mathfrak{IS}(n).\mathsf{Init}: takes no input; samples a description φ~\tilde{\varphi} of an nn-qubit state |φ\lvert\mspace{0.5mu}\varphi\mspace{0.5mu}\rangle from the Haar measure.

  2. 2.

    𝔖(n).𝖦𝖾𝗇:\mathfrak{IS}(n).\mathsf{Gen}: takes no input; uses φ~\tilde{\varphi} to prepare a copy of |φ\lvert\mspace{0.5mu}\varphi\mspace{0.5mu}\rangle and outputs it.

  3. 3.

    𝔖(n).𝖵𝖾𝗋:\mathfrak{IS}(n).\mathsf{Ver}: receives nn-qubit input; uses φ~\tilde{\varphi} to apply the measurement {|φφ|,\{|\varphi\rangle\langle\varphi|, 𝟙|φφ|}\mathds{1}-|\varphi\rangle\langle\varphi|\}; return the post-measurement state and output 𝖺𝖼𝖼\mathsf{acc} in the first case and 𝗋𝖾𝗃\mathsf{rej} in the second.

  4. 4.

    𝔖(n).𝖢𝖱𝖾𝖿𝗅𝖾𝖼𝗍:\mathfrak{IS}(n).\mathsf{CReflect}: receives (n+1)(n+1)-qubit input; uses φ~\tilde{\varphi} to implement the controlled reflection Rφ:=|00|𝟙+|11|(𝟙2|φφ|)R_{\varphi}:=\left|0\right\rangle\!\!\left\langle 0\right|\otimes\mathds{1}+\left|1\right\rangle\!\!\left\langle 1\right|\otimes(\mathds{1}-2\left|\varphi\right\rangle\!\!\left\langle\varphi\right|) about |φ\lvert\mspace{0.5mu}\varphi\mspace{0.5mu}\rangle.

We assume that 𝖨𝗇𝗂𝗍\mathsf{Init} is called first, and only once; the remaining oracles can then be called indefinitely many times, and in any order. If this is inconvenient for some application, one can easily adjust the remaining interfaces to invoke 𝖨𝗇𝗂𝗍\mathsf{Init} if that has not been done yet. We remark that 𝖵𝖾𝗋\mathsf{Ver} can be implemented with a single query to 𝖢𝖱𝖾𝖿𝗅𝖾𝖼𝗍\mathsf{CReflect}.

Lemma 5

𝖵𝖾𝗋\mathsf{Ver} can be simulated with one application of 𝖢𝖱𝖾𝖿𝗅𝖾𝖼𝗍\mathsf{CReflect}.

Proof

Prepare an ancillary qubit in the state |+\lvert\mspace{0.5mu}+\mspace{0.5mu}\rangle and apply the reflection on the input controlled on the ancillary qubit. Then apply HH to the ancilla qubit and measure it. Output all the qubits, with the ancilla interpreted as 1=𝖺𝖼𝖼1=\mathsf{acc} and 0=𝗋𝖾𝗃0=\mathsf{rej}. ∎

Our goal is to devise a stateful simulator for Construction 1 which is efficient. Efficient here means that, after tt total queries to all interfaces (i.e., 𝖨𝗇𝗂𝗍\mathsf{Init}, 𝖦𝖾𝗇\mathsf{Gen}, 𝖵𝖾𝗋\mathsf{Ver}, and 𝖢𝖱𝖾𝖿𝗅𝖾𝖼𝗍\mathsf{CReflect}), the simulator has expended time polynomial in nn, tt, and log(1/ϵ)\log(1/\epsilon).

As described in Section 1.3.1, our approach will be to ensure that, for every tt, the state shared between the adversary 𝒜\mathcal{A} and our stateful oracle simulator 𝔈𝔖\mathfrak{ES} will be maximally entangled between two copies of the tt-fold symmetric subspace 𝐒𝐲𝐦n,t\mathbf{Sym}_{n,t}: one held by 𝒜\mathcal{A}, and the other by 𝔈𝔖\mathfrak{ES}. The extension from the tt-fold to the (t+1)(t+1)-fold joint state will be performed by an isometry Vtt+1V^{t\rightarrow t+1} which acts only on the state of 𝔈𝔖\mathfrak{ES} and two fresh nn-qubit registers At+1A_{t+1} and Bt+1B_{t+1} initialized by 𝔈𝔖\mathfrak{ES}. After VV is applied, At+1A_{t+1} will be given to 𝒜\mathcal{A}. As we will show, VV can be performed efficiently using some algorithmic tools for working with symmetric subspaces, which we will develop in the next section. This will yield an efficient way of simulating 𝖦𝖾𝗇\mathsf{Gen}. Simulation of 𝖵𝖾𝗋\mathsf{Ver} and 𝖢𝖱𝖾𝖿𝗅𝖾𝖼𝗍\mathsf{CReflect} will follow without much difficulty, as outlined in Section 1.3.1.

3.2 Some tools for symmetric subspaces

3.2.1 A basis for the symmetric subspace.

We recall an explicit orthonormal basis of the symmetric subspace (see, e.g., [18] or [17].) Let

Sn,t={α({0,1}n)t|α1α2αt}S^{\scriptscriptstyle\uparrow}_{n,t}=\left\{\alpha\in\left(\{0,1\}^{n}\right)^{t}\Big{|}\alpha_{1}\leq\alpha_{2}\leq...\leq\alpha_{t}\right\} (14)

be the set of lexicographically-ordered tt-tuples of nn bit strings. For each αSn,t\alpha\in S^{\scriptscriptstyle\uparrow}_{n,t}, define the unit vector

|Sym(α)=(t!x{0,1}nfx(α)!)12σSt|ασ(1)|ασ(2)|ασ(t).\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle=\left(t!\prod_{x\in\{0,1\}^{n}}f_{x}(\alpha)!\right)^{-\frac{1}{2}}\sum_{\sigma\in S_{t}}\lvert\mspace{0.5mu}\alpha_{\sigma(1)}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\alpha_{\sigma(2)}\mspace{0.5mu}\rangle...\lvert\mspace{0.5mu}\alpha_{\sigma(t)}\mspace{0.5mu}\rangle. (15)

Here, fx(α)f_{x}(\alpha) is the number of times the string xx appears in the tuple α\alpha. The set {|Sym(α):αSn,t}\{\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle:\alpha\in S^{\scriptscriptstyle\uparrow}_{n,t}\} is an orthonormal basis for Symt2n\mathrm{Sym}^{t}\mathbb{C}^{2^{n}}. We remark that the Schmidt decomposition of |Sym(α)\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle with respect to the bipartition formed by the tt-th register vs. the rest is given by

|Sym(α)=x{0,1}nfx(α)t|Sym(αx)|x,\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle=\sum_{x\in\{0,1\}^{n}}\sqrt{\frac{f_{x}(\alpha)}{t}}\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha^{-x})\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle, (16)

where αxSn,t1\alpha^{-x}\in S^{\scriptscriptstyle\uparrow}_{n,t-1} is the tuple α\alpha with one copy of xx removed.

3.2.2 Some useful algorithms.

We now describe some algorithms for working in the above basis. Let AA and BB denote nn-qubit registers. Recall that AjA_{j} denotes indexed copies of AA and that AtA^{t} denotes A1A2AtA_{1}A_{2}\cdots A_{t}, and likewise for BB. In our setting, the various copies of AA will be prepared by the oracle simulator and then handed to the query algorithm at query time. The copies of BB will be prepared by, and always remain with, the oracle simulator.

Proposition 2

For each nn, tt and ϵ=2poly(n,t)\epsilon=2^{-\mathrm{poly}(n,t)}, there exists an efficiently implementable unitary Un,tSymU^{\mathrm{Sym}}_{n,t} on AtA^{t} such that for all αSn,t\alpha\in S^{\scriptscriptstyle\uparrow}_{n,t}, Un,tSym|α=|Sym(α)U^{\mathrm{Sym}}_{n,t}\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle=\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle up to trace distance ϵ\epsilon.

Proof

Clearly, the operation

|Sym(α)|β|Sym(α)|βα\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\beta\mspace{0.5mu}\rangle\mapsto\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\beta\oplus\alpha\mspace{0.5mu}\rangle (17)

is efficiently implementable exactly, by XORing the classical sort function of the first register into the second register.

Let us now show that the operation |α|α|Sym(α)\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle\mapsto\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle is also efficiently implementable (up to the desirable error) by exhibiting an explicit algorithm. We define it recursively in tt, as follows. For t=1t=1, Sym(x)=x\mathrm{Sym}(x)=x for all x{0,1}nx\in\{0,1\}^{n}, so this case is simply the map |x|x|x\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle\mapsto\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle. Suppose now the operation |α|α|Sym(α)\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle\mapsto\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle can be implemented for any αSn,t1\alpha\in S^{\scriptscriptstyle\uparrow}_{n,t-1}. The tt-th level algorithm will begin by applying

|α|αx{0,1}nfx(α)t|x.\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle\mapsto\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle\sum_{x\in\{0,1\}^{n}}\sqrt{\frac{f_{x}(\alpha)}{t}}\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle\,.

Since fx(α)f_{x}(\alpha) is nonzero for only tt-many x{0,1}nx\in\{0,1\}^{n}, this can be implemented efficiently by Lemma 2. Next, we perform |α|x|α|x|αx\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle\mapsto\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\alpha^{-x}\mspace{0.5mu}\rangle. Using the algorithm for t1t-1, we then apply |α|x|αx|α|x|αx|Sym(αx)\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\alpha^{-x}\mspace{0.5mu}\rangle\mapsto\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\alpha^{-x}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha^{-x})\mspace{0.5mu}\rangle, and uncompute αx\alpha^{-x}. By (16), we have in total applied |α|α|Sym(α)\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle\mapsto\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle so far. To finish the tt-th level algorithm for approximating |α|Sym(α)\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle\mapsto\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle, we simply apply (17) to uncompute α\alpha from the first register. ∎

Theorem 3.1 (Restatement of Theorem 1.1)

For each nn, tt and ϵ=2poly(n,t)\epsilon=2^{-\mathrm{poly}(n,t)}, there exists an efficiently implementable isometry Vtt+1V^{t\to t+1} from BtB^{t} to At+1Bt+1A_{t+1}B^{t+1} such that, up to trace distance ϵ\epsilon,

V:αSn,t|Sym(α)At|Sym(α)BtβSn,t+1|Sym(β)At+1|Sym(β)Bt+1.V:\sum_{\alpha\in{S_{n,t}^{\uparrow}}}\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle_{A^{t}}\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle_{B^{t}}\longmapsto\sum_{\beta\in{S_{n,t+1}^{\uparrow}}}\lvert\mspace{0.5mu}\mathrm{Sym}(\beta)\mspace{0.5mu}\rangle_{A^{t+1}}\lvert\mspace{0.5mu}\mathrm{Sym}(\beta)\mspace{0.5mu}\rangle_{B^{t+1}}\,.
Proof

We describe the algorithm assuming all steps can be implemented perfectly. It is straightforward to check that each step we use can in reality be performed to a sufficient accuracy that the accuracy of the entire algorithm is at least ϵ\epsilon.

We will need a couple of simple subroutines. First, given αSn,t\alpha\in S^{\scriptscriptstyle\uparrow}_{n,t} and x{0,1}nx\in\{0,1\}^{n}, we define α+x\alpha^{+x} to be the element of Sn,t+1S^{\scriptscriptstyle\uparrow}_{n,t+1} produced by inserting xx at the first position such that the result is still lexicographically ordered. One can perform this reversibly via |α|0n|x|α|x|x|α+x|x\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle\mapsto\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle\mapsto\lvert\mspace{0.5mu}\alpha^{+x}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle.

Second, we will need to do coherent preparation of the state

|ψα=x{0,1}n1+fx(α)2n+t|x.\lvert\mspace{0.5mu}\psi_{\alpha}\mspace{0.5mu}\rangle=\sum_{x\in\{0,1\}^{n}}\sqrt{\frac{1+f_{x}(\alpha)}{2^{n}+t}}\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle\,. (18)

For any given αSn,t\alpha\in S^{\scriptscriptstyle\uparrow}_{n,t}, the state |ψα\lvert\mspace{0.5mu}\psi_{\alpha}\mspace{0.5mu}\rangle can be prepared by using the preparation circuit for the two orthogonal components of the state whose supports are {x:fx(α)>0}\{x:f_{x}(\alpha)>0\} and {x:fx(α)=0}\{x:f_{x}(\alpha)=0\}. These two components can also be prepared coherently using Lemma 2 and Lemma 3, respectively. Their superposition can be prepared with Lemma 4. Putting it all together, we get an algorithm for |α|0n|α|ψα\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle\mapsto\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\psi_{\alpha}\mspace{0.5mu}\rangle.

The complete algorithm is a composition of several efficient routines. We describe this below, explicitly calculating the result for the input states of interest. For readability, we omit overall normalization factors.

α|Sym(α)At|Sym(α)Bt\displaystyle\sum_{\alpha}\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle_{A^{t}}\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle_{B^{t}}
\displaystyle\longmapsto α|Sym(α)At|0n|Sym(α)Bt|0n\displaystyle\sum_{\alpha}\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle_{A^{t}}\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle_{B^{t}}\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle add working registers
\displaystyle\longmapsto α|Sym(α)At|0n|αBt|0n\displaystyle\sum_{\alpha}\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle_{A^{t}}\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle_{B^{t}}\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle apply (Un,tSym)\bigl{(}U^{\mathrm{Sym}}_{n,t}\bigr{)}^{\dagger} to BtB^{t}
\displaystyle\longmapsto α,x1+fx(α)2n+t|Sym(α)At|x|αBt|0n\displaystyle\sum_{\alpha,x}\sqrt{\frac{1+f_{x}(\alpha)}{2^{n}+t}}\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle_{A^{t}}\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\alpha\mspace{0.5mu}\rangle_{B^{t}}\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle prepare |ψα\displaystyle\text{prepare }\lvert\mspace{0.5mu}\psi_{\alpha}\mspace{0.5mu}\rangle
\displaystyle\longmapsto α,x1+fx(α)2n+t|Sym(α)At|x|α+xBt+1\displaystyle\sum_{\alpha,x}\sqrt{\frac{1+f_{x}(\alpha)}{2^{n}+t}}\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle_{A^{t}}\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\alpha^{+x}\mspace{0.5mu}\rangle_{B^{t+1}} insert xx into α\alpha
\displaystyle\longmapsto α,x1+fx(α)2n+t|Sym(α)At|xAt+1|Sym(α+x)Bt+1\displaystyle\sum_{\alpha,x}\sqrt{\frac{1+f_{x}(\alpha)}{2^{n}+t}}\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle_{A^{t}}\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle_{A_{t+1}}\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha^{+x})\mspace{0.5mu}\rangle_{B^{t+1}} apply Un,t+1SymU^{\mathrm{Sym}}_{n,t+1} to Bt+1B^{t+1}

To see that the last line above is the desired result, we observe that we can index the sum in the last line above in a more symmetric fashion: the sum is just taken over all pairs (α,β)(\alpha,\beta) such that the latter can be obtained from the former by adding one entry (i.e., the string xx). But that is the same as summing over all pairs (α,β)(\alpha,\beta), such that the former can be obtained from the latter by removing one entry.

α,x1+fx(α)2n+t|Sym(α)At|xAt+1|Sym(α+x)Bt+1\displaystyle\quad\,\sum_{\alpha,x}\sqrt{\frac{1+f_{x}(\alpha)}{2^{n}+t}}\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha)\mspace{0.5mu}\rangle_{A^{t}}\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle_{A_{t+1}}\lvert\mspace{0.5mu}\mathrm{Sym}(\alpha^{+x})\mspace{0.5mu}\rangle_{B^{t+1}}
=β,xfx(β)2n+t|Sym(βx)At|xAt+1|Sym(β)Bt+1\displaystyle=\sum_{\beta,x}\sqrt{\frac{f_{x}(\beta)}{2^{n}+t}}\lvert\mspace{0.5mu}\mathrm{Sym}(\beta^{-x})\mspace{0.5mu}\rangle_{A^{t}}\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle_{A_{t+1}}\lvert\mspace{0.5mu}\mathrm{Sym}(\beta)\mspace{0.5mu}\rangle_{B^{t+1}}
=t2n+tβ(xfx(β)t|Sym(βx)At|xAt+1)|Sym(β)Bt+1\displaystyle=\sqrt{\frac{t}{2^{n}+t}}\sum_{\beta}\left(\sum_{x}\sqrt{\frac{f_{x}(\beta)}{t}}\lvert\mspace{0.5mu}\mathrm{Sym}(\beta^{-x})\mspace{0.5mu}\rangle_{A^{t}}\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle_{A_{t+1}}\right)\lvert\mspace{0.5mu}\mathrm{Sym}(\beta)\mspace{0.5mu}\rangle_{B^{t+1}}
=t2n+tβ|Sym(β)At+1|Sym(β)Bt+1.\displaystyle=\sqrt{\frac{t}{2^{n}+t}}\sum_{\beta}\lvert\mspace{0.5mu}\mathrm{Sym}(\beta)\mspace{0.5mu}\rangle_{A^{t+1}}\lvert\mspace{0.5mu}\mathrm{Sym}(\beta)\mspace{0.5mu}\rangle_{B^{t+1}}.

Here, the last equality is (16), and the prefactor is the square root of the quotient of the dimensions of the tt- and (t+1)(t+1)-copy symmetric subspaces, as required for a correct normalization of the final maximally entangled state.∎

3.3 State sampler construction and proof

Construction 2 (Efficient state sampler)

Let nn be a positive integer and ϵ\epsilon a negligible function of nn. The efficient nn-qubit state sampler with precision ϵ\epsilon is a stateful machine 𝔈𝔖(ϵ,n)\mathfrak{ES}(\epsilon,n) with interfaces (𝖨𝗇𝗂𝗍,𝖦𝖾𝗇,𝖱𝖾𝖿𝗅𝖾𝖼𝗍)(\mathsf{Init},\mathsf{Gen},\mathsf{Reflect}), defined below. For convenience, we denote the query counters by t=t𝖦𝖾𝗇t=t_{\mathsf{Gen}} and q=t𝖱𝖾𝖿𝗅𝖾𝖼𝗍q=t_{\mathsf{Reflect}} in the following.

  1. 1.

    𝔈𝔖(ϵ,n).𝖨𝗇𝗂𝗍:\mathfrak{ES}(\epsilon,n).\mathsf{Init}: prepares the standard maximally entangled state |ϕ+A1B1\lvert\mspace{0.5mu}\phi^{+}\mspace{0.5mu}\rangle_{A_{1}B_{1}} on nn-qubit registers A1A_{1} and B1B_{1}, and stores both A1A_{1} and B1B_{1}.

  2. 2.

    𝔈𝔖(ϵ,n).𝖦𝖾𝗇:\mathfrak{ES}(\epsilon,n).\mathsf{Gen}: On the first query, outputs register A1A_{1}. On query tt, takes as input registers Bt1B^{t-1} and produces registers AtBtA_{t}B^{t} by applying the isometry Vt1tV^{t-1\to t} from Theorem 3.1 with accuracy ϵ2(t+2q)\epsilon 2^{-(t+2q)}; then it outputs AtA_{t} and stores BtB^{t}.

  3. 3.

    𝔈𝔖(ϵ,n).𝖢𝖱𝖾𝖿𝗅𝖾𝖼𝗍:\mathfrak{ES}(\epsilon,n).\mathsf{CReflect}: On query qq with input registers CACA^{*}, do the following controlled on the qubit register CC: apply (Ut1t)\left(U^{t-1\to t}\right)^{\dagger}, a unitary implementation of Vt1tV^{t-1\to t}, with accuracy ϵ2(t+2(q1))\epsilon 2^{-(t+2(q-1))}, in the sense that Vt1t=Ut1t|02nAtBtV^{t-1\to t}=U^{t-1\to t}\lvert\mspace{0.5mu}0^{2n}\mspace{0.5mu}\rangle_{A_{t}B_{t}}, with AA^{*} playing the role of AtA_{t}. Subsequently, apply a phase 1-1 on the all-zero state of the ancilla registers AtA_{t} and BtB_{t}, and reapply Ut1tU^{t-1\to t}, this time with accuracy ϵ2(t+2(q1)+1)\epsilon 2^{-(t+2(q-1)+1)}.

We omitted defining 𝔈𝔖.𝖵𝖾𝗋\mathfrak{ES}.\mathsf{Ver} since it is trivial to build from 𝖢𝖱𝖾𝖿𝗅𝖾𝖼𝗍\mathsf{CReflect}, as described in Lemma 5. By Theorem 3.1, the runtime of 𝔈𝔖(ϵ,n)\mathfrak{ES}(\epsilon,n) is polynomial in nn, log(1/ϵ)\log(1/\epsilon) and the total number of queries qq that are made to its various interfaces.

We want to show that the above sampler is indistinguishable from the ideal sampler to any oracle algorithm, in the following sense. Given a stateful machine 𝒞{𝔖(n),𝔈𝔖(n,ϵ)}\mathcal{C}\in\{\mathfrak{IS}(n),\mathfrak{ES}(n,\epsilon)\} and a (not necessarily efficient) oracle algorithm 𝒜\mathcal{A}, we define the process b𝒜𝒞b\leftarrow\mathcal{A}^{\mathcal{C}} as follows:

  1. 1.

    𝒞.𝖨𝗇𝗂𝗍\mathcal{C}.\mathsf{Init} is called;

  2. 2.

    𝒜\mathcal{A} receives oracle access to 𝒞.𝖦𝖾𝗇\mathcal{C}.\mathsf{Gen} and 𝒞.𝖢𝖱𝖾𝖿𝗅𝖾𝖼𝗍\mathcal{C}.\mathsf{CReflect};

  3. 3.

    𝒜\mathcal{A} outputs a bit bb .

Theorem 3.2

For all oracle algorithms 𝒜\mathcal{A} and all ϵ>0\epsilon>0 that can depend on nn in an arbitrary way,

|Pr[𝒜𝔖(n)=1]Pr[𝒜𝔈𝔖(n,ϵ)=1]|ϵ.\left|\Pr\left[\mathcal{A}^{\mathfrak{IS}(n)}=1\right]-\Pr\left[\mathcal{A}^{\mathfrak{ES}(n,\epsilon)}=1\right]\right|\leq\epsilon\,. (19)
Proof

During the execution of 𝔈𝔖(ϵ,n)\mathfrak{ES}(\epsilon,n), the ii-th call of Vt1tV^{t-1\to t} (for any tt) incurs a trace distance error of at most ϵ2i\epsilon 2^{-i}. The trace distance between the outputs of 𝒜𝔈𝔖(ϵ,n)\mathcal{A}^{\mathfrak{ES}}(\epsilon,n) and 𝒜𝔈𝔖(0,n)\mathcal{A}^{\mathfrak{ES}}(0,n) is therefore bounded by i=1ϵ2i=ϵ\sum_{i=1}^{\infty}\epsilon 2^{-i}=\epsilon. It is thus sufficient to establish the theorem for 𝔈𝔖(0,n)\mathfrak{ES}(0,n).

For any fixed qq, there exists a stateful machine ^𝔈𝔖(0,q,n)\hat{}\mathfrak{ES}(0,q,n) which is perfectly indistinguishable from 𝔖(n)\mathfrak{IS}(n) to all adversaries who make a maximum total number qq of queries. The 𝖨𝗇𝗂𝗍\mathsf{Init} procedure of ^𝔈𝔖(0,q,n)\hat{}\mathfrak{ES}(0,q,n) samples a random element UiU_{i} from an exact unitary 2q2q-design D2q={Ui}iID^{2q}=\{U_{i}\}_{i\in I}. Queries to 𝖦𝖾𝗇\mathsf{Gen} are answered with a copy of Ui|0U_{i}\lvert\mspace{0.5mu}0\mspace{0.5mu}\rangle, and 𝖱𝖾𝖿𝗅𝖾𝖼𝗍\mathsf{Reflect} is implemented by applying 𝟙2Ui|00|Ui\mathds{1}-2U_{i}|0\rangle\langle 0|U_{i}^{\dagger}. It will be helpful to express ^𝔈𝔖(0,q,n)\hat{}\mathfrak{ES}(0,q,n) in an equivalent isometric form. In this form, the initial oracle state is

|η=|I|1/2iI|iB^.\lvert\mspace{0.5mu}\eta\mspace{0.5mu}\rangle=|I|^{-1/2}\sum_{i\in I}\lvert\mspace{0.5mu}i\mspace{0.5mu}\rangle_{\hat{B}}\,. (20)

𝖦𝖾𝗇\mathsf{Gen} queries are answered using the B^\hat{B}-controlled isometry

V^B^B^At+1tt+1=iI|ii|B^Ui|0At+1.\hat{V}^{t\to t+1}_{\hat{B}\to\hat{B}A_{t+1}}=\sum_{i\in I}|i\rangle\langle i|_{\hat{B}}\otimes U_{i}\lvert\mspace{0.5mu}0\mspace{0.5mu}\rangle_{A_{t+1}}\,. (21)

𝖱𝖾𝖿𝗅𝖾𝖼𝗍\mathsf{Reflect} queries are answered by

V^B^AB^A𝖱𝖾𝖿𝗅𝖾𝖼𝗍=\displaystyle\hat{V}^{\mathsf{Reflect}}_{\hat{B}A^{*}\to\hat{B}A^{*}}= 𝟙2iI|ii|B^Ui|00|AUi\displaystyle\mathds{1}-2\sum_{i\in I}|i\rangle\langle i|_{\hat{B}}\otimes U_{i}|0\rangle\langle 0|_{A^{*}}U_{i}^{\dagger} (22)
=\displaystyle= 𝟙2V^B^B^Att+1(V^tt+1)B^AB^.\displaystyle\mathds{1}-2\hat{V}^{t\to t+1}_{\hat{B}\to\hat{B}A^{*}}\left(\hat{V}^{t\to t+1}\right)^{\dagger}_{\hat{B}A^{*}\to\hat{B}}\,. (23)

Now suppose 𝒜\mathcal{A} is an arbitrary (i.e., not bounded-query) algorithm making only 𝖦𝖾𝗇\mathsf{Gen} queries. We will show that after qq queries, the oracles 𝔈𝔖(0,n)\mathfrak{ES}(0,n) and ^𝔈𝔖(0,q,n)\hat{}\mathfrak{ES}(0,q,n) are equivalent, and that this holds for all qq. We emphasize that 𝔈𝔖(0,n)\mathfrak{ES}(0,n) does not depend on qq; as a result, we can apply the equivalence for the appropriate total query count q𝗍𝗈𝗍𝖺𝗅q_{\mathsf{total}} after 𝒜\mathcal{A} has produced its final state, even if q𝗍𝗈𝗍𝖺𝗅q_{\mathsf{total}} is determined only at runtime. It will thus follow that 𝔈𝔖(0,n)\mathfrak{ES}(0,n) is equivalent to 𝔖(n)\mathfrak{IS}(n).

To show the equivalence betwen 𝔈𝔖(0,n)\mathfrak{ES}(0,n) and ^𝔈𝔖(0,q,n)\hat{}\mathfrak{ES}(0,q,n), we will demonstrate a partial isometry Vswitch,tV^{\mathrm{switch},t} that transforms registers BtB^{t} of 𝔈𝔖(0,n){\mathfrak{ES}(0,n)} (after tt 𝖦𝖾𝗇\mathsf{Gen} queries and no 𝖱𝖾𝖿𝗅𝖾𝖼𝗍\mathsf{Reflect} queries) into the register B^\hat{B} of ^𝔈𝔖(0,q,n)\hat{}\mathfrak{ES}(0,q,n), in such a way that the corresponding global states on AtBtA^{t}B^{t} and AtB^A^{t}\hat{B} are mapped to each other. The isometry is partial because its domain is the symmetric subspace of 2nt{\mathbb{C}^{2^{n}}}^{\otimes t}. It is defined as follows:

VBtB^switch,t=dSymtd2n|I|iI(0|UiT)Btt|iB^.V^{\mathrm{switch},t}_{B^{t}\to\hat{B}}=\sqrt{\frac{d_{\mathrm{Sym}^{t}\mathbb{C}^{d}{2^{n}}}}{|I|}}\sum_{i\in I}\left(\langle\mspace{0.5mu}0\mspace{0.5mu}\rvert U^{T}_{i}\right)^{\otimes t}_{B^{t}}\otimes\lvert\mspace{0.5mu}i\mspace{0.5mu}\rangle_{\hat{B}}\,. (24)

To verify that this is indeed the desired isometry, we calculate:

(0|UiT)Btt|ϕSym+AtBt=\displaystyle\left(\langle\mspace{0.5mu}0\mspace{0.5mu}\rvert U^{T}_{i}\right)^{\otimes t}_{B^{t}}\lvert\mspace{0.5mu}\phi^{+}_{\mathrm{Sym}}\mspace{0.5mu}\rangle_{A^{t}B^{t}}= 2ntdSymt2n(0|UiT)BttΠBtSym|ϕ+AtBt\displaystyle\sqrt{\frac{2^{nt}}{d_{\mathrm{Sym}^{t}\mathbb{C}^{2^{n}}}}}\left(\langle\mspace{0.5mu}0\mspace{0.5mu}\rvert U^{T}_{i}\right)^{\otimes t}_{B^{t}}\Pi^{\mathrm{Sym}}_{B^{t}}\lvert\mspace{0.5mu}\phi^{+}\mspace{0.5mu}\rangle_{A^{t}B^{t}} (25)
=\displaystyle= 2ntdSymt2n(0|UiT)Btt|ϕ+AtBt\displaystyle\sqrt{\frac{2^{nt}}{d_{\mathrm{Sym}^{t}\mathbb{C}^{2^{n}}}}}\left(\langle\mspace{0.5mu}0\mspace{0.5mu}\rvert U^{T}_{i}\right)^{\otimes t}_{B^{t}}\lvert\mspace{0.5mu}\phi^{+}\mspace{0.5mu}\rangle_{A^{t}B^{t}} (26)
=\displaystyle= 2ntdSymt2n(0|)Btt(Ui)Att|ϕ+AtBt\displaystyle\sqrt{\frac{2^{nt}}{d_{\mathrm{Sym}^{t}\mathbb{C}^{2^{n}}}}}\left(\langle\mspace{0.5mu}0\mspace{0.5mu}\rvert\right)^{\otimes t}_{B^{t}}\otimes\left(U_{i}\right)^{\otimes t}_{A^{t}}\lvert\mspace{0.5mu}\phi^{+}\mspace{0.5mu}\rangle_{A^{t}B^{t}} (27)
=\displaystyle= 1dSymt2n(Ui|0)Att.\displaystyle\sqrt{\frac{1}{d_{\mathrm{Sym}^{t}\mathbb{C}^{2^{n}}}}}\left(U_{i}\lvert\mspace{0.5mu}0\mspace{0.5mu}\rangle\right)^{\otimes t}_{A^{t}}. (28)

Here we have used the fact that (0|UiT)t\left(\langle\mspace{0.5mu}0\mspace{0.5mu}\rvert U^{T}_{i}\right)^{\otimes t} is in the symmetric subspace in the second equality, and the third and forth equality are applications of the Mirror Lemma (Lemma 1) with d=d=2ntd=d^{\prime}=2^{nt}, and d=1,d=2ntd=1,\ d^{\prime}=2^{nt}, respectively.

We have hence proven the exact correctness of 𝔈𝔖(0,n)\mathfrak{ES}(0,n) without the 𝖱𝖾𝖿𝗅𝖾𝖼𝗍\mathsf{Reflect} interface. Note that the global state after tt queries to 𝔈𝔖(0,n).𝖦𝖾𝗇\mathfrak{ES}(0,n).\mathsf{Gen} is the maximally entangled state of two copies of the tt-fold symmetric subspace; of course, this is only true up to actions performed by the adversary, but those trivially commute with maps applied only to the oracle registers. As the global state is in the domain of VBtB^switch,tV^{\mathrm{switch},t}_{B^{t}\to\hat{B}}, we obtain the equation

V^B^B^At+1tt+1VBtB^switch,t=VBt+1B^switch,t+1VBtBt+1At+1tt+1.\hat{V}^{t\to t+1}_{\hat{B}\to\hat{B}A_{t+1}}V^{\mathrm{switch},t}_{B^{t}\to\hat{B}}=V^{\mathrm{switch},t+1}_{B^{t+1}\to\hat{B}}V^{t\to t+1}_{B^{t}\to B^{t+1}A_{t+1}}\,. (29)

More precisely, we observe that the two sides of the above have the same effect on the global state, and then conclude that they must be the same operator by the Choi-Jamoiłkowski isomorphism.

Recalling that Vswitch,tV^{\mathrm{switch},t} is partial with the symmetric subspace as its domain, we see that Equation (29) is equivalent to

(VBt+1B^switch,t+1)V^B^B^At+1tt+1VBtB^switch,t=\displaystyle\left(V^{\mathrm{switch},t+1}_{B^{t+1}\to\hat{B}}\right)^{\dagger}\hat{V}^{t\to t+1}_{\hat{B}\to\hat{B}A_{t+1}}V^{\mathrm{switch},t}_{B^{t}\to\hat{B}}= ΠBt+1Symt+12nVBtBt+1At+1tt+1\displaystyle\Pi^{\mathrm{Sym}^{t+1}\mathbb{C}^{2^{n}}}_{B^{t+1}}V^{t\to t+1}_{B^{t}\to B^{t+1}A_{t+1}} (30)
=\displaystyle= VBtBt+1At+1tt+1ΠBtSymt2n.\displaystyle V^{t\to t+1}_{B^{t}\to B^{t+1}A_{t+1}}\Pi^{\mathrm{Sym}^{t}\mathbb{C}^{2^{n}}}_{B^{t}}\,. (31)

By taking the above equality times its adjoint, we arrive at

(VBtB^switch,t)(V^B^B^At+1tt+1)VBt+1B^switch,t+1(VBt+1B^switch,t+1)V^B^B^At+1tt+1VBtB^switch,t\displaystyle\left(V^{\mathrm{switch},t}_{B^{t}\to\hat{B}}\right)^{\dagger}\left(\hat{V}^{t\to t+1}_{\hat{B}\to\hat{B}A_{t+1}}\right)^{\dagger}V^{\mathrm{switch},t+1}_{B^{t+1}\to\hat{B}}\left(V^{\mathrm{switch},t+1}_{B^{t+1}\to\hat{B}}\right)^{\dagger}\hat{V}^{t\to t+1}_{\hat{B}\to\hat{B}A_{t+1}}V^{\mathrm{switch},t}_{B^{t}\to\hat{B}}
=\displaystyle= ΠBtSymt2n(VBtBt+1At+1tt+1)VBtBt+1At+1tt+1ΠBtSymt2n.\displaystyle\Pi^{\mathrm{Sym}^{t}\mathbb{C}^{2^{n}}}_{B^{t}}\left(V^{t\to t+1}_{B^{t}\to B^{t+1}A_{t+1}}\right)^{\dagger}V^{t\to t+1}_{B^{t}\to B^{t+1}A_{t+1}}\Pi^{\mathrm{Sym}^{t}\mathbb{C}^{2^{n}}}_{B^{t}}. (32)

By Equation (29), the range of V^B^B^At+1tt+1VBtB^switch,t\hat{V}^{t\to t+1}_{\hat{B}\to\hat{B}A_{t+1}}V^{\mathrm{switch},t}_{B^{t}\to\hat{B}} is contained in the range of VBt+1B^switch,t+1𝟙At+1V^{\mathrm{switch},t+1}_{B^{t+1}\to\hat{B}}\otimes\mathds{1}_{A_{t+1}}. We can thus simplify as follows:

(VBtB^switch,t)\displaystyle\left(V^{\mathrm{switch},t}_{B^{t}\to\hat{B}}\right)^{\dagger} (V^B^B^At+1tt+1)V^B^B^At+1tt+1VBtB^switch,t\displaystyle\left(\hat{V}^{t\to t+1}_{\hat{B}\to\hat{B}A_{t+1}}\right)^{\dagger}\hat{V}^{t\to t+1}_{\hat{B}\to\hat{B}A_{t+1}}V^{\mathrm{switch},t}_{B^{t}\to\hat{B}}
=\displaystyle= ΠBtSymt2n(VBtBt+1At+1tt+1)VBtBt+1At+1tt+1ΠBtSymt2n.\displaystyle\Pi^{\mathrm{Sym}^{t}\mathbb{C}^{2^{n}}}_{B^{t}}\left(V^{t\to t+1}_{B^{t}\to B^{t+1}A_{t+1}}\right)^{\dagger}V^{t\to t+1}_{B^{t}\to B^{t+1}A_{t+1}}\Pi^{\mathrm{Sym}^{t}\mathbb{C}^{2^{n}}}_{B^{t}}. (33)

Now observe that both sides of the above consist of a projection operator “sandwiched” by some operation. These two projection operators are precisely the projectors which define the reflection operators of ^𝔈𝔖(0,q,n)\hat{}\mathfrak{ES}(0,q,n) (on the left-hand side) and 𝔈𝔖(0,n)\mathfrak{ES}(0,n) (on the right-hand side.) We thus see that Equation (3.3) shows that applying 𝔈𝔖(0,n).𝖱𝖾𝖿𝗅𝖾𝖼𝗍\mathfrak{ES}(0,n).\mathsf{Reflect} is the same as switching to ^𝔈𝔖(0,q,n)\hat{}\mathfrak{ES}(0,q,n), applying ^𝔈𝔖(0,q,n).𝖱𝖾𝖿𝗅𝖾𝖼𝗍\hat{}\mathfrak{ES}(0,q,n).\mathsf{Reflect}, and then switching back to 𝔈𝔖(0,n)\mathfrak{ES}(0,n). The same holds for the controlled versions 𝔈𝔖(0,n).𝖢𝖱𝖾𝖿𝗅𝖾𝖼𝗍\mathfrak{ES}(0,n).\mathsf{CReflect} and ^𝔈𝔖(0,n).𝖢𝖱𝖾𝖿𝗅𝖾𝖼𝗍\hat{}\mathfrak{ES}(0,n).\mathsf{CReflect}.

This completes the proof of the exact equality between the stateful machines 𝔖(n)\mathfrak{IS}(n) and 𝔈𝔖(0,n)\mathfrak{ES}(0,n). As argued at the start of the proof, the approximation case follows. ∎

4 Simulating a Haar-random unitary oracle

4.1 The problem, and our approach

We begin by defining the ideal object we’d like to emulate. This ideal object samples a Haar-random unitary UU, and then answers two types of queries: queries to UU, and queries to its inverse UU^{\dagger}.

Construction 3 (Ideal unitary sampler)

Let nn be a positive integer. The ideal unitary sampler is an ideal machine 𝔘(n)\mathfrak{IU}(n) with interfaces (𝖨𝗇𝗂𝗍,𝖤𝗏𝖺𝗅,𝖨𝗇𝗏𝖾𝗋𝗍)(\mathsf{Init},\mathsf{Eval},\mathsf{Invert}), defined as follows.

  1. 1.

    𝔘(n).𝖨𝗇𝗂𝗍:\mathfrak{IU}(n).\mathsf{Init}: takes no input; samples a description U~\tilde{U} of a Haar-random nn-qubit unitary operator UU.

  2. 2.

    𝔘(n).𝖤𝗏𝖺𝗅:\mathfrak{IU}(n).\mathsf{Eval}: takes nn-qubit register as input, applies UU and responds with the output;

  3. 3.

    𝔘(n).𝖨𝗇𝗏𝖾𝗋𝗍:\mathfrak{IU}(n).\mathsf{Invert}: takes nn-qubit register as input, applies U1U^{-1} and responds with the output.

Below, we construct a stateful machine that runs in polynomial space (and the runtime of which we don’t characterize), and that is indistinguishable from 𝔘(n)\mathfrak{IU}(n) for arbitrary query algorithms.

4.1.1 Our approach.

It turns out that the solution of a much easier task comes to our help, namely simulating a Haar random unitary for an algorithm that makes an a priori polynomially bounded number tt of queries. In this case we can just pick a unitary tt-design, sample an element from it and answer the up to tt queries using this element. As in the proof of Theorem 3.2, we can also construct an isometric stateful machine version of this strategy: Instead of sampling a random element from the tt-design, we can prepare a quantum register in a superposition, e.g. over the index set of the tt-design (𝖨𝗇𝗂𝗍\mathsf{Init}), and then apply the tt-design element (𝖤𝗏𝖺𝗅\mathsf{Eval}) or its inverse (𝖨𝗇𝗏𝖾𝗋𝗍\mathsf{Invert}) controlled on that register.

Now consider an algorithm that makes tt parallel queries to a Haar random unitary (for ease of exposition let us assume here that the algorithm makes no inverse queries). The effect of these tt parallel queries is just the application of the tt-twirling channel (or the mixed twirling channel defined in Equation (10)) to the tt input registers. The tt-design-based isometric stateful machine simulates this tt-twirling channel faithfully. What is more, it applies a Stinespring dilation of the tt-twirling channel, the dilating register being the one created by initialization.

Now suppose we have answered tt queries using the tt-design-based machine, and are now asked to answer another, still parallel, query. Of course we cannot, in general, just answer it using the tt-design, as its guarantees only hold for tt applications of the unitary. But all Stinespring dilations of a quantum channel are equivalent in the sense that there exists a (possibly partial) isometry acting on the dilating register of one given dilation, that transforms it into another given dilation. So we can just apply an isometry that transforms our tt-design based Stinespring dilation into a t+1t+1-design based one, and subsequently answer the t+1t+1st query using a controlled unitary.

4.2 Construction and proof

We continue to describe a stateful machine that simulates 𝔘(n)\mathfrak{IU}(n) exactly and has a state register of size polynomial in nn and the total number of queries qq that an algorithm makes to its 𝖤𝗏𝖺𝗅\mathsf{Eval} and 𝖨𝗇𝗏𝖾𝗋𝗍\mathsf{Invert} interfaces. The existence of the required unitary tt-designs is due to Corollary 2.

We recall our conventions for dealing with many copies of fixed-sized registers. We let AA denote an nn-qubit register, we let AjA_{j} denote indexed copies of AA, and we let AtA^{t} denote A1A2AtA_{1}A_{2}\cdots A_{t}. In this case, the various copies of AA will be the input registers of the adversary, on which the simulator will act. The oracle will now hold a single register B^t\hat{B}_{t} whose size will grow with the number of queries tt. This register holds an index of an element in a tt-design.

For the construction below, we need the following quantum states and operators. For a positive integer nn, choose a family of nn-qubit unitary designs {Dt}t\{D_{t}\}_{t\in\mathbb{N}}, where Dt={Ut,i}iItD_{t}=\{U_{t,i}\}_{i\in I_{t}} is a unitary tt-design. Let B^t\hat{B}_{t} be a register of dimension |It||I_{t}| and define the uniform superposition over indices

|ηtB^t=1|It|iIt|iB^t.\lvert\mspace{0.5mu}\eta_{t}\mspace{0.5mu}\rangle_{\hat{B}_{t}}=\frac{1}{\sqrt{\left|I_{t}\right|}}\sum_{i\in I_{t}}\lvert\mspace{0.5mu}i\mspace{0.5mu}\rangle_{\hat{B}_{t}}. (34)

For nonnegative integers t,t,t,t^{\prime},\ell, define the unitaries

VAtB^t(t,t,)\displaystyle V^{(t,t^{\prime},\ell)}_{A^{t^{\prime}}\hat{B}_{t}} =iIt(Ut,i)A1A2A(Ut,i)A+1A+2Att|ii|B^t.\displaystyle=\sum_{i\in I_{t}}\left(U_{t,i}\right)^{\otimes\ell}_{A_{1}A_{2}...A_{\ell}}\otimes\left(U_{t,i}^{\dagger}\right)^{\otimes t^{\prime}-\ell}_{A_{\ell+1}A_{\ell+2}...A_{t^{\prime}}}\otimes|i\rangle\langle i|_{\hat{B}_{t}}\,. (35)

These isometries perform the following: controlled on an index ii of a tt-design Ut,iU_{t,i}, apply Ut,iU_{t,i} to \ell registers and Ut,iU_{t,i}^{\dagger} to tt^{\prime}-\ell registers. For us it will always be the case that ttt^{\prime}\leq t, since otherwise the tt-design property no longer makes the desired guarantees on the map VV.

We also let WB^tB^t+1(t,)W^{(t,\ell)}_{\hat{B}_{t}\to\hat{B}_{t+1}} be an isometry such that

VAtB^t+1(t+1,t,)|ηt+1B^t+1=WB^tB^t+1VAtB^t(t,t,)|ηtB^tV^{(t+1,t,\ell)}_{A^{t}\hat{B}_{t+1}}\lvert\mspace{0.5mu}\eta_{t+1}\mspace{0.5mu}\rangle_{\hat{B}_{t+1}}=W_{\hat{B}_{t}\to\hat{B}_{t+1}}V^{(t,t,\ell)}_{A^{t}\hat{B}_{t}}\lvert\mspace{0.5mu}\eta_{t}\mspace{0.5mu}\rangle_{\hat{B}_{t}} (36)

for =0,,t\ell=0,...,t. The isometry WW always exists, as all Stinespring dilations are isometrically equivalent, and both VAtB^t(t,t,)|ηtB^tV^{(t,t,\ell)}_{A^{t}\hat{B}_{t}}\lvert\mspace{0.5mu}\eta_{t}\mspace{0.5mu}\rangle_{\hat{B}_{t}} and VAtB^t+1(t+1,t,)|ηt+1B^t+1V^{(t+1,t,\ell)}_{A^{t}\hat{B}_{t+1}}\lvert\mspace{0.5mu}\eta_{t+1}\mspace{0.5mu}\rangle_{\hat{B}_{t+1}} are Stinespring dilations of the mixed twirling channel 𝒯(t,)\mathcal{T}^{(t,\ell)} by the tt-design property.

We are now ready to define the space-efficient unitary sampler.

Construction 4 (Space-efficient unitary sampler)

Let nn be a positive integer and {Dt}t\{D_{t}\}_{t\in\mathbb{N}} a family of nn-qubit unitary tt-designs Dt={Ut,i}iItD_{t}=\{U_{t,i}\}_{i\in I_{t}}, with |It|=2poly(n,t)|I_{t}|=2^{\mathrm{poly}(n,t)}. Define a stateful machine 𝔈𝔘(n,ϵ)\mathfrak{EU}(n,\epsilon) with interfaces (𝖨𝗇𝗂𝗍,𝖤𝗏𝖺𝗅,(\mathsf{Init},\mathsf{Eval}, 𝖨𝗇𝗏𝖾𝗋𝗍)\mathsf{Invert}) as follows. The machine will maintain counters tet_{e} (the number of 𝖤𝗏𝖺𝗅\mathsf{Eval} queries), tit_{i} (the number of 𝖨𝗇𝗏𝖾𝗋𝗍\mathsf{Invert} queries), and t:=te+tit:=t_{e}+t_{i}.

  1. 1.

    𝔈𝔘(n).𝖨𝗇𝗂𝗍:\mathfrak{EU}(n).\mathsf{Init}: Prepares the state |η1B^1\lvert\mspace{0.5mu}\eta_{1}\mspace{0.5mu}\rangle_{\hat{B}_{1}} and stores it.

  2. 2.

    𝔈𝔘(n).𝖤𝗏𝖺𝗅:\mathfrak{EU}(n).\mathsf{Eval}:

    • If t=0t=0, apply VA1B^1(1,1,1)V^{(1,1,1)}_{A_{1}\hat{B}_{1}}, where A1A_{1} is the input register.

    • If t>0t>0, apply WB^tB^t+1(t,te)W^{(t,t_{e})}_{\hat{B}_{t}\to\hat{B}_{t+1}} to the state register and subsequently apply VAt+1B^t+1t+1,1,1V^{t+1,1,1}_{A_{t+1}\hat{B}_{t+1}}, where At+1A_{t+1} is the input register.

  3. 3.

    𝔘(n).𝖨𝗇𝗏𝖾𝗋𝗍:\mathfrak{IU}(n).\mathsf{Invert}:

    • If t=0t=0, apply VA1B^1(1,1,0)V^{(1,1,0)}_{A_{1}\hat{B}_{1}}, where A1A_{1} is the input register.

    • If t>0t>0, apply WB^tB^t+1(t,te)W^{(t,t_{e})}_{\hat{B}_{t}\to\hat{B}_{t+1}} to the state register and subsequently apply VAt+1B^t+1t+1,1,0V^{t+1,1,0}_{A_{t+1}\hat{B}_{t+1}}, where At+1A_{t+1} is the input register.

We want to show that the above sampler is indistinguishable from the ideal sampler to any oracle algorithm, in the following sense. Given a stateful machine 𝒞{𝔘(n),𝔈𝔘(n,ϵ)}\mathcal{C}\in\{\mathfrak{IU}(n),\mathfrak{EU}(n,\epsilon)\} and a (not necessarily efficient) oracle algorithm 𝒜\mathcal{A}, we define the process b𝒜𝒞b\leftarrow\mathcal{A}^{\mathcal{C}} as follows:

  1. 1.

    𝒞.𝖨𝗇𝗂𝗍\mathcal{C}.\mathsf{Init} is called;

  2. 2.

    𝒜\mathcal{A} receives oracle access to 𝒞.𝖤𝗏𝖺𝗅\mathcal{C}.\mathsf{Eval} and 𝒞.𝖨𝗇𝗏𝖾𝗋𝗍\mathcal{C}.\mathsf{Invert};

  3. 3.

    𝒜\mathcal{A} outputs a bit bb .

Theorem 4.1

For all oracle algorithms 𝒜\mathcal{A}

Pr[𝒜𝔘(n)=1]=Pr[𝒜𝔈𝔘(n,ϵ)=1].\Pr\left[\mathcal{A}^{\mathfrak{IU}(n)}=1\right]=\Pr\left[\mathcal{A}^{\mathfrak{EU}(n,\epsilon)}=1\right]. (37)
Proof

We begin by proving the following claim by induction. The claim states that the theorem holds for adversaries who only make parallel queries.

Claim

For all x{0,1}tx\in\{0,1\}^{t}, let VAtAtB^t(x)V^{(x)}_{A^{t}\to A^{t}\hat{B}_{t}} be the isometry that is implemented by making tt parallel queries to 𝔈𝔘(n,ϵ)\mathfrak{EU}(n,\epsilon), where the ii-th query is made to the 𝖤𝗏𝖺𝗅\mathsf{Eval} interface if xi=1x_{i}=1 and to the 𝖨𝗇𝗏𝖾𝗋𝗍\mathsf{Invert} interface if xi=0x_{i}=0. Let further σSt\sigma\in S_{t} be a permutation such that σ.x=111000\sigma.x=11...100...0, where the lower dot denotes the natural action of StS_{t} on strings of length tt. Then

VAtAtB^t(x)=σAt1VAtB^t(t,t,)|ηtB^t,V^{(x)}_{A^{t}\to A^{t}\hat{B}_{t}}=\sigma^{-1}_{A^{t}}V^{(t,t,\ell)}_{A^{t}\hat{B}_{t}}\lvert\mspace{0.5mu}\eta_{t}\mspace{0.5mu}\rangle_{\hat{B}_{t}}, (38)

where σ\sigma acts by permuting the tt registers.

Proof

For t=1t=1, the claim trivially holds. Now suppose the claim holds for t1t-1. By definition of the 𝖤𝗏𝖺𝗅\mathsf{Eval} and 𝖨𝗇𝗏𝖾𝗋𝗍\mathsf{Invert} interfaces,

VAtAtB^t(x)=VAtB^tt,1,xtWB^t1B^t(t,)VAt1At1B^t1(x[1;t1]),V^{(x)}_{A^{t}\to A^{t}\hat{B}_{t}}=V^{t,1,x_{t}}_{A_{t}\hat{B}_{t}}W^{(t,\ell)}_{\hat{B}_{t-1}\to\hat{B}_{t}}V^{(x_{[1;t-1]})}_{A^{t-1}\to A^{t-1}\hat{B}_{t-1}}, (39)

where x[a,b]=xaxa+1xbx_{[a,b]}=x_{a}x_{a+1}...x_{b}. By the induction hypothesis, we have

VAt1At1B^t1(x[1;t1])=σ^At11VAt1B^t1(t1,t1,xt)|ηt1B^t1V^{(x_{[1;t-1]})}_{A^{t-1}\to A^{t-1}\hat{B}_{t-1}}=\hat{\sigma}^{-1}_{A^{t-1}}V^{(t-1,t-1,\ell-x_{t})}_{A^{t-1}\hat{B}_{t-1}}\lvert\mspace{0.5mu}\eta_{t-1}\mspace{0.5mu}\rangle_{\hat{B}_{t-1}} (40)

for an appropriate permutation σ^St1\hat{\sigma}\in S_{t-1}. By the design property of DjD_{j} for j=t,t1j=t,t-1 and the definition of W(t,)W^{(t,\ell)} we obtain

𝒯Dt1(t1,xt)=𝒯Dt(t1,xt)\displaystyle\mathcal{T}^{(t-1,\ell-x_{t})}_{D_{t-1}}=\mathcal{T}^{(t-1,\ell-x_{t})}_{D_{t}}
\displaystyle\Leftrightarrow\quad WB^t1B^t(t1,)VAt1B^t1(t1,t1,xt)|ηt1B^t1=VAt1B^t(t,t1,xt)|ηt1B^t\displaystyle W^{(t-1,\ell)}_{\hat{B}_{t-1}\to\hat{B}_{t}}V^{(t-1,t-1,\ell-x_{t})}_{A^{t-1}\hat{B}_{t-1}}\lvert\mspace{0.5mu}\eta_{t-1}\mspace{0.5mu}\rangle_{\hat{B}_{t-1}}=V^{(t,t-1,\ell-x_{t})}_{A^{t-1}\hat{B}_{t}}\lvert\mspace{0.5mu}\eta_{t-1}\mspace{0.5mu}\rangle_{\hat{B}_{t}}
\displaystyle\Leftrightarrow\quad WB^t1B^t(t,)σ^At11VAt1B^t1(t1,t1,xt)|ηt1B^t1=σ^At11VAt1B^t(t,t1,xt)|ηt1B^t.\displaystyle W^{(t,\ell)}_{\hat{B}_{t-1}\to\hat{B}_{t}}\hat{\sigma}^{-1}_{A^{t-1}}V^{(t-1,t-1,\ell-x_{t})}_{A^{t-1}\hat{B}_{t-1}}\lvert\mspace{0.5mu}\eta_{t-1}\mspace{0.5mu}\rangle_{\hat{B}_{t-1}}=\hat{\sigma}^{-1}_{A^{t-1}}V^{(t,t-1,\ell-x_{t})}_{A^{t-1}\hat{B}_{t}}\lvert\mspace{0.5mu}\eta_{t-1}\mspace{0.5mu}\rangle_{\hat{B}_{t}}. (41)

Here we have used the fact that the permutation and W(t1,)W^{(t-1,\ell)} commute because they act on disjoint sets of registers. Putting Equations (39), (40) and (41) together, it follows that

VAtAtB^t(x)=VAtB^tt,1,xtσ^At11VAt1B^t(t,t1,xt)|ηtB^t.\displaystyle V^{(x)}_{A^{t}\to A^{t}\hat{B}_{t}}=V^{t,1,x_{t}}_{A_{t}\hat{B}_{t}}\hat{\sigma}^{-1}_{A^{t-1}}V^{(t,t-1,\ell-x_{t})}_{A^{t-1}\hat{B}_{t}}\lvert\mspace{0.5mu}\eta_{t}\mspace{0.5mu}\rangle_{\hat{B}_{t}}. (42)

But clearly

VAtB^tt,1,xtσ^At11VAt1B^t(t,t1,xt)=σAt1VAtB^t(t,t,)V^{t,1,x_{t}}_{A_{t}\hat{B}_{t}}\hat{\sigma}^{-1}_{A^{t-1}}V^{(t,t-1,\ell-x_{t})}_{A^{t-1}\hat{B}_{t}}=\sigma^{-1}_{A^{t}}V^{(t,t,\ell)}_{A^{t}\hat{B}_{t}} (43)

For an appropriate permutation σ\sigma that consists of applying σ^\hat{\sigma} and then sorting in xtx_{t} correctly.

The generalization to adaptive algorithms is done via post-selection: Given an algorithm 𝒜\mathcal{A}, consider non-adaptive algorithm 𝒜~\tilde{\mathcal{A}} that first queries the 𝖤𝗏𝖺𝗅\mathsf{Eval} and 𝖨𝗇𝗏𝖾𝗋𝗍\mathsf{Invert} interfaces of the stateful machine it is interacting with on the first halves of a sufficient number of maximally entangled states. Subsequently the adaptive adversary is run, answering the queries by running quantum teleportation on the inputs together with the remaining halves of the maximally entangled states. This way, the query registers of the adaptive queries are teleported into the previously made non-adaptive queries, but of course they incur a random Pauli error on the way, that cannot be corrected.

As the output of 𝒜~\tilde{\mathcal{A}} is, however, exactly the same whether it interacts with 𝔘(n)\mathfrak{IU}(n) or with 𝔈𝔘(n,0)\mathfrak{EU}(n,0), the same holds for the version of 𝒜~\tilde{\mathcal{A}} where we post-select, or condition, on the outcome that all the Pauli corrections in all the teleportation protocols are the identity. But this post-selected algorithm has the same output as 𝒜\mathcal{A} no matter what oracles it is given. ∎

Using Corollary 2 and the above, we get the following upper bound on the space complexity of lazy sampling Haar random unitaries.

Corollary 3

The space complexity SS of simulating 𝔘(n)\mathfrak{IU}(n) as a function of nn and the number of queries qq is bounded from above by the logarithm of number of elements in any family of exact nn-qubit unitary qq-designs, and hence

S(n,q)2q(2n+loge)+O(logq).S(n,q)\leq 2q(2n+\log e)+O(\log q)\,. (44)
Proof

According to Corollary 2, There exists an exact unitary qq-design such that 2qlog(e(22n+q1)q)2q(2n+loge)2q\log\left(\frac{e(2^{2n}+q-1)}{q}\right)\leq 2q(2n+\log e) qubits suffice to coherently store the index of an element from it. The only additional information that 𝔈𝔘(n)\mathfrak{EU}(n) needs to store is how many direct and inverse queries have been answered, which can be done using logq\log q bits.

Our results suggest two possible approaches to devise a time-efficient lazy sampler for Haar random unitaries. The most promising one is to use the same approach as for the state sampler and explicitly constructing the update isometry, possibly using explicit bases for the irreducible representations of U(2n)U(2^{n}), or using the Schur transform [5]. The other one would be to use the tt-design update method described above, but using efficient approximate tt-designs, e.g. the ones constructed in [10]. This would, however, likely require a generalization of the Stinespring dilation continuity result from [20] to so-called quantum combs [11]. In addition, we would need to show that the transition isometries, i.e. the approximate analogue of the isometries W(t,)W^{(t,\ell)} from Construction 4, are efficiently implementable. We leave the exploration of these approaches for future work.

5 Application: untraceable quantum money

5.1 Untraceable quantum money

Our definition of quantum money deviates somewhat from others in the literature [1, 18]. We allow the bank to maintain an internal quantum register, we do not require that the money states are pure, and we allow adversaries to apply arbitrary (i.e., not necessarily efficiently implementable) channels.

Definition 2 (Quantum money)

A quantum money scheme is a family of stateful machines 𝔐\mathfrak{M} indexed by a security parameter λ\lambda, and having two interfaces:

  1. 1.

    𝖬𝗂𝗇𝗍\mathsf{Mint}: receives no input, outputs an nn-qubit register;

  2. 2.

    𝖵𝖾𝗋\mathsf{Ver}: receives an nn-qubit register as input, outputs an nn-qubit register together with a flag {𝖺𝖼𝖼,𝗋𝖾𝗃}\{\mathsf{acc},\mathsf{rej}\},

satisfying the following two properties:

  • correctness: 𝖵𝖾𝗋𝖬𝗂𝗇𝗍𝟙|𝖺𝖼𝖼𝖺𝖼𝖼|𝗇𝖾𝗀𝗅(λ)\|\mathsf{Ver}\circ\mathsf{Mint}-\mathds{1}\otimes|\mathsf{acc}\rangle\langle\mathsf{acc}|\|\leq\mathsf{negl}(\lambda);444Note that it is understood that this inequality should hold no matter which interfaces have been called in between the relevant 𝖬𝗂𝗇𝗍\mathsf{Mint} and 𝖵𝖾𝗋\mathsf{Ver} calls

  • unforgeability: for all channels Λ\Lambda with oracle, and all k0k\geq 0,

    Pr[𝖺𝖼𝖼k+1|flag𝖵𝖾𝗋k+1Λ𝖵𝖾𝗋𝖬𝗂𝗇𝗍k]𝗇𝖾𝗀𝗅(λ),\Pr\left[\mathsf{acc}^{k+1}\leftarrow{}_{\mathrm{flag}}|\mathsf{Ver}^{\otimes k+1}\circ\Lambda^{\mathsf{Ver}}\circ\mathsf{Mint}^{\otimes k}\right]\leq\mathsf{negl}(\lambda)\,,

    where |flag{}_{\mathrm{flag}}| denotes discarding all registers except 𝖵𝖾𝗋\mathsf{Ver} flags.

It is implicit in the definition that nn is a fixed polynomial function of λ\lambda, and that all relevant algorithms are uniform in λ\lambda.

Next, we define untraceability for quantum money schemes.

Definition 3 (Untraceability game)

The untraceability game 𝖴𝗇𝗍𝗋𝖺𝖼𝖾λ[𝔐,𝒜]\mathsf{Untrace}_{\lambda}[\mathfrak{M},\mathcal{A}] between an adversary 𝒜\mathcal{A} and a quantum money scheme 𝔐\mathfrak{M} at security parameter λ\lambda proceeds as follows:

  1. 1.

    set up the trace: 𝒜(1λ)\mathcal{A}(1^{\lambda}) receives oracle access to 𝖵𝖾𝗋\mathsf{Ver} and 𝖬𝗂𝗇𝗍\mathsf{Mint}, and outputs registers M1M_{1}, M2M_{2}, …, MkM_{k} and a permutation πSk\pi\in S_{k};

  2. 2.

    permute and verify bills: b{0,1}b\leftarrow\{0,1\} is sampled, and if b=1b=1 the registers M1MkM_{1}\cdots M_{k} are permuted by π\pi. 𝖵𝖾𝗋\mathsf{Ver} is invoked on each MjM_{j}; the accepted registers are placed in a set \mathcal{M} while the rest are discarded;

  3. 3.

    complete the trace: 𝒜\mathcal{A} receives \mathcal{M} and the entire internal state of 𝔐\mathfrak{M}, and outputs a guess b{0,1}b^{\prime}\in\{0,1\}.

The output of 𝖴𝗇𝗍𝗋𝖺𝖼𝖾λ[𝔐,𝒜]\mathsf{Untrace}_{\lambda}[\mathfrak{M},\mathcal{A}] is δbb\delta_{bb^{\prime}}; in the case b=bb=b^{\prime}, we say that 𝒜\mathcal{A} wins.

Definition 4 (Untraceable quantum money)

A quantum money scheme 𝔐\mathfrak{M} is untraceable if, for every algorithm 𝒜\mathcal{A},

Pr[1𝖴𝗇𝗍𝗋𝖺𝖼𝖾λ[𝔐,𝒜]]12+𝗇𝖾𝗀𝗅(λ).\Pr\left[1\leftarrow\mathsf{Untrace}_{\lambda}[\mathfrak{M},\mathcal{A}]\right]\leq\frac{1}{2}+\mathsf{negl}(\lambda)\,.

The intuition behind the definition is as follows. In general, one might consider a complicated scenario involving many honest players and many adversaries, where the goal of the adversaries is to trace the movement of at least one bill in transactions involving at least one honest player. Tracing in transactions involving only adversaries is of course trivial. The first natural simplification is to view all the adversaries as a single adversarial party; if that party cannot trace, then neither can any individual adversary. Next, we assume that honest players will verify any bills they receive immediately; obviously, if they do not do this, and then participate in transactions with the adversary, then tracing is again trivial. We thus arrive at the situation described in the game: the adversary is first allowed to create candidate bills arbitrarily, including storing information about them and entangling them with additional registers, before handing them to honest players who may or may not perform some transactions; the goal of the adversary is to decide which is the case, with the help of the bank. Note that one round of this experiment is sufficient in the security game, as an adversary can always use the 𝖵𝖾𝗋\mathsf{Ver} and 𝖬𝗂𝗇𝗍\mathsf{Mint} oracles to simulate additional rounds.

One might reasonably ask if there are even stronger definitions of untraceability than the above. Given its relationship to the ideal state sampler, we believe that Haar money, defined below, should satisfy almost any notion of untraceability, including composable notions. We also remark that, based on the structure of the state simulator, which maintains an overall pure state supported on two copies of the symmetric subspace of banknote registers, it is straightforward to see that the scheme is also secure against an “honest but curious” or “specious” [27, 15] bank. We leave the formalization of these added security guarantees to future work.

5.2 Haar money

Next, we show how the lazy state sampler (Construction 2) yields untraceable quantum money. The construction follows the idea of [18] sample a single (pseudo)random quantum state and hand out copies of it as banknotes.

Construction 5 (Haar money)

Let nn be a positive integer and ϵ>0\epsilon>0. The Haar scheme 𝔐(n,ϵ)\mathfrak{HM}(n,\epsilon) is defined as follows:

  • 𝖬𝗂𝗇𝗍\mathsf{Mint}: on first invocation, instantiate 𝔈𝔖:=𝔈𝔖(n,ϵ)\mathfrak{ES}:=\mathfrak{ES}(n,\epsilon) by running 𝔈𝔖.𝖨𝗇𝗂𝗍\mathfrak{ES}.\mathsf{Init}. On all invocations, output result of 𝔈𝔖.𝖦𝖾𝗇\mathfrak{ES}.\mathsf{Gen};

  • 𝖵𝖾𝗋\mathsf{Ver}: apply 𝔈𝔖.𝖵𝖾𝗋\mathfrak{ES}.\mathsf{Ver}; in the 𝖺𝖼𝖼\mathsf{acc} case, call 𝖬𝗂𝗇𝗍\mathsf{Mint} and output the result; in the 𝗋𝖾𝗃\mathsf{rej} case, output 0n0^{n}.

We remark that, while Construction 2 does not explicitly include a 𝖵𝖾𝗋\mathsf{Ver} interface, one can easily be added by Lemma 5.

Proposition 3

Haar money is an untraceable quantum money scheme.

Proof

We need to show three properties: completeness, unforgeability, and untraceability. For the completeness and unforgeability properties, observe that Theorem 3.2 implies that the adversary’s view is indistinguishable (up to negligible terms) if we replace the efficient state sampler 𝔈𝔖\mathfrak{ES} with the ideal 𝔖\mathfrak{IS}. Once we’ve made that replacement, completeness follows from the definition of 𝔖.𝖦𝖾𝗇\mathfrak{IS}.\mathsf{Gen} and 𝔖.𝖵𝖾𝗋\mathfrak{IS}.\mathsf{Ver}, and unforgeability follows from the complexity-theoretic no-cloning theorem [1].

For untraceability, it is of course true that 𝔖\mathfrak{IS} is obviously untraceable. However, we cannot simply invoke Theorem 3.2 to conclude the same about 𝔈𝔖\mathfrak{ES}, since the adversary will receive the state of the bank at the end of the game. Instead, we argue as follows. Consider step 22 (permute and verify bills) in the untraceability game 𝖴𝗇𝗍𝗋𝖺𝖼𝖾λ[𝔐,𝒜]\mathsf{Untrace}_{\lambda}[\mathfrak{HM},\mathcal{A}]. An equivalent way to perform this step is to (i.) verify all the registers first, (ii.) discard the ones that fail verification, and then (iii.) apply the permutation, conditioned on the challenge bit bb. Steps (i.) and (ii.) are applied always and in particular do not depend on bb. However, after (i.) and (ii.) have been applied, by the definition of 𝔈𝔖\mathfrak{ES} the joint state of the bank and all the MjM_{j}\in\mathcal{M} (and indeed all verified bills in existence) is negligibly far from the state |ϕSym+\lvert\mspace{0.5mu}\phi^{+}_{\mathrm{Sym}}\mspace{0.5mu}\rangle, i.e., the maximally entangled state on the symmetric subspace. This state is clearly invariant under permutation of the money registers, and in particular under the permutation of the registers in \mathcal{M} selected by the adversary. We emphasize that this invariance holds for the entire state (including the bank.) As the remainder of the game experiment is simply some channel applied to that state, and this channel does not depend on bb, the result follows. ∎

While Haar money is an information-theoretically unforgeable and untraceable quantum money scheme, it is easy to see that the quantum money scheme devised in [18] is computationally unforgeable and untraceable.

References

  • [1] Scott Aaronson and Paul Christiano. Quantum money from hidden subspaces. In Proceedings of the forty-fourth annual ACM symposium on Theory of computing, pages 41–60. ACM, 2012.
  • [2] Gorjan Alagic, Tommaso Gagliardoni, and Christian Majenz. Can you sign a quantum state. Cryptology ePrint Archive, Report 2018/1164, 2018. https://eprint.iacr.org/2018/1164.
  • [3] Gorjan Alagic, Tommaso Gagliardoni, and Christian Majenz. Unforgeable quantum encryption. In Jesper Buus Nielsen and Vincent Rijmen, editors, Advances in Cryptology – EUROCRYPT 2018, pages 489–519, Cham, 2018. Springer International Publishing.
  • [4] Andris Ambainis and Joseph Emerson. Quantum t-designs: T-wise independence in the quantum world. In Proceedings of the Twenty-Second Annual IEEE Conference on Computational Complexity, CCC ’07, pages 129–140, Washington, DC, USA, 2007. IEEE Computer Society.
  • [5] Dave Bacon, Isaac L. Chuang, and Aram W. Harrow. Efficient quantum circuits for schur and clebsch-gordan transforms. Phys. Rev. Lett., 97:170502, Oct 2006.
  • [6] Mihir Bellare and Phillip Rogaway. Random oracles are practical: a paradigm for designing efficient protocols. In Proceedings of the 1st ACM conference on Computer and communications security, CCS ’93, pages 62–73, New York, NY, USA, 1993. ACM.
  • [7] Charles Bennett and Gilles Brassard. Quantum cryptography: Public key distribution and coin tossing. In Proceedings of the International Conference on Computers, Systems, and Signal Processing, pages 175–179, 1984.
  • [8] Dan Boneh and Mark Zhandry. Quantum-secure message authentication codes. In Advances in Cryptology - EUROCRYPT 2013, pages 592–608. Springer, 2013.
  • [9] Zvika Brakerski and Omri Shmueli. (pseudo) random quantum states with binary phase. arXiv preprint arXiv:1906.10611, 2019.
  • [10] Fernando G. S. L. Brandão, Aram W. Harrow, and Michał Horodecki. Local random quantum circuits are approximate polynomial-designs. Communications in Mathematical Physics, 346(2):397–434, 2016.
  • [11] G. Chiribella, G. M. D’Ariano, and P. Perinotti. Quantum circuit architecture. Phys. Rev. Lett., 101:060401, Aug 2008.
  • [12] Matthias Christandl. The structure of bipartite quantum states-Insights from group theory and cryptography. PhD thesis, University of Cambridge, 2006.
  • [13] Christopher M Dawson and Michael A Nielsen. The solovay-kitaev algorithm. arXiv preprint quant-ph/0505030, 2005.
  • [14] Jelle Don, Serge Fehr, Christian Majenz, and Christian Schaffner. Security of the fiat-shamir transformation in the quantum random-oracle model. In Alexandra Boldyreva and Daniele Micciancio, editors, Advances in Cryptology – CRYPTO 2019, pages 356–383, Cham, 2019. Springer International Publishing.
  • [15] Frédéric Dupuis, Jesper Buus Nielsen, and Louis Salvail. Secure two-party quantum evaluation of unitaries against specious adversaries. In Advances in Cryptology–CRYPTO 2010, pages 685–706. Springer, 2010.
  • [16] Oded Goldreich, Shafi Goldwasser, and Silvio Micali. How to construct random functions. Journal of the ACM, 33(4):792–807, 1986.
  • [17] Aram W. Harrow. The Church of the Symmetric Subspace. arXiv e-prints, page arXiv:1308.6595, Aug 2013.
  • [18] Zhengfeng Ji, Yi-Kai Liu, and Fang Song. Pseudorandom quantum states. In Hovav Shacham and Alexandra Boldyreva, editors, Advances in Cryptology – CRYPTO 2018, pages 126–152, Cham, 2018. Springer International Publishing.
  • [19] Daniel Kane. Small designs for path-connected spaces and path-connected homogeneous spaces. Transactions of the American Mathematical Society, 367(9):6387–6414, 2015.
  • [20] Dennis Kretschmann, Dirk Schlingemann, and Reinhard F. Werner. The information-disturbance tradeoff and the continuity of stinespring’s representation. IEEE transactions on information theory, 54(4):1708–1717, 2008.
  • [21] Richard A Low. Pseudo-randomness and learning in quantum computation. arXiv preprint arXiv:1006.5227, 2010.
  • [22] Christian Majenz. Entropy in Quantum Information Theory – Communication and Cryptography. arXiv e-prints, page arXiv:1810.10436, Oct 2018.
  • [23] Dominic Mayers and Andrew Yao. Self testing quantum apparatus. Quantum Info. Comput., 4(4):273–286, July 2004.
  • [24] Michele Mosca and Douglas Stebila. Quantum coins. Error-Correcting Codes, Finite Geometries and Cryptography, 523:35–47, 2010.
  • [25] Michael A. Nielsen and Isaac L. Chuang. Quantum Computation and Quantum Information. Cambridge University Press, 2000.
  • [26] Aidan Roy and A. J. Scott. Unitary designs and codes. Designs, Codes and Cryptography, 53(1):13–31, Oct 2009.
  • [27] Louis Salvail, Christian Schaffner, and Miroslava Sotáková. On the power of two-party quantum cryptography. In Proceedings of the 15th International Conference on the Theory and Application of Cryptology and Information Security: Advances in Cryptology, ASIACRYPT ’09, pages 70–87, Berlin, Heidelberg, 2009. Springer-Verlag.
  • [28] W Forrest Stinespring. Positive functions on c*-algebras. Proceedings of the American Mathematical Society, 6(2):211–216, 1955.
  • [29] Dominique Unruh. Quantum proofs of knowledge. In David Pointcheval and Thomas Johansson, editors, Advances in Cryptology – EUROCRYPT 2012, pages 135–152, Berlin, Heidelberg, 2012. Springer Berlin Heidelberg.
  • [30] John Watrous. Zero-Knowledge against Quantum Attacks. SIAM Journal on Computing, 39(1):25–58, 2009.
  • [31] Mark N. Wegman and J.Lawrence Carter. New hash functions and their use in authentication and set equality. Journal of Computer and System Sciences, 22(3):265 – 279, 1981.
  • [32] Mark Zhandry. How to record quantum queries, and applications to quantum indifferentiability. In Alexandra Boldyreva and Daniele Micciancio, editors, Advances in Cryptology – CRYPTO 2019, pages 239–268, Cham, 2019. Springer International Publishing.

Appendix 0.A State preparation lemma proofs

We now prove the state preparation lemmas from the preliminaries.

Lemma 6 (Restatement of Lemma 2)

Let |φ=x{0,1}nφ(x)|x\lvert\mspace{0.5mu}\varphi\mspace{0.5mu}\rangle=\sum_{x\in\{0,1\}^{n}}\varphi(x)\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle be a family of quantum states whose amplitudes φ\varphi have an efficient classical description φ~\tilde{\varphi}, and such that |{x:φ(x)0}|\poly|\{x:\varphi(x)\neq 0\}|\leq\poly. Then there exists a quantum algorithm 𝒫\mathcal{P} which runs in time polynomial in nn and log(1/ϵ)\log(1/\epsilon) and satisfies

𝒫|φ~|0n|φ~|φ2ϵ.\|\mathcal{P}\lvert\mspace{0.5mu}\tilde{\varphi}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle-\lvert\mspace{0.5mu}\tilde{\varphi}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\varphi\mspace{0.5mu}\rangle\|_{2}\leq\epsilon\,.
Proof

Let 𝗌𝗎𝗉𝗉(φ):={x:φ(x)0}\mathsf{supp}(\varphi):=\{x:\varphi(x)\neq 0\}, let t=|𝗌𝗎𝗉𝗉(φ)|t=|\mathsf{supp}(\varphi)| and let x1φ,x2φ,,xtφx_{1}^{\varphi},x_{2}^{\varphi},\dots,x_{t}^{\varphi} be an indexing of 𝗌𝗎𝗉𝗉(φ)\mathsf{supp}(\varphi), e.g., by lexicographic order. We first observe that, from the classical description φ~\tilde{\varphi}, we can efficiently compute a circuit for a logt\lceil\log t\rceil-qubit unitary U~φ\tilde{U}^{\varphi}, such that U~i,1φ=φ(xiφ)\tilde{U}^{\varphi}_{i,1}=\varphi(x_{i}^{\varphi}). In [25], Chapter 4, it is described how any rr-qubit unitary can be implemented up to precision δ\delta using a quantum circuit of length O(r24rlogc(r24r/δ))O(r^{2}4^{r}\log^{c}\left(r^{2}4^{r}/\delta\right)) for some universal constant cc, and how to compute such a circuit efficiently. The recipe consists of a decomposition into a circuit of CNOT and arbitrary single qubit gates, and an application of the Solovay-Kitaev theorem to implement the single-qubit gates using, say, the Clifford+T gate set. The former is easily verified to be efficiently computable, and an algorithmic version of the latter can be found in, e.g., [13]. We apply this algorithm to compute a circuit for U~φ\tilde{U}^{\varphi} from φ~\tilde{\varphi}; let mm denote its maximum length.

The total algorithm that, on input φ~\tilde{\varphi}, produces the circuit CφC_{\varphi} for U~(φ)\tilde{U}^{(\varphi)}, can be written as a reversible circuit and implemented as a quantum circuit CmetaC_{\mathrm{meta}} such that UCmeta|φ~|0m=|φ~|CφU_{C_{\mathrm{meta}}}\lvert\mspace{0.5mu}\tilde{\varphi}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}0^{m}\mspace{0.5mu}\rangle=\lvert\mspace{0.5mu}\tilde{\varphi}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}C_{\varphi}\mspace{0.5mu}\rangle. Here, UCU_{C} is the unitary implemented by a quantum circuit CC. We can then apply a universal quantum circuit to apply CφC_{\varphi} to a fresh ancilla register initialized in the state 0logt0^{\lceil\log t\rceil}, and then again apply UCmetaU_{C_{\mathrm{meta}}} to uncompute the circuit description.

We are now ready to define the algorithm 𝒫\mathcal{P} as follows. On input |φ~|0n\lvert\mspace{0.5mu}\tilde{\varphi}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle, we attach ancillas in the 0 state and use the above to apply

|φ~|0logt|0n|φ~U~|0logt|0n=|φ~i=1tφ(xiφ)|i|0n.\lvert\mspace{0.5mu}\tilde{\varphi}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}0^{\lceil\log t\rceil}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle\longmapsto\lvert\mspace{0.5mu}\tilde{\varphi}\mspace{0.5mu}\rangle\tilde{U}\lvert\mspace{0.5mu}0^{\lceil\log t\rceil}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle=\lvert\mspace{0.5mu}\tilde{\varphi}\mspace{0.5mu}\rangle\sum_{i=1}^{t}\varphi(x_{i}^{\varphi})\lvert\mspace{0.5mu}i\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle\,.

Next, controlled on the first two registers being in state |φ~|i\lvert\mspace{0.5mu}\tilde{\varphi}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}i\mspace{0.5mu}\rangle we apply XxiφX^{x_{i}^{\varphi}} to the last register. Finally, controlled on the first and last registers being in state |φ~\lvert\mspace{0.5mu}\tilde{\varphi}\mspace{0.5mu}\rangle and |x\lvert\mspace{0.5mu}x\mspace{0.5mu}\rangle, respectively, we apply XiX^{i} to the middle register if x=xiφx=x_{i}^{\varphi} for some ii (and the identity otherwise), and discard the middle register.

Lemma 7 (Restatement of Lemma 3)

Let S{0,1}nS\subset\{0,1\}^{n} be a family of sets of size \poly\poly with efficient description S~\tilde{S}, and let ϵ>0\epsilon>0. There exists a quantum algorithm 𝒫\mathcal{P} which runs in time polynomial in nn and log(1/ϵ)\log(1/\epsilon) and satisfies

𝒫|S~A|0nB|S~A|S¯B2ϵ.\left\|\mathcal{P}\lvert\mspace{0.5mu}\tilde{S}\mspace{0.5mu}\rangle_{A}\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle_{B}-\lvert\mspace{0.5mu}\tilde{S}\mspace{0.5mu}\rangle_{A}\lvert\mspace{0.5mu}\bar{S}\mspace{0.5mu}\rangle_{B}\right\|_{2}\leq\epsilon\,.
Proof

We first observe that there is a quantum algorithm of size polynomial in nn and log(1/ϵ)\log(1/\epsilon) for the task of, given a classical description S~\tilde{S} of a \poly\poly-size set SS, preparing the state |S¯\lvert\mspace{0.5mu}\bar{S}\mspace{0.5mu}\rangle with precision ϵ\epsilon. This algorithm proceeds by repeatedly preparing the uniform superposition and then applying the two-outcome measurement defined by the projector xS|xx|\sum_{x\in S}|x\rangle\langle x|. After

r=max(1,log(3|S|ϵ)n)r=\max\left(1,\left\lceil\log\left(\frac{3|S|}{\epsilon}\right)-n\right\rceil\right)

repetitions, one of the attempts will succeed with probability at least 1ϵ/31-\epsilon/3. Finally, the algorithm swaps the successful register into a fixed output register (or outputs some fixed state if all attempts failed.) Let CϵC_{\epsilon} be the quantum circuit for executing this entire algorithm, including measurements and conditional operations.

The algorithm 𝒫\mathcal{P} will perform CϵC_{\epsilon} in a coherent (i.e., measurement-free) way, while uncomputing some garbage on the fly. In the end, the remaining garbage is uncomputed. The ii-th coherent iteration step is done as follows. Initialize a qubit CiC_{i} and an n-qubit register DiD_{i}, both in the all-zero state. Now, controlled on Ci1C_{i-1} and using the convention that C0=1C_{0}=1, apply HnH^{n} to BB and coherently measure whether BSB\in S, storing the outcome in CiC_{i}. Now, controlled on CiC_{i}, swap BB and DD, and unprepare |S\lvert\mspace{0.5mu}S\mspace{0.5mu}\rangle in register DiD_{i} with precision ϵ3r\frac{\epsilon}{3r} using the algorithm form Lemma 2. After this procedure, DiD_{i} is in the zero state and can be safely discarded. After rr iterations, the state is 2ϵ/32\epsilon/3-close to

|S~A|S¯B[=0r(s2n)/2(2ns2n)1/2|1|0r]C1C2Cr.\lvert\mspace{0.5mu}\tilde{S}\mspace{0.5mu}\rangle_{A}\lvert\mspace{0.5mu}\bar{S}\mspace{0.5mu}\rangle_{B}\otimes\left[\sum_{\ell=0}^{r}\left(\frac{s}{2^{n}}\right)^{\ell/2}\left(\frac{2^{n}-s}{2^{n}}\right)^{1/2}\lvert\mspace{0.5mu}1\mspace{0.5mu}\rangle^{\otimes\ell}\otimes\lvert\mspace{0.5mu}0\mspace{0.5mu}\rangle^{\otimes r-\ell}\right]_{C_{1}C_{2}...C_{r}}. (45)

But the state the CC-registers is in is a superposition of rr many computational basis states, so we can unprepare it using the algorithm from Lemma 2 with precision ϵ/3\epsilon/3, so we have prepared |S~A|S¯B\lvert\mspace{0.5mu}\tilde{S}\mspace{0.5mu}\rangle_{A}\lvert\mspace{0.5mu}\bar{S}\mspace{0.5mu}\rangle_{B} up to error ϵ\epsilon.

Lemma 8 (Restatement of Lemma 4)

Let |ζ0,j,|ζ1,j\lvert\mspace{0.5mu}\zeta_{0,j}\mspace{0.5mu}\rangle,\lvert\mspace{0.5mu}\zeta_{1,j}\mspace{0.5mu}\rangle be two familes of nn-qubit quantum states such that ζ0,jζ1,j=0\left\langle\zeta_{0,j}\mid\zeta_{1,j}\right\rangle=0 for all jj, and such that there exists a quantum algorithm 𝒫b\mathcal{P}_{b} which runs in time polynomial in nn and log(1/ϵ)\log(1/\epsilon) and satisfies 𝒫b|j|0n|j|ζb,j2ϵ\|\mathcal{P}_{b}\lvert\mspace{0.5mu}j\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle-\lvert\mspace{0.5mu}j\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\zeta_{b,j}\mspace{0.5mu}\rangle\|_{2}\leq\epsilon for b{0,1}b\in\{0,1\}.

For z0,z1z_{0},z_{1}\in\mathbb{C} such that |z0|2+|z1|2=1|z_{0}|^{2}+|z_{1}|^{2}=1, let z~\tilde{z} denote a classical description of (z0,z1)(z_{0},z_{1}) to precision at least ϵ\epsilon. There exists a quantum algorithm 𝒬\mathcal{Q} which runs in time polynomial in nn and log(1/ϵ)\log(1/\epsilon) and satisfies

𝒬|j|z~|0n|j|z~(z0|ζ0,j+z1|ζ1,j)2ϵ.\left\|\mathcal{Q}\lvert\mspace{0.5mu}j\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\tilde{z}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle-\lvert\mspace{0.5mu}j\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\tilde{z}\mspace{0.5mu}\rangle\bigl{(}z_{0}\lvert\mspace{0.5mu}\zeta_{0,j}\mspace{0.5mu}\rangle+z_{1}\lvert\mspace{0.5mu}\zeta_{1,j}\mspace{0.5mu}\rangle\bigr{)}\right\|_{2}\leq\epsilon\,. (46)
Proof

We first use Lemma 2 to implement a unitary UU such that U|z~|0=|z~(z0|0+z1|1)U\lvert\mspace{0.5mu}\tilde{z}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}0\mspace{0.5mu}\rangle=\lvert\mspace{0.5mu}\tilde{z}\mspace{0.5mu}\rangle(z_{0}\lvert\mspace{0.5mu}0\mspace{0.5mu}\rangle+z_{1}\lvert\mspace{0.5mu}1\mspace{0.5mu}\rangle) up to error ϵ/5\epsilon/5. After attaching an ancillary qubit and applying this circuit, our total state is |j|z~|0nO(z0|0+z1|1)Q\lvert\mspace{0.5mu}j\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}\tilde{z}\mspace{0.5mu}\rangle\lvert\mspace{0.5mu}0^{n}\mspace{0.5mu}\rangle_{O}(z_{0}\lvert\mspace{0.5mu}0\mspace{0.5mu}\rangle+z_{1}\lvert\mspace{0.5mu}1\mspace{0.5mu}\rangle)_{Q}, where we have named some of the registers for easier reference. Note that any efficient quantum circuit has an efficient controlled version. We can thus next prepare (in register OO) the state |ζ0,j\lvert\mspace{0.5mu}\zeta_{0,j}\mspace{0.5mu}\rangle controlled on QQ being in state |0\lvert\mspace{0.5mu}0\mspace{0.5mu}\rangle, and subsequently prepare (also in OO) the state |ζ1,j\lvert\mspace{0.5mu}\zeta_{1,j}\mspace{0.5mu}\rangle controlled on QQ being in state |1\lvert\mspace{0.5mu}1\mspace{0.5mu}\rangle, both with accuracy ϵ/5\epsilon/5. Now we apply the inverse of the circuit for the preparation of |ζ0,j\lvert\mspace{0.5mu}\zeta_{0,j}\mspace{0.5mu}\rangle to register OO, without control. Controlled on OO being in state |0n\lvert\mspace{0.5mu}0\mspace{0.5mu}\rangle^{n}, we then apply XX to QQ, after which the preparation circuit for |ζ0,j\lvert\mspace{0.5mu}\zeta_{0,j}\mspace{0.5mu}\rangle is applied to OO again (note that orthogonality of the two state families is crucial for this step.) The register QQ is now in the state |1\lvert\mspace{0.5mu}1\mspace{0.5mu}\rangle and can be safely discarded.