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

Watermarking PRFs against Quantum Adversaries

Fuyuki Kitagawa 1 and Ryo Nishimaki 1
Abstract

We initiate the study of software watermarking against quantum adversaries. A quantum adversary generates a quantum state as a pirate software that potentially removes an embedded message from a classical marked software. Extracting an embedded message from quantum pirate software is difficult since measurement could irreversibly alter the quantum state. In software watermarking against classical adversaries, a message extraction algorithm crucially uses the (input-output) behavior of a classical pirate software to extract an embedded message. Even if we instantiate existing watermarking PRFs with quantum-safe building blocks, it is not clear whether they are secure against quantum adversaries due to the quantum-specific property above. Thus, we need entirely new techniques to achieve software watermarking against quantum adversaries.

In this work, we define secure watermarking PRFs for quantum adversaries (unremovability against quantum adversaries). We also present two watermarking PRFs as follows.

  • We construct a privately extractable watermarking PRF against quantum adversaries from the quantum hardness of the learning with errors (LWE) problem. The marking and extraction algorithms use a public parameter and a private extraction key, respectively. The watermarking PRF is unremovable even if adversaries have (the public parameter and) access to the extraction oracle, which returns a result of extraction for a queried quantum circuit.

  • We construct a publicly extractable watermarking PRF against quantum adversaries from indistinguishability obfuscation (IO) and the quantum hardness of the LWE problem. The marking and extraction algorithms use a public parameter and a public extraction key, respectively. The watermarking PRF is unremovable even if adversaries have the extraction key (and the public parameter).

We develop a quantum extraction technique to extract information (a classical string) from a quantum state without destroying the state too much. We also introduce the notion of extraction-less watermarking PRFs as a crucial building block to achieve the results above by combining the tool with our quantum extraction technique.

Keywords: watermarking, pseudorandom function, post-quantum cryptography

1 NTT Corporation, Tokyo, Japan

{fuyuki.kitagawa.yh,ryo.nishimaki.zk}@hco.ntt.co.jp

\textblockorigin

0.50.9

{textblock}

1[0.5,0](0,.25)

1 Introduction

1.1 Background

Software watermarking is a cryptographic primitive that achieves a digital analog of watermarking. A marking algorithm of software watermarking can embed an arbitrary message (bit string) into a computer software modeled as a circuit. A marked software almost preserves the functionality of the original software. An extraction algorithm of software watermarking can extract the embedded message from a marked software. Secure software watermarking should guarantee that no adversary can remove the embedded message without significantly destroying the functionality of the original software (called unremovability).

Barak, Goldreich, Impagliazzo, Rudich, Sahai, Vadhan, and Yang [BGI+12] initiate the study of software watermarking and present the first definition of cryptographically secure software watermarking. Hopper, Molnar, and Wagner [HMW07] also study the definition of cryptographically secure watermarking for perceptual objects. However, both works do not present a secure concrete scheme. A few works study secure constructions of watermarking for cryptographic primitives [NSS99, YF11, Nis13, Nis19], but they consider only restricted removal strategies. Cohen, Holmgren, Nishimaki, Wichs, and Vaikuntanathan [CHN+18] present stronger definitions for software watermarking and the first secure watermarking schemes for cryptographic primitives against arbitrary removal strategies. After the celebrated work, watermarking for cryptographic primitives have been extensively studied [BLW17, KW21, QWZ18, KW19, YAL+19, GKM+19, YAYX20, Nis20].

Primary applications of watermarking are identifying ownership of objects and tracing users that distribute illegal copies. Watermarking for cryptographic primitives also has another exciting application. Aaronson, Liu, Liu, Zhandry, and Zhang [ALL+21] and Kitagawa, Nishimaki, and Yamakawa [KNY21] concurrently and independently find that we can construct secure software leasing schemes by combining watermarking with quantum cryptography.111Precisely speaking, Aaronson et al. achieve copy-detection schemes [ALL+21], which are essentially the same as secure software leasing schemes. Secure software leasing [AL21] is a quantum cryptographic primitive that prevents users from generating authenticated pirated copies of leased software.222Leased software must be a quantum state since classical bit strings can be easily copied. Since watermarking has such an exciting application in quantum cryptography and quantum computers might be an imminent threat to cryptography due to rapid progress in research on quantum computing, it is natural and fascinating to study secure software watermarking in the quantum setting.

In quantum cryptography, building blocks must be quantum-safe such as lattice-based cryptography [Reg09]. However, even if we replace building blocks of existing cryptographic primitives/protocols with quantum-safe ones, we do not necessarily obtain quantum-safe cryptographic primitives/protocols [BDF+11, ARU14]. We sometimes need new proof techniques which are different from classical ones due to quantum specific properties such as no-cloning and superposition access [Wat09, Zha12b, Zha12a, Unr12, Zha19, CMSZ21]. Even worse, we must consider entirely different security models in some settings. Zhandry [Zha20] studies traitor tracing [CFN94] in the quantum setting as such an example. In quantum traitor tracing, an adversary can output a quantum state as a pirate decoder. Zhandry shows that we need new techniques for achieving quantum traitor tracing because running a quantum pirate decoder to extract information may irreversibly alter the state due to measurement.

Zhandry [Zha20] refers to software watermarking as a cryptographic primitive that has a similar issue to quantum traitor tracing. However, his work focuses only on traitor tracing and does not study software watermarking against quantum adversaries. If we use software watermarking in the quantum setting, an adversary can output a quantum state as a pirate circuit where an embedded message might be removed. However, previous works consider a setting where an adversary outputs a classical pirate circuit. It is not clear whether watermarking schemes based on quantum-safe cryptography are secure against quantum adversaries because we need an entirely new extraction algorithm to extract an embedded message from a quantum pirate circuit. Thus, the main question in this study is:

Can we achieve secure watermarking for cryptographic primitives against quantum adversaries?

We affirmatively answer this question in this work.

1.2 Our Result

Our main contributions are two-fold. One is the definitional work. We define watermarking for pseudorandom functions (PRFs) against quantum adversaries, where adversaries output a quantum state as a pirate circuit that distinguishes a PRF from a random function.333This definitional choice comes from the definition of traceable PRFs [GKWW21]. See Sections 1.3 and 1.4 for the detail. The other one is constructing the first secure watermarking PRFs against quantum adversaries. We present two watermarking PRFs as follows.

  • We construct a privately extractable watermarking PRF against quantum adversaries from the quantum hardness of the learning with errors (LWE) problem. This watermarking PRF is secure in the presence of the extraction oracle and supports public marking. That is, the marking and extraction algorithms use a public parameter and secret extraction key, respectively. The watermarking PRF is unremovable even if adversaries have access to the extraction oracle, which returns a result of extraction for a queried quantum circuit.

  • We construct a publicly extractable watermarking PRF against quantum adversaries from indistinguishability obfuscation (IO) and the quantum hardness of the LWE problem. This watermarking PRF also supports public marking. That is, the marking and extraction algorithms use a public parameter and a public extraction key, respectively. The watermarking PRF is unremovable (we do not need to consider the mark and extraction oracles since it supports public marking and public extraction).

The former and latter PRFs satisfy weak pseudorandomness and standard (strong) pseudorandomness even against a watermarking authority, respectively.

We develop a quantum extraction algorithm to achieve the results above. Zhandry [Zha20] presents a useful technique for extracting information from quantum states without destroying them too much. However, we cannot simply apply his technique to the watermarking setting. Embedded information (arbitrary string) is chosen from an exponentially large set in the watermarking setting. On the other hand, in the traitor tracing setting, we embed a user index, which could be chosen from a polynomially large set, in a decryption key. Zhandry’s technique is tailored to traitor tracing based on private linear broadcast encryption (PLBE) [BSW06] where user information is chosen from a polynomially large set with linear structure. Thus, we extend Zhandry’s technique [Zha20] to extract information chosen from an exponentially large set. We also introduce the notion of extraction-less watermarking as a crucial tool to achieve watermarking against quantum adversaries. This tool is a suitable building block for our quantum extraction technique in our watermarking extraction algorithm. These are our technical contributions. See Section 1.3 for the detail.

Although this paper focuses on watermarking PRFs against quantum adversaries, it is easy to extend our definitions to watermarking public-key encryption (PKE) against quantum adversaries. In particular, our construction technique easily yields watermarking PKE (where a decryption circuit is marked) schemes. We will provide the detail of them in a future version.

We also focus on watermarking PRFs with public marking in this paper. However, we can easily convert our PRFs into ones with private marking. See Remark 3.4 for the detail.

1.3 Technical Overview

Syntax of watermarking PRF.

We first review the syntax of watermarking PRF used in this work. A watermarking PRF scheme consists of five algorithms (𝖲𝖾𝗍𝗎𝗉,𝖦𝖾𝗇,𝖤𝗏𝖺𝗅,𝖬𝖺𝗋𝗄,𝓍𝓉𝓇𝒶𝒸𝓉)(\mathsf{Setup},\mathsf{Gen},\mathsf{Eval},\mathsf{Mark},\mathpzc{Extract}).444In this paper, standard math font stands for classical algorithms, and calligraphic font stands for quantum algorithms. 𝖲𝖾𝗍𝗎𝗉\mathsf{Setup} outputs a public parameter 𝗉𝗉\mathsf{pp} and an extraction key 𝗑𝗄\mathsf{xk}. 𝖦𝖾𝗇\mathsf{Gen} is given 𝗉𝗉\mathsf{pp} and outputs a PRF key 𝗉𝗋𝖿𝗄\mathsf{prfk} and a public tag τ\tau. 𝖤𝗏𝖺𝗅\mathsf{Eval} is the PRF evaluation algorithm that takes as an input 𝗉𝗋𝖿𝗄\mathsf{prfk} and xx in the domain and outputs yy. By using 𝖬𝖺𝗋𝗄\mathsf{Mark}, we can generate a marked evaluation circuit that has embedded message 𝗆{0,1}𝗆\mathsf{m}\in\{0,1\}^{{\ell_{\mathsf{m}}}} and can be used to evaluate 𝖤𝗏𝖺𝗅(𝗉𝗋𝖿𝗄,x)\mathsf{Eval}(\mathsf{prfk},x^{\prime}) for almost all xx^{\prime}. Finally, 𝓍𝓉𝓇𝒶𝒸𝓉\mathpzc{Extract} is the extraction algorithm supposed to extract the embedded message from a pirated quantum evaluation circuit generated from the marked evaluation circuit. By default, in this work, we consider the public marking setting, where anyone can execute 𝖬𝖺𝗋𝗄\mathsf{Mark}. Thus, 𝖬𝖺𝗋𝗄\mathsf{Mark} takes 𝗉𝗉\mathsf{pp} as an input. On the other hand, we consider both the private extraction and the public extraction settings. Thus, the extraction key 𝗑𝗄\mathsf{xk} used by 𝓍𝓉𝓇𝒶𝒸𝓉\mathpzc{Extract} is kept secret by an authority in the private extraction setting and made public in the public extraction setting.

In this work, we allow 𝓍𝓉𝓇𝒶𝒸𝓉\mathpzc{Extract} to take the public tag τ\tau generated with the original PRF key corresponding to the pirate circuit. In reality, we execute 𝓍𝓉𝓇𝒶𝒸𝓉\mathpzc{Extract} for a software when a user claims that the software is illegally generated by using her/his PRF key. Thus, it is natural to expect we can use a user’s public tag for extraction. Moreover, pirate circuits are distinguishers, not predictors in this work. As discussed by Goyal et al. [GKWW21], security against pirate distinguishers is much preferable compared to security against pirate predictors considered in many previous works on watermarking. In this case, it seems that such additional information fed to 𝓍𝓉𝓇𝒶𝒸𝓉\mathpzc{Extract} is unavoidable. For a more detailed discussion on the syntax, see the discussion in Section 3.1.

It is also natural to focus on distinguishers breaking weak pseudorandomness of PRFs when we consider pirate distinguishers instead of pirate predictors. Goyal et al. [GKWW21] already discussed this point. Thus, we focus on watermarking weak PRF in this work.

Definition of unremovability against quantum adversaries.

We say that a watermarking PRF scheme satisfies unremovability if given a marked evaluation circuit C~\widetilde{C} that has an embedded message 𝗆\mathsf{m}, any adversary cannot generate a circuit such that it is a “good enough circuit”, but the extraction algorithm fails to output 𝗆\mathsf{m}. In this work, we basically follow the notion of “good enough circuit” defined by Goyal et al. [GKWW21] as stated above. Let DD be the following distribution for a PRF 𝖤𝗏𝖺𝗅(𝗉𝗋𝖿𝗄,):𝖣𝗈𝗆𝖱𝖺𝗇\mathsf{Eval}(\mathsf{prfk},\cdot):\mathsf{Dom}\rightarrow\mathsf{Ran}.

DD:

Generate b{0,1}b\leftarrow\{0,1\}, x𝖣𝗈𝗆x\leftarrow\mathsf{Dom}, and y0𝖱𝖺𝗇y_{0}\leftarrow\mathsf{Ran}. Compute y1𝖤𝗏𝖺𝗅(𝗉𝗋𝖿𝗄,x)y_{1}\leftarrow\mathsf{Eval}(\mathsf{prfk},x). Output (b,x,yb)(b,x,y_{b}).

A circuit is defined as good enough circuit with respect to 𝖤𝗏𝖺𝗅(𝗉𝗋𝖿𝗄,)\mathsf{Eval}(\mathsf{prfk},\cdot) if given (x,yb)(x,y_{b}) output by DD, it can correctly guess bb with probability significantly greater than 1/21/2. In other words, a circuit is defined as good enough if the circuit breaks weak PRF security.

Below, for a distribution DD^{\prime} whose output is of the form (b,x,y)(b,x,y), let D=(𝑴D,0,𝑴D,1)\mathcal{M}_{D^{\prime}}=(\boldsymbol{M}_{D^{\prime},0},\boldsymbol{M}_{D^{\prime},1}) be binary positive operator valued measures (POVMs) that represents generating random (b,x,y)(b,x,y) from DD^{\prime} and testing if a quantum circuit can guess bb from (x,y)(x,y). Then, for a quantum state |ψ\ket{\psi}, the overall distinguishing advantage of it for the above distribution DD is ψ|𝑴D,0|ψ\bra{\psi}\boldsymbol{M}_{D,0}\ket{\psi}. Thus, a natural adaptation of the above notion of goodness for quantum circuits might be to define a quantum state |ψ\ket{\psi} as good if ψ|𝑴D,0|ψ\bra{\psi}\boldsymbol{M}_{D,0}\ket{\psi} is significantly greater than 1/21/2. However, this notion of goodness for quantum circuits is not really meaningful. The biggest issue is that it does not consider the stateful nature of quantum programs.

This issue was previously addressed by Zhandry [Zha20] in the context of traitor tracing against quantum adversaries. In the context of classical traitor tracing or watermarking, we can assume that a pirate circuit is stateless, or can be rewound to its original state. This assumption is reasonable. If we have the software description of the pirate circuit, such a rewinding is trivial. Even if we have a hardware box in which a pirate circuit is built, it seems that such a rewinding is possible by hard reboot or cutting power. On the other hand, in the context of quantum watermarking, we have to consider that a pirate circuit is inherently stateful since it is described as a quantum state. Operations to a quantum state can alter the state, and in general, it is impossible to rewind the state into its original state. Regarding the definition of good quantum circuits above, if we can somehow compute the average success probability ψ|𝑴D,0|ψ\bra{\psi}\boldsymbol{M}_{D,0}\ket{\psi} of the quantum state |ψ\ket{\psi}, the process can change or destroy the quantum state |ψ\ket{\psi}. Namely, even if we once confirm that the quantum state |ψ\ket{\psi} is good by computing ψ|𝑴D,0|ψ\bra{\psi}\boldsymbol{M}_{D,0}\ket{\psi}, we cannot know the success probability of the quantum state even right after the computation. Clearly, the above notion of goodness is not the right notion, and we need one that captures the stateful nature of quantum programs.

In the work on traitor tracing against quantum adversaries, Zhandry [Zha20] proposed a notion of goodness for quantum programs that solves the above issue. We adopt it. For the above POVMs D\mathcal{M}_{D}, let D\mathcal{M}_{D}^{\prime} be the projective measurement {Pp}p[0,1]\{P_{p}\}_{p\in[0,1]} that projects a state onto the eigenspaces of 𝑴D,0\boldsymbol{M}_{D,0}, where each pp is an eigenvalue of 𝑴D,0\boldsymbol{M}_{D,0}. D\mathcal{M}_{D}^{\prime} is called projective implementation of D\mathcal{M}_{D} and denoted as 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)\mathsf{ProjImp}(\mathcal{M}_{D}). Zhandry showed that the following process has the same output distribution as D\mathcal{M}_{D}:

  1. 1.

    Apply the projective measurement D=𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)\mathcal{M}_{D}^{\prime}=\mathsf{ProjImp}(\mathcal{M}_{D}) and obtain pp.

  2. 2.

    Output 0 with probability pp and output 11 with probability 1p1-p.

Intuitively, D\mathcal{M}_{D}^{\prime} project a state to an eigenvector of 𝑴D,0\boldsymbol{M}_{D,0} with eigenvalue pp, which can be seen as a quantum state with success probability pp. Using D\mathcal{M}_{D}^{\prime}, Zhandry defined that a quantum circuit is 𝖫𝗂𝗏𝖾\mathsf{Live} if the outcome of the measurement D\mathcal{M}_{D}^{\prime} is significantly greater than 1/21/2. The notion of 𝖫𝗂𝗏𝖾\mathsf{Live} is a natural extension of the classical goodness since it collapses to the classical goodness for a classical decoder. Moreover, we can ensure that a quantum state that is tested as 𝖫𝗂𝗏𝖾\mathsf{Live} still has a high success probability. On the other hand, the above notion of goodness cannot say anything about the post-tested quantum state’s success probability even if the test is passed. In this work, we use the notion of 𝖫𝗂𝗏𝖾\mathsf{Live} quantum circuits as the notion of good quantum circuits.

Difficulty of quantum watermarking PRF.

From the above discussion, our goal is to construct a watermarking PRF scheme that guarantees that we can extract the embedded message correctly if a pirated quantum circuit is 𝖫𝗂𝗏𝖾\mathsf{Live}. In watermarking PRF schemes, we usually extract an embedded message by applying several tests on success probability to a pirate circuit. When a pirate circuit is a quantum state, the set of tests that we can apply is highly limited compared to a classical circuit due to the stateful nature of quantum states.

One set of tests we can apply without destroying the quantum state is 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)\mathsf{ProjImp}(\mathcal{M}_{D^{\prime}}) for distributions DD^{\prime} that are indistinguishable from DD from the view of the pirate circuit.555In the actual extraction process, we use an approximation of projective implementation introduced by Zhandry [Zha20] since applying a projective implementation is inefficient. In this overview, we ignore this issue for simplicity. We denote this set as {𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)D𝖼D}\{\mathsf{ProjImp}(\mathcal{M}_{D^{\prime}})\mid D^{\prime}\stackrel{{\scriptstyle\mathsf{c}}}{{\approx}}D\}. Zhandry showed that if distributions D1D_{1} and D2D_{2} are indistinguishable, the outcome of 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D1)\mathsf{ProjImp}(\mathcal{M}_{D_{1}}) is close to that of 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D2)\mathsf{ProjImp}(\mathcal{M}_{D_{2}}). By combining this property with the projective property of projective implementations, as long as the initial quantum state is 𝖫𝗂𝗏𝖾\mathsf{Live} and we apply only tests contained in {𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)D𝖼D}\{\mathsf{ProjImp}(\mathcal{M}_{D^{\prime}})\mid D^{\prime}\stackrel{{\scriptstyle\mathsf{c}}}{{\approx}}D\}, the quantum state remains 𝖫𝗂𝗏𝖾\mathsf{Live}. On the other hand, if we apply a test outside of {𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)D𝖼D}\{\mathsf{ProjImp}(\mathcal{M}_{D^{\prime}})\mid D^{\prime}\stackrel{{\scriptstyle\mathsf{c}}}{{\approx}}D\}, the quantum state might be irreversibly altered. This fact is a problem since the set {𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)D𝖼D}\{\mathsf{ProjImp}(\mathcal{M}_{D^{\prime}})\mid D^{\prime}\stackrel{{\scriptstyle\mathsf{c}}}{{\approx}}D\} only is not sufficient to implement the existing widely used construction method for watermarking PRF schemes.

To see this, we briefly review the method. In watermarking PRF schemes, the number of possible embedded messages is super-polynomial, and thus we basically need to extract an embedded message in a bit-by-bit manner. In the method, such a bit-by-bit extraction is done as follows. For every i[𝗆]i\in[{\ell_{\mathsf{m}}}], we define two distributions Si,0S_{i,0} and Si,1S_{i,1} whose output is of the form (b,x,y)(b,x,y) as DD above. Then, we design a marked circuit with embedded message 𝗆{0,1}𝗆\mathsf{m}\in\{0,1\}^{{\ell_{\mathsf{m}}}} so that it can be used to guess bb from (x,y)(x,y) with probability significantly greater than 1/21/2 only for Si,0S_{i,0} (resp. Si,1S_{i,1}) if 𝗆[i]=0\mathsf{m}[i]=0 (resp. 𝗆[i]=1\mathsf{m}[i]=1). The extraction algorithm can extract ii-th bit of the message 𝗆[i]\mathsf{m}[i] by checking for which distributions of Si,0S_{i,0} and Si,1S_{i,1} a pirate circuit has a high distinguishing advantage.

As stated above, we cannot use this standard method to extract a message from quantum pirate circuits. The reason is that Si,0S_{i,0} and Si,1S_{i,1} are typically distinguishable. This implies that at least either one of 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(Si,0)\mathsf{ProjImp}(\mathcal{M}_{S_{i,0}}) or 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(Si,1)\mathsf{ProjImp}(\mathcal{M}_{S_{i,1}}) is not contained in {𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)D𝖼D}\{\mathsf{ProjImp}(\mathcal{M}_{D^{\prime}})\mid D^{\prime}\stackrel{{\scriptstyle\mathsf{c}}}{{\approx}}D\}. Since the test outside of {𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)D𝖼D}\{\mathsf{ProjImp}(\mathcal{M}_{D^{\prime}})\mid D^{\prime}\stackrel{{\scriptstyle\mathsf{c}}}{{\approx}}D\} might destroy the quantum state, we might not be able to perform the process for all ii, and fail to extract the entire bits of the embedded message.

It seems that to perform the bit-by-bit extraction for a quantum state, we need to extend the set of applicable tests and come up with a new extraction method.

Our solution: Use of reverse projective property.

We find that as another applicable set of tests, we have 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)\mathsf{ProjImp}(\mathcal{M}_{D^{\prime}}) for distributions DD^{\prime} that are indistinguishable from D𝚛𝚎𝚟D^{\mathtt{rev}}, where D𝚛𝚎𝚟D^{\mathtt{rev}} is the following distribution.

D𝚛𝚎𝚟D^{\mathtt{rev}}:

Generate b{0,1}b\leftarrow\{0,1\}, x𝖣𝗈𝗆x\leftarrow\mathsf{Dom}, and y0𝖱𝖺𝗇y_{0}\leftarrow\mathsf{Ran}. Compute y1𝖤𝗏𝖺𝗅(𝗉𝗋𝖿𝗄,x)y_{1}\leftarrow\mathsf{Eval}(\mathsf{prfk},x). Output (1b,x,yb)(1\oplus b,x,y_{b}).

We denote the set as {𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)D𝖼D𝚛𝚎𝚟}\{\mathsf{ProjImp}(\mathcal{M}_{D^{\prime}})\mid D^{\prime}\stackrel{{\scriptstyle\mathsf{c}}}{{\approx}}D^{\mathtt{rev}}\}. D𝚛𝚎𝚟D^{\mathtt{rev}} is the distribution the first bit of whose output is flipped from that of DD. Then, D𝚛𝚎𝚟\mathcal{M}_{D^{\mathtt{rev}}} can be seen as POVMs that represents generating random (b,x,yb)(b,x,y_{b}) from DD and testing if a quantum circuit cannot guess bb from (x,yb)(x,y_{b}). Thus, we see that D𝚛𝚎𝚟=(𝑴D,1,𝑴D,0)\mathcal{M}_{D^{\mathtt{rev}}}=(\boldsymbol{M}_{D,1},\boldsymbol{M}_{D,0}). Recall that D=(𝑴D,0,𝑴D,1)\mathcal{M}_{D}=(\boldsymbol{M}_{D,0},\boldsymbol{M}_{D,1}).

Let D1{𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)D𝖼D}D_{1}\in\{\mathsf{ProjImp}(\mathcal{M}_{D^{\prime}})\mid D^{\prime}\stackrel{{\scriptstyle\mathsf{c}}}{{\approx}}D\} and D1𝚛𝚎𝚟D^{\mathtt{rev}}_{1} be the distribution that generates (b,x,y)D1(b,x,y)\leftarrow D_{1} and outputs (1b,x,y)(1\oplus b,x,y). D1𝚛𝚎𝚟D^{\mathtt{rev}}_{1} is a distribution contained in {𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)D𝖼D𝚛𝚎𝚟}\{\mathsf{ProjImp}(\mathcal{M}_{D^{\prime}})\mid D^{\prime}\stackrel{{\scriptstyle\mathsf{c}}}{{\approx}}D^{\mathtt{rev}}\}. Similarly to the relation between DD and D𝚛𝚎𝚟D^{\mathtt{rev}}, if D1=(𝑴D1,0,𝑴D1,1)\mathcal{M}_{D_{1}}=(\boldsymbol{M}_{D_{1},0},\boldsymbol{M}_{D_{1},1}), we have D1𝚛𝚎𝚟=(𝑴D1𝚛𝚎𝚟,1,𝑴D1𝚛𝚎𝚟,0)\mathcal{M}_{D^{\mathtt{rev}}_{1}}=(\boldsymbol{M}_{D^{\mathtt{rev}}_{1},1},\boldsymbol{M}_{D^{\mathtt{rev}}_{1},0}). Since 𝑴D1,0+𝑴D1,1=𝑰\boldsymbol{M}_{D_{1},0}+\boldsymbol{M}_{D_{1},1}=\boldsymbol{I}, 𝑴D1,0\boldsymbol{M}_{D_{1},0} and 𝑴D1,1\boldsymbol{M}_{D_{1},1} share the same set of eigenvectors, and if a vector is an eigenvector of 𝑴D1,0\boldsymbol{M}_{D_{1},0} with eigenvalue pp, then it is also an eigenvector of 𝑴D1,1\boldsymbol{M}_{D_{1},1} with eigenvalue 1p1-p. Thus, if apply 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D1)\mathsf{ProjImp}(\mathcal{M}_{D_{1}}) and 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D1𝚛𝚎𝚟)\mathsf{ProjImp}(\mathcal{M}_{D^{\mathtt{rev}}_{1}}) successively to a quantum state and obtain the outcomes p~1\widetilde{p}_{1} and p~1\widetilde{p}_{1}^{\prime}, it holds that p~1=1p~1\widetilde{p}_{1}^{\prime}=1-\widetilde{p}_{1}. We call this property the reverse projective property of the projective implementation.

Combining projective and reverse projective properties and the outcome closeness for indistinguishable distributions of the projective implementation, we see that the following key fact holds.

Key fact:

As long as the initial quantum state is 𝖫𝗂𝗏𝖾\mathsf{Live} and we apply tests contained in {𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)D𝖼D}\{\mathsf{ProjImp}(\mathcal{M}_{D^{\prime}})\mid D^{\prime}\stackrel{{\scriptstyle\mathsf{c}}}{{\approx}}D\} or {𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)|D𝖼D𝚛𝚎𝚟}\{\mathsf{ProjImp}(\mathcal{M}_{D^{\prime}})|D^{\prime}\stackrel{{\scriptstyle\mathsf{c}}}{{\approx}}D^{\mathtt{rev}}\}, the quantum state remains 𝖫𝗂𝗏𝖾\mathsf{Live}. Moreover, if the outcome of applying 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)\mathsf{ProjImp}(\mathcal{M}_{D}) to the initial state is pp, we get the outcome close to pp every time we apply a test in {𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)D𝖼D}\{\mathsf{ProjImp}(\mathcal{M}_{D^{\prime}})\mid D^{\prime}\stackrel{{\scriptstyle\mathsf{c}}}{{\approx}}D\}, and we get the outcome close to 1p1-p every time we apply a test in {𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)D𝖼D𝚛𝚎𝚟}\{\mathsf{ProjImp}(\mathcal{M}_{D^{\prime}})\mid D^{\prime}\stackrel{{\scriptstyle\mathsf{c}}}{{\approx}}D^{\mathtt{rev}}\}.

In this work, we perform bit-by-bit extraction of embedded messages by using the above key fact of the projective implementation. To this end, we introduce the new notion of extraction-less watermarking PRF as an intermediate primitive.

Via extraction-less watermarking PRF.

An extraction-less watermarking PRF scheme has almost the same syntax as a watermarking PRF scheme, except that it does not have an extraction algorithm 𝓍𝓉𝓇𝒶𝒸𝓉\mathpzc{Extract} and instead has a simulation algorithm 𝖲𝗂𝗆\mathsf{Sim}. 𝖲𝗂𝗆\mathsf{Sim} is given the extraction key 𝗑𝗄\mathsf{xk}, the public tag τ\tau, and an index i[𝗆]i\in[{\ell_{\mathsf{m}}}], and outputs a tuple of the form (γ,x,y)(\gamma,x,y). 𝖲𝗂𝗆\mathsf{Sim} simulates outputs of DD or D𝚛𝚎𝚟D^{\mathtt{rev}} for a pirate circuit depending on the message embedded to the marked circuit corresponding to the pirate circuit. More concretely, we require that from the view of the pirate circuit generated from a marked circuit with embedded message 𝗆{0,1}𝗆\mathsf{m}\in\{0,1\}^{{\ell_{\mathsf{m}}}}, outputs of 𝖲𝗂𝗆\mathsf{Sim} are indistinguishable from those of DD if 𝗆[i]=0\mathsf{m}[i]=0 and are indistinguishable from those of D𝚛𝚎𝚟D^{\mathtt{rev}} if 𝗆[i]=1\mathsf{m}[i]=1 for every i[𝗆]i\in[{\ell_{\mathsf{m}}}]. We call this security notion simulatability for mark-dependent distributions (SIM-MDD security).

By using an extraction-less watermarking PRF scheme 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF}, we construct a watermarking PRF scheme 𝖶𝖬𝖯𝖱𝖥\mathsf{WMPRF} against quantum adversaries as follows. We use 𝖲𝖾𝗍𝗎𝗉,𝖦𝖾𝗇,𝖤𝗏𝖺𝗅,𝖬𝖺𝗋𝗄\mathsf{Setup},\mathsf{Gen},\mathsf{Eval},\mathsf{Mark} of 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF} as 𝖲𝖾𝗍𝗎𝗉,𝖦𝖾𝗇,𝖤𝗏𝖺𝗅,𝖬𝖺𝗋𝗄\mathsf{Setup},\mathsf{Gen},\mathsf{Eval},\mathsf{Mark} of 𝖶𝖬𝖯𝖱𝖥\mathsf{WMPRF}, respectively. We explain how to construct the extraction algorithm 𝓍𝓉𝓇𝒶𝒸𝓉\mathpzc{Extract} of 𝖶𝖬𝖯𝖱𝖥\mathsf{WMPRF} using 𝖲𝗂𝗆\mathsf{Sim} of 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF}. For every i[𝗆]i\in[{\ell_{\mathsf{m}}}], we define Dτ,iD_{\tau,i} as the distribution that outputs randomly generated (γ,x,y)𝖲𝗂𝗆(𝗑𝗄,τ,i)(\gamma,x,y)\leftarrow\mathsf{Sim}(\mathsf{xk},\tau,i). Given 𝗑𝗄\mathsf{xk}, τ\tau, and a quantum state |ψ\ket{\psi}, 𝓍𝓉𝓇𝒶𝒸𝓉\mathpzc{Extract} extracts the embedded message in the bit-by-bit manner by repeating the following process for every i[𝗆]i\in[{\ell_{\mathsf{m}}}].

  • Apply 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(Dτ,i)\mathsf{ProjImp}(\mathcal{M}_{D_{\tau,i}}) to |ψi1\ket{\psi_{i-1}} and obtain the outcome p~i\widetilde{p}_{i}, where |ψ0=|ψ\ket{\psi_{0}}=\ket{\psi} and |ψi1\ket{\psi_{i-1}} is the state after the (i1)(i-1)-th loop for every i[𝗆]i\in[{\ell_{\mathsf{m}}}].

  • Set 𝗆i=0\mathsf{m}^{\prime}_{i}=0 if p~i>1/2\widetilde{p}_{i}>1/2 and otherwise 𝗆i=1\mathsf{m}^{\prime}_{i}=1.

The extracted message is set to 𝗆1𝗆𝗆\mathsf{m}^{\prime}_{1}\|\cdots\|\mathsf{m}^{\prime}_{\ell_{\mathsf{m}}}.

We show that the above construction satisfies unremovability. Suppose an adversary is given marked circuit C~𝖬𝖺𝗋𝗄(𝗉𝗉,𝗉𝗋𝖿𝗄,𝗆)\widetilde{C}\leftarrow\mathsf{Mark}(\mathsf{pp},\mathsf{prfk},\mathsf{m}) and generates a quantum state |ψ\ket{\psi}, where (𝗉𝗉,𝗑𝗄)𝖲𝖾𝗍𝗎𝗉(1λ)(\mathsf{pp},\mathsf{xk})\leftarrow\mathsf{Setup}(1^{\lambda}) and (𝗉𝗋𝖿𝗄,τ)𝖦𝖾𝗇(𝗉𝗉)(\mathsf{prfk},\tau)\leftarrow\mathsf{Gen}(\mathsf{pp}). Suppose also that |ψ\ket{\psi} is 𝖫𝗂𝗏𝖾\mathsf{Live}. This assumption means that the outcome pp of applying 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)\mathsf{ProjImp}(\mathcal{M}_{D}) to |ψ\ket{\psi} is 1/2+ϵ1/2+\epsilon, where ϵ\epsilon is an inverse polynomial. For every i[𝗆]i\in[{\ell_{\mathsf{m}}}], from the SIM-MDD security of 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF}, Dτ,iD_{\tau,i} is indistinguishable from DD if 𝗆[i]=0\mathsf{m}[i]=0 and is indistinguishable from D𝚛𝚎𝚟D^{\mathtt{rev}} if 𝗆[i]=1\mathsf{m}[i]=1. This means that Dτ,i{𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)D𝖼D}D_{\tau,i}\in\{\mathsf{ProjImp}(\mathcal{M}_{D^{\prime}})\mid D^{\prime}\stackrel{{\scriptstyle\mathsf{c}}}{{\approx}}D\} if 𝗆[i]=0\mathsf{m}[i]=0 and Dτ,i{𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)D𝖼D𝚛𝚎𝚟}D_{\tau,i}\in\{\mathsf{ProjImp}(\mathcal{M}_{D^{\prime}})\mid D^{\prime}\stackrel{{\scriptstyle\mathsf{c}}}{{\approx}}D^{\mathtt{rev}}\} if 𝗆[i]=1\mathsf{m}[i]=1. Then, from the above key fact of the projective implementation, it holds that p~i\widetilde{p}_{i} is close to 1/2+ϵ>1/21/2+\epsilon>1/2 if 𝗆[i]=0\mathsf{m}[i]=0 and is close to 1/2ϵ<1/21/2-\epsilon<1/2 if 𝗆[i]=1\mathsf{m}[i]=1. Therefore, we see that 𝓍𝓉𝓇𝒶𝒸𝓉\mathpzc{Extract} correctly extract 𝗆\mathsf{m} from |ψ\ket{\psi}. This means that 𝖶𝖬𝖯𝖱𝖥\mathsf{WMPRF} satisfies unremovability.

The above definition, construction, and security analysis are simplified and ignore many subtleties. The most significant point is that we use approximated projective implementations introduced by Zhandry [Zha20] instead of projective implementations in the actual construction since applying a projective implementation is an inefficient process. Moreover, though the outcomes of (approximate) projective implementations for indistinguishable distributions are close, in the actual analysis, we have to take into account that the outcomes gradually change every time we apply an (approximate) projective implementation. These issues can be solved by doing careful parameter settings.

Comparison with the work by Zhandry [Zha20].

Some readers familiar with Zhandry’s work [Zha20] might think that our technique contradicts the lesson from Zhandry’s work since it essentially says that once we find a large gap in success probabilities, the tested quantum pirate circuit might self-destruct. However, this is not the case. What Zhandry’s work really showed is the following. Once a quantum pirate circuit itself detects that there is a large gap in success probabilities, it might self-destruct. Even if an extractor finds a large gap in success probabilities, if the tested quantum pirate circuit itself cannot detect the large gap, the pirate circuit cannot self-destruct. In Zhandry’s work, whenever an extractor finds a large gap, the tested pirate circuit also detects the large gap. In our work, the tested pirate circuit cannot detect a large gap throughout the extraction process while an extractor can find it.

The reason why a pirate circuit cannot detect a large gap in our scheme even if an extractor can find it is as follows. Recall that in the above extraction process of our scheme based on an extraction-less watermarking PRF scheme, we apply 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(Dτ,i)\mathsf{ProjImp}(\mathcal{M}_{D_{\tau,i}}) to the tested pirate circuit for every i[𝗆]i\in[{\ell_{\mathsf{m}}}]. Each Dτ,iD_{\tau,i} outputs a tuple of the form (b,x,y)(b,x,y) and is indistinguishable from DD or D𝚛𝚎𝚟D^{\mathtt{rev}} depending on the embedded message. In the process, we apply 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(Dτ,i)\mathsf{ProjImp}(\mathcal{M}_{D_{\tau,i}}) for every i[𝗆]i\in[{\ell_{\mathsf{m}}}], and we get the success probability pp if Dτ,iD_{\tau,i} is indistinguishable from DD and we get 1p1-p if Dτ,iD_{\tau,i} is indistinguishable from D𝚛𝚎𝚟D^{\mathtt{rev}}. The tested pirate circuit needs to know which of DD or D𝚛𝚎𝚟D^{\mathtt{rev}} is indistinguishable from the distribution Dτ,iD_{\tau,i} behind the projective implementation to know which of pp or 1p1-p is the result of an application of a projective implementation. However, this is impossible. The tested pirate circuit receives only (x,y)(x,y) part of Dτ,iD_{\tau,i}’s output and not bb part. (Recall that the task of the pirate circuit is to guess bb from (x,y)(x,y).) The only difference between DD and D𝚛𝚎𝚟D^{\mathtt{rev}} is that the first-bit bb is flipped. Thus, if the bb part is dropped, Dτ,iD_{\tau,i} is, in fact, indistinguishable from both DD and D𝚛𝚎𝚟D^{\mathtt{rev}}. As a result, the pirate program cannot know which of pp or 1p1-p is the result of an application of a projective implementation. In other words, the pirate circuit cannot detect a large gap in our extraction process.

Instantiating extraction-less watermarking PRF.

In the rest of this overview, we will explain how to realize extraction-less watermarking PRF.

We consider the following two settings similar to the ordinary watermarking PRF. Recall that we consider the public marking setting by default.

Private-simulatable:

In this setting, the extraction key 𝗑𝗄\mathsf{xk} fed into 𝖲𝗂𝗆\mathsf{Sim} is kept secret. We require that SIM-MDD security hold under the existence of the simulation oracle that is given a public tag τ\tau^{\prime} and an index i[𝗆]i^{\prime}\in[{\ell_{\mathsf{m}}}] and returns 𝖲𝗂𝗆(𝗑𝗄,τ,i)\mathsf{Sim}(\mathsf{xk},\tau^{\prime},i^{\prime}). An extraction-less watermarking PRF scheme in this setting yields a watermarking PRF scheme against quantum adversaries in private-extractable setting where unremovability holds for adversaries who can access the extraction oracle.

Public-simulatable:

In this setting, the extraction key 𝗑𝗄\mathsf{xk} is publicly available. An extraction-less watermarking PRF scheme in this setting yields a watermarking PRF scheme against quantum adversaries in the public-extractable setting.

We provide a construction in the first setting using private constrained PRF based on the hardness of the LWE assumption. Also, we provide a construction in the second setting based on IO and the hardness of the LWE assumption.

To give a high-level idea behind the above constructions, in this overview, we show how to construct a public-simulatable extraction-less watermarking PRF in the token-based setting [CHN+18]. In the token-based setting, we treat a marked circuit C~𝖬𝖺𝗋𝗄(𝗉𝗉,𝗉𝗋𝖿𝗄,𝗆)\widetilde{C}\leftarrow\mathsf{Mark}(\mathsf{pp},\mathsf{prfk},\mathsf{m}) as a tamper-proof hardware token that an adversary can only access in a black-box way.

Before showing the actual construction, we explain the high-level idea. Recall that SIM-MDD security requires that an adversary 𝒜\mathpzc{A} who is given C~𝖬𝖺𝗋𝗄(𝗉𝗉,𝗉𝗋𝖿𝗄,𝗆)\widetilde{C}\leftarrow\mathsf{Mark}(\mathsf{pp},\mathsf{prfk},\mathsf{m}) cannot distinguish (γ,x,y)𝖲𝗂𝗆(𝗑𝗄,τ,i)(\gamma^{\ast},x^{\ast},y^{\ast})\leftarrow\mathsf{Sim}(\mathsf{xk},\tau,i^{\ast}) from an output of DD if 𝗆[i]=0\mathsf{m}[i^{\ast}]=0 and from that of D𝚛𝚎𝚟D^{\mathtt{rev}} if 𝗆[i]=1\mathsf{m}[i^{\ast}]=1. This is the same as requiring that 𝒜\mathpzc{A} cannot distinguish (γ,x,y)𝖲𝗂𝗆(𝗑𝗄,τ,i)(\gamma^{\ast},x^{\ast},y^{\ast})\leftarrow\mathsf{Sim}(\mathsf{xk},\tau,i^{\ast}) from that of the following distribution D𝚛𝚎𝚊𝚕,iD_{\mathtt{real},i^{\ast}}. We can check that D𝚛𝚎𝚊𝚕,iD_{\mathtt{real},i^{\ast}} is identical with DD if 𝗆[i]=0\mathsf{m}[i^{\ast}]=0 and with D𝚛𝚎𝚟D^{\mathtt{rev}} if 𝗆[i]=1\mathsf{m}[i^{\ast}]=1.

D𝚛𝚎𝚊𝚕,iD_{\mathtt{real},i^{\ast}}:

Generate γ{0,1}\gamma\leftarrow\{0,1\} and x𝖣𝗈𝗆x\leftarrow\mathsf{Dom}. Then, if γ=𝗆[i]\gamma=\mathsf{m}[i^{\ast}], generate y𝖱𝖺𝗇y\leftarrow\mathsf{Ran}, and otherwise, compute y𝖤𝗏𝖺𝗅(𝗉𝗋𝖿𝗄,x)y\leftarrow\mathsf{Eval}(\mathsf{prfk},x). Output (γ,x,y)(\gamma,x,y).

Essentially, the only attack that 𝒜\mathpzc{A} can perform is to feed xx^{\ast} contained in the given tuple (γ,x,y)(\gamma^{\ast},x^{\ast},y^{\ast}) to C~\widetilde{C} and compares the result C~(x)\widetilde{C}(x^{\ast}) with yy^{\ast}, if we ensure that γ\gamma^{\ast}, xx^{\ast} are pseudorandom. In order to make the construction immune to this attack, letting C~𝖬𝖺𝗋𝗄(𝗉𝗉,𝗉𝗋𝖿𝗄,𝗆)\widetilde{C}\leftarrow\mathsf{Mark}(\mathsf{pp},\mathsf{prfk},\mathsf{m}) and (γ,x,y)𝖲𝗂𝗆(𝗑𝗄,τ,i)(\gamma^{\ast},x^{\ast},y^{\ast})\leftarrow\mathsf{Sim}(\mathsf{xk},\tau,i^{\ast}), we have to design 𝖲𝗂𝗆\mathsf{Sim} and C~\widetilde{C} so that

  • If γ=𝗆[i]\gamma=\mathsf{m}[i^{\ast}], C~(x)\widetilde{C}(x^{\ast}) outputs a value different from yy^{\ast}.

  • If γ𝗆[i]\gamma\neq\mathsf{m}[i^{\ast}], C~(x)\widetilde{C}(x^{\ast}) outputs yy^{\ast}.

We achieve these conditions as follows. First, we set (γ,x,y)(\gamma^{\ast},x^{\ast},y^{\ast}) output by 𝖲𝗂𝗆(𝗑𝗄,τ,i)\mathsf{Sim}(\mathsf{xk},\tau,i^{\ast}) so that γ\gamma^{\ast} and yy^{\ast} is random values and xx^{\ast} is an encryption of yiγy^{\ast}\|i^{\ast}\|\gamma^{\ast} by a public-key encryption scheme with pseudorandom ciphertext property, where the encryption key 𝗉𝗄\mathsf{pk} is included in τ\tau. Then, we set C~\widetilde{C} as a token such that it has the message 𝗆\mathsf{m} and the decryption key 𝗌𝗄\mathsf{sk} corresponding to 𝗉𝗄\mathsf{pk} hardwired, and it outputs yy^{\ast} if the input is decryptable and γ𝗆[i]\gamma^{\ast}\neq\mathsf{m}[i^{\ast}] holds for the decrypted yiγy^{\ast}\|i^{\ast}\|\gamma^{\ast}, and otherwise behaves as 𝖤𝗏𝖺𝗅(𝗉𝗋𝖿𝗄,)\mathsf{Eval}(\mathsf{prfk},\cdot). The actual construction is as follows.

Let 𝖯𝖱𝖥\mathsf{PRF} be a PRF family consisting of functions {𝖥𝗉𝗋𝖿𝗄():{0,1}n{0,1}λ|𝗉𝗋𝖿𝗄}\{\mathsf{F}_{\mathsf{prfk}}(\cdot):\{0,1\}^{n}\rightarrow\{0,1\}^{\lambda}|\mathsf{prfk}\}, where λ\lambda is the security parameter and nn is sufficiently large. Let 𝖯𝖪𝖤=(𝖪𝖦,𝖤,𝖣)\mathsf{PKE}=(\mathsf{KG},\mathsf{E},\mathsf{D}) be a CCA secure public-key encryption scheme satisfying pseudorandom ciphertext property. Using these ingredients, We construct an extraction-less watermarking PRF scheme 𝖤𝖫𝖶𝖬𝖯𝖱𝖥=(𝖲𝖾𝗍𝗎𝗉,𝖦𝖾𝗇,𝖤𝗏𝖺𝗅,𝖬𝖺𝗋𝗄,𝖲𝗂𝗆)\mathsf{ELWMPRF}=(\mathsf{Setup},\mathsf{Gen},\mathsf{Eval},\mathsf{Mark},\mathsf{Sim}) as follows.

𝖲𝖾𝗍𝗎𝗉(1λ)\mathsf{Setup}(1^{\lambda}):

In this construction, 𝗉𝗉:=\mathsf{pp}:=\bot and 𝗑𝗄:=\mathsf{xk}:=\bot.

𝖦𝖾𝗇(𝗉𝗉)\mathsf{Gen}(\mathsf{pp}):

It generates a fresh PRF key 𝗉𝗋𝖿𝗄\mathsf{prfk} of 𝖯𝖱𝖥\mathsf{PRF} and a key pair (𝗉𝗄,𝗌𝗄)𝖪𝖦(1λ)(\mathsf{pk},\mathsf{sk})\leftarrow\mathsf{KG}(1^{\lambda}). The PRF key is (𝗉𝗋𝖿𝗄,𝗌𝗄)(\mathsf{prfk},\mathsf{sk}) and the corresponding public tag is 𝗉𝗄\mathsf{pk}.

𝖤𝗏𝖺𝗅((𝗉𝗋𝖿𝗄,𝗌𝗄),x)\mathsf{Eval}((\mathsf{prfk},\mathsf{sk}),x):

It simply outputs 𝖥𝗉𝗋𝖿𝗄(x)\mathsf{F}_{\mathsf{prfk}}(x).

𝖬𝖺𝗋𝗄(𝗉𝗉,(𝗉𝗋𝖿𝗄,𝗌𝗄),𝗆)\mathsf{Mark}(\mathsf{pp},(\mathsf{prfk},\mathsf{sk}),\mathsf{m}):

It generates the following taken C~[𝗉𝗋𝖿𝗄,𝗌𝗄,𝗆]\widetilde{C}[\mathsf{prfk},\mathsf{sk},\mathsf{m}].

Hard-Coded Constants: 𝗉𝗋𝖿𝗄,𝗌𝗄,𝗆\mathsf{prfk},\mathsf{sk},\mathsf{m}. Input: x{0,1}nx\in\{0,1\}^{n}. 1. Try to decrypt yiγ𝖣(𝗌𝗄,x)y\|i\|\gamma\leftarrow\mathsf{D}(\mathsf{sk},x) with y{0,1}λy\in\{0,1\}^{\lambda}, i[𝗆]i\in[{\ell_{\mathsf{m}}}], and γ{0,1}\gamma\in\{0,1\}. 2. If decryption succeeds, output yy if γ𝗆[i]\gamma\neq\mathsf{m}[i] and 𝖥𝗉𝗋𝖿𝗄(x)\mathsf{F}_{\mathsf{prfk}}(x) otherwise. 3. Otherwise, output 𝖥𝗉𝗋𝖿𝗄(x)\mathsf{F}_{\mathsf{prfk}}(x).

𝖲𝗂𝗆(𝗑𝗄,τ,i)\mathsf{Sim}(\mathsf{xk},\tau,i):

It first generates γ{0,1}\gamma\leftarrow\{0,1\} and y{0,1}λy\leftarrow\{0,1\}^{\lambda}. Then, it parses τ:=𝗉𝗄\tau:=\mathsf{pk} and generates x𝖤(𝗉𝗄,yiγ)x\leftarrow\mathsf{E}(\mathsf{pk},y\|i\|\gamma). Finally, it outputs (γ,x,y)(\gamma,x,y).

We check that 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF} satisfies SIM-MDD security. For simplicity, we fix the message 𝗆[𝗆]\mathsf{m}\in[{\ell_{\mathsf{m}}}] embedded into the challenge PRF key. Then, for any adversary 𝒜\mathpzc{A} and i[𝗆]i^{\ast}\in[{\ell_{\mathsf{m}}}], SIM-MDD security requires that given C~[𝗉𝗋𝖿𝗄,𝗌𝗄,𝗆]𝖬𝖺𝗋𝗄(𝗆𝗄,𝗉𝗋𝖿𝗄,𝗆)\widetilde{C}[\mathsf{prfk},\mathsf{sk},\mathsf{m}]\leftarrow\mathsf{Mark}(\mathsf{mk},\mathsf{prfk},\mathsf{m}) and τ=𝗉𝗄\tau=\mathsf{pk}, 𝒜\mathpzc{A} cannot distinguish (γ,x=𝖤(𝗉𝗄,yiγ),y)𝖲𝗂𝗆(𝗑𝗄,τ,i)(\gamma^{\ast},x^{\ast}=\mathsf{E}(\mathsf{pk},y^{\ast}\|i^{\ast}\|\gamma^{\ast}),y^{\ast})\leftarrow\mathsf{Sim}(\mathsf{xk},\tau,i^{\ast}) from an output of DD if 𝗆[i]=0\mathsf{m}[i^{\ast}]=0 and is indistinguishable from D𝚛𝚎𝚟D^{\mathtt{rev}} if 𝗆[i]=1\mathsf{m}[i^{\ast}]=1.

We consider the case of 𝗆[i]=0\mathsf{m}[i^{\ast}]=0. We can finish the security analysis by considering the following sequence of mutually indistinguishable hybrid games, where 𝒜\mathpzc{A} is given (γ,x=𝖤(𝗉𝗄,yiγ),y)𝖲𝗂𝗆(𝗑𝗄,τ,i)(\gamma^{\ast},x^{\ast}=\mathsf{E}(\mathsf{pk},y^{\ast}\|i^{\ast}\|\gamma^{\ast}),y^{\ast})\leftarrow\mathsf{Sim}(\mathsf{xk},\tau,i^{\ast}) in the first game, and on the other hand, is given (γ,x,y)D(\gamma^{\ast},x^{\ast},y^{\ast})\leftarrow D in the last game. We first change the game so that xx^{\ast} is generated as a uniformly random value instead of x𝖤(𝗉𝗄,yiγ)x^{\ast}\leftarrow\mathsf{E}(\mathsf{pk},y^{\ast}\|i^{\ast}\|\gamma^{\ast}) by using the pseudorandom ciphertext property under CCA of 𝖯𝖪𝖤\mathsf{PKE}. This is possible since the CCA oracle can simulate access to the marked token C~[𝗉𝗋𝖿𝗄,𝗌𝗄,𝗆]\widetilde{C}[\mathsf{prfk},\mathsf{sk},\mathsf{m}] by 𝒜\mathpzc{A}. Then, we further change the security game so that if γ=1\gamma^{\ast}=1, yy^{\ast} is generated as 𝖥𝗉𝗋𝖿𝗄(x)\mathsf{F}_{\mathsf{prfk}}(x^{\ast}) instead of a uniformly random value by using the pseudorandomness of 𝖯𝖱𝖥\mathsf{PRF}. Note that if γ=0\gamma^{\ast}=0, yy^{\ast} remains uniformly at random. We see that if γ=1\gamma^{\ast}=1, the token C~[𝗉𝗋𝖿𝗄,𝗌𝗄,𝗆]\widetilde{C}[\mathsf{prfk},\mathsf{sk},\mathsf{m}] never evaluate 𝖥𝗉𝗋𝖿𝗄(x)\mathsf{F}_{\mathsf{prfk}}(x^{\ast}) since 𝗆[i]γ\mathsf{m}[i^{\ast}]\neq\gamma^{\ast}. Thus, this change is possible. We see that now the distribution of (γ,x,y)(\gamma^{\ast},x^{\ast},y^{\ast}) is exactly the same as that output by DD. Similarly, in the case of 𝗆[i]=1\mathsf{m}[i^{\ast}]=1, we can show that an output of 𝖲𝗂𝗆(𝗑𝗄,τ,i)\mathsf{Sim}(\mathsf{xk},\tau,i^{\ast}) is indistinguishable from that output by D𝚛𝚎𝚟D^{\mathtt{rev}}. The only difference is that in the final step, we change the security game so that yy^{\ast} is generated as 𝖥𝗉𝗋𝖿𝗄(x)\mathsf{F}_{\mathsf{prfk}}(x^{\ast}) if γ=0\gamma^{\ast}=0.

In the actual public-simulatable construction, we implement this idea using iO and puncturable encryption [CHN+18] instead of token and CCA secure public-key encryption. Also, in the actual secret-simulatable construction, we basically follow the same idea using private constrained PRF and secret-key encryption.

1.4 More on Related Work

Watermarking against classical adversaries.

Cohen et al. [CHN+18] present a publicly extractable watermarking PRF from IO and injective OWFs. It is unremovable against adversaries who can access the mark oracle only before a target marked circuit is given. The mark oracle returns a marked circuit for a queried arbitrary polynomial-size circuit. Suppose we additionally assume the hardness of the decisional Diffie-Hellman or LWE problem. In that case, their watermarking PRF is unremovable against adversaries that can access the mark oracle before and after a target marked circuit is given. However, adversaries can query a valid PRF key to the mark oracle in that case. They also present definitions and constructions of watermarking for public-key cryptographic primitives.

Boneh, Lewi, and Wu [BLW17] present a privately extractable watermarking PRF from privately programmable PRFs, which are variants of private constrained PRFs [BLW17, CC17]. It is unremovable in the presence of the mark oracle. However, it is not secure in the presence of the extraction oracle and does not support public marking. They instantiate a privately programmable PRF with IO and OWFs, but later, Peikert and Shiehian [PS18] instantiate it with the LWE assumption.

Kim and Wu [KW21] (KW17), Quach, Wichs, and Zirdelis [QWZ18] (QWZ), and Kim and Wu [KW19] (KW19) present privately extractable watermarking PRFs from the LWE assumption. They are secure in the presence of the mark oracle. KW17 construction is not secure in the presence of the extraction oracle and does not support public marking. QWZ construction is unremovable in the presence of the extraction oracle and supports public marking. However, it does not have pseudorandomness against an authority that generates a marking and extraction key. KW19 construction is unremovable in the presence of the extraction oracle and has some restricted pseudorandomness against an authority (see the reference [KW19] for the detail). However, it does not support public marking.666Their construction supports public marking in the random oracle model.

Yang et al. [YAL+19] present a collusion-resistant watermarking PRF from IO and the LWE assumption. Collusion-resistant watermarking means unremovability holds even if adversaries receive multiple marked circuits with different embedded messages generated from one target circuit.

Goyal, Kim, Manohar, Waters, and Wu [GKM+19] improve the definitions of watermarking for public-key cryptographic primitives and present constructions. In particular, they introduce collusion-resistant watermarking and more realistic attack strategies for public-key cryptographic primitives. Nishimaki [Nis20] present a general method for equipping many existing public-key cryptographic schemes with the watermarking functionality.

Goyal, Kim, Waters, and Wu [GKWW21] introduce the notion of traceable PRFs, where we can identify a user that creates a pirate copy of her/his authenticated PRF. The difference between traceable PRF and (collusion-resistant) watermarking PRF is that there is only one target original PRF and multiple authenticated copies of it with different identities in traceable PRF. In (collusion-resistant) watermarking PRF, we consider many different PRF keys. In addition, Goyal et al. introduce a refined attack model. Adversaries in previous watermarking PRF definitions output a pirate PRF circuit that correctly computes the original PRF values for 1/2+ϵ1/2+\epsilon fraction of inputs. However, adversaries in traceable PRFs output a pirate circuit that distinguishes whether an input pair consists of a random input and a real PRF value or a random input and output value. This definition captures wide range of attacks. For example, it captures adversaries who create a pirate PRF circuit that can compute the first quarter bits of the original PRF output. Such an attack is not considered in previous watermarking PRFs. We adopt the refined attack model in our definitions.

Learning information from adversarial entities in the quantum setting.

Zhandry [Zha20] introduces the definition of secure traitor tracing against quantum adversaries. In traitor tracing, each legitimate user receives a secret key that can decrypt broadcasted ciphertexts and where identity information is embedded. An adversary outputs a pirate decoder that can distinguish whether an input is a ciphertext of m0m_{0} or m1m_{1} where m0m_{0} and m1m_{1} are adversarially chosen plaintexts. A tracing algorithm must identify a malicious user’s identity such that its secret decryption key is embedded in the pirate decoder. Thus, we need to extract information from adversarially generated objects. Such a situation also appears in security proofs of interactive proof systems [Wat09, Unr12, ARU14, CMSZ21] (but not in real cryptographic algorithms) since we rewind a verifier.

Zhandry presents how to estimate the success decryption probability of a quantum pirate decoder without destroying the decoding (distinguishing) capability. He achieves a quantum tracing algorithm that extracts a malicious user identity by combining the probability approximation technique above with PLBE [BSW06]. However, his technique is limited to the setting where user identity spaces are only polynomially large while there are several traitor tracing schemes with exponentially large identity spaces [NWZ16, GKW19]. As observed in previous works [GKM+19, Nis20, GKWW21], traitor tracing and watermarking have similarities since an adversary outputs a pirate circuit in the watermarking setting and an extraction algorithm tries to retrieve information from it. However, a notable difference is that we must consider exponentially large message spaces by default in the (message-embedding) watermarking setting.

Application of (classical) watermarking.

As we explained above, Aaronson et al. [ALL+21], and Kitagawa et al. [KNY21] achieve secure software leasing schemes by using watermarking. A leased software consists of a quantum state and watermarked circuit. Although they use watermarking schemes in the quantum setting, it is sufficient for their purpose to use secure watermarking against adversaries that output a classical pirate circuit. This is because a returned software is verified by a checking algorithm and must have a specific format in secure software leasing.777A valid software must run on a legitimate platform. For example, a video game title of Xbox must run on Xbox. That is, a returned software is rejected if it does not have a classical circuit part that can be tested by an extraction algorithm of the building block watermarking.

2 Preliminaries

Notations and conventions.

In this paper, standard math or sans serif font stands for classical algorithms (e.g., CC or 𝖦𝖾𝗇\mathsf{Gen}) and classical variables (e.g., xx or 𝗉𝗄\mathsf{pk}). Calligraphic font stands for quantum algorithms (e.g., 𝒢𝓃\mathpzc{Gen}) and calligraphic font and/or the bracket notation for (mixed) quantum states (e.g., 𝓆\mathpzc{q} or |ψ\ket{\psi}). For strings xx and yy, xyx\|y denotes the concatenation of xx and yy. Let [][\ell] denote the set of integers {1,,}\{1,\cdots,\ell\}, λ\lambda denote a security parameter, and yzy\coloneqq z denote that yy is set, defined, or substituted by zz.

In this paper, for a finite set XX and a distribution DD, xXx\leftarrow X denotes selecting an element from XX uniformly at random, xDx\leftarrow D denotes sampling an element xx according to DD. Let y𝖠(x)y\leftarrow\mathsf{A}(x) and y𝒜(𝓍)y\leftarrow\mathpzc{A}(\mathpzc{x}) denote assigning to yy the output of a probabilistic or deterministic algorithm 𝖠\mathsf{A} and a quantum algorithm 𝒜\mathpzc{A} on an input xx and 𝓍\mathpzc{x}, respectively. When we explicitly show that 𝖠\mathsf{A} uses randomness rr, we write y𝖠(x;r)y\leftarrow\mathsf{A}(x;r). PPT and QPT algorithms stand for probabilistic polynomial time algorithms and polynomial time quantum algorithms, respectively. Let 𝗇𝖾𝗀𝗅{\mathsf{negl}} denote a negligible function.

2.1 Quantum Information

Let \mathcal{H} be a finite-dimensional complex Hilbert space. A (pure) quantum state is a vector |ψ\ket{\psi}\in\mathcal{H}. Let 𝒮()\mathcal{S}(\mathcal{H}) be the space of Hermitian operators on \mathcal{H}. A density matrix is a Hermitian operator 𝒳𝒮()\mathpzc{X}\in\mathcal{S}(\mathcal{H}) with Tr(𝒳)=1\Tr(\mathpzc{X})=1, which is a probabilistic mixture of pure states. A quantum state over =2\mathcal{H}=\mathbb{C}^{2} is called qubit, which can be represented by the linear combination of the standard basis {|0,|1}\{\ket{0},\ket{1}\}. More generally, a quantum system over (2)n(\mathbb{C}^{2})^{\otimes n} is called an nn-qubit quantum system for n{0}n\in\mathbb{N}\setminus\{0\}.

A Hilbert space is divided into registers =𝖱1𝖱2𝖱n\mathcal{H}=\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}_{1}}\otimes\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}_{2}}\otimes\cdots\otimes\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}_{n}}. We sometimes write 𝒳𝖱𝒾\mathpzc{X}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}_{i}} to emphasize that the operator 𝒳\mathpzc{X} acts on register 𝖱i\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}_{i}}.888The superscript parts are gray colored. When we apply 𝒳𝖱1\mathpzc{X}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}_{1}} to registers 𝖱1\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}_{1}} and 𝖱2\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}_{2}}, 𝒳𝖱1\mathpzc{X}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}_{1}} is identified with 𝒳𝖱1I𝖱2\mathpzc{X}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}_{1}}\otimes\boldsymbol{I}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}_{2}}.

A unitary operation is represented by a complex matrix 𝑼\boldsymbol{U} such that 𝑼𝑼=𝑰\boldsymbol{U}\boldsymbol{U}^{\dagger}=\boldsymbol{I}. The operation 𝑼\boldsymbol{U} transforms |ψ\ket{\psi} and 𝒳\mathpzc{X} into 𝑼|ψ\boldsymbol{U}\ket{\psi} and 𝑼𝒳U\boldsymbol{U}\mathpzc{X}\boldsymbol{U}^{\dagger}, respectively. A projector 𝑷\boldsymbol{P} is a Hermitian operator (𝑷=𝑷\boldsymbol{P}^{\dagger}=\boldsymbol{P}) such that 𝑷2=𝑷\boldsymbol{P}^{2}=\boldsymbol{P}.

For a quantum state 𝒳\mathpzc{X} over two registers 𝖱1\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}_{1}} and 𝖱2\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}_{2}}, we denote the state in 𝖱1\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}_{1}} as 𝒳[𝖱1]\mathpzc{X}[{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}_{1}], where 𝒳[𝖱1]=Tr2[𝒳]\mathpzc{X}[{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}_{1}]=\Tr_{2}[\mathpzc{X}] is a partial trace of 𝒳\mathpzc{X} (trace out 𝖱2{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}_{2}).

Given a function F:XYF:X\rightarrow Y, a quantum-accessible oracle OO of FF is modeled by a unitary transformation 𝑼F\boldsymbol{U}_{F} operating on two registers 𝗂𝗇\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{in}}}} and 𝗈𝗎𝗍\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{out}}}}, in which |x|y\ket{x}\ket{y} is mapped to |x|yF(x)\ket{x}\ket{y\oplus F(x)}, where \oplus denotes XOR group operation on YY. We write 𝒜|𝒪\mathpzc{A}^{\ket{O}} to denote that the algorithm 𝒜\mathpzc{A}’s oracle OO is a quantum-accessible oracle.

Definition 2.1 (Quantum Program with Classical Inputs and Outputs [ALL+21]).

A quantum program with classical inputs is a pair of quantum state 𝓆\mathpzc{q} and unitaries {𝐔x}x[N]\{\boldsymbol{U}_{x}\}_{x\in[N]} where [N][N] is the domain, such that the state of the program evaluated on input xx is equal to 𝐔x𝓆𝓤𝓍\boldsymbol{U}_{x}\mathpzc{q}\boldsymbol{U}_{x}^{\dagger}. We measure the first register of 𝐔x𝓆𝓤𝓍\boldsymbol{U}_{x}\mathpzc{q}\boldsymbol{U}_{x}^{\dagger} to obtain an output. We say that {𝐔x}x[N]\{\boldsymbol{U}_{x}\}_{x\in[N]} has a compact classical description 𝐔\boldsymbol{U} when applying 𝐔x\boldsymbol{U}_{x} can be efficiently computed given 𝐔\boldsymbol{U} and xx.

Definition 2.2 (Positive Operator-Valued Measure).

Let \mathcal{I} be a finite index set. A positive operator valued measure (POVM) \mathcal{M} is a collection {𝐌i}i\{\boldsymbol{M}_{i}\}_{i\in\mathcal{I}} of Hermitian positive semi-define matrices 𝐌i\boldsymbol{M}_{i} such that i𝐌i=𝐈\sum_{i\in\mathcal{I}}\boldsymbol{M}_{i}=\boldsymbol{I}. When we apply POVM \mathcal{M} to a quantum state 𝒳\mathpzc{X}, the measurement outcome is ii with probability pi=Tr(𝒳𝓜𝒾)p_{i}=\Tr(\mathpzc{X}\boldsymbol{M}_{i}). We denote by (|ψ)\mathcal{M}(\ket{\psi}) the distribution obtained by applying \mathcal{M} to |ψ\ket{\psi}.

Definition 2.3 (Quantum Measurement).

A quantum measurement \mathcal{E} is a collection {𝐄i}i\{\boldsymbol{E}_{i}\}_{i\in\mathcal{I}} of matrices 𝐄i\boldsymbol{E}_{i} such that i𝐄i𝐄i=𝐈\sum_{i\in\mathcal{I}}\boldsymbol{E}_{i}^{\dagger}\boldsymbol{E}_{i}=\boldsymbol{I}. When we apply \mathcal{E} to a quantum state 𝒳\mathpzc{X}, the measurement outcome is ii with probability pi=Tr(𝒳𝓔𝒾𝓔𝒾)p_{i}=\Tr(\mathpzc{X}\boldsymbol{E}_{i}^{\dagger}\boldsymbol{E}_{i}). Conditioned on the outcome being ii, the post-measurement state is 𝐄i𝒳𝓔𝒾/𝓅𝒾\boldsymbol{E}_{i}\mathpzc{X}\boldsymbol{E}_{i}^{\dagger}/p_{i}.

We can construct a POVM \mathcal{M} from any quantum measurement \mathcal{E} by setting 𝑴i𝑬i𝑬i\boldsymbol{M}_{i}\coloneqq\boldsymbol{E}_{i}^{\dagger}\boldsymbol{E}_{i}. We say that \mathcal{E} is an implementation of \mathcal{M}. The implementation of a POVM may not be unique.

Definition 2.4 (Projective Measurement/POVM).

A quantum measurement ={𝐄i}i\mathcal{E}=\{\boldsymbol{E}_{i}\}_{i\in\mathcal{I}} is projective if for all ii\in\mathcal{I}, 𝐄i\boldsymbol{E}_{i} is a projector. This implies that 𝐄i𝐄j=𝟎\boldsymbol{E}_{i}\boldsymbol{E}_{j}=\boldsymbol{0} for distinct i,ji,j\in\mathcal{I}. In particular, two-outcome projective measurement is called a binary projective measurement, and is written as =(𝐏,𝐈𝐏)\mathcal{E}=(\boldsymbol{P},\boldsymbol{I}-\boldsymbol{P}), where 𝐏\boldsymbol{P} is associated with the outcome 11, and 𝐈𝐏\boldsymbol{I}-\boldsymbol{P} with the outcome 0. Similarly, a POVM \mathcal{M} is projective if for all ii\in\mathcal{I}, 𝐌i\boldsymbol{M}_{i} is a projector. This also implies that 𝐌i𝐌j=𝟎\boldsymbol{M}_{i}\boldsymbol{M}_{j}=\boldsymbol{0} for distinct i,ji,j\in\mathcal{I}.

Definition 2.5 (Controlled Projection).

Let 𝒫={i}i\mathcal{P}=\{\mathcal{M}_{i}\}_{i\in\mathcal{I}} be a collection of projective measurement over a Hilbert space \mathcal{H}, where i=(Πi,𝐈Πi)\mathcal{M}_{i}=(\Pi_{i},\boldsymbol{I}-\Pi_{i}) for ii\in\mathcal{I}. Let DD be a distribution whose randomness space is \mathcal{R}. The controlled projection 𝖢𝖯𝗋𝗈𝗃𝒫,D=(𝖢𝖯𝗋𝗈𝗃𝒫,D1,𝖢𝖯𝗋𝗈𝗃𝒫,D0)\mathsf{CProj}_{\mathcal{P},D}=(\mathsf{CProj}_{\mathcal{P},D}^{1},\mathsf{CProj}_{\mathcal{P},D}^{0}) is defined as follows.999We use superscript bb to denote that it is associated with the outcome bb here.

𝖢𝖯𝗋𝗈𝗃𝒫,D1\displaystyle\mathsf{CProj}_{\mathcal{P},D}^{1} r|rr|ΠD(r),\displaystyle\coloneqq\sum_{r\in\mathcal{R}}\ket{r}\bra{r}\otimes\Pi_{D(r)}, 𝖢𝖯𝗋𝗈𝗃𝒫,D0r|rr|(𝑰ΠD(r))\displaystyle\mathsf{CProj}_{\mathcal{P},D}^{0}\coloneqq\sum_{r\in\mathcal{R}}\ket{r}\bra{r}\otimes(\boldsymbol{I}-\Pi_{D(r)}) (1)

2.2 Measurement Implementation

Definition 2.6 (Projective Implementation).

Let:

  • 𝒫=(𝑷,𝑰𝑷)\mathcal{P}=(\boldsymbol{P},\boldsymbol{I}-\boldsymbol{P}) be a binary outcome POVM

  • DD be a finite set of distributions over outcomes {0,1}\{0,1\}

  • ={𝑬D}D𝒟\mathcal{E}=\{\boldsymbol{E}_{D}\}_{D\in\mathcal{D}} be a projective measurement with index set 𝒟\mathcal{D}.

We define the following measurement.

  1. 1.

    Measure under the projective measurement \mathcal{E} and obtain a distribution DD over {0,1}\{0,1\}.

  2. 2.

    Output a bit sampled from the distribution DD.

We say this measurement is a projective implementation of 𝒫\mathcal{P}, denoted by 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(𝒫)\mathsf{ProjImp}(\mathcal{P}) if it is equivalent to 𝒫\mathcal{P}.

Theorem 2.7 ([Zha20, Lemma 1]).

Any binary outcome POVM 𝒫=(𝐏,𝐈𝐏)\mathcal{P}=(\boldsymbol{P},\boldsymbol{I}-\boldsymbol{P}) has a projective implementation 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(𝒫)\mathsf{ProjImp}(\mathcal{P}).

Definition 2.8 (Shift Distance).

For two distributions D0,D1D_{0},D_{1}, the shift distance with parameter ϵ\epsilon, denoted by Δ𝖲𝗁𝗂𝖿𝗍ϵ(D0,D1)\Delta_{\mathsf{Shift}}^{\epsilon}(D_{0},D_{1}), is the smallest quantity δ\delta such that for all xx\in\mathbb{R}:

Pr[D0x]\displaystyle\Pr[D_{0}\leq x] Pr[D1x+ϵ]+δ,\displaystyle\leq\Pr[D_{1}\leq x+\epsilon]+\delta, Pr[D0x]Pr[D1xϵ]+δ,\displaystyle\Pr[D_{0}\geq x]\leq\Pr[D_{1}\geq x-\epsilon]+\delta, (2)
Pr[D1x]\displaystyle\Pr[D_{1}\leq x] Pr[D0x+ϵ]+δ,\displaystyle\leq\Pr[D_{0}\leq x+\epsilon]+\delta, Pr[D1x]Pr[D0xϵ]+δ.\displaystyle\Pr[D_{1}\geq x]\leq\Pr[D_{0}\geq x-\epsilon]+\delta. (3)

For two real-valued measurements \mathcal{M} and 𝒩\mathcal{N} over the same quantum system, the shift distance between \mathcal{M} and 𝒩\mathcal{N} with parameter ϵ\epsilon is

Δ𝖲𝗁𝗂𝖿𝗍ϵ(,𝒩)sup|ψΔ𝖲𝗁𝗂𝖿𝗍ϵ((|ψ),𝒩(|ψ)).\Delta_{\mathsf{Shift}}^{\epsilon}(\mathcal{M},\mathcal{N})\coloneqq\sup_{\ket{\psi}}\Delta_{\mathsf{Shift}}^{\epsilon}(\mathcal{M}(\ket{\psi}),\mathcal{N}(\ket{\psi})).
Definition 2.9 ((ϵ,δ)(\epsilon,\delta)-Almost Projective [Zha20]).

A real-valued quantum measurement ={𝐌i}i\mathcal{M}=\{\boldsymbol{M}_{i}\}_{i\in\mathcal{I}} is (ϵ,δ)(\epsilon,\delta)-almost projective if the following holds. For any quantum state |ψ\ket{\psi}, we apply \mathcal{M} twice in a row to |ψ\ket{\psi} and obtain measurement outcomes xx and yy, respectively. Then, Pr[|xy|ϵ]1δ\Pr[\absolutevalue{x-y}\leq\epsilon]\geq 1-\delta.

Theorem 2.10 ([Zha20, Theorem 2]).

Let DD be any probability distribution and 𝒫\mathcal{P} be a collection of projective measurements. For any 0<ϵ,δ<10<\epsilon,\delta<1, there exists an algorithm of measurement 𝒜𝒫𝒫,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P},\mathcal{D}}^{\epsilon,\delta} that satisfies the following.

  • Δ𝖲𝗁𝗂𝖿𝗍ϵ(𝒜𝒫𝒫,𝒟ϵ,δ,𝖯𝗋𝗈𝗃𝖨𝗆𝗉(𝒫𝒟))δ\Delta_{\mathsf{Shift}}^{\epsilon}(\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta},\mathsf{ProjImp}(\mathcal{P}_{D}))\leq\delta.

  • 𝒜𝒫𝒫,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta} is (ϵ,δ)(\epsilon,\delta)-almost projective.

  • The expected running time of 𝒜𝒫𝒫,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta} is T𝒫,Dpoly(1/ϵ,log(1/δ))T_{\mathcal{P},D}\cdot{\mathrm{poly}}(1/\epsilon,\log(1/\delta)) where T𝒫,DT_{\mathcal{P},D} is the combined running time of DD, the procedure mapping i(𝑷i,𝑰𝑷i)i\rightarrow(\boldsymbol{P}_{i},\boldsymbol{I}-\boldsymbol{P}_{i}), and the running time of measurement (𝑷i,𝑰𝑷i)(\boldsymbol{P}_{i},\boldsymbol{I}-\boldsymbol{P}_{i}).

Theorem 2.11 ([Zha20, Corollary 1]).

Let 𝓆\mathpzc{q} be an efficiently constructible, potentially mixed state, and D0,D1D_{0},D_{1} efficiently sampleable distributions. If D0D_{0} and D1D_{1} are computationally indistinguishable, for any inverse polynomial ϵ\epsilon and any function δ\delta, we have Δ𝖲𝗁𝗂𝖿𝗍3ϵ(𝒜𝒫𝒫,𝒟0ϵ,δ,𝒜𝒫𝒫,𝒟1ϵ,δ)2δ+𝗇𝖾𝗀𝗅(λ)\Delta_{\mathsf{Shift}}^{3\epsilon}(\mathpzc{API}_{\mathcal{P},D_{0}}^{\epsilon,\delta},\mathpzc{API}_{\mathcal{P},D_{1}}^{\epsilon,\delta})\leq 2\delta+{\mathsf{negl}}(\lambda).

Note that the indistinguishability of D0D_{0} and D1D_{1} needs to hold against distinguishers who can construct 𝓆\mathpzc{q} in the theorem above. However, this fact is not explicitly stated in [Zha20]. We need to care about this condition if we need secret information to construct 𝓆\mathpzc{q}, and the secret information is also needed to sample an output from D0D_{0} or D1D_{1}. We handle such a situation when analyzing the unremovability of our privately extractable watermarking PRF. In that situation, we need a secret extraction key to construct 𝓆\mathpzc{q} and sample an output from D0D_{0} and D1D_{1}.

We also define the notion of the reverse almost projective property of API.

Definition 2.12 ((ϵ,δ)(\epsilon,\delta)-Reverse Almost Projective).

Let 𝒫={(Πi,𝐈Πi)}i\mathcal{P}=\{(\Pi_{i},\boldsymbol{I}-\Pi_{i})\}_{i} be a collection of binary outcome projective measurements. Let DD be a distribution. We also let 𝒫𝚛𝚎𝚟={(𝐈Πi,Πi)}i\mathcal{P}^{\mathtt{rev}}=\{(\boldsymbol{I}-\Pi_{i},\Pi_{i})\}_{i}. We say 𝒜𝒫\mathpzc{API} is (ϵ,δ)(\epsilon,\delta)-reverse almost projective if the following holds. For any quantum state |ψ\ket{\psi}, we apply 𝒜𝒫𝒫,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta} and 𝒜𝒫𝒫𝚛𝚎𝚟,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P}^{\mathtt{rev}},D}^{\epsilon,\delta} in a row to |ψ\ket{\psi} and obtain measurement outcomes xx and yy, respectively. Then, Pr[|(1x)y|ϵ]1δ\Pr[\absolutevalue{(1-x)-y}\leq\epsilon]\geq 1-\delta.

We show that the measurement algorithm 𝒜𝒫𝒫,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta} in Theorem 2.10 also satisfies Definition 2.12. First, we describe the detail of 𝒜𝒫𝒫,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta} in Figure 1. 𝒜𝒫\mathpzc{API} uses an ancilla register 𝖱\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}} besides the original Hilbert space 𝖧\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{H}}}}. Let \mathcal{R} be the randomness space of distribution DD. We define 𝖨𝗌𝖴(|𝟙𝟙|,𝑰|𝟙𝟙|)\mathsf{IsU_{\mathcal{R}}}\coloneqq(\ket{\mathds{1}_{\mathcal{R}}}\bra{\mathds{1}_{\mathcal{R}}},\boldsymbol{I}-\ket{\mathds{1}_{\mathcal{R}}}\bra{\mathds{1}_{\mathcal{R}}}) where

|𝟙1||r|r.\ket{\mathds{1}_{\mathcal{R}}}\coloneqq\frac{1}{\sqrt{\absolutevalue{\mathcal{R}}}}\sum_{r\in\mathcal{R}}\ket{r}.

Algorithm API𝒫,Dϵ,δ\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta} Parameter: Collection of projective measurement 𝒫\mathcal{P}, distribution DD, real values ϵ,δ\epsilon,\delta. Input: A quantum state |ψ\ket{\psi}. 1. Initialize a state |𝟙|ψ\ket{\mathds{1}_{\mathcal{R}}}\ket{\psi}. 2. Initialize a classical list L(1)L\coloneqq(1). 3. Repeat the following Tln(4/δ)ϵ2T\coloneqq\left\lceil{\frac{\ln{4/\delta}}{\epsilon^{2}}}\right\rceil. (a) Apply 𝖢𝖯𝗋𝗈𝗃𝒫,D\mathsf{CProj}_{\mathcal{P},D} to register 𝖱𝖧\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}}\otimes\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{H}}}}. Let b2i1b_{2i-1} be the measurement outcome and set L(L,b2i1)L\coloneqq(L,b_{2i-1}). (b) Apply 𝖨𝗌𝖴\mathsf{IsU_{\mathcal{R}}} to register 𝖱\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}}. Let b2ib_{2i} be the measurement outcome and set L(L,b2i)L\coloneqq(L,b_{2i}). 4. Let tt be the number of index ii such that bi1=bib_{i-1}=b_{i} in the list L=(0,b1,,b2T)L=(0,b_{1},\ldots,b_{2T}), and p~t/2T\widetilde{p}\coloneqq t/2T. 5. If b2T=0b_{2T}=0, repeat the loop again until b2i=1b_{2i}=1. 6. Discard 𝖱\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}} register, and output p~\widetilde{p}.

Figure 1: The description of 𝒜𝒫\mathpzc{API}.

We use the following lemma to analyze 𝒜𝒫𝒫,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta}.

Lemma 2.13 ([Jor75]).

For any two Hermitian projectors Πv\Pi_{v} and Πw\Pi_{w} on a Hilbelt space \mathcal{H}, there exists an orthogonal decomposition of \mathcal{H} into one-dimensional and two-dimensional subspaces (the Jordan subspaces) that are invariant under both Πv\Pi_{v} and Πw\Pi_{w}. Moreover:

  • in each one-dimensional space, Πv\Pi_{v} and Πw\Pi_{w} act as identity or rank-zero projectors; and

  • in each two-dimensional subspace SjS_{j}, Πv\Pi_{v} and Πw\Pi_{w} are rank-one projectors: there exists |vj,|wjSj\ket{v_{j}},\ket{w_{j}}\in S_{j} such that Πv\Pi_{v} projects onto |vj\ket{v_{j}} and Πw\Pi_{w} projects onto |wj\ket{w_{j}}.

For each two-dimensional subspace SjS_{j}, we call pj|vj|wj|2p_{j}\coloneqq\absolutevalue{\bra{v_{j}}\ket{w_{j}}}^{2} the eigenvalue of the jj-th subspace. It is easy to see that |vj\ket{v_{j}} is an eigenvector of the Hermitian matrix ΠvΠwΠv\Pi_{v}\Pi_{w}\Pi_{v} with eigenvalue pjp_{j}.

As previous works observed [MW05, Reg, CMSZ21], we obtain the following by Lemma 2.13. There exists orthogonal vectors |vj,|vj\ket{v_{j}},\ket{v_{j}^{\perp}} that span SjS_{j}, such that Πv|vj=|vj\Pi_{v}\ket{v_{j}}=\ket{v_{j}} and Πv|vj=0\Pi_{v}\ket{v_{j}^{\perp}}=0. Similarly, Πw|wj=|wj\Pi_{w}\ket{w_{j}}=\ket{w_{j}} and Πw|wj=0\Pi_{w}\ket{w_{j}^{\perp}}=0. By setting appropriate phases, we have

|wj\displaystyle\ket{w_{j}} =pj|vj+1pj|vj,\displaystyle=\sqrt{p_{j}}\ket{v_{j}}+\sqrt{1-p_{j}}\ket{v_{j}^{\perp}}, |wj\displaystyle\ket{w_{j}^{\perp}} =1pj|vjpj|vj,\displaystyle=\sqrt{1-p_{j}}\ket{v_{j}}-\sqrt{p_{j}}\ket{v_{j}^{\perp}}, (4)
|vj\displaystyle\ket{v_{j}} =pj|wj+1pj|wj,\displaystyle=\sqrt{p_{j}}\ket{w_{j}}+\sqrt{1-p_{j}}\ket{w_{j}^{\perp}}, |vj\displaystyle\ket{v_{j}^{\perp}} =1pj|wjpj|wj,\displaystyle=\sqrt{1-p_{j}}\ket{w_{j}}-\sqrt{p_{j}}\ket{w_{j}^{\perp}}, (5)

where |vj,|wjSj\ket{v_{j}^{\perp}},\ket{w_{j}^{\perp}}\in S_{j} such that vj|vj=wj|wj=0\bra{v_{j}}\ket{v_{j}^{\perp}}=\bra{w_{j}}\ket{w_{j}^{\perp}}=0. We also have

Πv|wj\displaystyle\Pi_{v}\ket{w_{j}} =pj|vj,\displaystyle=\sqrt{p_{j}}\ket{v_{j}}, Πw|vj=pj|wj.\displaystyle\Pi_{w}\ket{v_{j}}=\sqrt{p_{j}}\ket{w_{j}}. (6)
|vj{\ket{v_{j}}}|wj{\ket{w_{j}}}|vj{\ket{v_{j}}}|wj{\ket{w_{j}}}{\cdots}|vj{\ket{v_{j}^{\perp}}}|wj{\ket{w_{j}^{\perp}}}|vj{\ket{v_{j}^{\perp}}}|wj{\ket{w_{j}^{\perp}}}{\cdots}pjp_{j}1pj1-p_{j}1pj1-p_{j}pjp_{j}pjp_{j}1pj1-p_{j}pjp_{j}pjp_{j}
Figure 2: Solid lines denote that the measurement outcome is 11. Dashed line denote that the measurement outcome is 0. Double lines denote we apply 𝖢𝖯𝗋𝗈𝗃𝒫,D=(𝖢𝖯𝗋𝗈𝗃𝒫,D1,𝖢𝖯𝗋𝗈𝗃𝒫,D0)\mathsf{CProj}_{\mathcal{P},D}=(\mathsf{CProj}_{\mathcal{P},D}^{1},\mathsf{CProj}_{\mathcal{P},D}^{0}). Single lines denote we apply 𝖨𝗌𝖴=(|𝟙𝟙|,𝑰|𝟙𝟙|)\mathsf{IsU_{\mathcal{R}}}=(\ket{\mathds{1}_{\mathcal{R}}}\bra{\mathds{1}_{\mathcal{R}}},\boldsymbol{I}-\ket{\mathds{1}_{\mathcal{R}}}\bra{\mathds{1}_{\mathcal{R}}}).
|vj{\ket{v_{j}}}|wj{\ket{w_{j}^{\perp}}}|vj{\ket{v_{j}}}|wj{\ket{w_{j}^{\perp}}}{\cdots}|vj{\ket{v_{j}^{\perp}}}|wj{\ket{w_{j}}}|vj{\ket{v_{j}^{\perp}}}|wj{\ket{w_{j}}}{\cdots}1pj1-p_{j}pjp_{j}pjp_{j}1pj1-p_{j}1pj1-p_{j}pjp_{j}1pj1-p_{j}1pj1-p_{j}
Figure 3: Solid lines denote that the measurement outcome is 11. Dashed line denote that the measurement outcome is 0. Double lines denote we apply 𝖢𝖯𝗋𝗈𝗃𝒫,D𝚛𝚎𝚟=(𝖢𝖯𝗋𝗈𝗃𝒫𝚛𝚎𝚟,D1,𝖢𝖯𝗋𝗈𝗃𝒫𝚛𝚎𝚟,D0)=(𝖢𝖯𝗋𝗈𝗃𝒫,D0,𝖢𝖯𝗋𝗈𝗃𝒫,D1)\mathsf{CProj}_{\mathcal{P},D}^{\mathtt{rev}}=(\mathsf{CProj}_{\mathcal{P}^{\mathtt{rev}},D}^{1},\mathsf{CProj}_{\mathcal{P}^{\mathtt{rev}},D}^{0})=(\mathsf{CProj}_{\mathcal{P},D}^{0},\mathsf{CProj}_{\mathcal{P},D}^{1}). Single lines denote we apply 𝖨𝗌𝖴=(|𝟙𝟙|,𝑰|𝟙𝟙|)\mathsf{IsU_{\mathcal{R}}}=(\ket{\mathds{1}_{\mathcal{R}}}\bra{\mathds{1}_{\mathcal{R}}},\boldsymbol{I}-\ket{\mathds{1}_{\mathcal{R}}}\bra{\mathds{1}_{\mathcal{R}}}).
Theorem 2.14.

𝒜𝒫𝒫,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta} in Figure 1 is (ϵ,δ)(\epsilon,\delta)-reverse almost projective.

Proof of Theorem 2.14.

To analyze 𝒜𝒫𝒫,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta}, we set Πw𝖢𝖯𝗋𝗈𝗃𝒫,D1\Pi_{w}\coloneqq\mathsf{CProj}_{\mathcal{P},D}^{1}, Πv|𝟙𝟙|𝑰\Pi_{v}\coloneqq\ket{\mathds{1}_{\mathcal{R}}}\bra{\mathds{1}_{\mathcal{R}}}\otimes\boldsymbol{I}, and apply Lemma 2.13. Then, we have the following relationships:

𝖢𝖯𝗋𝗈𝗃𝒫,D1|vj\displaystyle\mathsf{CProj}_{\mathcal{P},D}^{1}\ket{v_{j}} =pj|wj,\displaystyle=\sqrt{p_{j}}\ket{w_{j}}, (|𝟙𝟙|)|wj\displaystyle(\ket{\mathds{1}_{\mathcal{R}}}\bra{\mathds{1}_{\mathcal{R}}})\ket{w_{j}} =pj|vj\displaystyle=\sqrt{p_{j}}\ket{v_{j}} (7)
𝖢𝖯𝗋𝗈𝗃𝒫,D0|vj\displaystyle\mathsf{CProj}_{\mathcal{P},D}^{0}\ket{v_{j}} =1pj|wj,\displaystyle=\sqrt{1-p_{j}}\ket{w_{j}^{\perp}}, (𝑰|𝟙𝟙|)|wj\displaystyle(\boldsymbol{I}-\ket{\mathds{1}_{\mathcal{R}}}\bra{\mathds{1}_{\mathcal{R}}})\ket{w_{j}} =1pj|vj\displaystyle=\sqrt{1-p_{j}}\ket{v_{j}^{\perp}} (8)
𝖢𝖯𝗋𝗈𝗃𝒫,D1|vj\displaystyle\mathsf{CProj}_{\mathcal{P},D}^{1}\ket{v_{j}^{\perp}} =1pj|wj,\displaystyle=\sqrt{1-p_{j}}\ket{w_{j}}, (|𝟙𝟙|)|wj\displaystyle(\ket{\mathds{1}_{\mathcal{R}}}\bra{\mathds{1}_{\mathcal{R}}})\ket{w_{j}^{\perp}} =1pj|vj\displaystyle=\sqrt{1-p_{j}}\ket{v_{j}} (9)
𝖢𝖯𝗋𝗈𝗃𝒫,D0|vj\displaystyle\mathsf{CProj}_{\mathcal{P},D}^{0}\ket{v_{j}^{\perp}} =pj|wj,\displaystyle=-\sqrt{p_{j}}\ket{w_{j}^{\perp}}, (𝑰|𝟙𝟙|)|wj\displaystyle(\boldsymbol{I}-\ket{\mathds{1}_{\mathcal{R}}}\bra{\mathds{1}_{\mathcal{R}}})\ket{w_{j}^{\perp}} =pj|vj\displaystyle=-\sqrt{p_{j}}\ket{v_{j}^{\perp}} , (10)

where |wj\ket{w_{j}} and |vj\ket{v_{j}} are decompositions of Πw\Pi_{w} and Πv\Pi_{v}, and pj=|vj|wj|2p_{j}=\absolutevalue{\bra{v_{j}}\ket{w_{j}}}^{2}.

Suppose we apply 𝒜𝒫𝒫,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta} to a |ψ\ket{\psi} on 𝖧\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{H}}}}. We can write the initial state in Figure 1 as |𝟙|ψ=jαj|vj+αj|vj\ket{\mathds{1}_{\mathcal{R}}}\ket{\psi}=\sum_{j}\alpha_{j}\ket{v_{j}}+\alpha_{j}^{\perp}\ket{v_{j}^{\perp}} since {|vj,|vj}j\{\ket{v_{j}},\ket{v_{j}^{\perp}}\}_{j} is a basis. We also have that |𝟙𝟙|𝖱𝑰=j|vjvj|\ket{\mathds{1}_{\mathcal{R}}}\bra{\mathds{1}_{\mathcal{R}}}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}}\otimes\boldsymbol{I}=\sum_{j}\ket{v_{j}}\bra{v_{j}} since Πv\Pi_{v} projects onto |vj\ket{v_{j}} in each decomposed subspace SjS_{j}. It is easy to see that (|𝟙𝟙|𝑰)|𝟙|ψ=|𝟙|ψ(\ket{\mathds{1}_{\mathcal{R}}}\bra{\mathds{1}_{\mathcal{R}}}\otimes\boldsymbol{I})\ket{\mathds{1}_{\mathcal{R}}}\ket{\psi}=\ket{\mathds{1}_{\mathcal{R}}}\ket{\psi}. Thus, for all jj, αj=0\alpha_{j}^{\perp}=0. Therefore, for any |ψ\ket{\psi}, we can write |𝟙|ψ=jαj|vj\ket{\mathds{1}_{\mathcal{R}}}\ket{\psi}=\sum_{j}\alpha_{j}\ket{v_{j}}. As we see in Figure 1, when we run 𝒜𝒫𝒫,𝒟ϵ,δ(|ψ)\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta}(\ket{\psi}), the initial state is |𝟙|ψ=jαj|vj\ket{\mathds{1}_{\mathcal{R}}}\ket{\psi}=\sum_{j}\alpha_{j}\ket{v_{j}} and we apply 𝖢𝖯𝗋𝗈𝗃𝒫,D\mathsf{CProj}_{\mathcal{P},D} and 𝖨𝗌𝖴\mathsf{IsU_{\mathcal{R}}} alternately. Therefore, the quantum state |vj\ket{v_{j}} in each decomposed subspace SjS_{j} changes as in Figure 2 when we run 𝒜𝒫𝒫,𝒟ϵ,δ(|ψ)\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta}(\ket{\psi}).

Next, suppose we apply 𝒜𝒫𝒫𝚛𝚎𝚟,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P}^{\mathtt{rev}},D}^{\epsilon,\delta} to the quantum state immediately after applying 𝒜𝒫𝒫,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta} to |ψ\ket{\psi}. 𝒜𝒫𝒫,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta} ensures that the final measurement is 𝖨𝗌𝖴\mathsf{IsU_{\mathcal{R}}} and its result is 11. This means that the state going into the main loop of 𝒜𝒫𝒫𝚛𝚎𝚟,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P}^{\mathtt{rev}},D}^{\epsilon,\delta} (the third item in Figure 1) is identical to the state before 𝖱\mathcal{H}^{{\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}{\mathsf{R}}}} is discarded at the application of 𝒜𝒫𝒫,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta} to |ψ\ket{\psi}. By the definition of 𝒫𝚛𝚎𝚟\mathcal{P}^{\mathtt{rev}}, we have 𝖢𝖯𝗋𝗈𝗃𝒫,Db=𝖢𝖯𝗋𝗈𝗃𝒫𝚛𝚎𝚟,D1b\mathsf{CProj}_{\mathcal{P},D}^{b}=\mathsf{CProj}_{\mathcal{P}^{\mathtt{rev}},D}^{1-b} for b{0,1}b\in\{0,1\}. Thus, the quantum state |vj\ket{v_{j}} in each decomposed subspace SjS_{j} changes as in Figure 3 when we apply 𝒜𝒫𝒫𝚛𝚎𝚟,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P}^{\mathtt{rev}},D}^{\epsilon,\delta}.

From the above discussions, we can view a successive execution of 𝒜𝒫𝒫,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta} and 𝒜𝒫𝒫𝚛𝚎𝚟,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P}^{\mathtt{rev}},D}^{\epsilon,\delta} to |ψ\ket{\psi} as the following single experiment.

  • Sample pjp_{j} from {pj}j\{p_{j}\}_{j} with the probability αj2\alpha_{j}^{2}.

  • Flip 2T2T biased random coins whose probability of outputting 11 is pjp_{j}.

  • Flip an even number of additional random coins until 0 is found.

  • Flip 2T2T biased random coins whose probability of outputting 11 is 1pj1-p_{j}.

  • Let KK be the overall list of coin flips.

Let p~x\widetilde{p}_{x} and p~y\widetilde{p}_{y} be the outcome of 𝒜𝒫𝒫,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P},D}^{\epsilon,\delta} and 𝒜𝒫𝒫𝚛𝚎𝚟,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P}^{\mathtt{rev}},D}^{\epsilon,\delta}, respectively. p~x\widetilde{p}_{x} is the fraction of 11’s in the first 2T2T bits of KK. Also, p~y\widetilde{p}_{y} is the fraction of 11’s in the last 2T2T bits of KK. Then, we have

Pr[|p~xpj|ϵ/2]\displaystyle\Pr[\absolutevalue{\widetilde{p}_{x}-p_{j}}\geq\epsilon/2] δ/2\displaystyle\leq\delta/2 (11)
Pr[|p~y(1pj)|ϵ/2]\displaystyle\Pr[\absolutevalue{\widetilde{p}_{y}-(1-p_{j})}\geq\epsilon/2] δ/2.\displaystyle\leq\delta/2. (12)

It is easy to see that Equation 12 is equivalent to Pr[|(1p~y)pj|ϵ/2]δ/2\Pr[\absolutevalue{(1-\widetilde{p}_{y})-p_{j}}\geq\epsilon/2]\leq\delta/2 due to |a|=|a|\absolutevalue{a}=\absolutevalue{-a}. Therefore, by combining it with Equation 11, we obtain

Pr[|p~x(1p~y)|ϵ]\displaystyle\Pr[\absolutevalue{\widetilde{p}_{x}-(1-\widetilde{p}_{y})}\geq\epsilon] δ.\displaystyle\leq\delta. (13)

This completes the proof.   

2.3 Cryptographic Tools

Definition 2.15 (Learning with Errors).

Let n,m,qn,m,q\in\mathbb{N} be integer functions of the security parameter λ\lambda. Let χ=χ(λ)\chi=\chi(\lambda) be an error distribution over \mathbb{Z}. The LWE problem LWEn,m,q,χ\textrm{LWE}_{n,m,q,\chi} is to distinguish the following two distributions.

D0{(𝑨,𝒔𝑨+𝒆)𝑨qn×m,𝒔qn,𝒆χm} and D1{(𝑨,𝒖)𝑨qn×m,𝒖qm}.D_{0}\coloneqq\{(\boldsymbol{A},\boldsymbol{s}^{\intercal}\boldsymbol{A}+\boldsymbol{e})\mid\boldsymbol{A}\leftarrow\mathbb{Z}_{q}^{n\times m},\boldsymbol{s}\leftarrow\mathbb{Z}_{q}^{n},\boldsymbol{e}\leftarrow\chi^{m}\}\text{ and }D_{1}\coloneqq\{(\boldsymbol{A},\boldsymbol{u})\mid\boldsymbol{A}\leftarrow\mathbb{Z}_{q}^{n\times m},\boldsymbol{u}\leftarrow\mathbb{Z}_{q}^{m}\}.

When we say we assume the quantum hardness of the LWE problem or the QLWE assumption holds, we assume that for any QPT adversary 𝒜\mathpzc{A}, it holds that

|Pr[𝒜(𝒟0)=1]Pr[𝒜(𝒟1)=1]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathpzc{A}(D_{0})=1]-\Pr[\mathpzc{A}(D_{1})=1]}\leq{\mathsf{negl}}(\lambda).
Definition 2.16 (Pseudorandom Generator).

A pseudorandom generator (PRG) 𝖯𝖱𝖦:{0,1}λ{0,1}λ+(λ)\mathsf{PRG}:\{0,1\}^{\lambda}\rightarrow\{0,1\}^{\lambda+\ell(\lambda)} with stretch (λ)\ell(\lambda) (\ell is some polynomial function) is a polynomial-time computable function that satisfies the following. For any QPT adversary 𝒜\mathpzc{A}, it holds that

|Pr[𝒜(𝖯𝖱𝖦(𝓈))=1𝓈𝒰λ]Pr[𝒜(𝓇)𝓇𝒰λ+(λ)]|𝗇𝖾𝗀𝗅(λ),\absolutevalue{\Pr[\mathpzc{A}(\mathsf{PRG}(s))=1\mid s\leftarrow\mathcal{U}_{\lambda}]-\Pr[\mathpzc{A}(r)\mid r\leftarrow\mathcal{U}_{\lambda+\ell(\lambda)}]}\leq{\mathsf{negl}}(\lambda),

where 𝒰m\mathcal{U}_{m} denotes the uniform distribution over {0,1}m\{0,1\}^{m}.

Theorem 2.17 ([HILL99]).

If there exists a OWF, there exists a PRG.

Definition 2.18 (Quantum-Accessible Pseudo-Random Function).

Let {𝖯𝖱𝖥K:{0,1}1{0,1}2K{0,1}λ}\{\mathsf{PRF}_{K}:\{0,1\}^{\ell_{1}}\rightarrow\allowbreak\{0,1\}^{\ell_{2}}\mid K\in\{0,1\}^{\lambda}\} be a family of polynomially computable functions, where 1\ell_{1} and 2\ell_{2} are some polynomials of λ\lambda. We say that 𝖯𝖱𝖥\mathsf{PRF} is a quantum-accessible pseudo-random function (QPRF) family if for any QPT adversary 𝒜\mathpzc{A}, it holds that

𝖠𝖽𝗏𝒜𝗉𝗋𝖿(λ)=|Pr[𝒜|𝖯𝖱𝖥𝒦()(1λ)=1𝒦{0,1}λ]Pr[𝒜|𝖱()(1λ)=1𝖱𝒰]|𝗇𝖾𝗀𝗅(λ),\displaystyle\mathsf{Adv}_{\mathpzc{A}}^{\mathsf{prf}}(\lambda)=\absolutevalue{\Pr[\mathpzc{A}^{\ket{\mathsf{PRF}_{K}(\cdot)}}(1^{\lambda})=1\mid K\leftarrow\{0,1\}^{\lambda}]-\Pr[\mathpzc{A}^{\ket{\mathsf{R}(\cdot)}}(1^{\lambda})=1\mid\mathsf{R}\leftarrow\mathcal{U}]}\leq{\mathsf{negl}}(\lambda), (14)

where 𝒰\mathcal{U} is the set of all functions from {0,1}1\{0,1\}^{\ell_{1}} to {0,1}2\{0,1\}^{\ell_{2}}.

Theorem 2.19 ([Zha12a]).

If there exists a OWF, there exists a QPRF.

Definition 2.20 (Puncturable PRF).

A puncturable PRF (PPRF) is a tuple of algorithms 𝖯𝖯𝖱𝖥=(𝖯𝖱𝖥.𝖦𝖾𝗇,𝖥,𝖯𝗎𝗇𝖼𝗍𝗎𝗋𝖾)\mathsf{PPRF}=(\mathsf{PRF}.\mathsf{Gen},\mathsf{F},\mathsf{Puncture}) where {𝖥K:{0,1}1{0,1}2K{0,1}λ}\{\mathsf{F}_{K}:\{0,1\}^{\ell_{1}}\rightarrow\{0,1\}^{\ell_{2}}\mid K\in\{0,1\}^{\lambda}\} is a PRF family and satisfies the following two conditions. Note that 1\ell_{1} and 2\ell_{2} are polynomials of λ\lambda.

Punctured correctness:

For any polynomial-size set S{0,1}1S\subseteq\{0,1\}^{\ell_{1}} and any x{0,1}1Sx\in\{0,1\}^{\ell_{1}}\setminus S, it holds that

Pr[𝖥K(x)=𝖥KS(x)K𝖯𝖱𝖥.𝖦𝖾𝗇(1λ),KS𝖯𝗎𝗇𝖼𝗍𝗎𝗋𝖾(K,S)]=1.\displaystyle\Pr[\mathsf{F}_{K}(x)=\mathsf{F}_{K_{\notin S}}(x)\mid K\leftarrow\mathsf{PRF}.\mathsf{Gen}(1^{\lambda}),K_{\notin S}\leftarrow\mathsf{Puncture}(K,S)]=1. (15)
Pseudorandom at punctured point:

For any polynomial-size set S{0,1}1S\subseteq\{0,1\}^{\ell_{1}} and any QPT distinguisher 𝒜\mathpzc{A}, it holds that

|Pr[𝒜(𝖥𝒦𝒮,{𝖥𝒦(𝓍𝒾)}𝓍𝒾𝒮)=1]Pr[𝒜(𝖥𝒦𝒮,(𝒰2)|𝒮|)=1]|𝗇𝖾𝗀𝗅(λ),\displaystyle|\Pr[\mathpzc{A}(\mathsf{F}_{K_{\notin S}},\{\mathsf{F}_{K}(x_{i})\}_{x_{i}\in S})=1]-\Pr[\mathpzc{A}(\mathsf{F}_{K_{\notin S}},(\mathcal{U}_{\ell_{2}})^{\absolutevalue{S}})=1]|\leq{\mathsf{negl}}(\lambda), (16)

where K𝖯𝖱𝖥.𝖦𝖾𝗇(1λ)K\leftarrow\mathsf{PRF}.\mathsf{Gen}(1^{\lambda}), KS𝖯𝗎𝗇𝖼𝗍𝗎𝗋𝖾(K,S)K_{\notin S}\leftarrow\mathsf{Puncture}(K,S) and 𝒰2\mathcal{U}_{\ell_{2}} denotes the uniform distribution over {0,1}2\{0,1\}^{\ell_{2}}.

If S={x}S=\{x^{\ast}\} (i.e., puncturing a single point), we simply write 𝖥x()\mathsf{F}_{\neq x^{\ast}}(\cdot) instead of 𝖥KS()\mathsf{F}_{K_{\notin S}}(\cdot).

It is easy to see that the Goldwasser-Goldreich-Micali tree-based construction of PRFs (GGM PRF) [GGM86] from one-way function yield puncturable PRFs where the size of the punctured key grows polynomially with the size of the set SS being punctured [BW13, BGI14, KPTZ13]. Thus, we have:

Theorem 2.21 ([GGM86, BW13, BGI14, KPTZ13]).

If OWFs exist, then for any polynomials 1(λ)\ell_{1}(\lambda) and 2(λ)\ell_{2}(\lambda), there exists a PPRF that maps 1\ell_{1}-bits to 2\ell_{2}-bits.

Definition 2.22 (SKE).

An SKE scheme with plaintext space 𝒫={𝒫λ}λ\mathcal{P}=\{\mathcal{P}_{\lambda}\}_{\lambda\in\mathbb{N}} and ciphertext space 𝒞={𝒞λ}λ\mathcal{C}=\{\mathcal{C}_{\lambda}\}_{\lambda\in\mathbb{N}}, where 𝒞λ{0,1}𝖼𝗍\mathcal{C}_{\lambda}\subseteq\{0,1\}^{{\ell_{\mathsf{ct}}}} for some 𝖼𝗍=𝖼𝗍(λ){\ell_{\mathsf{ct}}}={\ell_{\mathsf{ct}}}(\lambda), is a tuple of three algorithms.

𝖦𝖾𝗇(1λ)k\mathsf{Gen}(1^{\lambda})\rightarrow k:

The key generation algorithm takes as input the security parameter λ\lambda, and outputs an encryption key kk.

𝖤𝗇𝖼(k,m)𝖼𝗍\mathsf{Enc}(k,m)\rightarrow\mathsf{ct}:

The encryption algorithm takes as input kk and a plaintext m𝒫λm\in\mathcal{P}_{\lambda}, and outputs a ciphertext 𝖼𝗍𝒞λ\mathsf{ct}\in\mathcal{C}_{\lambda}.

𝖣𝖾𝖼(k,𝖼𝗍)m\mathsf{Dec}(k,\mathsf{ct})\rightarrow m^{\prime}:

The decryption algorithm takes as input kk and 𝖼𝗍𝒞λ\mathsf{ct}\in\mathcal{C}_{\lambda}, and outputs a plaintext m𝒫λ{}m^{\prime}\in\mathcal{P}_{\lambda}\cup\{\bot\}.

Correctness:

An SKE scheme is correct if for all λ\lambda\in\mathbb{N} and m𝒫λm\in\mathcal{P}_{\lambda},

Pr[𝖣𝖾𝖼(k,𝖼𝗍)=mk𝖦𝖾𝗇(1λ,1κ),𝖼𝗍𝖤𝗇𝖼(k,m)]=1.\Pr[\mathsf{Dec}(k,\mathsf{ct})=m\mid k\leftarrow\mathsf{Gen}(1^{\lambda},1^{\kappa}),\mathsf{ct}\leftarrow\mathsf{Enc}(k,m)]=1.
Sparseness:

In this work, we also require that most strings are not valid ciphertexts under a randomly generated key of an SKE scheme:

Pr[𝖣𝖾𝖼(k,c)|k𝖦𝖾𝗇(1λ),c{0,1}𝖼𝗍]𝗇𝖾𝗀𝗅(λ).\displaystyle\Pr\left[\mathsf{Dec}(k,c)\neq\bot~{}\left|~{}k\leftarrow\mathsf{Gen}(1^{\lambda}),c\leftarrow\{0,1\}^{{\ell_{\mathsf{ct}}}}\right.\right]\leq{\mathsf{negl}}(\lambda). (17)
Definition 2.23 (Ciphertext Pseudorandomness for SKE).

An SKE scheme satisfies ciphertext pseudorandomness if for any (stateful) QPT 𝒜\mathpzc{A}, it holds that

2|Pr[𝒜𝖤𝗇𝖼(𝓀,)(𝖼𝗍𝒷)=𝒷|1κ𝒜(1λ),𝓀𝖦𝖾𝗇(1λ,1κ),𝓂𝒜𝖤𝗇𝖼(𝓀,),𝒷{0,1},𝖼𝗍0𝖤𝗇𝖼(𝓀,𝓂),𝖼𝗍1{0,1}𝖼𝗍]12|𝗇𝖾𝗀𝗅(λ).2\absolutevalue{\Pr\left[\mathpzc{A}^{\mathsf{Enc}(k,\cdot)}(\mathsf{ct}_{b})=b\ \middle|\begin{array}[]{rl}&1^{\kappa}\leftarrow\mathpzc{A}(1^{\lambda}),k\leftarrow\mathsf{Gen}(1^{\lambda},1^{\kappa}),\\ &m\leftarrow\mathpzc{A}^{\mathsf{Enc}(k,\cdot)},b\leftarrow\{0,1\},\\ &\mathsf{ct}_{0}\leftarrow\mathsf{Enc}(k,m),\mathsf{ct}_{1}\leftarrow\{0,1\}^{{\ell_{\mathsf{ct}}}}\end{array}\right]-\frac{1}{2}}\leq{\mathsf{negl}}(\lambda).
Theorem 2.24.

If OWFs exist, there exists an SKE scheme with sparseness and ciphertext pseudorandomness.

The well-known PRF-based SKE satisfies ciphertext pseudorandomness. However, we need padding for sparseness. That is, a ciphertext is (r,𝖯𝖱𝖥k(r)0μm)(r,\mathsf{PRF}_{k}(r)\oplus 0^{\ell-\ell_{\mu}}\|m) where r{0,1}nr\in\{0,1\}^{n} is randomness of encryption, kk is a PRF key, 𝖯𝖱𝖥:{0,1}n{0,1}\mathsf{PRF}:\{0,1\}^{n}\rightarrow\{0,1\}^{\ell} is a PRF, and |m|=μ\absolutevalue{m}=\ell_{\mu}. We check that the first μ\ell-\ell_{\mu} bits of m=𝖣𝖾𝖼(k,(c1,c2))m^{\prime}=\mathsf{Dec}(k,(c_{1},c_{2})) equals to 0μ0^{\ell-\ell_{\mu}}. If \ell is sufficiently long, the scheme has sparseness.

Definition 2.25 (Constrained PRF (Syntax)).

A constrained PRF (CPRF) with domain 𝖣𝗈𝗆\mathsf{Dom}, range 𝖱𝖺𝗇\mathsf{Ran}, and constraint family ={λ,κ}λ,κ\mathcal{F}=\{\mathcal{F}_{\lambda,\kappa}\}_{\lambda,\kappa\in\mathbb{N}} where λ,κ={f:𝖣𝗈𝗆{0,1}}\mathcal{F}_{\lambda,\kappa}=\{f\colon\mathsf{Dom}\rightarrow\{0,1\}\} is a tuple of four algorithms.

𝖲𝖾𝗍𝗎𝗉(1λ,1κ)𝗆𝗌𝗄\mathsf{Setup}(1^{\lambda},1^{\kappa})\rightarrow\mathsf{msk}:

The setup algorithm takes as input the security parameter λ\lambda and a constraint-family parameter κ\kappa, and outputs a master PRF key 𝗆𝗌𝗄\mathsf{msk}.

𝖢𝗈𝗇𝗌𝗍𝗋𝖺𝗂𝗇(𝗆𝗌𝗄,f)𝗌𝗄f\mathsf{Constrain}(\mathsf{msk},f)\rightarrow\mathsf{sk}_{f}:

The constrain algorithm takes as input λ\lambda and a constraint fλ,κf\in\mathcal{F}_{\lambda,\kappa}, and outputs a constrained key 𝗌𝗄f\mathsf{sk}_{f}.

𝖤𝗏𝖺𝗅(𝗆𝗌𝗄,x)y\mathsf{Eval}(\mathsf{msk},x)\rightarrow y:

The evaluation algorithm takes as input 𝗆𝗌𝗄\mathsf{msk} and an input x𝖣𝗈𝗆x\in\mathsf{Dom}, and outputs a value y𝖱𝖺𝗇y\in\mathsf{Ran}.

𝖢𝖤𝗏𝖺𝗅(𝗌𝗄f,x)y\mathsf{CEval}(\mathsf{sk}_{f},x)\rightarrow y:

The constrained evaluation algorithm takes as input 𝗌𝗄f\mathsf{sk}_{f} and x𝖣𝗈𝗆x\in\mathsf{Dom}, and outputs a value y𝖱𝖺𝗇y\in\mathsf{Ran}.

Definition 2.26 (Security for CPRF).

A private CPRF should satisfy correctness, pseudorandomness, and privacy.

Correctness:

A CPRF is correct if for any (stateful) QPT adversary 𝒜\mathpzc{A}, it holds that

Pr[𝖤𝗏𝖺𝗅(𝗆𝗌𝗄,x)𝖢𝖤𝗏𝖺𝗅(𝗌𝗄f,x)x𝖣𝗈𝗆f(x)=0|(1κ,f)𝒜(1λ),𝗆𝗌𝗄𝖲𝖾𝗍𝗎𝗉(1λ,1κ),𝗌𝗄f𝖢𝗈𝗇𝗌𝗍𝗋𝖺𝗂𝗇(𝗆𝗌𝗄,f),x𝒜𝖤𝗏𝖺𝗅(𝗆𝗌𝗄,)(𝗌𝗄𝒻)]𝗇𝖾𝗀𝗅(λ).\Pr\left[\begin{array}[]{rl}&\mathsf{Eval}(\mathsf{msk},x)\neq\mathsf{CEval}(\mathsf{sk}_{f},x)\\ &\land\ x\in\mathsf{Dom}\land f(x)=0\end{array}\ \middle|\begin{array}[]{rl}&(1^{\kappa},f)\leftarrow\mathpzc{A}(1^{\lambda}),\\ &\mathsf{msk}\leftarrow\mathsf{Setup}(1^{\lambda},1^{\kappa}),\\ &\mathsf{sk}_{f}\leftarrow\mathsf{Constrain}(\mathsf{msk},f),\\ &x\leftarrow\mathpzc{A}^{\mathsf{Eval}(\mathsf{msk},\cdot)}(\mathsf{sk}_{f})\end{array}\right]\leq{\mathsf{negl}}(\lambda).
Selective single-key pseudorandomness:

A CPRF is selectively single-key pseudorandom if for any (stateful) QPT adversary 𝒜\mathpzc{A}, it hods that

2|Pr[𝒜𝖤𝗏𝖺𝗅(𝗆𝗌𝗄,)(𝓎𝒷)=𝒷x𝒬ef(x)0|(1κ,f)𝒜(1λ),𝗆𝗌𝗄𝖲𝖾𝗍𝗎𝗉(1λ,1κ),skf𝖢𝗈𝗇𝗌𝗍𝗋𝖺𝗂𝗇(𝗆𝗌𝗄,f)x𝒜𝖤𝗏𝖺𝗅(𝗆𝗌𝗄,)(𝗌𝗄𝒻)y0𝖤𝗏𝖺𝗅(𝗆𝗌𝗄,x),y1𝖱𝖺𝗇,b{0,1}]12|𝗇𝖾𝗀𝗅(λ),2\absolutevalue{\Pr\left[\begin{array}[]{rl}&\mathpzc{A}^{\mathsf{Eval}(\mathsf{msk},\cdot)}(y_{b})=b\\ &\land\ x\notin\mathcal{Q}_{e}\\ &\land f(x)\neq 0\end{array}\ \middle|\begin{array}[]{rl}&(1^{\kappa},f)\leftarrow\mathpzc{A}(1^{\lambda}),\\ &\mathsf{msk}\leftarrow\mathsf{Setup}(1^{\lambda},1^{\kappa}),\\ &sk_{f}\leftarrow\mathsf{Constrain}(\mathsf{msk},f)\\ &x\leftarrow\mathpzc{A}^{\mathsf{Eval}(\mathsf{msk},\cdot)}(\mathsf{sk}_{f})\\ &y_{0}\coloneqq\mathsf{Eval}(\mathsf{msk},x),y_{1}\leftarrow\mathsf{Ran},\\ &b\leftarrow\{0,1\}\end{array}\right]-\frac{1}{2}}\leq{\mathsf{negl}}(\lambda),

where 𝒬e\mathcal{Q}_{e} is the sets of queries to 𝖤𝗏𝖺𝗅(𝗆𝗌𝗄,)\mathsf{Eval}(\mathsf{msk},\cdot).

Selective single-key privacy:

A CPRF is selectively single-key private if for any (stateful) QPT adversary 𝒜\mathpzc{A}, there exists a stateful PPT simulator 𝖲𝗂𝗆=(𝖲𝗂𝗆1,𝖲𝗂𝗆2)\mathsf{Sim}=(\mathsf{Sim}_{1},\mathsf{Sim}_{2}) that satisfying that

2|Pr[𝒜𝒪𝒷()(𝗌𝗄𝒷)=𝒷|(1κ,𝒻)𝒜(1λ),𝗆𝗌𝗄𝖲𝖾𝗍𝗎𝗉(1λ,1κ),𝒷{0,1},𝗌𝗄0𝖢𝗈𝗇𝗌𝗍𝗋𝖺𝗂𝗇(𝗆𝗌𝗄,𝒻),(𝗌𝗍𝖲𝗂𝗆,𝗌𝗄1)𝖲𝗂𝗆1(1κ,1λ)]12|𝗇𝖾𝗀𝗅(λ),2\absolutevalue{\Pr\left[\mathpzc{A}^{\mathcal{O}_{b}(\cdot)}(\mathsf{sk}_{b})=b\ \middle|\begin{array}[]{rl}&(1^{\kappa},f)\leftarrow\mathpzc{A}(1^{\lambda}),\\ &\mathsf{msk}\leftarrow\mathsf{Setup}(1^{\lambda},1^{\kappa}),b\leftarrow\{0,1\},\\ &\mathsf{sk}_{0}\leftarrow\mathsf{Constrain}(\mathsf{msk},f),\\ &(\mathsf{st}_{\mathsf{Sim}},\mathsf{sk}_{1})\leftarrow\mathsf{Sim}_{1}(1^{\kappa},1^{\lambda})\end{array}\right]-\frac{1}{2}}\leq{\mathsf{negl}}(\lambda),

where 𝒪0()𝖤𝗏𝖺𝗅(𝗆𝗌𝗄,)\mathcal{O}_{0}(\cdot)\coloneqq\mathsf{Eval}(\mathsf{msk},\cdot) and 𝒪1()𝖲𝗂𝗆2(𝗌𝗍𝖲𝗂𝗆,,f())\mathcal{O}_{1}(\cdot)\coloneqq\mathsf{Sim}_{2}(\mathsf{st}_{\mathsf{Sim}},\cdot,f(\cdot)).

We say that a CPRF is a selectively single-key private CPRF if it satisfies correctness, selective single-key pseudorandomness, and selective single-key privacy.

Theorem 2.27 ([BTVW17, PS18]).

If the QLWE assumption holds, there exists a selectively signle-key private CPRF for polynomial-size classical circuits.

Definition 2.28 (PKE).

A PKE with plaintext space 𝒫={𝒫λ}λ\mathcal{P}=\{\mathcal{P}_{\lambda}\}_{\lambda\in\mathbb{N}}, ciphertext space 𝒞={𝒞λ}λ\mathcal{C}=\{\mathcal{C}_{\lambda}\}_{\lambda\in\mathbb{N}} is a tuple of three algorithms.

𝖦𝖾𝗇(1λ)(𝗉𝗄,𝗌𝗄)\mathsf{Gen}(1^{\lambda})\rightarrow(\mathsf{pk},\mathsf{sk}):

The key generation algorithm takes as input the security parameter λ\lambda and outputs a key pair (𝗉𝗄,𝗌𝗄)(\mathsf{pk},\mathsf{sk}).

𝖤𝗇𝖼(𝗉𝗄,m)𝖼𝗍\mathsf{Enc}(\mathsf{pk},m)\rightarrow\mathsf{ct}:

The encryption algorithm takes as input 𝗉𝗄\mathsf{pk}, a plaintext m𝒫m\in\mathcal{P}, and outputs a ciphertext 𝖼𝗍𝒞\mathsf{ct}\in\mathcal{C}.

𝖣𝖾𝖼(𝗌𝗄,𝖼𝗍)m/\mathsf{Dec}(\mathsf{sk},\mathsf{ct})\rightarrow m^{\prime}/\bot:

The decryption algorithm takes as input 𝗌𝗄\mathsf{sk} and 𝖼𝗍𝒞\mathsf{ct}\in\mathcal{C}, and outputs a plaintext m𝒫m^{\prime}\in\mathcal{P} or \bot.

Correctness:

A PKE scheme is correct if for all λ\lambda\in\mathbb{N} and m𝒫λm\in\mathcal{P}_{\lambda}, it holds that

Pr[𝖣𝖾𝖼(𝗌𝗄,𝖼𝗍)=m(𝗉𝗄,𝗌𝗄)𝖦𝖾𝗇(1λ),𝖼𝗍𝖤𝗇𝖼(𝗉𝗄,m)]=1.\Pr[\mathsf{Dec}(\mathsf{sk},\mathsf{ct})=m\mid(\mathsf{pk},\mathsf{sk})\leftarrow\mathsf{Gen}(1^{\lambda}),\mathsf{ct}\leftarrow\mathsf{Enc}(\mathsf{pk},m)]=1.
Definition 2.29 (CCA Security for PKE).

A PKE scheme is CCA secure if for any (stateful) QPT adversary 𝒜\mathpzc{A}, it holds that

2|Pr[b=b𝖼𝗍b𝒬|(𝗉𝗄,𝗌𝗄)𝖦𝖾𝗇(1λ),(m0,m1)𝒜𝖣𝖾𝖼(𝗌𝗄,)(1λ,𝗉𝗄),b{0,1},𝖼𝗍b𝖤𝗇𝖼(𝗉𝗄,mb),b𝒜𝖣𝖾𝖼(𝗌𝗄,)(1λ,𝖼𝗍𝒷)]12|𝗇𝖾𝗀𝗅(λ),2\absolutevalue{\Pr\left[\begin{array}[]{rl}&b^{\ast}=b\\ \land&\mathsf{ct}_{b}\notin\mathcal{Q}\end{array}\ \middle|\begin{array}[]{rl}&(\mathsf{pk},\mathsf{sk})\leftarrow\mathsf{Gen}(1^{\lambda}),\\ &(m_{0},m_{1})\leftarrow\mathpzc{A}^{\mathsf{Dec}(\mathsf{sk},\cdot)}(1^{\lambda},\mathsf{pk}),\\ &b\leftarrow\{0,1\},\mathsf{ct}_{b}\leftarrow\mathsf{Enc}(\mathsf{pk},m_{b}),\\ &b^{\prime}\leftarrow\mathpzc{A}^{\mathsf{Dec}(\mathsf{sk},\cdot)}(1^{\lambda},\mathsf{ct}_{b})\end{array}\right]-\frac{1}{2}}\leq{\mathsf{negl}}(\lambda),

where 𝒬\mathcal{Q} is the set of queries to 𝖣𝖾𝖼(𝗌𝗄,)\mathsf{Dec}(\mathsf{sk},\cdot) after 𝒜\mathpzc{A} is given 𝖼𝗍b\mathsf{ct}_{b}.

Theorem 2.30 ([Pei09]).

If the QLWE assumption holds, there exists a PKE scheme that satisfies CCA security.

Definition 2.31 (Indistinguishability Obfuscator [BGI+12]).

A PPT algorithm i𝒪i\mathcal{O} is a secure IO for a classical circuit class {𝒞λ}λ\{\mathcal{C}_{\lambda}\}_{\lambda\in\mathbb{N}} if it satisfies the following two conditions.

Functionality:

For any security parameter λ\lambda\in\mathbb{N}, circuit C𝒞λC\in\mathcal{C}_{\lambda}, and input xx, we have that

Pr[C(x)=C(x)Ci𝒪(C)]=1.\displaystyle\Pr[C^{\prime}(x)=C(x)\mid C^{\prime}\leftarrow i\mathcal{O}(C)]=1\enspace. (18)
Indistinguishability:

For any PPT 𝖲𝖺𝗆𝗉\mathsf{Samp} and QPT distinguisher 𝒟\mathpzc{D}, the following holds:

If Pr[x,C0(x)=C1(x)(C0,C1,𝖺𝗎𝗑)𝖲𝖺𝗆𝗉(1λ)]>1𝗇𝖾𝗀𝗅(λ)\Pr[\forall x,\ C_{0}(x)=C_{1}(x)\mid(C_{0},C_{1},\mathsf{aux})\leftarrow\mathsf{Samp}(1^{\lambda})]>1-{\mathsf{negl}}(\lambda), then we have

𝖠𝖽𝗏i𝒪,𝒟𝗂𝗈(λ)\displaystyle\mathsf{Adv}_{i\mathcal{O},\mathpzc{D}}^{\mathsf{io}}(\lambda) |Pr[𝒟(𝒾𝒪(𝒞0),𝖺𝗎𝗑)=1(𝒞0,𝒞1,𝖺𝗎𝗑)𝖲𝖺𝗆𝗉(1λ)]\displaystyle\coloneqq\left|\Pr\left[\mathpzc{D}(i\mathcal{O}(C_{0}),\mathsf{aux})=1\mid(C_{0},C_{1},\mathsf{aux})\leftarrow\mathsf{Samp}(1^{\lambda})\right]\right. (19)
Pr[𝒟(𝒾𝒪(𝒞1),𝖺𝗎𝗑)=1(𝒞0,𝒞1,𝖺𝗎𝗑)𝖲𝖺𝗆𝗉(1λ)]|𝗇𝖾𝗀𝗅(λ).\displaystyle~{}~{}~{}~{}~{}~{}~{}\left.-\Pr\left[\mathpzc{D}(i\mathcal{O}(C_{1}),\mathsf{aux})=1\mid(C_{0},C_{1},\mathsf{aux})\leftarrow\mathsf{Samp}(1^{\lambda})\right]\right|\leq{\mathsf{negl}}(\lambda). (20)

There are a few candidates of secure IO for polynomial-size classical circuits against quantum adversaries [BGMZ18, CHVW19, AP20, DQV+21]. In some candidates [WW21, GP21], the assumptions behind the constructions were found to be false [HJL21].

3 Definition of Quantum Watermarking

We introduce definitions for watermarking PRFs against quantum adversaries in this section.

3.1 Syntax and Pseudorandomness

Definition 3.1 (Watermarking PRF).

A watermarking PRF 𝖶𝖬𝖯𝖱𝖥\mathsf{WMPRF} for the message space {0,1}𝗆\mathcal{M}\coloneqq\{0,1\}^{{\ell_{\mathsf{m}}}} with domain 𝖣𝗈𝗆\mathsf{Dom} and range 𝖱𝖺𝗇\mathsf{Ran} is a tuple of five algorithms (𝖲𝖾𝗍𝗎𝗉,𝖦𝖾𝗇,𝖤𝗏𝖺𝗅,𝖬𝖺𝗋𝗄,𝓍𝓉𝓇𝒶𝒸𝓉)(\mathsf{Setup},\mathsf{Gen},\mathsf{Eval},\mathsf{Mark},\mathpzc{Extract}).

𝖲𝖾𝗍𝗎𝗉(1λ)(𝗉𝗉,𝗑𝗄)\mathsf{Setup}(1^{\lambda})\rightarrow(\mathsf{pp},\mathsf{xk}):

The setup algorithm takes as input the security parameter and outputs a public parameter 𝗉𝗉\mathsf{pp} and an extraction key 𝗑𝗄\mathsf{xk}.

𝖦𝖾𝗇(𝗉𝗉)(𝗉𝗋𝖿𝗄,τ)\mathsf{Gen}(\mathsf{pp})\rightarrow(\mathsf{prfk},\tau):

The key generation algorithm takes as input the public parameter 𝗉𝗉\mathsf{pp} and outputs a PRF key 𝗉𝗋𝖿𝗄\mathsf{prfk} and a public tag τ\tau.

𝖤𝗏𝖺𝗅(𝗉𝗋𝖿𝗄,x)y\mathsf{Eval}(\mathsf{prfk},x)\rightarrow y:

The evaluation algorithm takes as input a PRF key 𝗉𝗋𝖿𝗄\mathsf{prfk} and an input x𝖣𝗈𝗆x\in\mathsf{Dom} and outputs y𝖱𝖺𝗇y\in\mathsf{Ran}.

𝖬𝖺𝗋𝗄(𝗉𝗉,𝗉𝗋𝖿𝗄,𝗆)C~\mathsf{Mark}(\mathsf{pp},\mathsf{prfk},\mathsf{m})\rightarrow\widetilde{C}:

The mark algorithm takes as input the public parameter 𝗉𝗉\mathsf{pp}, a PRF key 𝗉𝗋𝖿𝗄\mathsf{prfk}, and a message 𝗆{0,1}𝗆\mathsf{m}\in\{0,1\}^{\ell_{\mathsf{m}}}, and outputs a marked evaluation circuit C~\widetilde{C}.

𝓍𝓉𝓇𝒶𝒸𝓉(𝗑𝗄,τ,𝒞,ϵ)𝗆\mathpzc{Extract}(\mathsf{xk},\tau,\mathpzc{C}^{\prime},\epsilon)\rightarrow\mathsf{m}^{\prime}:

The extraction algorithm takes as input an extraction key 𝗑𝗄\mathsf{xk}, a tag τ\tau, a quantum circuit with classical inputs and outputs 𝒞=(𝓆,U)\mathpzc{C}^{\prime}=(\mathpzc{q},\boldsymbol{U}), and a parameter ϵ\epsilon, and outputs 𝗆\mathsf{m}^{\prime} where 𝗆{0,1}𝗆{𝗎𝗇𝗆𝖺𝗋𝗄𝖾𝖽}\mathsf{m}^{\prime}\in\{0,1\}^{\ell_{\mathsf{m}}}\cup\{\mathsf{unmarked}\}.

Evaluation Correctness:

For any message 𝗆{0,1}𝗆\mathsf{m}\in\{0,1\}^{\ell_{\mathsf{m}}}, it holds that

Pr[C~(x)=𝖤𝗏𝖺𝗅(𝗉𝗋𝖿𝗄,x)|(𝗉𝗉,𝗑𝗄)𝖲𝖾𝗍𝗎𝗉(1λ)(𝗉𝗋𝖿𝗄,τ)𝖦𝖾𝗇(𝗉𝗉)C~𝖬𝖺𝗋𝗄(𝗉𝗉,𝗉𝗋𝖿𝗄,𝗆)x𝖣𝗈𝗆]1𝗇𝖾𝗀𝗅(λ).\Pr\left[\widetilde{C}(x)=\mathsf{Eval}(\mathsf{prfk},x)~{}\left|~{}\begin{array}[]{c}(\mathsf{pp},\mathsf{xk})\leftarrow\mathsf{Setup}(1^{\lambda})\\ (\mathsf{prfk},\tau)\leftarrow\mathsf{Gen}(\mathsf{pp})\\ \widetilde{C}\leftarrow\mathsf{Mark}(\mathsf{pp},\mathsf{prfk},\mathsf{m})\\ x\leftarrow\mathsf{Dom}\end{array}\right.\right]\geq 1-{\mathsf{negl}}(\lambda).
Remark 3.2 (On extraction correctness).

Usually, a watermarking PRF scheme is required to satisfy extraction correctness that ensures that we can correctly extract the embedded mark from an honestly marked circuit. However, as observed by Quach et al. [QWZ18], if we require the extraction correctness to hold for a randomly chosen PRF key, it is implied by unremovability defined below. Note that the unremovability defined below considers a distinguisher as a pirate circuit. However, it implies the extraction correctness since we can easily transform an honestly marked circuit into a successful distinguisher. Thus, we do not explicitly require a watermarking PRF scheme to satisfy extraction correctness in this work.

Remark 3.3 (On public marking).

We consider only watermarking PRFs with public marking as in Definition 3.1 since we can achieve public marking by default. The reason is as follows. Suppose that we generate 𝗉𝗉\mathsf{pp}, 𝗑𝗄\mathsf{xk}, and a marking key 𝗆𝗄\mathsf{mk} at the setup. When we generate a PRF key and a public tag at 𝖦𝖾𝗇\mathsf{Gen}, we can first generate (𝗉𝗉,𝗑𝗄,𝗆𝗄)𝖲𝖾𝗍𝗎𝗉(1λ)(\mathsf{pp}^{\prime},\mathsf{xk}^{\prime},\mathsf{mk}^{\prime})\leftarrow\mathsf{Setup}(1^{\lambda}) from scratch (ignoring the original (𝗉𝗉,𝗑𝗄,𝗆𝗄)(\mathsf{pp},\mathsf{xk},\mathsf{mk})) and set a PRF key 𝗉𝗋𝖿𝗄^(𝗉𝗋𝖿𝗄,𝗆𝗄)\widehat{\mathsf{prfk}}\coloneqq(\mathsf{prfk}^{\prime},\mathsf{mk}^{\prime}) and a public tag τ^(𝗉𝗉,𝗑𝗄,τ)\widehat{\tau}\coloneqq(\mathsf{pp}^{\prime},\mathsf{xk}^{\prime},\tau^{\prime}) where (𝗉𝗋𝖿𝗄,τ)𝖦𝖾𝗇(𝗉𝗉)(\mathsf{prfk}^{\prime},\tau^{\prime})\leftarrow\mathsf{Gen}(\mathsf{pp}^{\prime}). That is, anyone can generate a marked circuit from 𝗉𝗋𝖿𝗄^=(𝗉𝗋𝖿𝗄,𝗆𝗄)\widehat{\mathsf{prfk}}=(\mathsf{prfk}^{\prime},\mathsf{mk}^{\prime}) by 𝖬𝖺𝗋𝗄(𝗆𝗄,𝗉𝗋𝖿𝗄,𝗆)\mathsf{Mark}(\mathsf{mk}^{\prime},\mathsf{prfk}^{\prime},\mathsf{m}). Therefore, we consider public marking by default in our model.

Remark 3.4 (On private marking).

We might prefer private marking in some settings since we might want to prevent adversaries from forging a watermarked PRF. We can convert watermarking PRFs in Definition 3.1 into ones with private marking by using signatures. Below, we assume that a PRF key 𝗉𝗋𝖿𝗄\mathsf{prfk} includes its public tag τ\tau since it does not harm security. At the setup phase, we also generate a signature key pair (𝗏𝗄,𝗌𝗄)𝖲𝖨𝖦.𝖦𝖾𝗇(1λ)(\mathsf{vk},\mathsf{sk})\leftarrow\mathsf{SIG}.\mathsf{Gen}(1^{\lambda}) and set a mark key 𝗆𝗄(𝗏𝗄,𝗌𝗄)\mathsf{mk}^{\prime}\coloneqq(\mathsf{vk},\mathsf{sk}) and an extraction key 𝗑𝗄(𝗑𝗄,𝗏𝗄)\mathsf{xk}^{\prime}\coloneqq(\mathsf{xk},\mathsf{vk}). To embed a message 𝗆\mathsf{m} into 𝗉𝗋𝖿𝗄\mathsf{prfk}, we generate a signature σ𝖲𝖨𝖦.𝖲𝗂𝗀𝗇(𝗌𝗄,τ𝗆)\sigma\leftarrow\mathsf{SIG}.\mathsf{Sign}(\mathsf{sk},\tau\|\mathsf{m}) and generate C~𝖬𝖺𝗋𝗄(𝗉𝗉,𝗉𝗋𝖿𝗄,𝗆σ)\widetilde{C}\leftarrow\mathsf{Mark}(\mathsf{pp},\mathsf{prfk},\mathsf{m}\|\sigma). To extract a message, we run 𝗆𝓍𝓉𝓇𝒶𝒸𝓉(𝗑𝗄,τ,𝒞,ϵ)\mathsf{m}^{\prime}\leftarrow\mathpzc{Extract}(\mathsf{xk},\tau,\mathpzc{C}^{\prime},\epsilon), parse 𝗆=𝗆σ\mathsf{m}^{\prime}=\mathsf{m}\|\sigma, and run 𝖲𝖨𝖦.𝖵𝗋𝖿𝗒(𝗏𝗄,τ𝗆,σ)\mathsf{SIG}.\mathsf{Vrfy}(\mathsf{vk},\tau\|\mathsf{m},\sigma). If the verification result is \top, we output 𝗆\mathsf{m}. This conversion is the same as what Goyal et al. [GKM+19] proposed. Adversaries cannot forge a signature for τ𝗆τ𝗆\tau^{\ast}\|\mathsf{m}^{\ast}\neq\tau\|\mathsf{m} by the unforgeability of 𝖲𝖨𝖦\mathsf{SIG}. Intuitively, if an adversary can forge a watermarked PRF whose functionality is different from those of watermarked PRFs given from a mark oracle, ττ\tau^{\ast}\neq\tau should hold since public tags are related to PRF keys. This breaks the unforgeability of 𝖲𝖨𝖦\mathsf{SIG}. Thus, we expect that adversaries cannot break the unforgeability of watermarking. However, we do not formally define watermarking unforgeability against quantum adversaries since it is not a scope of this work. We leave it as future work.

Discussion on syntax.

Definition 3.1 is a natural quantum variant of classical watermarking PRFs except that the key generation algorithm outputs a public tag τ\tau, and the extraction algorithm uses it. Such a public tag is not used in previous works on watermarking PRFs [CHN+18, KW21, QWZ18, KW19, YAL+19]. A public tag should not harm watermarking PRF security. We justify using τ\tau as follows.

First, we need to obtain many pairs of input and output to extract an embedded message from a marked PRF in almost all known (classical) watermarking constructions [CHN+18, BLW17, KW21, QWZ18, KW19, YAL+19, GKM+19, Nis20]. This is because we must check whether a tested PRF circuit outputs particular values for particular inputs which depends on the target PRF (such particular inputs are known as marked points). Suppose marked points are fixed and do not depend on a PRF that will be marked. In that case, an adversary can easily remove an embedded message by destroying functionalities at the fixed marked points that could be revealed via a (non-target) marked PRF that an adversary generated. Recall that we consider the public marking setting. The attack was already observed by Cohen et al. [CHN+18].

Second, we consider a stronger adversary model than that in most previous works as the definition of traceable PRFs by Goyal et al. [GKWW21]. An adversary outputs a distinguisher-based pirate circuit in our security definition rather than a pirate circuit that computes an entire output of a PRF. This is a refined and realistic model, as Goyal et al. [GKWW21] argued (and we explain in Section 1.4). In this model, we cannot obtain a valid input-output pair from a pirate circuit anymore. Such a pair is typical information related to a target PRF. Goyal et al. resolve this issue by introducing a tracing key that is generated from a target PRF. Note that parameters of watermarking (𝗉𝗉\mathsf{pp} and 𝗑𝗄\mathsf{xk}) should not be generated from a PRF since we consider many different PRF keys in the watermarking PRF setting.

Thus, if we would like to achieve an extraction algorithm and the stronger security notion simultaneously, an extraction algorithm should somehow take information related to a target PRF as input to correctly extract an embedded message. In the weaker adversary model, an extraction algorithm can easily obtain many valid input and output pairs by running a tested circuit many times. However, in the stronger distinguisher-based pirate circuit model, a pirate circuit outputs a single decision bit.

To resolve this issue, we introduce public tags. We think it is natural to have information related to the original PRF key in an extraction algorithm. In reality, we check a circuit when a user claims that her/his PRF key (PRF evaluation circuit) is illegally used. Thus, it is natural to expect we can use a user’s public tag for extraction. This setting resembles watermarking for public-key cryptographic primitives, where a user public key is available in an extraction algorithm. In addition, public tags do not harm PRF security in our constructions. It is unclear whether we can achieve unremovability in the stronger distinguisher-based model without any syntax change (even in the classical setting). 101010Even if we consider the weaker adversary model, the same issue appears in the quantum setting in the end. If we run a quantum circuit for an input and measure the output, the measurement could irreversibly alter the quantum state and we lost the functionality of the original quantum state. That is, there is no guarantee that we can correctly check whether a tested quantum circuit is marked or not after we obtain a single valid pair of input and output by running the circuit. However, as we explained above, we want to obtain information related to a target PRF for extraction. Thus, we need a public tag in the syntax in either case.

Extended pseudorandomness.

We consider extended weak pseudorandomness, where weak pseudorandomness holds even if the adversary generates 𝗉𝗉\mathsf{pp}. This notion is the counterpart of extended pseudorandomness by Quach et al. [QWZ18], where pseudorandomness holds in the presence of the extraction oracle. However, our pseudorandomness holds even against an authority unlike extended pseudorandomness by Quach et al. since we allow adversaries to generate a public parameter.

Definition 3.5 (Extended Weak Pseudorandomness against Authority).

To define extended weak pseudorandomness for watermarking PRFs, we define the game 𝖤𝗑𝗉𝒜,𝖶𝖬𝖯𝖱𝖥𝖾𝗑𝗍-𝗐𝗉𝗋𝖿(λ)\mathsf{Exp}_{\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{ext}\mbox{-}\mathsf{wprf}}(\lambda) as follows.

  1. 1.

    𝒜\mathpzc{A} first sends 𝗉𝗉\mathsf{pp} to the challenger.

  2. 2.

    The challenger generates (𝗉𝗋𝖿𝗄,τ)𝖦𝖾𝗇(𝗉𝗉)(\mathsf{prfk},\tau)\leftarrow\mathsf{Gen}(\mathsf{pp}) and sends τ\tau to 𝒜\mathpzc{A}.

  3. 3.

    The challenger chooses 𝖼𝗈𝗂𝗇{0,1}\mathsf{coin}\leftarrow\{0,1\}. 𝒜\mathpzc{A} can access to the following oracles.

    O𝚠𝚙𝚛𝚏O_{\mathtt{wprf}}:

    When this is invoked (no input), it returns (a,b)(a,b) where a𝖣𝗈𝗆a\leftarrow\mathsf{Dom} and b𝖤𝗏𝖺𝗅(𝗉𝗋𝖿𝗄,a)b\coloneqq\mathsf{Eval}(\mathsf{prfk},a).

    O𝚌𝚑𝚊𝚕𝚕O_{\mathtt{chall}}:

    When this is invoked (no input), it returns:

    • (a,b)(a,b) where a𝖣𝗈𝗆a\leftarrow\mathsf{Dom} and b𝖤𝗏𝖺𝗅(𝗉𝗋𝖿𝗄,a)b\coloneqq\mathsf{Eval}(\mathsf{prfk},a) if 𝖼𝗈𝗂𝗇=0\mathsf{coin}=0,

    • (a,b)(a,b) where a𝖣𝗈𝗆a\leftarrow\mathsf{Dom} and b𝖱𝖺𝗇b\leftarrow\mathsf{Ran} if 𝖼𝗈𝗂𝗇=1\mathsf{coin}=1.

    This oracle is invoked only once.

  4. 4.

    When 𝒜\mathpzc{A} terminates with output 𝖼𝗈𝗂𝗇\mathsf{coin}^{\prime}, the challenger outputs 11 if 𝖼𝗈𝗂𝗇=𝖼𝗈𝗂𝗇\mathsf{coin}=\mathsf{coin}^{\prime} and 0 otherwise.

We say that 𝖶𝖬𝖯𝖱𝖥\mathsf{WMPRF} is extended weak pseudorandom if for every QPT 𝒜\mathpzc{A}, we have

𝖠𝖽𝗏𝒜,𝖶𝖬𝖯𝖱𝖥𝖾𝗑𝗍-𝗐𝗉𝗋𝖿(λ)=2|Pr[𝖤𝗑𝗉𝒜,𝖶𝖬𝖯𝖱𝖥𝖾𝗑𝗍-𝗐𝗉𝗋𝖿(λ)=1]12|=𝗇𝖾𝗀𝗅(λ).\displaystyle\mathsf{Adv}_{\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{ext}\mbox{-}\mathsf{wprf}}(\lambda)=2\absolutevalue{\Pr[\mathsf{Exp}_{\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{ext}\mbox{-}\mathsf{wprf}}(\lambda)=1]-\frac{1}{2}}={\mathsf{negl}}(\lambda). (21)

3.2 Unremovability against Quantum Adversaries

We define unremovability for watermarking PRFs against quantum adversaries.

Definition 3.6 (Unremovability for private extraction).

We consider the public marking and secret extraction setting here. Let ϵ0\epsilon\geq 0. We define the game 𝖤𝗑𝗉𝗍𝒜,𝖶𝖬𝖯𝖱𝖥𝗇𝗋𝗆𝗏(λ,ϵ)\mathsf{Expt}_{\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{nrmv}}(\lambda,\epsilon) as follows.

  1. 1.

    The challenger generates (𝗉𝗉,𝗑𝗄)𝖲𝖾𝗍𝗎𝗉(1λ)(\mathsf{pp},\mathsf{xk})\leftarrow\mathsf{Setup}(1^{\lambda}) and gives 𝗉𝗉\mathsf{pp} to the adversary 𝒜\mathpzc{A}. 𝒜\mathpzc{A} send 𝗆{0,1}𝗆\mathsf{m}\in\{0,1\}^{\ell_{\mathsf{m}}} to the challenger. The challenger generates (𝗉𝗋𝖿𝗄,τ)𝖦𝖾𝗇(𝗉𝗉)(\mathsf{prfk},\tau)\leftarrow\mathsf{Gen}(\mathsf{pp}), computes C~𝖬𝖺𝗋𝗄(𝗉𝗉,𝗉𝗋𝖿𝗄,𝗆)\widetilde{C}\leftarrow\mathsf{Mark}(\mathsf{pp},\mathsf{prfk},\mathsf{m}), and sends τ\tau and C~\widetilde{C} to 𝒜\mathpzc{A}.

  2. 2.

    𝒜\mathpzc{A} can access to the following oracle.

    O𝚎𝚡𝚝O_{\mathtt{ext}}:

    On input τ\tau^{\prime} and a quantum circuit 𝒞\mathpzc{C}, it returns 𝓍𝓉𝓇𝒶𝒸𝓉(𝗑𝗄,𝒞,τ,ϵ)\mathpzc{Extract}(\mathsf{xk},\mathpzc{C},\tau^{\prime},\epsilon).

  3. 3.

    Finally, the adversary outputs a “pirate” quantum circuit 𝒞A=(𝓆,U)\mathpzc{C}_{\text{\char 65\relax}}=(\mathpzc{q},\boldsymbol{U}), where 𝒞A\mathpzc{C}_{\text{\char 65\relax}} is a quantum program with classical inputs and outputs whose first register (i.e., output register) is 2\mathbb{C}^{2} and 𝑼\boldsymbol{U} is a compact classical description of {𝑼x,y}x𝖣𝗈𝗆,y𝖱𝖺𝗇\{\boldsymbol{U}_{x,y}\}_{x\in\mathsf{Dom},y\in\mathsf{Ran}}.

Let DD be the following distribution.

DD:

Generate b{0,1}b\leftarrow\{0,1\}, x𝖣𝗈𝗆x\leftarrow\mathsf{Dom}, and y0𝖱𝖺𝗇y_{0}\leftarrow\mathsf{Ran}. Compute y1𝖤𝗏𝖺𝗅(𝗉𝗋𝖿𝗄,x)y_{1}\leftarrow\mathsf{Eval}(\mathsf{prfk},x). Output (b,x,yb)(b,x,y_{b}).

We also let 𝒫=(𝐏b,x,y,𝐐b,x,y)b,x,y\mathcal{P}=(\boldsymbol{P}_{b,x,y},\boldsymbol{Q}_{b,x,y})_{b,x,y} be a collection of binary outcome projective measurements, where

𝑷b,x,y=𝑼x,y|bb|𝑼x,y and 𝑸b,x,y=𝑰𝑷b,x,y.\displaystyle\boldsymbol{P}_{b,x,y}=\boldsymbol{U}_{x,y}^{\dagger}\ket{b}\bra{b}\boldsymbol{U}_{x,y}\textrm{~{}~{}~{}~{}and~{}~{}~{}~{}}\boldsymbol{Q}_{b,x,y}=\boldsymbol{I}-\boldsymbol{P}_{b,x,y}. (22)

Moreover, we let D=(𝐏D,𝐐D)\mathcal{M}_{D}=(\boldsymbol{P}_{D},\boldsymbol{Q}_{D}) be binary outcome POVMs, where

𝑷D=r1||𝑷D(r) and 𝑸D=𝑰𝑷D.\displaystyle\boldsymbol{P}_{D}=\sum_{r\in\mathcal{R}}\frac{1}{\absolutevalue{\mathcal{R}}}\boldsymbol{P}_{D(r)}\textrm{~{}~{}~{}~{}and~{}~{}~{}~{}}\boldsymbol{Q}_{D}=\boldsymbol{I}-\boldsymbol{P}_{D}. (23)
𝖫𝗂𝗏𝖾\mathsf{Live}:

When applying the measurement 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)\mathsf{ProjImp}(\mathcal{M}_{D}) to 𝓆\mathpzc{q}, we obtain a value pp such that p12+ϵp\geq\frac{1}{2}+\epsilon.

𝖦𝗈𝗈𝖽𝖤𝗑𝗍\mathsf{GoodExt}:

When Computing 𝗆𝓍𝓉𝓇𝒶𝒸𝓉(𝗑𝗄,𝒞A,τ,ϵ)\mathsf{m}^{\prime}\leftarrow\mathpzc{Extract}(\mathsf{xk},\mathpzc{C}_{\text{\char 65\relax}},\tau,\epsilon), it holds that 𝗆𝗎𝗇𝗆𝖺𝗋𝗄𝖾𝖽\mathsf{m}^{\prime}\neq\mathsf{unmarked}.

𝖡𝖺𝖽𝖤𝗑𝗍\mathsf{BadExt}:

When Computing 𝗆𝓍𝓉𝓇𝒶𝒸𝓉(𝗑𝗄,𝒞A,τ,ϵ)\mathsf{m}^{\prime}\leftarrow\mathpzc{Extract}(\mathsf{xk},\mathpzc{C}_{\text{\char 65\relax}},\tau,\epsilon), it holds that 𝗆{𝗆,𝗎𝗇𝗆𝖺𝗋𝗄𝖾𝖽}\mathsf{m}^{\prime}\notin\{\mathsf{m},\mathsf{unmarked}\}.

We say that 𝖶𝖬𝖯𝖱𝖥\mathsf{WMPRF} satisfies unremovability if for every ϵ>0\epsilon>0 and QPT 𝒜\mathpzc{A}, we have

Pr[𝖡𝖺𝖽𝖤𝗑𝗍]𝗇𝖾𝗀𝗅(λ) and Pr[𝖦𝗈𝗈𝖽𝖤𝗑𝗍]Pr[𝖫𝗂𝗏𝖾]𝗇𝖾𝗀𝗅(λ).\displaystyle\Pr[\mathsf{BadExt}]\leq{\mathsf{negl}}(\lambda)\textrm{~{}~{}~{}~{}and~{}~{}~{}~{}}\Pr[\mathsf{GoodExt}]\geq\Pr[\mathsf{Live}]-{\mathsf{negl}}(\lambda). (24)

Intuitively, (𝑷b,x,y,𝑸b,x,y)(\boldsymbol{P}_{b,x,y},\boldsymbol{Q}_{b,x,y}) is a projective measurement that feeds (x,y)(x,y) to 𝒞A\mathpzc{C}_{\text{\char 65\relax}} and checks whether the outcome is bb or not (and then uncomputes). Then, D\mathcal{M}_{D} can be seen as POVMs that results in 0 with the probability that 𝒞A\mathpzc{C}_{\text{\char 65\relax}} can correctly guess bb from (x,yb)(x,y_{b}) for (b,x,yb)(b,x,y_{b}) generated randomly from DD.

Remark 3.7 (On attack model).

We check whether 𝒞A\mathpzc{C}_{\text{\char 65\relax}} correctly distinguishes a real PRF value from a random value or not by applying 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)\mathsf{ProjImp}(\mathcal{M}_{D}) to 𝓆\mathpzc{q}. This attack model follows the refined and more realistic attack model by Goyal et al. [GKWW21]. The adversary outputs a pirate circuit that computes an entire PRF value in all previous works except their work.

The distinguisher-based pirate circuit model is compatible with the (quantum) pirate decoder model of traitor tracing. Thus, our attack model also follows the attack model of quantum traitor tracing (the black box projection model) by Zhandry [Zha20, Section 4.2].111111In the watermarking setting, an extraction algorithm can take the description of a pirate circuit as input (corresponding to the software decoder model [Zha20, Section 4.2]), unlike the black-box tracing model of traitor tracing. However, we use a pirate circuit in the black box way for our extraction algorithms. Thus, we follow the black box projection model by Zhandry [Zha20].

As in the traitor tracing setting [Zha20], 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)\mathsf{ProjImp}(\mathcal{M}_{D}) is inefficient in general. We can handle this issue as Zhandry did. We will use an approximate version of 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)\mathsf{ProjImp}(\mathcal{M}_{D}) to achieve an efficient reduction. In addition, we cannot apply both 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)\mathsf{ProjImp}(\mathcal{M}_{D}) and 𝓍𝓉𝓇𝒶𝒸𝓉\mathpzc{Extract} to 𝒞A\mathpzc{C}_{\text{\char 65\relax}} simultaneously. However, the condition Pr[𝖦𝗈𝗈𝖽𝖤𝗑𝗍]Pr[𝖫𝗂𝗏𝖾]𝗇𝖾𝗀𝗅(λ)\Pr[\mathsf{GoodExt}]\geq\Pr[\mathsf{Live}]-{\mathsf{negl}}(\lambda) claims that an embedded mark cannot be removed as long as the pirate circuit is alive. This fits the spirit of watermarking. See Zhandry’s paper [Zha20, Section 4] for more discussion on the models.

Remark 3.8 (On selective message).

As we see in Definition 3.6, we consider the selective setting for private extraction case, where 𝒜\mathpzc{A} must send the target message 𝗆\mathsf{m} to the challenger before 𝒜\mathpzc{A} accesses to the oracle O𝚎𝚡𝚝O_{\mathtt{ext}} and after 𝗉𝗉\mathsf{pp} is given. This is the same setting as that by Quach et al. [QWZ18]. We can consider the fully adaptive setting, where 𝒜\mathpzc{A} can send the target message 𝗆\mathsf{m} after it accesses to the oracle O𝚎𝚡𝚝O_{\mathtt{ext}}, as Kim and Wu [KW19]. However, our privately extractable watermarking PRF satisfies only selective security. Thus, we write only the selective variant for the private extraction case.

Definition 3.9 (Unremovability for Public Extraction).

This is the same as Definition 3.6 except we use the game 𝖤𝗑𝗉𝒜,𝖶𝖬𝖯𝖱𝖥𝗉𝗎𝖻-𝖾𝗑𝗍-𝗇𝗋𝗆𝗏(λ,ϵ)\mathsf{Exp}_{\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{pub}\mbox{-}\mathsf{ext}\mbox{-}\mathsf{nrmv}}(\lambda,\epsilon) defined in the same way as 𝖤𝗑𝗉𝗍𝒜,𝖶𝖬𝖯𝖱𝖥𝗇𝗋𝗆𝗏(λ,ϵ)\mathsf{Expt}_{\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{nrmv}}(\lambda,\epsilon) except the following differences.

  • In item 1, 𝒜\mathpzc{A} is given 𝗑𝗄\mathsf{xk} together with 𝗉𝗉\mathsf{pp}.

  • Item 2 is removed.

4 Definition of Extraction-Less Watermarking

We introduce the notion of extraction-less watermarking PRF as an intermediate primitive towards watermarking PRFs secure against quantum adversaries.

4.1 Syntax and Pseudorandomness

Definition 4.1 (Extraction-Less Watermarking PRF).

An extraction-less watermarking PRF 𝖶𝖬𝖯𝖱𝖥\mathsf{WMPRF} for the message space {0,1}𝗆\{0,1\}^{\ell_{\mathsf{m}}} with domain 𝖣𝗈𝗆\mathsf{Dom} and range 𝖱𝖺𝗇\mathsf{Ran} is a tuple of five algorithms (𝖲𝖾𝗍𝗎𝗉,𝖦𝖾𝗇,𝖤𝗏𝖺𝗅,𝖬𝖺𝗋𝗄,𝖲𝗂𝗆)(\mathsf{Setup},\mathsf{Gen},\mathsf{Eval},\mathsf{Mark},\mathsf{Sim}), where the first four algorithms have the same input/output behavior as those defined in Definition 3.1 and 𝖲𝗂𝗆\mathsf{Sim} has the following input/output behavior.

𝖲𝗂𝗆(𝗑𝗄,τ,i)(γ,x,y)\mathsf{Sim}(\mathsf{xk},\tau,i)\rightarrow(\gamma,x,y):

The simulation algorithm 𝖲𝗂𝗆\mathsf{Sim} takes as input the extraction key 𝗑𝗄\mathsf{xk}, a tag τ\tau, and an index ii, and outputs a tuple (γ,x,y)(\gamma,x,y).

Evaluation Correctness:

It is defined in exactly the same way as the evaluation correctness for watermarking PRF defined in Definition 3.1.

Extended pseudorandomness.

Extended pseudorandomness for extraction-less watermarking PRF is defined in exactly the same way as that for watermarking PRF, that is Definition 3.5.

4.2 Simulatability for Mark-Dependent Distributions (SIM-MDD Security)

We introduce the security notion for extraction-less watermarking PRF that we call simulatability for mark-dependent distributions. Let DD and D𝚛𝚎𝚟D^{\mathtt{rev}} be the following distributions.

DD:

Generate b{0,1}b\leftarrow\{0,1\}, x𝖣𝗈𝗆x\leftarrow\mathsf{Dom}, and y0𝖱𝖺𝗇y_{0}\leftarrow\mathsf{Ran}. Compute y1𝖤𝗏𝖺𝗅(𝗉𝗋𝖿𝗄,x)y_{1}\leftarrow\mathsf{Eval}(\mathsf{prfk},x). Output (b,x,yb)(b,x,y_{b}).

D𝚛𝚎𝚟D^{\mathtt{rev}}:

Generate (b,x,y)D(b,x,y)\leftarrow D. Output (1b,x,y)(1\oplus b,x,y).

Namely, DD is the distribution that outputs a random value if the first bit b=0b=0 and a PRF evaluation if the first bit b=1b=1, and D𝚛𝚎𝚟D^{\mathtt{rev}} is its opposite (i.e., a PRF evaluation if b=0b=0 and a random value if b=1b=1). SIM-MDD security is a security notion that guarantees that an adversary given C~𝖬𝖺𝗋𝗄(𝗆𝗄,𝗉𝗋𝖿𝗄,𝗆)\widetilde{C}\leftarrow\mathsf{Mark}(\mathsf{mk},\mathsf{prfk},\mathsf{m}) cannot distinguish an output of 𝖲𝗂𝗆(𝗑𝗄,τ,i)\mathsf{Sim}(\mathsf{xk},\tau,i) from that of DD if 𝗆[i]=0\mathsf{m}[i]=0 and from that of D𝚛𝚎𝚟D^{\mathtt{rev}} if 𝗆[i]=1\mathsf{m}[i]=1.

Definition 4.2 (SIM-MDD Security with Private Simulation).

To define SIM-MDD security with private simulation, we define the game 𝖤𝗑𝗉𝗍i,𝒜,𝖶𝖬𝖯𝖱𝖥𝗌𝗂𝗆-𝗆𝖽𝖽(λ)\mathsf{Expt}_{i^{\ast},\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{sim\textrm{-}mdd}}(\lambda) as follows, where i[𝗆]i^{\ast}\in[{\ell_{\mathsf{m}}}].

  1. 1.

    The challenger generates (𝗉𝗉,𝗑𝗄)𝖲𝖾𝗍𝗎𝗉(1λ)(\mathsf{pp},\mathsf{xk})\leftarrow\mathsf{Setup}(1^{\lambda}) and sends 𝗉𝗉\mathsf{pp} to 𝒜\mathpzc{A}. 𝒜\mathpzc{A} sends 𝗆{0,1}𝗆\mathsf{m}\in\{0,1\}^{\ell_{\mathsf{m}}} to the challenger. The challenger generates (𝗉𝗋𝖿𝗄,τ)𝖦𝖾𝗇(𝗉𝗉)(\mathsf{prfk},\tau)\leftarrow\mathsf{Gen}(\mathsf{pp}) and computes C~𝖬𝖺𝗋𝗄(𝗆𝗄,𝗉𝗋𝖿𝗄,𝗆)\widetilde{C}\leftarrow\mathsf{Mark}(\mathsf{mk},\mathsf{prfk},\mathsf{m}). The challenger sends τ\tau and C~\widetilde{C} to 𝒜\mathpzc{A}.

  2. 2.

    𝒜\mathpzc{A} can access to the following oracle.

    O𝚜𝚒𝚖O_{\mathtt{sim}}:

    On input τ\tau^{\prime} and i[𝗆]i^{\prime}\in[{\ell_{\mathsf{m}}}], it returns 𝖲𝗂𝗆(𝗑𝗄,τ,i)\mathsf{Sim}(\mathsf{xk},\tau^{\prime},i^{\prime}).

  3. 3.

    Let D𝚛𝚎𝚊𝚕,iD_{\mathtt{real},i^{\ast}} be the following distribution. Note that D𝚛𝚎𝚊𝚕,iD_{\mathtt{real},i^{\ast}} is identical with DD if 𝗆[i]=0\mathsf{m}[i^{\ast}]=0 and with D𝚛𝚎𝚟D^{\mathtt{rev}} if 𝗆[i]=1\mathsf{m}[i^{\ast}]=1.

    D𝚛𝚎𝚊𝚕,iD_{\mathtt{real},i^{\ast}}:

    Generate γ{0,1}\gamma\leftarrow\{0,1\} and x𝖣𝗈𝗆x\leftarrow\mathsf{Dom}. Then, if γ=𝗆[i]\gamma=\mathsf{m}[i^{\ast}], generate y𝖱𝖺𝗇y\leftarrow\mathsf{Ran}, and otherwise, compute y𝖤𝗏𝖺𝗅(𝗉𝗋𝖿𝗄,x)y\leftarrow\mathsf{Eval}(\mathsf{prfk},x). Output (γ,x,y)(\gamma,x,y).

    The challenger generates 𝖼𝗈𝗂𝗇{0,1}\mathsf{coin}\leftarrow\{0,1\}. If 𝖼𝗈𝗂𝗇=0\mathsf{coin}=0, the challenger samples (γ,x,y)D𝚛𝚎𝚊𝚕,i(\gamma,x,y)\leftarrow D_{\mathtt{real},i^{\ast}}. If 𝖼𝗈𝗂𝗇=1\mathsf{coin}=1, the challenger generates (γ,x,y)𝖲𝗂𝗆(𝗑𝗄,τ,i)(\gamma,x,y)\leftarrow\mathsf{Sim}(\mathsf{xk},\tau,i^{\ast}). The challenger sends (γ,x,y)(\gamma,x,y) to 𝒜\mathpzc{A}.

  4. 4.

    When 𝒜\mathpzc{A} terminates with output 𝖼𝗈𝗂𝗇\mathsf{coin}^{\prime}, the challenger outputs 11 if 𝖼𝗈𝗂𝗇=𝖼𝗈𝗂𝗇\mathsf{coin}=\mathsf{coin}^{\prime} and 0 otherwise.

Note that 𝒜\mathpzc{A} is not allowed to access to O𝚜𝚒𝚖O_{\mathtt{sim}} after 𝒜\mathpzc{A} is given (γ,x,y)(\gamma,x,y).

We say that 𝖶𝖬𝖯𝖱𝖥\mathsf{WMPRF} is SIM-MDD secure if for every i[𝗆]i^{\ast}\in[{\ell_{\mathsf{m}}}] and QPT 𝒜\mathpzc{A}, we have

𝖠𝖽𝗏i,𝒜,𝖶𝖬𝖯𝖱𝖥𝗌𝗂𝗆-𝗆𝖽𝖽(λ)=2|Pr[𝖤𝗑𝗉𝗍i,𝒜,𝖶𝖬𝖯𝖱𝖥𝗌𝗂𝗆-𝗆𝖽𝖽(λ)=1]12|=𝗇𝖾𝗀𝗅(λ).\displaystyle\mathsf{Adv}_{i^{\ast},\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{sim\textrm{-}mdd}}(\lambda)=2\absolutevalue{\Pr[\mathsf{Expt}_{i^{\ast},\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{sim\textrm{-}mdd}}(\lambda)=1]-\frac{1}{2}}={\mathsf{negl}}(\lambda). (25)

We consider the selective setting above as unremovability for private extraction in Definition 3.6 since we use SIM-MDD security with private simulation to achieve unremovability for private simulation.

Remark 4.3 (On multi challenge security).

We can prove that the above definition implies the multi-challenge variant where polynomially many outputs of 𝖲𝗂𝗆(𝗑𝗄,τ,i)\mathsf{Sim}(\mathsf{xk},\tau,i^{\ast}) are required to be indistinguishable from those of D𝚛𝚎𝚊𝚕,iD_{\mathtt{real},i^{\ast}}. This is done by hybrid arguments where outputs of 𝖲𝗂𝗆(𝗑𝗄,τ,i)\mathsf{Sim}(\mathsf{xk},\tau,i^{\ast}) are simulated using O𝚜𝚒𝚖O_{\mathtt{sim}} and those of D𝚛𝚎𝚊𝚕,iD_{\mathtt{real},i^{\ast}} are simulated using C~\widetilde{C}. To apply Theorem 2.11, we need the multi challenge variant. However, we consider the single challenge variant due to the implication above. A similar remark is applied to the variants of SIM-MDD security introduced below.

SIM-MDD security with private simulation under the 𝒜𝒫\mathpzc{API} oracle.

Let the 𝒜𝒫\mathpzc{API} oracle be an oracle that is given (ϵ,δ,τ,i)(\epsilon,\delta,\tau^{\prime},i^{\prime}) and a quantum state 𝓆\mathpzc{q}, and returns the result of 𝒜𝒫𝒫,𝖣τ,𝒾ϵ,δ(𝓆)\mathpzc{API}^{\epsilon,\delta}_{\mathcal{P},\mathsf{D}_{\tau^{\prime},i^{\prime}}}(\mathpzc{q}) and the post measurement state, where 𝒫\mathcal{P} is defined in the same way as that in Definition 3.6 and 𝖣τ,i\mathsf{D}_{\tau^{\prime},i^{\prime}} be the distribution that outputs randomly generated (γ,x,y)𝖲𝗂𝗆(𝗑𝗄,τ,i)(\gamma,x,y)\leftarrow\mathsf{Sim}(\mathsf{xk},\tau^{\prime},i^{\prime}). The 𝒜𝒫\mathpzc{API} oracle cannot be simulated using the simulation oracle O𝚜𝚒𝚖O_{\mathtt{sim}} since we need superposition of outputs of 𝖲𝗂𝗆\mathsf{Sim} to compute 𝒜𝒫𝒫,𝖣τ,𝒾ϵ,δ(𝓆)\mathpzc{API}^{\epsilon,\delta}_{\mathcal{P},\mathsf{D}_{\tau^{\prime},i^{\prime}}}(\mathpzc{q}). When constructing watermarking PRFs with private simulation from extraction-less watermarking PRFs, the underlying extraction-less watermarking PRF scheme needs to satisfy SIM-MDD security with private simulation under the 𝒜𝒫\mathpzc{API} oracle that we call QSIM-MDD security with private simulation. The reason is as follows. In the security analysis of the construction, the indistinguishability guarantee provided by SIM-MDD security needs to hold for an adversary against the resulting watermarking scheme who can access the extraction oracle. This means that it also needs to hold for an adversary who can access the 𝒜𝒫\mathpzc{API} oracle since 𝒜𝒫\mathpzc{API} is repeatedly invoked in the extraction algorithm of the resulting scheme.

Fortunately, as we will see, we can generically convert an extraction-less watermarking PRF scheme satisfying SIM-MDD security with private simulation into one satisfying QSIM-MDD security with private simulation, using QPRFs. Thus, when realizing an extraction-less watermarking PRF scheme as an intermediate step towards privately extractable watermarking PRFs, we can concentrate on realizing one satisfying SIM-MDD security with private simulation.

Remark 4.4.

There is a similar issue in the traitor tracing setting. If PLBE is a secret-key based one, we need a counterpart of QSIM-MDD in secret-key based PLBE to achieve traitor tracing with a secret tracing algorithm against quantum adversaries by using Zhandry’s framework [Zha20]. Note that Zhandry focuses on public-key based PLBE in his work [Zha20].

Definition 4.5 (QSIM-MDD Security with Private Simulation).

Let 𝖣τ,i\mathsf{D}_{\tau,i} be a distribution defined as follows.

𝖣τ,i\mathsf{D}_{\tau,i}:

Output (γ,x,y)𝖲𝗂𝗆(𝗑𝗄,τ,i)(\gamma,x,y)\leftarrow\mathsf{Sim}(\mathsf{xk},\tau,i).

Then, we define the game 𝖤𝗑𝗉i,𝒜,𝖶𝖬𝖯𝖱𝖥𝗊-𝗌𝗂𝗆-𝗆𝖽𝖽(λ)\mathsf{Exp}_{i^{\ast},\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{q}\mbox{-}\mathsf{sim}\mbox{-}\mathsf{mdd}}(\lambda) in the same way as 𝖤𝗑𝗉i,𝒜,𝖶𝖬𝖯𝖱𝖥𝗌𝗂𝗆-𝗆𝖽𝖽(λ)\mathsf{Exp}_{i^{\ast},\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{sim}\mbox{-}\mathsf{mdd}}(\lambda) except that in addition to O𝚜𝚒𝚖O_{\mathtt{sim}}, 𝒜\mathpzc{A} can access to the following oracle in the step 2.

O𝚊𝚙𝚒O_{\mathtt{api}}:

On input (ϵ,δ,τ,i)(\epsilon,\delta,\tau^{\prime},i^{\prime}) and a quantum state 𝓆\mathpzc{q}, it returns the result of 𝒜𝒫𝒫,𝖣τ,𝒾ϵ,δ(𝓆)\mathpzc{API}^{\epsilon,\delta}_{\mathcal{P},\mathsf{D}_{\tau^{\prime},i^{\prime}}}(\mathpzc{q}) and the post measurement state, where 𝒫\mathcal{P} is defined in the same way as that in Definition 3.6.

We say that 𝖶𝖬𝖯𝖱𝖥\mathsf{WMPRF} is QSIM-MDD secure with private simulation if for every i[𝗆]i^{\ast}\in[{\ell_{\mathsf{m}}}] and QPT 𝒜\mathpzc{A}, we have

𝖠𝖽𝗏i,𝒜,𝖶𝖬𝖯𝖱𝖥𝗊-𝗌𝗂𝗆-𝗆𝖽𝖽(λ)=2|Pr[𝖤𝗑𝗉i,𝒜,𝖶𝖬𝖯𝖱𝖥𝗊-𝗌𝗂𝗆-𝗆𝖽𝖽(λ)=1]12|=𝗇𝖾𝗀𝗅(λ).\displaystyle\mathsf{Adv}_{i^{\ast},\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{q}\mbox{-}\mathsf{sim}\mbox{-}\mathsf{mdd}}(\lambda)=2\absolutevalue{\Pr[\mathsf{Exp}_{i^{\ast},\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{q}\mbox{-}\mathsf{sim}\mbox{-}\mathsf{mdd}}(\lambda)=1]-\frac{1}{2}}={\mathsf{negl}}(\lambda). (26)

We have the following theorem.

Theorem 4.6.

Assume there exists an extraction-less watermarking PRF scheme satisfying SIM-MDD security with private simulation and a QPRF. Then, there exists an extraction-less watermarking PRF scheme satisfying QSIM-MDD security with private simulation.

We prove this theorem in Appendix A.

Definition 4.7 (SIM-MDD Security with Public Simulation).

We define the game 𝖤𝗑𝗉i,𝒜,𝖶𝖬𝖯𝖱𝖥𝗌𝗂𝗆-𝗆𝖽𝖽-𝗉𝗎𝖻(λ)\mathsf{Exp}_{i^{\ast},\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{sim}\mbox{-}\mathsf{mdd}\mbox{-}\mathsf{pub}}(\lambda) in the same way as 𝖤𝗑𝗉𝗍i,𝒜,𝖶𝖬𝖯𝖱𝖥𝗌𝗂𝗆-𝗆𝖽𝖽(λ)\mathsf{Expt}_{i^{\ast},\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{sim\textrm{-}mdd}}(\lambda) except the following differences, where i[𝗆]i^{\ast}\in[{\ell_{\mathsf{m}}}].

  • In item 1, 𝒜\mathpzc{A} is given 𝗑𝗄\mathsf{xk} together with 𝗉𝗉\mathsf{pp}.

  • Item 2 is removed.

We say that 𝖶𝖬𝖯𝖱𝖥\mathsf{WMPRF} satisfies SIM-MDD security with public simulation if for every i[𝗆]i^{\ast}\in[{\ell_{\mathsf{m}}}] and QPT 𝒜\mathpzc{A}, we have

𝖠𝖽𝗏i,𝒜,𝖶𝖬𝖯𝖱𝖥𝗌𝗂𝗆-𝗆𝖽𝖽-𝗉𝗎𝖻(λ)=2|Pr[𝖤𝗑𝗉i,𝒜,𝖶𝖬𝖯𝖱𝖥𝗌𝗂𝗆-𝗆𝖽𝖽-𝗉𝗎𝖻(λ)=1]12|=𝗇𝖾𝗀𝗅(λ).\displaystyle\mathsf{Adv}_{i^{\ast},\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{sim}\mbox{-}\mathsf{mdd}\mbox{-}\mathsf{pub}}(\lambda)=2\absolutevalue{\Pr[\mathsf{Exp}_{i^{\ast},\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{sim}\mbox{-}\mathsf{mdd}\mbox{-}\mathsf{pub}}(\lambda)=1]-\frac{1}{2}}={\mathsf{negl}}(\lambda). (27)

5 Watermarking PRF from Extraction-Less Watermarking PRF

We show how to construct watermarking PRF secure against quantum adversaries from extraction-less watermarking PRF.

Let 𝖤𝖫𝖶𝖬𝖯𝖱𝖥=(𝖲𝖾𝗍𝗎𝗉,𝖦𝖾𝗇,𝖤𝗏𝖺𝗅,𝖬𝖺𝗋𝗄,𝖲𝗂𝗆)\mathsf{ELWMPRF}=(\mathsf{Setup},\mathsf{Gen},\mathsf{Eval},\mathsf{Mark},\mathsf{Sim}) be an extraction-less watermarking PRF scheme whose message space is {0,1}𝗆+1\{0,1\}^{{\ell_{\mathsf{m}}}+1}. We construct a watermarking PRF scheme 𝖶𝖬𝖯𝖱𝖥=(𝖶𝖬.𝖲𝖾𝗍𝗎𝗉,𝖶𝖬.𝖦𝖾𝗇,𝖶𝖬.𝖤𝗏𝖺𝗅,𝖶𝖬.𝖬𝖺𝗋𝗄,𝓍𝓉𝓇𝒶𝒸𝓉)\mathsf{WMPRF}=(\mathsf{WM}.\mathsf{Setup},\allowbreak\mathsf{WM}.\mathsf{Gen},\mathsf{WM}.\mathsf{Eval},\mathsf{WM}.\mathsf{Mark},\mathpzc{Extract}) whose message space is {0,1}𝗆\{0,1\}^{{\ell_{\mathsf{m}}}} as follows. We use 𝖲𝖾𝗍𝗎𝗉\mathsf{Setup}, 𝖦𝖾𝗇\mathsf{Gen}, and 𝖤𝗏𝖺𝗅\mathsf{Eval} as 𝖶𝖬.𝖲𝖾𝗍𝗎𝗉\mathsf{WM}.\mathsf{Setup}, 𝖶𝖬.𝖦𝖾𝗇\mathsf{WM}.\mathsf{Gen}, and 𝖶𝖬.𝖤𝗏𝖺𝗅\mathsf{WM}.\mathsf{Eval}, respectively. Thus, the domain and range of 𝖶𝖬𝖯𝖱𝖥\mathsf{WMPRF} are the same as those of 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF}. Also, we construct 𝖶𝖬.𝖬𝖺𝗋𝗄\mathsf{WM}.\mathsf{Mark} and 𝓍𝓉𝓇𝒶𝒸𝓉\mathpzc{Extract} as follows.

𝖶𝖬.𝖬𝖺𝗋𝗄(𝗉𝗉,𝗉𝗋𝖿𝗄,𝗆)\mathsf{WM}.\mathsf{Mark}(\mathsf{pp},\mathsf{prfk},\mathsf{m}):

  • Output C~𝖬𝖺𝗋𝗄(𝗉𝗉,𝗉𝗋𝖿𝗄,𝗆0)\widetilde{C}\leftarrow\mathsf{Mark}(\mathsf{pp},\mathsf{prfk},\mathsf{m}\|0).

𝓍𝓉𝓇𝒶𝒸𝓉(𝗑𝗄,𝒞,τ,ϵ)\mathpzc{Extract}(\mathsf{xk},\mathpzc{C},\tau,\epsilon):

  • Let ϵ=ϵ/4(𝗆+1)\epsilon^{\prime}=\epsilon/4({\ell_{\mathsf{m}}}+1) and δ=2λ\delta^{\prime}=2^{-\lambda}.

  • Parse (𝓆,U)𝒞(\mathpzc{q},\boldsymbol{U})\leftarrow\mathpzc{C}.

  • Let 𝒫\mathcal{P} be defined in the same way as that in Definition 3.6 and Dτ,iD_{\tau,i} be the following distribution for every i[𝗆+1]i\in[{\ell_{\mathsf{m}}}+1].

    Dτ,iD_{\tau,i}:

    Output (γ,x,y)𝖲𝗂𝗆(𝗑𝗄,τ,i)(\gamma,x,y)\leftarrow\mathsf{Sim}(\mathsf{xk},\tau,i).

  • Compute p~𝗆+1𝒜𝒫𝒫,𝒟τ,𝗆+1ϵ,δ(𝓆)\widetilde{p}_{{\ell_{\mathsf{m}}}+1}\leftarrow\mathpzc{API}_{\mathcal{P},D_{\tau,{\ell_{\mathsf{m}}}+1}}^{\epsilon^{\prime},\delta^{\prime}}(\mathpzc{q}). If p~𝗆+1<12+ϵ4ϵ\widetilde{p}_{{\ell_{\mathsf{m}}}+1}<\frac{1}{2}+\epsilon-4\epsilon^{\prime}, return 𝗎𝗇𝗆𝖺𝗋𝗄𝖾𝖽\mathsf{unmarked}. Otherwise, letting 𝓆0\mathpzc{q}_{0} be the post-measurement state, go to the next step.

  • For all i[𝗆]i\in[{\ell_{\mathsf{m}}}], do the following.

    1. 1.

      Compute p~i𝒜𝒫𝒫,𝒟τ,𝒾ϵ,δ(𝓆𝒾1)\widetilde{p}_{i}\leftarrow\mathpzc{API}_{\mathcal{P},D_{\tau,i}}^{\epsilon^{\prime},\delta^{\prime}}(\mathpzc{q}_{i-1}). Let 𝓆𝒾\mathpzc{q}_{i} be the post-measurement state.

    2. 2.

      If p~i>12+ϵ4(i+1)ϵ\widetilde{p}_{i}>\frac{1}{2}+\epsilon-4(i+1)\epsilon^{\prime}, set 𝗆i=0\mathsf{m}^{\prime}_{i}=0. If p~i<12ϵ+4(i+1)ϵ\widetilde{p}_{i}<\frac{1}{2}-\epsilon+4(i+1)\epsilon^{\prime}, set 𝗆i=1\mathsf{m}^{\prime}_{i}=1. Otherwise, exit the loop and output 𝗆=0𝗆\mathsf{m}^{\prime}=0^{{\ell_{\mathsf{m}}}}.

  • Output 𝗆=𝗆1𝗆𝗆\mathsf{m}^{\prime}=\mathsf{m}^{\prime}_{1}\|\cdots\|\mathsf{m}^{\prime}_{{\ell_{\mathsf{m}}}}.

We have the following theorems.

Theorem 5.1.

If 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF} satisfies extended weak pseudorandomness against authority, then so does 𝖶𝖬𝖯𝖱𝖥\mathsf{WMPRF}.

Theorem 5.2.

If 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF} is an extraction-less watermarking PRF that satisfies QSIM-MDD security, 𝖶𝖬𝖯𝖱𝖥\mathsf{WMPRF} is a privately extractable watermarking PRF.

Theorem 5.3.

If 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF} is an extraction-less watermarking PRF that satisfies SIM-MDD security with public simulation, 𝖶𝖬𝖯𝖱𝖥\mathsf{WMPRF} is a publicly extractable watermarking PRF.

It is clear that Theorem 5.1 holds since the evaluation algorithm of 𝖶𝖬𝖯𝖱𝖥\mathsf{WMPRF} is the same as that of 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF} and extended weak pseudorandomness is insensitive to how the marking and extraction algorithms are defined. Thus, we omit a formal proof.

The proofs of Theorems 5.2 and 5.3 are almost the same. Thus, we only provide the proof for the former, and omit the proof for the latter.

Proof of Theorem 5.2.

Let ϵ>0\epsilon>0. Let 𝒜\mathpzc{A} be a QPT adversary attacking the unremovability of 𝖶𝖬𝖯𝖱𝖥\mathsf{WMPRF}. The description of 𝖤𝗑𝗉𝗍𝒜,𝖶𝖬𝖯𝖱𝖥𝗇𝗋𝗆𝗏(λ,ϵ)\mathsf{Expt}_{\mathpzc{A},\mathsf{WMPRF}}^{\mathsf{nrmv}}(\lambda,\epsilon) is as follows.

  1. 1.

    The challenger generates (𝗉𝗉,𝗑𝗄)𝖲𝖾𝗍𝗎𝗉(1λ)(\mathsf{pp},\mathsf{xk})\leftarrow\mathsf{Setup}(1^{\lambda}) and gives 𝗉𝗉\mathsf{pp} to the adversary 𝒜\mathpzc{A}. 𝒜\mathpzc{A} sends 𝗆{0,1}𝗆\mathsf{m}\in\{0,1\}^{\ell_{\mathsf{m}}} to the challenger. The challenger generates (𝗉𝗋𝖿𝗄,τ)𝖦𝖾𝗇(𝗉𝗉)(\mathsf{prfk},\tau)\leftarrow\mathsf{Gen}(\mathsf{pp}), computes C~𝖬𝖺𝗋𝗄(𝗉𝗉,𝗉𝗋𝖿𝗄,𝗆0)\widetilde{C}\leftarrow\mathsf{Mark}(\mathsf{pp},\mathsf{prfk},\mathsf{m}\|0), and sends C~\widetilde{C} to 𝒜\mathpzc{A}.

  2. 2.

    𝒜\mathpzc{A} can access to the following oracle.

    O𝚎𝚡𝚝O_{\mathtt{ext}}:

    On input τ\tau^{\prime} and a quantum circuit 𝒞\mathpzc{C}, it returns 𝓍𝓉𝓇𝒶𝒸𝓉(𝗑𝗄,𝒞,τ,ϵ)\mathpzc{Extract}(\mathsf{xk},\mathpzc{C},\tau^{\prime},\epsilon).

  3. 3.

    Finally, the adversary outputs a quantum circuit 𝒞A=(𝓆,U)\mathpzc{C}_{\text{\char 65\relax}}=(\mathpzc{q},\boldsymbol{U}).

We define DD, 𝒫\mathcal{P}, D\mathcal{M}_{D}, and the three events 𝖫𝗂𝗏𝖾\mathsf{Live}, 𝖦𝗈𝗈𝖽𝖤𝗑𝗍\mathsf{GoodExt}, and 𝖡𝖺𝖽𝖤𝗑𝗍\mathsf{BadExt} in the same way as Definition 3.6.

The proof of Pr[𝖦𝗈𝗈𝖽𝖤𝗑𝗍]Pr[𝖫𝗂𝗏𝖾]𝗇𝖾𝗀𝗅(λ)\Pr[\mathsf{GoodExt}]\geq\Pr[\mathsf{Live}]-{\mathsf{negl}}(\lambda).

𝓍𝓉𝓇𝒶𝒸𝓉\mathpzc{Extract} outputs 𝗎𝗇𝗆𝖺𝗋𝗄𝖾𝖽\mathsf{unmarked} if and only if p~+1<12+ϵ4ϵ\widetilde{p}_{\ell+1}<\frac{1}{2}+\epsilon-4\epsilon^{\prime}, that is we have Pr[𝖦𝗈𝗈𝖽𝖤𝗑𝗍]=Pr[p~+112+ϵ4ϵ]\Pr[\mathsf{GoodExt}]=\Pr[\widetilde{p}_{\ell+1}\geq\frac{1}{2}+\epsilon-4\epsilon^{\prime}]. Let pp the probability obtained by applying 𝖯𝗋𝗈𝗃𝖨𝗆𝗉(D)\mathsf{ProjImp}(\mathcal{M}_{D}) to 𝓆\mathpzc{q}. Then, we have Pr[𝖫𝗂𝗏𝖾]=Pr[p12+ϵ]\Pr[\mathsf{Live}]=\Pr[p\geq\frac{1}{2}+\epsilon]. Let p~\widetilde{p} be the outcome obtained if we apply 𝒜𝒫𝒫,𝒟ϵ,δ\mathpzc{API}_{\mathcal{P},D}^{\epsilon^{\prime},\delta^{\prime}} to 𝓆\mathpzc{q}. From the property of 𝒜𝒫\mathpzc{API}, we have

Pr[𝖫𝗂𝗏𝖾]=Pr[p12+ϵ]Pr[p~12+ϵϵ]+𝗇𝖾𝗀𝗅(λ).\displaystyle\Pr[\mathsf{Live}]=\Pr[p\geq\frac{1}{2}+\epsilon]\leq\Pr[\widetilde{p}\geq\frac{1}{2}+\epsilon-\epsilon^{\prime}]+{\mathsf{negl}}(\lambda). (28)

DD and Dτ,𝗆+1D_{\tau,{\ell_{\mathsf{m}}}+1} are computationally indistinguishable from the QSIM-MDD security of 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF} since outputs of 𝖲𝗂𝗆(𝗑𝗄,τ,i)\mathsf{Sim}(\mathsf{xk},\tau,i) is indistinguishable from those of DD if 𝗆[i]=0\mathsf{m}[i]=0. This indistinguishability holds even under the existence of O𝚊𝚙𝚒O_{\mathtt{api}}. Then, from Theorem 2.11, we have

Pr[p~12+ϵϵ]Pr[p~+112+ϵ4ϵ]+𝗇𝖾𝗀𝗅(λ)=Pr[𝖦𝗈𝗈𝖽𝖤𝗑𝗍]+𝗇𝖾𝗀𝗅(λ).\displaystyle\Pr[\widetilde{p}\geq\frac{1}{2}+\epsilon-\epsilon^{\prime}]\leq\Pr[\widetilde{p}_{\ell+1}\geq\frac{1}{2}+\epsilon-4\epsilon^{\prime}]+{\mathsf{negl}}(\lambda)=\Pr[\mathsf{GoodExt}]+{\mathsf{negl}}(\lambda). (29)

By combining the above two equations, we obtain Pr[𝖦𝗈𝗈𝖽𝖤𝗑𝗍]Pr[𝖫𝗂𝗏𝖾]𝗇𝖾𝗀𝗅(λ)\Pr[\mathsf{GoodExt}]\geq\Pr[\mathsf{Live}]-{\mathsf{negl}}(\lambda).

The reason DD and Dτ,+1D_{\tau,\ell+1} need to be computationally indistinguishable under the existence of O𝚊𝚙𝚒O_{\mathtt{api}} to apply Theorem 2.11 is as follows. In this application of Theorem 2.11, the quantum state appeared in the statement of it is set as 𝓆\mathpzc{q} contained in the quantum circuit 𝒞\mathpzc{C} output by 𝒜\mathpzc{A}. Then, Theorem 2.11 (implicitly) requires that DD and Dτ,+1D_{\tau,\ell+1} be indistinguishable for distinguishers who can construct 𝓆\mathpzc{q}. To construct 𝓆\mathpzc{q}, we need to execute 𝒜\mathpzc{A} who can access to O𝚎𝚡𝚝O_{\mathtt{ext}} in which 𝒜𝒫\mathpzc{API} is repeatedly executed. This is the reason DD and Dτ,+1D_{\tau,\ell+1} need to be indistinguishable under the existence of O𝚊𝚙𝚒O_{\mathtt{api}}.

The proof of Pr[𝖡𝖺𝖽𝖤𝗑𝗍]𝗇𝖾𝗀𝗅(λ)\Pr[\mathsf{BadExt}]\leq{\mathsf{negl}}(\lambda).

We define the event 𝖡𝖺𝖽𝖤𝗑𝗍i\mathsf{BadExt}_{i} as follows for every i[𝗆]i\in[{\ell_{\mathsf{m}}}].

𝖡𝖺𝖽𝖤𝗑𝗍i\mathsf{BadExt}_{i}:

When Running 𝓍𝓉𝓇𝒶𝒸𝓉(𝗑𝗄,𝒞A,τ,ϵ)\mathpzc{Extract}(\mathsf{xk},\mathpzc{C}_{\text{\char 65\relax}},\tau^{*},\epsilon), the following conditions hold.

  • p~+112+ϵ4ϵ\widetilde{p}_{\ell+1}\geq\frac{1}{2}+\epsilon-4\epsilon^{\prime} holds.

  • 𝗆j=𝗆j\mathsf{m}^{\prime}_{j}=\mathsf{m}_{j} holds for every j[i1]j\in[i-1].

  • 𝓍𝓉𝓇𝒶𝒸𝓉\mathpzc{Extract} exits the ii-th loop or 𝗆i𝗆i\mathsf{m}^{\prime}_{i}\neq\mathsf{m}_{i} holds.

Then, we have Pr[𝖡𝖺𝖽𝖤𝗑𝗍]i[]Pr[𝖡𝖺𝖽𝖤𝗑𝗍i]\Pr[\mathsf{BadExt}]\leq\sum_{i\in[\ell]}\Pr[\mathsf{BadExt}_{i}]. Below, we estimate Pr[𝖡𝖺𝖽𝖤𝗑𝗍i]\Pr[\mathsf{BadExt}_{i}].

We first consider the case of 𝗆i1=0\mathsf{m}_{i-1}=0 and 𝗆i=0\mathsf{m}_{i}=0. Assume 𝗆i1=𝗆i1=0\mathsf{m}^{\prime}_{i-1}=\mathsf{m}_{i-1}=0 holds. Then, we have p~i1>12+ϵ4iϵ\widetilde{p}_{i-1}>\frac{1}{2}+\epsilon-4i\epsilon^{\prime}. Let p~i1𝒜𝒫𝒫,𝒟τ,𝒾1ϵ,δ(𝓆𝒾1)\widetilde{p}^{\prime}_{i-1}\leftarrow\mathpzc{API}_{\mathcal{P},D_{\tau,i-1}}^{\epsilon^{\prime},\delta^{\prime}}(\mathpzc{q}_{i-1}). From, the almost-projective property of 𝒜𝒫\mathpzc{API}, we have

Pr[p~i1>12+ϵ4iϵϵ]1δ.\displaystyle\Pr[\widetilde{p}^{\prime}_{i-1}>\frac{1}{2}+\epsilon-4i\epsilon^{\prime}-\epsilon^{\prime}]\geq 1-\delta^{\prime}. (30)

When 𝗆i1=0\mathsf{m}_{i-1}=0 and 𝗆i=0\mathsf{m}_{i}=0, Dτ,i1D_{\tau,i-1} and Dτ,iD_{\tau,i} are computationally indistinguishable since both of them are computationally indistinguishable from DD by the QSIM-MDD security of 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF}. This indistinguishability holds under the existence of O𝚊𝚙𝚒O_{\mathtt{api}}. Thus, from Theorem 2.11, we have

1δPr[p~i1>12+ϵ(4i+1)ϵ]Pr[p~i>12+ϵ4(i+1)ϵ]+𝗇𝖾𝗀𝗅(λ).\displaystyle 1-\delta^{\prime}\leq\Pr[\widetilde{p}^{\prime}_{i-1}>\frac{1}{2}+\epsilon-(4i+1)\epsilon^{\prime}]\leq\Pr[\widetilde{p}_{i}>\frac{1}{2}+\epsilon-4(i+1)\epsilon^{\prime}]+{\mathsf{negl}}(\lambda). (31)

This means that Pr[𝖡𝖺𝖽𝖤𝗑𝗍i]=𝗇𝖾𝗀𝗅(λ)\Pr[\mathsf{BadExt}_{i}]={\mathsf{negl}}(\lambda) in this case. Note that the reason the indistinguishability of Dτ,i1D_{\tau,i-1} and Dτ,iD_{\tau,i} needs to hold under O𝚊𝚙𝚒O_{\mathtt{api}} is that Theorem 2.11 requires it hold for distinguishers who can construct 𝓆𝒾1\mathpzc{q}_{i-1}.

Next, we consider the case of 𝗆i1=0\mathsf{m}_{i-1}=0 and 𝗆i=1\mathsf{m}_{i}=1. Assume 𝗆i1=𝗆i1=0\mathsf{m}^{\prime}_{i-1}=\mathsf{m}_{i-1}=0 holds. Then, we have p~i1>12+ϵ4iϵ\widetilde{p}_{i-1}>\frac{1}{2}+\epsilon-4i\epsilon^{\prime}. We then define an additional distribution Dτ,i𝚛𝚎𝚟D^{\mathtt{rev}}_{\tau,i} as follows.

Dτ,i𝚛𝚎𝚟D^{\mathtt{rev}}_{\tau,i}:

Generate (γ,x,y)𝖲𝗂𝗆(𝗑𝗄,τ,i)(\gamma,x,y)\leftarrow\mathsf{Sim}(\mathsf{xk},\tau,i). Output (1γ,x,y)(1\oplus\gamma,x,y).

That is, the first bit of the output is flipped from 𝖣τ,i\mathsf{D}_{\tau,i}. Then, for any random coin rr, we have (𝑷Dτ,i𝚛𝚎𝚟(r),𝑸Dτ,i𝚛𝚎𝚟(r))=(𝑸𝖣τ,i(r),𝑷𝖣τ,i(r))(\boldsymbol{P}_{D^{\mathtt{rev}}_{\tau,i}(r)},\boldsymbol{Q}_{D^{\mathtt{rev}}_{\tau,i}(r)})=(\boldsymbol{Q}_{\mathsf{D}_{\tau,i}(r)},\boldsymbol{P}_{\mathsf{D}_{\tau,i}(r)}). This is because we have 𝑸b,x,y=𝑰𝑷b,x,y=𝑷1b,x,y\boldsymbol{Q}_{b,x,y}=\boldsymbol{I}-\boldsymbol{P}_{b,x,y}=\boldsymbol{P}_{1\oplus b,x,y} for any tuple (b,x,y)(b,x,y). Therefore, 𝒜𝒫𝒫,𝒟τ,𝒾1𝚛𝚎𝚟ϵ,δ\mathpzc{API}_{\mathcal{P},D^{\mathtt{rev}}_{\tau,i-1}}^{\epsilon^{\prime},\delta^{\prime}} is exactly the same process as 𝒜𝒫𝒫𝚛𝚎𝚟,𝖣τ,𝒾1ϵ,δ\mathpzc{API}_{\mathcal{P}^{\mathtt{rev}},\mathsf{D}_{\tau,i-1}}^{\epsilon^{\prime},\delta^{\prime}}. Let p~i1𝒜𝒫𝒫,𝒟τ,𝒾1𝚛𝚎𝚟ϵ,δ(𝓆𝒾1)\widetilde{p}^{\prime}_{i-1}\leftarrow\mathpzc{API}_{\mathcal{P},D^{\mathtt{rev}}_{\tau,i-1}}^{\epsilon^{\prime},\delta^{\prime}}(\mathpzc{q}_{i-1}). From, the reverse-almost-projective property of 𝒜𝒫\mathpzc{API}, we have

Pr[p~i1<12ϵ+4iϵ+ϵ]1δ.\displaystyle\Pr[\widetilde{p}^{\prime}_{i-1}<\frac{1}{2}-\epsilon+4i\epsilon^{\prime}+\epsilon^{\prime}]\geq 1-\delta^{\prime}. (32)

When 𝗆i1=0\mathsf{m}_{i-1}=0 and 𝗆i=1\mathsf{m}_{i}=1, Dτ,i1𝚛𝚎𝚟D^{\mathtt{rev}}_{\tau,i-1} and Dτ,iD_{\tau,i} are computationally indistinguishable since both of them are computationally indistinguishable from the following distribution D𝚛𝚎𝚟D^{\mathtt{rev}} by the QSIM-MDD security of 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF}.

D𝚛𝚎𝚟D^{\mathtt{rev}}:

Generate (γ,x,y)D(\gamma,x,y)\leftarrow D. Output (1γ,x,y)(1\oplus\gamma,x,y).

This indistinguishability holds under the existence of O𝚊𝚙𝚒O_{\mathtt{api}}. Thus, from Theorem 2.11, we have

1δPr[p~i1<12ϵ+(4i+1)ϵ]Pr[p~i<12ϵ+4(i+1)ϵ]+𝗇𝖾𝗀𝗅(λ).\displaystyle 1-\delta^{\prime}\leq\Pr[\widetilde{p}^{\prime}_{i-1}<\frac{1}{2}-\epsilon+(4i+1)\epsilon^{\prime}]\leq\Pr[\widetilde{p}_{i}<\frac{1}{2}-\epsilon+4(i+1)\epsilon^{\prime}]+{\mathsf{negl}}(\lambda). (33)

This means that Pr[𝖡𝖺𝖽𝖤𝗑𝗍i]=𝗇𝖾𝗀𝗅(λ)\Pr[\mathsf{BadExt}_{i}]={\mathsf{negl}}(\lambda) also in this case. Note that the reason the indistinguishability of Dτ,i1𝚛𝚎𝚟D^{\mathtt{rev}}_{\tau,i-1} and Dτ,iD_{\tau,i} needs to hold under O𝚊𝚙𝚒O_{\mathtt{api}} is that Theorem 2.11 requires it hold for distinguishers who can construct 𝓆𝒾1\mathpzc{q}_{i-1}.

Similarly, we can prove that Pr[𝖡𝖺𝖽𝖤𝗑𝗍i]=𝗇𝖾𝗀𝗅(λ)\Pr[\mathsf{BadExt}_{i}]={\mathsf{negl}}(\lambda) holds in the case of (𝗆i1,𝗆i)=(1,0)(\mathsf{m}_{i-1},\mathsf{m}_{i})=(1,0) and (𝗆i1,𝗆i)=(1,1)(\mathsf{m}_{i-1},\mathsf{m}_{i})=(1,1).

Overall, we see that Pr[𝖡𝖺𝖽𝖤𝗑𝗍]=𝗇𝖾𝗀𝗅(λ)\Pr[\mathsf{BadExt}]={\mathsf{negl}}(\lambda) holds in all cases.   

6 Extraction-Less Watermarking PRF from LWE

We present an extraction-less watermarking PRF, denoted by 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}}, whose message space is {0,1}𝗆\{0,1\}^{{\ell_{\mathsf{m}}}} with domain {0,1}n\{0,1\}^{n} and range {0,1}m\{0,1\}^{m}. We use the following tools, which can be instantiated with the QLWE assumption (See Theorems 2.30, 2.27 and 2.24):

  • Private CPRF 𝖢𝖯𝖱𝖥=(𝖢𝖯𝖱𝖥.𝖲𝖾𝗍𝗎𝗉,𝖢𝖯𝖱𝖥.𝖤𝗏𝖺𝗅,𝖢𝖯𝖱𝖥.𝖢𝗈𝗇𝗌𝗍𝗋𝖺𝗂𝗇,𝖢𝖯𝖱𝖥.𝖢𝖤𝗏𝖺𝗅)\mathsf{CPRF}=(\mathsf{CPRF}.\mathsf{Setup},\mathsf{CPRF}.\mathsf{Eval},\mathsf{CPRF}.\mathsf{Constrain},\mathsf{CPRF}.\mathsf{CEval}). For ease of notation, we denote CPRF evaluation circuit 𝖢𝖯𝖱𝖥.𝖤𝗏𝖺𝗅(𝗆𝗌𝗄,)\mathsf{CPRF}.\mathsf{Eval}(\mathsf{msk},\cdot) and constrained evaluation circuits 𝖢𝖯𝖱𝖥.𝖢𝖤𝗏𝖺𝗅(𝗌𝗄f,)\mathsf{CPRF}.\mathsf{CEval}(\mathsf{sk}_{f},\cdot) by 𝖦:{0,1}n{0,1}m\mathsf{G}:\{0,1\}^{n}\rightarrow\{0,1\}^{m} and 𝖦𝒱:{0,1}n{0,1}m\mathsf{G}_{\notin\mathcal{V}}:\{0,1\}^{n}\rightarrow\{0,1\}^{m}, respectively, where x𝒱x\in\mathcal{V} iff f(x)=1f(x)=1.

  • SKE scheme 𝖲𝖪𝖤=(𝖲𝖪𝖤.𝖦𝖾𝗇,𝖲𝖪𝖤.𝖤𝗇𝖼,𝖲𝖪𝖤.𝖣𝖾𝖼)\mathsf{SKE}=(\mathsf{SKE}.\mathsf{Gen},\mathsf{SKE}.\mathsf{Enc},\mathsf{SKE}.\mathsf{Dec}). The plaintext space and ciphertext space of 𝖲𝖪𝖤\mathsf{SKE} are {0,1}𝗌𝗄𝖾\{0,1\}^{\ell_{\mathsf{ske}}} and {0,1}n\{0,1\}^{n}, respectively, where 𝗌𝗄𝖾=log(𝗆)+1\ell_{\mathsf{ske}}=\log{{\ell_{\mathsf{m}}}}+1.

  • PKE scheme 𝖯𝖪𝖤=(𝖦𝖾𝗇,𝖤𝗇𝖼,𝖣𝖾𝖼)\mathsf{PKE}=(\mathsf{Gen},\mathsf{Enc},\mathsf{Dec}). The plaintext space of PKE is {0,1}2λ\{0,1\}^{2\lambda}.

Construction overview.

We already explained the high-level idea for how to realize extraction-less watermarking PRFs in Section 1.3. However, the construction of 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}} requires some additional efforts. Thus, before providing the actual construction, we provide a high-level overview of 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}}.

Recall that letting C~𝖬𝖺𝗋𝗄(𝗉𝗉,𝗉𝗋𝖿𝗄,𝗆)\widetilde{C}\leftarrow\mathsf{Mark}(\mathsf{pp},\mathsf{prfk},\mathsf{m}) and (γ,x,y)𝖲𝗂𝗆(𝗑𝗄,τ,i)(\gamma^{\ast},x^{\ast},y^{\ast})\leftarrow\mathsf{Sim}(\mathsf{xk},\tau,i^{\ast}), we have to design 𝖲𝗂𝗆\mathsf{Sim} and C~\widetilde{C} so that

  • If γ=𝗆[i]\gamma=\mathsf{m}[i^{\ast}], C~(x)\widetilde{C}(x^{\ast}) outputs a value different from yy^{\ast}.

  • If γ𝗆[i]\gamma\neq\mathsf{m}[i^{\ast}], C~(x)\widetilde{C}(x^{\ast}) outputs yy^{\ast}.

In the token-based construction idea, we achieve these conditions by setting xx^{\ast} as an encryption of yiγy^{\ast}\|i^{\ast}\|\gamma^{\ast} and designing C~\widetilde{C} as a token such that it outputs yy^{\ast} if the input is decryptable and γ𝗆[i]\gamma^{\ast}\neq\mathsf{m}[i^{\ast}] holds for the decrypted value yiγy^{\ast}\|i^{\ast}\|\gamma^{\ast}, and otherwise behaves as the original evaluation circuit. However, in 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}}, we use a constrained evaluation circuit of 𝖢𝖯𝖱𝖥\mathsf{CPRF} as C~\widetilde{C}, and thus we cannot program output values for specific inputs. Intuitively, it seems that 𝖲𝗂𝗆\mathsf{Sim} needs to use the original PRF key 𝗉𝗋𝖿𝗄\mathsf{prfk} to achieve the above two conditions.

To solve the issue, we adopt the idea used by Quach et al. [QWZ18]. In 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}}, the setup algorithm 𝖲𝖾𝗍𝗎𝗉\mathsf{Setup} generates (𝗉𝗄,𝗌𝗄)𝖦𝖾𝗇(1λ)(\mathsf{pk},\mathsf{sk})\leftarrow\mathsf{Gen}(1^{\lambda}) of 𝖯𝖪𝖤\mathsf{PKE}, and sets 𝗉𝗉=𝗉𝗄\mathsf{pp}=\mathsf{pk} and 𝗑𝗄=𝗌𝗄\mathsf{xk}=\mathsf{sk}. Then, the PRF key generation algorithm is given 𝗉𝗄\mathsf{pk}, generates 𝖦𝖢𝖯𝖱𝖥.𝖲𝖾𝗍𝗎𝗉(1λ,1κ)\mathsf{G}\leftarrow\mathsf{CPRF}.\mathsf{Setup}(1^{\lambda},1^{\kappa}) along with 𝗌𝗄𝖾.𝗄𝖲𝖪𝖤.𝖦𝖾𝗇(1λ)\mathsf{ske}.\mathsf{k}\leftarrow\mathsf{SKE}.\mathsf{Gen}(1^{\lambda}), and sets the public tag τ\tau as an encryption of (𝖦,𝗌𝗄𝖾.𝗄)(\mathsf{G},\mathsf{ske}.\mathsf{k}) under 𝗉𝗄\mathsf{pk}. The evaluation algorithm of 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}} is simply that of 𝖢𝖯𝖱𝖥\mathsf{CPRF}.

Now, we explain how to design 𝖲𝗂𝗆\mathsf{Sim} and C~𝖬𝖺𝗋𝗄(𝗉𝗉,𝗉𝗋𝖿𝗄,𝗆)\widetilde{C}\leftarrow\mathsf{Mark}(\mathsf{pp},\mathsf{prfk},\mathsf{m}) to satisfy the above two conditions. Given 𝗑𝗄=𝗌𝗄\mathsf{xk}=\mathsf{sk}, τ=𝖤𝗇𝖼(𝗉𝗄,𝗉𝗋𝖿𝗄)\tau=\mathsf{Enc}(\mathsf{pk},\mathsf{prfk}) and ii, 𝖲𝗂𝗆\mathsf{Sim} is able to extract 𝗉𝗋𝖿𝗄=(𝖦,𝗌𝗄𝖾.𝗄)\mathsf{prfk}=(\mathsf{G},\mathsf{ske}.\mathsf{k}). Then, 𝖲𝗂𝗆\mathsf{Sim} generates γ{0,1}\gamma\leftarrow\{0,1\} and sets x𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗄,iγ)x\leftarrow\mathsf{SKE}.\mathsf{Enc}(\mathsf{ske}.\mathsf{k},i\|\gamma) and y𝖦(x)y\leftarrow\mathsf{G}(x). We set C~\widetilde{C} as a constrained version of 𝖦\mathsf{G} for a circuit DD that outputs 11 if the input xx is decryptable by 𝗌𝗄𝖾.𝗄\mathsf{ske}.\mathsf{k} and γ=𝗆[i]\gamma=\mathsf{m}[i] holds for decrypted value iγi\|\gamma, and otherwise outputs 0. For an input xx, the constrained version of 𝖦\mathsf{G} outputs the correct output 𝖦(x)\mathsf{G}(x) if and only if D(x)=0D(x)=0. We can check that 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}} satisfies the above two conditions.

The above construction does not satisfy extended weak pseudorandomness against authority since the authority can extract the original CPRF key 𝖦\mathsf{G} by 𝗑𝗄=𝗌𝗄\mathsf{xk}=\mathsf{sk}. However, this problem can be fixed by constraining 𝖦\mathsf{G}. We see that 𝖲𝗂𝗆\mathsf{Sim} needs to evaluate 𝖦\mathsf{G} for valid ciphertexts of 𝖲𝖪𝖤\mathsf{SKE}. Thus, to implement the above mechanism, it is sufficient to set the public tag τ\tau as an encryption of 𝗌𝗄𝖾.𝗄\mathsf{ske}.\mathsf{k} and a constrained version of 𝖦\mathsf{G} for a circuit D𝚊𝚞𝚝𝚑D_{\mathtt{auth}} that output 0 if and only if the input is decryptable by 𝗌𝗄𝖾.𝗄\mathsf{ske}.\mathsf{k}. Then, the authority can only extract such a constrained key. By requiring sparseness for 𝖲𝖪𝖤\mathsf{SKE}, the constrained key cannot be used to break the pseudorandomness of 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}} for random inputs. This means that 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}} satisfies extended weak pseudorandomness against an authority. Note that we only need a single-key CPRF for 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}} since either a user or the authority (not both) is a malicious entity in security games.

The description of 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}} is as follows.

𝖲𝖾𝗍𝗎𝗉(1λ)\mathsf{Setup}(1^{\lambda}):

  • Generate (𝗉𝗄,𝗌𝗄)𝖦𝖾𝗇(1λ)(\mathsf{pk},\mathsf{sk})\leftarrow\mathsf{Gen}(1^{\lambda}).

  • Output (𝗉𝗉,𝗑𝗄)(𝗉𝗄,𝗌𝗄)(\mathsf{pp},\mathsf{xk})\coloneqq(\mathsf{pk},\mathsf{sk}).

𝖦𝖾𝗇(𝗉𝗉)\mathsf{Gen}(\mathsf{pp}):

  • Parse 𝗉𝗉=𝗉𝗄\mathsf{pp}=\mathsf{pk}.

  • Generate 𝖦𝖢𝖯𝖱𝖥.𝖲𝖾𝗍𝗎𝗉(1λ,1κ)\mathsf{G}\leftarrow\mathsf{CPRF}.\mathsf{Setup}(1^{\lambda},1^{\kappa}). In our construction, κ\kappa is the size of circuit D[𝗌𝗄𝖾.𝗄,𝗆]D[\mathsf{ske}.\mathsf{k},\mathsf{m}] described in Figure 5, which depends on 𝗆{\ell_{\mathsf{m}}} (and λ\lambda).

  • Generate 𝗌𝗄𝖾.𝗄𝖲𝖪𝖤.𝖦𝖾𝗇(1λ)\mathsf{ske}.\mathsf{k}\leftarrow\mathsf{SKE}.\mathsf{Gen}(1^{\lambda}).

  • Construct a circuit D𝚊𝚞𝚝𝚑[𝗌𝗄𝖾.𝗄]D_{\mathtt{auth}}[\mathsf{ske}.\mathsf{k}] described in Figure 4.

  • Compute 𝖦𝒱𝚊𝚞𝚝𝚑𝖢𝖯𝖱𝖥.𝖢𝗈𝗇𝗌𝗍𝗋𝖺𝗂𝗇(𝖦,D𝚊𝚞𝚝𝚑[𝗌𝗄𝖾.𝗄])\mathsf{G}_{\notin\mathcal{V}_{\mathtt{auth}}}\coloneqq\mathsf{CPRF}.\mathsf{Constrain}(\mathsf{G},D_{\mathtt{auth}}[\mathsf{ske}.\mathsf{k}]), where 𝒱𝚊𝚞𝚝𝚑{0,1}n\mathcal{V}_{\mathtt{auth}}\subset\{0,1\}^{n} is a set such that x𝒱𝚊𝚞𝚝𝚑x\in\mathcal{V}_{\mathtt{auth}} iff D𝚊𝚞𝚝𝚑[𝗌𝗄𝖾.𝗄](x)=1D_{\mathtt{auth}}[\mathsf{ske}.\mathsf{k}](x)=1.

  • Output 𝗉𝗋𝖿𝗄(𝖦,𝗌𝗄𝖾.𝗄)\mathsf{prfk}\coloneqq(\mathsf{G},\mathsf{ske}.\mathsf{k}) and τ𝖤𝗇𝖼(𝗉𝗄,(𝖦𝒱𝚊𝚞𝚝𝚑,𝗌𝗄𝖾.𝗄))\tau\leftarrow\mathsf{Enc}(\mathsf{pk},(\mathsf{G}_{\notin\mathcal{V}_{\mathtt{auth}}},\mathsf{ske}.\mathsf{k})).

𝖤𝗏𝖺𝗅(𝗉𝗋𝖿𝗄,x{0,1}n)\mathsf{Eval}(\mathsf{prfk},x\in\{0,1\}^{n}):

Recall that 𝖦\mathsf{G} is a keyed CPRF evaluation circuit.

  • Parse 𝗉𝗋𝖿𝗄=(𝖦,𝗌𝗄𝖾.𝗄)\mathsf{prfk}=(\mathsf{G},\mathsf{ske}.\mathsf{k}).

  • Output y𝖦(x)y\coloneqq\mathsf{G}(x).

𝖬𝖺𝗋𝗄(𝗉𝗉,𝗉𝗋𝖿𝗄,𝗆)\mathsf{Mark}(\mathsf{pp},\mathsf{prfk},\mathsf{m}):

  • Parse 𝗉𝗉=𝗉𝗄\mathsf{pp}=\mathsf{pk} and 𝗉𝗋𝖿𝗄=(𝖦,𝗌𝗄𝖾.𝗄)\mathsf{prfk}=(\mathsf{G},\mathsf{ske}.\mathsf{k}).

  • Construct a circuit D[𝗌𝗄𝖾.𝗄,𝗆]D[\mathsf{ske}.\mathsf{k},\mathsf{m}] described in Figure 5.

  • Compute 𝖦𝒱𝖢𝖯𝖱𝖥.𝖢𝗈𝗇𝗌𝗍𝗋𝖺𝗂𝗇(𝖦,D[𝗌𝗄𝖾.𝗄,𝗆])\mathsf{G}_{\notin\mathcal{V}}\leftarrow\mathsf{CPRF}.\mathsf{Constrain}(\mathsf{G},D[\mathsf{ske}.\mathsf{k},\mathsf{m}]), where 𝒱{0,1}n\mathcal{V}\subset\{0,1\}^{n} is a set such that x𝒱x\in\mathcal{V} iff D[𝗌𝗄𝖾.𝗄,𝗆](x)=1D[\mathsf{ske}.\mathsf{k},\mathsf{m}](x)=1.

  • Output C~=𝖦𝒱\widetilde{C}=\mathsf{G}_{\notin\mathcal{V}}.

𝖲𝗂𝗆(𝗑𝗄,τ,i)\mathsf{Sim}(\mathsf{xk},\tau,i):

  • Parse 𝗑𝗄=𝗌𝗄\mathsf{xk}=\mathsf{sk}.

  • Compute (𝖦𝒱𝚊𝚞𝚝𝚑,𝗌𝗄𝖾.𝗄)𝖣𝖾𝖼(𝗌𝗄,τ)(\mathsf{G}_{\notin\mathcal{V}_{\mathtt{auth}}},\mathsf{ske}.\mathsf{k})\leftarrow\mathsf{Dec}(\mathsf{sk},\tau).

  • Choose γ{0,1}\gamma\leftarrow\{0,1\}.

  • Compute x𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗄,iγ)x\leftarrow\mathsf{SKE}.\mathsf{Enc}(\mathsf{ske}.\mathsf{k},i\|\gamma) and y𝖦𝒱𝚊𝚞𝚝𝚑(x)y\leftarrow\mathsf{G}_{\notin\mathcal{V}_{\mathtt{auth}}}(x).

  • Output (γ,x,y)(\gamma,x,y).

Circuit D𝚊𝚞𝚝𝚑[𝗌𝗄𝖾.𝗄]D_{\mathtt{auth}}[\mathsf{ske}.\mathsf{k}] Constants: An SKE key 𝗌𝗄𝖾.𝗄\mathsf{ske}.\mathsf{k}, and a message 𝗆\mathsf{m}. Input: A string x{0,1}nx\in\{0,1\}^{n}. 1. Compute d𝖲𝖪𝖤.𝖣𝖾𝖼(𝗌𝗄𝖾.𝗄,x)d\leftarrow\mathsf{SKE}.\mathsf{Dec}(\mathsf{ske}.\mathsf{k},x). 2. Output 0 if dd\neq\bot and 11 otherwise.

Figure 4: The description of D𝚊𝚞𝚝𝚑D_{\mathtt{auth}}

Circuit D[𝗌𝗄𝖾.𝗄,𝗆]D[\mathsf{ske}.\mathsf{k},\mathsf{m}] Constants: An SKE key 𝗌𝗄𝖾.𝗄\mathsf{ske}.\mathsf{k}, and a message 𝗆\mathsf{m}. Input: A string x{0,1}nx\in\{0,1\}^{n}. 1. Compute d𝖲𝖪𝖤.𝖣𝖾𝖼(𝗌𝗄𝖾.𝗄,x)d\leftarrow\mathsf{SKE}.\mathsf{Dec}(\mathsf{ske}.\mathsf{k},x). 2. If dd\neq\bot, do the following (a) Parse d=iγd=i\|\gamma, where i[𝗆]i\in[{\ell_{\mathsf{m}}}] and γ{0,1}\gamma\in\{0,1\}. (b) If γ=𝗆[i]\gamma=\mathsf{m}[i], output 11. Otherwise, output 0. 3. Otherwise output 0.

Figure 5: The description of DD

The evaluation correctness of 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}} follows from the sparseness of 𝖲𝖪𝖤\mathsf{SKE} and the correctness of 𝖢𝖯𝖱𝖥\mathsf{CPRF}. For the security of 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}}, we have the following theorems.

Theorem 6.1.

𝖲𝖪𝖤\mathsf{SKE} is a secure SKE scheme with pseudorandom ciphertext, 𝖢𝖯𝖱𝖥\mathsf{CPRF} is a selectively single-key private CPRF, 𝖯𝖪𝖤\mathsf{PKE} is a CCA secure PKE scheme, then 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}} is an extraction-less watermarking PRF satisfying SIM-MDD security.

Theorem 6.2.

If 𝖢𝖯𝖱𝖥\mathsf{CPRF} is a selective single-key private CPRF, 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}} satisfies extended weak pseudorandomness.

SIM-MDD security.

First, we prove the SIM-MDD security of 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}}.

Proof of Theorem 6.1.

We define a sequence of hybrid games to prove the theorem.

𝖧𝗒𝖻0\mathsf{Hyb}_{0}:

This is the same as the case 𝖼𝗈𝗂𝗇=1\mathsf{coin}=1 in 𝖤𝗑𝗉i,𝒜,𝖯𝖱𝖥𝖼𝗉𝗋𝖿𝗌𝗂𝗆-𝗆𝖽𝖽(λ)\mathsf{Exp}_{i^{\ast},\mathpzc{A},\mathsf{PRF}_{\mathsf{cprf}}}^{\mathsf{sim}\mbox{-}\mathsf{mdd}}(\lambda). In this game, 𝒜\mathpzc{A} is given τ𝖤𝗇𝖼(𝗉𝗄,(𝖦𝒱𝚊𝚞𝚝𝚑,𝗌𝗄𝖾.𝗄))\tau\leftarrow\mathsf{Enc}(\mathsf{pk},(\mathsf{G}_{\notin\mathcal{V}_{\mathtt{auth}}},\mathsf{ske}.\mathsf{k})) and 𝖦𝒱𝖢𝖯𝖱𝖥.𝖢𝗈𝗇𝗌𝗍𝗋𝖺𝗂𝗇(𝖦,D[𝗌𝗄𝖾.𝗄,𝗆])\mathsf{G}_{\notin\mathcal{V}}\leftarrow\mathsf{CPRF}.\mathsf{Constrain}(\mathsf{G},D[\mathsf{ske}.\mathsf{k},\mathsf{m}]) as a public tag and a marked circuit. After τ\tau and 𝖦𝒱\mathsf{G}_{\notin\mathcal{V}} are given, 𝒜\mathpzc{A} can access to O𝚜𝚒𝚖O_{\mathtt{sim}}. Finally, after finishing the access to O𝚜𝚒𝚖O_{\mathtt{sim}}, 𝒜\mathpzc{A} is given (γ,x,y))(\gamma^{\ast},x^{\ast},y^{\ast})) as the challenge tuple and outputs 𝖼𝗈𝗂𝗇{0,1}\mathsf{coin}^{\prime}\in\{0,1\}, where γ{0,1}\gamma^{\ast}\leftarrow\{0,1\}, x𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗄,iγ)x^{\ast}\leftarrow\mathsf{SKE}.\mathsf{Enc}(\mathsf{ske}.\mathsf{k},i^{\ast}\|\gamma^{\ast}), and y𝖦𝒱𝚊𝚞𝚝𝚑(x)y^{\ast}\leftarrow\mathsf{G}_{\notin\mathcal{V}_{\mathtt{auth}}}(x^{\ast}).

𝖧𝗒𝖻1\mathsf{Hyb}_{1}:

This is the same as 𝖧𝗒𝖻0\mathsf{Hyb}_{0} except for the following two changes. First, 𝖦\mathsf{G} is used instead of 𝖦𝒱𝚊𝚞𝚝𝚑\mathsf{G}_{\notin\mathcal{V}_{\mathtt{auth}}} when generating the challenge tuple (γ,x,y)(\gamma^{\ast},x^{\ast},y^{\ast}). Second, we change the behavior of O𝚜𝚒𝚖O_{\mathtt{sim}} as follows. When 𝒜\mathpzc{A} sends τ\tau^{\prime} and ii^{\prime} to O𝚜𝚒𝚖O_{\mathtt{sim}}, if τ=τ\tau^{\prime}=\tau, O𝚜𝚒𝚖O_{\mathtt{sim}} performs the remaining procedures by using (G,𝗌𝗄𝖾.𝗄)(G,\mathsf{ske}.\mathsf{k}) (without decrypting τ=τ\tau^{\prime}=\tau).

𝖧𝗒𝖻2\mathsf{Hyb}_{2}:

This is the same as 𝖧𝗒𝖻1\mathsf{Hyb}_{1} except that we use τ𝖤𝗇𝖼(𝗉𝗄,02λ)\tau\leftarrow\mathsf{Enc}(\mathsf{pk},0^{2\lambda}) instead of τ𝖤𝗇𝖼(𝗉𝗄,(𝖦𝒱𝚊𝚞𝚝𝚑,𝗌𝗄𝖾.𝗄))\tau\leftarrow\mathsf{Enc}(\mathsf{pk},(\mathsf{G}_{\notin\mathcal{V}_{\mathtt{auth}}},\mathsf{ske}.\mathsf{k})).

𝖧𝗒𝖻3\mathsf{Hyb}_{3}:

This is the same as 𝖧𝗒𝖻2\mathsf{Hyb}_{2} except that if 𝗆[i]=γ\mathsf{m}[i^{\ast}]=\gamma^{\ast}, we use y{0,1}my^{\ast}\leftarrow\{0,1\}^{m} instead of y𝖦(x)y^{\ast}\leftarrow\mathsf{G}(x^{\ast}).

𝖧𝗒𝖻4\mathsf{Hyb}_{4}:

This is the same as 𝖧𝗒𝖻3\mathsf{Hyb}_{3} except that we use a simulated (𝗌𝗍𝖲𝗂𝗆,𝖦^)𝖢𝖯𝖱𝖥.𝖲𝗂𝗆1(1κ,1λ)(\mathsf{st}_{\mathsf{Sim}},\widehat{\mathsf{G}})\leftarrow\mathsf{CPRF}.\mathsf{Sim}_{1}(1^{\kappa},1^{\lambda}) instead of 𝖦𝒱𝖢𝖯𝖱𝖥.𝖢𝗈𝗇𝗌𝗍𝗋𝖺𝗂𝗇(𝖦,D[𝗌𝗄𝖾.𝗄,𝗆])\mathsf{G}_{\notin\mathcal{V}}\leftarrow\mathsf{CPRF}.\mathsf{Constrain}(\mathsf{G},D[\mathsf{ske}.\mathsf{k},\mathsf{m}]) for the challenge marked circuit. Also, if 𝗆[i]γ\mathsf{m}[i^{\ast}]\neq\gamma^{\ast}, the challenger computes y𝖲𝗂𝗆2(𝗌𝗍𝖲𝗂𝗆,x,0)y^{\ast}\leftarrow\mathsf{Sim}_{2}(\mathsf{st}_{\mathsf{Sim}},x^{\ast},0). In addition, we also change the behavior of O𝚜𝚒𝚖O_{\mathtt{sim}} as follows. Given τ\tau^{\prime} and ii^{\prime}, if ττ\tau^{\prime}\neq\tau, O𝚜𝚒𝚖O_{\mathtt{sim}} answers in the same way as 𝖧𝗒𝖻3\mathsf{Hyb}_{3}. Otherwise, it returns (γ,x,y)(\gamma,x,y), where γ{0,1}\gamma\leftarrow\{0,1\}, x𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗄,iγ)x\leftarrow\mathsf{SKE}.\mathsf{Enc}(\mathsf{ske}.\mathsf{k},i^{\prime}\|\gamma), and y𝖲𝗂𝗆2(𝗌𝗍𝖲𝗂𝗆,x,1)y\leftarrow\mathsf{Sim}_{2}(\mathsf{st}_{\mathsf{Sim}},x,1) if 𝗆[i]=γ\mathsf{m}[i^{\prime}]=\gamma and y𝖲𝗂𝗆2(𝗌𝗍𝖲𝗂𝗆,x,0)y\leftarrow\mathsf{Sim}_{2}(\mathsf{st}_{\mathsf{Sim}},x,0) otherwise.

𝖧𝗒𝖻5\mathsf{Hyb}_{5}:

This is the same as 𝖧𝗒𝖻4\mathsf{Hyb}_{4} except that we use x{0,1}nx^{\ast}\leftarrow\{0,1\}^{n} instead of x𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗄,iγ)x^{\ast}\leftarrow\mathsf{SKE}.\mathsf{Enc}(\mathsf{ske}.\mathsf{k},i^{\ast}\|\gamma^{\ast}).

𝖧𝗒𝖻6\mathsf{Hyb}_{6}:

We undo the change at 𝖧𝗒𝖻4\mathsf{Hyb}_{4}.

𝖧𝗒𝖻7\mathsf{Hyb}_{7}:

We undo the change at 𝖧𝗒𝖻2\mathsf{Hyb}_{2}.

𝖧𝗒𝖻8\mathsf{Hyb}_{8}:

We undo the change at 𝖧𝗒𝖻1\mathsf{Hyb}_{1}. This is the same as the case 𝖼𝗈𝗂𝗇=0\mathsf{coin}=0 in 𝖤𝗑𝗉i,𝒜,𝖯𝖱𝖥𝖼𝗉𝗋𝖿𝗌𝗂𝗆-𝗆𝖽𝖽(λ)\mathsf{Exp}_{i^{\ast},\mathpzc{A},\mathsf{PRF}_{\mathsf{cprf}}}^{\mathsf{sim}\mbox{-}\mathsf{mdd}}(\lambda).

Proposition 6.3.

If 𝖢𝖯𝖱𝖥\mathsf{CPRF}, 𝖲𝖪𝖤\mathsf{SKE}, and 𝖯𝖪𝖤\mathsf{PKE} are correct, it holds that |Pr[𝖧𝗒𝖻0=1]Pr[𝖧𝗒𝖻1=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Hyb}_{0}=1]-\Pr[\mathsf{Hyb}_{1}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition 6.3.

For the first change, x𝒱𝚊𝚞𝚝𝚑x^{\ast}\notin\mathcal{V}_{\mathtt{auth}} holds since 𝖲𝖪𝖤.𝖣𝖾𝖼(𝗌𝗄𝖾.𝗄,x)\bot\neq\mathsf{SKE}.\mathsf{Dec}(\mathsf{ske}.\mathsf{k},x^{\ast}) from the correctness of 𝖲𝖪𝖤\mathsf{SKE}. Then, from the correctness of 𝖢𝖯𝖱𝖥\mathsf{CPRF}, we have 𝖦𝒱𝚊𝚞𝚝𝚑(x)=𝖦(x)\mathsf{G}_{\notin\mathcal{V}_{\mathtt{auth}}}(x^{\ast})=\mathsf{G}(x^{\ast}), and thus the first change does not affect the view of 𝒜\mathpzc{A}. For the second change, from the correctness of 𝖯𝖪𝖤\mathsf{PKE}, (𝖦𝒱𝚊𝚞𝚝𝚑,𝗌𝗄𝖾.𝗄)𝖣𝖾𝖼(𝗌𝗄,τ)(\mathsf{G}_{\notin\mathcal{V}_{\mathtt{auth}}},\mathsf{ske}.\mathsf{k})\leftarrow\mathsf{Dec}(\mathsf{sk},\tau^{\prime}) if τ=τ\tau^{\prime}=\tau. Then, similarly to the first change, we can see that the second change does not affect the view of 𝒜\mathpzc{A}.   

Proposition 6.4.

If 𝖯𝖪𝖤\mathsf{PKE} is CCA secure, it holds that |Pr[𝖧𝗒𝖻1=1]Pr[𝖧𝗒𝖻2=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Hyb}_{1}=1]-\Pr[\mathsf{Hyb}_{2}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition 6.4.

We construct an algorithm \mathpzc{B} that breaks CCA security of 𝖯𝖪𝖤\mathsf{PKE} by using 𝒜\mathpzc{A}.

\mathpzc{B}:

\mathpzc{B} is given 𝗉𝗄\mathsf{pk} from the challenger. \mathpzc{B} generates 𝗌𝗄𝖾.𝗄𝖲𝖪𝖤.𝖦𝖾𝗇(1λ)\mathsf{ske}.\mathsf{k}\leftarrow\mathsf{SKE}.\mathsf{Gen}(1^{\lambda}), and 𝖦𝖢𝖯𝖱𝖥.𝖲𝖾𝗍𝗎𝗉(1λ)\mathsf{G}\leftarrow\mathsf{CPRF}.\mathsf{Setup}(1^{\lambda}), and sets 𝗉𝗉𝗉𝗄\mathsf{pp}\coloneqq\mathsf{pk}. \mathpzc{B} sends 𝗉𝗉\mathsf{pp} to 𝒜\mathpzc{A} and obtain 𝗆\mathsf{m} from 𝒜\mathpzc{A}. \mathpzc{B} then generate 𝖦𝒱𝚊𝚞𝚝𝚑𝖢𝖯𝖱𝖥.𝖢𝗈𝗇𝗌𝗍𝗋𝖺𝗂𝗇(𝖦,D𝚊𝚞𝚝𝚑[𝗌𝗄𝖾.𝗄])\mathsf{G}_{\notin\mathcal{V}_{\mathtt{auth}}}\coloneqq\mathsf{CPRF}.\mathsf{Constrain}(\mathsf{G},D_{\mathtt{auth}}[\mathsf{ske}.\mathsf{k}]), sets (m0,m1)((𝖦𝒱𝚊𝚞𝚝𝚑,𝗌𝗄𝖾.𝗄),02λ)(m_{0},m_{1})\coloneqq((\mathsf{G}_{\notin\mathcal{V}_{\mathtt{auth}}},\mathsf{ske}.\mathsf{k}),0^{2\lambda}) as the challenge plaintext of the CCA game and receives τ\tau from its challenger. \mathpzc{B} also constructs D[𝗌𝗄𝖾.𝗄,𝗆]D[\mathsf{ske}.\mathsf{k},\mathsf{m}], generates 𝖦𝒱𝖢𝖯𝖱𝖥.𝖢𝗈𝗇𝗌𝗍𝗋𝖺𝗂𝗇(𝖦,D[𝗌𝗄𝖾.𝗄,𝗆])\mathsf{G}_{\notin\mathcal{V}}\leftarrow\mathsf{CPRF}.\mathsf{Constrain}(\mathsf{G},D[\mathsf{ske}.\mathsf{k},\mathsf{m}]), and sends τ\tau and 𝖦𝒱\mathsf{G}_{\notin\mathcal{V}} to 𝒜\mathpzc{A} as the challenge public tag and marked circuit.

O𝚜𝚒𝚖O_{\mathtt{sim}}:

When 𝒜\mathpzc{A} sends τ\tau^{\prime} and ii^{\prime} to O𝚜𝚒𝚖O_{\mathtt{sim}}, \mathpzc{B} simulates the answer by using 𝖦\mathsf{G}, 𝗌𝗄𝖾.𝗄\mathsf{ske}.\mathsf{k}, and the decryption oracle 𝖣𝖾𝖼(𝗌𝗄,)\mathsf{Dec}(\mathsf{sk},\cdot).

After finishing 𝒜\mathpzc{A}’s oracle access to O𝚜𝚒𝚖O_{\mathtt{sim}}, \mathpzc{B} chooses γ{0,1}\gamma^{\ast}\leftarrow\{0,1\}, generates x𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗄,iγ)x^{\ast}\leftarrow\mathsf{SKE}.\mathsf{Enc}(\mathsf{ske}.\mathsf{k},i^{\ast}\|\gamma^{\ast}) and y𝖦𝒱𝚊𝚞𝚝𝚑(x)=𝖦(x)y^{\ast}\leftarrow\mathsf{G}_{\notin\mathcal{V}_{\mathtt{auth}}}(x^{\ast})=\mathsf{G}(x^{\ast}), and sends (γ,x,y)(\gamma^{\ast},x^{\ast},y^{\ast}) to 𝒜\mathpzc{A}. Note that 𝖦𝒱𝚊𝚞𝚝𝚑(x)=𝖦(x)\mathsf{G}_{\notin\mathcal{V}_{\mathtt{auth}}}(x^{\ast})=\mathsf{G}(x^{\ast}) holds since 𝖲𝖪𝖤.𝖣𝖾𝖼(𝗌𝗄𝖾.𝗄,x)\bot\neq\mathsf{SKE}.\mathsf{Dec}(\mathsf{ske}.\mathsf{k},x^{\ast}) and thus x𝒱𝚊𝚞𝚝𝚑x^{\ast}\notin\mathcal{V}_{\mathtt{auth}}.

Finally, when 𝒜\mathpzc{A} terminates with output 𝖼𝗈𝗂𝗇\mathsf{coin}^{\prime}, \mathpzc{B} outputs 𝖼𝗈𝗂𝗇\mathsf{coin}^{\prime} and terminates.

\mathpzc{B} perfectly simulates if 𝖧𝗒𝖻1\mathsf{Hyb}_{1} if τ𝖤𝗇𝖼(𝗉𝗄,(𝖦𝒱𝚊𝚞𝚝𝚑,𝗌𝗄𝖾.𝗄))\tau\leftarrow\mathsf{Enc}(\mathsf{pk},(\mathsf{G}_{\notin\mathcal{V}_{\mathtt{auth}}},\mathsf{ske}.\mathsf{k})), and 𝖧𝗒𝖻2\mathsf{Hyb}_{2} if τ𝖤𝗇𝖼(𝗉𝗄,02λ)\tau\leftarrow\mathsf{Enc}(\mathsf{pk},0^{2\lambda}). This completes the proof.   

Proposition 6.5.

If 𝖢𝖯𝖱𝖥\mathsf{CPRF} satisfies selective pseudorandomness, it holds that

|Pr[𝖧𝗒𝖻2=1]Pr[𝖧𝗒𝖻3=1]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathsf{Hyb}_{2}=1]-\Pr[\mathsf{Hyb}_{3}=1]}\leq{\mathsf{negl}}(\lambda).
Proof of Proposition 6.5.

We use selective single-key pseudorandomness of 𝖦\mathsf{G}. We construct an algorithm \mathpzc{B} that breaks the selective single-key pseudorandomness of 𝖦\mathsf{G} by using 𝒜\mathpzc{A}.

\mathpzc{B}:

\mathpzc{B} generates (𝗉𝗄,𝗌𝗄)𝖦𝖾𝗇(1λ)(\mathsf{pk},\mathsf{sk})\leftarrow\mathsf{Gen}(1^{\lambda}), 𝗌𝗄𝖾.𝗄𝖲𝖪𝖤.𝖦𝖾𝗇(1λ)\mathsf{ske}.\mathsf{k}\leftarrow\mathsf{SKE}.\mathsf{Gen}(1^{\lambda}), and τ𝖤𝗇𝖼(𝗉𝗄,02λ)\tau\leftarrow\mathsf{Enc}(\mathsf{pk},0^{2\lambda}), sets and sends 𝗉𝗉𝗉𝗄\mathsf{pp}\coloneqq\mathsf{pk} to 𝒜\mathpzc{A}, and obtains 𝗆\mathsf{m} from 𝒜\mathpzc{A}. \mathpzc{B} constructs D[𝗌𝗄𝖾.𝗄,𝗆]D[\mathsf{ske}.\mathsf{k},\mathsf{m}], sends D[𝗌𝗄𝖾.𝗄,𝗆]D[\mathsf{ske}.\mathsf{k},\mathsf{m}] to its challenger, and receives 𝖦𝒱\mathsf{G}_{\notin\mathcal{V}}. \mathpzc{B} sends τ\tau and 𝖦𝒱\mathsf{G}_{\notin\mathcal{V}} to 𝒜\mathpzc{A} as the challenge public tag and marked circuit.

O𝚜𝚒𝚖O_{\mathtt{sim}}:

When 𝒜\mathpzc{A} sends τ\tau^{\prime} and i[𝗆]i^{\prime}\in[{\ell_{\mathsf{m}}}] to O𝚜𝚒𝚖O_{\mathtt{sim}}, if ττ\tau^{\prime}\neq\tau, \mathpzc{B} computes (𝖦,𝗌𝗄𝖾.𝗄)𝖣𝖾𝖼(𝗌𝗄,τ)(\mathsf{G}^{\prime},\mathsf{ske}.\mathsf{k}^{\prime})\leftarrow\mathsf{Dec}(\mathsf{sk},\tau^{\prime}), and computes and returns the answer (γ,x,y)(\gamma,x,y) by using (𝖦,𝗌𝗄𝖾.𝗄)(\mathsf{G}^{\prime},\mathsf{ske}.\mathsf{k}^{\prime}). If τ=τ\tau^{\prime}=\tau, \mathpzc{B} returns (γ,x,y)(\gamma,x,y) computed as follows. \mathpzc{B} chooses γ{0,1}\gamma\leftarrow\{0,1\}, and generates x𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗄,iγ)x\leftarrow\mathsf{SKE}.\mathsf{Enc}(\mathsf{ske}.\mathsf{k},i^{\prime}\|\gamma). \mathpzc{B} finally sends xx to its PRF evaluation oracle and receives y𝖦(x)y\leftarrow\mathsf{G}(x).

After finishing 𝒜\mathpzc{A}’s oracle access to O𝚜𝚒𝚖O_{\mathtt{sim}},\mathpzc{B} sends (γ,x,y)(\gamma^{\ast},x^{\ast},y^{\ast}) computed as follows to 𝒜\mathpzc{A}. \mathpzc{B} first chooses γ{0,1}\gamma^{\ast}\leftarrow\{0,1\} and generates x𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗄,iγ)x^{\ast}\leftarrow\mathsf{SKE}.\mathsf{Enc}(\mathsf{ske}.\mathsf{k},i^{\ast}\|\gamma^{\ast}). If 𝗆[i]=γ\mathsf{m}[i^{\ast}]=\gamma^{\ast}, \mathpzc{B} sends xx^{\ast} to its challenge oracle and receives yy^{\ast}. If 𝗆[i]γ\mathsf{m}[i^{\ast}]\neq\gamma^{\ast}, \mathpzc{B} sends xx^{\ast} to its PRF evaluation oracle and receives yy^{\ast}.

Finally, when 𝒜\mathpzc{A} terminates with output 𝖼𝗈𝗂𝗇\mathsf{coin}^{\prime}, \mathpzc{B} outputs 𝖼𝗈𝗂𝗇\mathsf{coin}^{\prime} and terminates.

\mathpzc{B} perfectly simulates 𝖧𝗒𝖻2\mathsf{Hyb}_{2} if the challenge oracle returns y=𝖦(x)y^{\ast}=\mathsf{G}(x^{\ast}), and 𝖧𝗒𝖻3\mathsf{Hyb}_{3} if it returns y{0,1}my^{\ast}\leftarrow\{0,1\}^{m}. Note that in these games, x𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗄,iγ)x^{\ast}\leftarrow\mathsf{SKE}.\mathsf{Enc}(\mathsf{ske}.\mathsf{k},i^{\ast}\|\gamma^{\ast}), and thus if 𝗆[i]=γ\mathsf{m}[i^{\ast}]=\gamma^{\ast}, we have x𝒱x^{\ast}\in\mathcal{V} (D[𝗌𝗄𝖾.𝗄,𝗆](x)=1D[\mathsf{ske}.\mathsf{k},\mathsf{m}](x^{\ast})=1). This completes the proof.   

Proposition 6.6.

If 𝖢𝖯𝖱𝖥\mathsf{CPRF} satisfies selective single-key privacy, it holds that

|Pr[𝖧𝗒𝖻3=1]Pr[𝖧𝗒𝖻4=1]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathsf{Hyb}_{3}=1]-\Pr[\mathsf{Hyb}_{4}=1]}\leq{\mathsf{negl}}(\lambda).
Proof of Proposition 6.6.

We use selective single-key privacy of 𝖦\mathsf{G}. We construct an algorithm \mathpzc{B} that breaks the selective privacy of 𝖦\mathsf{G} by using 𝒜\mathpzc{A}.

\mathpzc{B}:

\mathpzc{B} generates (𝗉𝗄,𝗌𝗄)𝖦𝖾𝗇(1λ)(\mathsf{pk},\mathsf{sk})\leftarrow\mathsf{Gen}(1^{\lambda}), 𝗌𝗄𝖾.𝗄𝖲𝖪𝖤.𝖦𝖾𝗇(1λ)\mathsf{ske}.\mathsf{k}\leftarrow\mathsf{SKE}.\mathsf{Gen}(1^{\lambda}), and τ𝖤𝗇𝖼(𝗉𝗄,02λ)\tau\leftarrow\mathsf{Enc}(\mathsf{pk},0^{2\lambda}), sends 𝗉𝗉𝗉𝗄\mathsf{pp}\coloneqq\mathsf{pk} to 𝒜\mathpzc{A}, and obtains 𝗆\mathsf{m} from 𝒜\mathpzc{A}. \mathpzc{B} constructs D[𝗌𝗄𝖾.𝗄,𝗆]D[\mathsf{ske}.\mathsf{k},\mathsf{m}], sends D[𝗌𝗄𝖾.𝗄,𝗆]D[\mathsf{ske}.\mathsf{k},\mathsf{m}] to its challenger, and receives 𝖦\mathsf{G}^{\ast}. \mathpzc{B} sends τ\tau and 𝖦\mathsf{G}^{\ast} to 𝒜\mathpzc{A} as the challenge public tag and marked circuit.

O𝚜𝚒𝚖O_{\mathtt{sim}}:

When 𝒜\mathpzc{A} sends τ\tau^{\prime} and i[𝗆]i^{\prime}\in[{\ell_{\mathsf{m}}}] to O𝚜𝚒𝚖O_{\mathtt{sim}}, if ττ\tau^{\prime}\neq\tau, \mathpzc{B} computes (𝖦,𝗌𝗄𝖾.𝗄)𝖣𝖾𝖼(𝗌𝗄,τ)(\mathsf{G}^{\prime},\mathsf{ske}.\mathsf{k}^{\prime})\leftarrow\mathsf{Dec}(\mathsf{sk},\tau^{\prime}) and returns the answer (γ,x,y)(\gamma,x,y) computed by using (𝖦,𝗌𝗄𝖾.𝗄)(\mathsf{G}^{\prime},\mathsf{ske}.\mathsf{k}^{\prime}). If τ=τ\tau^{\prime}=\tau, \mathpzc{B} returns the answer (γ,x,y)(\gamma,x,y) computed as follows. \mathpzc{B} chooses γ{0,1}\gamma\leftarrow\{0,1\}, and generates x𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗄,iγ)x\leftarrow\mathsf{SKE}.\mathsf{Enc}(\mathsf{ske}.\mathsf{k},i^{\prime}\|\gamma). \mathpzc{B} sends xx to its oracle and receives yy.

After finishing 𝒜\mathpzc{A}’s oracle access to O𝚜𝚒𝚖O_{\mathtt{sim}}, \mathpzc{B} sends (γ,x,y)(\gamma^{\ast},x^{\ast},y^{\ast}) computed as follows to 𝒜\mathpzc{A}. \mathpzc{B} chooses γ{0,1}\gamma^{\ast}\leftarrow\{0,1\} and generates x𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗄,iγ)x^{\ast}\leftarrow\mathsf{SKE}.\mathsf{Enc}(\mathsf{ske}.\mathsf{k},i^{\ast}\|\gamma^{\ast}). If 𝗆[i]=γ\mathsf{m}[i^{\ast}]=\gamma^{\ast}, \mathpzc{B} chooses y{0,1}my^{\ast}\leftarrow\{0,1\}^{m}. If 𝗆[i]γ\mathsf{m}[i^{\ast}]\neq\gamma^{\ast}, \mathpzc{B} sends xx^{\ast} to its oracle and receives yy^{\ast}.

Finally, when 𝒜\mathpzc{A} terminates with output 𝖼𝗈𝗂𝗇\mathsf{coin}^{\prime}, \mathpzc{B} outputs 𝖼𝗈𝗂𝗇\mathsf{coin}^{\prime} and terminates.

\mathpzc{B} perfectly simulates 𝖧𝗒𝖻3\mathsf{Hyb}_{3} if 𝖦=𝖢𝖯𝖱𝖥.𝖢𝗈𝗇𝗌𝗍𝗋𝖺𝗂𝗇(𝖦,D[𝗌𝗄𝖾.𝗄,𝗆])\mathsf{G}^{\ast}=\mathsf{CPRF}.\mathsf{Constrain}(\mathsf{G},D[\mathsf{ske}.\mathsf{k},\mathsf{m}]) and \mathpzc{B} has access to 𝖦()\mathsf{G}(\cdot), and 𝖧𝗒𝖻4\mathsf{Hyb}_{4} if 𝖦=𝖲𝗂𝗆1(1κ,1λ)\mathsf{G}^{\ast}=\mathsf{Sim}_{1}(1^{\kappa},1^{\lambda}) and \mathpzc{B} has access to 𝖲𝗂𝗆2(𝗌𝗍𝖲𝗂𝗆,,D[𝗌𝗄𝖾.𝗄,𝗆]())\mathsf{Sim}_{2}(\mathsf{st}_{\mathsf{Sim}},\cdot,D[\mathsf{ske}.\mathsf{k},\mathsf{m}](\cdot)). This completes the proof.   

Proposition 6.7.

If 𝖲𝖪𝖤\mathsf{SKE} satisfies ciphertext pseudorandomness, it holds that

|Pr[𝖧𝗒𝖻4=1]Pr[𝖧𝗒𝖻5=1]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathsf{Hyb}_{4}=1]-\Pr[\mathsf{Hyb}_{5}=1]}\leq{\mathsf{negl}}(\lambda).
Proof of Proposition 6.7.

We construct an algorithm \mathpzc{B} that breaks the ciphertext pseudorandomness of 𝖲𝖪𝖤\mathsf{SKE} by using 𝒜\mathpzc{A}.

\mathpzc{B}:

\mathpzc{B} generates (𝗉𝗄,𝗌𝗄)𝖦𝖾𝗇(1λ)(\mathsf{pk},\mathsf{sk})\leftarrow\mathsf{Gen}(1^{\lambda}) and sends 𝗉𝗉𝗉𝗄\mathsf{pp}\coloneqq\mathsf{pk} to 𝒜\mathpzc{A}, and obtains 𝗆\mathsf{m} from 𝒜\mathpzc{A}. \mathpzc{B} then generates τ𝖤𝗇𝖼(𝗉𝗄,02λ)\tau\leftarrow\mathsf{Enc}(\mathsf{pk},0^{2\lambda}) and (𝗌𝗍𝖲𝗂𝗆,𝖦^)𝖲𝗂𝗆1(1κ,1λ)(\mathsf{st}_{\mathsf{Sim}},\widehat{\mathsf{G}})\leftarrow\mathsf{Sim}_{1}(1^{\kappa},1^{\lambda}), and sends τ\tau and 𝖦^\widehat{\mathsf{G}} to 𝒜\mathpzc{A} as the challenge public tag and marked circuit.

O𝚜𝚒𝚖O_{\mathtt{sim}}:

When 𝒜\mathpzc{A} sends τ\tau^{\prime} and i[𝗆]i^{\prime}\in[{\ell_{\mathsf{m}}}] to O𝚜𝚒𝚖O_{\mathtt{sim}}, if ττ\tau^{\prime}\neq\tau, \mathpzc{B} computes (𝖦,𝗌𝗄𝖾.𝗄)𝖣𝖾𝖼(𝗌𝗄,τ)(\mathsf{G}^{\prime},\mathsf{ske}.\mathsf{k}^{\prime})\leftarrow\mathsf{Dec}(\mathsf{sk},\tau) and returns the answer (γ,x,y)(\gamma,x,y) computed by using (𝖦,𝗌𝗄𝖾.𝗄)(\mathsf{G}^{\prime},\mathsf{ske}.\mathsf{k}^{\prime}). If τ=τ\tau^{\prime}=\tau, \mathpzc{B} returns the answer (γ,x,y)(\gamma,x,y) computed as follows. \mathpzc{B} chooses γ{0,1}\gamma\leftarrow\{0,1\}, sends iγi^{\prime}\|\gamma to its encryption oracle, and receives x𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗄,iγ)x\leftarrow\mathsf{SKE}.\mathsf{Enc}(\mathsf{ske}.\mathsf{k},i^{\prime}\|\gamma). \mathpzc{B} computes y𝖲𝗂𝗆2(𝗌𝗍𝖲𝗂𝗆,x,1)y\leftarrow\mathsf{Sim}_{2}(\mathsf{st}_{\mathsf{Sim}},x,1) if γ=𝗆[i]\gamma=\mathsf{m}[i^{\prime}] and y𝖲𝗂𝗆2(𝗌𝗍𝖲𝗂𝗆,x,0)y\leftarrow\mathsf{Sim}_{2}(\mathsf{st}_{\mathsf{Sim}},x,0) otherwise.

After finishing 𝒜\mathpzc{A}’s oracle access to O𝚜𝚒𝚖O_{\mathtt{sim}}, \mathpzc{B} sends (γ,x,y)(\gamma^{\ast},x^{\ast},y^{\ast}) computed as follows to 𝒜\mathpzc{A}. \mathpzc{B} chooses γ{0,1}\gamma^{\ast}\leftarrow\{0,1\}, sends iγi^{\ast}\|\gamma^{\ast} to its challenger as the challenge plaintext, and receives xx^{\ast}. \mathpzc{B} generates y{0,1}my^{\ast}\leftarrow\{0,1\}^{m} if 𝗆[i]=γ\mathsf{m}[i^{\ast}]=\gamma^{\ast} and y𝖲𝗂𝗆2(𝗌𝗍𝖲𝗂𝗆,x,0)y^{\ast}\leftarrow\mathsf{Sim}_{2}(\mathsf{st}_{\mathsf{Sim}},x,0) otherwise.

Finally, when 𝒜\mathpzc{A} terminates with output 𝖼𝗈𝗂𝗇\mathsf{coin}^{\prime}, \mathpzc{B} outputs 𝖼𝗈𝗂𝗇\mathsf{coin}^{\prime} and terminates.

\mathpzc{B} perfectly simulates 𝖧𝗒𝖻4\mathsf{Hyb}_{4} if x𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗄,iγ)x^{\ast}\leftarrow\mathsf{SKE}.\mathsf{Enc}(\mathsf{ske}.\mathsf{k},i^{\ast}\|\gamma^{\ast}), and 𝖧𝗒𝖻5\mathsf{Hyb}_{5} if x{0,1}nx^{\ast}\leftarrow\{0,1\}^{n}. This completes the proof.   

Proposition 6.8.

If 𝖢𝖯𝖱𝖥\mathsf{CPRF} satisfies selective single-key privacy, it holds that

|Pr[𝖧𝗒𝖻5=1]Pr[𝖧𝗒𝖻6=1]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathsf{Hyb}_{5}=1]-\Pr[\mathsf{Hyb}_{6}=1]}\leq{\mathsf{negl}}(\lambda).
Proof of Proposition 6.8.

This proof is almost the same as that of Proposition 6.6.   

Proposition 6.9.

If 𝖯𝖪𝖤\mathsf{PKE} is CCA secure, it holds that |Pr[𝖧𝗒𝖻6=1]Pr[𝖧𝗒𝖻7=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Hyb}_{6}=1]-\Pr[\mathsf{Hyb}_{7}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition 6.9.

This proof is almost the same as that of Proposition 6.4.   

Proposition 6.10.

If 𝖢𝖯𝖱𝖥\mathsf{CPRF}, 𝖲𝖪𝖤\mathsf{SKE}, and 𝖯𝖪𝖤\mathsf{PKE} are correct, it holds that |Pr[𝖧𝗒𝖻7=1]Pr[𝖧𝗒𝖻8=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Hyb}_{7}=1]-\Pr[\mathsf{Hyb}_{8}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition 6.10.

This proof is almost the same as that of Proposition 6.3.   

By Propositions 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 6.9 and 6.10, we complete the proof of Theorem 6.1.   

Extended weak pseudorandomness.

Next, we prove the extended pseudorandomness of 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}}.

Proof of Theorem 6.2.

Let 𝒜\mathpzc{A} be an adversary attacking the extended weak pseudorandomness of 𝖯𝖱𝖥𝖼𝗉𝗋𝖿\mathsf{PRF}_{\mathsf{cprf}}. We construct \mathpzc{B} that attacks the selective single-key pseudorandomness of 𝖢𝖯𝖱𝖥\mathsf{CPRF}.

\mathpzc{B}:

Given 𝗉𝗉\mathsf{pp} from 𝒜\mathpzc{A}, \mathpzc{B} first generates 𝗌𝗄𝖾.𝗄𝖲𝖪𝖤.𝖦𝖾𝗇(1λ)\mathsf{ske}.\mathsf{k}\leftarrow\mathsf{SKE}.\mathsf{Gen}(1^{\lambda}), sends D𝚊𝚞𝚝𝚑[𝗌𝗄𝖾.𝗄]D_{\mathtt{auth}}[\mathsf{ske}.\mathsf{k}] to its challenger, and obtains 𝖦\mathsf{G}^{\ast}. \mathpzc{B} sets 𝗉𝗉:=𝗉𝗄\mathsf{pp}:=\mathsf{pk}, generates τ𝖤𝗇𝖼(𝗉𝗄,(𝖦,𝗌𝗄𝖾.𝗄))\tau\leftarrow\mathsf{Enc}(\mathsf{pk},(\mathsf{G}^{\ast},\mathsf{ske}.\mathsf{k})), and sends it to 𝒜\mathpzc{A}. \mathpzc{B} answers 𝒜\mathpzc{A}’s queries as follows.

O𝚠𝚙𝚛𝚏O_{\mathtt{wprf}}:

When this is invoked (no input), \mathpzc{B} generates a{0,1}na\leftarrow\{0,1\}^{n}, sends it to its evaluation oracle, and obtains bb. Then, \mathpzc{B} returns (a,b)(a,b) to 𝒜\mathpzc{A}.

O𝚌𝚑𝚊𝚕𝚕O_{\mathtt{chall}}:

When this is invoked (no input), \mathpzc{B} generates a{0,1}na^{\ast}\leftarrow\{0,1\}^{n}, outputs aa^{\ast} as its challenge input, and obtains bb^{\ast}. \mathpzc{B} returns (a,b)(a^{\ast},b^{\ast}) to 𝒜\mathpzc{A}. Note that this oracle is invoked only once.

When 𝒜\mathpzc{A} terminates with output bb^{\prime}, \mathpzc{B} outputs bb^{\prime} and terminates.

Due to the sparseness of 𝖲𝖪𝖤\mathsf{SKE}, without negligible probability, we have 𝖲𝖪𝖤.𝖣𝖾𝖼(𝗌𝗄𝖾.𝗄,a)=\mathsf{SKE}.\mathsf{Dec}(\mathsf{ske}.\mathsf{k},a^{\ast})=\bot thus D𝚊𝚞𝚝𝚑[𝗌𝗄𝖾.𝗄](a)=1D_{\mathtt{auth}}[\mathsf{ske}.\mathsf{k}](a^{\ast})=1, and aa generated when answering to a query to O𝚠𝚙𝚛𝚏O_{\mathtt{wprf}} is different from aa^{\ast}. Therefore, without negligible probability, \mathpzc{B} is a valid adversary against the selective single-key pseudorandomness of 𝖢𝖯𝖱𝖥\mathsf{CPRF}. When \mathpzc{B} is valid, we see that the advantage of \mathpzc{B} is the same as that of 𝒜\mathpzc{A}. This completes the proof.   

7 Extraction-Less Watermarking PRF with Public Simulation from IO

We construct an extraction-less watermarking PRF satisfying SIM-MDD security with public simulation. We first introduce a tool.

7.1 Puncturable Encryption, Revisited

Cohen et al. [CHN+18] introduced the notion of puncturable encryption (PE). They used a PE scheme as a crucial building block to construct a publicly extractable watermarking PRF against classical adversaries. We also use a PE scheme to construct an extraction-less watermarking PRF with public simulation (against quantum adversaries). However, we find that the original PE definition is not sufficient for proving unremovability (and our purpose) since there is a subtle issue in the security proof by Cohen et al. [CHN+18]. However, we can fix the issue since their PE scheme satisfies a stronger security notion than what they proved. Thus, we introduce a stronger security notion for PE in this section.

The syntax of PE is almost the same as that of the original PE.

Definition 7.1 (Puncturable Encryption (Syntax)).

A puncturable encryption (PE) scheme 𝖯𝖤\mathsf{PE} for a plaintext space 𝒫={0,1}𝗉\mathcal{P}=\{0,1\}^{{\ell_{\mathsf{p}}}} is a triple of PPT algorithms (𝖦𝖾𝗇,𝖯𝗎𝗇𝖼𝗍𝗎𝗋𝖾,𝖤𝗇𝖼)(\mathsf{Gen},\mathsf{Puncture},\mathsf{Enc}) and a deterministic algorithm 𝖣𝖾𝖼\mathsf{Dec}. The ciphertext space will be {0,1}𝖼𝗍\{0,1\}^{{\ell_{\mathsf{ct}}}} where 𝖼𝗍=poly(λ,𝗉){\ell_{\mathsf{ct}}}={\mathrm{poly}}(\lambda,{\ell_{\mathsf{p}}}).

𝖦𝖾𝗇(1λ)(𝖾𝗄,𝖽𝗄)\mathsf{Gen}(1^{\lambda})\rightarrow(\mathsf{ek},\mathsf{dk}):

The key generation algorithm takes as input the security parameter 1λ1^{\lambda} and outputs an encryption key 𝖾𝗄\mathsf{ek} and a decryption key 𝖽𝗄\mathsf{dk}.

𝖯𝗎𝗇𝖼𝗍𝗎𝗋𝖾(𝖽𝗄,{c})𝖽𝗄c\mathsf{Puncture}(\mathsf{dk},\{c^{\ast}\})\rightarrow\mathsf{dk}_{\neq c^{\ast}}:

The puncturing algorithm takes as input 𝖽𝗄\mathsf{dk} and a string c{0,1}𝖼𝗍c^{\ast}\in\{0,1\}^{{\ell_{\mathsf{ct}}}}, and outputs a “punctured” decryption key 𝖽𝗄c\mathsf{dk}_{\neq c^{\ast}}.

𝖤𝗇𝖼(𝖾𝗄,m)c\mathsf{Enc}(\mathsf{ek},m)\rightarrow c:

The encryption algorithm takes as input 𝖾𝗄\mathsf{ek} and a plaintext m{0,1}𝗉m\in\{0,1\}^{{\ell_{\mathsf{p}}}}, and outputs a ciphertext cc in {0,1}𝖼𝗍\{0,1\}^{{\ell_{\mathsf{ct}}}}.

𝖣𝖾𝖼(𝖽𝗄,c)m or \mathsf{Dec}(\mathsf{dk}^{\prime},c^{\prime})\rightarrow m^{\prime}\text{ or }\bot:

The decryption algorithm takes a possibly punctured decryption key 𝖽𝗄\mathsf{dk}^{\prime} and a string c{0,1}𝖼𝗍c^{\prime}\in\{0,1\}^{{\ell_{\mathsf{ct}}}}. It outputs a plaintext mm^{\prime} or the special symbol \bot.

There are four security requirements on PE. Three of those are the same as those in the original PE security. The difference is ciphertext pseudorandomness.

Definition 7.2 (Puncturable Encryption Security).

A PE scheme 𝖯𝖤=(𝖦𝖾𝗇,𝖯𝗎𝗇𝖼𝗍𝗎𝗋𝖾,𝖤𝗇𝖼,𝖣𝖾𝖼)\mathsf{PE}=(\mathsf{Gen},\mathsf{Puncture},\mathsf{Enc},\mathsf{Dec}) with plaintext space 𝒫={0,1}𝗉\mathcal{P}=\{0,1\}^{{\ell_{\mathsf{p}}}} and ciphertext space 𝒞={0,1}𝖼𝗍\mathcal{C}=\{0,1\}^{{\ell_{\mathsf{ct}}}} is required to satisfy the following properties.

Correctness:

We require that for all plaintext m𝒫m\in\mathcal{P} and (𝖾𝗄,𝖽𝗄)𝖦𝖾𝗇(1λ)(\mathsf{ek},\mathsf{dk})\leftarrow\mathsf{Gen}(1^{\lambda}), it holds that 𝖣𝖾𝖼(𝖽𝗄,𝖤𝗇𝖼(𝖾𝗄,m))=m\mathsf{Dec}(\mathsf{dk},\mathsf{Enc}(\mathsf{ek},m))=m.

Punctured Correctness:

We require the same to hold for punctured keys. For all possible keys (𝖾𝗄,𝖽𝗄)𝖦𝖾𝗇(1λ)(\mathsf{ek},\mathsf{dk})\leftarrow\mathsf{Gen}(1^{\lambda}), all string c𝒞c^{\ast}\in\mathcal{C}, all punctured keys 𝖽𝗄c𝖯𝗎𝗇𝖼𝗍𝗎𝗋𝖾(𝖽𝗄,{c})\mathsf{dk}_{\neq c^{\ast}}\leftarrow\mathsf{Puncture}(\mathsf{dk},\{c^{\ast}\}), and all potential ciphertexts c𝒞{c}c\in\mathcal{C}\setminus\{c^{\ast}\}:

𝖣𝖾𝖼(𝖽𝗄,c)=𝖣𝖾𝖼(𝖽𝗄c,c).\mathsf{Dec}(\mathsf{dk},c)=\mathsf{Dec}(\mathsf{dk}_{\neq c^{\ast}},c).
Sparseness:

We also require that most strings are not valid ciphertexts:

Pr[𝖣𝖾𝖼(𝖽𝗄,c)|(𝖾𝗄,𝖽𝗄)𝖦𝖾𝗇(1λ),c{0,1}𝖼𝗍]𝗇𝖾𝗀𝗅(λ).\displaystyle\Pr\left[\mathsf{Dec}(\mathsf{dk},c)\neq\bot~{}\left|~{}(\mathsf{ek},\mathsf{dk})\leftarrow\mathsf{Gen}(1^{\lambda}),c\leftarrow\{0,1\}^{{\ell_{\mathsf{ct}}}}\right.\right]\leq{\mathsf{negl}}(\lambda). (34)
Ciphertext Pseudorandomness:

We require that PE has strong ciphertext pseudorandomness defined in Definition 7.3.

Definition 7.3 (Strong Ciphertext Pseudorandomness).

We define the following experiment 𝖤𝗑𝗉𝒜𝗌-𝖼𝗉𝗋(λ)\mathsf{Exp}_{\mathpzc{A}}^{\mathsf{s}\mbox{-}\mathsf{cpr}}(\lambda).

  1. 1.

    𝒜\mathpzc{A} sends a message m𝒫={0,1}𝗉m^{*}\in\mathcal{P}=\{0,1\}^{{\ell_{\mathsf{p}}}} to the challenger.

  2. 2.

    The challenger does the following:

    • Generate (𝖾𝗄,𝖽𝗄)𝖦𝖾𝗇(1λ)(\mathsf{ek},\mathsf{dk})\leftarrow\mathsf{Gen}(1^{\lambda})

    • Compute a ciphertext c𝖤𝗇𝖼(𝖾𝗄,m)c^{*}\leftarrow\mathsf{Enc}(\mathsf{ek},m^{*}).

    • Choose r𝒞={0,1}𝖼𝗍r^{*}\leftarrow\mathcal{C}=\{0,1\}^{{\ell_{\mathsf{ct}}}}.

    • Choose 𝖼𝗈𝗂𝗇{0,1}\mathsf{coin}\leftarrow\{0,1\} and set x0cx_{0}\coloneqq c^{\ast} and x1rx_{1}\coloneqq r^{\ast}.

    • Generate a punctured key 𝖽𝗄x𝖼𝗈𝗂𝗇𝖯𝗎𝗇𝖼𝗍𝗎𝗋𝖾(𝖽𝗄,{x𝖼𝗈𝗂𝗇})\mathsf{dk}_{\neq x_{\mathsf{coin}}}\leftarrow\mathsf{Puncture}(\mathsf{dk},\{x_{\mathsf{coin}}\})

    • Send (x𝖼𝗈𝗂𝗇,𝖾𝗄,𝖽𝗄x𝖼𝗈𝗂𝗇)(x_{\mathsf{coin}},\mathsf{ek},\mathsf{dk}_{\neq x_{\mathsf{coin}}}) to 𝒜\mathpzc{A}:

  3. 3.

    𝒜\mathpzc{A} outputs 𝖼𝗈𝗂𝗇\mathsf{coin}^{\ast} and the experiment outputs 11 if 𝖼𝗈𝗂𝗇=𝖼𝗈𝗂𝗇\mathsf{coin}=\mathsf{coin}^{\ast}; otherwise 0.

We say that 𝖯𝖤\mathsf{PE} has strong ciphertext pseudorandomness if for every QPT adversary 𝒜\mathpzc{A}, it holds that

𝖠𝖽𝗏𝒜𝗌-𝖼𝗉𝗋(λ)2|Pr[𝖤𝗑𝗉𝒜𝗌-𝖼𝗉𝗋(λ)=1]12|𝗇𝖾𝗀𝗅(λ).\mathsf{Adv}_{\mathpzc{A}}^{\mathsf{s}\mbox{-}\mathsf{cpr}}(\lambda)\coloneqq 2\absolutevalue{\Pr[\mathsf{Exp}_{\mathcal{A}}^{\mathsf{s}\mbox{-}\mathsf{cpr}}(\lambda)=1]-\frac{1}{2}}\leq{\mathsf{negl}}(\lambda).
Remark 7.4 (Difference from the original PE).

In the original PE definition, 𝖯𝗎𝗇𝖼𝗍𝗎𝗋𝖾\mathsf{Puncture} takes two strings {c0,c1}{0,1}𝖼𝗍\{c_{0},c_{1}\}\subset\{0,1\}^{{\ell_{\mathsf{ct}}}} and outputs a punctured decryption key 𝖽𝗄{c0,c1}\mathsf{dk}_{\notin\{c_{0},c_{1}\}} and punctured correctness is accordingly defined.

In the original ciphertext pseudorandomness (described in Section B.4), a punctured decryption key is punctured at both cc^{\ast} and rr^{\ast}. That is, the information about mm^{\ast} remains in 𝖽𝗄{c,r}\mathsf{dk}_{\notin\{c^{\ast},r^{\ast}\}} for 𝖼𝗈𝗂𝗇{0,1}\mathsf{coin}\in\{0,1\}. This is an issue for our purpose (and the proof by Cohen et al. [CHN+18]). Thus, we introduce the strong ciphertext pseudorandomness, where the information about mm^{\ast} disappears in the case 𝖼𝗈𝗂𝗇=1\mathsf{coin}=1 since the punctured decryption key is 𝖽𝗄r\mathsf{dk}_{\neq r^{\ast}} when 𝖼𝗈𝗂𝗇=1\mathsf{coin}=1.

In fact, the PE scheme 𝖯𝖤\mathsf{PE} by Cohen et al. [CHN+18] satisfies strong ciphertext pseudorandomness (and thus, we can also fix the issue in the proof by Cohen et al.121212See Section B.4 for the detail of the issue.).

Theorem 7.5.

If there exists secure IO for circuits and the QLWE assumption holds, there exists secure PE that satisfies strong ciphertext pseudorandomness.

We prove this theorem in Appendix B.

7.2 Construction of Extraction-less Watermarking PRF with Public Simulation

We describe our extraction-less watermarking PRF 𝖯𝖱𝖥𝗂𝗈\mathsf{PRF}_{\mathsf{io}} for message space {0,1}𝗆\{0,1\}^{{\ell_{\mathsf{m}}}} with domain {0,1}𝗂𝗇\{0,1\}^{\ell_{\mathsf{in}}} and range {0,1}𝗈𝗎𝗍\{0,1\}^{\ell_{\mathsf{out}}} below. We use the following tools:

  • PPRF 𝖯𝖱𝖥=𝖯𝖱𝖥.(𝖦𝖾𝗇,𝖤𝗏𝖺𝗅,𝖯𝗎𝗇𝖼𝗍𝗎𝗋𝖾)\mathsf{PRF}=\mathsf{PRF}.(\mathsf{Gen},\mathsf{Eval},\mathsf{Puncture}). We denote a PRF evaluation circuit 𝖯𝖱𝖥.𝖤𝗏𝖺𝗅𝗉𝗋𝖿𝗄()\mathsf{PRF}.\mathsf{Eval}_{\mathsf{prfk}}(\cdot) by 𝖥:{0,1}𝗂𝗇{0,1}𝗈𝗎𝗍\mathsf{F}:\{0,1\}^{\ell_{\mathsf{in}}}\rightarrow\{0,1\}^{\ell_{\mathsf{out}}}, a PRF evaluation circuit with punctured key 𝖯𝖱𝖥.𝖤𝗏𝖺𝗅𝗉𝗋𝖿𝗄x()\mathsf{PRF}.\mathsf{Eval}_{\mathsf{prfk}_{\neq x}}(\cdot) by 𝖥x\mathsf{F}_{\neq x} (that is, we omit 𝗉𝗋𝖿𝗄\mathsf{prfk} and simply write 𝖥()\mathsf{F}(\cdot) instead of 𝖥𝗉𝗋𝖿𝗄()\mathsf{F}_{\mathsf{prfk}}(\cdot)) for ease of notations.

  • PE scheme 𝖯𝖤=𝖯𝖤.(𝖦𝖾𝗇,𝖯𝗎𝗇𝖼𝗍𝗎𝗋𝖾,𝖤𝗇𝖼,𝖣𝖾𝖼)\mathsf{PE}=\mathsf{PE}.(\mathsf{Gen},\mathsf{Puncture},\mathsf{Enc},\mathsf{Dec}). The plaintext and ciphertext space of PE are {0,1}𝗉𝗍\{0,1\}^{{\ell_{\mathsf{pt}}}} and {0,1}𝖼𝗍\{0,1\}^{{\ell_{\mathsf{ct}}}}, respectively, where 𝗉𝗍=+log(𝗆)+1{\ell_{\mathsf{pt}}}=\ell+\log{{\ell_{\mathsf{m}}}}+1 and 𝗂𝗇𝖼𝗍\ell_{\mathsf{in}}\coloneqq{\ell_{\mathsf{ct}}} (𝖼𝗍=poly(,log(𝗆)){\ell_{\mathsf{ct}}}={\mathrm{poly}}(\ell,\log{{\ell_{\mathsf{m}}}})).

  • Indistinguishability obfuscator i𝒪i\mathcal{O}.

  • PRG 𝖯𝖱𝖦:{0,1}{0,1}𝗈𝗎𝗍\mathsf{PRG}:\{0,1\}^{\ell}\rightarrow\{0,1\}^{\ell_{\mathsf{out}}}.

𝖲𝖾𝗍𝗎𝗉(1λ)\mathsf{Setup}(1^{\lambda}):

  • Output (𝗉𝗉,𝗑𝗄)(,)(\mathsf{pp},\mathsf{xk})\coloneqq(\bot,\bot).

𝖦𝖾𝗇(𝗉𝗉)\mathsf{Gen}(\mathsf{pp}):

  • Parse 𝗉𝗉=\mathsf{pp}=\bot.

  • Compute 𝖥𝖯𝖱𝖥.𝖦𝖾𝗇(1λ)\mathsf{F}\leftarrow\mathsf{PRF}.\mathsf{Gen}(1^{\lambda}).

  • Generate (𝗉𝖾.𝖾𝗄,𝗉𝖾.𝖽𝗄)𝖯𝖤.𝖦𝖾𝗇(1λ)(\mathsf{pe.ek},\mathsf{pe.dk})\leftarrow\mathsf{PE}.\mathsf{Gen}(1^{\lambda}).

  • Output 𝗉𝗋𝖿𝗄(𝖥,𝗉𝖾.𝖽𝗄)\mathsf{prfk}\coloneqq(\mathsf{F},\mathsf{pe.dk}) and τ𝗉𝖾.𝖾𝗄\tau\coloneqq\mathsf{pe.ek}.

𝖤𝗏𝖺𝗅(𝗉𝗋𝖿𝗄,x{0,1}𝗂𝗇)\mathsf{Eval}(\mathsf{prfk},x\in\{0,1\}^{\ell_{\mathsf{in}}}):

  • Parse 𝗉𝗋𝖿𝗄=(𝖥,𝗉𝖾.𝖽𝗄)\mathsf{prfk}=(\mathsf{F},\mathsf{pe.dk}).

  • Compute and output y𝖥(x)y\leftarrow\mathsf{F}(x).

𝖬𝖺𝗋𝗄(𝗉𝗉,𝗉𝗋𝖿𝗄,𝗆{0,1}𝗆)\mathsf{Mark}(\mathsf{pp},\mathsf{prfk},\mathsf{m}\in\{0,1\}^{{\ell_{\mathsf{m}}}}):

  • Parse 𝗉𝗉=\mathsf{pp}=\bot and 𝗉𝗋𝖿𝗄=(𝖥,𝗉𝖾.𝖽𝗄)\mathsf{prfk}=(\mathsf{F},\mathsf{pe.dk}).

  • Construct a circuit D[𝖥,𝗉𝖾.𝖽𝗄,𝗆]D[\mathsf{F},\mathsf{pe.dk},\mathsf{m}] described in Figure 6.

  • Compute and output C~i𝒪(D[𝖥,𝗉𝖾.𝖽𝗄,𝗆])\widetilde{C}\coloneqq i\mathcal{O}(D[\mathsf{F},\mathsf{pe.dk},\mathsf{m}]).

𝖲𝗂𝗆(𝗑𝗄,τ,i)\mathsf{Sim}(\mathsf{xk},\tau,i):

  • Parse 𝗑𝗄=\mathsf{xk}=\bot and τ=𝗉𝖾.𝖾𝗄\tau=\mathsf{pe.ek}.

  • Choose γ{0,1}\gamma\leftarrow\{0,1\} and s{0,1}s\leftarrow\{0,1\}^{\ell}.

  • Compute y𝖯𝖱𝖦(s)y\coloneqq\mathsf{PRG}(s).

  • Compute x𝖯𝖤.𝖤𝗇𝖼(𝗉𝖾.𝖾𝗄,siγ)x\leftarrow\mathsf{PE}.\mathsf{Enc}(\mathsf{pe.ek},s\|i\|\gamma).

  • Output (γ,x,y)(\gamma,x,y)

The size of the circuit DD is appropriately padded to be the maximum size of all modified circuits, which will appear in the security proof.

Circuit D[𝖥,𝗉𝖾.𝖽𝗄,𝗆]D[\mathsf{F},\mathsf{pe.dk},\mathsf{m}] Constants: A PRF 𝖥\mathsf{F}, a PE decryption key 𝗉𝖾.𝖽𝗄\mathsf{pe.dk}, and a message 𝗆\mathsf{m}. Input: A string x{0,1}𝗂𝗇x\in\{0,1\}^{\ell_{\mathsf{in}}}. 1. Compute d𝖯𝖤.𝖣𝖾𝖼(𝗉𝖾.𝖽𝗄,x)d\leftarrow\mathsf{PE}.\mathsf{Dec}(\mathsf{pe.dk},x). 2. If dd\neq\bot, do the following (a) Parse d=siγd=s\|i\|\gamma, where s{0,1}s\in\{0,1\}^{\ell}, i[𝗆]i\in[{\ell_{\mathsf{m}}}], and γ{0,1}\gamma\in\{0,1\}. (b) If 𝗆[i]γ\mathsf{m}[i]\neq\gamma, output 𝖯𝖱𝖦(s)\mathsf{PRG}(s). Otherwise, output 𝖥(x)\mathsf{F}(x). 3. Otherwise, output 𝖥(x)\mathsf{F}(x).

Figure 6: The description of DD

The evaluation correctness of 𝖯𝖱𝖥𝗂𝗈\mathsf{PRF}_{\mathsf{io}} immediately follows from the sparseness of 𝖯𝖤\mathsf{PE} and the functionality of i𝒪i\mathcal{O}.131313In fact, 𝖯𝖱𝖥𝗂𝗈\mathsf{PRF}_{\mathsf{io}} satisfies a stronger evaluation correctness than one written in Definition 4.1. The evaluation correctness holds even for any PRF key 𝗉𝗋𝖿𝗄\mathsf{prfk} and input x𝖣𝗈𝗆x\in\mathsf{Dom} like the statistical correctness by Cohen et al. [CHN+18]. 𝖯𝖱𝖥𝗂𝗈\mathsf{PRF}_{\mathsf{io}} trivially satisfies pseudorandomness (against an authority) since 𝖲𝖾𝗍𝗎𝗉\mathsf{Setup} outputs nothing, τ\tau is a public key 𝗉𝖾.𝖾𝗄\mathsf{pe.ek}, and 𝖤𝗏𝖺𝗅\mathsf{Eval} is independent of (𝗉𝖾.𝖾𝗄,𝗉𝖾.𝖽𝗄)(\mathsf{pe.ek},\mathsf{pe.dk}) (𝗉𝖾.𝖽𝗄\mathsf{pe.dk} is not used in 𝖤𝗏𝖺𝗅\mathsf{Eval}). Moreover, we have the following theorem.

Theorem 7.6.

If 𝖯𝖱𝖥\mathsf{PRF} is a secure PPRF, 𝖯𝖱𝖦\mathsf{PRG} is a secure PRG, 𝖯𝖤\mathsf{PE} is a secure PE with strong ciphertext pseudorandomness, and i𝒪i\mathcal{O} is a secure IO, then 𝖯𝖱𝖥𝗂𝗈\mathsf{PRF}_{\mathsf{io}} is an extraction-less watermarking PRF satisfying SIM-MDD security with public simulation.

Proof of Theorem 7.6.

We define a sequence of hybrid games. We sometimes omit hard-coded values when we write some circuits. For example, we simply write DD instead of D[𝖥,𝗉𝖾.𝖽𝗄,𝗆]D[\mathsf{F},\mathsf{pe.dk},\mathsf{m}] when hard-coded values (𝖥,𝗉𝖾.𝖽𝗄,𝗆)(\mathsf{F},\mathsf{pe.dk},\mathsf{m}) are not important in arguments or clear from the context.

𝖧𝗒𝖻0\mathsf{Hyb}_{0}:

This is the same as the case b=1b=1 in 𝖤𝗑𝗉i,𝒜,𝖯𝖱𝖥𝗂𝗈𝗉𝗎𝖻-𝗌𝗂𝗆-𝗆𝖽𝖽(λ)\mathsf{Exp}_{i^{\ast},\mathpzc{A},\mathsf{PRF}_{\mathsf{io}}}^{\mathsf{pub}\mbox{-}\mathsf{sim}\mbox{-}\mathsf{mdd}}(\lambda). In this game, 𝒜\mathpzc{A} is given τ=𝗉𝖾.𝖾𝗄\tau=\mathsf{pe.ek} and C~=i𝒪(D[𝖥,𝗉𝖾.𝖽𝗄,𝗆])\widetilde{C}=i\mathcal{O}(D[\mathsf{F},\mathsf{pe.dk},\mathsf{m}]) as a public tag and a marked circuit, where (𝗉𝖾.𝖾𝗄,𝗉𝖾.𝖽𝗄)𝖯𝖤.𝖦𝖾𝗇(1λ)(\mathsf{pe.ek},\mathsf{pe.dk})\leftarrow\mathsf{PE}.\mathsf{Gen}(1^{\lambda}), (𝖥,𝗉𝖾.𝖽𝗄)(\mathsf{F},\mathsf{pe.dk}) is the target PRF key, and 𝗆\mathsf{m} is the target message from 𝒜\mathpzc{A}. Also, 𝒜\mathpzc{A} is given (γ,x,y)=(γ1,x1,y1)(\gamma^{\ast},x^{\ast},y^{\ast})=(\gamma_{1},x_{1},y_{1}) as the challenge tuple, where γ1{0,1}\gamma_{1}\leftarrow\{0,1\}, x1𝖯𝖤.𝖤𝗇𝖼(𝗉𝖾.𝖾𝗄,siγ1)x_{1}\leftarrow\mathsf{PE}.\mathsf{Enc}(\mathsf{pe.ek},s^{\ast}\|i^{\ast}\|\gamma_{1}), y1𝖯𝖱𝖦(s)y_{1}\coloneqq\mathsf{PRG}(s^{\ast}), and s{0,1}s^{\ast}\leftarrow\{0,1\}^{\ell}.

Case γ=𝗆[i]\gamma^{\ast}=\mathsf{m}[i^{\ast}]:

We consider two cases separately hereafter. First, we consider the case where γ=𝗆[i]\gamma^{\ast}=\mathsf{m}[i^{\ast}]. We denote these hybrid games by 𝖧𝗒𝖻k=\mathsf{Hyb}_{k}^{=}. Note that we can choose γ\gamma^{\ast} at any time and hard-code it into D~\widetilde{D} in the proof since it is a uniformly random bit in all hybrid games.

𝖧𝗒𝖻1=\mathsf{Hyb}_{1}^{=}:

This is the same as 𝖧𝗒𝖻0\mathsf{Hyb}_{0} except that if γ1=𝗆[i]\gamma_{1}=\mathsf{m}[i^{\ast}], we use D~i𝒪(Dx1$[𝖥,𝗉𝖾.𝖽𝗄x1,𝗆,γ1,x1,y¯])\widetilde{D}\leftarrow i\mathcal{O}(D_{\neq x_{1}}^{\$}[\mathsf{F},\mathsf{pe.dk}_{\neq x_{1}},\mathsf{m},\gamma_{1},x_{1},\overline{y}]), where Dx$D_{\neq x^{\ast}}^{\$} is described in Figure 7 and y¯𝖥(x1)\overline{y}\coloneqq\mathsf{F}(x_{1}). We use a punctured decryption key 𝗉𝖾.𝖽𝗄x1\mathsf{pe.dk}_{\neq x_{1}} instead of 𝗉𝖾.𝖽𝗄\mathsf{pe.dk}. However, we do not use a punctured key for 𝖥\mathsf{F}.

Circuit Dx$[𝖥,𝗉𝖾.𝖽𝗄,𝗆,γ,x,y¯]D_{\neq x^{\ast}}^{\$}[\mathsf{F},\mathsf{pe.dk}^{\prime},\mathsf{m},\gamma^{\ast},x^{\ast},\overline{y}] Constants: A PRF key 𝖥\mathsf{F}, a (possibly punctured) PE decryption key 𝗉𝖾.𝖽𝗄\mathsf{pe.dk}^{\prime}, a message 𝗆\mathsf{m}, a bit γ\gamma^{\ast}, and strings x{0,1}𝗂𝗇,y¯{0,1}𝗈𝗎𝗍x^{\ast}\in\{0,1\}^{\ell_{\mathsf{in}}},\overline{y}\in\{0,1\}^{\ell_{\mathsf{out}}}. Input: A string x{0,1}𝗂𝗇x\in\{0,1\}^{\ell_{\mathsf{in}}}. 1. If x=xx=x^{\ast}, output y¯\overline{y}. 2. Compute d𝖯𝖤.𝖣𝖾𝖼(𝗉𝖾.𝖽𝗄¯,x)d\leftarrow\mathsf{PE}.\mathsf{Dec}({\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\underline{{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}\mathsf{pe.dk}^{\prime}}}},x). 3. If dd\neq\bot, do the following (a) Parse d=siγd=s\|i\|\gamma, where s{0,1}s\in\{0,1\}^{\ell}, i[𝗆]i\in[{\ell_{\mathsf{m}}}], and γ{0,1}\gamma\in\{0,1\}. (b) If 𝗆[i]γ\mathsf{m}[i]\neq\gamma, output 𝖯𝖱𝖦(s)\mathsf{PRG}(s). Otherwise, output 𝖥(x)\mathsf{F}(x). 4. Otherwise, output 𝖥(x)\mathsf{F}(x).

Figure 7: The description of Dx$D_{\neq x^{\ast}}^{\$} (for γ=𝗆[i]\gamma^{\ast}=\mathsf{m}[i^{\ast}])
𝖧𝗒𝖻2=\mathsf{Hyb}_{2}^{=}:

This is the same as 𝖧𝗒𝖻1=\mathsf{Hyb}_{1}^{=} except that we generate

  • x0{0,1}𝗂𝗇x_{0}\leftarrow\{0,1\}^{\ell_{\mathsf{in}}},

  • D~i𝒪(Dx0$[𝖥,𝗉𝖾.𝖽𝗄x0,𝗆,γ1,x0,y¯])\widetilde{D}\leftarrow i\mathcal{O}(D_{\neq x_{0}}^{\$}[\mathsf{F},\mathsf{pe.dk}_{\neq x_{0}},\mathsf{m},\gamma_{1},x_{0},\overline{y}]).

That is, we replace x=x1x^{\ast}=x_{1} and 𝗉𝖾.𝖽𝗄=𝗉𝖾.𝖽𝗄x1\mathsf{pe.dk}^{\prime}=\mathsf{pe.dk}_{\neq x_{1}} with x=x0x^{\ast}=x_{0} and 𝗉𝖾.𝖽𝗄=𝗉𝖾.𝖽𝗄x0\mathsf{pe.dk}^{\prime}=\mathsf{pe.dk}_{\neq x_{0}}, respectively.

We also rename γ1{0,1}\gamma_{1}\leftarrow\{0,1\} into γ0{0,1}\gamma_{0}\leftarrow\{0,1\} (these distributions are the same).

𝖧𝗒𝖻3=\mathsf{Hyb}_{3}^{=}:

This is the same as 𝖧𝗒𝖻2=\mathsf{Hyb}_{2}^{=} except that we use y0{0,1}𝗈𝗎𝗍y_{0}\leftarrow\{0,1\}^{\ell_{\mathsf{out}}} instead of y1𝖯𝖱𝖦(s)y_{1}\coloneqq\mathsf{PRG}(s^{\ast}).

We describe the high-level overview of hybrid games for γ=𝗆[i]\gamma^{\ast}=\mathsf{m}[i^{\ast}] in Figures 9 and 10.

Case γ𝗆[i]\gamma^{\ast}\neq\mathsf{m}[i^{\ast}]:

Next, we consider the case where γ𝗆[i]\gamma^{\ast}\neq\mathsf{m}[i^{\ast}]. We denote these hybrid games by 𝖧𝗒𝖻k\mathsf{Hyb}_{k}^{\neq}.

𝖧𝗒𝖻1\mathsf{Hyb}_{1}^{\neq}:

This is the same as 𝖧𝗒𝖻0\mathsf{Hyb}_{0} except that if γ1𝗆[i]\gamma_{1}\neq\mathsf{m}[i^{\ast}], we generate D~i𝒪(Dx1𝗋𝖾𝖺𝗅[𝖥,𝗉𝖾.𝖽𝗄x1,𝗆,γ1,x1,y1])\widetilde{D}\leftarrow i\mathcal{O}(D_{\neq x_{1}}^{\mathsf{real}}[\mathsf{F},\mathsf{pe.dk}_{\neq x_{1}},\mathsf{m},\gamma_{1},x_{1},y_{1}]), where Dx𝗋𝖾𝖺𝗅D_{\neq x^{\ast}}^{\mathsf{real}} is described in Figure 8 and y1𝖯𝖱𝖦(s)y_{1}\coloneqq\mathsf{PRG}(s^{\ast}). We use a punctured decryption key 𝗉𝖾.𝖽𝗄x1\mathsf{pe.dk}_{\neq x_{1}} instead of 𝗉𝖾.𝖽𝗄\mathsf{pe.dk}. However, we do not use a puncture key for 𝖥\mathsf{F} at this point.

Circuit Dx𝗋𝖾𝖺𝗅[𝖥,𝗉𝖾.𝖽𝗄,𝗆,γ,x,y]D_{\neq x^{\ast}}^{\mathsf{real}}[\mathsf{F}^{\prime},\mathsf{pe.dk}^{\prime},\mathsf{m},\gamma^{\ast},x^{\ast},y^{\ast}] Constants: A (possibly punctured) PRF key 𝖥\mathsf{F}^{\prime}, a (possibly punctured) PE decryption key 𝗉𝖾.𝖽𝗄\mathsf{pe.dk}^{\prime}, a message 𝗆\mathsf{m}, a bit γ\gamma^{\ast}, and strings x{0,1}𝗂𝗇,y{0,1}𝗈𝗎𝗍x^{\ast}\in\{0,1\}^{\ell_{\mathsf{in}}},y^{\ast}\in\{0,1\}^{\ell_{\mathsf{out}}}. Input: A string x{0,1}𝗂𝗇x\in\{0,1\}^{\ell_{\mathsf{in}}}. 1. If x=xx=x^{\ast}, output yy^{\ast}. 2. Compute d𝖯𝖤.𝖣𝖾𝖼(𝗉𝖾.𝖽𝗄¯,x)d\leftarrow\mathsf{PE}.\mathsf{Dec}({\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\underline{{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}\mathsf{pe.dk}^{\prime}}}},x). 3. If dd\neq\bot, do the following (a) Parse d=siγd=s\|i\|\gamma, where s{0,1}s\in\{0,1\}^{\ell}, i[𝗆]i\in[{\ell_{\mathsf{m}}}], and γ{0,1}\gamma\in\{0,1\}. (b) If 𝗆[i]γ\mathsf{m}[i]\neq\gamma, output 𝖯𝖱𝖦(s)\mathsf{PRG}(s). Otherwise, output 𝖥(x)\mathsf{F}^{\prime}(x). 4. Otherwise, output 𝖥(x)\mathsf{F}^{\prime}(x).

Figure 8: The description of Dx𝗋𝖾𝖺𝗅D_{\neq x^{\ast}}^{\mathsf{real}} (for γ=1𝗆[i]\gamma^{\ast}=1-\mathsf{m}[i^{\ast}])
𝖧𝗒𝖻2\mathsf{Hyb}_{2}^{\neq}:

This is the same as 𝖧𝗒𝖻1\mathsf{Hyb}_{1}^{\neq} except that

  • x0{0,1}𝗂𝗇x_{0}\leftarrow\{0,1\}^{\ell_{\mathsf{in}}},

  • D~i𝒪(Dx0𝗋𝖾𝖺𝗅[𝖥,𝗉𝖾.𝖽𝗄x0,𝗆,γ1,x0,y1])\widetilde{D}\leftarrow i\mathcal{O}(D_{\neq x_{0}}^{\mathsf{real}}[\mathsf{F},\mathsf{pe.dk}_{\neq x_{0}},\mathsf{m},\gamma_{1},x_{0},y_{1}]).

That is, we replace x=x1x^{\ast}=x_{1} and 𝗉𝖾.𝖽𝗄=𝗉𝖾.𝖽𝗄x1\mathsf{pe.dk}^{\prime}=\mathsf{pe.dk}_{\neq x_{1}} with x=x0x^{\ast}=x_{0} and 𝗉𝖾.𝖽𝗄=𝗉𝖾.𝖽𝗄x0\mathsf{pe.dk}^{\prime}=\mathsf{pe.dk}_{\neq x_{0}}, respectively. We also rename γ1{0,1}\gamma_{1}\leftarrow\{0,1\} into γ0{0,1}\gamma_{0}\leftarrow\{0,1\} (these distributions are the same).

𝖧𝗒𝖻3\mathsf{Hyb}_{3}^{\neq}:

This is the same as 𝖧𝗒𝖻2\mathsf{Hyb}_{2}^{\neq} except that we use y0{0,1}𝗈𝗎𝗍y_{0}\leftarrow\{0,1\}^{\ell_{\mathsf{out}}} instead of y1𝖯𝖱𝖦(s)y_{1}\coloneqq\mathsf{PRG}(s^{\ast}).

𝖧𝗒𝖻4\mathsf{Hyb}_{4}^{\neq}:

This is the same as 𝖧𝗒𝖻3\mathsf{Hyb}_{3}^{\neq} except that we use 𝖥x0\mathsf{F}_{\neq x_{0}} instead of 𝖥\mathsf{F}.

𝖧𝗒𝖻5\mathsf{Hyb}_{5}^{\neq}:

This is the same as 𝖧𝗒𝖻4\mathsf{Hyb}_{4}^{\neq} except that we use y0𝖥(x0)y_{0}\coloneqq\mathsf{F}(x_{0}) instead of y0{0,1}𝗈𝗎𝗍y_{0}\leftarrow\{0,1\}^{\ell_{\mathsf{out}}}.

𝖧𝗒𝖻6\mathsf{Hyb}_{6}^{\neq}:

This is the same as 𝖧𝗒𝖻5\mathsf{Hyb}_{5}^{\neq} except that we use 𝖥\mathsf{F} instead of 𝖥x0\mathsf{F}_{\neq x_{0}}.

We describe the high-level overview of hybrid games for γ𝗆[i]\gamma^{\ast}\neq\mathsf{m}[i^{\ast}] in Figures 9 and 11.

End of case analysis:

The two case analyses end. Remaining transitions are the reverse of transitions from 𝖧𝗒𝖻0\mathsf{Hyb}_{0} to 𝖧𝗒𝖻1=\mathsf{Hyb}_{1}^{=} or 𝖧𝗒𝖻1\mathsf{Hyb}_{1}^{\neq}.

𝖧𝗒𝖻4=\mathsf{Hyb}_{4}^{=} and 𝖧𝗒𝖻7\mathsf{Hyb}_{7}^{\neq}:

These are the same as 𝖧𝗒𝖻3=\mathsf{Hyb}_{3}^{=} and 𝖧𝗒𝖻6\mathsf{Hyb}_{6}^{\neq}, respectively except that

  • if γ0=𝗆[i]\gamma_{0}=\mathsf{m}[i^{\ast}], we use D~i𝒪(D[𝖥,𝗉𝖾.𝖽𝗄,𝗆])\widetilde{D}\leftarrow i\mathcal{O}(D[\mathsf{F},\mathsf{pe.dk},\mathsf{m}]) instead of D~i𝒪(Dx0$[𝖥,𝗉𝖾.𝖽𝗄x0,𝗆,γ0,x0,y¯])\widetilde{D}\leftarrow i\mathcal{O}(D_{\neq x_{0}}^{\$}[\mathsf{F},\mathsf{pe.dk}_{\neq x_{0}},\mathsf{m},\gamma_{0},x_{0},\overline{y}]), where Dx$D_{\neq x^{\ast}}^{\$} is described in Figure 7 and y¯𝖥(x0)\overline{y}\coloneqq\mathsf{F}(x_{0}).

  • if γ0𝗆[i]\gamma_{0}\neq\mathsf{m}[i^{\ast}], we use D~i𝒪(D[𝖥,𝗉𝖾.𝖽𝗄,𝗆])\widetilde{D}\leftarrow i\mathcal{O}(D[\mathsf{F},\mathsf{pe.dk},\mathsf{m}]) instead of D~i𝒪(Dx0𝗋𝖾𝖺𝗅[𝖥,𝗉𝖾.𝖽𝗄x0,𝗆,γ0,x0,y0])\widetilde{D}\leftarrow i\mathcal{O}(D_{\neq x_{0}}^{\mathsf{real}}[\mathsf{F},\mathsf{pe.dk}_{\neq x_{0}},\mathsf{m},\gamma_{0},x_{0},y_{0}]), where Dx𝗋𝖾𝖺𝗅D_{\neq x^{\ast}}^{\mathsf{real}} is described in Figure 8 and y0𝖥(x0)y_{0}\coloneqq\mathsf{F}(x_{0}).

The each last hybrid is the same as the case b=0b=0 in 𝖤𝗑𝗉i,𝒜,𝖯𝖱𝖥𝗂𝗈𝗉𝗎𝖻-𝗌𝗂𝗆-𝗆𝖽𝖽(λ)\mathsf{Exp}_{i^{\ast},\mathpzc{A},\mathsf{PRF}_{\mathsf{io}}}^{\mathsf{pub}\mbox{-}\mathsf{sim}\mbox{-}\mathsf{mdd}}(\lambda). That is, 𝒜\mathpzc{A} is given C~=i𝒪(D[𝖥,𝗉𝖾.𝖽𝗄,𝗆])\widetilde{C}=i\mathcal{O}(D[\mathsf{F},\mathsf{pe.dk},\mathsf{m}]) and (γ0,x0,y0)D𝚛𝚎𝚊𝚕,i(\gamma_{0},x_{0},y_{0})\leftarrow D_{\mathtt{real},i^{\ast}}. Recall that x0{0,1}𝗂𝗇x_{0}\leftarrow\{0,1\}^{\ell_{\mathsf{in}}} and

  • y0{0,1}𝗈𝗎𝗍y_{0}\leftarrow\{0,1\}^{\ell_{\mathsf{out}}} if γ0=𝗆[i]\gamma_{0}=\mathsf{m}[i^{\ast}] (see 𝖧𝗒𝖻3=\mathsf{Hyb}_{3}^{=}),

  • y0𝖥(x0)y_{0}\coloneqq\mathsf{F}(x_{0}) if γ0𝗆[i]\gamma_{0}\neq\mathsf{m}[i^{\ast}] (see 𝖧𝗒𝖻5\mathsf{Hyb}_{5}^{\neq}).

𝗉𝗋𝖿𝗄\mathsf{prfk} O𝚌𝚑𝚊𝚕𝚕O_{\mathtt{chall}} security
γ1=𝗆[i]\gamma_{1}=\mathsf{m}[i^{\ast}] γ1𝗆[i]\gamma_{1}\neq\mathsf{m}[i^{\ast}]
𝖧𝗒𝖻0\mathsf{Hyb}_{0} (𝖥,𝗉𝖾.𝖽𝗄)(\mathsf{F},\mathsf{pe.dk}) i𝒪(D)i\mathcal{O}(D) i𝒪(D)i\mathcal{O}(D)
𝖧𝗒𝖻1=\mathsf{Hyb}_{1}^{=} (𝖥,𝗉𝖾.𝖽𝗄x1¯)(\mathsf{F},{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\underline{{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}\mathsf{pe.dk}_{\neq x_{1}}}}}) i𝒪(Dx1$)i\mathcal{O}(D_{\neq x_{1}}^{\$}) N/A IO & PE p-Cor.
𝖧𝗒𝖻1\mathsf{Hyb}_{1}^{\neq} (𝖥,𝗉𝖾.𝖽𝗄x1¯)(\mathsf{F},{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\underline{{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}\mathsf{pe.dk}_{\neq x_{1}}}}}) N/A i𝒪(Dx1𝗋𝖾𝖺𝗅)i\mathcal{O}(D_{\neq x_{1}}^{\mathsf{real}}) IO & PE p-Cor.
Figure 9: High-level overview of hybrid games from 𝖧𝗒𝖻0\mathsf{Hyb}_{0} to 𝖧𝗒𝖻1=\mathsf{Hyb}_{1}^{=} and 𝖧𝗒𝖻1\mathsf{Hyb}_{1}^{\neq}. Note that in these hybrid games, (γ1,x1,y1)𝖲𝗂𝗆(𝗑𝗄,τ,i)(\gamma_{1},x_{1},y_{1})\leftarrow\mathsf{Sim}(\mathsf{xk},\tau,i^{\ast}) and x=x1x^{\ast}=x_{1}. We use 𝗉𝖾.𝖽𝗄x1\mathsf{pe.dk}_{\neq x_{1}} in Dx1$D_{\neq x_{1}}^{\$} and Dx1𝗋𝖾𝖺𝗅D_{\neq x_{1}}^{\mathsf{real}}, but 𝖥\mathsf{F} is not punctured yet. In “security” column, PE p-Cor. means PE punctured correctness.
γ=𝗆[i]\gamma^{\ast}=\mathsf{m}[i]
xx^{\ast} (x1x_{1}/x0x_{0}) yy^{\ast} (y1y_{1}/y0y_{0}) y¯\overline{y} O𝚌𝚑𝚊𝚕𝚕O_{\mathtt{chall}} 𝗉𝗋𝖿𝗄\mathsf{prfk} security
𝖧𝗒𝖻1=\mathsf{Hyb}_{1}^{=} 𝖯𝖤.𝖤𝗇𝖼(pi)\mathsf{PE}.\mathsf{Enc}(p_{i^{\ast}}) 𝖯𝖱𝖦(s)\mathsf{PRG}(s^{\ast}) 𝖥(x1)\mathsf{F}(x_{1}) i𝒪(Dx1$[x1y¯])i\mathcal{O}(D_{\neq x_{1}}^{\$}[x_{1}\mapsto\bar{y}]) (𝖥,𝗉𝖾.𝖽𝗄x1)(\mathsf{F},\mathsf{pe.dk}_{\neq x_{1}})
𝖧𝗒𝖻2=\mathsf{Hyb}_{2}^{=} x0$x_{0}\leftarrow\$ 𝖯𝖱𝖦(s)\mathsf{PRG}(s^{\ast}) 𝖥(x0)\mathsf{F}(x_{0}) i𝒪(Dx0$[x0y¯])i\mathcal{O}(D_{\neq x_{0}}^{\$}[x_{0}\mapsto\bar{y}]) (𝖥,𝗉𝖾.𝖽𝗄x0)(\mathsf{F},\mathsf{pe.dk}_{\neq x_{0}}) S-CPR
𝖧𝗒𝖻3=\mathsf{Hyb}_{3}^{=} $\$ y0$y_{0}\leftarrow\$ 𝖥(x0)\mathsf{F}(x_{0}) i𝒪(Dx0$[x0y¯])i\mathcal{O}(D_{\neq x_{0}}^{\$}[x_{0}\mapsto\bar{y}]) (𝖥,𝗉𝖾.𝖽𝗄x0)(\mathsf{F},\mathsf{pe.dk}_{\neq x_{0}}) PRG
𝖧𝗒𝖻4=\mathsf{Hyb}_{4}^{=} $\$ $\$ 𝖥(x0)\mathsf{F}(x_{0}) i𝒪(D)i\mathcal{O}(D) (𝖥,𝗉𝖾.𝖽𝗄¯)(\mathsf{F},{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\underline{{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}\mathsf{pe.dk}}}}) IO & PE p-Cor.
Figure 10: High-level overview of hybrid games from 𝖧𝗒𝖻1=\mathsf{Hyb}_{1}^{=} to 𝖧𝗒𝖻4=\mathsf{Hyb}_{4}^{=}. Here, pi(siγ1)p_{i^{\ast}}\coloneqq(s^{\ast}\|i^{\ast}\|\gamma_{1}) and x1𝖯𝖤.𝖤𝗇𝖼(𝗉𝖾.𝖾𝗄,pi)x_{1}\leftarrow\mathsf{PE}.\mathsf{Enc}(\mathsf{pe.ek},p_{i^{\ast}}). Note that y¯\overline{y} is an output of Dx$D_{\neq x^{\ast}}^{\$} for input xx^{\ast} for γ1=𝗆[i]\gamma_{1}=\mathsf{m}[i^{\ast}] case. Dx$[xy¯]D_{\neq x^{\ast}}^{\$}[x^{\ast}\mapsto\overline{y}] means Dx$(x)D_{\neq x^{\ast}}^{\$}(x^{\ast}) outputs the hard-coded value y¯\overline{y}. In “security” column, S-CPR means the Strong Ciphertext PseudoRandomness of PE.
γ𝗆[i]\gamma^{\ast}\neq\mathsf{m}[i]
xx^{\ast} (x1x_{1}/x0x_{0}) yy^{\ast} (y1y_{1}/y0y_{0}) O𝚌𝚑𝚊𝚕𝚕O_{\mathtt{chall}} 𝗉𝗋𝖿𝗄\mathsf{prfk} security
𝖧𝗒𝖻1\mathsf{Hyb}_{1}^{\neq} 𝖯𝖤.𝖤𝗇𝖼(pi)\mathsf{PE}.\mathsf{Enc}(p_{i^{\ast}}) 𝖯𝖱𝖦(s)\mathsf{PRG}(s^{\ast}) i𝒪(Dx1𝗋𝖾𝖺𝗅[x1y1])i\mathcal{O}(D_{\neq x_{1}}^{\mathsf{real}}[x_{1}\mapsto y_{1}]) (𝖥,𝗉𝖾.𝖽𝗄x1)(\mathsf{F},\mathsf{pe.dk}_{\neq x_{1}})
𝖧𝗒𝖻2\mathsf{Hyb}_{2}^{\neq} x0$x_{0}\leftarrow\$ 𝖯𝖱𝖦(s)\mathsf{PRG}(s^{\ast}) i𝒪(Dx0𝗋𝖾𝖺𝗅[x0y1])i\mathcal{O}(D_{\neq x_{0}}^{\mathsf{real}}[x_{0}\mapsto y_{1}]) (𝖥,𝗉𝖾.𝖽𝗄x0)(\mathsf{F},\mathsf{pe.dk}_{\neq x_{0}}) S-CPR
𝖧𝗒𝖻3\mathsf{Hyb}_{3}^{\neq} $\$ y0$y_{0}\leftarrow\$ i𝒪(Dx0𝗋𝖾𝖺𝗅[x0y0])i\mathcal{O}(D_{\neq x_{0}}^{\mathsf{real}}[x_{0}\mapsto y_{0}]) (𝖥,𝗉𝖾.𝖽𝗄x0)(\mathsf{F},\mathsf{pe.dk}_{\neq x_{0}}) PRG
𝖧𝗒𝖻4\mathsf{Hyb}_{4}^{\neq} $\$ $\$ i𝒪(Dx0𝗋𝖾𝖺𝗅[x0y0])i\mathcal{O}(D_{\neq x_{0}}^{\mathsf{real}}[x_{0}\mapsto y_{0}]) (𝖥x0¯,𝗉𝖾.𝖽𝗄x0)({\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\underline{{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}\mathsf{F}_{\neq x_{0}}}}},\mathsf{pe.dk}_{\neq x_{0}}) IO & PPRF p-Cor.
𝖧𝗒𝖻5\mathsf{Hyb}_{5}^{\neq} $\$ 𝖥(x0)\mathsf{F}(x_{0}) i𝒪(Dx0𝗋𝖾𝖺𝗅[x0y0])i\mathcal{O}(D_{\neq x_{0}}^{\mathsf{real}}[x_{0}\mapsto y_{0}]) (𝖥x0,𝗉𝖾.𝖽𝗄x0)(\mathsf{F}_{\neq x_{0}},\mathsf{pe.dk}_{\neq x_{0}}) PPRF
𝖧𝗒𝖻6\mathsf{Hyb}_{6}^{\neq} $\$ 𝖥(x0)\mathsf{F}(x_{0}) i𝒪(Dx0𝗋𝖾𝖺𝗅[x0y0])i\mathcal{O}(D_{\neq x_{0}}^{\mathsf{real}}[x_{0}\mapsto y_{0}]) (𝖥¯,𝗉𝖾.𝖽𝗄x0)({\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\underline{{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}\mathsf{F}}}},\mathsf{pe.dk}_{\neq x_{0}}) IO & PPRF p-Cor.
𝖧𝗒𝖻7\mathsf{Hyb}_{7}^{\neq} $\$ 𝖥(x0)\mathsf{F}(x_{0}) i𝒪(D)i\mathcal{O}(D) (𝖥,𝗉𝖾.𝖽𝗄¯)(\mathsf{F},{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\underline{{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}\mathsf{pe.dk}}}}) IO & PE p-Cor.
Figure 11: High-level overview of hybrid games from 𝖧𝗒𝖻1\mathsf{Hyb}_{1}^{\neq} to 𝖧𝗒𝖻7\mathsf{Hyb}_{7}^{\neq}. Here, pi(siγ1)p_{i^{\ast}}\coloneqq(s^{\ast}\|i^{\ast}\|\gamma_{1}) and x1𝖯𝖤.𝖤𝗇𝖼(𝗉𝖾.𝖾𝗄,pi)x_{1}\leftarrow\mathsf{PE}.\mathsf{Enc}(\mathsf{pe.ek},p_{i^{\ast}}). Dx𝗋𝖾𝖺𝗅[xy]D_{\neq x^{\ast}}^{\mathsf{real}}[x^{\ast}\mapsto y^{\ast}] means Dx𝗋𝖾𝖺𝗅(x)D_{\neq x^{\ast}}^{\mathsf{real}}(x^{\ast}) outputs the hard-coded value yy^{\ast}. In “security” column, S-CPR and PPRF p-Cor. mean the Strong Ciphertext PseudoRandomness of PE and punctured correctness of PPRF, respectively.

We prove the lemma by proving the following propositions.

The case γ=𝗆[i]\gamma^{\ast}=\mathsf{m}[i].

We first prove propositions for the case γ=𝗆[i]\gamma^{\ast}=\mathsf{m}[i].

Proposition 7.7.

If i𝒪i\mathcal{O} is a secure IO and 𝖯𝖤\mathsf{PE} satisfies punctured correctness, it holds that

|Pr[𝖧𝗒𝖻0=1]Pr[𝖧𝗒𝖻1==1]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathsf{Hyb}_{0}=1]-\Pr[\mathsf{Hyb}_{1}^{=}=1]}\leq{\mathsf{negl}}(\lambda).
Proof of Proposition 7.7.

The difference between the two games is that Dx1$[𝖥,𝗉𝖾.𝖽𝗄x1,𝗆,γ,x1,y¯]D_{\neq x_{1}}^{\$}[\mathsf{F},\mathsf{pe.dk}_{\neq x_{1}},\mathsf{m},\gamma,x_{1},\overline{y}] is used for O𝚌𝚑𝚊𝚕𝚕O_{\mathtt{chall}} instead of D[𝖥,𝗉𝖾.𝖽𝗄,𝗆]D[\mathsf{F},\mathsf{pe.dk},\mathsf{m}] in the case where γ1=𝗆[i]\gamma_{1}=\mathsf{m}[i^{\ast}]. These two circuits are the same except that

  • for input x1x_{1}, Dx1$D_{\neq x_{1}}^{\$} directly outputs y¯\overline{y},

due to the punctured correctness of 𝖯𝖤\mathsf{PE}. Thus, if the following hold, Dx1$D_{\neq x_{1}}^{\$} and DD are functionally equivalent:

  • D(x1)D(x_{1}) outputs y¯=𝖥(x1)\overline{y}=\mathsf{F}(x_{1}) when γ1=𝗆[i]\gamma_{1}=\mathsf{m}[i^{\ast}].

This holds since x1𝖯𝖤.𝖤𝗇𝖼(𝗉𝖾.𝖾𝗄,siγ1)x_{1}\leftarrow\mathsf{PE}.\mathsf{Enc}(\mathsf{pe.ek},s^{\ast}\|i^{\ast}\|\gamma_{1}) and D(x1)D(x_{1}) runs the item (b) in Figure 6, but γ1𝗆[i]\gamma_{1}\neq\mathsf{m}[i^{\ast}] does not hold in this case.

Thus, Dx1$D_{\neq x_{1}}^{\$} and DD are functionally equivalent and the proposition holds due to IO security.   

Proposition 7.8.

If 𝖯𝖤\mathsf{PE} satisfies strong ciphertext pseudorandomness, it holds that

|Pr[𝖧𝗒𝖻1==1]Pr[𝖧𝗒𝖻2==1]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathsf{Hyb}_{1}^{=}=1]-\Pr[\mathsf{Hyb}_{2}^{=}=1]}\leq{\mathsf{negl}}(\lambda).
Proof of Proposition 7.8.

We construct an algorithm \mathpzc{B} for strong ciphertext pseudorandomness by using 𝒜\mathpzc{A}. \mathpzc{B} generates 𝖥𝖯𝖱𝖥.𝖦𝖾𝗇(1λ)\mathsf{F}\leftarrow\mathsf{PRF}.\mathsf{Gen}(1^{\lambda}), and chooses s{0,1}s^{\ast}\leftarrow\{0,1\}^{\ell} and γ1{0,1}\gamma_{1}\leftarrow\{0,1\}. \mathpzc{B} sends siγ1s^{\ast}\|i^{\ast}\|\gamma_{1} to the challenger. The challenger returns (x,𝗉𝖾.𝖾𝗄,𝗉𝖾.𝖽𝗄x)(x^{\ast},\mathsf{pe.ek},\mathsf{pe.dk}_{\neq x^{\ast}}) to \mathpzc{B}.

Then, \mathpzc{B} passes 𝗉𝗉\mathsf{pp}\coloneqq\bot and 𝗑𝗄\mathsf{xk}\coloneqq\bot to 𝒜\mathpzc{A}. \mathpzc{B} also computes y¯𝖥(x)\overline{y}\coloneqq\mathsf{F}(x^{\ast}).

Challenge:

When 𝒜\mathpzc{A} sends a challenge query 𝗆\mathsf{m}, \mathpzc{B} does the following

  • Construct Dx$[𝖥,𝗉𝖾.𝖽𝗄x,𝗆,γ1,x,y¯]D_{\neq x^{\ast}}^{\$}[\mathsf{F},\mathsf{pe.dk}_{\neq x^{\ast}},\mathsf{m},\gamma_{1},x^{\ast},\overline{y}] as described in Figure 7.

  • Return C~i𝒪(Dx$[𝖥,𝗉𝖾.𝖽𝗄x,𝗆,γ1,x,y¯])\widetilde{C}\coloneqq i\mathcal{O}(D_{\neq x^{\ast}}^{\$}[\mathsf{F},\mathsf{pe.dk}_{\neq x^{\ast}},\mathsf{m},\gamma_{1},x^{\ast},\overline{y}]) and τ𝗉𝖾.𝖾𝗄\tau\coloneqq\mathsf{pe.ek} to 𝒜\mathpzc{A}.

After finishing 𝒜\mathpzc{A}’s challenge query, \mathpzc{B} computes y𝖯𝖱𝖦(s)y^{\ast}\coloneqq\mathsf{PRG}(s^{\ast}) and sends (γ1,x,y)(\gamma_{1},x^{\ast},y^{\ast}) to 𝒜\mathpzc{A}. Finally, when 𝒜\mathpzc{A} terminates with output 𝖼𝗈𝗂𝗇\mathsf{coin}^{\prime}, \mathpzc{B} outputs 𝖼𝗈𝗂𝗇\mathsf{coin}^{\prime} and terminates. \mathpzc{B} perfectly simulates

  • 𝖧𝗒𝖻1=\mathsf{Hyb}_{1}^{=} if x𝖯𝖤.𝖤𝗇𝖼(𝗉𝖾.𝖾𝗄,siγ1)x^{\ast}\leftarrow\mathsf{PE}.\mathsf{Enc}(\mathsf{pe.ek},s^{\ast}\|i^{\ast}\|\gamma_{1}),

  • 𝖧𝗒𝖻2=\mathsf{Hyb}_{2}^{=} if x{0,1}𝗂𝗇x^{\ast}\leftarrow\{0,1\}^{\ell_{\mathsf{in}}}.

Thus, we see that the proposition holds.   

Proposition 7.9.

If 𝖯𝖱𝖦\mathsf{PRG} is a secure PRG, it holds that |Pr[𝖧𝗒𝖻2==1]Pr[𝖧𝗒𝖻3==1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Hyb}_{2}^{=}=1]-\Pr[\mathsf{Hyb}_{3}^{=}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition 7.9.

The difference between the two games is that yy^{\ast} in the target triple (γ0,x0,y)(\gamma_{0},x_{0},y^{\ast}) is 𝖯𝖱𝖦(s)\mathsf{PRG}(s^{\ast}) or random in the case where γ0=𝗆[i]\gamma_{0}=\mathsf{m}[i]. Recall that we rename γ1{0,1}\gamma_{1}\leftarrow\{0,1\} to γ0{0,1}\gamma_{0}\leftarrow\{0,1\}. Note that we randomly choose x0{0,1}𝗂𝗇x_{0}\leftarrow\{0,1\}^{\ell_{\mathsf{in}}} and use 𝖥\mathsf{F} and 𝗉𝖾.𝖽𝗄x0\mathsf{pe.dk}_{\neq x_{0}} in these games. Thus, we can apply pseudorandomness of 𝖯𝖱𝖦\mathsf{PRG} since the value ss^{\ast} is never used anywhere else.   

The case where γ𝗆[i]\gamma^{\ast}\neq\mathsf{m}[i].

Next, we prove propositions for the case where γ𝗆[i]\gamma^{\ast}\neq\mathsf{m}[i].

Proposition 7.10.

If i𝒪i\mathcal{O} is a secure IO and 𝖯𝖤\mathsf{PE} satisfies punctured correctness, it holds that

|Pr[𝖧𝗒𝖻0=1]Pr[𝖧𝗒𝖻1=1]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathsf{Hyb}_{0}=1]-\Pr[\mathsf{Hyb}_{1}^{\neq}=1]}\leq{\mathsf{negl}}(\lambda).
Proof of Proposition 7.10.

The difference between the two games is that Dx1𝗋𝖾𝖺𝗅[𝖥,𝗉𝖾.𝖽𝗄x1,𝗆,γ,x1,y1]D_{\neq x_{1}}^{\mathsf{real}}[\mathsf{F},\mathsf{pe.dk}_{\neq x_{1}},\mathsf{m},\gamma,x_{1},y_{1}] is used for the challenge query instead of D[𝖥,𝗉𝖾.𝖽𝗄,𝗆]D[\mathsf{F},\mathsf{pe.dk},\mathsf{m}] in the case where γ1𝗆[i]\gamma_{1}\neq\mathsf{m}[i^{\ast}]. These two circuits are the same except that

  • for input x1x_{1}, Dx1𝗋𝖾𝖺𝗅D_{\neq x_{1}}^{\mathsf{real}} directly outputs the hard-wired value y1=𝖯𝖱𝖦(s)y_{1}=\mathsf{PRG}(s^{\ast}),

due to the punctured correctness of 𝖯𝖤\mathsf{PE}. Thus, if the following hold, Dx1𝗋𝖾𝖺𝗅D_{\neq x_{1}}^{\mathsf{real}} and DD are functionally equivalent:

  • D(x1)D(x_{1}) outputs y1=𝖯𝖱𝖦(s)y_{1}=\mathsf{PRG}(s^{\ast}) when γ1𝗆[i]\gamma_{1}\neq\mathsf{m}[i^{\ast}],

This holds since x1𝖯𝖤.𝖤𝗇𝖼(𝗉𝖾.𝖾𝗄,siγ1)x_{1}\leftarrow\mathsf{PE}.\mathsf{Enc}(\mathsf{pe.ek},s^{\ast}\|i^{\ast}\|\gamma_{1}), D(x1)D(x_{1}) runs the item (b) in Figure 6, and γ1𝗆[i]\gamma_{1}\neq\mathsf{m}[i^{\ast}] holds in this case. Thus, Dx1𝗋𝖾𝖺𝗅D_{\neq x_{1}}^{\mathsf{real}} and DD are functionally equivalent and the proposition holds due to IO security.   

Proposition 7.11.

If 𝖯𝖤\mathsf{PE} satisfies strong pseudorandom ciphertext, it holds that

|Pr[𝖧𝗒𝖻1=1]Pr[𝖧𝗒𝖻2=1]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathsf{Hyb}_{1}^{\neq}=1]-\Pr[\mathsf{Hyb}_{2}^{\neq}=1]}\leq{\mathsf{negl}}(\lambda).
Proof of Proposition 7.11.

We construct an algorithm \mathpzc{B} for strong ciphertext pseudorandomness by using a distinguisher 𝒜\mathpzc{A}. \mathpzc{B} generates 𝖥𝖯𝖱𝖥.𝖦𝖾𝗇(1λ)\mathsf{F}\leftarrow\mathsf{PRF}.\mathsf{Gen}(1^{\lambda}) and chooses s{0,1}s^{\ast}\leftarrow\{0,1\}^{\ell} and γ1{0,1}\gamma_{1}\leftarrow\{0,1\}. \mathpzc{B} sends siγ1s^{\ast}\|i^{\ast}\|\gamma_{1} to the challenger. The challenger returns (x,𝗉𝖾.𝖾𝗄,𝗉𝖾.𝖽𝗄x)(x^{\ast},\mathsf{pe.ek},\mathsf{pe.dk}_{\neq x^{\ast}}) to \mathpzc{B}.

Then, \mathpzc{B} passes 𝗉𝗉\mathsf{pp}\coloneqq\bot and 𝗑𝗄\mathsf{xk}\coloneqq\bot to 𝒜\mathpzc{A}. \mathpzc{B} also computes y𝖯𝖱𝖦(s)y^{\ast}\coloneqq\mathsf{PRG}(s^{\ast}).

Challenge:

When 𝒜\mathpzc{A} sends a challenge query 𝗆\mathsf{m}, \mathpzc{B} does the following

  • Construct Dx𝗋𝖾𝖺𝗅[𝖥,𝗉𝖾.𝖽𝗄x,𝗆,γ1,x,y]D_{\neq x^{\ast}}^{\mathsf{real}}[\mathsf{F},\mathsf{pe.dk}_{\neq x^{\ast}},\mathsf{m},\gamma_{1},x^{\ast},y^{\ast}] where y𝖯𝖱𝖦(s)y^{\ast}\coloneqq\mathsf{PRG}(s^{\ast}) as described in Figure 8.

  • Return C~i𝒪(Dx𝗋𝖾𝖺𝗅)\widetilde{C}\coloneqq i\mathcal{O}(D_{\neq x^{\ast}}^{\mathsf{real}}) and τ𝗉𝖾.𝖾𝗄\tau\coloneqq\mathsf{pe.ek} to 𝒜\mathpzc{A}.

After finishing 𝒜\mathpzc{A}’s challenge, \mathpzc{B} sends (γ1,x,y)(\gamma_{1},x^{\ast},y^{\ast}) to 𝒜\mathpzc{A}. Finally, when 𝒜\mathpzc{A} terminates with output 𝖼𝗈𝗂𝗇\mathsf{coin}^{\prime}, \mathpzc{B} outputs 𝖼𝗈𝗂𝗇\mathsf{coin}^{\prime} and terminates.

\mathpzc{B} perfectly simulates

  • 𝖧𝗒𝖻1\mathsf{Hyb}_{1}^{\neq} if x𝖯𝖤.𝖤𝗇𝖼(𝗉𝖾.𝖾𝗄,siγ1)x^{\ast}\leftarrow\mathsf{PE}.\mathsf{Enc}(\mathsf{pe.ek},s^{\ast}\|i^{\ast}\|\gamma_{1}),

  • 𝖧𝗒𝖻2\mathsf{Hyb}_{2}^{\neq} if x{0,1}𝗂𝗇x^{\ast}\leftarrow\{0,1\}^{\ell_{\mathsf{in}}}.

Thus, we see that the proposition holds.   

Proposition 7.12.

If 𝖯𝖱𝖦\mathsf{PRG} is a secure PRG, it holds that |Pr[𝖧𝗒𝖻2=1]Pr[𝖧𝗒𝖻3=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Hyb}_{2}^{\neq}=1]-\Pr[\mathsf{Hyb}_{3}^{\neq}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition 7.12.

The difference between the two games is that yy^{\ast} in the target triple (γ0,x0,y)(\gamma_{0},x_{0},y^{\ast}) is 𝖯𝖱𝖦(s)\mathsf{PRG}(s^{\ast}) or random in the case where γ0𝗆[i]\gamma_{0}\neq\mathsf{m}[i]. Recall that we rename γ1{0,1}\gamma_{1}\leftarrow\{0,1\} to γ0{0,1}\gamma_{0}\leftarrow\{0,1\}. Note that we randomly choose x0{0,1}𝗂𝗇x_{0}\leftarrow\{0,1\}^{\ell_{\mathsf{in}}} and use 𝖥\mathsf{F} and 𝗉𝖾.𝖽𝗄x0\mathsf{pe.dk}_{\neq x_{0}} in these games. Thus, we can apply pseudorandomness of 𝖯𝖱𝖦\mathsf{PRG} since the value ss^{\ast} is never used anywhere else.   

Proposition 7.13.

If i𝒪i\mathcal{O} is a secure IO and 𝖥\mathsf{F} satisfies punctured correctness, it holds that

|Pr[𝖧𝗒𝖻3=1]Pr[𝖧𝗒𝖻4=1]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathsf{Hyb}_{3}^{\neq}=1]-\Pr[\mathsf{Hyb}_{4}^{\neq}=1]}\leq{\mathsf{negl}}(\lambda).
Proof of Proposition 7.13.

The difference between the two games is that Dx0𝗋𝖾𝖺𝗅[𝖥x0,𝗉𝖾.𝖽𝗄x0,𝗆,γ0,x0,y0]D_{\neq x_{0}}^{\mathsf{real}}[\mathsf{F}_{\neq x_{0}},\mathsf{pe.dk}_{\neq x_{0}},\mathsf{m},\gamma_{0},x_{0},y_{0}] is used for the challenge query instead of Dx0𝗋𝖾𝖺𝗅[𝖥,𝗉𝖾.𝖽𝗄x0,𝗆,γ0,x0,y0]D_{\neq x_{0}}^{\mathsf{real}}[\mathsf{F},\mathsf{pe.dk}_{\neq x_{0}},\mathsf{m},\gamma_{0},x_{0},y_{0}] in the case where γ0𝗆[i]\gamma_{0}\neq\mathsf{m}[i^{\ast}]. These two circuits are the same except that we use 𝖥x0\mathsf{F}_{\neq x_{0}} instead of 𝖥\mathsf{F}. Those two circuits above are functionally equivalent since 𝖥x0()\mathsf{F}_{\neq x_{0}}(\cdot) is functionally equivalent to 𝖥\mathsf{F} except for x0x_{0} and both Dx0𝗋𝖾𝖺𝗅[𝖥x0,𝗉𝖾.𝖽𝗄x0,𝗆,γ0,x0,y0](x0)D_{\neq x_{0}}^{\mathsf{real}}[\mathsf{F}_{\neq x_{0}},\mathsf{pe.dk}_{\neq x_{0}},\mathsf{m},\gamma_{0},x_{0},y_{0}](x_{0}) and Dx0𝗋𝖾𝖺𝗅[𝖥,𝗉𝖾.𝖽𝗄x0,𝗆,γ0,x0,y0](x0)D_{\neq x_{0}}^{\mathsf{real}}[\mathsf{F},\mathsf{pe.dk}_{\neq x_{0}},\mathsf{m},\gamma_{0},x_{0},y_{0}](x_{0}) directly outputs y0y_{0} by the description of Dx0𝗋𝖾𝖺𝗅D_{\neq x_{0}}^{\mathsf{real}}. Note that Dx0𝗋𝖾𝖺𝗅D_{\neq x_{0}}^{\mathsf{real}} does not have any “if branch” condition that uses 𝖥\mathsf{F} or 𝖥x0\mathsf{F}_{\neq x_{0}}.

Thus, the proposition holds due to IO security.   

Proposition 7.14.

If 𝖥\mathsf{F} satisfies punctured pseudorandomness, it holds that

|Pr[𝖧𝗒𝖻4=1]Pr[𝖧𝗒𝖻5=1]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathsf{Hyb}_{4}^{\neq}=1]-\Pr[\mathsf{Hyb}_{5}^{\neq}=1]}\leq{\mathsf{negl}}(\lambda).
Proof of Proposition 7.14.

We construct an algorithm \mathpzc{B} that breaks the pseudorandomness at punctured points of 𝖥\mathsf{F} by using 𝒜\mathpzc{A}.

\mathpzc{B} generates (𝗉𝖾.𝖾𝗄,𝗉𝖾.𝖽𝗄)𝖯𝖤.𝖦𝖾𝗇(1λ)(\mathsf{pe.ek},\mathsf{pe.dk})\leftarrow\mathsf{PE}.\mathsf{Gen}(1^{\lambda}), chooses x0{0,1}𝗂𝗇x_{0}\leftarrow\{0,1\}^{\ell_{\mathsf{in}}} and γ0{0,1}\gamma_{0}\leftarrow\{0,1\}, sends x0x_{0} as the challenge to its challenger of 𝖥\mathsf{F}, and receives 𝖥x0\mathsf{F}_{\neq x_{0}} and yy^{\ast}. Here x0x_{0} does not rely on 𝗆\mathsf{m}, so we can generate x0x_{0} before 𝗆\mathsf{m} is fixed. \mathpzc{B} sends 𝗉𝗉\mathsf{pp}\coloneqq\bot and 𝗑𝗄\mathsf{xk}\coloneqq\bot to 𝒜\mathpzc{A}. \mathpzc{B} also computes 𝗉𝖾.𝖽𝗄x0𝖯𝖤.𝖯𝗎𝗇𝖼𝗍𝗎𝗋𝖾(𝗉𝖾.𝖽𝗄,x0)\mathsf{pe.dk}_{\neq x_{0}}\leftarrow\mathsf{PE}.\mathsf{Puncture}(\mathsf{pe.dk},x_{0}).

Challenge:

For query 𝗆\mathsf{m}, \mathpzc{B} can simulate the target marked circuit C~=i𝒪(Dx0𝗋𝖾𝖺𝗅[𝖥x0,𝗉𝖾.𝖽𝗄x0,𝗆,γ0,x0,y])\widetilde{C}=i\mathcal{O}(D_{\neq x_{0}}^{\mathsf{real}}[\mathsf{F}_{\neq x_{0}},\mathsf{pe.dk}_{\neq x_{0}},\mathsf{m},\gamma_{0},x_{0},y^{\ast}]) by using 𝗉𝖾.𝖽𝗄x0\mathsf{pe.dk}_{\neq x_{0}}, 𝖥x0\mathsf{F}_{\neq x_{0}}, yy^{\ast}, and the public tag τ=𝗉𝖾.𝖾𝗄\tau=\mathsf{pe.ek}.

After finishing 𝒜\mathpzc{A}’s challenge query, \mathpzc{B} sends (γ0,x0,y)(\gamma_{0},x_{0},y^{\ast}) to 𝒜\mathpzc{A}. Finally, when 𝒜\mathpzc{A} terminates with output 𝖼𝗈𝗂𝗇\mathsf{coin}^{\prime}, \mathpzc{B} outputs 𝖼𝗈𝗂𝗇\mathsf{coin}^{\prime} and terminates.

\mathcal{B} perfectly simulates

  • 𝖧𝗒𝖻4\mathsf{Hyb}_{4}^{\neq} if y{0,1}𝗈𝗎𝗍y^{\ast}\leftarrow\{0,1\}^{\ell_{\mathsf{out}}},

  • 𝖧𝗒𝖻5\mathsf{Hyb}_{5}^{\neq} if y𝖥(x0)y^{\ast}\coloneqq\mathsf{F}(x_{0}).

The punctured pseudorandomness of 𝖥\mathsf{F} immediately implies this proposition.   

Proposition 7.15.

If i𝒪i\mathcal{O} is a secure IO and 𝖥\mathsf{F} satisfies punctured correctness, it holds that

|Pr[𝖧𝗒𝖻5=1]Pr[𝖧𝗒𝖻6=1]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathsf{Hyb}_{5}^{\neq}=1]-\Pr[\mathsf{Hyb}_{6}^{\neq}=1]}\leq{\mathsf{negl}}(\lambda).
Proof of Proposition 7.15.

The difference between the two games is that Dx0𝗋𝖾𝖺𝗅[𝖥,𝗉𝖾.𝖽𝗄x0,𝗆,γ0,x0,y0]D_{\neq x_{0}}^{\mathsf{real}}[\mathsf{F},\mathsf{pe.dk}_{\neq x_{0}},\mathsf{m},\gamma_{0},x_{0},y_{0}] is used for the challegne query instead of Dx0𝗋𝖾𝖺𝗅[𝖥x0,𝗉𝖾.𝖽𝗄x0,𝗆,γ0,x0,y0]D_{\neq x_{0}}^{\mathsf{real}}[\mathsf{F}_{\neq x_{0}},\mathsf{pe.dk}_{\neq x_{0}},\mathsf{m},\gamma_{0},x_{0},y_{0}] in the case where γ0𝗆[i]\gamma_{0}\neq\mathsf{m}[i^{\ast}]. These two circuits are the same except that we use 𝖥\mathsf{F} instead of 𝖥x0\mathsf{F}_{\neq x_{0}}. This proof is the same as that of Proposition 7.14 (in a reverse manner). Thus, we omit it.   

End of case analyses.

We complete the two case analyses.

Proposition 7.16.

If i𝒪i\mathcal{O} is a secure IO, 𝖥\mathsf{F} satisfies punctured correctness, and 𝖯𝖤\mathsf{PE} satisfies punctured correctness, it holds that |Pr[𝖧𝗒𝖻3==1]Pr[𝖧𝗒𝖻4==1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Hyb}_{3}^{=}=1]-\Pr[\mathsf{Hyb}_{4}^{=}=1]}\leq{\mathsf{negl}}(\lambda) and |Pr[𝖧𝗒𝖻6=1]Pr[𝖧𝗒𝖻7=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Hyb}_{6}^{\neq}=1]-\Pr[\mathsf{Hyb}_{7}^{\neq}=1]}\leq{\mathsf{negl}}(\lambda).

Proof.

This proof is the same as that of Proposition 7.7 and Proposition 7.10, respectively (in a reverse manner). Thus, we omit them.   

We complete the proof of Theorem 7.6.   

8 Putting Pieces Altogether

Privately extractable watermarking PRF.

We summarize how to obtain our privately extractable watermarking PRF.

By Theorems 6.1, 6.2, 2.27, 2.30 and 2.24, we obtain an extraction-less watermarking with private simulation from the QLWE assumption. By combining this with Theorems 4.6 and 5.2, we obtain the following theorem.

Theorem 8.1.

If the QLWE assumption holds, there exists a privately extractable watermarking PRF.

Publicly extractable watermarking PRF.

We summarize how to obtain our publicly extractable watermarking PRF.

By Theorems 7.6, 7.5, 2.21 and 2.17, we obtain an extraction-less watermarking with public simulation from IO and the QLWE assumption since OWFs can be instantiated with the QLWE assumption. By combining this with Theorem 5.3, we obtain a publicly extractable watermarking PRF from IO and the QLWE assumption. Thus, we obtain the following theorem.

Theorem 8.2.

If there exists a secure IO and the QLWE assumption holds, there exists a publicly extractable watermarking PRF.

References

  • [AHU19] Andris Ambainis, Mike Hamburg, and Dominique Unruh. Quantum security proofs using semi-classical oracles. In Alexandra Boldyreva and Daniele Micciancio, editors, CRYPTO 2019, Part II, volume 11693 of LNCS, pages 269–295. Springer, Heidelberg, August 2019.
  • [AKPW13] Joël Alwen, Stephan Krenn, Krzysztof Pietrzak, and Daniel Wichs. Learning with rounding, revisited - new reduction, properties and applications. In Ran Canetti and Juan A. Garay, editors, CRYPTO 2013, Part I, volume 8042 of LNCS, pages 57–74. Springer, Heidelberg, August 2013.
  • [AL21] Prabhanjan Ananth and Rolando L. La Placa. Secure software leasing. In Anne Canteaut and François-Xavier Standaert, editors, EUROCRYPT 2021, Part II, volume 12697 of LNCS, pages 501–530. Springer, Heidelberg, October 2021.
  • [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, CRYPTO 2021, Part I, volume 12825 of LNCS, pages 526–555, Virtual Event, August 2021. Springer, Heidelberg.
  • [AP20] Shweta Agrawal and Alice Pellet-Mary. Indistinguishability obfuscation without maps: Attacks and fixes for noisy linear FE. In Anne Canteaut and Yuval Ishai, editors, EUROCRYPT 2020, Part I, volume 12105 of LNCS, pages 110–140. Springer, Heidelberg, May 2020.
  • [ARU14] Andris Ambainis, Ansis Rosmanis, and Dominique Unruh. Quantum attacks on classical proof systems: The hardness of quantum rewinding. In 55th FOCS, pages 474–483. IEEE Computer Society Press, October 2014.
  • [BDF+11] Dan Boneh, Özgür Dagdelen, Marc Fischlin, Anja Lehmann, Christian Schaffner, and Mark Zhandry. Random oracles in a quantum world. In Dong Hoon Lee and Xiaoyun Wang, editors, ASIACRYPT 2011, volume 7073 of LNCS, pages 41–69. Springer, Heidelberg, December 2011.
  • [BGI+12] Boaz Barak, Oded Goldreich, Russell Impagliazzo, Steven Rudich, Amit Sahai, Salil P. Vadhan, and Ke Yang. On the (im)possibility of obfuscating programs. Journal of the ACM, 59(2):6:1–6:48, 2012.
  • [BGI14] Elette Boyle, Shafi Goldwasser, and Ioana Ivan. Functional signatures and pseudorandom functions. In Hugo Krawczyk, editor, PKC 2014, volume 8383 of LNCS, pages 501–519. Springer, Heidelberg, March 2014.
  • [BGMZ18] James Bartusek, Jiaxin Guan, Fermi Ma, and Mark Zhandry. Return of GGH15: Provable security against zeroizing attacks. In Amos Beimel and Stefan Dziembowski, editors, TCC 2018, Part II, volume 11240 of LNCS, pages 544–574. Springer, Heidelberg, November 2018.
  • [BHH+19] Nina Bindel, Mike Hamburg, Kathrin Hövelmanns, Andreas Hülsing, and Edoardo Persichetti. Tighter proofs of CCA security in the quantum random oracle model. In Dennis Hofheinz and Alon Rosen, editors, TCC 2019, Part II, volume 11892 of LNCS, pages 61–90. Springer, Heidelberg, December 2019.
  • [BLW17] Dan Boneh, Kevin Lewi, and David J. Wu. Constraining pseudorandom functions privately. In Serge Fehr, editor, PKC 2017, Part II, volume 10175 of LNCS, pages 494–524. Springer, Heidelberg, March 2017.
  • [BSW06] Dan Boneh, Amit Sahai, and Brent Waters. Fully collusion resistant traitor tracing with short ciphertexts and private keys. In Serge Vaudenay, editor, EUROCRYPT 2006, volume 4004 of LNCS, pages 573–592. Springer, Heidelberg, May / June 2006.
  • [BTVW17] Zvika Brakerski, Rotem Tsabary, Vinod Vaikuntanathan, and Hoeteck Wee. Private constrained PRFs (and more) from LWE. In Yael Kalai and Leonid Reyzin, editors, TCC 2017, Part I, volume 10677 of LNCS, pages 264–302. Springer, Heidelberg, November 2017.
  • [BW13] Dan Boneh and Brent Waters. Constrained pseudorandom functions and their applications. In Kazue Sako and Palash Sarkar, editors, ASIACRYPT 2013, Part II, volume 8270 of LNCS, pages 280–300. Springer, Heidelberg, December 2013.
  • [CC17] Ran Canetti and Yilei Chen. Constraint-hiding constrained PRFs for NC1 from LWE. In Jean-Sébastien Coron and Jesper Buus Nielsen, editors, EUROCRYPT 2017, Part I, volume 10210 of LNCS, pages 446–476. Springer, Heidelberg, April / May 2017.
  • [CFN94] Benny Chor, Amos Fiat, and Moni Naor. Tracing traitors. In Yvo Desmedt, editor, CRYPTO’94, volume 839 of LNCS, pages 257–270. Springer, Heidelberg, August 1994.
  • [CHN+18] Aloni Cohen, Justin Holmgren, Ryo Nishimaki, Vinod Vaikuntanathan, and Daniel Wichs. Watermarking cryptographic capabilities. SIAM Journal on Computing, 47(6):2157–2202, 2018.
  • [CHVW19] Yilei Chen, Minki Hhan, Vinod Vaikuntanathan, and Hoeteck Wee. Matrix PRFs: Constructions, attacks, and applications to obfuscation. In Dennis Hofheinz and Alon Rosen, editors, TCC 2019, Part I, volume 11891 of LNCS, pages 55–80. Springer, Heidelberg, December 2019.
  • [CMSZ21] Alessandro Chiesa, Fermi Ma, Nicholas Spooner, and Mark Zhandry. Post-quantum succinct arguments: Breaking the quantum rewinding barrier. In Nisheeth Vishnoi, editor, FOCS 2021 (to appear). IEEE, 2021.
  • [DQV+21] Lalita Devadas, Willy Quach, Vinod Vaikuntanathan, Hoeteck Wee, and Daniel Wichs. Succinct lwe sasmpling, random polynomials and obfuscation. In Kobbi Nissim and Brent Waters, editors, TCC 2021, LNCS. Springer, 2021.
  • [GGM86] Oded Goldreich, Shafi Goldwasser, and Silvio Micali. How to construct random functions. Journal of the ACM, 33(4):792–807, 1986.
  • [GKM+19] Rishab Goyal, Sam Kim, Nathan Manohar, Brent Waters, and David J. Wu. Watermarking public-key cryptographic primitives. In Alexandra Boldyreva and Daniele Micciancio, editors, CRYPTO 2019, Part III, volume 11694 of LNCS, pages 367–398. Springer, Heidelberg, August 2019.
  • [GKW19] Rishab Goyal, Venkata Koppula, and Brent Waters. New approaches to traitor tracing with embedded identities. In Dennis Hofheinz and Alon Rosen, editors, TCC 2019, Part II, volume 11892 of LNCS, pages 149–179. Springer, Heidelberg, December 2019.
  • [GKWW21] Rishab Goyal, Sam Kim, Brent Waters, and David J. Wu. Beyond software watermarking: Traitor-tracing for pseudorandom functions. In Mehdi Tibouchi and Huaxiong Wang, editors, Asiacrypt 2021 (to appear), Lecture Notes in Computer Science. Springer, 2021.
  • [GP21] Romain Gay and Rafael Pass. Indistinguishability obfuscation from circular security. In Samir Khuller and Virginia Vassilevska Williams, editors, STOC ’21: 53rd Annual ACM SIGACT Symposium on Theory of Computing, Virtual Event, Italy, June 21-25, 2021, pages 736–749. ACM, 2021.
  • [HILL99] Johan Håstad, Russell Impagliazzo, Leonid A. Levin, and Michael Luby. A pseudorandom generator from any one-way function. SIAM Journal on Computing, 28(4):1364–1396, 1999.
  • [HJL21] Samuel B. Hopkins, Aayush Jain, and Huijia Lin. Counterexamples to new circular security assumptions underlying iO. In Tal Malkin and Chris Peikert, editors, CRYPTO 2021, Part II, volume 12826 of LNCS, pages 673–700, Virtual Event, August 2021. Springer, Heidelberg.
  • [HMW07] Nicholas Hopper, David Molnar, and David Wagner. From weak to strong watermarking. In Salil P. Vadhan, editor, TCC 2007, volume 4392 of LNCS, pages 362–382. Springer, Heidelberg, February 2007.
  • [Jor75] Camille Jordan. Essai sur la géométrie à nn dimensions. Bulletin de la Société Mathématique de France, 3:103–174, 1875.
  • [KNY21] Fuyuki Kitagawa, Ryo Nishimaki, and Takashi Yamakawa. Secure software leasing from standard assumptions. In Kobbi Nissim and Brent Waters, editors, TCC 2021, LNCS. Springer, 2021.
  • [KPTZ13] Aggelos Kiayias, Stavros Papadopoulos, Nikos Triandopoulos, and Thomas Zacharias. Delegatable pseudorandom functions and applications. In Ahmad-Reza Sadeghi, Virgil D. Gligor, and Moti Yung, editors, ACM CCS 2013, pages 669–684. ACM Press, November 2013.
  • [KW19] Sam Kim and David J. Wu. Watermarking PRFs from lattices: Stronger security via extractable PRFs. In Alexandra Boldyreva and Daniele Micciancio, editors, CRYPTO 2019, Part III, volume 11694 of LNCS, pages 335–366. Springer, Heidelberg, August 2019.
  • [KW21] Sam Kim and David J. Wu. Watermarking cryptographic functionalities from standard lattice assumptions. J. Cryptol., 34(3):28, 2021.
  • [MW05] Chris Marriott and John Watrous. Quantum arthur-merlin games. Comput. Complex., 14(2):122–152, 2005.
  • [Nao91] Moni Naor. Bit commitment using pseudorandomness. Journal of Cryptology, 4(2):151–158, January 1991.
  • [Nis13] Ryo Nishimaki. How to watermark cryptographic functions. In Thomas Johansson and Phong Q. Nguyen, editors, EUROCRYPT 2013, volume 7881 of LNCS, pages 111–125. Springer, Heidelberg, May 2013.
  • [Nis19] Ryo Nishimaki. How to watermark cryptographic functions by bilinear maps. IEICE Transactions, 102-A(1):99–113, 2019.
  • [Nis20] Ryo Nishimaki. Equipping public-key cryptographic primitives with watermarking (or: A hole is to watermark). In Rafael Pass and Krzysztof Pietrzak, editors, TCC 2020, Part I, volume 12550 of LNCS, pages 179–209. Springer, Heidelberg, November 2020.
  • [NSS99] David Naccache, Adi Shamir, and Julien P. Stern. How to copyright a function? In Hideki Imai and Yuliang Zheng, editors, PKC’99, volume 1560 of LNCS, pages 188–196. Springer, Heidelberg, March 1999.
  • [NWZ16] Ryo Nishimaki, Daniel Wichs, and Mark Zhandry. Anonymous traitor tracing: How to embed arbitrary information in a key. In Marc Fischlin and Jean-Sébastien Coron, editors, EUROCRYPT 2016, Part II, volume 9666 of LNCS, pages 388–419. Springer, Heidelberg, May 2016.
  • [Pei09] Chris Peikert. Public-key cryptosystems from the worst-case shortest vector problem: extended abstract. In Michael Mitzenmacher, editor, 41st ACM STOC, pages 333–342. ACM Press, May / June 2009.
  • [PS18] Chris Peikert and Sina Shiehian. Privately constraining and programming PRFs, the LWE way. In Michel Abdalla and Ricardo Dahab, editors, PKC 2018, Part II, volume 10770 of LNCS, pages 675–701. Springer, Heidelberg, March 2018.
  • [PW11] Chris Peikert and Brent Waters. Lossy trapdoor functions and their applications. SIAM Journal on Computing, 40(6):1803–1844, 2011.
  • [QWZ18] Willy Quach, Daniel Wichs, and Giorgos Zirdelis. Watermarking PRFs under standard assumptions: Public marking and security with extraction queries. In Amos Beimel and Stefan Dziembowski, editors, TCC 2018, Part II, volume 11240 of LNCS, pages 669–698. Springer, Heidelberg, November 2018.
  • [Reg] Oded Regev. Witness-preserveing amplification of qma (lecture notes). https://cims.nyu.edu/~regev/teaching/quantum_fall_2005/ln/qma.pdf.
  • [Reg09] Oded Regev. On lattices, learning with errors, random linear codes, and cryptography. Journal of the ACM, 56(6):34:1–34:40, 2009.
  • [SW21] Amit Sahai and Brent Waters. How to use indistinguishability obfuscation: Deniable encryption, and more. SIAM J. Comput., 50(3):857–908, 2021.
  • [Unr12] Dominique Unruh. Quantum proofs of knowledge. In David Pointcheval and Thomas Johansson, editors, EUROCRYPT 2012, volume 7237 of LNCS, pages 135–152. Springer, Heidelberg, April 2012.
  • [Wat09] John Watrous. Zero-knowledge against quantum attacks. SIAM J. Comput., 39(1):25–58, 2009.
  • [WW21] Hoeteck Wee and Daniel Wichs. Candidate obfuscation via oblivious LWE sampling. In Anne Canteaut and François-Xavier Standaert, editors, EUROCRYPT 2021, Part III, volume 12698 of LNCS, pages 127–156. Springer, Heidelberg, October 2021.
  • [YAL+19] Rupeng Yang, Man Ho Au, Junzuo Lai, Qiuliang Xu, and Zuoxia Yu. Collusion resistant watermarking schemes for cryptographic functionalities. In Steven D. Galbraith and Shiho Moriai, editors, ASIACRYPT 2019, Part I, volume 11921 of LNCS, pages 371–398. Springer, Heidelberg, December 2019.
  • [YAYX20] Rupeng Yang, Man Ho Au, Zuoxia Yu, and Qiuliang Xu. Collusion resistant watermarkable PRFs from standard assumptions. In Daniele Micciancio and Thomas Ristenpart, editors, CRYPTO 2020, Part I, volume 12170 of LNCS, pages 590–620. Springer, Heidelberg, August 2020.
  • [YF11] Maki Yoshida and Toru Fujiwara. Toward digital watermarking for cryptographic data. IEICE Transactions, 94-A(1):270–272, 2011.
  • [Zha12a] Mark Zhandry. How to construct quantum random functions. In 53rd FOCS, pages 679–687. IEEE Computer Society Press, October 2012.
  • [Zha12b] Mark Zhandry. Secure identity-based encryption in the quantum random oracle model. In Reihaneh Safavi-Naini and Ran Canetti, editors, CRYPTO 2012, volume 7417 of LNCS, pages 758–775. Springer, Heidelberg, August 2012.
  • [Zha19] Mark Zhandry. How to record quantum queries, and applications to quantum indifferentiability. In Alexandra Boldyreva and Daniele Micciancio, editors, CRYPTO 2019, Part II, volume 11693 of LNCS, pages 239–268. Springer, Heidelberg, August 2019.
  • [Zha20] Mark Zhandry. Schrödinger’s pirate: How to trace a quantum decoder. In Rafael Pass and Krzysztof Pietrzak, editors, TCC 2020, Part III, volume 12552 of LNCS, pages 61–91. Springer, Heidelberg, November 2020.

Appendix A Achieving QSIM-MDD from SIM-MDD

We prove Theorem 4.6, that is, we show that we can transform extraction-less watermarking PRF satisfying SIM-MDD security with private simulation into one satisfying QSIM-MDD security with private simulation, by using a QPRF. Before the proof, we introduce semi-classical one-way to hiding (O2H) lemma.

A.1 Semi-Classical One-Way to Hiding (O2H) Lemma

We recall a few lemmas.

Definition A.1 (Punctured oracle).

Let F:XYF:X\rightarrow Y be any function, and SXS\subset X be a set. The oracle FSF\setminus S (“FF punctured by SS”) takes as input a value xXx\in X. It first computes whether xSx\in S into an auxiliary register and measures it. Then it computes F(x)F(x) and returns the result. Let 𝙵𝚒𝚗𝚍\mathtt{Find} be the event that any of the measurements returns 11.

Lemma A.2 (Semi-classical O2H [AHU19, Theorem 1]).

Let G,H:XYG,H:X\rightarrow Y be random functions, zz be a random value, and SXS\subseteq X be a random set such that G(x)=H(x)G(x)=H(x) for every xSx\notin S. The tuple (G,H,S,z)(G,H,S,z) may have arbitrary joint distribution. Furthermore, let 𝒜\mathpzc{A} be a quantum oracle algorithm. Let 𝙴𝚟\mathtt{Ev} be any classical event. Then we have

|Pr[𝙴𝚟:𝒜|(𝓏)]Pr[𝙴𝚟:𝒜|𝒢(𝓏)]|2(q+1)Pr[𝙵𝚒𝚗𝚍:𝒜|𝒮(𝓏)].\displaystyle\absolutevalue{\Pr[\mathtt{Ev}:\mathpzc{A}^{\ket{H}}(z)]-\Pr[\mathtt{Ev}:\mathpzc{A}^{\ket{G}}(z)]}\leq 2\sqrt{(q+1)\cdot\Pr[\mathtt{Find}:\mathpzc{A}^{\ket{H\setminus S}}(z)]}\enspace. (35)
Lemma A.3 (Search in semi-classical oracle [AHU19, Theorem 2]).

Let H:XYH:X\rightarrow Y be a random function, let zz be a random value, and let SXS\subset X be a random set. (H,S,z)(H,S,z) may have arbitrary joint distribution. Let 𝒜\mathpzc{A} be a quantum oracle algorithm. If for each xXx\in X, Pr[xS]ϵ\Pr[x\in S]\leq\epsilon (conditioned on HH and zz), then we have

Pr[𝙵𝚒𝚗𝚍:𝒜|𝒮(𝓏)]4𝓆ϵ,\displaystyle\Pr[\mathtt{Find}:\mathpzc{A}^{\ket{H\setminus S}}(z)]\leq 4q\epsilon\enspace, (36)

where qq is the number of queries to HH by 𝒜\mathpzc{A}.

Note that the above lemma is originally introduced in [AHU19], but we use a variant that is closer to Lemma 4 in [BHH+19].

A.2 Proof

Construction.

We start with the construction. Let 𝖤𝖫𝖶𝖬𝖯𝖱𝖥=(𝖲𝖾𝗍𝗎𝗉,𝖦𝖾𝗇,𝖤𝗏𝖺𝗅,𝖬𝖺𝗋𝗄,𝖲𝗂𝗆)\mathsf{ELWMPRF}=(\mathsf{Setup},\mathsf{Gen},\mathsf{Eval},\mathsf{Mark},\mathsf{Sim}) be an extraction-less watermarking PRF scheme satisfying SIM-MDD security with private simulation. We also let the message space of 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF} is {0,1}𝗆\{0,1\}^{{\ell_{\mathsf{m}}}}. Let 𝖯𝖱𝖥\mathsf{PRF} be a QPRF with domain {0,1}λ\{0,1\}^{\lambda} and range 𝖲𝗂𝗆\mathcal{R}_{\mathsf{Sim}}, which is the randomness space of 𝖲𝗂𝗆\mathsf{Sim}. We construct an extraction-less watermarking PRF scheme 𝖰𝖤𝖫𝖶𝖬𝖯𝖱𝖥=(𝖰𝖤𝖫.𝖲𝖾𝗍𝗎𝗉,𝖰𝖤𝖫.𝖦𝖾𝗇,𝖰𝖤𝖫.𝖤𝗏𝖺𝗅,𝖰𝖤𝖫.𝖬𝖺𝗋𝗄,𝖰𝖤𝖫.𝖲𝗂𝗆)\mathsf{QELWMPRF}=(\mathsf{QEL}.\mathsf{Setup},\mathsf{QEL}.\mathsf{Gen},\mathsf{QEL}.\mathsf{Eval},\mathsf{QEL}.\mathsf{Mark},\allowbreak\mathsf{QEL}.\mathsf{Sim}) satisfying QSIM-MDD security with private simulation as follows. We use 𝖦𝖾𝗇\mathsf{Gen}, 𝖤𝗏𝖺𝗅\mathsf{Eval}, and 𝖬𝖺𝗋𝗄\mathsf{Mark} as 𝖰𝖤𝖫.𝖦𝖾𝗇\mathsf{QEL}.\mathsf{Gen}, 𝖰𝖤𝖫.𝖤𝗏𝖺𝗅\mathsf{QEL}.\mathsf{Eval}, and 𝖰𝖤𝖫.𝖬𝖺𝗋𝗄\mathsf{QEL}.\mathsf{Mark}, respectively. The domain and range of 𝖰𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{QELWMPRF} are the same as those of 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF}. The mark space of 𝖰𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{QELWMPRF} is {0,1}𝗆\{0,1\}^{{\ell_{\mathsf{m}}}}. Also, we construct 𝖰𝖤𝖫.𝖲𝖾𝗍𝗎𝗉\mathsf{QEL}.\mathsf{Setup} and 𝖰𝖤𝖫.𝖲𝗂𝗆\mathsf{QEL}.\mathsf{Sim} as follows.

𝖰𝖤𝖫.𝖲𝖾𝗍𝗎𝗉(1λ)\mathsf{QEL}.\mathsf{Setup}(1^{\lambda}):

  • Generate (𝗉𝗉,𝗑𝗄)𝖲𝖾𝗍𝗎𝗉(1λ)(\mathsf{pp},\mathsf{xk})\leftarrow\mathsf{Setup}(1^{\lambda}).

  • Genrate K{0,1}λK\leftarrow\{0,1\}^{\lambda}.

  • Outputs (𝗉𝗉,𝗊𝗑𝗄:=(𝗑𝗄,K))(\mathsf{pp},\mathsf{qxk}:=(\mathsf{xk},K)).

𝖰𝖤𝖫.𝖲𝗂𝗆(𝗊𝗑𝗄,τ,i;r)\mathsf{QEL}.\mathsf{Sim}(\mathsf{qxk},\tau,i;r):

  • Parse (𝗑𝗄,K)𝗊𝗑𝗄(\mathsf{xk},K)\leftarrow\mathsf{qxk}.

  • Output (γ,x,y)𝖲𝗂𝗆(𝗑𝗄,τ,i;𝖯𝖱𝖥K(r))(\gamma,x,y)\leftarrow\mathsf{Sim}(\mathsf{xk},\tau,i;\mathsf{PRF}_{K}(r)).

Security analysis.

Let i[𝗆]i^{\ast}\in[{\ell_{\mathsf{m}}}] and 𝒜\mathpzc{A} be any QPT adversary for QSIM-MDD security with private simulation making total qq queries to O𝚜𝚒𝚖O_{\mathtt{sim}} and O𝚊𝚙𝚒O_{\mathtt{api}}. We prove that for any polynomial ww, it holds that 𝖠𝖽𝗏i,𝒜,𝖰𝖤𝖫𝖶𝖬𝖯𝖱𝖥𝗊-𝗌𝗂𝗆-𝗆𝖽𝖽(λ)1/w\mathsf{Adv}_{i^{\ast},\mathpzc{A},\mathsf{QELWMPRF}}^{\mathsf{q\textrm{-}sim\textrm{-}mdd}}(\lambda)\leq 1/w. We prove it using hybrid games. Let 𝚂𝚄𝙲X{\tt SUC}_{X} be the event that the final output is 11 in Game XX. We define a distribution 𝖣τ,i\mathsf{D}_{\tau^{\prime},i^{\prime}} as

Dτ,iD_{\tau^{\prime},i^{\prime}}:

Output (γ,x,y)𝖲𝗂𝗆(𝗑𝗄,τ,i)(\gamma,x,y)\leftarrow\mathsf{Sim}(\mathsf{xk},\tau^{\prime},i^{\prime}).

Game 11:

This is 𝖤𝗑𝗉𝗍i,𝒜,𝖰𝖤𝖫𝖶𝖬𝖯𝖱𝖥𝗊-𝗌𝗂𝗆-𝗆𝖽𝖽(λ)\mathsf{Expt}_{i^{\ast},\mathpzc{A},\mathsf{QELWMPRF}}^{\mathsf{q\textrm{-}sim\textrm{-}mdd}}(\lambda). Thus, 𝖠𝖽𝗏i,𝒜,𝖰𝖤𝖫𝖶𝖬𝖯𝖱𝖥𝗊-𝗌𝗂𝗆-𝗆𝖽𝖽(λ)=2|Pr[𝚂𝚄𝙲1]1/2|\mathsf{Adv}_{i^{\ast},\mathpzc{A},\mathsf{QELWMPRF}}^{\mathsf{q\textrm{-}sim\textrm{-}mdd}}(\lambda)=2\absolutevalue{\Pr[{\tt SUC}_{1}]-1/2}.

  1. 1.

    The challenger generates (𝗉𝗉,𝗑𝗄)𝖲𝖾𝗍𝗎𝗉(1λ)(\mathsf{pp},\mathsf{xk})\leftarrow\mathsf{Setup}(1^{\lambda}) and K{0,1}λK\leftarrow\{0,1\}^{\lambda}, and gives 𝗉𝗉\mathsf{pp} to 𝒜\mathpzc{A}. 𝒜\mathpzc{A} send 𝗆{0,1}𝗆\mathsf{m}\in\{0,1\}^{{\ell_{\mathsf{m}}}} to the challenger. The challenger generates (τ,𝗉𝗋𝖿𝗄)𝖦𝖾𝗇(𝗉𝗉)(\tau,\mathsf{prfk})\leftarrow\mathsf{Gen}(\mathsf{pp}), computes C~𝖬𝖺𝗋𝗄(𝗉𝗉,𝗉𝗋𝖿𝗄,𝗆)\widetilde{C}\leftarrow\mathsf{Mark}(\mathsf{pp},\mathsf{prfk},\mathsf{m}), and sends C~\widetilde{C} to 𝒜\mathpzc{A}.

  2. 2.

    𝒜\mathpzc{A} can access to the following oracles.

    O𝚜𝚒𝚖O_{\mathtt{sim}}:

    On input τ\tau^{\prime} and ii^{\prime}, it returns 𝖲𝗂𝗆(𝗑𝗄,τ,i;𝖯𝖱𝖥K(r))\mathsf{Sim}(\mathsf{xk},\tau^{\prime},i^{\prime};\mathsf{PRF}_{K}(r)), where r{0,1}λr\leftarrow\{0,1\}^{\lambda}.

    O𝚊𝚙𝚒O_{\mathtt{api}}:

    On input (ϵ,δ,τ,i)(\epsilon,\delta,\tau^{\prime},i^{\prime}) and a quantum state 𝓆\mathpzc{q}, it returns the result of 𝒜𝒫𝒫,𝖣τ,𝒾𝖯𝖱𝖥ϵ,δ(𝓆)\mathpzc{API}^{\epsilon,\delta}_{\mathcal{P},\mathsf{D}^{\mathsf{PRF}}_{\tau^{\prime},i^{\prime}}}(\mathpzc{q}) and the post measurement state, where 𝖣τ,i𝖯𝖱𝖥=𝖣τ,i(𝖯𝖱𝖥K())\mathsf{D}^{\mathsf{PRF}}_{\tau^{\prime},i^{\prime}}=\mathsf{D}_{\tau^{\prime},i^{\prime}}(\mathsf{PRF}_{K}(\cdot)).

  3. 3.

    The challenger generates 𝖼𝗈𝗂𝗇{0,1}\mathsf{coin}\leftarrow\{0,1\}. If 𝖼𝗈𝗂𝗇=0\mathsf{coin}=0, the challenger samples (γ,x,y)D𝚛𝚎𝚊𝚕,i(\gamma,x,y)\leftarrow D_{\mathtt{real},i^{\ast}}. If 𝖼𝗈𝗂𝗇=1\mathsf{coin}=1, the challenger generates (γ,x,y)𝖲𝗂𝗆(𝗑𝗄,τ,i;𝖯𝖱𝖥K(r))(\gamma,x,y)\leftarrow\mathsf{Sim}(\mathsf{xk},\tau,i^{\ast};\mathsf{PRF}_{K}(r^{*})), where, r{0,1}λr^{*}\leftarrow\{0,1\}^{\lambda}. The challenger sends (γ,x,y)(\gamma,x,y) to 𝒜\mathpzc{A}.

  4. 4.

    When 𝒜\mathpzc{A} terminates with output 𝖼𝗈𝗂𝗇\mathsf{coin}^{\prime}, the challenger outputs 11 if 𝖼𝗈𝗂𝗇=𝖼𝗈𝗂𝗇\mathsf{coin}=\mathsf{coin}^{\prime} and 0 otherwise.

Game 22:

This game is the same as Game 11 except that 𝖯𝖱𝖥K\mathsf{PRF}_{K} is replaced with a quantum-accessible random function 𝖱\mathsf{R}.

We have |Pr[𝚂𝚄𝙲1]Pr[𝚂𝚄𝙲2]|=𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[{\tt SUC}_{1}]-\Pr[{\tt SUC}_{2}]}={\mathsf{negl}}(\lambda) from the the security of 𝖯𝖱𝖥\mathsf{PRF}.

Game 33:

This game is the same as Game 22 except that 𝖱\mathsf{R} is replaced with

V(r)={v(if r=r)𝖱(r)(otherwise),\displaystyle V(r)=\begin{cases}v^{*}&(\textrm{if~{}~{}}r=r^{*})\\ \mathsf{R}(r)&(\textrm{otherwise}),\end{cases} (37)

where v𝖲𝗂𝗆v^{*}\leftarrow\mathcal{R}_{\mathsf{Sim}}.

We have |Pr[𝚂𝚄𝙲2]Pr[𝚂𝚄𝙲3]|=0\absolutevalue{\Pr[{\tt SUC}_{2}]-\Pr[{\tt SUC}_{3}]}=0.

Game 44:

This game is the same as Game 33 except the followings. When 𝒜\mathpzc{A} makes a query τ\tau^{\prime} and ii^{\prime} to O𝚜𝚒𝚖O_{\mathtt{sim}}, 𝖲𝗂𝗆(𝗑𝗄,τ,i;R(r))\mathsf{Sim}(\mathsf{xk},\tau^{\prime},i^{\prime};R(r)) is returned instead of 𝖲𝗂𝗆(𝗑𝗄,τ,i;V(r))\mathsf{Sim}(\mathsf{xk},\tau^{\prime},i^{\prime};V(r)). Also, when 𝒜\mathpzc{A} makes a query (ϵ,δ,τ,i)(\epsilon,\delta,\tau^{\prime},i^{\prime}) to O𝚊𝚙𝚒O_{\mathtt{api}}, 𝒜𝒫𝒫,𝒟τ,𝒾𝖱ϵ,δ(𝓆)\mathpzc{API}^{\epsilon,\delta}_{\mathcal{P},D^{\mathsf{R}}_{\tau^{\prime},i^{\prime}}}(\mathpzc{q}) is performed instead of 𝒜𝒫𝒫,𝒟τ,𝒾𝒱ϵ,δ(𝓆)\mathpzc{API}^{\epsilon,\delta}_{\mathcal{P},D^{V}_{\tau^{\prime},i^{\prime}}}(\mathpzc{q}), where Dτ,i𝖱=𝖣τ,i(𝖱())D^{\mathsf{R}}_{\tau^{\prime},i^{\prime}}=\mathsf{D}_{\tau^{\prime},i^{\prime}}(\mathsf{R}(\cdot)) and Dτ,iV=𝖣τ,i(V())D^{V}_{\tau^{\prime},i^{\prime}}=\mathsf{D}_{\tau^{\prime},i^{\prime}}(V(\cdot)).

By this change, VV is now used only for generating the challenge tuple (γ,x,y)𝖲𝗂𝗆(𝗑𝗄,τ,i;V(r))=𝖲𝗂𝗆(𝗑𝗄,τ,i;v)(\gamma,x,y)\leftarrow\mathsf{Sim}(\mathsf{xk},\tau,i^{\ast};V(r^{*}))=\mathsf{Sim}(\mathsf{xk},\tau,i^{\ast};v^{\ast}).

We have |Pr[𝚂𝚄𝙲3]Pr[𝚂𝚄𝙲4]|=O(q22λ)\absolutevalue{\Pr[{\tt SUC}_{3}]-\Pr[{\tt SUC}_{4}]}=O(\sqrt{\frac{q^{2}}{2^{\lambda}}}) from Lemma A.2 and Lemma A.3.

Game 55:

This game is the same as Game 44 except that 𝖱\mathsf{R} is replaced with GFG\circ F, where F:{0,1}λ[s]F:\{0,1\}^{\lambda}\rightarrow[s] and G:[s]𝖲𝗂𝗆G:[s]\rightarrow\mathcal{R}_{\mathsf{Sim}} are random functions and ss is a polynomial of λ\lambda specified later.

Theorem A.4 (Small Range Distribution [Zha12a]).

For any QPT adversary \mathpzc{B} making qq quantum queries to 𝖱\mathsf{R} or GFG\circ F, we have |Pr[|𝖱(1λ)=1]Pr[|𝒢(1λ)=1]|O(q3/s)\absolutevalue{\Pr[\mathpzc{B}^{\ket{\mathsf{R}}}(1^{\lambda})=1]-\Pr[\mathpzc{B}^{\ket{G\circ F}}(1^{\lambda})=1]}\leq O(q^{3}/s).

By the above theorem, we have |Pr[𝚂𝚄𝙲4]Pr[𝚂𝚄𝙲5]|=O(q3/s)\absolutevalue{\Pr[{\tt SUC}_{4}]-\Pr[{\tt SUC}_{5}]}=O(q^{3}/s).

We can simulate FF using a 2q2q-wise independent function EE by the following theorem.

Theorem A.5 ([Zha12b]).

For any QPT adversary \mathpzc{B} making qq quantum queries to FF or EE, we have Pr[|(1λ)=1]=Pr[|(1λ)=1]\Pr[\mathpzc{B}^{\ket{F}}(1^{\lambda})=1]=\Pr[\mathpzc{B}^{\ket{E}}(1^{\lambda})=1].

We can efficiently simulate 𝒜𝒫𝒫,𝖣τ,𝒾𝒢ϵ,δ\mathpzc{API}^{\epsilon,\delta}_{\mathcal{P},\mathsf{D}_{\tau^{\prime},i^{\prime}}^{G\circ E}} in Game 55 using ss samples from 𝖣τ,i\mathsf{D}_{\tau^{\prime},i^{\prime}} since 𝖣τ,i(G())\mathsf{D}_{\tau^{\prime},i^{\prime}}(G(\cdot)) can be interpreted as a mapping for ss samples from 𝖣τ,i\mathsf{D}_{\tau^{\prime},i^{\prime}}. Then, from the SIM-MDD security with private simulation of 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF}, we have |Pr[𝚂𝚄𝙲5]1/2|=𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[{\tt SUC}_{5}]-1/2}={\mathsf{negl}}(\lambda). From the above, we also have 𝖠𝖽𝗏i,𝒜,𝖰𝖤𝖫𝖶𝖬𝖯𝖱𝖥𝗊-𝗌𝗂𝗆-𝗆𝖽𝖽(λ)O(q3/s)+2γ\mathsf{Adv}_{i^{\ast},\mathpzc{A},\mathsf{QELWMPRF}}^{\mathsf{q}\mbox{-}\mathsf{sim}\mbox{-}\mathsf{mdd}}(\lambda)\leq O(q^{3}/s)+2\gamma for some negligible function γ\gamma. Thus, by setting s=O(q3w2)s=O(q^{3}\cdot w^{2}), we obtain 𝖠𝖽𝗏i,𝒜,𝖰𝖤𝖫𝖶𝖬𝖯𝖱𝖥𝗊-𝗌𝗂𝗆-𝗆𝖽𝖽(λ)1/w\mathsf{Adv}_{i^{\ast},\mathpzc{A},\mathsf{QELWMPRF}}^{\mathsf{q}\mbox{-}\mathsf{sim}\mbox{-}\mathsf{mdd}}(\lambda)\leq 1/w.

Since ww is any polynomial, this means that 𝖠𝖽𝗏i,𝒜,𝖰𝖤𝖫𝖶𝖬𝖯𝖱𝖥𝗊-𝗌𝗂𝗆-𝗆𝖽𝖽(λ)=𝗇𝖾𝗀𝗅(λ)\mathsf{Adv}_{i^{\ast},\mathpzc{A},\mathsf{QELWMPRF}}^{\mathsf{q}\mbox{-}\mathsf{sim}\mbox{-}\mathsf{mdd}}(\lambda)={\mathsf{negl}}(\lambda).

Remark A.6.

It is easy to see that the extended weak pseudorandomness of 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF} is preserved after we apply the transformation above since the evaluation algorithm is the same as that of 𝖤𝖫𝖶𝖬𝖯𝖱𝖥\mathsf{ELWMPRF} and extended weak pseudorandomness holds against adversaries that generate 𝗉𝗉\mathsf{pp}. Thus, we omit a formal proof.

Appendix B Puncturable Encryption with Strong Ciphertext Pseudorandomness

We prove Theorem 7.5 in this section.

B.1 Tools for PE

Definition B.1 (Statistically Injective PPRF).

If a PPRF family ={𝖥K:{0,1}1(λ){0,1}2(λ)K{0,1}λ}\mathcal{F}=\{\mathsf{F}_{K}:\{0,1\}^{\ell_{1}(\lambda)}\rightarrow\{0,1\}^{\ell_{2}(\lambda)}\mid K\in\{0,1\}^{\lambda}\} satisfies the following, we call it a statistically injective PPRF family with failure probability ϵ()\epsilon(\cdot). With probability 1ϵ(λ)1-\epsilon(\lambda) over the random choice of K𝖯𝖱𝖥.𝖦𝖾𝗇(1λ)K\leftarrow\mathsf{PRF}.\mathsf{Gen}(1^{\lambda}), for all x,x{0,1}1(λ)x,x^{\prime}\in\{0,1\}^{\ell_{1}(\lambda)}, if xxx\neq x^{\prime}, then 𝖥K(x)𝖥K(x)\mathsf{F}_{K}(x)\neq\mathsf{F}_{K}(x^{\prime}). If ϵ()\epsilon(\cdot) is not specified, it is a negligile function.

Sahai and Waters show that we can convert any PPRF into a statistically injective PPRF [SW21].

Theorem B.2 ([SW21]).

If OWFs exist, then for all efficiently computable functions n(λ)n(\lambda), m(λ)m(\lambda), and e(λ)e(\lambda) such that m(λ)2n(λ)+e(λ)m(\lambda)\geq 2n(\lambda)+e(\lambda), there exists a statistically injective PPRF family with failure probability 2e(λ)2^{-e(\lambda)} that maps n(λ)n(\lambda) bits to m(λ)m(\lambda) bits.

Definition B.3.

An injective bit-commitment with setup consists of PPT algorithms (𝖦𝖾𝗇,𝖢𝗈𝗆)(\mathsf{Gen},\mathsf{Com}).

𝖦𝖾𝗇(1λ)\mathsf{Gen}(1^{\lambda}):

The key generation algorithm takes as input the security parameter 1λ1^{\lambda} and outputs a commitment key 𝖼𝗄\mathsf{ck}.

𝖢𝗈𝗆𝖼𝗄(b)\mathsf{Com}_{\mathsf{ck}}(b):

The commitment algorithm takes as input 𝖼𝗄\mathsf{ck} and a bit bb and outputs a commitment 𝖼𝗈𝗆\mathsf{com}.

These satisfy the following properties.

Computationally Hiding:

For any QPT 𝒜\mathpzc{A}, it holds that

|Pr[𝒜(𝖢𝗈𝗆𝖼𝗄(0))=1𝖼𝗄𝖦𝖾𝗇(1λ)]Pr[𝒜(𝖢𝗈𝗆𝖼𝗄(1))=1𝖼𝗄𝖦𝖾𝗇(1λ)]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathpzc{A}(\mathsf{Com}_{\mathsf{ck}}(0))=1\mid\mathsf{ck}\leftarrow\mathsf{Gen}(1^{\lambda})]-\Pr[\mathpzc{A}(\mathsf{Com}_{\mathsf{ck}}(1))=1\mid\mathsf{ck}\leftarrow\mathsf{Gen}(1^{\lambda})]}\leq{\mathsf{negl}}(\lambda).
Statistically Binding:

It holds that

Pr[𝖼𝗈𝗆0=𝖼𝗈𝗆1|𝖼𝗄𝖦𝖾𝗇(1λ)𝖼𝗈𝗆0𝖢𝗈𝗆𝖼𝗄(0)𝖼𝗈𝗆1𝖢𝗈𝗆𝖼𝗄(1)]𝗇𝖾𝗀𝗅(λ).\displaystyle\Pr\left[\mathsf{com}_{0}=\mathsf{com}_{1}\ \middle|\begin{array}[]{l}\mathsf{ck}\leftarrow\mathsf{Gen}(1^{\lambda})\\ \mathsf{com}_{0}\leftarrow\mathsf{Com}_{\mathsf{ck}}(0)\\ \mathsf{com}_{1}\leftarrow\mathsf{Com}_{\mathsf{ck}}(1)\end{array}\right]\leq{\mathsf{negl}}(\lambda). (41)
Injective:

For every security parameter λ\lambda, there is a bound r\ell_{r} on the number of random bits used by 𝖢𝗈𝗆\mathsf{Com} such that if 𝖼𝗄𝖦𝖾𝗇(1λ)\mathsf{ck}\leftarrow\mathsf{Gen}(1^{\lambda}), 𝖢𝗈𝗆𝖼𝗄(;)\mathsf{Com}_{\mathsf{ck}}(\cdot\ ;\cdot) is an injective function on {0,1}×{0,1}r\{0,1\}\times\{0,1\}^{\ell_{r}} except negligible probability.

Theorem B.4.

If the QLWE assumption holds, there exists a secure injective bit-commitment with setup.

This theorem follows from the following theorems.

Theorem B.5 ([Nao91]).

If there exists (injective) OWFs, there exists (injective) bit-commitment.

Theorem B.6 ([PW11, AKPW13, Adapted]).

If the QLWE assumption holds, there exists a secure injective OWF with evaluation key generation algorithms.

Remark B.7.

The injective OWFs achieved in Theorem B.6 needs evaluation key generation algorithms unlike the standard definition of OWFs. However, OWFs with evaluation key generation algorithms are sufficient for proving Theorem B.4 by using Theorem B.5 since we use commitment key generation algorithm 𝖦𝖾𝗇\mathsf{Gen} (i.e., setup) in Definition B.3. Note that there is no post-quantum secure injective OWF without evaluation key generation algorithm so far.

B.2 PE Scheme Description

We review the puncturable encryption scheme by Cohen et al. [CHN+18]. We can see Theorem 7.5 holds by inspecting their PE scheme. The scheme utilizes the following ingredients and the length nn of ciphertexts is 1212 times the length \ell of plaintexts:

  • A length-doubling 𝖯𝖱𝖦:{0,1}{0,1}2\mathsf{PRG}:\{0,1\}^{\ell}\rightarrow\{0,1\}^{2\ell}

  • An injective PPRFs (See Definition B.1) F:{0,1}3{0,1}9F:\{0,1\}^{3\ell}\rightarrow\{0,1\}^{9\ell}.

  • A PPRF G:{0,1}9{0,1}G:\{0,1\}^{9\ell}\rightarrow\{0,1\}^{\ell}.

  • An injective bit-commitment with setup (𝖢𝗈𝗆.𝖦𝖾𝗇,𝖢𝗈𝗆)(\mathsf{Com}.\mathsf{Gen},\mathsf{Com}) using randomness in {0,1}9\{0,1\}^{9\ell}. We only use this in our security proof.

Scheme.

The scheme 𝖯𝖤\mathsf{PE} by Cohen et al. [CHN+18] is as follows.

𝖦𝖾𝗇(1λ\mathsf{Gen}(1^{\lambda}):

Sample functions FF and GG, generates 𝗉𝖾.𝖾𝗄\mathsf{pe.ek} as the obfuscated circuit i𝒪(E)i\mathcal{O}(E) where EE is described in Figure 12, and returns (𝗉𝖾.𝖾𝗄,𝗉𝖾.𝖽𝗄)(i𝒪(E),D)(\mathsf{pe.ek},\mathsf{pe.dk})\coloneqq(i\mathcal{O}(E),D), where 𝗉𝖾.𝖽𝗄\mathsf{pe.dk} is the (un-obfuscated) program DD in Figure 13.

𝖯𝗎𝗇𝖼𝗍𝗎𝗋𝖾(𝗉𝖾.𝖽𝗄,c)\mathsf{Puncture}(\mathsf{pe.dk},c^{\ast}):

Output 𝗉𝖾.𝖽𝗄c\mathsf{pe.dk}_{\neq c^{\ast}}, where 𝗉𝖾.𝖽𝗄c\mathsf{pe.dk}_{\neq c^{\ast}} is the obfuscated circuits i𝒪(Dc)i\mathcal{O}(D_{\neq c^{\ast}}) where DcD_{\neq c^{\ast}} is described in Figure 14, that is, 𝗉𝖾.𝖽𝗄ci𝒪(Dc)\mathsf{pe.dk}_{\neq c^{\ast}}\coloneqq i\mathcal{O}(D_{\neq c^{\ast}}).

𝖤𝗇𝖼(𝗉𝖾.𝖾𝗄,m)\mathsf{Enc}(\mathsf{pe.ek},m):

Take m{0,1}m\in\{0,1\}^{\ell}, sample s{0,1}s\leftarrow\{0,1\}^{\ell}, and outputs c𝗉𝖾.𝖾𝗄(m,s)c\leftarrow\mathsf{pe.ek}(m,s).

𝖣𝖾𝖼(𝗉𝖾.𝖽𝗄,c)\mathsf{Dec}(\mathsf{pe.dk},c):

Take c{0,1}12c\in\{0,1\}^{12\ell} and returns m𝗉𝖾.𝖽𝗄(c)m\coloneqq\mathsf{pe.dk}(c).

The size of the circuits is appropriately padded to be the maximum size of all modified circuits, which will appear in the security proof.

Circuit E[F,G]E[F,G] Constants : Injective PPRF F:{0,1}3{0,1}9F:\{0,1\}^{3\ell}\rightarrow\{0,1\}^{9\ell}, PPRF G:{0,1}9{0,1}G:\{0,1\}^{9\ell}\rightarrow\{0,1\}^{\ell} Inputs: m{0,1},s{0,1}m\in\{0,1\}^{\ell},s\in\{0,1\}^{\ell} 1. Compute α=𝖯𝖱𝖦(s)\alpha=\mathsf{PRG}(s). 2. Compute β=F(αm)\beta=F(\alpha\|m). 3. Compute γ=G(β)m\gamma=G(\beta)\oplus m. 4. Output (α,β,γ)(\alpha,\beta,\gamma).

Figure 12: Description of encryption circuit EE

Circuit D[F,G]D[F,G] Constants : Injective PPRF F:{0,1}3{0,1}9F:\{0,1\}^{3\ell}\rightarrow\{0,1\}^{9\ell}, PPRF G:{0,1}9{0,1}G:\{0,1\}^{9\ell}\rightarrow\{0,1\}^{\ell} Inputs: c=(αβγ)c=(\alpha\|\beta\|\gamma), where α{0,1}2\alpha\in\{0,1\}^{2\ell}, β{0,1}9\beta\in\{0,1\}^{9\ell}, and γ{0,1}\gamma\in\{0,1\}^{\ell}. 1. Compute m=G(β)γm=G(\beta)\oplus\gamma. 2. If β=F(αm)\beta=F(\alpha\|m), output mm. 3. Else output \bot.

Figure 13: Description of decryption circuit DD

Circuit Dc[F,G,c]D_{\neq c^{\ast}}[F,G,c^{\ast}] Constants : Point c{0,1}12c^{\ast}\in\{0,1\}^{12\ell}, injective PPRF F:{0,1}3{0,1}9F:\{0,1\}^{3\ell}\rightarrow\{0,1\}^{9\ell}, and PPRF G:{0,1}9{0,1}G:\{0,1\}^{9\ell}\rightarrow\{0,1\}^{\ell} Inputs: c=(αβγ)c=(\alpha\|\beta\|\gamma), where α{0,1}2\alpha\in\{0,1\}^{2\ell}, β{0,1}9\beta\in\{0,1\}^{9\ell}, and γ{0,1}\gamma\in\{0,1\}^{\ell}. 1. If c=cc=c^{\ast}, output \bot. 2. Compute m=G(β)γm=G(\beta)\oplus\gamma. 3. If β=F(αm)\beta=F(\alpha\|m), output mm. 4. Else output \bot.

Figure 14: Description of punctured decryption circuit DcD_{\neq c^{\ast}} at cc^{\ast}

B.3 PE Security Proof

Cohen et al. [CHN+18] proved correctness, punctured correctness, and sparseness of 𝖯𝖤\mathsf{PE} above by using secure PRG 𝖯𝖱𝖦\mathsf{PRG}, secure injective PPRF FF, secure PPRF GG, and secure IO i𝒪i\mathcal{O}. Thus, we complete the proof of Theorem 7.5 by combining Theorems B.2 and B.4, and Theorem B.8 below, which we prove in this section.

Theorem B.8.

If 𝖯𝖱𝖦\mathsf{PRG} is a secure PRG, FF is a secure injective PPRF, GG is a secure PPRF, 𝖢𝗈𝗆\mathsf{Com} is a secure injective bit-commitment with setup, and i𝒪i\mathcal{O} is a secure IO, then 𝖯𝖤\mathsf{PE} is a secure PE that satisifes strong ciphertext pseudorandomness.

Proof of Theorem B.8.

To prove x0c𝖤𝗇𝖼(𝗉𝖾.𝖾𝗄,m)x_{0}\coloneqq c^{\ast}\leftarrow\mathsf{Enc}(\mathsf{pe.ek},m^{\ast}) is indistinguishable from x1r{0,1}x_{1}\coloneqq r^{\ast}\leftarrow\{0,1\}^{\ell}, we define a sequence hybrid games.

𝖱𝖾𝖺𝗅\mathsf{Real}:

This is the same as the real game with b=0b=0. That is, for queried mm^{\ast} the challenger does the following.

  1. 1.

    Choose an injective PPRF F:{0,1}3{0,1}9F:\{0,1\}^{3\ell}\rightarrow\{0,1\}^{9\ell} and PPRF G:{0,1}9{0,1}G:\{0,1\}^{9\ell}\rightarrow\{0,1\}^{\ell}.

  2. 2.

    Choose s{0,1}s\leftarrow\{0,1\}^{\ell} and compute α0𝖯𝖱𝖦(s)\alpha_{0}\coloneqq\mathsf{PRG}(s), β0F(α0m)\beta_{0}\coloneqq F(\alpha_{0}\|m^{\ast}), and γ0G(β0)m\gamma_{0}\coloneqq G(\beta_{0})\oplus m^{\ast}.

  3. 3.

    Set x0α0β0γ0x_{0}\coloneqq\alpha_{0}\|\beta_{0}\|\gamma_{0} and computes 𝗉𝖾.𝖾𝗄i𝒪(E)\mathsf{pe.ek}\coloneqq i\mathcal{O}(E) and 𝗉𝖾.𝖽𝗄x0i𝒪(Dx0)\mathsf{pe.dk}_{\neq x_{0}}\coloneqq i\mathcal{O}(D_{\neq x_{0}}).

  4. 4.

    Send (x0,𝗉𝖾.𝖾𝗄,𝗉𝖾.𝖽𝗄x0)(x_{0},\mathsf{pe.ek},\mathsf{pe.dk}_{\neq x_{0}}) to the adversary.

𝖧𝗒𝖻1\mathsf{Hyb}_{1}:

This is the same as 𝖧𝗒𝖻0(0)\mathsf{Hyb}_{0}(0) except that α0\alpha_{0} is uniformly random.

𝖧𝗒𝖻2\mathsf{Hyb}_{2}:

This is the same as 𝖧𝗒𝖻1\mathsf{Hyb}_{1} except that we use punctured Fα0mF_{\neq\alpha_{0}\|m^{\ast}} and modified circuits Eα0mE_{\neq\alpha_{0}\|m^{\ast}} and Dα0m2D_{\neq\alpha_{0}\|m^{\ast}}^{2} described in Figures 16 and 17. Intuitively, these modified circuits are punctured at input α0m\alpha_{0}\|m^{\ast} and use exceptional handling for this input.

𝖧𝗒𝖻3\mathsf{Hyb}_{3}:

This is the same as 𝖧𝗒𝖻2\mathsf{Hyb}_{2} except that β0{0,1}9\beta_{0}\leftarrow\{0,1\}^{9\ell}.

𝖧𝗒𝖻4\mathsf{Hyb}_{4}:

This is the same as 𝖧𝗒𝖻3\mathsf{Hyb}_{3} except that we use punctured Gβ0G_{\neq\beta_{0}} and modified circuits Eα0m,β0E_{\neq\alpha_{0}\|m^{\ast},\neq\beta_{0}} and Dα0m,β04D_{\neq\alpha_{0}\|m^{\ast},\neq\beta_{0}}^{4} described in Figures 18 and 19. Intuitively, these modified circuits are punctured at input β0\beta_{0} and use Fα0mF_{\neq\alpha_{0}\|m^{\ast}} and exceptional handling for β0\beta_{0}.

𝖧𝗒𝖻5=𝖱𝖺𝗇𝖽2\mathsf{Hyb}_{5}=\mathsf{Rand}_{2}:

This is the same as 𝖧𝗒𝖻4\mathsf{Hyb}_{4} except that γ0\gamma_{0} is uniformly random. Now, α0\alpha_{0}, β0\beta_{0}, γ0\gamma_{0} are uniformly random and we rewrite them into α1\alpha_{1}, β1\beta_{1}, γ1\gamma_{1}, respectively. For ease of notation, we also denote this game by 𝖱𝖺𝗇𝖽2\mathsf{Rand}_{2}.

𝖱𝖺𝗇𝖽1\mathsf{Rand}_{1}:

This is the same as 𝖧𝗒𝖻5=𝖱𝖺𝗇𝖽2\mathsf{Hyb}_{5}=\mathsf{Rand}_{2} except that we use un-punctured GG, circuit Eα0m,β0E_{\neq\alpha_{0}\|m^{\ast},\neq\beta_{0}} reverts to Eα1mE_{\neq\alpha_{1}\|m^{\ast}} described in Figure 16, and we change circuit Dα1m,β14D_{\neq\alpha_{1}\|m^{\ast},\neq\beta_{1}}^{4} into Dα1m𝗋D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}} described in Figure 21.

𝖱𝖺𝗇𝖽\mathsf{Rand}:

This is the same as the real game with b=1b=1. That is, for queried mm^{\ast} the challenger does the following.

  1. 1.

    Choose an injective PPRF F:{0,1}3{0,1}9F:\{0,1\}^{3\ell}\rightarrow\{0,1\}^{9\ell} and PPRF G:{0,1}9{0,1}G:\{0,1\}^{9\ell}\rightarrow\{0,1\}^{\ell}.

  2. 2.

    Choose α1{0,1}2\alpha_{1}\leftarrow\{0,1\}^{2\ell}, β1{0,1}9\beta_{1}\leftarrow\{0,1\}^{9\ell}, and γ1{0,1}\gamma_{1}\leftarrow\{0,1\}^{\ell}.

  3. 3.

    Set x1α1β1γ1x_{1}\coloneqq\alpha_{1}\|\beta_{1}\|\gamma_{1} and computes 𝗉𝖾.𝖾𝗄i𝒪(E)\mathsf{pe.ek}\coloneqq i\mathcal{O}(E) and 𝗉𝖾.𝖽𝗄x1i𝒪(Dx1)\mathsf{pe.dk}_{\neq x_{1}}\coloneqq i\mathcal{O}(D_{\neq x_{1}}).

  4. 4.

    Send (x1,𝗉𝖾.𝖾𝗄,𝗉𝖾.𝖽𝗄x1)(x_{1},\mathsf{pe.ek},\mathsf{pe.dk}_{\neq x_{1}}) to the adversary.

We described the overview of these hybrid games in Figure 15.

α\alpha^{\ast} β\beta^{\ast} γ\gamma^{\ast} 𝗉𝖾.𝖾𝗄i𝒪()\mathsf{pe.ek}\coloneqq i\mathcal{O}(\cdot) 𝗉𝖾.𝖽𝗄i𝒪()\mathsf{pe.dk}\coloneqq i\mathcal{O}(\cdot)
𝖱𝖾𝖺𝗅\mathsf{Real} 𝖯𝖱𝖦(s)\mathsf{PRG}(s) F(α0m)F(\alpha_{0}\|m^{\ast}) G(β0)mG(\beta_{0})\oplus m^{\ast} EE Dx0D_{\neq x_{0}}
𝖧𝗒𝖻1\mathsf{Hyb}_{1} $\$ F(α0m)F(\alpha_{0}\|m^{\ast}) G(β0)mG(\beta_{0})\oplus m^{\ast} EE Dx0D_{\neq x_{0}}
𝖧𝗒𝖻2\mathsf{Hyb}_{2} $\$ F(α0m)F(\alpha_{0}\|m^{\ast}) G(β0)mG(\beta_{0})\oplus m^{\ast} Eα0mE_{\neq\alpha_{0}\|m^{\ast}} Dα0m2[Fα0m]D_{\neq\alpha_{0}\|m^{\ast}}^{2}[F_{\neq\alpha_{0}\|m^{\ast}}]
𝖧𝗒𝖻3\mathsf{Hyb}_{3} $\$ $\$ G(β0)mG(\beta_{0})\oplus m^{\ast} Eα0mE_{\neq\alpha_{0}\|m^{\ast}} Dα0m2[Fα0m]D_{\neq\alpha_{0}\|m^{\ast}}^{2}[F_{\neq\alpha_{0}\|m^{\ast}}]
𝖧𝗒𝖻4\mathsf{Hyb}_{4} $\$ $\$ G(β0)mG(\beta_{0})\oplus m^{\ast} Eα0m,β0E_{\neq\alpha_{0}\|m^{\ast},\neq\beta_{0}} Dα0m,β04[Fα0m,Gβ0]D_{\neq\alpha_{0}\|m^{\ast},\neq\beta_{0}}^{4}[F_{\neq\alpha_{0}\|m^{\ast}},G_{\neq\beta_{0}}]
𝖧𝗒𝖻5\mathsf{Hyb}_{5} $\$ $\$ $\$ Eα1m,β1E_{\neq\alpha_{1}\|m^{\ast},\neq\beta_{1}} Dα1m,β14[Fα1m,Gβ1]D_{\neq\alpha_{1}\|m^{\ast},\neq\beta_{1}}^{4}[F_{\neq\alpha_{1}\|m^{\ast}},G_{\neq\beta_{1}}]
𝖱𝖺𝗇𝖽1\mathsf{Rand}_{1} $\$ $\$ $\$ Eα1mE_{\neq\alpha_{1}\|m^{\ast}} Dα1m𝗋[Fα1m]D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}}[F_{\neq\alpha_{1}\|m^{\ast}}]
𝖱𝖺𝗇𝖽\mathsf{Rand} $\$ $\$ $\$ EE Dx1D_{\neq x_{1}}
Figure 15: High-level overview of hybrid games from 𝖱𝖾𝖺𝗅\mathsf{Real} to 𝖱𝖺𝗇𝖽\mathsf{Rand}. Recall that 𝖧𝗒𝖻5=𝖱𝖺𝗇𝖽2\mathsf{Hyb}_{5}=\mathsf{Rand}_{2}. Transitions from 𝖱𝖺𝗇𝖽2\mathsf{Rand}_{2} to 𝖱𝖺𝗇𝖽\mathsf{Rand} are baiscally the reverse transitions from 𝖧𝗒𝖻0\mathsf{Hyb}_{0} to 𝖧𝗒𝖻4\mathsf{Hyb}_{4}, but there are subtle differences.

If we prove these hybrid games are indistinguishable, we complete the proof of Theorem B.8.   

We prove that those hybrid games in Figure 15 are indistinguishable by Lemmata B.9, B.10, B.14, B.15, B.19, B.20 and B.25.

From 𝖱𝖾𝖺𝗅\mathsf{Real} to 𝖧𝗒𝖻5\mathsf{Hyb}_{5}.

We first move from 𝖱𝖾𝖺𝗅\mathsf{Real} to 𝖧𝗒𝖻5\mathsf{Hyb}_{5}.

Lemma B.9.

If 𝖯𝖱𝖦\mathsf{PRG} is a secure PRG, it holds that |Pr[𝖧𝗒𝖻0(0)=1]Pr[𝖧𝗒𝖻1=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Hyb}_{0}(0)=1]-\Pr[\mathsf{Hyb}_{1}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Lemma B.9.

The randomness ss for encryption is never used anywhere except α0𝖯𝖱𝖦(s)\alpha_{0}\coloneqq\mathsf{PRG}(s). We can apply the PRG security and immediately obtain the lemma.   

Lemma B.10.

If i𝒪i\mathcal{O} is a secure IO and FF is a secure injective PPRF, it holds that

|Pr[𝖧𝗒𝖻1=1]Pr[𝖧𝗒𝖻2=1]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathsf{Hyb}_{1}=1]-\Pr[\mathsf{Hyb}_{2}=1]}\leq{\mathsf{negl}}(\lambda).
Proof of Lemma B.10.

We change EE and Dx0D_{\neq x_{0}} into Eα0mE_{\neq\alpha_{0}\|m^{\ast}} and Dα0m2D_{\neq\alpha_{0}\|m^{\ast}}^{2}, respectively.

Circuit Eαm[F,G]E_{\neq\alpha^{\ast}\|m^{\ast}}[F^{\prime},G] Constants : Injective PPRF FF^{\prime}, PPRF GG Inputs: m{0,1},s{0,1}m\in\{0,1\}^{\ell},s\in\{0,1\}^{\ell} 1. Compute α=𝖯𝖱𝖦(s)\alpha=\mathsf{PRG}(s). 2. Compute β=F(αm)\beta=F^{\prime}(\alpha\|m). 3. Compute γ=G(β)m\gamma=G(\beta)\oplus m. 4. Output (α,β,γ)(\alpha,\beta,\gamma).

Figure 16: Description of encryption circuit EαmE_{\neq\alpha^{\ast}\|m^{\ast}}

Circuit Dαm2[F,G,α,β,γ,m]D_{\neq\alpha^{\ast}\|m^{\ast}}^{2}[F^{\prime},G,\alpha^{\ast},\beta^{\ast},\gamma^{\ast},m^{\ast}] Constants : Point x=αβγ{0,1}12x^{\ast}=\alpha^{\ast}\|\beta^{\ast}\|\gamma^{\ast}\in\{0,1\}^{12\ell}, injective PPRF FF^{\prime}, PPRF GG, mm^{\ast}. Inputs: c=(αβγ)c=(\alpha\|\beta\|\gamma), where α{0,1}2\alpha\in\{0,1\}^{2\ell}, β{0,1}9\beta\in\{0,1\}^{9\ell}, and γ{0,1}\gamma\in\{0,1\}^{\ell}. 1. If c=xc=x^{\ast}, output \bot. 2. Compute m=G(β)γm=G(\beta)\oplus\gamma. 3. If (α,m)=(α,m)(\alpha,m)=(\alpha^{\ast},m^{\ast}), output \bot. 4. If β=F¯(αm)\beta={\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\underline{{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}F^{\prime}}}}(\alpha\|m), output mm. 5. Else output \bot.

Figure 17: Description of punctured decryption circuit Dαm2D_{\neq\alpha^{\ast}\|m^{\ast}}^{2}

We define a sequence of sub-hybrid games.

𝖧𝗒𝖻11\mathsf{Hyb}_{1}^{1}:

This is the same as 𝖧𝗒𝖻1\mathsf{Hyb}_{1} except that we generate Fα0mF_{\neq\alpha_{0}\|m^{\ast}} and set FFα0mF^{\prime}\coloneqq F_{\neq\alpha_{0}\|m^{\ast}} and 𝗉𝖾.𝖾𝗄i𝒪(Eα0m)\mathsf{pe.ek}\coloneqq i\mathcal{O}(E_{\neq\alpha_{0}\|m^{\ast}}) described in Figure 16.

𝖧𝗒𝖻12\mathsf{Hyb}_{1}^{2}:

This is the same as 𝖧𝗒𝖻11\mathsf{Hyb}_{1}^{1} except that we set 𝗉𝖾.𝖽𝗄x0i𝒪(Dα0m2[F,G,α0,β0,γ0,m])\mathsf{pe.dk}_{\neq x_{0}}\coloneqq i\mathcal{O}(D_{\neq\alpha_{0}\|m^{\ast}}^{2}[F,G,\alpha_{0},\beta_{0},\gamma_{0},m^{\ast}]) described in Figure 17. That is, we still use FF, but modify the circuit.

Proposition B.11.

If i𝒪i\mathcal{O} is a secure IO, it holds that |Pr[𝖧𝗒𝖻1=1]Pr[𝖧𝗒𝖻11=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Hyb}_{1}=1]-\Pr[\mathsf{Hyb}_{1}^{1}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition B.11.

In these games, value α0{0,1}2\alpha_{0}\leftarrow\{0,1\}^{2\ell} is not in the image of 𝖯𝖱𝖦\mathsf{PRG} except with negligible probability. The only difference between the two games is that Fα0mF_{\neq\alpha_{0}\|m^{\ast}} is used in 𝖧𝗒𝖻11\mathsf{Hyb}_{1}^{1}. Thus, EE and Eα0mE_{\neq\alpha_{0}\|m^{\ast}} are functionally equivalent except with negligible probability. We can obtain the proposition by applying the IO security.   

Proposition B.12.

If i𝒪i\mathcal{O} is a secure IO and FF is injective, it holds that |Pr[𝖧𝗒𝖻11=1]Pr[𝖧𝗒𝖻12=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Hyb}_{1}^{1}=1]-\Pr[\mathsf{Hyb}_{1}^{2}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition B.12.

We analyze the case where (α,m)=(α0,m)(\alpha,m)=(\alpha_{0},m^{\ast}) since it is the only difference between Dx0D_{\neq x_{0}} and Dα0m2D_{\neq\alpha_{0}\|m^{\ast}}^{2}.

  • If c=x0c=x_{0}, Dα0m2D_{\neq\alpha_{0}\|m^{\ast}}^{2} outputs \bot by the first line of the description. Thus, the output of Dα0m2(x0)D_{\neq\alpha_{0}\|m^{\ast}}^{2}(x_{0}) is the same as that of Dx0(x0)D_{\neq x_{0}}(x_{0}).

  • If cx0c\neq x_{0}, it holds (β0,γ0)(β,γ)(\beta_{0},\gamma_{0})\neq(\beta,\gamma) in this case. However, it should be β0=β\beta_{0}=\beta due to the injectivity of FF and β0=F(α0m)\beta_{0}=F(\alpha_{0}\|m^{\ast}). Thus, both Dx0(c)D_{\neq x_{0}}(c) and Dα0m2(c)D_{\neq\alpha_{0}\|m^{\ast}}^{2}(c) output \bot in this case (Dx0(c)D_{\neq x_{0}}(c) outputs \bot at the first line).

Therefore, Dx0D_{\neq x_{0}} and Dα0m2D_{\neq\alpha_{0}\|m^{\ast}}^{2} are functionally equivalent. We can obtain the proposition by applying the IO security.   

Proposition B.13.

If i𝒪i\mathcal{O} is a secure IO, it holds that |Pr[𝖧𝗒𝖻12=1]Pr[𝖧𝗒𝖻2=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Hyb}_{1}^{2}=1]-\Pr[\mathsf{Hyb}_{2}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition B.13.

Due to the exceptional handling in the third item of Dα0m2D_{\neq\alpha_{0}\|m^{\ast}}^{2}, F(αm)F(\alpha\|m) is never computed for input (α0,m)(\alpha_{0},m^{\ast}). Thus, even if we use Fα0mF_{\neq\alpha_{0}\|m^{\ast}} instead of FF, Dα0m2[F]D_{\neq\alpha_{0}\|m^{\ast}}^{2}[F] and Dα0m2[Fα0m]D_{\neq\alpha_{0}\|m^{\ast}}^{2}[F_{\neq\alpha_{0}\|m^{\ast}}] are functionally equivalent. We can obtain the proposition by the IO security.   

We complete the proof of Lemma B.10.   

Lemma B.14.

If FF is a secure injective PPRF, it holds that |Pr[𝖧𝗒𝖻2=1]Pr[𝖧𝗒𝖻3=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Hyb}_{2}=1]-\Pr[\mathsf{Hyb}_{3}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Lemma B.14.

The difference between these two games is that β0\beta_{0} is F(α0m)F(\alpha_{0}\|m^{\ast}) or random. We can immediately obtain the lemma by applying punctured pseudorandomness of FF since we use Fα0mF_{\neq\alpha_{0}\|m^{\ast}} in these games.   

Lemma B.15.

If i𝒪i\mathcal{O} is a secure IO and FF is a secure injective PPRF, it holds that

|Pr[𝖧𝗒𝖻3=1]Pr[𝖧𝗒𝖻4=1]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathsf{Hyb}_{3}=1]-\Pr[\mathsf{Hyb}_{4}=1]}\leq{\mathsf{negl}}(\lambda).
Proof of Lemma B.15.

We change EαmE_{\neq\alpha^{\ast}\|m^{\ast}} and Dαm2D_{\neq\alpha^{\ast}\|m^{\ast}}^{2} into Eαm,βE_{\neq\alpha^{\ast}\|m^{\ast},\neq\beta^{\ast}} and Dαm,β4D_{\neq\alpha^{\ast}\|m^{\ast},\neq\beta^{\ast}}^{4}, respectively.

Circuit Eαm,β[F,G]E_{\neq\alpha^{\ast}\|m^{\ast},\neq\beta^{\ast}}[F^{\prime},G^{\prime}] Constants : Injective PPRF FF^{\prime}, PPRF GG^{\prime} Inputs: m{0,1},s{0,1}m\in\{0,1\}^{\ell},s\in\{0,1\}^{\ell} 1. Compute α=𝖯𝖱𝖦(s)\alpha=\mathsf{PRG}(s). 2. Compute β=F(αm)\beta=F^{\prime}(\alpha\|m). 3. Compute γ=G¯(β)m\gamma={\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\underline{{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}G^{\prime}}}}(\beta)\oplus m. 4. Output (α,β,γ)(\alpha,\beta,\gamma).

Figure 18: Description of encryption circuit Eαm,βE_{\neq\alpha^{\ast}\|m^{\ast},\neq\beta^{\ast}}

Circuit Dαm,β4[F,G,α,β,γ,m]D_{\neq\alpha^{\ast}\|m^{\ast},\neq\beta^{\ast}}^{4}[F^{\prime},G^{\prime},\alpha^{\ast},\beta^{\ast},\gamma^{\ast},m^{\ast}] Constants : Point xαβγ{0,1}12x^{\ast}\coloneqq\alpha^{\ast}\|\beta^{\ast}\|\gamma^{\ast}\in\{0,1\}^{12\ell}, injective PPRF FF^{\prime}, PPRF GG^{\prime}, mm^{\ast}. Inputs: c=(αβγ)c=(\alpha\|\beta\|\gamma), where α{0,1}2\alpha\in\{0,1\}^{2\ell}, β{0,1}9\beta\in\{0,1\}^{9\ell}, and γ{0,1}\gamma\in\{0,1\}^{\ell}. 1. If β=β\beta=\beta^{\ast}, output \bot. 2. Compute m=G¯(β)γm={\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\underline{{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}G^{\prime}}}}(\beta)\oplus\gamma. 3. If (α,m)=(α,m)(\alpha,m)=(\alpha^{\ast},m^{\ast}), output \bot. 4. If β=F(αm)\beta=F^{\prime}(\alpha\|m), output mm. 5. Else output \bot.

Figure 19: Description of punctured decryption circuit Dαm,β4D_{\neq\alpha^{\ast}\|m^{\ast},\neq\beta^{\ast}}^{4}

We define a sequence of sub-hybrid games.

𝖧𝗒𝖻31\mathsf{Hyb}_{3}^{1}:

This is the same as 𝖧𝗒𝖻3\mathsf{Hyb}_{3} except that we use punctured Gβ0G_{\neq\beta_{0}} and set 𝗉𝖾.𝖾𝗄i𝒪(Eα0m,β0[Fα0m,Gβ0])\mathsf{pe.ek}\coloneqq i\mathcal{O}(E_{\neq\alpha_{0}\|m^{\ast},\neq\beta_{0}}[F_{\neq\alpha_{0}\|m^{\ast}},G_{\neq\beta_{0}}]).

𝖧𝗒𝖻32\mathsf{Hyb}_{3}^{2}:

This is the same as 𝖧𝗒𝖻31\mathsf{Hyb}_{3}^{1} except that we still use GG but set 𝗉𝖾.𝖽𝗄c0i𝒪(Dα0m,β04[Fα0m,G])\mathsf{pe.dk}_{\neq c_{0}}\coloneqq i\mathcal{O}(D_{\neq\alpha_{0}\|m^{\ast},\neq\beta_{0}}^{4}[F_{\neq\alpha_{0}\|m^{\ast}},G]).

Proposition B.16.

If i𝒪i\mathcal{O} is a secure IO, it holds that |Pr[𝖧𝗒𝖻3=1]Pr[𝖧𝗒𝖻31=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Hyb}_{3}=1]-\Pr[\mathsf{Hyb}_{3}^{1}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition B.16.

In these games β0{0,1}9\beta_{0}\leftarrow\{0,1\}^{9\ell} is uniformly random. By the sparsity of FF, β0\beta_{0} is not in the image of FF except with negligible probability. Thus, Eα0mE_{\neq\alpha_{0}\|m^{\ast}} and Eα0m,β0E_{\neq\alpha_{0}\|m^{\ast},\neq\beta_{0}} are functionally equivalent except with negligible probability. We obtain the proposition by the IO security.   

Proposition B.17.

If i𝒪i\mathcal{O} is a secure IO, it holds that |Pr𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Hyb}_{3}^{1}=1]-\Pr[\mathsf{Hyb}_{3}^{2}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition B.17.

The difference between Dα0m2D_{\neq\alpha_{0}\|m^{\ast}}^{2} and Dα0m,β04D_{\neq\alpha_{0}\|m^{\ast},\neq\beta_{0}}^{4} is that we replace “If c=x0c=x_{0}, outputs \bot.” with “If β=β0\beta=\beta_{0}, outputs \bot.”. In these games, β0{0,1}9\beta_{0}\leftarrow\{0,1\}^{9\ell} is not in the image of FF except with negligible probability. Recall that c=x0c=x_{0} means c=α0β0γ0c=\alpha_{0}\|\beta_{0}\|\gamma_{0}. Thus, those two circuits may differ when β=β0\beta=\beta_{0} but (α,γ)(α0,γ0)(\alpha,\gamma)\neq(\alpha_{0},\gamma_{0}). However, it does not happen β=F(α(G(β)γ))\beta=F^{\prime}(\alpha\|(G(\beta)\oplus\gamma)) in this case due to the injectivity of FF. Thus, Dα0m2D_{\neq\alpha_{0}\|m^{\ast}}^{2} and Dα0m,β04D_{\neq\alpha_{0}\|m^{\ast},\neq\beta_{0}}^{4} are functionally equivalent and we obtain the proposition by applying the IO security.   

Proposition B.18.

If i𝒪i\mathcal{O} is a secure IO, it holds that |Pr[𝖧𝗒𝖻32=1]Pr[𝖧𝗒𝖻4=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Hyb}_{3}^{2}=1]-\Pr[\mathsf{Hyb}_{4}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition B.18.

The difference between these two games that we use Dα0m,β04[Fα0m,Gβ0]D_{\neq\alpha_{0}\|m^{\ast},\neq\beta_{0}}^{4}[F_{\neq\alpha_{0}\|m^{\ast}},G_{\neq\beta_{0}}] instead of Dα0m,β04[Fα0m,G]D_{\neq\alpha_{0}\|m^{\ast},\neq\beta_{0}}^{4}[F_{\neq\alpha_{0}\|m^{\ast}},G]. However, Gβ0(β0)G_{\neq\beta_{0}}(\beta_{0}) is never computed by the first item of Dα0m,β04D_{\neq\alpha_{0}\|m^{\ast},\neq\beta_{0}}^{4}. We obtain the proposition by the IO security.   

We complete the proof of Lemma B.15.   

Lemma B.19.

If GG is a secure PPRF, it holds that |Pr[𝖧𝗒𝖻4=1]Pr[𝖧𝗒𝖻5=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Hyb}_{4}=1]-\Pr[\mathsf{Hyb}_{5}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Lemma B.19.

The difference between these two games is that γ0\gamma_{0} is G(β0)G(\beta_{0}) or random. We can immediately obtain the lemma by applying punctured pseudorandomness of GG since we use Gβ0G_{\neq\beta_{0}} in these games.   

In 𝖧𝗒𝖻5\mathsf{Hyb}_{5}, α0\alpha_{0}, β0\beta_{0}, and γ0\gamma_{0} are uniformly random strings as α1\alpha_{1}, β1\beta_{1}, and γ1\gamma_{1}.

From 𝖱𝖺𝗇𝖽\mathsf{Rand} to 𝖧𝗒𝖻5\mathsf{Hyb}_{5}.

We leap to 𝖱𝖺𝗇𝖽\mathsf{Rand} and move from 𝖱𝖺𝗇𝖽\mathsf{Rand} to 𝖱𝖺𝗇𝖽2=𝖧𝗒𝖻5\mathsf{Rand}_{2}=\mathsf{Hyb}_{5} instead of directly moving from 𝖧𝗒𝖻5=𝖱𝖺𝗇𝖽2\mathsf{Hyb}_{5}=\mathsf{Rand}_{2} to 𝖱𝖺𝗇𝖽\mathsf{Rand} since 𝖱𝖾𝖺𝗅𝖧𝗒𝖻5\mathsf{Real}\approx\mathsf{Hyb}_{5} and 𝖱𝖺𝗇𝖽2𝖱𝖺𝗇𝖽\mathsf{Rand}_{2}\approx\mathsf{Rand} is almost symmetric (but not perfectly symmetric).

Lemma B.20.

If i𝒪i\mathcal{O} is a secure IO and FF is a secure injective PPRF, it holds that

|Pr[𝖱𝖺𝗇𝖽=1]Pr[𝖱𝖺𝗇𝖽1=1]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathsf{Rand}=1]-\Pr[\mathsf{Rand}_{1}=1]}\leq{\mathsf{negl}}(\lambda).
Proof of Lemma B.20.

We change EE and Dx1D_{\neq x_{1}} into Eα1mE_{\neq\alpha_{1}\|m^{\ast}} and Dα1m𝗋D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}}, respectively.

We define a sequence of sub-hybrid games.

𝗋𝖧𝗒𝖻1\mathsf{rHyb}^{1}:

This is the same as 𝖱𝖺𝗇𝖽\mathsf{Rand} except that we generate Fα1mF_{\neq\alpha_{1}\|m^{\ast}} and set FFα1mF^{\prime}\coloneqq F_{\neq\alpha_{1}\|m^{\ast}} and 𝗉𝖾.𝖾𝗄i𝒪(Eα1m)\mathsf{pe.ek}\coloneqq i\mathcal{O}(E_{\neq\alpha_{1}\|m^{\ast}}) described in Figure 16.

𝗋𝖧𝗒𝖻2\mathsf{rHyb}^{2}:

This is the same as 𝗋𝖧𝗒𝖻1\mathsf{rHyb}^{1} except that we set 𝗉𝖾.𝖽𝗄x1i𝒪(Dα1m𝗋-2[F,G])\mathsf{pe.dk}_{\neq x_{1}}\coloneqq i\mathcal{O}(D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}\textrm{-}2}[F,G]) described in Figure 20. That is, we still use FF, but the modified circuit that outputs mm^{\ast} for input α1β^γ^\alpha_{1}\|\hat{\beta}\|\hat{\gamma}, where β^F(α1m)\hat{\beta}\coloneqq F(\alpha_{1}\|m^{\ast}) and γ^G(β^)m\hat{\gamma}\coloneqq G(\hat{\beta})\oplus m^{\ast}.

𝗋𝖧𝗒𝖻3\mathsf{rHyb}^{3}:

This is the same as 𝗋𝖧𝗒𝖻2\mathsf{rHyb}^{2} except that we set 𝗉𝖾.𝖽𝗄x1i𝒪(Dα1m𝗋[F,G])\mathsf{pe.dk}_{\neq x_{1}}\coloneqq i\mathcal{O}(D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}}[F,G]) described in Figure 21. That is, we still use FF, but the modified circuit outputs \bot for an input such that (α,m)=(α1,m)(\alpha,m)=(\alpha_{1},m^{\ast}).

Circuit Dαm𝗋-2[F,G,α,β,γ,β^,γ^,m]D_{\neq\alpha^{\ast}\|m^{\ast}}^{\mathsf{r}\textrm{-}2}[F^{\prime},G,\alpha^{\ast},\beta^{\ast},\gamma^{\ast},\hat{\beta},\hat{\gamma},m^{\ast}] Constants : Point x=αβγ{0,1}12x^{\ast}=\alpha^{\ast}\|\beta^{\ast}\|\gamma^{\ast}\in\{0,1\}^{12\ell}, injective PPRF FF^{\prime}, PPRF GG, β^\hat{\beta}, γ^\hat{\gamma}, mm^{\ast}. Inputs: c=(αβγ)c=(\alpha\|\beta\|\gamma), where α{0,1}2\alpha\in\{0,1\}^{2\ell}, β{0,1}9\beta\in\{0,1\}^{9\ell}, and γ{0,1}\gamma\in\{0,1\}^{\ell}. 1. If α=α\alpha=\alpha^{\ast} and β=β^\beta=\hat{\beta} and γ=γ^\gamma=\hat{\gamma}, output mm^{\ast}. 2. If c=xc=x^{\ast}, output \bot. 3. Compute m=G(β)γm=G(\beta)\oplus\gamma. 4. If β=F¯(αm)\beta={\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\underline{{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}F^{\prime}}}}(\alpha\|m), output mm. 5. Else output \bot.

Figure 20: Description of punctured decryption circuit Dαm𝗋-2D_{\neq\alpha^{\ast}\|m^{\ast}}^{\mathsf{r}\textrm{-}2}

Circuit Dαm𝗋[F,G,α,β,γ,β^,γ^,m]D_{\neq\alpha^{\ast}\|m^{\ast}}^{\mathsf{r}}[F^{\prime},G,\alpha^{\ast},\beta^{\ast},\gamma^{\ast},\hat{\beta},\hat{\gamma},m^{\ast}] Constants : Point x=αβγ{0,1}12x^{\ast}=\alpha^{\ast}\|\beta^{\ast}\|\gamma^{\ast}\in\{0,1\}^{12\ell}, injective PPRF FF^{\prime}, PPRF GG, β^\hat{\beta}, γ^\hat{\gamma}, mm^{\ast}. Inputs: c=(αβγ)c=(\alpha\|\beta\|\gamma), where α{0,1}2\alpha\in\{0,1\}^{2\ell}, β{0,1}9\beta\in\{0,1\}^{9\ell}, and γ{0,1}\gamma\in\{0,1\}^{\ell}. 1. If α=α\alpha=\alpha^{\ast} and β=β^\beta=\hat{\beta} and γ=γ^\gamma=\hat{\gamma}, output mm^{\ast}. 2. If c=xc=x^{\ast}, output \bot. 3. Compute m=G(β)γm=G(\beta)\oplus\gamma. 4. If (α,m)=(α,m)(\alpha,m)=(\alpha^{\ast},m^{\ast}), output \bot. 5. If β=F¯(αm)\beta={\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\underline{{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}F^{\prime}}}}(\alpha\|m), output mm. 6. Else output \bot.

Figure 21: Description of punctured decryption circuit Dαm𝗋D_{\neq\alpha^{\ast}\|m^{\ast}}^{\mathsf{r}}
Proposition B.21.

If i𝒪i\mathcal{O} is a secure IO, it holds that |Pr[𝖱𝖺𝗇𝖽=1]Pr[𝗋𝖧𝗒𝖻1=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Rand}=1]-\Pr[\mathsf{rHyb}^{1}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition B.21.

In these games, value α1{0,1}2\alpha_{1}\leftarrow\{0,1\}^{2\ell} is not in the image of 𝖯𝖱𝖦\mathsf{PRG} except with negligible probability. Thus, EE and Eα1mE_{\neq\alpha_{1}\|m^{\ast}} are functionally equivalent except with negligible probability. We can obtain the proposition by applying the IO security.   

Proposition B.22.

If i𝒪i\mathcal{O} is a secure IO and FF is injective, it holds that |Pr[𝗋𝖧𝗒𝖻1=1]Pr[𝗋𝖧𝗒𝖻2=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{rHyb}^{1}=1]-\Pr[\mathsf{rHyb}^{2}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition B.22.

The difference between Dx1D_{\neq x_{1}} and Dα1m𝗋-2D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}\textrm{-}2} is “If α=α\alpha=\alpha^{\ast} and β=β^\beta=\hat{\beta} and γ=γ^\gamma=\hat{\gamma}, output mm^{\ast}.”. Although α1β^γ^\alpha_{1}\|\hat{\beta}\|\hat{\gamma} is a valid encryption, β^=F(α1m)\hat{\beta}=F(\alpha_{1}\|m^{\ast}) is not equal to β1\beta_{1} except with negligible probability since β1\beta_{1} is uniformly random. Similarly, γ^\hat{\gamma} is not equal to γ1\gamma_{1} except with negligible probability. Thus, Dx1(α1β^γ^)D_{\neq x_{1}}(\alpha_{1}\|\hat{\beta}\|\hat{\gamma}) outputs mm^{\ast}. That is, Dx1D_{\neq x_{1}} and Dα1m𝗋-2D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}\textrm{-}2} are functionally equivalent. We can obtain the proposition by applying the IO security.   

Proposition B.23.

If i𝒪i\mathcal{O} is a secure IO and FF is injective, it holds that |Pr[𝗋𝖧𝗒𝖻2=1]Pr[𝗋𝖧𝗒𝖻3=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{rHyb}^{2}=1]-\Pr[\mathsf{rHyb}^{3}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition B.23.

We analyze the case where (α,m)=(α1,m)(\alpha,m)=(\alpha_{1},m^{\ast}). We can reach the forth line of Dα1m𝗋D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}} if cx1c\neq x_{1}. If cx1c\neq x_{1} and (α,m)=(α1,m)(\alpha,m)=(\alpha_{1},m^{\ast}), it holds that (β,γ)(β1,γ1)(\beta,\gamma)\neq(\beta_{1},\gamma_{1}). However, it should be β1=β\beta_{1}=\beta in this case due to the injectivity of FF. That is, if Dα1m𝗋(c)D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}}(c) outputs \bot at the fourth line, Dα1m𝗋-2(c)D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}\textrm{-}2}(c) also outputs \bot at the second line. Therefore, Dα1m𝗋-2D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}\textrm{-}2} and Dα1m𝗋D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}} are functionally equivalent. We can obtain the proposition by applying the IO security.   

Proposition B.24.

If i𝒪i\mathcal{O} is a secure IO, it holds that |Pr[𝗋𝖧𝗒𝖻3=1]Pr[𝖱𝖺𝗇𝖽1=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{rHyb}^{3}=1]-\Pr[\mathsf{Rand}_{1}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition B.24.

Due to the exceptional handling in the fourth line of Dα1m𝗋D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}}, F(αm)F(\alpha\|m) is never computed for input (α1,m)(\alpha_{1},m^{\ast}). Thus, even if we use Fα1mF_{\neq\alpha_{1}\|m^{\ast}} instead of FF, Dα1m𝗋[F]D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}}[F] and Dα1m𝗋[Fα1m]D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}}[F_{\neq\alpha_{1}\|m^{\ast}}] are functionally equivalent. We can obtain the proposition by the IO security.   

We complete the proof of Lemma B.20.   

Lemma B.25.

If i𝒪i\mathcal{O} is a secure IO, FF is a secure injective PPRF, and (𝖢𝗈𝗆.𝖦𝖾𝗇,𝖢𝗈𝗆)(\mathsf{Com}.\mathsf{Gen},\mathsf{Com}) is a secure injective bit-commitment with setup, it holds that |Pr[𝖱𝖺𝗇𝖽1=1]Pr[𝖱𝖺𝗇𝖽2=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Rand}_{1}=1]-\Pr[\mathsf{Rand}_{2}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Lemma B.25.

We change EαmE_{\neq\alpha^{\ast}\|m^{\ast}} and Dαm𝗋D_{\neq\alpha^{\ast}\|m^{\ast}}^{\mathsf{r}} into Eαm,βE_{\neq\alpha^{\ast}\|m^{\ast},\neq\beta^{\ast}} and Dαm,β4D_{\neq\alpha^{\ast}\|m^{\ast},\neq\beta^{\ast}}^{4}, respectively.

Circuit Dαm𝖼𝗈𝗆[F,G,α,β,γ,z^,𝖼𝗄,γ^,m]D_{\neq\alpha^{\ast}\|m^{\ast}}^{\mathsf{com}}[F^{\prime},G,\alpha^{\ast},\beta^{\ast},\gamma^{\ast},\hat{z},\mathsf{ck},\hat{\gamma},m^{\ast}] Constants : Point x=αβγ{0,1}12x^{\ast}=\alpha^{\ast}\|\beta^{\ast}\|\gamma^{\ast}\in\{0,1\}^{12\ell}, injective PPRF FF^{\prime}, PPRF GG, mm^{\ast}, z^\hat{z}, 𝖼𝗄\mathsf{ck}, γ^\hat{\gamma}. Inputs: c=(αβγ)c=(\alpha\|\beta\|\gamma), where α{0,1}2\alpha\in\{0,1\}^{2\ell}, β{0,1}9\beta\in\{0,1\}^{9\ell}, and γ{0,1}\gamma\in\{0,1\}^{\ell}. 1. If α=α\alpha=\alpha^{\ast} and 𝖢𝗈𝗆𝖼𝗄(0;β)=z^\mathsf{Com}_{\mathsf{ck}}(0;\beta)=\hat{z} and γ=γ^\gamma=\hat{\gamma}, output mm^{\ast}. 2. If c=xc=x^{\ast}, output \bot. 3. Compute m=G(β)γm=G(\beta)\oplus\gamma. 4. If (α,m)=(α,m)(\alpha,m)=(\alpha^{\ast},m^{\ast}), output \bot. 5. If β=F(αm)\beta=F^{\prime}(\alpha\|m), output mm. 6. Else output \bot.

Figure 22: Description of punctured decryption circuit Dαm𝖼𝗈𝗆D_{\neq\alpha^{\ast}\|m^{\ast}}^{\mathsf{com}}

Circuit Dαm𝖥[F,G,α,β,γ,m,z^,γ^]D_{\neq\alpha^{\ast}\|m^{\ast}}^{\mathsf{F}}[F^{\prime},G,\alpha^{\ast},\beta^{\ast},\gamma^{\ast},m^{\ast},\hat{z},\hat{\gamma}] Constants : Point x=αβγ{0,1}12x^{\ast}=\alpha^{\ast}\|\beta^{\ast}\|\gamma^{\ast}\in\{0,1\}^{12\ell}, injective PPRF FF^{\prime}, PPRF GG, mm^{\ast}, z^\hat{z}, γ^\hat{\gamma}. Inputs: c=(αβγ)c=(\alpha\|\beta\|\gamma), where α{0,1}2\alpha\in\{0,1\}^{2\ell}, β{0,1}9\beta\in\{0,1\}^{9\ell}, and γ{0,1}\gamma\in\{0,1\}^{\ell}. 1. If α=α\alpha=\alpha^{\ast} and False and γ=γ^\gamma=\hat{\gamma}, output mm^{\ast}.      // Never triggered 2. If c=xc=x^{\ast}, output \bot. 3. Compute m=G(β)γm=G(\beta)\oplus\gamma. 4. If (α,m)=(α,m)(\alpha,m)=(\alpha^{\ast},m^{\ast}), output \bot. 5. If β=F(αm)\beta=F^{\prime}(\alpha\|m), output mm. 6. Else output \bot.

Figure 23: Description of punctured decryption circuit Dαm𝖥D_{\neq\alpha^{\ast}\|m^{\ast}}^{\mathsf{F}}

We define a sequence of sub-hybrid games.

𝗋𝖧𝗒𝖻11\mathsf{rHyb}_{1}^{1}:

This is the same as 𝖱𝖺𝗇𝖽1\mathsf{Rand}_{1} except that we use β^{0,1}9\hat{\beta}\leftarrow\{0,1\}^{9\ell} instead of F(α1m)F(\alpha_{1}\|m^{\ast}).

𝗋𝖧𝗒𝖻12\mathsf{rHyb}_{1}^{2}:

This is the same as 𝗋𝖧𝗒𝖻11\mathsf{rHyb}_{1}^{1} except that we use Dα1m𝖼𝗈𝗆D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{com}} described in Figure 22, where 𝖼𝗄𝖢𝗈𝗆.𝖦𝖾𝗇(1λ)\mathsf{ck}\leftarrow\mathsf{Com}.\mathsf{Gen}(1^{\lambda}) and z^=𝖢𝗈𝗆𝖼𝗄(0;β^)\hat{z}=\mathsf{Com}_{\mathsf{ck}}(0;\hat{\beta}) are hardwired, instead of Dα1m𝗋D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}}.

𝗋𝖧𝗒𝖻13\mathsf{rHyb}_{1}^{3}:

This is the same as 𝗋𝖧𝗒𝖻12\mathsf{rHyb}_{1}^{2} except that we hard-code z^=𝖢𝗈𝗆𝖼𝗄(1;β^)\hat{z}=\mathsf{Com}_{\mathsf{ck}}(1;\hat{\beta}) into Dα1m𝖼𝗈𝗆D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{com}} instead of 𝖢𝗈𝗆𝖼𝗄(0;β^)\mathsf{Com}_{\mathsf{ck}}(0;\hat{\beta}).

𝗋𝖧𝗒𝖻14\mathsf{rHyb}_{1}^{4}:

This is the same as 𝗋𝖧𝗒𝖻13\mathsf{rHyb}_{1}^{3} except that we use Dα1m𝖥D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{F}} described in Figure 23

𝗋𝖧𝗒𝖻15\mathsf{rHyb}_{1}^{5}:

This is the same as 𝗋𝖧𝗒𝖻14\mathsf{rHyb}_{1}^{4} except that we use punctured Gβ1G_{\neq\beta_{1}} and set 𝗉𝖾.𝖾𝗄i𝒪(Eα1m,β1[Fα1m,Gβ1])\mathsf{pe.ek}\coloneqq i\mathcal{O}(E_{\neq\alpha_{1}\|m^{\ast},\neq\beta_{1}}[F_{\neq\alpha_{1}\|m^{\ast}},G_{\neq\beta_{1}}]).

𝗋𝖧𝗒𝖻16\mathsf{rHyb}_{1}^{6}:

This is the same as 𝗋𝖧𝗒𝖻15\mathsf{rHyb}_{1}^{5} except that we still use GG but set 𝗉𝖾.𝖽𝗄c1i𝒪(Dα1m,β14[Fα1m,G])\mathsf{pe.dk}_{\neq c_{1}}\coloneqq i\mathcal{O}(D_{\neq\alpha_{1}\|m^{\ast},\neq\beta_{1}}^{4}[F_{\neq\alpha_{1}\|m^{\ast}},G]).

Proposition B.26.

If FF is a secure PPRF, it holds that |Pr[𝖱𝖺𝗇𝖽1=1]Pr[𝗋𝖧𝗒𝖻11=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{Rand}_{1}=1]-\Pr[\mathsf{rHyb}_{1}^{1}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition B.26.

In these games, we use Fα1mF_{\neq\alpha_{1}\|m^{\ast}} in Eα1mE_{\neq\alpha^{1}\|m^{\ast}} and Dα1m𝗋D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}}. Thus, we can apply the punctured pseudorandomness and immediately obtain the proposition.   

Proposition B.27.

If i𝒪i\mathcal{O} is a secure IO and 𝖢𝗈𝗆𝖼𝗄\mathsf{Com}_{\mathsf{ck}} is injective, it holds that

|Pr[𝗋𝖧𝗒𝖻11=1]Pr[𝗋𝖧𝗒𝖻12=1]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathsf{rHyb}_{1}^{1}=1]-\Pr[\mathsf{rHyb}_{1}^{2}=1]}\leq{\mathsf{negl}}(\lambda).
Proof of Proposition B.27.

The difference between Dα1m𝖼𝗈𝗆D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{com}} and Dα1m𝗋D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{r}} is whether we use “𝖢𝗈𝗆𝖼𝗄(0;β)=z^\mathsf{Com}_{\mathsf{ck}}(0;\beta)=\hat{z}” or “β=β^\beta=\hat{\beta}”, where z^=𝖢𝗈𝗆𝖼𝗄(0;β^)\hat{z}=\mathsf{Com}_{\mathsf{ck}}(0;\hat{\beta}) and 𝖼𝗄𝖢𝗈𝗆.𝖦𝖾𝗇(1λ)\mathsf{ck}\leftarrow\mathsf{Com}.\mathsf{Gen}(1^{\lambda}). Since 𝖢𝗈𝗆\mathsf{Com} is injective, these two conditions are equivalent. Therefore, those two circuits are functionally equivalent. We obtain the proposition by applying the IO security.   

Proposition B.28.

If (𝖢𝗈𝗆.𝖦𝖾𝗇,𝖢𝗈𝗆)(\mathsf{Com}.\mathsf{Gen},\mathsf{Com}) is computationally hiding, it holds that

|Pr[𝗋𝖧𝗒𝖻12=1]Pr[𝗋𝖧𝗒𝖻13=1]|𝗇𝖾𝗀𝗅(λ).\absolutevalue{\Pr[\mathsf{rHyb}_{1}^{2}=1]-\Pr[\mathsf{rHyb}_{1}^{3}=1]}\leq{\mathsf{negl}}(\lambda).
Proof of Proposition B.28.

The only difference between these two games is that z^=𝖢𝗈𝗆𝖼𝗄(0;β^)\hat{z}=\mathsf{Com}_{\mathsf{ck}}(0;\hat{\beta}) or z^=𝖢𝗈𝗆𝖼𝗄(1;β^)\hat{z}=\mathsf{Com}_{\mathsf{ck}}(1;\hat{\beta}). Note that β^\hat{\beta} is never used anywhere else. We can obtain the proposition by the hiding property of 𝖢𝗈𝗆\mathsf{Com}.   

Proposition B.29.

If i𝒪i\mathcal{O} is a secure IO and (𝖢𝗈𝗆.𝖦𝖾𝗇,𝖢𝗈𝗆)(\mathsf{Com}.\mathsf{Gen},\mathsf{Com}) is statistically binding, it holds that |Pr[𝗋𝖧𝗒𝖻13=1]Pr[𝗋𝖧𝗒𝖻14=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{rHyb}_{1}^{3}=1]-\Pr[\mathsf{rHyb}_{1}^{4}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition B.29.

The difference between Dα1m𝖥D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{F}} and Dα1m𝖼𝗈𝗆D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{com}} is that the first line of Dα1m𝖥D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{F}} is never executed. However, z^=𝖢𝗈𝗆𝖼𝗄(1;β^)\hat{z}=\mathsf{Com}_{\mathsf{ck}}(1;\hat{\beta}) is hardwired in Dα1m𝖼𝗈𝗆D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{com}}. Thus, the first line of Dα1m𝖼𝗈𝗆D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{com}}, in particular, condition “𝖢𝗈𝗆𝖼𝗄(0;β)=z^=𝖢𝗈𝗆𝖼𝗄(1;β^)\mathsf{Com}_{\mathsf{ck}}(0;\beta)=\hat{z}=\mathsf{Com}_{\mathsf{ck}}(1;\hat{\beta})” is also never true except negligible probability due to the statistical binding property of 𝖢𝗈𝗆\mathsf{Com}. That is, these two circuits are functionally equivalent except negligible probability. We obtain the proposition by applying the IO security.   

Proposition B.30.

If i𝒪i\mathcal{O} is a secure IO, it holds that |Pr[𝗋𝖧𝗒𝖻14=1]Pr[𝗋𝖧𝗒𝖻15=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{rHyb}_{1}^{4}=1]-\Pr[\mathsf{rHyb}_{1}^{5}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition B.30.

In these games β1{0,1}9\beta_{1}\leftarrow\{0,1\}^{9\ell} is uniformly random. By the sparsity of FF, β1\beta_{1} is not in the image of FF except with negligible probability. Thus, Eα1mE_{\neq\alpha_{1}\|m^{\ast}} and Eα1m,β1E_{\neq\alpha_{1}\|m^{\ast},\neq\beta_{1}} are functionally equivalent except with negligible probability. We obtain the proposition by the IO security.   

Proposition B.31.

If i𝒪i\mathcal{O} is a secure IO, it holds that |Pr[𝗋𝖧𝗒𝖻15=1]Pr[𝗋𝖧𝗒𝖻16=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{rHyb}_{1}^{5}=1]-\Pr[\mathsf{rHyb}_{1}^{6}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition B.31.

The difference between Dα1m𝖥D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{F}} in Figure 23 and Dα1m,β14D_{\neq\alpha_{1}\|m^{\ast},\neq\beta_{1}}^{4} in Figure 19 is that we replace “If c=x1c=x_{1}, outputs \bot.” with “If β=β1\beta=\beta_{1}, outputs \bot.” since the first line of Dα1m𝖥D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{F}} is never triggered. In these games, β1{0,1}9\beta_{1}\leftarrow\{0,1\}^{9\ell} is not in the image of FF except with negligible probability. Recall that c=x1c=x_{1} means c=α1β1γ1c=\alpha_{1}\|\beta_{1}\|\gamma_{1}. Thus, those two circuits may differ when β=β1\beta=\beta_{1} but (α,γ)(α1,γ1)(\alpha,\gamma)\neq(\alpha_{1},\gamma_{1}). However, it does not happen β=F(α(G(β)γ))\beta=F^{\prime}(\alpha\|(G(\beta)\oplus\gamma)) in this case due to the injectivity of FF. Thus, Dα1m𝖥D_{\neq\alpha_{1}\|m^{\ast}}^{\mathsf{F}} and Dα1m,β14D_{\neq\alpha_{1}\|m^{\ast},\neq\beta_{1}}^{4} are functionally equivalent and we obtain the proposition by applying the IO security.   

Proposition B.32.

If i𝒪i\mathcal{O} is a secure IO, it holds that |Pr[𝗋𝖧𝗒𝖻16=1]Pr[𝖱𝖺𝗇𝖽2=1]|𝗇𝖾𝗀𝗅(λ)\absolutevalue{\Pr[\mathsf{rHyb}_{1}^{6}=1]-\Pr[\mathsf{Rand}_{2}=1]}\leq{\mathsf{negl}}(\lambda).

Proof of Proposition B.32.

The difference between these two games that we use Dα1m,β14[Fα1m,Gβ1]D_{\neq\alpha_{1}\|m^{\ast},\neq\beta_{1}}^{4}[F_{\neq\alpha_{1}\|m^{\ast}},G_{\neq\beta_{1}}] instead of Dα1m,β14[Fα1m,G]D_{\neq\alpha_{1}\|m^{\ast},\neq\beta_{1}}^{4}[F_{\neq\alpha_{1}\|m^{\ast}},G]. However, Gβ1(β1)G_{\neq\beta_{1}}(\beta_{1}) is never computed by the first line of Dα1m,β14D_{\neq\alpha_{1}\|m^{\ast},\neq\beta_{1}}^{4}. We obtain the proposition by the IO security.   

We complete the proof of Lemma B.25.   

B.4 Original Ciphertext Pseudorandomness of PE

We describe the original ciphertext pseudorandomness of PE defined by Cohen et al. [CHN+18] in this section for reference.

Definition B.33 (Ciphertext Pseudorandomness).

We define the following experiment 𝖤𝗑𝗉𝗍𝒜𝖼𝗉𝗋(λ)\mathsf{Expt}_{\mathcal{A}}^{\mathsf{cpr}}(\lambda) for PE.

  1. 1.

    𝒜\mathcal{A} sends a message m{0,1}𝗉m^{\ast}\in\{0,1\}^{{\ell_{\mathsf{p}}}} to the challenger.

  2. 2.

    The challenger does the following:

    • Generate (𝖾𝗄,𝖽𝗄)𝖦𝖾𝗇(1λ)(\mathsf{ek},\mathsf{dk})\leftarrow\mathsf{Gen}(1^{\lambda})

    • Compute encryption c𝖤𝗇𝖼(𝖾𝗄,m)c^{\ast}\leftarrow\mathsf{Enc}(\mathsf{ek},m^{\ast}).

    • Choose r{0,1}𝖼𝗍r^{\ast}\leftarrow\{0,1\}^{{\ell_{\mathsf{ct}}}}.

    • Generate the punctured key 𝖽𝗄{c,r}𝖯𝗎𝗇𝖼𝗍𝗎𝗋𝖾(𝖽𝗄,{c,r})\mathsf{dk}_{\notin\{c^{\ast},r^{\ast}\}}\leftarrow\mathsf{Puncture}(\mathsf{dk},\{c^{\ast},r^{\ast}\})

    • Choose 𝖼𝗈𝗂𝗇{0,1}\mathsf{coin}\leftarrow\{0,1\} and sends the following to 𝒜\mathcal{A}:

      (c,r,𝖾𝗄,𝖽𝗄{c,r})\displaystyle(c^{\ast},r^{\ast},\mathsf{ek},\mathsf{dk}_{\notin\{c^{\ast},r^{\ast}\}}) if 𝖼𝗈𝗂𝗇=0\displaystyle\text{ if }\mathsf{coin}=0 (42)
      (r,c,𝖾𝗄,𝖽𝗄{c,r})\displaystyle(r^{\ast},c^{\ast},\mathsf{ek},\mathsf{dk}_{\notin\{c^{\ast},r^{\ast}\}}) if 𝖼𝗈𝗂𝗇=1\displaystyle\text{ if }\mathsf{coin}=1 (43)
  3. 3.

    𝒜\mathcal{A} outputs 𝖼𝗈𝗂𝗇\mathsf{coin}^{\ast} and the experiment outputs 11 if 𝖼𝗈𝗂𝗇=𝖼𝗈𝗂𝗇\mathsf{coin}=\mathsf{coin}^{\ast}; otherwise 0.

We say that 𝖯𝖤\mathsf{PE} has ciphertext pseudorandomness if for every QPT adversary 𝒜\mathcal{A}, it holds that

𝖠𝖽𝗏𝒜𝖼𝗉𝗋(λ)2Pr[𝖤𝗑𝗉𝗍𝒜𝖼𝗉𝗋(λ)=1]1𝗇𝖾𝗀𝗅(λ).\mathsf{Adv}_{\mathcal{A}}^{\mathsf{cpr}}(\lambda)\coloneqq 2\cdot\Pr[\mathsf{Expt}_{\mathcal{A}}^{\mathsf{cpr}}(\lambda)=1]-1\leq{\mathsf{negl}}(\lambda).

Issue in the proof by Cohen et al.

In the watermarking PRF by Cohen et al. [CHN+18], we use x0𝖯𝖤.𝖤𝗇𝖼(𝗉𝖾.𝖾𝗄,abci)x_{0}\leftarrow\mathsf{PE}.\mathsf{Enc}(\mathsf{pe.ek},a\|b\|c\|i) to extract an embedded message. They replace x0𝖯𝖤.𝖤𝗇𝖼(𝗉𝖾.𝖾𝗄,abci)x_{0}\leftarrow\mathsf{PE}.\mathsf{Enc}(\mathsf{pe.ek},a\|b\|c\|i) with x1{0,1}𝖼𝗍x_{1}\leftarrow\{0,1\}^{{\ell_{\mathsf{ct}}}} in their proof of unremovability [CHN+18, Lemma 6.7]. Then, they use PRG security [CHN+18, Lemma 6.8] to replace 𝖯𝖱𝖦(c)\mathsf{PRG}(c) with a uniformly random string since the information about cc disappears from the PE ciphertext. However, there is a subtle issue here. The information about cc remains in the punctured decryption key 𝖽𝗄{x0,x1}𝖯𝗎𝗇𝖼𝗍𝗎𝗋𝖾(𝗉𝖾.𝖽𝗄,{x0,x1})\mathsf{dk}_{\notin\{x_{0},x_{1}\}}\leftarrow\mathsf{Puncture}(\mathsf{pe.dk},\{x_{0},x_{1}\}), which is punctured both at x0x_{0} and x1x_{1}, since they use ciphertext pseudorandomness in Definition B.33 and need to use the punctured decryption key. Thus, we cannot apply PRG security even after we apply the ciphertext pseudorandomness in Definition B.33. This is the reason why we introduce the strong ciphertext pseudorandomness in Definition 7.3.