Quantum One-Time Protection of any Randomized Algorithm

Sam Gunn and Ramis Movassagh Google Quantum AI, Venice CA, 90291
(December 31, 2024)
Abstract

The meteoric rise in power and popularity of machine learning models dependent on valuable training data has reignited a basic tension between the power of running a program locally and the risk of exposing details of that program to the user. At the same time, fundamental properties of quantum states offer new solutions to data and program security that can require strikingly few quantum resources to exploit, and offer advantages outside of mere computational run time. In this work, we demonstrate such a solution with quantum one-time tokens.

A quantum one-time token is a quantum state that permits a certain program to be evaluated exactly once. One-time security guarantees, roughly, that the token cannot be used to evaluate the program more than once. We propose a scheme for building quantum one-time tokens for any randomized classical program, which include generative AI models. We prove that the scheme satisfies an interesting definition of one-time security as long as outputs of the classical algorithm have high enough min-entropy, in a black box model.

Importantly, the classical program being protected does not need to be implemented coherently on a quantum computer. In fact, the size and complexity of the quantum one-time token is independent of the program being protected, and additional quantum resources serve only to increase the security of the protocol. Due to this flexibility in adjusting the security, we believe that our proposal is parsimonious enough to serve as a promising candidate for a near-term useful demonstration of quantum computing in either the NISQ or early fault tolerant regime.

1 Introduction

Commercializing software presents a central dilemma: How does a proprietor distribute software, without forfeiting ownership? On the one hand, software must be made available to users for them to use it; on the other, once the software is distributed, an unlimited number of unauthorized copies can be made. This problem is more acute in the age of generative AI, where the software can be extremely valuable and potentially reveal private information.

There are two widely-adopted solutions to this problem:

  1. 1.

    The proprietor can distribute an obfuscated version of the software. However, this opens up the possibility of piracy, and the user can always run the software an unlimited number of times.

  2. 2.

    The proprietor can allow queries to the software, instead of distributing the software itself. But this requires communication between the user and the proprietor every time the software is used.

Sometimes a combination of these solutions is employed — for instance, an internet browser might be obfuscated and made public while the search engine itself is kept on servers.

There is an apparent trade-off between usability and exclusivity in these solutions. Distributing obfuscated software makes it highly usable, but it is impossible to impose any limits on the number of times it can be used. Keeping the software on servers and responding to user queries has high exclusivity, but lower usability because the user needs to communicate with the server to perform computations. Furthermore, this solution is only available to proprietors with enough resources to host a reliable server.

This trade-off between usability and exclusivity is inherent in the classical setting, because classical information can always be copied. As soon as software is distributed, the user can query or copy it as many times as they want. Therefore it is natural to look to quantum mechanics for improved solutions. In contrast to classical information, quantum information cannot be cloned. Indeed, unclonable cryptography is able to make use of this principle to improve both of the above solutions.111We note that unclonable cryptography has led to many additional interesting and varied protocols, including quantum money [Wie83], quantum key distribution [BB14], and certified deletion [BI20].

Improving Solution (1) with copy protection.

In copy protection, introduced by [Aar09], a quantum state is created that allows a program to be run an unlimited number of times, but not copied. In a classical oracle model, quantum copy protection is possible for any unlearnable program [ALL+21]. In the standard model, there exist unlearnable programs that cannot be copy protected [AP21]; nonetheless, it is known how to copy protect a small number of particular functionalities in the standard model [CLLZ21, LLQZ22, CG24, AB24].

Quantum copy protection addresses the piracy concern in Solution (1), but it does not apply in the setting where the proprietor wishes to distribute individual queries to the software. This is particularly relevant in the current age of generative AI, where the pay-per-query model is prevalent.

Improving Solution (2) with one-time programs.

For the pay-per-query model, one-time programs are a more suitable solution. A one-time program token is a quantum state that enables a program to be evaluated once. One-time programs therefore remove the need for online communication in Solution (2): The proprietor distributes tokens, and the users consume the tokens offline at their leisure.

This work.

In this work, we propose the first general-purpose tokenized program scheme using quantum information. Prior work was restricted to protecting specific cryptographic functionalities, and in particular did not apply to non-cryptographic programs like generative AI models.

Our method uses a one-time signature scheme and a program obfuscator to compile any randomized algorithm into a one-time token that allows the algorithm to be executed on any input of the user’s choice. We note that the quantum capabilities required for our scheme are completely independent of the program being protected. Therefore, our scheme could plausibly be used to protect a large program using only a small, noisy quantum device — even one that is incapable of demonstrating quantum computational advantage!

Prior and concurrent work on one-time programs.

One-time programs were initially studied in [GKR08], but without quantum computation. The idea of quantum one-time programs was originally suggested in [BGS13], where it was shown that it is impossible to build quantum one-time tokens for deterministic programs without specialized hardware assumptions. This is because a simple rewinding attack would allow a user to make arbitrarily many queries to the algorithm, given any state that allows it to be run once. Later, [BS23] presented a scheme to one-time protect signature functions in the standard model.

In concurrent and independent work, [GLR+24] also present a scheme for the one-time protection of arbitrary randomized algorithms. Their scheme is essentially identical to ours, except that they instantiate the quantum one-time authentication scheme with the particular construction of [CLLZ21]. With respect to security definitions and proofs, their results are generally much more extensive, including stronger (albeit more complex) definitions of one-time security and new impossibility results. However, they take a very different and complementary approach to proving security. It would be interesting to know whether our results (and in particular Lemma 1, which is simple and self-contained) say anything about security in their setting, or whether their results imply our Lemma 1.

Removing quantum communication.

The protocol described below requires quantum communication between the proprietor and the user, because the proprietor needs to send the user the quantum one-time program token. However, if the one-time signatures are instantiated with those from [CLLZ21], then the results of [Shm22, CHV23] allow us to replace this quantum communication with a remote state preparation protocol that uses only classical communication. That is, there exists a polynomial-time interactive protocol between a quantum user and a classical proprietor that results in the user holding a quantum one-time token which they can only use once. Unfortunately, this protocol is highly complex and not likely to be feasible on a near-term quantum device.222It also requires the assumptions that LWE is sub-exponentially hard for quantum computers and that indistinguishability obfuscation for classical circuits exists with sub-exponential security against quantum polynomial-time adversaries.

2 The construction

In this section, we present our scheme for one-time protecting an arbitrary randomized algorithm. Any randomized algorithm can be described by a function f𝑓fitalic_f, which takes the input together with a random string, and outputs the result of the computation.

Our scheme relies on three cryptographic primitives:

  • (𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇,𝖠𝗎𝗍𝗁𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇,𝖲𝗂𝗀𝗇,𝖵𝖾𝗋𝗂𝖿𝗒)𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇𝖠𝗎𝗍𝗁𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇𝖲𝗂𝗀𝗇𝖵𝖾𝗋𝗂𝖿𝗒(\mathsf{AuthKeyGen},\mathsf{AuthTokenGen},\mathsf{Sign},\mathsf{Verify})( sansserif_AuthKeyGen , sansserif_AuthTokenGen , sansserif_Sign , sansserif_Verify ), a quantum one-time authentication scheme. For instance, any quantum one-time signature scheme will suffice — although it is not required to be publicly verifiable. We define a quantum one-time authentication scheme in Definition 1.

  • 𝖮𝖻𝖿𝖮𝖻𝖿\mathsf{Obf}sansserif_Obf, a classical program obfuscator. This can be heuristically instantiated with any classical obfuscation algorithm (for instance, a candidate indistinguishability obfuscator), but we model it as black-box obfuscation for our security proof.

  • H𝐻Hitalic_H, a hash function modeled as a random oracle. This can be replaced with a pseudorandom function without affecting the security proof, because we model 𝖮𝖻𝖿𝖮𝖻𝖿\mathsf{Obf}sansserif_Obf as black-box obfuscation.

The software proprietor will generate a program token which can be used to evaluate f𝑓fitalic_f one time. A program token consists of two parts:

  • |ψket𝜓\ket{\psi}| start_ARG italic_ψ end_ARG ⟩, an unclonable quantum state that does not depend on f𝑓fitalic_f.

  • 𝖮𝖻𝖿(P)𝖮𝖻𝖿𝑃\mathsf{Obf}(P)sansserif_Obf ( italic_P ), an obfuscated classical circuit P𝑃Pitalic_P that depends on f𝑓fitalic_f. This part is completely classical.

We emphasize that |ψket𝜓\ket{\psi}| start_ARG italic_ψ end_ARG ⟩ does not depend on the program being obfuscated. In particular, this means that the quantum capabilities required of the user and the software proprietor do not depend on the complexity of the computation being one-time protected. Highly-complex computations like evaluation of a generative AI model can be protected, even if the quantum capabilities of both the user and software proprietor are limited. Furthermore, if we use the one-time signature scheme from [CLLZ21] for one-time authentication, then the only quantum capabilities required of the user are to store a constant-sized quantum state and to measure it in the standard and Hadamard bases.

At a high level, our scheme works by requiring the user to one-time authenticate any input they wish to evaluate f𝑓fitalic_f on. The program P𝑃Pitalic_P will not evaluate f𝑓fitalic_f unless a valid input-authentication pair is provided. Crucially, P𝑃Pitalic_P will determine the randomness to use for f𝑓fitalic_f by computing a hash of the input-authentication pair.

2.1 One-time authentication with strong unforgeability

Before we state our one-time program construction in 2, let us define quantum one-time authentication and strong unforgeability. This is essentially a secret-key version of the definition of a quantum one-time signature scheme from [BS23], except that we insist on it being infeasible to generate two distinct signatures even for the same message. This property is referred to as strong unforgeability in [CHV23, BKNY23].

Remark.

There was an error in a previous version of this paper, due to our defining only the standard, weak version of unforgeability. We thank an anonymous reviewer for QIP 2025 for pointing this out.

In the following definition, the notation \adv𝖵𝖾𝗋𝗂𝖿𝗒(\sk,)superscript\adv𝖵𝖾𝗋𝗂𝖿𝗒\sk\adv^{\mathsf{Verify}(\sk,\cdot)}start_POSTSUPERSCRIPT sansserif_Verify ( , ⋅ ) end_POSTSUPERSCRIPT means that \adv\adv\adv is given quantum query access to the function (x,z)𝖵𝖾𝗋𝗂𝖿𝗒(\sk,(x,z))maps-to𝑥𝑧𝖵𝖾𝗋𝗂𝖿𝗒\sk𝑥𝑧(x,z)\mapsto\mathsf{Verify}(\sk,(x,z))( italic_x , italic_z ) ↦ sansserif_Verify ( , ( italic_x , italic_z ) ).

Definition 1 (Quantum one-time authentication with strong unforgeability).

We say that a tuple of four polynomial-time algorithms (𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇,𝖠𝗎𝗍𝗁𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇,𝖲𝗂𝗀𝗇,𝖵𝖾𝗋𝗂𝖿𝗒)𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇𝖠𝗎𝗍𝗁𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇𝖲𝗂𝗀𝗇𝖵𝖾𝗋𝗂𝖿𝗒(\mathsf{AuthKeyGen},\mathsf{AuthTokenGen},\mathsf{Sign},\mathsf{Verify})( sansserif_AuthKeyGen , sansserif_AuthTokenGen , sansserif_Sign , sansserif_Verify ) is a quantum one-time authentication scheme with strong unforgeability if the following hold:333The notation \secparam\secparam\secparam just means \secpar\secpar\secpar repeated 1’s; we sometimes use \secparam\secparam\secparam instead of \secpar\secpar\secpar as the input to an algorithm because we want the algorithm to run in time that is polynomial in the size of the input.

  • (Correctness) 𝖵𝖾𝗋𝗂𝖿𝗒(\sk,(x,z))=1𝖵𝖾𝗋𝗂𝖿𝗒\sk𝑥𝑧1\mathsf{Verify}(\sk,(x,z))=1sansserif_Verify ( , ( italic_x , italic_z ) ) = 1 if z𝖲𝗂𝗀𝗇(x,|𝗍𝗄)𝑧𝖲𝗂𝗀𝗇𝑥ket𝗍𝗄z\leftarrow\mathsf{Sign}(x,\ket{\mathsf{tk}})italic_z ← sansserif_Sign ( italic_x , | start_ARG sansserif_tk end_ARG ⟩ ), |𝗍𝗄𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇(\sk)ket𝗍𝗄𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇\sk\ket{\mathsf{tk}}\leftarrow\mathsf{TokenGen}(\sk)| start_ARG sansserif_tk end_ARG ⟩ ← sansserif_TokenGen ( ), and \sk𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇(\secparam)\sk𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇\secparam\sk\leftarrow\mathsf{AuthKeyGen}(\secparam)← sansserif_AuthKeyGen ( ).

  • (One-time unforgeability) For any polynomial-time adversary \adv\adv\adv,

    Pr(x1,z1,x2,z2)\adv𝖵𝖾𝗋𝗂𝖿𝗒(\sk,)(|𝗍𝗄)|𝗍𝗄𝖠𝗎𝗍𝗁𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇(\sk)\sk𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇(\secparam)[𝖵𝖾𝗋𝗂𝖿𝗒(\sk,(x1,z1))=𝖵𝖾𝗋𝗂𝖿𝗒(\sk,(x2,z2))=1 and (x1,z1)(x2,z2)]=\negl.subscriptprobabilitysubscript𝑥1subscript𝑧1subscript𝑥2subscript𝑧2superscript\adv𝖵𝖾𝗋𝗂𝖿𝗒\skket𝗍𝗄ket𝗍𝗄𝖠𝗎𝗍𝗁𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇\sk\sk𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇\secparam𝖵𝖾𝗋𝗂𝖿𝗒\sksubscript𝑥1subscript𝑧1𝖵𝖾𝗋𝗂𝖿𝗒\sksubscript𝑥2subscript𝑧21 and subscript𝑥1subscript𝑧1subscript𝑥2subscript𝑧2\negl\Pr_{\begin{subarray}{c}(x_{1},z_{1},x_{2},z_{2})\leftarrow\adv^{\mathsf{% Verify}(\sk,\cdot)}(\ket{\mathsf{tk}})\\ \ket{\mathsf{tk}}\leftarrow\mathsf{AuthTokenGen}(\sk)\\ \sk\leftarrow\mathsf{AuthKeyGen}(\secparam)\end{subarray}}[\mathsf{Verify}(\sk% ,(x_{1},z_{1}))=\mathsf{Verify}(\sk,(x_{2},z_{2}))=1\text{ and }(x_{1},z_{1})% \neq(x_{2},z_{2})]=\negl.roman_Pr start_POSTSUBSCRIPT start_ARG start_ROW start_CELL ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ← start_POSTSUPERSCRIPT sansserif_Verify ( , ⋅ ) end_POSTSUPERSCRIPT ( | start_ARG sansserif_tk end_ARG ⟩ ) end_CELL end_ROW start_ROW start_CELL | start_ARG sansserif_tk end_ARG ⟩ ← sansserif_AuthTokenGen ( ) end_CELL end_ROW start_ROW start_CELL ← sansserif_AuthKeyGen ( ) end_CELL end_ROW end_ARG end_POSTSUBSCRIPT [ sansserif_Verify ( , ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ) = sansserif_Verify ( , ( italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ) = 1 and ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ≠ ( italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ] = .

Since (strongly unforgeable) one-time authentication schemes can be easily built from any (strongly unforgeable) one-time signature scheme by simply considering the public key to be part of the secret key, the results of [BS23, CLLZ21, CHV23, BKNY23] imply their existence. In fact, these results show the existence of information-theoretically secure quantum one-time authentication schemes — that is, these constructions are secure against computationally unbounded adversaries, as long as they are only allowed to make \poly\poly\poly queries to 𝖵𝖾𝗋𝗂𝖿𝗒𝖵𝖾𝗋𝗂𝖿𝗒\mathsf{Verify}sansserif_Verify.

We describe one such scheme for single-bit messages now. The case for multi-bit messages works by simply using several single-bit schemes in parallel.

Construction 1 (Single-bit quantum one-time authentication from hidden subspace states, [BS23]).

The algorithms are defined as follows.

𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇(\secparam)𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇\secparam\mathsf{AuthKeyGen}(\secparam)sansserif_AuthKeyGen ( )

  1. 1.

    Sample a uniformly random subspace A𝔽2\secpar𝐴superscriptsubscript𝔽2\secparA\subseteq\mathbb{F}_{2}^{\secpar}italic_A ⊆ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT end_POSTSUPERSCRIPT of dimension \secpar/2\secpar2\secpar/2/ 2.

  2. 2.

    Output A𝐴Aitalic_A.

𝖠𝗎𝗍𝗁𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇(A)𝖠𝗎𝗍𝗁𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇𝐴\mathsf{AuthTokenGen}(A)sansserif_AuthTokenGen ( italic_A )

  1. 1.

    Output |A=2\secpar/4aA|aket𝐴superscript2\secpar4subscript𝑎𝐴ket𝑎\ket{A}=2^{-\secpar/4}\sum_{a\in A}\ket{a}| start_ARG italic_A end_ARG ⟩ = 2 start_POSTSUPERSCRIPT - / 4 end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_a ∈ italic_A end_POSTSUBSCRIPT | start_ARG italic_a end_ARG ⟩.

𝖲𝗂𝗀𝗇(x,|A)𝖲𝗂𝗀𝗇𝑥ket𝐴\mathsf{Sign}(x,\ket{A})sansserif_Sign ( italic_x , | start_ARG italic_A end_ARG ⟩ )

  1. 1.

    If x=0𝑥0x=0italic_x = 0, measure A𝐴Aitalic_A in the standard basis and output the result.

  2. 2.

    If x=1𝑥1x=1italic_x = 1, measure A𝐴Aitalic_A in the Hadamard basis and output the result.

𝖵𝖾𝗋𝗂𝖿𝗒(A,(x,z))𝖵𝖾𝗋𝗂𝖿𝗒𝐴𝑥𝑧\mathsf{Verify}(A,(x,z))sansserif_Verify ( italic_A , ( italic_x , italic_z ) )

  1. 1.

    If z=0\secpar𝑧superscript0\secparz=0^{\secpar}italic_z = 0 start_POSTSUPERSCRIPT end_POSTSUPERSCRIPT, reject (output bottom\bot).

  2. 2.

    If x=0𝑥0x=0italic_x = 0 and zA𝑧𝐴z\in Aitalic_z ∈ italic_A, accept (output 1).

  3. 3.

    If x=1𝑥1x=1italic_x = 1 and zA𝑧superscript𝐴perpendicular-toz\in A^{\perp}italic_z ∈ italic_A start_POSTSUPERSCRIPT ⟂ end_POSTSUPERSCRIPT, accept (output 1).

  4. 4.

    Otherwise, reject (output bottom\bot).

Note that 1 is correct because

H\secpar|A=2\secpar/4b𝔽2nba=0aA|b=|A.superscript𝐻\secparket𝐴superscript2\secpar4subscript𝑏superscriptsubscript𝔽2𝑛𝑏𝑎0for-all𝑎𝐴ket𝑏ketsuperscript𝐴perpendicular-toH^{\secpar}\ket{A}=2^{-\secpar/4}\sum_{\begin{subarray}{c}b\in\mathbb{F}_{2}^{% n}\\ b\cdot a=0\ \forall a\in A\end{subarray}}\ket{b}=\ket*{A^{\perp}}.italic_H start_POSTSUPERSCRIPT end_POSTSUPERSCRIPT | start_ARG italic_A end_ARG ⟩ = 2 start_POSTSUPERSCRIPT - / 4 end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT start_ARG start_ROW start_CELL italic_b ∈ blackboard_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL italic_b ⋅ italic_a = 0 ∀ italic_a ∈ italic_A end_CELL end_ROW end_ARG end_POSTSUBSCRIPT | start_ARG italic_b end_ARG ⟩ = | start_ARG italic_A start_POSTSUPERSCRIPT ⟂ end_POSTSUPERSCRIPT end_ARG ⟩ .

Security was proven in [BS23].

Theorem 1 (Adapted from Theorem 16 of [BS23]).

1 is an information-theoretically secure quantum one-time authentication scheme.

2.2 Our one-time program construction

Let f𝑓fitalic_f be the program we wish to one-time protect. Our scheme works by publishing a program P^^𝑃\hat{P}over^ start_ARG italic_P end_ARG which contains within it the description of f𝑓fitalic_f. Crucially, this program will have the following properties:

  • P^^𝑃\hat{P}over^ start_ARG italic_P end_ARG uses obfuscation so as not to reveal the code of f𝑓fitalic_f;

  • P^^𝑃\hat{P}over^ start_ARG italic_P end_ARG will compute f𝑓fitalic_f on any input, but only if the input is authenticated with a one-time authentication scheme; and

  • P^^𝑃\hat{P}over^ start_ARG italic_P end_ARG suitably “mixes” the input, the authentication tag, and the output together in such a way that, if the output is measured, the input and authentication tag effectively collapse.

While the first property follows from our use of an oracle model, and the second property is by construction, the third will prove to be quite difficult to establish. The statement of this third property is formalized in Lemma 1, which allows us to prove the one-time security of our scheme.

Construction 2 (General-purpose one-time programs).

Let f:𝒳×𝒴:𝑓𝒳𝒴f:\operatorname{\mathcal{X}}\times\operatorname{\mathcal{R}}\to\operatorname{% \mathcal{Y}}italic_f : caligraphic_X × caligraphic_R → caligraphic_Y be the function to be one-time protected, described as a bit-string representing a classical circuit that computes f𝑓fitalic_f. Let 𝖮𝖻𝖿𝖮𝖻𝖿\mathsf{Obf}sansserif_Obf be an obfuscation algorithm for classical circuits, and let (𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇,𝖠𝗎𝗍𝗁𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇,𝖲𝗂𝗀𝗇,𝖵𝖾𝗋𝗂𝖿𝗒)𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇𝖠𝗎𝗍𝗁𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇𝖲𝗂𝗀𝗇𝖵𝖾𝗋𝗂𝖿𝗒(\mathsf{AuthKeyGen},\mathsf{AuthTokenGen},\mathsf{Sign},\mathsf{Verify})( sansserif_AuthKeyGen , sansserif_AuthTokenGen , sansserif_Sign , sansserif_Verify ) be a quantum one-time authentication scheme as defined in Definition 1. Suppose that the one-time authentication scheme produces authentications of length m𝑚mitalic_m for all messages x𝒳𝑥𝒳x\in\operatorname{\mathcal{X}}italic_x ∈ caligraphic_X, and let H:𝒳×{0,1}m:𝐻𝒳superscript01𝑚H:\operatorname{\mathcal{X}}\times\{0,1\}^{m}\to\operatorname{\mathcal{R}}italic_H : caligraphic_X × { 0 , 1 } start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT → caligraphic_R be a random oracle.

Our one-time protection scheme is specified by the algorithms 𝖪𝖾𝗒𝖦𝖾𝗇𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen}sansserif_KeyGen, 𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇\mathsf{TokenGen}sansserif_TokenGen, and 𝖳𝗈𝗄𝖾𝗇𝖤𝗏𝖺𝗅𝖳𝗈𝗄𝖾𝗇𝖤𝗏𝖺𝗅\mathsf{TokenEval}sansserif_TokenEval, defined as follows.

𝖪𝖾𝗒𝖦𝖾𝗇(\secparam,f)𝖪𝖾𝗒𝖦𝖾𝗇\secparam𝑓\mathsf{KeyGen}(\secparam,f)sansserif_KeyGen ( , italic_f )

  1. 1.

    Sample \sk𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇(\secparam)\sk𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇\secparam\sk\leftarrow\mathsf{AuthKeyGen}(\secparam)← sansserif_AuthKeyGen ( ).

  2. 2.

    Let P:𝒳×{0,1}m𝒴{}:𝑃𝒳superscript01𝑚𝒴bottomP:\operatorname{\mathcal{X}}\times\{0,1\}^{m}\to\operatorname{\mathcal{Y}}\cup% \{\bot\}italic_P : caligraphic_X × { 0 , 1 } start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT → caligraphic_Y ∪ { ⊥ } be a classical circuit that does the following on input (x,z)𝑥𝑧(x,z)( italic_x , italic_z ):

    1. (a)

      Compute 𝖵𝖾𝗋𝗂𝖿𝗒(\sk,(x,z))𝖵𝖾𝗋𝗂𝖿𝗒\sk𝑥𝑧\mathsf{Verify}(\sk,(x,z))sansserif_Verify ( , ( italic_x , italic_z ) ). If it rejects, output the special “reject” symbol bottom\bot.

    2. (b)

      Otherwise, output f(x;H(x,z))𝑓𝑥𝐻𝑥𝑧f(x;H(x,z))italic_f ( italic_x ; italic_H ( italic_x , italic_z ) ).

  3. 3.

    Compute the obfuscation P^=𝖮𝖻𝖿(P)^𝑃𝖮𝖻𝖿𝑃\hat{P}=\mathsf{Obf}(P)over^ start_ARG italic_P end_ARG = sansserif_Obf ( italic_P ) of P𝑃Pitalic_P.

  4. 4.

    Output (\sk,P^)\sk^𝑃(\sk,\hat{P})( , over^ start_ARG italic_P end_ARG ).

𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇(\sk)𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇\sk\mathsf{TokenGen}(\sk)sansserif_TokenGen ( )

  1. 1.

    Compute the one-time authentication token |𝗍𝗄𝖠𝗎𝗍𝗁𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇(\sk)ket𝗍𝗄𝖠𝗎𝗍𝗁𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇\sk\ket{\mathsf{tk}}\leftarrow\mathsf{AuthTokenGen}(\sk)| start_ARG sansserif_tk end_ARG ⟩ ← sansserif_AuthTokenGen ( ).

  2. 2.

    Output |𝗍𝗄ket𝗍𝗄\ket{\mathsf{tk}}| start_ARG sansserif_tk end_ARG ⟩ as the one-time program token.

𝖳𝗈𝗄𝖾𝗇𝖤𝗏𝖺𝗅(x,|𝗍𝗄,P^)𝖳𝗈𝗄𝖾𝗇𝖤𝗏𝖺𝗅𝑥ket𝗍𝗄^𝑃\mathsf{TokenEval}(x,\ket*{\mathsf{tk}},\hat{P})sansserif_TokenEval ( italic_x , | start_ARG sansserif_tk end_ARG ⟩ , over^ start_ARG italic_P end_ARG )

  1. 1.

    Compute z𝖲𝗂𝗀𝗇(x,|𝗍𝗄)𝑧𝖲𝗂𝗀𝗇𝑥ket𝗍𝗄z\leftarrow\mathsf{Sign}(x,\ket*{\mathsf{tk}})italic_z ← sansserif_Sign ( italic_x , | start_ARG sansserif_tk end_ARG ⟩ ).

  2. 2.

    Compute P^(x,z)^𝑃𝑥𝑧\hat{P}(x,z)over^ start_ARG italic_P end_ARG ( italic_x , italic_z ) and output the result.

After 𝖪𝖾𝗒𝖦𝖾𝗇𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen}sansserif_KeyGen is run, the obfuscated program P^=𝖮𝖻𝖿(P)^𝑃𝖮𝖻𝖿𝑃\hat{P}=\mathsf{Obf}(P)over^ start_ARG italic_P end_ARG = sansserif_Obf ( italic_P ) is published as a public key. Given a one-time program token |𝗍𝗄ket𝗍𝗄\ket{\mathsf{tk}}| start_ARG sansserif_tk end_ARG ⟩, together with this public key, a user can evaluate f𝑓fitalic_f on any input x𝑥xitalic_x of their choice.

3 Security

We formalize one-time security of our one-time program scheme with the following black-box one-time program game. Essentially, security says that once an adversary produces a measured output of P^^𝑃\hat{P}over^ start_ARG italic_P end_ARG, the adversary cannot find new accepting inputs to P^^𝑃\hat{P}over^ start_ARG italic_P end_ARG.

  1. 𝒢BB-OTP(|ψ,P^)subscript𝒢BB-OTPket𝜓^𝑃\operatorname{\mathcal{G}}_{\mathrm{BB}\text{-}\mathrm{OTP}}(\ket{\psi},\hat{P})caligraphic_G start_POSTSUBSCRIPT roman_BB - roman_OTP end_POSTSUBSCRIPT ( | start_ARG italic_ψ end_ARG ⟩ , over^ start_ARG italic_P end_ARG ):

  2. 1.

    The adversary is given |ψket𝜓\ket{\psi}| start_ARG italic_ψ end_ARG ⟩. The adversary is also given (quantum) oracle access to P^^𝑃\hat{P}over^ start_ARG italic_P end_ARG. The adversary is allowed to access this oracle throughout the game.

  3. 2.

    The adversary submits a quantum query to the challenger on register 𝖰𝖰\operatorname{\mathsf{Q}}sansserif_Q. The challenger does the following:

    1. (a)

      Compute P^^𝑃\hat{P}over^ start_ARG italic_P end_ARG on 𝖰𝖰\operatorname{\mathsf{Q}}sansserif_Q, placing the result of the computation onto a register 𝖱𝖱\operatorname{\mathsf{R}}sansserif_R.

    2. (b)

      Measure 𝖱𝖱\operatorname{\mathsf{R}}sansserif_R, obtaining outcome y𝑦yitalic_y.

    3. (c)

      If y=𝑦bottomy=\botitalic_y = ⊥, the game is aborted and the adversary loses.

    4. (d)

      Otherwise, return 𝖰𝖰\operatorname{\mathsf{Q}}sansserif_Q to the adversary.

  4. 3.

    The adversary submits a quantum query to the challenger on register 𝖰𝖰\operatorname{\mathsf{Q}}sansserif_Q. The challenger does the following:

    1. (a)

      Compute P^^𝑃\hat{P}over^ start_ARG italic_P end_ARG on 𝖰𝖰\operatorname{\mathsf{Q}}sansserif_Q, placing the result of the computation onto a register 𝖱𝖱\operatorname{\mathsf{R}}sansserif_R.

    2. (b)

      Measure 𝖱𝖱\operatorname{\mathsf{R}}sansserif_R, obtaining outcome ysuperscript𝑦y^{\prime}italic_y start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.

  5. 4.

    The adversary wins if y{y,}superscript𝑦𝑦bottomy^{\prime}\not\in\{y,\bot\}italic_y start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∉ { italic_y , ⊥ }.

We say that a scheme is black-box one-time secure if no polynomial-time adversary can win 𝒢BB-OTPsubscript𝒢BB-OTP\operatorname{\mathcal{G}}_{\mathrm{BB}\text{-}\mathrm{OTP}}caligraphic_G start_POSTSUBSCRIPT roman_BB - roman_OTP end_POSTSUBSCRIPT with inverse polynomial probability.

Definition 2 (One-time program).

A one-time program scheme consists of three polynomial-time algorithms 𝖪𝖾𝗒𝖦𝖾𝗇𝖪𝖾𝗒𝖦𝖾𝗇\mathsf{KeyGen}sansserif_KeyGen, 𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇\mathsf{TokenGen}sansserif_TokenGen, and 𝖳𝗈𝗄𝖾𝗇𝖤𝗏𝖺𝗅𝖳𝗈𝗄𝖾𝗇𝖤𝗏𝖺𝗅\mathsf{TokenEval}sansserif_TokenEval. We say that it is black-box one-time secure for a function f𝑓fitalic_f if, for all polynomial-time adversaries \adv\adv\adv making at most \poly\poly\poly quantum oracle queries,

Pr(\sk,P^)𝖪𝖾𝗒𝖦𝖾𝗇(\secparam,f)|𝗍𝗄𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇(\sk)[\advP^ wins 𝒢BB-OTP(|𝗍𝗄,P^)]=\negl.subscriptprobability\sk^𝑃𝖪𝖾𝗒𝖦𝖾𝗇\secparam𝑓ket𝗍𝗄𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇\sksuperscript\adv^𝑃 wins subscript𝒢BB-OTPket𝗍𝗄^𝑃\negl\Pr_{\begin{subarray}{c}(\sk,\hat{P})\leftarrow\mathsf{KeyGen}(\secparam,f)\\ \ket{\mathsf{tk}}\leftarrow\mathsf{TokenGen}(\sk)\end{subarray}}[\adv^{\hat{P}% }\text{ wins }\operatorname{\mathcal{G}}_{\mathrm{BB}\text{-}\mathrm{OTP}}(% \ket{\mathsf{tk}},\hat{P})]=\negl.roman_Pr start_POSTSUBSCRIPT start_ARG start_ROW start_CELL ( , over^ start_ARG italic_P end_ARG ) ← sansserif_KeyGen ( , italic_f ) end_CELL end_ROW start_ROW start_CELL | start_ARG sansserif_tk end_ARG ⟩ ← sansserif_TokenGen ( ) end_CELL end_ROW end_ARG end_POSTSUBSCRIPT [ start_POSTSUPERSCRIPT over^ start_ARG italic_P end_ARG end_POSTSUPERSCRIPT wins caligraphic_G start_POSTSUBSCRIPT roman_BB - roman_OTP end_POSTSUBSCRIPT ( | start_ARG sansserif_tk end_ARG ⟩ , over^ start_ARG italic_P end_ARG ) ] = .

We do not believe that this is the final say in definitions of one-time security, but we believe it is a useful starting point. The rest of this paper is devoted to proving the following theorem.

Theorem 2 (2 is one-time secure).

Suppose that, for every x𝒳𝑥𝒳x\in\operatorname{\mathcal{X}}italic_x ∈ caligraphic_X, the min-entropy of f(x;r)𝑓𝑥𝑟f(x;r)italic_f ( italic_x ; italic_r ) for random r𝑟r\leftarrow\operatorname{\mathcal{R}}italic_r ← caligraphic_R is at least \poly\poly\poly. Suppose further that the quantum one-time authentication scheme in 2 is secure. Then 2 is black-box one-time secure for f𝑓fitalic_f.

Our proof of Theorem 2 will center on the notion of a collapsing hash function. The definition of a collapsing hash function is due to [Unr16]; informally, we say that g𝑔gitalic_g is collapsing if measuring the output of g𝑔gitalic_g collapses the input register from the perspective of any polynomial-time adversary.

Formally, let gHsuperscript𝑔𝐻g^{H}italic_g start_POSTSUPERSCRIPT italic_H end_POSTSUPERSCRIPT be a function that is computed by making calls to a random oracle H𝐻Hitalic_H. In this case we define collapsing with the following game.

  1. 𝒢Collapsing(b,gH)subscript𝒢Collapsing𝑏superscript𝑔𝐻\operatorname{\mathcal{G}}_{\mathrm{Collapsing}}(b,g^{H})caligraphic_G start_POSTSUBSCRIPT roman_Collapsing end_POSTSUBSCRIPT ( italic_b , italic_g start_POSTSUPERSCRIPT italic_H end_POSTSUPERSCRIPT ):

  2. 1.

    The adversary is given a full description of g𝑔gitalic_g and oracle access to H𝐻Hitalic_H.

  3. 2.

    The adversary sends the challenger a query on register 𝖰𝖰\operatorname{\mathsf{Q}}sansserif_Q.

  4. 3.

    The challenger computes gHsuperscript𝑔𝐻g^{H}italic_g start_POSTSUPERSCRIPT italic_H end_POSTSUPERSCRIPT on register 𝖰𝖰\operatorname{\mathsf{Q}}sansserif_Q and measures the outcome. If b=1𝑏1b=1italic_b = 1, the challenger measures 𝖰𝖰\operatorname{\mathsf{Q}}sansserif_Q as well.

  5. 4.

    The challenger returns 𝖰𝖰\operatorname{\mathsf{Q}}sansserif_Q to the adversary.

  6. 5.

    The adversary outputs a bit bsuperscript𝑏b^{\prime}italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.

Definition 3 (Collapsing hash function [Unr16]).

Let gHsuperscript𝑔𝐻g^{H}italic_g start_POSTSUPERSCRIPT italic_H end_POSTSUPERSCRIPT be a function that is computed by making calls to a random oracle H𝐻Hitalic_H. We say that gHsuperscript𝑔𝐻g^{H}italic_g start_POSTSUPERSCRIPT italic_H end_POSTSUPERSCRIPT is collapsing if, for all adversaries \adv\adv\adv making at most \poly\poly\poly quantum oracle queries to H𝐻Hitalic_H,

PrHb{0,1}[\advH outputs b=b in 𝒢Collapsing(b,gH)]12+\negl.subscriptprobability𝐻𝑏01superscript\adv𝐻 outputs superscript𝑏𝑏 in subscript𝒢Collapsing𝑏superscript𝑔𝐻12\negl\Pr_{\begin{subarray}{c}H\\ b\leftarrow\{0,1\}\end{subarray}}[\adv^{H}\text{ outputs }b^{\prime}=b\text{ % in }\operatorname{\mathcal{G}}_{\mathrm{Collapsing}}(b,g^{H})]\leq\frac{1}{2}+\negl.roman_Pr start_POSTSUBSCRIPT start_ARG start_ROW start_CELL italic_H end_CELL end_ROW start_ROW start_CELL italic_b ← { 0 , 1 } end_CELL end_ROW end_ARG end_POSTSUBSCRIPT [ start_POSTSUPERSCRIPT italic_H end_POSTSUPERSCRIPT outputs italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = italic_b in caligraphic_G start_POSTSUBSCRIPT roman_Collapsing end_POSTSUBSCRIPT ( italic_b , italic_g start_POSTSUPERSCRIPT italic_H end_POSTSUPERSCRIPT ) ] ≤ divide start_ARG 1 end_ARG start_ARG 2 end_ARG + .

The key idea in our proof of Theorem 2 is to show that the function g:xf(x;H(x)):𝑔maps-to𝑥𝑓𝑥𝐻𝑥g:x\mapsto f(x;H(x))italic_g : italic_x ↦ italic_f ( italic_x ; italic_H ( italic_x ) ) is collapsing if H𝐻Hitalic_H is a random function and f𝑓fitalic_f has significant min-entropy for every x𝑥xitalic_x. This is stated as Lemma 1.

Lemma 1.

Let f:{0,1}m×{0,1}n𝒴:𝑓superscript01𝑚superscript01𝑛𝒴f:\{0,1\}^{m}\times\{0,1\}^{n}\to\operatorname{\mathcal{Y}}italic_f : { 0 , 1 } start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT × { 0 , 1 } start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT → caligraphic_Y. Suppose that for all x{0,1}m𝑥superscript01𝑚x\in\{0,1\}^{m}italic_x ∈ { 0 , 1 } start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT, the min-entropy of f(x;r)𝑓𝑥𝑟f(x;r)italic_f ( italic_x ; italic_r ) for random r{0,1}n𝑟superscript01𝑛r\leftarrow\{0,1\}^{n}italic_r ← { 0 , 1 } start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT is at least τ𝜏\tauitalic_τ. Then if H:{0,1}m{0,1}n:𝐻superscript01𝑚superscript01𝑛H:\{0,1\}^{m}\to\{0,1\}^{n}italic_H : { 0 , 1 } start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT → { 0 , 1 } start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT is a random oracle, the function gH:xf(x;H(x)):superscript𝑔𝐻maps-to𝑥𝑓𝑥𝐻𝑥g^{H}:x\mapsto f(x;H(x))italic_g start_POSTSUPERSCRIPT italic_H end_POSTSUPERSCRIPT : italic_x ↦ italic_f ( italic_x ; italic_H ( italic_x ) ) is collapsing with advantage O(q32τ)𝑂superscript𝑞3superscript2𝜏O(q^{3}\cdot 2^{-\tau})italic_O ( italic_q start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ⋅ 2 start_POSTSUPERSCRIPT - italic_τ end_POSTSUPERSCRIPT ).

We will use the compressed oracles technique of [Zha19] to prove Lemma 1 in Section 3.2. This proof is somewhat involved, so before we present it we will show in Section 3.1 that random oracles are collapsing as a warm-up. The proof of Lemma 1 is essentially identical, except that the components need to be updated.

Once we have Lemma 1, Theorem 2 will follow immediately, as we will now see.

Proof of Theorem 2.

Suppose that an adversary \adv\adv\adv making \poly\poly\poly many oracle queries satisfies

Pr(\sk,P^)𝖪𝖾𝗒𝖦𝖾𝗇(\secparam,f)|𝗍𝗄𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇(\sk)[\advP^ wins 𝒢BB-OTP(|𝗍𝗄,P^)]=εsubscriptprobability\sk^𝑃𝖪𝖾𝗒𝖦𝖾𝗇\secparam𝑓ket𝗍𝗄𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇\sksuperscript\adv^𝑃 wins subscript𝒢BB-OTPket𝗍𝗄^𝑃𝜀\Pr_{\begin{subarray}{c}(\sk,\hat{P})\leftarrow\mathsf{KeyGen}(\secparam,f)\\ \ket{\mathsf{tk}}\leftarrow\mathsf{TokenGen}(\sk)\end{subarray}}[\adv^{\hat{P}% }\text{ wins }\operatorname{\mathcal{G}}_{\mathrm{BB}\text{-}\mathrm{OTP}}(% \ket{\mathsf{tk}},\hat{P})]=\varepsilonroman_Pr start_POSTSUBSCRIPT start_ARG start_ROW start_CELL ( , over^ start_ARG italic_P end_ARG ) ← sansserif_KeyGen ( , italic_f ) end_CELL end_ROW start_ROW start_CELL | start_ARG sansserif_tk end_ARG ⟩ ← sansserif_TokenGen ( ) end_CELL end_ROW end_ARG end_POSTSUBSCRIPT [ start_POSTSUPERSCRIPT over^ start_ARG italic_P end_ARG end_POSTSUPERSCRIPT wins caligraphic_G start_POSTSUBSCRIPT roman_BB - roman_OTP end_POSTSUBSCRIPT ( | start_ARG sansserif_tk end_ARG ⟩ , over^ start_ARG italic_P end_ARG ) ] = italic_ε

for some ε>0𝜀0\varepsilon>0italic_ε > 0. We will use Lemma 1 to give a reduction \operatorname{\mathcal{R}}caligraphic_R making \poly\poly\poly many queries to 𝖵𝖾𝗋𝗂𝖿𝗒𝖵𝖾𝗋𝗂𝖿𝗒\mathsf{Verify}sansserif_Verify such that

Pr\sk𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇(\secparam)|𝗍𝗄𝖠𝗎𝗍𝗁𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇(\sk)[𝖵𝖾𝗋𝗂𝖿𝗒 wins 𝒢Auth(|𝗍𝗄)]ε\negl,subscriptprobability\sk𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇\secparamket𝗍𝗄𝖠𝗎𝗍𝗁𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇\sksuperscript𝖵𝖾𝗋𝗂𝖿𝗒 wins subscript𝒢Authket𝗍𝗄𝜀\negl\Pr_{\begin{subarray}{c}\sk\leftarrow\mathsf{AuthKeyGen}(\secparam)\\ \ket{\mathsf{tk}}\leftarrow\mathsf{AuthTokenGen}(\sk)\end{subarray}}[% \operatorname{\mathcal{R}}^{\mathsf{Verify}}\text{ wins }\operatorname{% \mathcal{G}}_{\mathrm{Auth}}(\ket{\mathsf{tk}})]\geq\varepsilon-\negl,roman_Pr start_POSTSUBSCRIPT start_ARG start_ROW start_CELL ← sansserif_AuthKeyGen ( ) end_CELL end_ROW start_ROW start_CELL | start_ARG sansserif_tk end_ARG ⟩ ← sansserif_AuthTokenGen ( ) end_CELL end_ROW end_ARG end_POSTSUBSCRIPT [ caligraphic_R start_POSTSUPERSCRIPT sansserif_Verify end_POSTSUPERSCRIPT wins caligraphic_G start_POSTSUBSCRIPT roman_Auth end_POSTSUBSCRIPT ( | start_ARG sansserif_tk end_ARG ⟩ ) ] ≥ italic_ε - ,

which will complete the proof.

The reduction behaves as follows.

  1. \operatorname{\mathcal{R}}caligraphic_R:

  2. 1.

    Receive |𝗍𝗄ket𝗍𝗄\ket{\mathsf{tk}}| start_ARG sansserif_tk end_ARG ⟩ from the challenger and forward it to \adv\adv\adv. Every time the adversary makes a query to P𝑃Pitalic_P, use the oracle access to 𝖵𝖾𝗋𝗂𝖿𝗒(\sk,)𝖵𝖾𝗋𝗂𝖿𝗒\sk\mathsf{Verify}(\sk,\cdot)sansserif_Verify ( , ⋅ ) to compute the response.

  3. 2.

    Receive 𝖰𝖰\operatorname{\mathsf{Q}}sansserif_Q from the adversary. Measure 𝖰𝖰\operatorname{\mathsf{Q}}sansserif_Q, obtaining outcome (x1,z1)subscript𝑥1subscript𝑧1(x_{1},z_{1})( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ); return the collapsed register 𝖰𝖰\operatorname{\mathsf{Q}}sansserif_Q to the adversary.

  4. 3.

    Receive 𝖰𝖰\operatorname{\mathsf{Q}}sansserif_Q from the adversary again. Measure 𝖰𝖰\operatorname{\mathsf{Q}}sansserif_Q, obtaining outcome (x2,z2)subscript𝑥2subscript𝑧2(x_{2},z_{2})( italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ).

  5. 4.

    Output (x1,z1,x2,z2)subscript𝑥1subscript𝑧1subscript𝑥2subscript𝑧2(x_{1},z_{1},x_{2},z_{2})( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ).

The only thing that’s different about the adversary’s view in 𝒢BB-OTPsubscript𝒢BB-OTP\operatorname{\mathcal{G}}_{\mathrm{BB}\text{-}\mathrm{OTP}}caligraphic_G start_POSTSUBSCRIPT roman_BB - roman_OTP end_POSTSUBSCRIPT and in the game with \operatorname{\mathcal{R}}caligraphic_R is that 𝖰𝖰\operatorname{\mathsf{Q}}sansserif_Q is measured in the game with \operatorname{\mathcal{R}}caligraphic_R. But by Lemma 1, this is indistinguishable to the adversary!

Now observe that if \adv\adv\adv wins 𝒢BB-OTPsubscript𝒢BB-OTP\operatorname{\mathcal{G}}_{\mathrm{BB}\text{-}\mathrm{OTP}}caligraphic_G start_POSTSUBSCRIPT roman_BB - roman_OTP end_POSTSUBSCRIPT, then \operatorname{\mathcal{R}}caligraphic_R breaks the one-time unforgeability of the one-time authentication scheme (𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇,𝖠𝗎𝗍𝗁𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇,𝖲𝗂𝗀𝗇,𝖵𝖾𝗋𝗂𝖿𝗒)𝖠𝗎𝗍𝗁𝖪𝖾𝗒𝖦𝖾𝗇𝖠𝗎𝗍𝗁𝖳𝗈𝗄𝖾𝗇𝖦𝖾𝗇𝖲𝗂𝗀𝗇𝖵𝖾𝗋𝗂𝖿𝗒(\mathsf{AuthKeyGen},\mathsf{AuthTokenGen},\mathsf{Sign},\mathsf{Verify})( sansserif_AuthKeyGen , sansserif_AuthTokenGen , sansserif_Sign , sansserif_Verify ). This is because yy𝑦superscript𝑦y\neq y^{\prime}italic_y ≠ italic_y start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT both must not be bottom\bot, which means that 𝖵𝖾𝗋𝗂𝖿𝗒(\sk,(x1,z1))=𝖵𝖾𝗋𝗂𝖿𝗒(\sk,(x2,z2))=1𝖵𝖾𝗋𝗂𝖿𝗒\sksubscript𝑥1subscript𝑧1𝖵𝖾𝗋𝗂𝖿𝗒\sksubscript𝑥2subscript𝑧21\mathsf{Verify}(\sk,(x_{1},z_{1}))=\mathsf{Verify}(\sk,(x_{2},z_{2}))=1sansserif_Verify ( , ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ) = sansserif_Verify ( , ( italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ) = 1 and (x1,z1)(x2,z2)subscript𝑥1subscript𝑧1subscript𝑥2subscript𝑧2(x_{1},z_{1})\neq(x_{2},z_{2})( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ≠ ( italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ). This completes the proof. ∎

It only remains to prove Lemma 1.

3.1 Warm-up: Random oracles are collapsing

As a warm-up to proving Lemma 1, we use the compressed oracles technique to present a direct proof that random oracles are collapsing. It is already known that random oracles are collapsing by a proof of [Unr16], but that proof makes use of multiple lemmas that are proven using the compressed oracle technique — here, we prove the result directly using this technique.

Proposition 1.

A random oracle R:{0,1}m{0,1}n:𝑅superscript01𝑚superscript01𝑛R:\{0,1\}^{m}\to\{0,1\}^{n}italic_R : { 0 , 1 } start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT → { 0 , 1 } start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT is collapsing with advantage O(q3/2n)𝑂superscript𝑞3superscript2𝑛O(q^{3}/2^{n})italic_O ( italic_q start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT / 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT ), where q𝑞qitalic_q is the number of queries made by the adversary.

Proof.

We use the compressed oracle technique due to [Zha19], and we define 𝖢𝖯𝗁𝗌𝖮,𝖢𝖯𝗁𝗌𝖮𝖢𝖯𝗁𝗌𝖮superscript𝖢𝖯𝗁𝗌𝖮\mathsf{CPhsO},\mathsf{CPhsO}^{\prime}sansserif_CPhsO , sansserif_CPhsO start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and the notation for compressed oracle databases as in that paper. Suppose that the adversary makes q0subscript𝑞0q_{0}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT queries before the challenge query and q1subscript𝑞1q_{1}italic_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT queries after. Depending on whether or not the challenger records the challenge query input, the state just after the challenge query is

D,xαD,x|ψD,x|x|D,D(x)subscript𝐷𝑥tensor-productsubscript𝛼𝐷𝑥ketsubscript𝜓𝐷𝑥ket𝑥ket𝐷𝐷𝑥\sum_{D,x}\alpha_{D,x}\ket{\psi_{D,x}}\otimes\ket{x}\otimes\ket{D,D(x)}∑ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT | start_ARG italic_ψ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT end_ARG ⟩ ⊗ | start_ARG italic_x end_ARG ⟩ ⊗ | start_ARG italic_D , italic_D ( italic_x ) end_ARG ⟩

or

D,xαD,x|ψD,x|x|D,D(x),x.subscript𝐷𝑥tensor-productsubscript𝛼𝐷𝑥ketsubscript𝜓𝐷𝑥ket𝑥ket𝐷𝐷𝑥𝑥\sum_{D,x}\alpha_{D,x}\ket{\psi_{D,x}}\otimes\ket{x}\otimes\ket{D,D(x),x}.∑ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT | start_ARG italic_ψ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT end_ARG ⟩ ⊗ | start_ARG italic_x end_ARG ⟩ ⊗ | start_ARG italic_D , italic_D ( italic_x ) , italic_x end_ARG ⟩ .

Here, the first register contains the adversary’s state; the second is the query register; the third is the database register; and the fourth and fifth are the registers into which the challenger records the challenge query output and (in the second case) input.

Next, the adversary makes q1subscript𝑞1q_{1}italic_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT further queries to 𝖢𝖯𝗁𝗌𝖮𝖢𝖯𝗁𝗌𝖮\mathsf{CPhsO}sansserif_CPhsO. Let U𝑈Uitalic_U be the unitary describing the evolution of the game state under these queries.

Let 𝖨𝗇𝗏𝖾𝗋𝗍𝖨𝗇𝗏𝖾𝗋𝗍\mathsf{Invert}sansserif_Invert be the unitary that reads |D,yket𝐷𝑦\ket{D,y}| start_ARG italic_D , italic_y end_ARG ⟩ and writes the lexicographically first x𝑥xitalic_x such that (x,y)D𝑥𝑦𝐷(x,y)\in D( italic_x , italic_y ) ∈ italic_D onto a new register, if there is any such x𝑥xitalic_x. This function is almost identical to 𝖥𝗂𝗇𝖽𝖨𝗇𝗉𝗎𝗍𝖥𝗂𝗇𝖽𝖨𝗇𝗉𝗎𝗍\mathsf{FindInput}sansserif_FindInput from [Zha19]; one can compute either of 𝖨𝗇𝗏𝖾𝗋𝗍𝖨𝗇𝗏𝖾𝗋𝗍\mathsf{Invert}sansserif_Invert or 𝖥𝗂𝗇𝖽𝖨𝗇𝗉𝗎𝗍𝖥𝗂𝗇𝖽𝖨𝗇𝗉𝗎𝗍\mathsf{FindInput}sansserif_FindInput with one call to the other.

Our proof strategy is to show that applying 𝖨𝗇𝗏𝖾𝗋𝗍𝖨𝗇𝗏𝖾𝗋𝗍\mathsf{Invert}sansserif_Invert to |D,D(x)ket𝐷𝐷𝑥\ket{D,D(x)}| start_ARG italic_D , italic_D ( italic_x ) end_ARG ⟩ at the end of the game in the b=0𝑏0b=0italic_b = 0 case yields the state in the b=1𝑏1b=1italic_b = 1 case. Since 𝖨𝗇𝗏𝖾𝗋𝗍𝖨𝗇𝗏𝖾𝗋𝗍\mathsf{Invert}sansserif_Invert is applied only to the challenger’s side, this will complete the proof.

Since 𝖨𝗇𝗏𝖾𝗋𝗍𝖨𝗇𝗏𝖾𝗋𝗍\mathsf{Invert}sansserif_Invert commutes with 𝖢𝖯𝗁𝗌𝖮superscript𝖢𝖯𝗁𝗌𝖮\mathsf{CPhsO}^{\prime}sansserif_CPhsO start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, [Zha19, Lemma 7] implies that 𝖨𝗇𝗏𝖾𝗋𝗍𝖨𝗇𝗏𝖾𝗋𝗍\mathsf{Invert}sansserif_Invert O(1/2n)𝑂1superscript2𝑛O(1/2^{n})italic_O ( 1 / 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT )-almost commutes with 𝖢𝖯𝗁𝗌𝖮𝖢𝖯𝗁𝗌𝖮\mathsf{CPhsO}sansserif_CPhsO. Therefore

𝖨𝗇𝗏𝖾𝗋𝗍UD,xαD,x|ψD,x|x,D,D(x)U𝖨𝗇𝗏𝖾𝗋𝗍D,xαD,x|ψD,x|x,D,D(x)=O(q/2n).norm𝖨𝗇𝗏𝖾𝗋𝗍𝑈subscript𝐷𝑥tensor-productsubscript𝛼𝐷𝑥ketsubscript𝜓𝐷𝑥ket𝑥𝐷𝐷𝑥𝑈𝖨𝗇𝗏𝖾𝗋𝗍subscript𝐷𝑥tensor-productsubscript𝛼𝐷𝑥ketsubscript𝜓𝐷𝑥ket𝑥𝐷𝐷𝑥𝑂𝑞superscript2𝑛\norm{\mathsf{Invert}\circ U\sum_{D,x}\alpha_{D,x}\ket{\psi_{D,x}}\otimes\ket{% x,D,D(x)}-U\circ\mathsf{Invert}\sum_{D,x}\alpha_{D,x}\ket{\psi_{D,x}}\otimes% \ket{x,D,D(x)}}=O\left(q/\sqrt{2^{n}}\right).∥ start_ARG sansserif_Invert ∘ italic_U ∑ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT | start_ARG italic_ψ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT end_ARG ⟩ ⊗ | start_ARG italic_x , italic_D , italic_D ( italic_x ) end_ARG ⟩ - italic_U ∘ sansserif_Invert ∑ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT | start_ARG italic_ψ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT end_ARG ⟩ ⊗ | start_ARG italic_x , italic_D , italic_D ( italic_x ) end_ARG ⟩ end_ARG ∥ = italic_O ( italic_q / square-root start_ARG 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_ARG ) .

By [Zha19, Theorem 2], the mass on branches D𝐷Ditalic_D with collisions is at most O(q3/2n)𝑂superscript𝑞3superscript2𝑛O(\sqrt{q^{3}/2^{n}})italic_O ( square-root start_ARG italic_q start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT / 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_ARG ) in the state on the right, so:

U𝖨𝗇𝗏𝖾𝗋𝗍D,xαD,x|ψD,x|x,D,D(x)UD,xαD,x|ψD,x|x,D,D(x),x=O(q3/2n).norm𝑈𝖨𝗇𝗏𝖾𝗋𝗍subscript𝐷𝑥tensor-productsubscript𝛼𝐷𝑥ketsubscript𝜓𝐷𝑥ket𝑥𝐷𝐷𝑥𝑈subscript𝐷𝑥tensor-productsubscript𝛼𝐷𝑥ketsubscript𝜓𝐷𝑥ket𝑥𝐷𝐷𝑥𝑥𝑂superscript𝑞3superscript2𝑛\norm{U\circ\mathsf{Invert}\sum_{D,x}\alpha_{D,x}\ket{\psi_{D,x}}\otimes\ket{x% ,D,D(x)}-U\sum_{D,x}\alpha_{D,x}\ket{\psi_{D,x}}\otimes\ket{x,D,D(x),x}}=O% \left(\sqrt{q^{3}/2^{n}}\right).∥ start_ARG italic_U ∘ sansserif_Invert ∑ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT | start_ARG italic_ψ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT end_ARG ⟩ ⊗ | start_ARG italic_x , italic_D , italic_D ( italic_x ) end_ARG ⟩ - italic_U ∑ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT | start_ARG italic_ψ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT end_ARG ⟩ ⊗ | start_ARG italic_x , italic_D , italic_D ( italic_x ) , italic_x end_ARG ⟩ end_ARG ∥ = italic_O ( square-root start_ARG italic_q start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT / 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_ARG ) .

Putting it together, we have

𝖨𝗇𝗏𝖾𝗋𝗍UD,xαD,x|ψD,x|x,D,D(x)UD,xαD,x|ψD,x|x,D,D(x),x=O(q3/2n),norm𝖨𝗇𝗏𝖾𝗋𝗍𝑈subscript𝐷𝑥tensor-productsubscript𝛼𝐷𝑥ketsubscript𝜓𝐷𝑥ket𝑥𝐷𝐷𝑥𝑈subscript𝐷𝑥tensor-productsubscript𝛼𝐷𝑥ketsubscript𝜓𝐷𝑥ket𝑥𝐷𝐷𝑥𝑥𝑂superscript𝑞3superscript2𝑛\norm{\mathsf{Invert}\circ U\sum_{D,x}\alpha_{D,x}\ket{\psi_{D,x}}\otimes\ket{% x,D,D(x)}-U\sum_{D,x}\alpha_{D,x}\ket{\psi_{D,x}}\otimes\ket{x,D,D(x),x}}=O% \left(\sqrt{q^{3}/2^{n}}\right),∥ start_ARG sansserif_Invert ∘ italic_U ∑ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT | start_ARG italic_ψ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT end_ARG ⟩ ⊗ | start_ARG italic_x , italic_D , italic_D ( italic_x ) end_ARG ⟩ - italic_U ∑ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT | start_ARG italic_ψ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT end_ARG ⟩ ⊗ | start_ARG italic_x , italic_D , italic_D ( italic_x ) , italic_x end_ARG ⟩ end_ARG ∥ = italic_O ( square-root start_ARG italic_q start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT / 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_ARG ) ,

completing the proof. ∎

3.2 Proof of Lemma 1

In this section we will prove Lemma 1, which we reproduce below.

Lemma 1.

Let f:{0,1}m×{0,1}n𝒴:𝑓superscript01𝑚superscript01𝑛𝒴f:\{0,1\}^{m}\times\{0,1\}^{n}\to\operatorname{\mathcal{Y}}italic_f : { 0 , 1 } start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT × { 0 , 1 } start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT → caligraphic_Y. Suppose that for all x{0,1}m𝑥superscript01𝑚x\in\{0,1\}^{m}italic_x ∈ { 0 , 1 } start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT, the min-entropy of f(x;r)𝑓𝑥𝑟f(x;r)italic_f ( italic_x ; italic_r ) for random r{0,1}n𝑟superscript01𝑛r\leftarrow\{0,1\}^{n}italic_r ← { 0 , 1 } start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT is at least τ𝜏\tauitalic_τ. Then if H:{0,1}m{0,1}n:𝐻superscript01𝑚superscript01𝑛H:\{0,1\}^{m}\to\{0,1\}^{n}italic_H : { 0 , 1 } start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT → { 0 , 1 } start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT is a random oracle, the function g:xf(x;H(x)):𝑔maps-to𝑥𝑓𝑥𝐻𝑥g:x\mapsto f(x;H(x))italic_g : italic_x ↦ italic_f ( italic_x ; italic_H ( italic_x ) ) is collapsing with advantage O(q32τ)𝑂superscript𝑞3superscript2𝜏O(q^{3}\cdot 2^{-\tau})italic_O ( italic_q start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ⋅ 2 start_POSTSUPERSCRIPT - italic_τ end_POSTSUPERSCRIPT ).

Proof.

We will follow the same proof strategy as Proposition 1, except that we will need to generalize the components to handle the case where the high-entropy function f𝑓fitalic_f is applied to the random oracle output. We give our generalizations of [Zha19, Lemma 7] and [Zha19, Theorem 2] in 2 and 1, respectively.

Suppose that the adversary makes q0subscript𝑞0q_{0}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT queries before the challenge query and q1subscript𝑞1q_{1}italic_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT queries after. Depending on whether or not the challenger records the challenge query input, the state just after the challenge query is

D,xαD,x|ψD,x|x|D,f(x;D(x))subscript𝐷𝑥tensor-productsubscript𝛼𝐷𝑥ketsubscript𝜓𝐷𝑥ket𝑥ket𝐷𝑓𝑥𝐷𝑥\sum_{D,x}\alpha_{D,x}\ket{\psi_{D,x}}\otimes\ket{x}\otimes\ket{D,f(x;D(x))}∑ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT | start_ARG italic_ψ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT end_ARG ⟩ ⊗ | start_ARG italic_x end_ARG ⟩ ⊗ | start_ARG italic_D , italic_f ( italic_x ; italic_D ( italic_x ) ) end_ARG ⟩

or

D,xαD,x|ψD,x|x|D,f(x;D(x)),x.subscript𝐷𝑥tensor-productsubscript𝛼𝐷𝑥ketsubscript𝜓𝐷𝑥ket𝑥ket𝐷𝑓𝑥𝐷𝑥𝑥\sum_{D,x}\alpha_{D,x}\ket{\psi_{D,x}}\otimes\ket{x}\otimes\ket{D,f(x;D(x)),x}.∑ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT | start_ARG italic_ψ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT end_ARG ⟩ ⊗ | start_ARG italic_x end_ARG ⟩ ⊗ | start_ARG italic_D , italic_f ( italic_x ; italic_D ( italic_x ) ) , italic_x end_ARG ⟩ .

The first register contains the adversary’s state; the second is the query register; the third is the database register; and the fourth and fifth are the registers into which the challenger records the challenge query output and (in the second case) input.

Next, the adversary makes q1subscript𝑞1q_{1}italic_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT further queries to 𝖢𝖯𝗁𝗌𝖮𝖢𝖯𝗁𝗌𝖮\mathsf{CPhsO}sansserif_CPhsO. Let U𝑈Uitalic_U be the unitary describing the evolution of the game state under these queries.

Let 𝖨𝗇𝗏𝖾𝗋𝗍fsubscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓\mathsf{Invert}_{f}sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT be the unitary that, given D,y𝐷𝑦D,yitalic_D , italic_y, writes the lexicographically first x𝑥xitalic_x such that f(x;D(x))=y𝑓𝑥𝐷𝑥𝑦f(x;D(x))=yitalic_f ( italic_x ; italic_D ( italic_x ) ) = italic_y onto a new register, if such an x𝑥xitalic_x exists. Our proof strategy is to show that applying 𝖨𝗇𝗏𝖾𝗋𝗍fsubscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓\mathsf{Invert}_{f}sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT to |D,f(x;D(x))ket𝐷𝑓𝑥𝐷𝑥\ket{D,f(x;D(x))}| start_ARG italic_D , italic_f ( italic_x ; italic_D ( italic_x ) ) end_ARG ⟩ at the end of the game in the b=0𝑏0b=0italic_b = 0 case yields the state in the b=1𝑏1b=1italic_b = 1 case. Since 𝖨𝗇𝗏𝖾𝗋𝗍fsubscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓\mathsf{Invert}_{f}sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT is applied only to the challenger’s side, this will complete the proof.

By 2,

||𝖨𝗇𝗏𝖾𝗋𝗍fUD,xαD,x|ψD,x|x,D,f(x;D(x))\displaystyle\Biggl{|}\!\Biggl{|}\mathsf{Invert}_{f}\circ U\sum_{D,x}\alpha_{D% ,x}\ket{\psi_{D,x}}\otimes\ket{x,D,f(x;D(x))}| | sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ∘ italic_U ∑ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT | start_ARG italic_ψ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT end_ARG ⟩ ⊗ | start_ARG italic_x , italic_D , italic_f ( italic_x ; italic_D ( italic_x ) ) end_ARG ⟩
U𝖨𝗇𝗏𝖾𝗋𝗍fD,xαD,x|ψD,x|x,D,f(x;D(x))||\displaystyle-U\circ\mathsf{Invert}_{f}\sum_{D,x}\alpha_{D,x}\ket{\psi_{D,x}}% \otimes\ket{x,D,f(x;D(x))}\Biggr{|}\!\Biggr{|}- italic_U ∘ sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT | start_ARG italic_ψ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT end_ARG ⟩ ⊗ | start_ARG italic_x , italic_D , italic_f ( italic_x ; italic_D ( italic_x ) ) end_ARG ⟩ | | =O(q/2τ).absent𝑂𝑞superscript2𝜏\displaystyle=O\left(q/\sqrt{2^{\tau}}\right).= italic_O ( italic_q / square-root start_ARG 2 start_POSTSUPERSCRIPT italic_τ end_POSTSUPERSCRIPT end_ARG ) .

By 1, the mass on branches D𝐷Ditalic_D with collisions f(x;D(x))=f(x;D(x))𝑓𝑥𝐷𝑥𝑓superscript𝑥𝐷superscript𝑥f(x;D(x))=f(x^{\prime};D(x^{\prime}))italic_f ( italic_x ; italic_D ( italic_x ) ) = italic_f ( italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ; italic_D ( italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ) is at most O(q3/2τ)𝑂superscript𝑞3superscript2𝜏O(\sqrt{q^{3}/2^{\tau}})italic_O ( square-root start_ARG italic_q start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT / 2 start_POSTSUPERSCRIPT italic_τ end_POSTSUPERSCRIPT end_ARG ) in the state on the right, so

||U𝖨𝗇𝗏𝖾𝗋𝗍fD,xαD,x|ψD,x|x,D,f(x;D(x))\displaystyle\Biggl{|}\!\Biggl{|}U\circ\mathsf{Invert}_{f}\sum_{D,x}\alpha_{D,% x}\ket{\psi_{D,x}}\otimes\ket{x,D,f(x;D(x))}| | italic_U ∘ sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT | start_ARG italic_ψ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT end_ARG ⟩ ⊗ | start_ARG italic_x , italic_D , italic_f ( italic_x ; italic_D ( italic_x ) ) end_ARG ⟩
UD,xαD,x|ψD,x|x,D,f(x;D(x)),x||\displaystyle-U\sum_{D,x}\alpha_{D,x}\ket{\psi_{D,x}}\otimes\ket{x,D,f(x;D(x))% ,x}\Biggr{|}\!\Biggr{|}- italic_U ∑ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT | start_ARG italic_ψ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT end_ARG ⟩ ⊗ | start_ARG italic_x , italic_D , italic_f ( italic_x ; italic_D ( italic_x ) ) , italic_x end_ARG ⟩ | | =O(q3/2τ).absent𝑂superscript𝑞3superscript2𝜏\displaystyle=O\left(\sqrt{q^{3}/2^{\tau}}\right).= italic_O ( square-root start_ARG italic_q start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT / 2 start_POSTSUPERSCRIPT italic_τ end_POSTSUPERSCRIPT end_ARG ) .

Putting it together, we have

||𝖨𝗇𝗏𝖾𝗋𝗍fUD,xαD,x|ψD,x|x,D,f(x;D(x))\displaystyle\Biggl{|}\!\Biggl{|}\mathsf{Invert}_{f}\circ U\sum_{D,x}\alpha_{D% ,x}\ket{\psi_{D,x}}\otimes\ket{x,D,f(x;D(x))}| | sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ∘ italic_U ∑ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT | start_ARG italic_ψ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT end_ARG ⟩ ⊗ | start_ARG italic_x , italic_D , italic_f ( italic_x ; italic_D ( italic_x ) ) end_ARG ⟩
UD,xαD,x|ψD,x|x,D,f(x;D(x)),x||\displaystyle-U\sum_{D,x}\alpha_{D,x}\ket{\psi_{D,x}}\otimes\ket{x,D,f(x;D(x))% ,x}\Biggr{|}\!\Biggr{|}- italic_U ∑ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT | start_ARG italic_ψ start_POSTSUBSCRIPT italic_D , italic_x end_POSTSUBSCRIPT end_ARG ⟩ ⊗ | start_ARG italic_x , italic_D , italic_f ( italic_x ; italic_D ( italic_x ) ) , italic_x end_ARG ⟩ | | =O(q3/2τ),absent𝑂superscript𝑞3superscript2𝜏\displaystyle=O\left(\sqrt{q^{3}/2^{\tau}}\right),= italic_O ( square-root start_ARG italic_q start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT / 2 start_POSTSUPERSCRIPT italic_τ end_POSTSUPERSCRIPT end_ARG ) ,

completing the proof. ∎

We need a generalization of Theorem 2 from [Zha19].

Claim 1.

For any adversary making q𝑞qitalic_q queries to 𝖢𝖯𝗁𝗌𝖮𝖢𝖯𝗁𝗌𝖮\mathsf{CPhsO}sansserif_CPhsO, if the database D𝐷Ditalic_D is measured after the q𝑞qitalic_q queries, the resulting database will contain distinct inputs x,x𝑥superscript𝑥x,x^{\prime}italic_x , italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT such that f(x;D(x))=f(x;D(x))𝑓𝑥𝐷𝑥𝑓superscript𝑥𝐷superscript𝑥f(x;D(x))=f(x^{\prime};D(x^{\prime}))italic_f ( italic_x ; italic_D ( italic_x ) ) = italic_f ( italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ; italic_D ( italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ) with probability at most O(q3/2τ)𝑂superscript𝑞3superscript2𝜏O(q^{3}/2^{\tau})italic_O ( italic_q start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT / 2 start_POSTSUPERSCRIPT italic_τ end_POSTSUPERSCRIPT ).

Proof.

We closely follow the proof of Theorem 2 from [Zha19].

We say that D𝐷Ditalic_D contains an f𝑓fitalic_f-collision if it contains distinct inputs x,x𝑥superscript𝑥x,x^{\prime}italic_x , italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT such that f(x;D(x))=f(x;D(x))𝑓𝑥𝐷𝑥𝑓superscript𝑥𝐷superscript𝑥f(x;D(x))=f(x^{\prime};D(x^{\prime}))italic_f ( italic_x ; italic_D ( italic_x ) ) = italic_f ( italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ; italic_D ( italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ). The compressed oracle’s database starts out empty, so the probability of containing an f𝑓fitalic_f-collision starts out as 0. We will show that the probability cannot rise too much with each query. Consider the game state just before the q𝑞qitalic_qth query:

|ψ=x,w,z,Dαx,w,D|x,w,z|D,ket𝜓subscript𝑥𝑤𝑧𝐷tensor-productsubscript𝛼𝑥𝑤𝐷ket𝑥𝑤𝑧ket𝐷\ket{\psi}=\sum_{x,w,z,D}\alpha_{x,w,D}\ket{x,w,z}\otimes\ket{D},| start_ARG italic_ψ end_ARG ⟩ = ∑ start_POSTSUBSCRIPT italic_x , italic_w , italic_z , italic_D end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_x , italic_w , italic_D end_POSTSUBSCRIPT | start_ARG italic_x , italic_w , italic_z end_ARG ⟩ ⊗ | start_ARG italic_D end_ARG ⟩ ,

where D𝐷Ditalic_D is the compressed phase oracle, x,w𝑥𝑤x,witalic_x , italic_w are the query registers, and z𝑧zitalic_z is the adversary’s internal register.

Let P𝑃Pitalic_P be the projection onto the span of basis states |x,w,z|Dtensor-productket𝑥𝑤𝑧ket𝐷\ket{x,w,z}\otimes\ket{D}| start_ARG italic_x , italic_w , italic_z end_ARG ⟩ ⊗ | start_ARG italic_D end_ARG ⟩ where D𝐷Ditalic_D contains an f𝑓fitalic_f-collision. We will relate P|ψnorm𝑃ket𝜓\norm{P\ket{\psi}}∥ start_ARG italic_P | start_ARG italic_ψ end_ARG ⟩ end_ARG ∥ to P𝖢𝖯𝗁𝗌𝖮|ψnorm𝑃𝖢𝖯𝗁𝗌𝖮ket𝜓\norm{P\circ\mathsf{CPhsO}\ket{\psi}}∥ start_ARG italic_P ∘ sansserif_CPhsO | start_ARG italic_ψ end_ARG ⟩ end_ARG ∥.

Let Q𝑄Qitalic_Q be the projection onto the span of basis states |x,w,z|Dtensor-productket𝑥𝑤𝑧ket𝐷\ket{x,w,z}\otimes\ket{D}| start_ARG italic_x , italic_w , italic_z end_ARG ⟩ ⊗ | start_ARG italic_D end_ARG ⟩ such that D𝐷Ditalic_D does not contain an f𝑓fitalic_f-collision, w0𝑤0w\neq 0italic_w ≠ 0, and D(x)=𝐷𝑥bottomD(x)=\botitalic_D ( italic_x ) = ⊥. Let R𝑅Ritalic_R be the projection onto the span of states such that D𝐷Ditalic_D does not contain an f𝑓fitalic_f-collision, w0𝑤0w\neq 0italic_w ≠ 0, and D(x)𝐷𝑥bottomD(x)\neq\botitalic_D ( italic_x ) ≠ ⊥. Let S𝑆Sitalic_S be the projection onto the span of states such that D𝐷Ditalic_D does not contain an f𝑓fitalic_f-collision and w=0𝑤0w=0italic_w = 0. Observe that P+Q+R+S=I𝑃𝑄𝑅𝑆𝐼P+Q+R+S=Iitalic_P + italic_Q + italic_R + italic_S = italic_I.

Applying P𝖢𝖯𝗁𝗌𝖮𝑃𝖢𝖯𝗁𝗌𝖮P\circ\mathsf{CPhsO}italic_P ∘ sansserif_CPhsO to any state x,w,z,Dαx,w,z,D|x,w,z|Dsubscript𝑥𝑤𝑧𝐷tensor-productsubscript𝛼𝑥𝑤𝑧𝐷ket𝑥𝑤𝑧ket𝐷\sum_{x,w,z,D}\alpha_{x,w,z,D}\ket{x,w,z}\otimes\ket{D}∑ start_POSTSUBSCRIPT italic_x , italic_w , italic_z , italic_D end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_x , italic_w , italic_z , italic_D end_POSTSUBSCRIPT | start_ARG italic_x , italic_w , italic_z end_ARG ⟩ ⊗ | start_ARG italic_D end_ARG ⟩ in the support of Q𝑄Qitalic_Q yields

x,w,z,Dαx,w,z,D|x,w,z2n/2r:(x,r)D s.t. f(x;r)=f(x;r)(1)wr|D(x,r).subscript𝑥𝑤𝑧𝐷tensor-productsubscript𝛼𝑥𝑤𝑧𝐷ket𝑥𝑤𝑧superscript2𝑛2subscript:𝑟superscript𝑥superscript𝑟𝐷 s.t. 𝑓𝑥𝑟𝑓superscript𝑥superscript𝑟superscript1𝑤𝑟ket𝐷𝑥𝑟\sum_{x,w,z,D}\alpha_{x,w,z,D}\ket{x,w,z}\otimes 2^{-n/2}\sum_{r:\exists(x^{% \prime},r^{\prime})\in D\text{ s.t. }f(x;r)=f(x^{\prime};r^{\prime})}(-1)^{w% \cdot r}\ket{D\cup(x,r)}.∑ start_POSTSUBSCRIPT italic_x , italic_w , italic_z , italic_D end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_x , italic_w , italic_z , italic_D end_POSTSUBSCRIPT | start_ARG italic_x , italic_w , italic_z end_ARG ⟩ ⊗ 2 start_POSTSUPERSCRIPT - italic_n / 2 end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_r : ∃ ( italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ∈ italic_D s.t. italic_f ( italic_x ; italic_r ) = italic_f ( italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ; italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) end_POSTSUBSCRIPT ( - 1 ) start_POSTSUPERSCRIPT italic_w ⋅ italic_r end_POSTSUPERSCRIPT | start_ARG italic_D ∪ ( italic_x , italic_r ) end_ARG ⟩ .

Let |D=|(x1,r1),,(xq,rq)ket𝐷ketsubscript𝑥1subscript𝑟1subscript𝑥superscript𝑞subscript𝑟superscript𝑞\ket{D}=\ket{(x_{1},r_{1}),\dots,(x_{q^{\prime}},r_{q^{\prime}})}| start_ARG italic_D end_ARG ⟩ = | start_ARG ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_r start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) , … , ( italic_x start_POSTSUBSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_r start_POSTSUBSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ) end_ARG ⟩, where qqsuperscript𝑞𝑞q^{\prime}\leq qitalic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≤ italic_q. We can then write the above state as 2n/2i=1q|ϕisuperscript2𝑛2superscriptsubscript𝑖1𝑞ketsubscriptitalic-ϕ𝑖2^{-n/2}\sum_{i=1}^{q}\ket{\phi_{i}}2 start_POSTSUPERSCRIPT - italic_n / 2 end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT | start_ARG italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG ⟩, where

|ϕi=x,w,z,Dαx,w,z,D|x,w,zr:f(x;r)=f(xi;ri)(1)wr|D(x,r).ketsubscriptitalic-ϕ𝑖subscript𝑥𝑤𝑧𝐷tensor-productsubscript𝛼𝑥𝑤𝑧𝐷ket𝑥𝑤𝑧subscript:𝑟𝑓𝑥𝑟𝑓subscript𝑥𝑖subscript𝑟𝑖superscript1𝑤𝑟ket𝐷𝑥𝑟\ket{\phi_{i}}=\sum_{x,w,z,D}\alpha_{x,w,z,D}\ket{x,w,z}\otimes\sum_{r:f(x;r)=% f(x_{i};r_{i})}(-1)^{w\cdot r}\ket{D\cup(x,r)}.| start_ARG italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG ⟩ = ∑ start_POSTSUBSCRIPT italic_x , italic_w , italic_z , italic_D end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_x , italic_w , italic_z , italic_D end_POSTSUBSCRIPT | start_ARG italic_x , italic_w , italic_z end_ARG ⟩ ⊗ ∑ start_POSTSUBSCRIPT italic_r : italic_f ( italic_x ; italic_r ) = italic_f ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ; italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_POSTSUBSCRIPT ( - 1 ) start_POSTSUPERSCRIPT italic_w ⋅ italic_r end_POSTSUPERSCRIPT | start_ARG italic_D ∪ ( italic_x , italic_r ) end_ARG ⟩ .

The |ϕiketsubscriptitalic-ϕ𝑖\ket{\phi_{i}}| start_ARG italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG ⟩ are orthogonal and satisfy |ϕi2nτQ|ψnormketsubscriptitalic-ϕ𝑖superscript2𝑛𝜏norm𝑄ket𝜓\norm{\ket{\phi_{i}}}\leq\sqrt{2^{n-\tau}}\norm{Q\ket{\psi}}∥ start_ARG | start_ARG italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG ⟩ end_ARG ∥ ≤ square-root start_ARG 2 start_POSTSUPERSCRIPT italic_n - italic_τ end_POSTSUPERSCRIPT end_ARG ∥ start_ARG italic_Q | start_ARG italic_ψ end_ARG ⟩ end_ARG ∥, because there are at most 2nτsuperscript2𝑛𝜏2^{n-\tau}2 start_POSTSUPERSCRIPT italic_n - italic_τ end_POSTSUPERSCRIPT choices of r𝑟ritalic_r satisfying f(x;r)=f(xi;ri)𝑓𝑥𝑟𝑓subscript𝑥𝑖subscript𝑟𝑖f(x;r)=f(x_{i};r_{i})italic_f ( italic_x ; italic_r ) = italic_f ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ; italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) due to the min-entropy condition on f𝑓fitalic_f. Therefore, P𝖢𝖯𝗁𝗌𝖮Q|ψq/2τQ|ψnorm𝑃𝖢𝖯𝗁𝗌𝖮𝑄ket𝜓𝑞superscript2𝜏norm𝑄ket𝜓\norm{P\circ\mathsf{CPhsO}\circ Q\ket{\psi}}\leq\sqrt{q/2^{\tau}}\norm{Q\ket{% \psi}}∥ start_ARG italic_P ∘ sansserif_CPhsO ∘ italic_Q | start_ARG italic_ψ end_ARG ⟩ end_ARG ∥ ≤ square-root start_ARG italic_q / 2 start_POSTSUPERSCRIPT italic_τ end_POSTSUPERSCRIPT end_ARG ∥ start_ARG italic_Q | start_ARG italic_ψ end_ARG ⟩ end_ARG ∥.

For states R|ψ=x,w,z,Dαx,w,z,D|x,w,z|D𝑅ket𝜓subscript𝑥𝑤𝑧𝐷tensor-productsubscript𝛼𝑥𝑤𝑧𝐷ket𝑥𝑤𝑧ket𝐷R\ket{\psi}=\sum_{x,w,z,D}\alpha_{x,w,z,D}\ket{x,w,z}\otimes\ket{D}italic_R | start_ARG italic_ψ end_ARG ⟩ = ∑ start_POSTSUBSCRIPT italic_x , italic_w , italic_z , italic_D end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_x , italic_w , italic_z , italic_D end_POSTSUBSCRIPT | start_ARG italic_x , italic_w , italic_z end_ARG ⟩ ⊗ | start_ARG italic_D end_ARG ⟩ in the support of R𝑅Ritalic_R, let Dsuperscript𝐷D^{\prime}italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be D𝐷Ditalic_D with x𝑥xitalic_x removed and write D=D(x,r)𝐷superscript𝐷𝑥𝑟D=D^{\prime}\cup(x,r)italic_D = italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ ( italic_x , italic_r ) for r=D(x)𝑟𝐷𝑥r=D(x)italic_r = italic_D ( italic_x ). Then 𝖢𝖯𝗁𝗌𝖮|x,w,z|Dtensor-product𝖢𝖯𝗁𝗌𝖮ket𝑥𝑤𝑧ket𝐷\mathsf{CPhsO}\ket{x,w,z}\otimes\ket{D}sansserif_CPhsO | start_ARG italic_x , italic_w , italic_z end_ARG ⟩ ⊗ | start_ARG italic_D end_ARG ⟩ is

|x,w,z((1)wr(|D(x,r)+12n|D)+12nr(1(1)wr(1)wr)|D(x,r)),tensor-productket𝑥𝑤𝑧superscript1𝑤𝑟ketsuperscript𝐷𝑥𝑟1superscript2𝑛ketsuperscript𝐷1superscript2𝑛subscriptsuperscript𝑟1superscript1𝑤𝑟superscript1𝑤superscript𝑟ketsuperscript𝐷𝑥superscript𝑟\ket{x,w,z}\otimes\left((-1)^{w\cdot r}\left(\ket{D^{\prime}\cup(x,r)}+\frac{1% }{\sqrt{2^{n}}}\ket{D^{\prime}}\right)+\frac{1}{2^{n}}\sum_{r^{\prime}}(1-(-1)% ^{w\cdot r}-(-1)^{w\cdot r^{\prime}})\ket{D^{\prime}\cup(x,r^{\prime})}\right),| start_ARG italic_x , italic_w , italic_z end_ARG ⟩ ⊗ ( ( - 1 ) start_POSTSUPERSCRIPT italic_w ⋅ italic_r end_POSTSUPERSCRIPT ( | start_ARG italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ ( italic_x , italic_r ) end_ARG ⟩ + divide start_ARG 1 end_ARG start_ARG square-root start_ARG 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_ARG end_ARG | start_ARG italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG ⟩ ) + divide start_ARG 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_ARG ∑ start_POSTSUBSCRIPT italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ( 1 - ( - 1 ) start_POSTSUPERSCRIPT italic_w ⋅ italic_r end_POSTSUPERSCRIPT - ( - 1 ) start_POSTSUPERSCRIPT italic_w ⋅ italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT ) | start_ARG italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ ( italic_x , italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) end_ARG ⟩ ) ,

so

P𝖢𝖯𝗁𝗌𝖮R|ψ=x,w,z,D,rαx,w,z,D,r|x,w,z12nr:(x′′,r′′)D s.t. f(x;r)=f(x′′;r′′)(1(1)wr(1)wr)|D(x,r).𝑃𝖢𝖯𝗁𝗌𝖮𝑅ket𝜓subscript𝑥𝑤𝑧superscript𝐷𝑟tensor-productsubscript𝛼𝑥𝑤𝑧superscript𝐷𝑟ket𝑥𝑤𝑧1superscript2𝑛subscript:superscript𝑟superscript𝑥′′superscript𝑟′′𝐷 s.t. 𝑓𝑥superscript𝑟𝑓superscript𝑥′′superscript𝑟′′1superscript1𝑤𝑟superscript1𝑤superscript𝑟ketsuperscript𝐷𝑥superscript𝑟P\circ\mathsf{CPhsO}\circ R\ket{\psi}=\sum_{x,w,z,D^{\prime},r}\alpha_{x,w,z,D% ^{\prime},r}\ket{x,w,z}\otimes\frac{1}{2^{n}}\sum_{r^{\prime}:\exists(x^{% \prime\prime},r^{\prime\prime})\in D\text{ s.t. }f(x;r^{\prime})=f(x^{\prime% \prime};r^{\prime\prime})}(1-(-1)^{w\cdot r}-(-1)^{w\cdot r^{\prime}})\ket{D^{% \prime}\cup(x,r^{\prime})}.italic_P ∘ sansserif_CPhsO ∘ italic_R | start_ARG italic_ψ end_ARG ⟩ = ∑ start_POSTSUBSCRIPT italic_x , italic_w , italic_z , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_r end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_x , italic_w , italic_z , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_r end_POSTSUBSCRIPT | start_ARG italic_x , italic_w , italic_z end_ARG ⟩ ⊗ divide start_ARG 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_ARG ∑ start_POSTSUBSCRIPT italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT : ∃ ( italic_x start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT , italic_r start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ) ∈ italic_D s.t. italic_f ( italic_x ; italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) = italic_f ( italic_x start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ; italic_r start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ) end_POSTSUBSCRIPT ( 1 - ( - 1 ) start_POSTSUPERSCRIPT italic_w ⋅ italic_r end_POSTSUPERSCRIPT - ( - 1 ) start_POSTSUPERSCRIPT italic_w ⋅ italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT ) | start_ARG italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ ( italic_x , italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) end_ARG ⟩ .

Let |D=|(x1,r1),,(xq,rq)ketsuperscript𝐷ketsubscript𝑥1subscript𝑟1subscript𝑥superscript𝑞subscript𝑟superscript𝑞\ket{D^{\prime}}=\ket{(x_{1},r_{1}),\dots,(x_{q^{\prime}},r_{q^{\prime}})}| start_ARG italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG ⟩ = | start_ARG ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_r start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) , … , ( italic_x start_POSTSUBSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_r start_POSTSUBSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ) end_ARG ⟩ and

|ϕi=12nx,w,z,D,rαx,w,z,D,r|x,w,zr:f(x;r)=f(xi;ri)(1(1)wr(1)wr)|D(x,r).ketsubscriptitalic-ϕ𝑖1superscript2𝑛subscript𝑥𝑤𝑧superscript𝐷𝑟tensor-productsubscript𝛼𝑥𝑤𝑧superscript𝐷𝑟ket𝑥𝑤𝑧subscript:superscript𝑟𝑓𝑥superscript𝑟𝑓subscript𝑥𝑖subscript𝑟𝑖1superscript1𝑤𝑟superscript1𝑤superscript𝑟ketsuperscript𝐷𝑥superscript𝑟\ket{\phi_{i}}=\frac{1}{2^{n}}\sum_{x,w,z,D^{\prime},r}\alpha_{x,w,z,D^{\prime% },r}\ket{x,w,z}\otimes\sum_{r^{\prime}:f(x;r^{\prime})=f(x_{i};r_{i})}(1-(-1)^% {w\cdot r}-(-1)^{w\cdot r^{\prime}})\ket{D^{\prime}\cup(x,r^{\prime})}.| start_ARG italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG ⟩ = divide start_ARG 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_ARG ∑ start_POSTSUBSCRIPT italic_x , italic_w , italic_z , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_r end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_x , italic_w , italic_z , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_r end_POSTSUBSCRIPT | start_ARG italic_x , italic_w , italic_z end_ARG ⟩ ⊗ ∑ start_POSTSUBSCRIPT italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT : italic_f ( italic_x ; italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) = italic_f ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ; italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_POSTSUBSCRIPT ( 1 - ( - 1 ) start_POSTSUPERSCRIPT italic_w ⋅ italic_r end_POSTSUPERSCRIPT - ( - 1 ) start_POSTSUPERSCRIPT italic_w ⋅ italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT ) | start_ARG italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ ( italic_x , italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) end_ARG ⟩ .

Then the |ϕiketsubscriptitalic-ϕ𝑖\ket{\phi_{i}}| start_ARG italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG ⟩ are orthogonal and

|ϕi2superscriptnormketsubscriptitalic-ϕ𝑖2\displaystyle\norm{\ket{\phi_{i}}}^{2}∥ start_ARG | start_ARG italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG ⟩ end_ARG ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT =14nx,w,z,D,r:f(x;r)=f(xi;ri)|rαx,w,z,D,r(1(1)wr(1)wr)|2absent1superscript4𝑛subscript:𝑥𝑤𝑧superscript𝐷superscript𝑟𝑓𝑥superscript𝑟𝑓subscript𝑥𝑖subscript𝑟𝑖superscriptsubscript𝑟subscript𝛼𝑥𝑤𝑧superscript𝐷𝑟1superscript1𝑤𝑟superscript1𝑤superscript𝑟2\displaystyle=\frac{1}{4^{n}}\sum_{x,w,z,D^{\prime},r^{\prime}:f(x;r^{\prime})% =f(x_{i};r_{i})}\absolutevalue{\sum_{r}\alpha_{x,w,z,D^{\prime},r}(1-(-1)^{w% \cdot r}-(-1)^{w\cdot r^{\prime}})}^{2}= divide start_ARG 1 end_ARG start_ARG 4 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_ARG ∑ start_POSTSUBSCRIPT italic_x , italic_w , italic_z , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT : italic_f ( italic_x ; italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) = italic_f ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ; italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_POSTSUBSCRIPT | start_ARG ∑ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_x , italic_w , italic_z , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_r end_POSTSUBSCRIPT ( 1 - ( - 1 ) start_POSTSUPERSCRIPT italic_w ⋅ italic_r end_POSTSUPERSCRIPT - ( - 1 ) start_POSTSUPERSCRIPT italic_w ⋅ italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT ) end_ARG | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT
32nx,w,z,D,r,r:f(x;r)=f(xi;ri)|αx,w,z,D,r|2absent3superscript2𝑛subscript:𝑥𝑤𝑧superscript𝐷𝑟superscript𝑟𝑓𝑥superscript𝑟𝑓subscript𝑥𝑖subscript𝑟𝑖superscriptsubscript𝛼𝑥𝑤𝑧superscript𝐷𝑟2\displaystyle\leq\frac{3}{2^{n}}\sum_{x,w,z,D^{\prime},r,r^{\prime}:f(x;r^{% \prime})=f(x_{i};r_{i})}\absolutevalue{\alpha_{x,w,z,D^{\prime},r}}^{2}≤ divide start_ARG 3 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_ARG ∑ start_POSTSUBSCRIPT italic_x , italic_w , italic_z , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_r , italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT : italic_f ( italic_x ; italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) = italic_f ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ; italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_POSTSUBSCRIPT | start_ARG italic_α start_POSTSUBSCRIPT italic_x , italic_w , italic_z , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_r end_POSTSUBSCRIPT end_ARG | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT
32τR|ψ2,absent3superscript2𝜏superscriptnorm𝑅ket𝜓2\displaystyle\leq\frac{3}{2^{\tau}}\norm{R\ket{\psi}}^{2},≤ divide start_ARG 3 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_τ end_POSTSUPERSCRIPT end_ARG ∥ start_ARG italic_R | start_ARG italic_ψ end_ARG ⟩ end_ARG ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ,

so P𝖢𝖯𝗁𝗌𝖮R|ψ3q/2τR|ψnorm𝑃𝖢𝖯𝗁𝗌𝖮𝑅ket𝜓3𝑞superscript2𝜏norm𝑅ket𝜓\norm{P\circ\mathsf{CPhsO}\circ R\ket{\psi}}\leq\sqrt{3q/2^{\tau}}\norm{R\ket{% \psi}}∥ start_ARG italic_P ∘ sansserif_CPhsO ∘ italic_R | start_ARG italic_ψ end_ARG ⟩ end_ARG ∥ ≤ square-root start_ARG 3 italic_q / 2 start_POSTSUPERSCRIPT italic_τ end_POSTSUPERSCRIPT end_ARG ∥ start_ARG italic_R | start_ARG italic_ψ end_ARG ⟩ end_ARG ∥.

Finally, P𝖢𝖯𝗁𝗌𝖮P|ψP|ψnorm𝑃𝖢𝖯𝗁𝗌𝖮𝑃ket𝜓norm𝑃ket𝜓\norm{P\circ\mathsf{CPhsO}\circ P\ket{\psi}}\leq\norm{P\ket{\psi}}∥ start_ARG italic_P ∘ sansserif_CPhsO ∘ italic_P | start_ARG italic_ψ end_ARG ⟩ end_ARG ∥ ≤ ∥ start_ARG italic_P | start_ARG italic_ψ end_ARG ⟩ end_ARG ∥ and 𝖢𝖯𝗁𝗌𝖮S|ψ=S|ψ𝖢𝖯𝗁𝗌𝖮𝑆ket𝜓𝑆ket𝜓\mathsf{CPhsO}\circ S\ket{\psi}=S\ket{\psi}sansserif_CPhsO ∘ italic_S | start_ARG italic_ψ end_ARG ⟩ = italic_S | start_ARG italic_ψ end_ARG ⟩. Putting everything together, P|ψnorm𝑃ket𝜓\norm{P\ket{\psi}}∥ start_ARG italic_P | start_ARG italic_ψ end_ARG ⟩ end_ARG ∥ increases by at most O(q/2n)𝑂𝑞superscript2𝑛O(\sqrt{q/2^{n}})italic_O ( square-root start_ARG italic_q / 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_ARG ) with each query. Therefore, after q𝑞qitalic_q queries, the total norm of P|ψ𝑃ket𝜓P\ket{\psi}italic_P | start_ARG italic_ψ end_ARG ⟩ is at most O(q3/2n)𝑂superscript𝑞3superscript2𝑛O(\sqrt{q^{3}/2^{n}})italic_O ( square-root start_ARG italic_q start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT / 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_ARG ), completing the proof. ∎

The following is similar to Lemma 7 from [Zha19].

Claim 2.

Consider a quantum system over x,w,D,y𝑥𝑤𝐷𝑦x,w,D,yitalic_x , italic_w , italic_D , italic_y. Let f𝑓fitalic_f be a function such that for every x𝑥xitalic_x, for uniformly random r=D(x)𝑟𝐷𝑥r=D(x)italic_r = italic_D ( italic_x ), f(x;r)𝑓𝑥𝑟f(x;r)italic_f ( italic_x ; italic_r ) has min-entropy at least τ𝜏\tauitalic_τ. Then the following unitaries O(1/2τ)𝑂1superscript2𝜏O(1/\sqrt{2^{\tau}})italic_O ( 1 / square-root start_ARG 2 start_POSTSUPERSCRIPT italic_τ end_POSTSUPERSCRIPT end_ARG )-almost commute:

  • 𝖢𝖯𝗁𝗌𝖮𝖢𝖯𝗁𝗌𝖮\mathsf{CPhsO}sansserif_CPhsO, acting on the x,w,D𝑥𝑤𝐷x,w,Ditalic_x , italic_w , italic_D registers.

  • 𝖨𝗇𝗏𝖾𝗋𝗍fsubscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓\mathsf{Invert}_{f}sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT, taking as input the D,y𝐷𝑦D,yitalic_D , italic_y registers and XORing the output onto a new register.

Proof.

Recall the definitions of 𝖢𝖯𝗁𝗌𝖮,𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉superscript𝖢𝖯𝗁𝗌𝖮𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉\mathsf{CPhsO}^{\prime},\mathsf{StdDecomp}sansserif_CPhsO start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , sansserif_StdDecomp, and 𝖨𝗇𝖼𝗋𝖾𝖺𝗌𝖾𝖨𝗇𝖼𝗋𝖾𝖺𝗌𝖾\mathsf{Increase}sansserif_Increase from [Zha19]. In particular, recall that 𝖢𝖯𝗁𝗌𝖮=𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉𝖢𝖯𝗁𝗌𝖮𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉𝖨𝗇𝖼𝗋𝖾𝖺𝗌𝖾𝖢𝖯𝗁𝗌𝖮𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉superscript𝖢𝖯𝗁𝗌𝖮𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉𝖨𝗇𝖼𝗋𝖾𝖺𝗌𝖾\mathsf{CPhsO}=\mathsf{StdDecomp}\circ\mathsf{CPhsO}^{\prime}\circ\mathsf{% StdDecomp}\circ\mathsf{Increase}sansserif_CPhsO = sansserif_StdDecomp ∘ sansserif_CPhsO start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∘ sansserif_StdDecomp ∘ sansserif_Increase. Since 𝖨𝗇𝗏𝖾𝗋𝗍fsubscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓\mathsf{Invert}_{f}sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT commutes with 𝖢𝖯𝗁𝗌𝖮superscript𝖢𝖯𝗁𝗌𝖮\mathsf{CPhsO}^{\prime}sansserif_CPhsO start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and 𝖨𝗇𝖼𝗋𝖾𝖺𝗌𝖾𝖨𝗇𝖼𝗋𝖾𝖺𝗌𝖾\mathsf{Increase}sansserif_Increase by construction, it suffices to show that 𝖨𝗇𝗏𝖾𝗋𝗍fsubscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓\mathsf{Invert}_{f}sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT and 𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉\mathsf{StdDecomp}sansserif_StdDecomp are O(1/2τ)𝑂1superscript2𝜏O(1/\sqrt{2^{\tau}})italic_O ( 1 / square-root start_ARG 2 start_POSTSUPERSCRIPT italic_τ end_POSTSUPERSCRIPT end_ARG )-almost commuting. To show this, the following intuition is taken from [Zha19], adapted to our setting.

For 𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉\mathsf{StdDecomp}sansserif_StdDecomp to have any effect, either (1) D(x)=𝐷𝑥bottomD(x)=\botitalic_D ( italic_x ) = ⊥ or (2) D(x)𝐷𝑥D(x)italic_D ( italic_x ) is in uniform superposition; 𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉\mathsf{StdDecomp}sansserif_StdDecomp will simply toggle between the two cases. In Case (2), the probability that 𝖨𝗇𝗏𝖾𝗋𝗍fsubscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓\mathsf{Invert}_{f}sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT will find a match at input x𝑥xitalic_x is at most 2τsuperscript2𝜏2^{-\tau}2 start_POSTSUPERSCRIPT - italic_τ end_POSTSUPERSCRIPT. And in Case (1), 𝖨𝗇𝗏𝖾𝗋𝗍fsubscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓\mathsf{Invert}_{f}sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT will never find a match at input x𝑥xitalic_x. Hence, there is an exponentially small error between the action of 𝖨𝗇𝗏𝖾𝗋𝗍fsubscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓\mathsf{Invert}_{f}sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT on these two cases.

More formally, let |ψ=x,D,yαx,D,y|x,D,yket𝜓subscript𝑥𝐷𝑦subscript𝛼𝑥𝐷𝑦ket𝑥𝐷𝑦\ket{\psi}=\sum_{x,D,y}\alpha_{x,D,y}\ket{x,D,y}| start_ARG italic_ψ end_ARG ⟩ = ∑ start_POSTSUBSCRIPT italic_x , italic_D , italic_y end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_x , italic_D , italic_y end_POSTSUBSCRIPT | start_ARG italic_x , italic_D , italic_y end_ARG ⟩. We omit the w𝑤witalic_w register because neither 𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉\mathsf{StdDecomp}sansserif_StdDecomp nor 𝖨𝗇𝗏𝖾𝗋𝗍fsubscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓\mathsf{Invert}_{f}sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT touch w𝑤witalic_w. Let P𝑃Pitalic_P be the projection onto D(x)=𝐷𝑥bottomD(x)=\botitalic_D ( italic_x ) = ⊥, and let Q𝑄Qitalic_Q be the projection onto D(x)=|+𝐷𝑥ketD(x)=\ket{+}italic_D ( italic_x ) = | start_ARG + end_ARG ⟩. Writing D=D(x,)𝐷superscript𝐷𝑥bottomD=D^{\prime}\cup(x,\bot)italic_D = italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ ( italic_x , ⊥ ),

𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉𝖨𝗇𝗏𝖾𝗋𝗍fP|ψ=2n/2x,D,y,rαx,D,y|x,D(x,r),y,𝖨𝗇𝗏𝖾𝗋𝗍f(D,y)𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉subscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓𝑃ket𝜓superscript2𝑛2subscript𝑥superscript𝐷𝑦𝑟subscript𝛼𝑥superscript𝐷𝑦ket𝑥superscript𝐷𝑥𝑟𝑦subscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓superscript𝐷𝑦\mathsf{StdDecomp}\circ\mathsf{Invert}_{f}\circ P\ket{\psi}=2^{-n/2}\sum_{x,D^% {\prime},y,r}\alpha_{x,D^{\prime},y}\ket{x,D^{\prime}\cup(x,r),y,\mathsf{% Invert}_{f}(D^{\prime},y)}sansserif_StdDecomp ∘ sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ∘ italic_P | start_ARG italic_ψ end_ARG ⟩ = 2 start_POSTSUPERSCRIPT - italic_n / 2 end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_x , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_y , italic_r end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_x , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_y end_POSTSUBSCRIPT | start_ARG italic_x , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ ( italic_x , italic_r ) , italic_y , sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_y ) end_ARG ⟩

and

𝖨𝗇𝗏𝖾𝗋𝗍f𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉P|ψ=2n/2x,D,y,rαx,D,y|x,D(x,r),y,𝖨𝗇𝗏𝖾𝗋𝗍f(D(x,r),y),subscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉𝑃ket𝜓superscript2𝑛2subscript𝑥superscript𝐷𝑦𝑟subscript𝛼𝑥superscript𝐷𝑦ket𝑥superscript𝐷𝑥𝑟𝑦subscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓superscript𝐷𝑥𝑟𝑦\mathsf{Invert}_{f}\circ\mathsf{StdDecomp}\circ P\ket{\psi}=2^{-n/2}\sum_{x,D^% {\prime},y,r}\alpha_{x,D^{\prime},y}\ket{x,D^{\prime}\cup(x,r),y,\mathsf{% Invert}_{f}(D^{\prime}\cup(x,r),y)},sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ∘ sansserif_StdDecomp ∘ italic_P | start_ARG italic_ψ end_ARG ⟩ = 2 start_POSTSUPERSCRIPT - italic_n / 2 end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_x , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_y , italic_r end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_x , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_y end_POSTSUBSCRIPT | start_ARG italic_x , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ ( italic_x , italic_r ) , italic_y , sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ ( italic_x , italic_r ) , italic_y ) end_ARG ⟩ ,

where 𝖨𝗇𝗏𝖾𝗋𝗍f(D,y)subscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓𝐷𝑦\mathsf{Invert}_{f}(D,y)sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_D , italic_y ) outputs the lexicographically first x𝑥xitalic_x such that f(x,D(x))=y𝑓𝑥𝐷𝑥𝑦f(x,D(x))=yitalic_f ( italic_x , italic_D ( italic_x ) ) = italic_y, if such an x𝑥xitalic_x exists. Letting Δ:=𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉𝖨𝗇𝗏𝖾𝗋𝗍f𝖨𝗇𝗏𝖾𝗋𝗍f𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉assignΔ𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉subscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓subscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓𝖲𝗍𝖽𝖣𝖾𝖼𝗈𝗆𝗉\Delta:=\mathsf{StdDecomp}\circ\mathsf{Invert}_{f}-\mathsf{Invert}_{f}\circ% \mathsf{StdDecomp}roman_Δ := sansserif_StdDecomp ∘ sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT - sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ∘ sansserif_StdDecomp, we have

ΔP|ψ=2n/2x,D,y,rαx,D,y|x,D(x,r),y(|𝖨𝗇𝗏𝖾𝗋𝗍f(D,y)|𝖨𝗇𝗏𝖾𝗋𝗍f(D(x,r),y)),Δ𝑃ket𝜓superscript2𝑛2subscript𝑥superscript𝐷𝑦𝑟tensor-productsubscript𝛼𝑥superscript𝐷𝑦ket𝑥superscript𝐷𝑥𝑟𝑦ketsubscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓superscript𝐷𝑦ketsubscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓superscript𝐷𝑥𝑟𝑦\Delta\circ P\ket{\psi}=2^{-n/2}\sum_{x,D^{\prime},y,r}\alpha_{x,D^{\prime},y}% \ket{x,D^{\prime}\cup(x,r),y}\otimes\left(\ket{\mathsf{Invert}_{f}(D^{\prime},% y)}-\ket{\mathsf{Invert}_{f}(D^{\prime}\cup(x,r),y)}\right),roman_Δ ∘ italic_P | start_ARG italic_ψ end_ARG ⟩ = 2 start_POSTSUPERSCRIPT - italic_n / 2 end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_x , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_y , italic_r end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_x , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_y end_POSTSUBSCRIPT | start_ARG italic_x , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ ( italic_x , italic_r ) , italic_y end_ARG ⟩ ⊗ ( | start_ARG sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_y ) end_ARG ⟩ - | start_ARG sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ ( italic_x , italic_r ) , italic_y ) end_ARG ⟩ ) ,

and

ΔP|ψ2superscriptnormΔ𝑃ket𝜓2\displaystyle\norm{\Delta\circ P\ket{\psi}}^{2}∥ start_ARG roman_Δ ∘ italic_P | start_ARG italic_ψ end_ARG ⟩ end_ARG ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT =2nx,D,y,r|αx,D,y|2(221{𝖨𝗇𝗏𝖾𝗋𝗍f(D,y)=𝖨𝗇𝗏𝖾𝗋𝗍f(D(x,r),y)})absentsuperscript2𝑛subscript𝑥superscript𝐷𝑦𝑟superscriptsubscript𝛼𝑥superscript𝐷𝑦2221subscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓superscript𝐷𝑦subscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓superscript𝐷𝑥𝑟𝑦\displaystyle=2^{-n}\sum_{x,D^{\prime},y,r}\absolutevalue{\alpha_{x,D^{\prime}% ,y}}^{2}\left(2-2\cdot 1\{\mathsf{Invert}_{f}(D^{\prime},y)=\mathsf{Invert}_{f% }(D^{\prime}\cup(x,r),y)\}\right)= 2 start_POSTSUPERSCRIPT - italic_n end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_x , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_y , italic_r end_POSTSUBSCRIPT | start_ARG italic_α start_POSTSUBSCRIPT italic_x , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_y end_POSTSUBSCRIPT end_ARG | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( 2 - 2 ⋅ 1 { sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_y ) = sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ ( italic_x , italic_r ) , italic_y ) } )
=2P|ψ22x,D,y|αx,D,y|2Prr[𝖨𝗇𝗏𝖾𝗋𝗍f(D,y)=𝖨𝗇𝗏𝖾𝗋𝗍f(D(x,r),y)]absent2superscriptnorm𝑃ket𝜓22subscript𝑥superscript𝐷𝑦superscriptsubscript𝛼𝑥superscript𝐷𝑦2subscriptprobability𝑟subscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓superscript𝐷𝑦subscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓superscript𝐷𝑥𝑟𝑦\displaystyle=2\norm{P\ket{\psi}}^{2}-2\sum_{x,D^{\prime},y}\absolutevalue{% \alpha_{x,D^{\prime},y}}^{2}\Pr_{r}[\mathsf{Invert}_{f}(D^{\prime},y)=\mathsf{% Invert}_{f}(D^{\prime}\cup(x,r),y)]= 2 ∥ start_ARG italic_P | start_ARG italic_ψ end_ARG ⟩ end_ARG ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - 2 ∑ start_POSTSUBSCRIPT italic_x , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_y end_POSTSUBSCRIPT | start_ARG italic_α start_POSTSUBSCRIPT italic_x , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_y end_POSTSUBSCRIPT end_ARG | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT roman_Pr start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT [ sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_y ) = sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ ( italic_x , italic_r ) , italic_y ) ]
22τP|ψ2,absent2superscript2𝜏superscriptnorm𝑃ket𝜓2\displaystyle\leq\frac{2}{2^{\tau}}\norm{P\ket{\psi}}^{2},≤ divide start_ARG 2 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_τ end_POSTSUPERSCRIPT end_ARG ∥ start_ARG italic_P | start_ARG italic_ψ end_ARG ⟩ end_ARG ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ,

since Prr[𝖨𝗇𝗏𝖾𝗋𝗍f(D,y)=𝖨𝗇𝗏𝖾𝗋𝗍f(D(x,r),y)]12τsubscriptprobability𝑟subscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓superscript𝐷𝑦subscript𝖨𝗇𝗏𝖾𝗋𝗍𝑓superscript𝐷𝑥𝑟𝑦1superscript2𝜏\Pr_{r}[\mathsf{Invert}_{f}(D^{\prime},y)=\mathsf{Invert}_{f}(D^{\prime}\cup(x% ,r),y)]\geq 1-2^{-\tau}roman_Pr start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT [ sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_y ) = sansserif_Invert start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ ( italic_x , italic_r ) , italic_y ) ] ≥ 1 - 2 start_POSTSUPERSCRIPT - italic_τ end_POSTSUPERSCRIPT.

Similarly, ΔQ|ψ222τQ|ψ2superscriptnormΔ𝑄ket𝜓22superscript2𝜏superscriptnorm𝑄ket𝜓2\norm{\Delta\circ Q\ket{\psi}}^{2}\leq 2\cdot 2^{-\tau}\norm{Q\ket{\psi}}^{2}∥ start_ARG roman_Δ ∘ italic_Q | start_ARG italic_ψ end_ARG ⟩ end_ARG ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ≤ 2 ⋅ 2 start_POSTSUPERSCRIPT - italic_τ end_POSTSUPERSCRIPT ∥ start_ARG italic_Q | start_ARG italic_ψ end_ARG ⟩ end_ARG ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT. Since Δ(IPQ)=0Δ𝐼𝑃𝑄0\Delta\circ(I-P-Q)=0roman_Δ ∘ ( italic_I - italic_P - italic_Q ) = 0, it follows that Δ|ψ=O(1/2τ)normΔket𝜓𝑂1superscript2𝜏\norm{\Delta\ket{\psi}}=O(1/\sqrt{2^{\tau}})∥ start_ARG roman_Δ | start_ARG italic_ψ end_ARG ⟩ end_ARG ∥ = italic_O ( 1 / square-root start_ARG 2 start_POSTSUPERSCRIPT italic_τ end_POSTSUPERSCRIPT end_ARG ). ∎

References

  • [Aar09] Scott Aaronson. Quantum copy-protection and quantum money. In 2009 24th Annual IEEE Conference on Computational Complexity, pages 229–242. IEEE, 2009.
  • [AB24] Prabhanjan Ananth and Amit Behera. A modular approach to unclonable cryptography. In Leonid Reyzin and Douglas Stebila, editors, Advances in Cryptology - CRYPTO 2024 - 44th Annual International Cryptology Conference, Santa Barbara, CA, USA, August 18-22, 2024, Proceedings, Part VII, volume 14926 of Lecture Notes in Computer Science, pages 3–37. Springer, 2024.
  • [ALL+21] Scott Aaronson, Jiahui Liu, Qipeng Liu, Mark Zhandry, and Ruizhe Zhang. New approaches for quantum copy-protection. In Tal Malkin and Chris Peikert, editors, Advances in Cryptology - CRYPTO 2021 - 41st Annual International Cryptology Conference, CRYPTO 2021, Virtual Event, August 16-20, 2021, Proceedings, Part I, volume 12825 of Lecture Notes in Computer Science, pages 526–555. Springer, 2021.
  • [AP21] Prabhanjan Ananth and Rolando L. La Placa. Secure software leasing. In Anne Canteaut and François-Xavier Standaert, editors, Advances in Cryptology - EUROCRYPT 2021 - 40th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Zagreb, Croatia, October 17-21, 2021, Proceedings, Part II, volume 12697 of Lecture Notes in Computer Science, pages 501–530. Springer, 2021.
  • [BB14] Charles H Bennett and Gilles Brassard. Quantum cryptography: Public key distribution and coin tossing. Theoretical computer science, 560:7–11, 2014.
  • [BGS13] Anne Broadbent, Gus Gutoski, and Douglas Stebila. Quantum one-time programs. IACR Cryptol. ePrint Arch., page 343, 2013.
  • [BI20] Anne Broadbent and Rabib Islam. Quantum encryption with certified deletion. In Rafael Pass and Krzysztof Pietrzak, editors, Theory of Cryptography - 18th International Conference, TCC 2020, Durham, NC, USA, November 16-19, 2020, Proceedings, Part III, volume 12552 of Lecture Notes in Computer Science, pages 92–122. Springer, 2020.
  • [BS23] Shalev Ben-David and Or Sattath. Quantum tokens for digital signatures. Quantum, 7:901, 2023.
  • [CG24] Andrea Coladangelo and Sam Gunn. How to use quantum indistinguishability obfuscation. In Bojan Mohar, Igor Shinkar, and Ryan O’Donnell, editors, Proceedings of the 56th Annual ACM Symposium on Theory of Computing, STOC 2024, Vancouver, BC, Canada, June 24-28, 2024, pages 1003–1008. ACM, 2024.
  • [CHV23] Céline Chevalier, Paul Hermouet, and Quoc-Huy Vu. Semi-quantum copy-protection and more. In Guy N. Rothblum and Hoeteck Wee, editors, Theory of Cryptography - 21st International Conference, TCC 2023, Taipei, Taiwan, November 29 - December 2, 2023, Proceedings, Part IV, volume 14372 of Lecture Notes in Computer Science, pages 155–182. Springer, 2023.
  • [CLLZ21] Andrea Coladangelo, Jiahui Liu, Qipeng Liu, and Mark Zhandry. Hidden cosets and applications to unclonable cryptography. In Tal Malkin and Chris Peikert, editors, Advances in Cryptology - CRYPTO 2021 - 41st Annual International Cryptology Conference, CRYPTO 2021, Virtual Event, August 16-20, 2021, Proceedings, Part I, volume 12825 of Lecture Notes in Computer Science, pages 556–584. Springer, 2021.
  • [GKR08] Shafi Goldwasser, Yael Tauman Kalai, and Guy N. Rothblum. One-time programs. In David A. Wagner, editor, Advances in Cryptology - CRYPTO 2008, 28th Annual International Cryptology Conference, Santa Barbara, CA, USA, August 17-21, 2008. Proceedings, volume 5157 of Lecture Notes in Computer Science, pages 39–56. Springer, 2008.
  • [GLR+24] Aparna Gupte, Jiahui Liu, Justin Raizes, Bhaskar Roberts, and Vinod Vaikuntanathan. Quantum one-time programs, revisited. CoRR, 2024.
  • [LLQZ22] Jiahui Liu, Qipeng Liu, Luowen Qian, and Mark Zhandry. Collusion resistant copy-protection for watermarkable functionalities. In Eike Kiltz and Vinod Vaikuntanathan, editors, Theory of Cryptography - 20th International Conference, TCC 2022, Chicago, IL, USA, November 7-10, 2022, Proceedings, Part I, volume 13747 of Lecture Notes in Computer Science, pages 294–323. Springer, 2022.
  • [Shm22] Omri Shmueli. Semi-quantum tokenized signatures. In Yevgeniy Dodis and Thomas Shrimpton, editors, Advances in Cryptology - CRYPTO 2022 - 42nd Annual International Cryptology Conference, CRYPTO 2022, Santa Barbara, CA, USA, August 15-18, 2022, Proceedings, Part I, volume 13507 of Lecture Notes in Computer Science, pages 296–319. Springer, 2022.
  • [Unr16] Dominique Unruh. Computationally binding quantum commitments. In Marc Fischlin and Jean-Sébastien Coron, editors, Advances in Cryptology - EUROCRYPT 2016 - 35th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Vienna, Austria, May 8-12, 2016, Proceedings, Part II, volume 9666 of Lecture Notes in Computer Science, pages 497–527. Springer, 2016.
  • [Wie83] Stephen Wiesner. Conjugate coding. ACM Sigact News, 15(1):78–88, 1983.
  • [Zha19] Mark Zhandry. How to record quantum queries, and applications to quantum indifferentiability. In Alexandra Boldyreva and Daniele Micciancio, editors, Advances in Cryptology - CRYPTO 2019 - 39th Annual International Cryptology Conference, Santa Barbara, CA, USA, August 18-22, 2019, Proceedings, Part II, volume 11693 of Lecture Notes in Computer Science, pages 239–268. Springer, 2019.