arXiv is now an independent nonprofit! Learn more
License: CC BY 4.0
arXiv:2109.14163v1 [quant-ph] 29 Sep 2021

Certified Everlasting Zero-Knowledge Proof for QMA

Taiga Hiroka Affiliation: Yukawa Institute for Theoretical Physics, Kyoto University, Kyoto, Japan
{taiga.hiroka,tomoyuki.morimae}@yukawa.kyoto-u.ac.jp
   Tomoyuki Morimae Affiliation: Yukawa Institute for Theoretical Physics, Kyoto University, Kyoto, Japan
{taiga.hiroka,tomoyuki.morimae}@yukawa.kyoto-u.ac.jp
   Ryo Nishimaki Affiliation: NTT Corporation, Tokyo, Japan
{ryo.nishimaki.zk,takashi.yamakawa.ga}@hco.ntt.co.jp
   Takashi Yamakawa Affiliation: NTT Corporation, Tokyo, Japan
{ryo.nishimaki.zk,takashi.yamakawa.ga}@hco.ntt.co.jp
August 11, 2026
Abstract

In known constructions of classical zero-knowledge protocols for NP, either of zero-knowledge or soundness holds only against computationally bounded adversaries. Indeed, achieving both statistical zero-knowledge and statistical soundness at the same time with classical verifier is impossible for NP unless the polynomial-time hierarchy collapses, and it is also believed to be impossible even with a quantum verifier. In this work, we introduce a novel compromise, which we call the certified everlasting zero-knowledge proof for QMA. It is a computational zero-knowledge proof for QMA, but the verifier issues a classical certificate that shows that the verifier has deleted its quantum information. If the certificate is valid, even unbounded malicious verifier can no longer learn anything beyond the validity of the statement.

We construct a certified everlasting zero-knowledge proof for QMA. For the construction, we introduce a new quantum cryptographic primitive, which we call commitment with statistical binding and certified everlasting hiding, where the hiding property becomes statistical once the receiver has issued a valid certificate that shows that the receiver has deleted the committed information. We construct commitment with statistical binding and certified everlasting hiding from quantum encryption with certified deletion by Broadbent and Islam [TCC 2020] (in a black box way), and then combine it with the quantum sigma-protocol for QMA by Broadbent and Grilo [FOCS 2020] to construct the certified everlasting zero-knowledge proof for QMA. Our constructions are secure in the quantum random oracle model. Commitment with statistical binding and certified everlasting hiding itself is of independent interest, and there will be many other useful applications beyond zero-knowledge.

1 Introduction

1.1 Background

Zero-knowledge [GMR89], which roughly states that the verifier cannot learn anything beyond the validity of the statement, is one of the most important concepts in cryptography and computer science. The study of zero-knowledge has a long history in classical cryptography, and recently there have been many results in quantum cryptography. In known constructions of classical zero-knowledge protocols for NP, either of zero-knowledge or soundness holds only against computationally bounded adversaries. Indeed, achieving both statistical zero-knowledge and statistical soundness at the same time with classical verifier is impossible for NP unless the polynomial-time hierarchy collapses [For87]. It is also believed to be impossible even with a quantum verifier [MW18].

Broadbent and Islam [BI20] recently suggested an idea of the novel compromise: realizing “everlasting zero-knowledge” by using quantum encryption with certified deletion. The everlasting security defined by Unruh [Unr13] states that the protocol remains secure as long as the adversary runs in polynomial-time during the execution of the protocol. Quantum encryption with certified deletion introduced by Broadbent and Islam [BI20] is a new quantum cryptographic primitive where a classical message is encrypted into a quantum ciphertext, and the receiver in possession of a quantum ciphertext can generate a classical certificate that shows that the receiver has deleted the quantum ciphertext. If the certificate is valid, the receiver can no longer decrypt the message even if it receives the secret key. Broadbent and Islam’s idea is to use quantum commitment with a similar certified deletion security to encrypt the first message from the prover to the verifier in the standard Σ\Sigma-protocol. Once the verifier issues the deletion certificate for all commitments that are not opened by the verifier’s challenge, even an unbounded verifier can no longer access the committed values of the unopened commitments. They left the formal definition and the construction as future works.

There are many obstacles to realizing their idea. First, their quantum encryption with certified deletion cannot be directly used in a Σ\Sigma-protocol because it does not have any binding property. Their ciphertext consists of a classical and quantum part. The classical part is muH(r)m\oplus u\oplus H(r), where mm is the plaintext, uu and rr are random bit strings, and HH is a hash function. The quantum part is a random BB84 states whose computational basis states encode rr. The decryption key is uu and the place of computational basis states that encode rr, and therefore it is not binding: by changing uu, a different message can be obtained. We therefore need to extend quantum encryption with certified deletion in such a way that the statistical binding property is included.

Second, defining a meaningful notion of “everlasting zero-knowledge proof” itself is non-trivial. In fact, everlasting zero-knowledge proofs for QMA or even for NP in the sense of Unruh’s definition [Unr13] are unlikely to exist.11 1 We mention that everlasting zero-knowledge arguments, which only satisfy computational soundness, can exist. Indeed, any statistical zero-knowledge argument is everlasting zero-knowledge argument. One may think that the computational soundness is fine since that ensures everlasting soundness in the sense of Unruh’s definition [Unr13]. For practical purposes, this may be true. On the other hand, we believe that it is theoretically interesting to pursue (a kind of) everlasting zero-knowledge without compromising the soundness as is done in this paper. To see this, recall that the definition of quantum statistical zero-knowledge [Wat09, MW18] requires a simulator to simulate the view of a quantum polynomial-time malicious verifier in a statistically indistinguishable manner. Therefore, everlasting zero-knowledge in the sense of Unruh’s definition [Unr13] is actually equivalent to quantum statistical zero-knowledge. On the other hand, as already mentioned, it is believed that quantum statistical zero-knowledge proofs for NP do not exist [MW18]. In particular, Menda and Watrous [MW18] constructed an oracle relative to which quantum statistical zero-knowledge proofs for (even a subclass of) NP do not exist.

However, we notice that this argument does not go through for certified everlasting zero-knowledge, where the verifier can issue a classical certificate that shows that the verifier has deleted its information. Once a valid certificate has been issued, even unbounded malicious verifier can no longer learn anything beyond the validity of the statement. The reason is that certified everlasting zero-knowledge does not imply statistical zero-knowledge since it does not ensure any security against a malicious verifier that refuses to provide a valid certificate of deletion. Therefore, we have the following question.

Is it possible to define and construct a certified everlasting zero-knowledge proof for QMA?

1.2 Our Results

In this work, we define and construct the certified everlasting zero-knowledge proof for QMA. This goal is achieved in the following four steps.

  1. 1.

    We define a new quantum cryptographic primitive, which we call commitment with statistical binding and certified everlasting hiding. In this new commitment scheme, binding is statistical but hiding is computational. However, the hiding property becomes statistical once the receiver has issued a valid certificate that shows that the receiver has deleted the committed information.

  2. 2.

    We construct commitment with statistical binding and certified everlasting hiding. We use secret-key quantum encryption with certified deletion as the building block in a black box way . This construction is secure in the quantum random oracle model [BDF+11].

  3. 3.

    We define a new notion of zero-knowledge proof, which we call the certified everlasting zero-knowledge proof for QMA. It is a computational zero-knowledge proof for QMA with the following additional property. A verifier can issue a classical certificate that shows that the verifier has deleted its information. If the certificate is valid, even unbounded malicious verifier can no longer learn anything beyond the validity of the statement.

  4. 4.

    We apply commitment with statistical binding and certified everlasting hiding to the quantum Σ\Sigma-protocol for QMA by Broadbent and Grilo [BG20] to construct the certified everlasting zero-knowledge proof for QMA.

We have three remarks on our results. First, although our main results are the definition and the construction of the certified everlasting zero-knowledge proof for QMA, our commitment with statistical binding and certified everlasting hiding itself is also of independent interest. There will be many other useful applications beyond zero-knowledge. In fact, it is known that binding and hiding cannot be made statistical at the same time even in the quantum world [LC97, May97], and therefore our new commitment scheme provides a nice compromise.

Second, our new commitment scheme and the new zero-knowledge proof are the first cryptographic applications of symmetric-key quantum encryption with certified deletion. Although certified deletion is conceptually very interesting, there was no concrete construction of cryptographic applications when it was first introduced [BI20]. One reason why the applications are limited is that in cryptography it is not natural to consider the case when the receiver receives the private key later. Hiroka et al. [HMNY21] recently extended the symmetric-key scheme by Broadbent and Islam [BI20] to a public-key encryption scheme, an attribute-based encryption scheme, and a publicly verifiable scheme, which have opened many applications. However, one disadvantage is that their security is the computational one unlike the symmetric-key scheme [BI20]. Therefore it was open whether there is any cryptographic application of the information-theoretically secure certified deletion scheme. Our results provide the first cryptographic applications of it. Interestingly, the setup of the symmetric-key scheme [BI20], where the receiver does not have the private key in advance, nicely fits into the framework of the Σ\Sigma-protocol, because the verifier (receiver) in the Σ\Sigma-protocol does not have the decryption key of the first encrypted message from the prover (sender).

Finally, note that certified everlasting zero-knowledge and certified everlasting hiding seem to be impossible in the classical world, because a malicious adversary can copy its information. In particular, certified everlasting zero-knowledge against classical verifiers clearly implies honest-verifier statistical zero-knowledge since an honest verifier runs in polynomial-time.22 2 A similar argument does not work for quantum verifiers since the honest-verifier quantum statistical zero-knowledge [Wat02] requires a simulator to simulate honest verifier’s internal state at any point of the protocol execution. This is not implied by certified everlasting zero-knowledge, which only requires security after generating a valid deletion certificate. Moreover, it is known that HVSZK=SZK\textbf{{HVSZK}}=\textbf{{SZK}} where HVSZK and SZK are languages that have honest-verifier statistical zero-knowledge proofs and (general) statistical zero-knowledge proofs, respectively [GSV98]. Therefore, if certified everlasting zero-knowledge proofs for NP with classical verification exist, we obtain NPHVSZK=SZK\textbf{{NP}}\subseteq\textbf{{HVSZK}}=\textbf{{SZK}}, which means the collapse of the polynomial-time hierarchy [For87]. Though the above argument only works for protocols in the standard model, no construction of honest-verifier statistical zero-knowledge proofs for NP is known in the random oracle model either. Our results therefore add novel items to the list of quantum cryptographic primitives that can be achieved only in the quantum world.

1.3 Technical Overview

Certified everlasting zero-knowledge.

As explained in Section 1.1, everlasting zero-knowledge proofs for NP (and for QMA) seem impossible even with quantum verifiers. Therefore, we introduce a relaxed notion of zero-knowledge which we call certified everlasting zero-knowledge inspired by quantum encryption with certified deletion introduced by Broadbent and Islam [BI20]. Certified everlasting zero-knowledge ensures security against malicious verifiers that run in polynomial-time during the protocol and provide a valid certificate that sensitive information is “deleted”. (For the formal definition, see Section 4.1.) The difference from everlasting zero-knowledge is that it does not ensure security against malicious verifiers that do not provide a valid certificate. We believe that this is still a meaningful security notion since if the verifier refuses to provide a valid certificate, the prover may penalize the verifier for cheating.

Quantum commitment with certified everlasting hiding.

Our construction of certified everlasting zero-knowledge proofs is based on the idea sketched by Broadbent and Islam [BI20]. (For the details of the construction, see Section 4.2.) The idea is to implement a Σ\Sigma-protocol using a commitment scheme with certified deletion. However, they did not give a construction or definition of commitment with certified deletion. First, we remark that the encryption with certified deletion in [BI20] cannot be directly used as a commitment. A natural way to use their scheme as a commitment scheme is to consider a ciphertext as a commitment. However, since different secret keys decrypt the same ciphertext into different messages, this does not satisfy the binding property as commitment.

A natural (failed) attempt to fix this problem is to add a classical commitment to the secret key of the encryption scheme with certified deletion making use of the fact that the secret key of the encryption with certified deletion in [BI20] is classical. That is, a commitment to a message mm consists of

(𝖢𝖳=𝖤𝗇𝖼(𝗌𝗄,m),𝖼𝗈𝗆=𝖢𝗈𝗆𝗆𝗂𝗍(𝗌𝗄))(\mathsf{CT}=\mathsf{Enc}(\mathsf{sk},m),\mathsf{com}=\mathsf{Commit}(\mathsf{sk}))

where 𝖤𝗇𝖼\mathsf{Enc} is the encryption algorithm of the scheme in [BI20], 𝗌𝗄\mathsf{sk} is its secret key, and 𝖢𝗈𝗆𝗆𝗂𝗍\mathsf{Commit} is a statistically binding and computationally hiding classical commitment scheme. This resolves the issue of binding since the secret key is now committed by the classical commitment scheme. On the other hand, we cannot prove a hiding property that is sufficiently strong for achieving certified everlasting zero-knowledge. It is not difficult to see that what we need here is certified everlasting hiding, which ensures that once a receiver generates a valid certificate that it deleted the commitment in a polynomial-time, the hiding property is ensured even if the receiver runs in unbounded-time afterwards. Unfortunately, we observe that the above generic construction seems insufficient for achieving certified everlasting hiding.33 3 One may think that we can just use statistically hiding commitment. However, such a commitment can only satisfy computational binding, which is not sufficient for achieving certified everlasting zero-knowledge proofs rather than arguments. The reason is as follows: We want to reduce the certified everlasting hiding to the certified deletion security of 𝖤𝗇𝖼\mathsf{Enc}. However, the security of 𝖤𝗇𝖼\mathsf{Enc} can be invoked only if 𝗌𝗄\mathsf{sk} is information theoretically hidden before the deletion. On the other hand, 𝗌𝗄\mathsf{sk} is committed by a statistically binding commitment in the above construction, and thus 𝗌𝗄\mathsf{sk} is information theoretically determined from the commitment. Therefore, we have to somehow delete the information of 𝗌𝗄\mathsf{sk} from the commitment in some hybrid game in a security proof. A similar issue was dealt with by Hiroka et al. [HMNY21] by using receiver non-committing encryption in the context of public key encryption with certified deletion. However, their technique inherently relies on the assumption that an adversary runs in polynomial-time even after the deletion. Therefore, their technique is not applicable in the context of certified everlasting hiding.

To overcome the above issue, we rely on random oracles. We modify the above construction as follows:

(𝖢𝖳=𝖤𝗇𝖼(𝗌𝗄,m),𝖼𝗈𝗆=𝖢𝗈𝗆𝗆𝗂𝗍(R),H(R)𝗌𝗄)(\mathsf{CT}=\mathsf{Enc}(\mathsf{sk},m),\mathsf{com}=\mathsf{Commit}(R),H(R)\oplus\mathsf{sk})

where RR is a sufficiently long random string and HH is a hash function modeled as a random oracle whose output length is the same as that of 𝗌𝗄\mathsf{sk}. We give an intuition on why the above issue is resolved with this modification. As explained in the previous paragraph, we want to delete the information of 𝗌𝗄\mathsf{sk} from the commitment in some hybrid game. By the computational hiding of commitment, a polynomial-time receiver cannot find RR from 𝖢𝗈𝗆𝗆𝗂𝗍(R)\mathsf{Commit}(R). Therefore, it cannot get any information on H(R)H(R) since otherwise we can “extract” RR from one of receiver’s queries. This argument can be made rigorous by using the one-way to hiding lemma [Unr15, AHU19]. Importantly, we only have to assume that the receiver runs in polynomial-time before the deletion and do not need to assume anything about the running time after the deletion because we extract RR from one of the queries before the deletion. Since 𝗌𝗄\mathsf{sk} is masked by H(R)H(R), the receiver cannot get any information on 𝗌𝗄\mathsf{sk} either. Thus, we can simulate the whole commitment (𝖢𝖳,𝖼𝗈𝗆,H(R)𝗌𝗄)(\mathsf{CT},\mathsf{com},H(R)\oplus\mathsf{sk}) without using 𝗌𝗄\mathsf{sk}, which resolves the issue and enables us to reduce certified everlasting hiding to certified deletion security of 𝖤𝗇𝖼\mathsf{Enc}.

We remark that quantum commitments in general cannot satisfy the binding property in the classical sense. Indeed, if a malicious sender generates a superposition of valid commitments on different messages m0m_{0} and m1m_{1}, it can later open to m0m_{0} or m1m_{1} with probability 1/21/2 for each. Defining a binding property for quantum commitments is non-trivial, and there have been proposed various flavors of definitions in the literature, e.g., [CDMS04, DFS04, DFR+07, Yan20, BB21]. It might be possible to adopt some of those definitions. However, we choose to introduce a new definition, which we call classical-extractor-based binding, tailored to our construction because this is more convenient for our purpose. Classical-extractor-based binding captures the property of our construction that the randomness RR is information-theoretically determined by the classical part 𝖼𝗈𝗆=𝖢𝗈𝗆𝗆𝗂𝗍(R)\mathsf{com}=\mathsf{Commit}(R) of a commitment, and the decommitment can be done by using the rest part of the commitment and RR.44 4 For this definition to make sense, we need to require that 𝖼𝗈𝗆=𝖢𝗈𝗆𝗆𝗂𝗍(R)\mathsf{com}=\mathsf{Commit}(R) is classical. This can be ensured if the honest receiver measures it as soon as receiving it even if only quantum communication channel is available. In particular, this roughly means that one can extract the committed message with an unbounded-time extractor before the sender decommits.This enables us to prove soundness for our certified everlasting zero-knowledge proofs in essentially the same manner as in the classical case.

The details of the construction and security proofs are explained in Section 3.2.

Certified everlasting zero-knowledge proof for QMA.

Once we obtain a commitment scheme with certified everlasting hiding, the construction of certified everlasting zero-knowledge proofs is straightforward based on the idea sketched in [BI20]. Though they only considered a construction for NP, we observe that the idea can be naturally extended to a construction for QMA since a “quantum version” of Σ\Sigma-protocol for QMA called Ξ\Xi-protocol is constructed by Broadbent and Grilo [BG20]. Below, we sketch the construction for clarity. Let A=(A𝗒𝖾𝗌,A𝗇𝗈)A=(A_{\mathsf{yes}},A_{\mathsf{no}}) be a promise problem in QMA. [BG20] showed that for any 𝗑A𝗒𝖾𝗌\mathsf{x}\in A_{\mathsf{yes}} and any corresponding witness 𝗐\mathsf{w}, it is possible to generate (in a quantum polynomial-time) so-called the local simulatable history state ρ𝗁𝗂𝗌𝗍\rho_{\mathsf{hist}} from 𝗐\mathsf{w}, which satisfies the following two special properties (for details, see Definition 2.4):

  1. (LS1)

    The verification can be done by measuring randomly chosen five qubits of ρ𝗁𝗂𝗌𝗍\rho_{\mathsf{hist}}.

  2. (LS2)

    The classical description of any five-qubit reduced density matrix of ρ𝗁𝗂𝗌𝗍\rho_{\mathsf{hist}} can be obtained in classical polynomial-time.

With these properties, the quantum Σ\Sigma-protocol of [BG20] is constructed as follows:

  1. 1. Commitment phase:

    The prover randomly chooses x,z{0,1}nx,z\in\{0,1\}^{n}, and sends (XxZzρ𝗁𝗂𝗌𝗍ZzXx)𝖼𝗈𝗆(x,z)(X^{x}Z^{z}\rho_{\mathsf{hist}}Z^{z}X^{x})\otimes\mathsf{com}(x,z) to the verifier, where XxZzi=1nXixiZiziX^{x}Z^{z}\coloneqq\prod_{i=1}^{n}X_{i}^{x_{i}}Z_{i}^{z_{i}}, nn is the number of qubits of ρ𝗁𝗂𝗌𝗍\rho_{\mathsf{hist}}, and 𝖼𝗈𝗆(x,z)\mathsf{com}(x,z) is a classical commitment of (x,z)(x,z).

  2. 2. Challenge phase:

    The verifier randomly chooses a subset S[n]S\subset[n] of size |S|=5|S|=5, and sends it to the prover.

  3. 3. Response phase:

    The prover opens the commitment for {xi,zi}iS\{x_{i},z_{i}\}_{i\in S}.

  4. 4. Verification phase:

    The verifier applies iSXixiZizi\prod_{i\in S}X_{i}^{x_{i}}Z_{i}^{z_{i}} on the state and measures qubits in SS.

The correctness and the soundness come from the property (LS1), and the zero-knowledge comes from the property (LS2). If the classical commitment scheme used in the above construction is the one with statistical binding and computational hiding, the quantum Σ\Sigma-protocol is a computational zero-knowledge proof for QMA, because the unbounded malicious verifier can open the commitment of {xi,zi}i[n]S\{x_{i},z_{i}\}_{i\in[n]\setminus S}, and therefore can obtain the entire ρ𝗁𝗂𝗌𝗍\rho_{\mathsf{hist}}. If more than five qubits of ρ𝗁𝗂𝗌𝗍\rho_{\mathsf{hist}} are available to the malicious verifier, the zero-knowledge property no longer holds.

We construct the certified everlasting zero-knowledge proof for QMA based on the quantum Σ\Sigma-protocol. Our idea is to use commitment with certified everlasting hiding and statistical binding for the commitment of (x,z)(x,z) in the above construction of the quantum Σ\Sigma-protocol. If the verifier issues a valid deletion certificate for the commitment of {xi,zi}i[n]S\{x_{i},z_{i}\}_{i\in[n]\setminus S}, even unbounded malicious verifier can no longer learn {xi,zi}i[n]S\{x_{i},z_{i}\}_{i\in[n]\setminus S}, and therefore what it can access is only the five qubits of ρ𝗁𝗂𝗌𝗍\rho_{\mathsf{hist}}. This gives a proof for certified everlasting zero-knowledge. Using classical-extractor-based binding, the proof of statistical soundness can be done almost in the same way as in [BG20]. Recall that classical-extractor-based binding enables us to extract the committed message with an unbounded-time extractor before the sender decommits. Therefore, we can extract the committed (x,z)(x,z) from 𝖼𝗈𝗆(x,z)\mathsf{com}(x,z). Since the extraction is done before the challenge phase, the extracted values do not depend on the challenge SS. Then, it is easy to reduce the soundness of the scheme to that of the the original QMA promise problem AA. The details of the construction is explained in Section 4.2.

1.4 Related Works

Zero-knowledge for QMA.

Zero-knowledge for QMA was first constructed by Broadbent, Ji, Song, and Watrous [BJSW16]. Broadbent and Grilo [BG20] gave an elegant and simpler construction what they call the Ξ\Xi-protocol (which is considered as a quantum version of the standard Σ\Sigma-protocol) by using the local simulatability [GSY19]. Our construction is based on the Ξ\Xi-protocol. Bitansky and Shmueli [BS20] gave the first constant round zero-knowledge argument for QMA with negligible soundness error. Brakerski and Yuen [BY20] gave a construction of 33-round delayed-input zero-knowledge proof for QMA where the prover needs to know the statement and witness only for generating its last message. Chardouvelis and Malavolta [CM21] constructed 4-round statistical zero-knowledge arguments for QMA and 2-round zero-knowledge for QMA in the timing model.

Regarding non-interactive zero-knowledge proofs or arguments (NIZK), Kobayashi [Kob03] first studied (statistically sound and zero-knowledge) NIZKs in a model where the prover and verifier share Bell pairs, and gave a complete problem in this setting. It is unlikely that the complete problem contains (even a subclass of) NP [MW18], and thus even a NIZK for all NP languages is unlikely to exist in this model. Chailloux et al. [CCKV08] showed that there exists a (statistically sound and zero-knowledge) NIZK for all languages in QSZK in the help model where a trusted party generates a pure state depending on the statement to be proven and gives copies of the state to both prover and verifier. Recently, there are many constructions of NIZK proofs or arguments for QMA in various kind of setup models and assumptions [ACGH20, CVZ20, BG20, Shm21, BCKM21, MY21, BM21].

Quantum commitment.

It is well-known that statistically binding and hiding commitments are impossible even with quantum communication [LC97, May97]. On the other hand, there are a large body of literature on constructing quantum commitments assuming some computational assumptions, e.g., see the references in the introduction of [Yan20]. Among them, several works showed the possibility of using quantum commitments in constructions of zero-knowledge proofs and arguments [YWLQ15, FUW+20, Yan20, BB21]. However, they only consider replacing classical commitments with quantum commitments in classical constructions while keeping the same functionality and security level as the classical construction. In particular, none of them considers protocols for QMA or properties that are classically impossible to achieve like our notion of the certified everlasting zero-knowledge.

2 Preliminaries

2.1 Notations

Here we introduce basic notations we will use. In this paper, xXx\leftarrow X denotes selecting an element from a finite set XX uniformly at random, and yA(x)y\leftarrow A(x) denotes assigning to yy the output of a probabilistic or deterministic algorithm AA on an input xx. When we explicitly show that AA uses randomness rr, we write yA(x,r)y\leftarrow A(x;r). When DD is a distribution, xDx\leftarrow D denotes sampling an element from DD. Let [n][n] be the set {1,,n}\{1,\dots,n\}. Let λ\lambda be a security parameter, and yzy\coloneqq z denotes that yy is set, defined, or substituted by zz. For a bit string s{0,1}ns\in\{0,1\}^{n}, sis_{i} denotes the ii-th bit of ss. QPT stands for quantum polynomial time. PPT stands for (classical) probabilistic polynomial time. For a subset SWS\subseteq W of a set WW, S¯\overline{S} is the complement of SS, i.e., S¯WS\overline{S}\coloneqq W\setminus S. A function f:f:\mathbb{N}\rightarrow\mathbb{R} is a negligible function if for any constant cc, there exists λ0\lambda_{0}\in\mathbb{N} such that for any λ>λ0\lambda>\lambda_{0}, f(λ)<λcf(\lambda)<\lambda^{-c}. We write f(λ)𝗇𝖾𝗀𝗅(λ)f(\lambda)\leq{\mathsf{negl}}(\lambda) to denote f(λ)f(\lambda) being a negligible function.

2.2 Quantum Computation

We assume the familiarity with basics of quantum computation, and use standard notations. Let us denote 𝒬\mathcal{Q} be the state space of a single qubit. II is the two-dimensional identity operator. For simplicity, we often write InI^{\otimes n} as II for any nn when the dimension of the identity operator is clear from the context. For any single-qubit operator OO, OiO_{i} means an operator that applies OO on the ii-th qubit and applies II on all other qubits. XX and ZZ are the Pauli XX and ZZ operators, respectively. For any nn-bit strings x(x1,x2,,xn){0,1}nx\coloneqq(x_{1},x_{2},\cdots,x_{n})\in\{0,1\}^{n} and z(z1,z2,,zn){0,1}nz\coloneqq(z_{1},z_{2},\cdots,z_{n})\in\{0,1\}^{n}, Xxi[n]XixiX^{x}\coloneqq\prod_{i\in[n]}X_{i}^{x_{i}} and Zzi[n]ZiziZ^{z}\coloneqq\prod_{i\in[n]}Z_{i}^{z_{i}}. For any subset SS, TrS\Tr_{S} means the trace over all qubits in SS. For any quantum state ρ\rho and a bit string s{0,1}ns\in\{0,1\}^{n}, ρs\rho\otimes s means ρ|ss|\rho\otimes|s\rangle\langle s|. The trace distance between two states ρ\rho and σ\sigma is given by 12ρσtr\frac{1}{2}\norm{\rho-\sigma}_{\tr}, where AtrTrAA\norm{A}_{\tr}\coloneqq\Tr\sqrt{{\it A}^{\dagger}{\it A}} is the trace norm. If 12ρσtrϵ\frac{1}{2}\norm{\rho-\sigma}_{\tr}\leq\epsilon, we say that ρ\rho and σ\sigma are ϵ\epsilon-close. If ϵ=𝗇𝖾𝗀𝗅(λ)\epsilon={\mathsf{negl}}(\lambda), then we say that ρ\rho and σ\sigma are statistically indistinguishable.

Let C0C_{0} and C1C_{1} be quantum channels from pp qubits to qq qubits, where pp and qq are polynomials. We say that they are computationally indistinguishable, and denote it by C0cC1C_{0}\approx_{c}C_{1} if there exists a negligible function 𝗇𝖾𝗀𝗅{\mathsf{negl}} such that |Pr[D((C0I)(σ))=1]Pr[D((C1I)(σ))=1]|𝗇𝖾𝗀𝗅(λ)|\Pr[D((C_{0}\otimes I)(\sigma))=1]-\Pr[D((C_{1}\otimes I)(\sigma))=1]|\leq{\mathsf{negl}}(\lambda) for any polynomial kk, any (p+k)(p+k)-qubit state σ\sigma, and any polynomial-size quantum circuit DD acting on q+kq+k qubits. We say that C0C_{0} and C1C_{1} are statistically indistinguishable, and denote it by C0sC1C_{0}\approx_{s}C_{1}, if DD is an unbounded algorithm.

Lemma 2.1 (Quantum Rewinding Lemma [Wat09]).

Let QQ be a quantum circuit that acts on an nn-qubit state |ψ|\psi\rangle and an mm-qubit auxiliary state |0m|0^{m}\rangle. Let p(ψ)(0|I)Q(|ψ|0m)2p(\psi)\coloneqq||(\langle 0|\otimes I)Q(|\psi\rangle\otimes|0^{m}\rangle)||^{2} and |ϕ(ψ)1p(ψ)(0|I)Q(|ψ|0m).|\phi(\psi)\rangle\coloneqq\frac{1}{\sqrt{p(\psi)}}(\langle 0|\otimes I)Q(|\psi\rangle\otimes|0^{m}\rangle). Let p0,q(0,1)p_{0},q\in(0,1) and ϵ(0,12)\epsilon\in(0,\frac{1}{2}) such that |p(ψ)q|<ϵ|p(\psi)-q|<\epsilon, p0(1p0)<q(1q)p_{0}(1-p_{0})<q(1-q), and p0<p(ψ)p_{0}<p(\psi). Then there is a quantum circuit RR of size at most O(log(1ϵ)size(Q)p0(1p0))O\left(\frac{\log(\frac{1}{\epsilon}){\rm size}(Q)}{p_{0}(1-p_{0})}\right) such that on input |ψ|\psi\rangle, RR computes a quantum state ρ(ψ)\rho(\psi) that satisfies ϕ(ψ)|ρ(ψ)|ϕ(ψ)116ϵlog2(1ϵ)p02(1p0)2.\langle\phi(\psi)|\rho(\psi)|\phi(\psi)\rangle\geq 1-16\epsilon\frac{\log^{2}(\frac{1}{\epsilon})}{p_{0}^{2}(1-p_{0})^{2}}.

Lemma 2.2 (One-Way to Hiding Lemma [AHU19]).

Let S𝒳S\subseteq\mathcal{X} be a random subset of 𝒳\mathcal{X}. Let G,H:𝒳𝒴G,H:\mathcal{X}\rightarrow\mathcal{Y} be random functions satisfying xS\forall x\notin S [G(x)=H(x)][G(x)=H(x)]. Let zz be a random classical bit string. (S,G,H,zS,G,H,z may have an arbitrary joint distribution.) Let 𝒜\mathcal{A} be an oracle-aided quantum algorithm that makes at most qq quantum queries. Let \mathcal{B} be an algorithm that on input zz chooses i[q]i\leftarrow[q], runs 𝒜H(z)\mathcal{A}^{H}(z), measures 𝒜\mathcal{A}’s ii-th query, and outputs the measurement outcome. Then we have |Pr[𝒜G(z)=1]Pr[𝒜H(z)=1]|2qPr[H(z)S].\absolutevalue{\Pr[\cA^G(z)=1]-\Pr[\cA^H(z)=1]}\leq 2q\sqrt{\Pr[\mathcal{B}^{H}(z)\in S]}.

2.3 QMA and kk-SimQMA

Definition 2.3 (QMA).

We say that a promise problem A=(A𝗒𝖾𝗌,A𝗇𝗈)A=(A_{\mathsf{yes}},A_{\mathsf{no}}) is in QMA if there exist a polynomial pp, a QPT algorithm VV, and 0β<α10\leq\beta<\alpha\leq 1 with αβ1poly(|𝗑|)\alpha-\beta\geq\frac{1}{{\mathrm{poly}}(|\mathsf{x}|)} such that

Completeness:

For any 𝗑A𝗒𝖾𝗌\mathsf{x}\in A_{\mathsf{yes}}, there exists a quantum state 𝗐\mathsf{w} of p(|𝗑|)p(|\mathsf{x}|)-qubit (called a witness) such that

Pr[V(𝗑,𝗐)=]α.\displaystyle\Pr[V(\mathsf{x},\mathsf{w})=\top]\geq\alpha. (2)
Soundness:

For any 𝗑A𝗇𝗈\mathsf{x}\in A_{\mathsf{no}} and any quantum state 𝗐\mathsf{w} of p(|𝗑|)p(|\mathsf{x}|)-qubit,

Pr[V(𝗑,𝗐)=]β.\displaystyle\Pr[V(\mathsf{x},\mathsf{w})=\top]\leq\beta. (3)

For any 𝗑A𝗒𝖾𝗌\mathsf{x}\in A_{\mathsf{yes}}, RA(𝗑)R_{A}(\mathsf{x}) is the (possibly infinite) set of all quantum states 𝗐\mathsf{w} such that Pr[V(𝗑,𝗐)=]23\Pr[V(\mathsf{x},\mathsf{w})=\top]\geq\frac{2}{3}.

A complexity class of kk-SimQMA is introduced, and proven to be equal to QMA in [BG20].

Definition 2.4 (kk-SimQMA [BG20]).

A promise problem A=(A𝗒𝖾𝗌,A𝗇𝗈)A=(A_{\mathsf{yes}},A_{\mathsf{no}}) is in kk-SimQMA with soundness β(|𝗑|)11poly(|𝗑|)\beta(|\mathsf{x}|)\leq 1-\frac{1}{{\mathrm{poly}}(|\mathsf{x}|)}, if there exist polynomials mm and nn such that given 𝗑A𝗒𝖾𝗌\mathsf{x}\in A_{\mathsf{yes}}, there is an efficient deterministic algorithm that computes m(|𝗑|)m(|\mathsf{x}|) kk-qubit POVMs {Π1,IΠ1},,{Πm(|𝗑|),IΠm(|𝗑|)}\{\Pi_{1},I-\Pi_{1}\},\dots,\{\Pi_{m(|\mathsf{x}|)},I-\Pi_{m(|\mathsf{x}|)}\} such that:

Simulatable completeness:

If 𝗑A𝗒𝖾𝗌\mathsf{x}\in A_{\mathsf{yes}}, there exists an n(|𝗑|)n(|\mathsf{x}|)-qubit state ρ𝗁𝗂𝗌𝗍\rho_{\mathsf{hist}}, which we call a simulatable witness, such that for all c[m]c\in[m], Tr(Πcρ𝗁𝗂𝗌𝗍)1𝗇𝖾𝗀𝗅(|𝗑|)\mathrm{Tr}(\Pi_{c}\rho_{\mathsf{hist}})\geq 1-{\mathsf{negl}}(|\mathsf{x}|), and there exists a set of kk-qubit density matrices {ρ𝗌𝗂𝗆𝗑,S}S[n(|𝗑|)],|S|=k\{\rho_{\mathsf{sim}}^{\mathsf{x},S}\}_{S\subseteq[n(|\mathsf{x}|)],|S|=k} that can be computed in polynomial time from 𝗑\mathsf{x} and ρ𝗁𝗂𝗌𝗍\rho_{\mathsf{hist}} such that TrS¯(ρ𝗁𝗂𝗌𝗍)ρ𝗌𝗂𝗆𝗑,Str𝗇𝖾𝗀𝗅(|𝗑|).||\Tr_{\overline{S}}(\rho_{\mathsf{hist}})-\rho_{\mathsf{sim}}^{\mathsf{x},S}||_{\rm tr}\leq{\mathsf{negl}}(|\mathsf{x}|).

Soundness:

If 𝗑A𝗇𝗈\mathsf{x}\in A_{\mathsf{no}}, for any n(|𝗑|)n(|\mathsf{x}|)-qubit state ρ\rho, 1mc[m]Tr(Πcρ)β(|𝗑|).\frac{1}{m}\sum_{c\in[m]}\Tr(\Pi_{c}\rho)\leq\beta(|\mathsf{x}|).

2.4 Cryptographic Tools

In this section, we review cryptographic tools used in this paper.

Non-interactive commitment.

Definition 2.5 (Non-Interactive Commitment (Syntax)).

Let λ\lambda be the security parameter and let pp, qq and rr be some polynomials. A (classical) non-interactive commitment scheme consists of a single PPT algorithm 𝖢𝗈𝗆𝗆𝗂𝗍\mathsf{Commit} with plaintext space {0,1}p(λ)\mathcal{M}\coloneqq\{0,1\}^{p(\lambda)}, randomness space {0,1}q(λ)\{0,1\}^{q(\lambda)} and commitment space 𝒞{0,1}r(λ)\mathcal{C}\coloneqq\{0,1\}^{r(\lambda)} satisfying two properties:

Perfect binding:

For every (r0,r1){0,1}q(λ)×{0,1}q(λ)(r_{0},r_{1})\in\{0,1\}^{q(\lambda)}\times\{0,1\}^{q(\lambda)} and (m,m)2(m,m^{\prime})\in\mathcal{M}^{2} such that mmm\neq m^{\prime}, we have that 𝖢𝗈𝗆𝗆𝗂𝗍(m,r0)𝖢𝗈𝗆𝗆𝗂𝗍(m,r1)\mathsf{Commit}(m;r_{0})\neq\mathsf{Commit}(m^{\prime};r_{1}), where (𝖢𝗈𝗆𝗆𝗂𝗍(m,r0),𝖢𝗈𝗆𝗆𝗂𝗍(m,r1))𝒞2(\mathsf{Commit}(m;r_{0}),\mathsf{Commit}(m^{\prime};r_{1}))\in\mathcal{C}^{2}.

Unpredictability:

Let Σ𝖢𝗈𝗆𝗆𝗂𝗍\Sigma\coloneqq\mathsf{Commit}. For any QPT adversary 𝒜\mathcal{A}, we define the following security experiment 𝖤𝗑𝗉Σ,𝒜𝗎𝗇𝗉𝗋𝖾(λ)\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{unpre}}(\lambda).

  1. 1.

    The challenger chooses RR\leftarrow\mathcal{M} and R{0,1}q(λ)R^{\prime}\leftarrow\{0,1\}^{q(\lambda)}, computes 𝖼𝗈𝗆𝖢𝗈𝗆𝗆𝗂𝗍(R,R)\mathsf{com}\leftarrow\mathsf{Commit}(R;R^{\prime}), and sends 𝖼𝗈𝗆\mathsf{com} to 𝒜\mathcal{A}.

  2. 2.

    𝒜\mathcal{A} outputs RR^{*}. The output of the experiment is 11 if R=RR^{*}=R. Otherwise, the output of the experiment is 00.

We say that the commitment is unpredictable if for any QPT adversary 𝒜\mathcal{A}, it holds that

𝖠𝖽𝗏Σ,𝒜𝗎𝗇𝗉𝗋𝖾(λ)|Pr[𝖤𝗑𝗉Σ,𝒜𝗎𝗇𝗉𝗋𝖾(λ)=1]|𝗇𝖾𝗀𝗅(λ).\displaystyle\mathsf{Adv}_{\Sigma,\mathcal{A}}^{\mathsf{unpre}}(\lambda)\coloneqq\absolutevalue{\Pr[ \mathsf{Exp}_{\Sigma,\cA}^{\mathsf{unpre}}(\secp)=1] }\leq{\mathsf{negl}}(\lambda). (4)
Remark 2.6.

The unpredictability is a weaker version of computational hiding. We define unpredictability instead of computational hiding since this suffices for our purpose.

A non-interactive commitment scheme that satisfies the above definition exists assuming the existence of injective one-way functions or perfectly correct public key encryption [LS19]. Alternatively, we can also instantiate it based on random oracles.

Quantum encryption with certified deletion.

Broadbent and Islam [BI20] introduced the notion of quantum encryption with certified deletion.

Definition 2.7 (One-Time SKE with Certified Deletion (Syntax)).

Let λ\lambda be the security parameter and let pp, qq and rr be some polynomials. A one-time secret key encryption scheme with certified deletion consists of a tuple of algorithms (𝖪𝖾𝗒𝖦𝖾𝗇,𝖤𝗇𝖼,𝖣𝖾𝖼,𝖣𝖾𝗅,𝖵𝖾𝗋𝗂𝖿𝗒)(\mathsf{KeyGen},\mathsf{Enc},\mathsf{Dec},\mathsf{Del},\mathsf{Verify}) with plaintext space :={0,1}n\mathcal{M}:=\{0,1\}^{n}, ciphertext space 𝒞:=𝒬p(λ)\mathcal{C}:=\mathcal{Q}^{\otimes p(\lambda)}, key space 𝒦:={0,1}q(λ)\mathcal{K}:=\{0,1\}^{q(\lambda)} and deletion certificate space 𝒟:={0,1}r(λ)\mathcal{D}:=\{0,1\}^{r(\lambda)}.

𝖪𝖾𝗒𝖦𝖾𝗇(1λ)𝗌𝗄\mathsf{KeyGen}(1^{\lambda})\rightarrow\mathsf{sk}:

The key generation algorithm takes as input the security parameter 1λ1^{\lambda}, and outputs a secret key 𝗌𝗄𝒦\mathsf{sk}\in\mathcal{K}.

𝖤𝗇𝖼(𝗌𝗄,m)𝖢𝖳\mathsf{Enc}(\mathsf{sk},m)\rightarrow\mathsf{CT}:

The encryption algorithm takes as input 𝗌𝗄\mathsf{sk} and a plaintext mm\in\mathcal{M}, and outputs a ciphertext 𝖢𝖳𝒞\mathsf{CT}\in\mathcal{C}.

𝖣𝖾𝖼(𝗌𝗄,𝖢𝖳)mor\mathsf{Dec}(\mathsf{sk},\mathsf{CT})\rightarrow m^{\prime}~or~\bot:

The decryption algorithm takes as input 𝗌𝗄\mathsf{sk} and 𝖢𝖳\mathsf{CT}, and outputs a plaintext mm^{\prime}\in\mathcal{M} or \bot.

𝖣𝖾𝗅(𝖢𝖳)𝖼𝖾𝗋𝗍\mathsf{Del}(\mathsf{CT})\rightarrow\mathsf{cert}:

The deletion algorithm takes as input 𝖢𝖳\mathsf{CT}, and outputs a certification 𝖼𝖾𝗋𝗍𝒟\mathsf{cert}\in\mathcal{D}.

𝖵𝖾𝗋𝗂𝖿𝗒(𝗌𝗄,𝖼𝖾𝗋𝗍)or\mathsf{Verify}(\mathsf{sk},\mathsf{cert})\rightarrow\top~or~\bot:

The verification algorithm takes 𝗌𝗄\mathsf{sk} and 𝖼𝖾𝗋𝗍\mathsf{cert}, and outputs \top or \bot.

Definition 2.8 (Correctness for One-Time SKE with Certified Deletion).

There are two types of correctness. One is decryption correctness and the other is verification correctness.

Decryption correctness:

There exists a negligible function 𝗇𝖾𝗀𝗅{\mathsf{negl}} such that for any λ\lambda\in\mathbb{N} and mm\in\mathcal{M},

Pr[𝖣𝖾𝖼(𝗌𝗄,𝖢𝖳)=m|𝗌𝗄𝖪𝖾𝗒𝖦𝖾𝗇(1λ)𝖢𝖳𝖤𝗇𝖼(𝗌𝗄,m)]1𝗇𝖾𝗀𝗅(λ).\displaystyle\Pr\left[\mathsf{Dec}(\mathsf{sk},\mathsf{CT})=m\ \middle|\begin{array}[]{ll}\mathsf{sk}\leftarrow\mathsf{KeyGen}(1^{\lambda})\\ \mathsf{CT}\leftarrow\mathsf{Enc}(\mathsf{sk},m)\end{array}\right]\geq 1-{\mathsf{negl}}(\lambda).
Verification correctness:

There exists a negligible function 𝗇𝖾𝗀𝗅{\mathsf{negl}} such that for any λ\lambda\in\mathbb{N} and mm\in\mathcal{M},

Pr[𝖵𝖾𝗋𝗂𝖿𝗒(𝗌𝗄,𝖼𝖾𝗋𝗍)=|𝗌𝗄𝖪𝖾𝗒𝖦𝖾𝗇(1λ)𝖢𝖳𝖤𝗇𝖼(𝗌𝗄,m)𝖼𝖾𝗋𝗍𝖣𝖾𝗅(𝖢𝖳)]1𝗇𝖾𝗀𝗅(λ).\displaystyle\Pr\left[\mathsf{Verify}(\mathsf{sk},\mathsf{cert})=\top\ \middle|\begin{array}[]{ll}\mathsf{sk}\leftarrow\mathsf{KeyGen}(1^{\lambda})\\ \mathsf{CT}\leftarrow\mathsf{Enc}(\mathsf{sk},m)\\ \mathsf{cert}\leftarrow\mathsf{Del}(\mathsf{CT})\end{array}\right]\geq 1-{\mathsf{negl}}(\lambda).
Definition 2.9 (Certified Deletion Security for One-Time SKE).

Let Σ=(𝖪𝖾𝗒𝖦𝖾𝗇,𝖤𝗇𝖼,𝖣𝖾𝖼,𝖣𝖾𝗅,𝖵𝖾𝗋𝗂𝖿𝗒)\Sigma=(\mathsf{KeyGen},\mathsf{Enc},\mathsf{Dec},\mathsf{Del},\mathsf{Verify}) be a secret key encryption with certified deletion. We consider the following security experiment 𝖤𝗑𝗉Σ,𝒜𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ,b)\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{otsk}\mbox{-}\mathsf{cert}\mbox{-}\mathsf{del}}(\lambda,b).

  1. 1.

    The challenger computes 𝗌𝗄𝖪𝖾𝗒𝖦𝖾𝗇(1λ)\mathsf{sk}\leftarrow\mathsf{KeyGen}(1^{\lambda}).

  2. 2.

    𝒜\mathcal{A} sends (m0,m1)2(m_{0},m_{1})\in\mathcal{M}^{2} to the challenger.

  3. 3.

    The challenger computes 𝖢𝖳b𝖤𝗇𝖼(𝗌𝗄,mb)\mathsf{CT}_{b}\leftarrow\mathsf{Enc}(\mathsf{sk},m_{b}) and sends 𝖢𝖳b\mathsf{CT}_{b} to 𝒜\mathcal{A}.

  4. 4.

    𝒜\mathcal{A} sends 𝖼𝖾𝗋𝗍\mathsf{cert} to the challenger.

  5. 5.

    The challenger computes 𝖵𝖾𝗋𝗂𝖿𝗒(𝗌𝗄,𝖼𝖾𝗋𝗍)\mathsf{Verify}(\mathsf{sk},\mathsf{cert}). If the output is \bot, the challenger sends \bot to 𝒜\mathcal{A}. If the output is \top, the challenger sends 𝗌𝗄\mathsf{sk} to 𝒜\mathcal{A}.

  6. 6.

    𝒜\mathcal{A} outputs b{0,1}b^{\prime}\in\{0,1\}.

We say that the Σ\Sigma is OT-CD secure if for any unbounded 𝒜\mathcal{A}, it holds that

𝖠𝖽𝗏Σ,𝒜𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ)|Pr[𝖤𝗑𝗉Σ,𝒜𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ,0)=1]Pr[𝖤𝗑𝗉Σ,𝒜𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ,1)=1]|𝗇𝖾𝗀𝗅(λ).\displaystyle\mathsf{Adv}_{\Sigma,\mathcal{A}}^{\mathsf{otsk}\mbox{-}\mathsf{cert}\mbox{-}\mathsf{del}}(\lambda)\coloneqq\absolutevalue{\Pr[ \expb{\Sigma,\cA}{otsk}{cert}{del}(\secp, 0)=1] - \Pr[ \expb{\Sigma,\cA}{otsk}{cert}{del}(\secp, 1)=1] }\leq{\mathsf{negl}}(\lambda). (10)

Broadbent and Islam [BI20] showed that one-time SKE scheme with certified deletion that satisfies the above correctness and security exists unconditionally.

3 Commitment with Certified Everlasting Hiding and Classical-Extractor-Based Binding

In this section, we define and construct commitment with certified everlasting hiding and statistical binding. We adopt a non-standard syntax for the verification algorithm and a slightly involved definition for the binding, which we call the classical-extractor-based binding, that are tailored to our construction. This is because they are convenient for our construction of certified everlasting zero-knowledge proof for QMA given in Section 4. We can also construct one with a more standard syntax of verification and binding property, namely, the sum-binding, by essentially the same construction. The detail is given in Appendix C.

3.1 Definition

Definition 3.1 (Commitment with Certified Everlasting Hiding and Classical-Extractor-Based Binding (Syntax)).

Let λ\lambda be the security parameter and let pp, qq, rr, ss and tt be some polynomials. Commitment with certified everlasting hiding and classical-extractor-based binding consists of a tuple of algorithms (𝖢𝗈𝗆𝗆𝗂𝗍,𝖵𝖾𝗋𝗂𝖿𝗒,𝖣𝖾𝗅,𝖢𝖾𝗋𝗍)(\mathsf{Commit},\mathsf{Verify},\mathsf{Del},\mathsf{Cert}) with message space :={0,1}n\mathcal{M}:=\{0,1\}^{n}, commitment space 𝒞:=𝒬p(λ)×{0,1}q(λ)\mathcal{C}:=\mathcal{Q}^{\otimes p(\lambda)}\times\{0,1\}^{q(\lambda)}, decommitment space 𝒟:={0,1}r(λ)\mathcal{D}:=\{0,1\}^{r(\lambda)}, key space 𝒦:={0,1}s(λ)\mathcal{K}:=\{0,1\}^{s(\lambda)} and deletion certificate space :={0,1}t(λ)\mathcal{E}:=\{0,1\}^{t(\lambda)}.

𝖢𝗈𝗆𝗆𝗂𝗍(1λ,m)(𝖼𝗈𝗆,𝖽,𝖼𝗄)\mathsf{Commit}(1^{\lambda},m)\rightarrow(\mathsf{com},\mathsf{d},\mathsf{ck}):

The commitment algorithm takes as input a security parameter 1λ1^{\lambda} and a message mm\in\mathcal{M}, and outputs a commitment 𝖼𝗈𝗆𝒞\mathsf{com}\in\mathcal{C}, a decommitment 𝖽(𝖽1,𝖽2)𝒟\mathsf{d}\coloneqq(\mathsf{d}_{1},\mathsf{d}_{2})\in\mathcal{D} and a key 𝖼𝗄𝒦\mathsf{ck}\in\mathcal{K}. Note that 𝖼𝗈𝗆\mathsf{com} consists of a quantum state ψ𝒬p(λ)\psi\in\mathcal{Q}^{\otimes p(\lambda)} and a classical bit string f{0,1}q(λ)f\in\{0,1\}^{q(\lambda)}.

𝖵𝖾𝗋𝗂𝖿𝗒(𝖼𝗈𝗆,𝖽)mor\mathsf{Verify}(\mathsf{com},\mathsf{d})\rightarrow m^{\prime}~or~\bot:

The verification algorithm consists of two algorithms, 𝖵𝖾𝗋𝗂𝖿𝗒1\mathsf{Verify}_{1} and 𝖵𝖾𝗋𝗂𝖿𝗒2\mathsf{Verify}_{2}. It parses 𝖽=(𝖽1,𝖽2)\mathsf{d}=(\mathsf{d}_{1},\mathsf{d}_{2}). 𝖵𝖾𝗋𝗂𝖿𝗒1\mathsf{Verify}_{1} takes 𝖼𝗈𝗆\mathsf{com} and (𝖽1,𝖽2)(\mathsf{d}_{1},\mathsf{d}_{2}) as input, and outputs \top or \bot. 𝖵𝖾𝗋𝗂𝖿𝗒2\mathsf{Verify}_{2} takes 𝖼𝗈𝗆\mathsf{com} and 𝖽1\mathsf{d}_{1} as input, and outputs mm^{\prime}. If the output of 𝖵𝖾𝗋𝗂𝖿𝗒1\mathsf{Verify}_{1} is \bot, then the output of 𝖵𝖾𝗋𝗂𝖿𝗒\mathsf{Verify} is \bot. Otherwise the output of 𝖵𝖾𝗋𝗂𝖿𝗒\mathsf{Verify} is mm^{\prime}.

𝖣𝖾𝗅(𝖼𝗈𝗆)𝖼𝖾𝗋𝗍\mathsf{Del}(\mathsf{com})\rightarrow\mathsf{cert}:

The deletion algorithm takes 𝖼𝗈𝗆\mathsf{com} as input, and outputs a certificate 𝖼𝖾𝗋𝗍\mathsf{cert}\in\mathcal{E}.

𝖢𝖾𝗋𝗍(𝖼𝖾𝗋𝗍,𝖼𝗄)or\mathsf{Cert}(\mathsf{cert},\mathsf{ck})\rightarrow\top~or~\bot:

The certification algorithm takes 𝖼𝖾𝗋𝗍\mathsf{cert} and 𝖼𝗄\mathsf{ck} as input, and outputs \top or \bot.

Definition 3.2 (Correctness).

There are two types of correctness, namely, decommitment correctness and deletion correctness.

Decommitment correctness:

There exists a negligible function 𝗇𝖾𝗀𝗅{\mathsf{negl}} such that for any λ\lambda\in\mathbb{N} and mm\in\mathcal{M},

Pr[m𝖵𝖾𝗋𝗂𝖿𝗒(𝖼𝗈𝗆,𝖽)(𝖼𝗈𝗆,𝖽,𝖼𝗄)𝖢𝗈𝗆𝗆𝗂𝗍(1λ,m)]1𝗇𝖾𝗀𝗅(λ).\displaystyle\Pr[m\leftarrow\mathsf{Verify}(\mathsf{com},\mathsf{d})\mid(\mathsf{com},\mathsf{d},\mathsf{ck})\leftarrow\mathsf{Commit}(1^{\lambda},m)]\geq 1-{\mathsf{negl}}(\lambda). (11)
Deletion correctness:

There exists a negligible function 𝗇𝖾𝗀𝗅{\mathsf{negl}} such that for any λ\lambda\in\mathbb{N} and mm\in\mathcal{M},

Pr[𝖢𝖾𝗋𝗍(𝖼𝖾𝗋𝗍,𝖼𝗄)(𝖼𝗈𝗆,𝖽,𝖼𝗄)𝖢𝗈𝗆𝗆𝗂𝗍(1λ,m),𝖼𝖾𝗋𝗍𝖣𝖾𝗅(𝖼𝗈𝗆)]1𝗇𝖾𝗀𝗅(λ).\displaystyle\Pr[\top\leftarrow\mathsf{Cert}(\mathsf{cert},\mathsf{ck})\mid(\mathsf{com},\mathsf{d},\mathsf{ck})\leftarrow\mathsf{Commit}(1^{\lambda},m),\mathsf{cert}\leftarrow\mathsf{Del}(\mathsf{com})]\geq 1-{\mathsf{negl}}(\lambda). (12)
Definition 3.3 (Classical-Extractor-Based Binding).

There exists an unbounded-time deterministic algorithm 𝖤𝗑𝗍\mathsf{Ext} that takes f{0,1}q(λ)f\in\{0,1\}^{q(\lambda)} of 𝖼𝗈𝗆\mathsf{com} as input, and outputs 𝖽1𝖤𝗑𝗍(f)\mathsf{d}^{*}_{1}\leftarrow\mathsf{Ext}(f) such that for any 𝖼𝗈𝗆\mathsf{com}, any 𝖽1𝖽1\mathsf{d}_{1}\neq\mathsf{d}^{*}_{1}, and any 𝖽2\mathsf{d}_{2}, Pr[𝖵𝖾𝗋𝗂𝖿𝗒(𝖼𝗈𝗆,𝖽=(𝖽1,𝖽2))=]=1.\Pr[\mathsf{Verify}(\mathsf{com},\mathsf{d}=(\mathsf{d}_{1},\mathsf{d}_{2}))=\bot]=1.

Definition 3.4 (Computational Hiding).

Let Σ(𝖢𝗈𝗆𝗆𝗂𝗍,𝖵𝖾𝗋𝗂𝖿𝗒,𝖣𝖾𝗅,𝖢𝖾𝗋𝗍)\Sigma\coloneqq(\mathsf{Commit},\mathsf{Verify},\mathsf{Del},\mathsf{Cert}). Let us consider the following security experiment 𝖤𝗑𝗉Σ,𝒜𝖼-𝗁𝗂𝖽𝖾(λ,b)\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{c}\mbox{-}\mathsf{hide}}(\lambda,b) against any QPT adversary 𝒜\mathcal{A}.

  1. 1.

    𝒜\mathcal{A} generates (m0,m1)2(m_{0},m_{1})\in\mathcal{M}^{2} and sends them to the challenger.

  2. 2.

    The challenger computes (𝖼𝗈𝗆,𝖽,𝖼𝗄)𝖢𝗈𝗆𝗆𝗂𝗍(1λ,mb)(\mathsf{com},\mathsf{d},\mathsf{ck})\leftarrow\mathsf{Commit}(1^{\lambda},m_{b}), and sends 𝖼𝗈𝗆\mathsf{com} to 𝒜\mathcal{A}.

  3. 3.

    𝒜\mathcal{A} outputs b{0,1}b^{\prime}\in\{0,1\}.

  4. 4.

    The output of the experiment is bb^{\prime}.

Computational hiding means that the following is satisfied for any QPT 𝒜\mathcal{A}.

𝖠𝖽𝗏Σ,𝒜𝖼-𝗁𝗂𝖽𝖾(λ)|Pr[𝖤𝗑𝗉Σ,𝒜𝖼-𝗁𝗂𝖽𝖾(λ,0)=1]Pr[𝖤𝗑𝗉Σ,𝒜𝖼-𝗁𝗂𝖽𝖾(λ,1)=1]|𝗇𝖾𝗀𝗅(λ).\displaystyle\mathsf{Adv}_{\Sigma,\mathcal{A}}^{\mathsf{c}\mbox{-}\mathsf{hide}}(\lambda)\coloneqq\left|\Pr[\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{c}\mbox{-}\mathsf{hide}}(\lambda,0)=1]-\Pr[\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{c}\mbox{-}\mathsf{hide}}(\lambda,1)=1]\right|\leq{\mathsf{negl}}(\lambda). (13)
Definition 3.5 (Certified Everlasting Hiding).

Let Σ(𝖢𝗈𝗆𝗆𝗂𝗍,𝖵𝖾𝗋𝗂𝖿𝗒,𝖣𝖾𝗅,𝖢𝖾𝗋𝗍)\Sigma\coloneqq(\mathsf{Commit},\mathsf{Verify},\mathsf{Del},\mathsf{Cert}). Let us consider the following security experiment 𝖤𝗑𝗉Σ,𝒜𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,b)\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,b) against 𝒜=(𝒜1,𝒜2)\mathcal{A}=(\mathcal{A}_{1},\mathcal{A}_{2}) consisting of any QPT adversary 𝒜1\mathcal{A}_{1} and any unbounded adversary 𝒜2\mathcal{A}_{2}.

  1. 1.

    𝒜1\mathcal{A}_{1} generates (m0,m1)2(m_{0},m_{1})\in\mathcal{M}^{2} and sends it to the challenger.

  2. 2.

    The challenger computes (𝖼𝗈𝗆,𝖽,𝖼𝗄)𝖢𝗈𝗆𝗆𝗂𝗍(1λ,mb)(\mathsf{com},\mathsf{d},\mathsf{ck})\leftarrow\mathsf{Commit}(1^{\lambda},m_{b}), and sends 𝖼𝗈𝗆\mathsf{com} to 𝒜1\mathcal{A}_{1}.

  3. 3.

    At some point, 𝒜1\mathcal{A}_{1} sends 𝖼𝖾𝗋𝗍\mathsf{cert} to the challenger, and sends its internal state to 𝒜2\mathcal{A}_{2}.

  4. 4.

    The challenger computes 𝖢𝖾𝗋𝗍(𝖼𝖾𝗋𝗍,𝖼𝗄)\mathsf{Cert}(\mathsf{cert},\mathsf{ck}). If the output is \top, then the challenger outputs \top, and sends (𝖽,𝖼𝗄)(\mathsf{d},\mathsf{ck}) to 𝒜2\mathcal{A}_{2}. Else, the challenger outputs \bot, and sends \bot to 𝒜2\mathcal{A}_{2}.

  5. 5.

    𝒜2\mathcal{A}_{2} outputs b{0,1}b^{\prime}\in\{0,1\}.

  6. 6.

    If the challenger outputs \top, then the output of the experiment is bb^{\prime}. Otherwise, the output of the experiment is \bot.

We say that it is certified everlasting hiding if the following is satisfied for any 𝒜=(𝒜1,𝒜2)\mathcal{A}=(\mathcal{A}_{1},\mathcal{A}_{2}).

𝖠𝖽𝗏Σ,𝒜𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ)|Pr[𝖤𝗑𝗉Σ,𝒜𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,0)=1]Pr[𝖤𝗑𝗉Σ,𝒜𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,1)=1]|𝗇𝖾𝗀𝗅(λ).\displaystyle\mathsf{Adv}_{\Sigma,\mathcal{A}}^{\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda)\coloneqq\left|\Pr[\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,0)=1]-\Pr[\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,1)=1]\right|\leq{\mathsf{negl}}(\lambda). (14)
Remark 3.6.

We remark that certified everlasting hiding does not imply computational hiding since it does not require anything if the adversary does not send a valid certificate.

The following lemma will be used in the construction of the certified everlasting zero-knowledge proof for QMA in Section 4. It is shown with the standard hybrid argument (see Appendix D). It is also easy to see that a similar lemma holds for computational hiding.

Lemma 3.7.

Let Σ(𝖢𝗈𝗆𝗆𝗂𝗍,𝖵𝖾𝗋𝗂𝖿𝗒,𝖣𝖾𝗅,𝖢𝖾𝗋𝗍)\Sigma\coloneqq(\mathsf{Commit},\mathsf{Verify},\mathsf{Del},\mathsf{Cert}) and ={0,1}\mathcal{M}=\{0,1\}. Let us consider the following security experiment 𝖤𝗑𝗉Σ,𝒜𝖻𝗂𝗍-𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,b)\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{bit}\mbox{-}\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,b) against 𝒜=(𝒜1,𝒜2)\mathcal{A}=(\mathcal{A}_{1},\mathcal{A}_{2}) consisting of any QPT adversary 𝒜1\mathcal{A}_{1} and any unbounded adversary 𝒜2\mathcal{A}_{2}.

  1. 1.

    𝒜1\mathcal{A}_{1} generates (m0,m1){0,1}n×{0,1}n(m^{0},m^{1})\in\{0,1\}^{n}\times\{0,1\}^{n} and sends it to the challenger.

  2. 2.

    The challenger computes

    (𝖼𝗈𝗆i(mib),𝖽i(mib),𝖼𝗄i(mib))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,mib)\displaystyle(\mathsf{com}_{i}(m_{i}^{b}),\mathsf{d}_{i}(m_{i}^{b}),\mathsf{ck}_{i}(m_{i}^{b}))\leftarrow\mathsf{Commit}(1^{\lambda},m^{b}_{i}) (15)

    for each i[n]i\in[n], and sends {𝖼𝗈𝗆i(mib)}i[n]\{\mathsf{com}_{i}(m_{i}^{b})\}_{i\in[n]} to 𝒜1\mathcal{A}_{1}. Here, mibm_{i}^{b} is the ii-th bit of mbm^{b}.

  3. 3.

    At some point, 𝒜1\mathcal{A}_{1} sends {𝖼𝖾𝗋𝗍i}i[n]\{\mathsf{cert}_{i}\}_{i\in[n]} to the challenger, and sends its internal state to 𝒜2\mathcal{A}_{2}.

  4. 4.

    The challenger computes 𝖢𝖾𝗋𝗍(𝖼𝖾𝗋𝗍i,𝖼𝗄i(mib))\mathsf{Cert}(\mathsf{cert}_{i},\mathsf{ck}_{i}(m_{i}^{b})) for each i[n]i\in[n]. If the output is \top for all i[n]i\in[n], then the challenger outputs \top, and sends {𝖽i(mib),𝖼𝗄i(mib)}i[n]\{\mathsf{d}_{i}(m_{i}^{b}),\mathsf{ck}_{i}(m_{i}^{b})\}_{i\in[n]} to 𝒜2\mathcal{A}_{2}. Else, the challenger outputs \bot, and sends \bot to 𝒜2\mathcal{A}_{2}.

  5. 5.

    𝒜2\mathcal{A}_{2} outputs b{0,1}b^{\prime}\in\{0,1\}.

  6. 6.

    If the challenger outputs \top, then the output of the experiment is bb^{\prime}. Otherwise, the output of the experiment is \bot.

If Σ\Sigma is certified everlasting hiding,

𝖠𝖽𝗏Σ,𝒜𝖻𝗂𝗍-𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ)|Pr[𝖤𝗑𝗉Σ,𝒜𝖻𝗂𝗍-𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,0)=1]Pr[𝖤𝗑𝗉Σ,𝒜𝖻𝗂𝗍-𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,1)=1]|𝗇𝖾𝗀𝗅(λ)\displaystyle\mathsf{Adv}_{\Sigma,\mathcal{A}}^{\mathsf{bit}\mbox{-}\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda)\coloneqq\left|\Pr[\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{bit}\mbox{-}\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,0)=1]-\Pr[\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{bit}\mbox{-}\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,1)=1]\right|\leq{\mathsf{negl}}(\lambda) (16)

for any 𝒜=(𝒜1,𝒜2)\mathcal{A}=(\mathcal{A}_{1},\mathcal{A}_{2}).

3.2 Construction

Let λ\lambda be the security parameter, and let pp, qq, rr, ss, tt and uu be some polynomials. We construct commitment with certified everlasting hiding and classical-extractor-based binding, Σ𝖼𝖼𝖽=(𝖢𝗈𝗆𝗆𝗂𝗍,𝖵𝖾𝗋𝗂𝖿𝗒,𝖣𝖾𝗅,𝖢𝖾𝗋𝗍)\Sigma_{\mathsf{ccd}}=(\mathsf{Commit},\mathsf{Verify},\mathsf{Del},\mathsf{Cert}), with message space ={0,1}n\mathcal{M}=\{0,1\}^{n}, commitment space 𝒞=𝒬p(λ)×{0,1}q(λ)×{0,1}r(λ)\mathcal{C}=\mathcal{Q}^{\otimes p(\lambda)}\times\{0,1\}^{q(\lambda)}\times\{0,1\}^{r(\lambda)}, decommitment space 𝒟={0,1}s(λ)×{0,1}t(λ)\mathcal{D}=\{0,1\}^{s(\lambda)}\times\{0,1\}^{t(\lambda)}, key space 𝒦={0,1}r(λ)\mathcal{K}=\{0,1\}^{r(\lambda)} and deletion certificate space ={0,1}u(λ)\mathcal{E}=\{0,1\}^{u(\lambda)} from the following primitives:

  • Secret-key encryption with certified deletion, Σ𝗌𝗄𝖼𝖽=𝖲𝖪𝖤.(𝖪𝖾𝗒𝖦𝖾𝗇,𝖤𝗇𝖼,𝖣𝖾𝖼,𝖣𝖾𝗅,𝖵𝖾𝗋𝗂𝖿𝗒)\Sigma_{\mathsf{skcd}}=\mathsf{SKE}.(\mathsf{KeyGen},\mathsf{Enc},\mathsf{Dec},\mathsf{Del},\mathsf{Verify}), with plaintext space ={0,1}n\mathcal{M}=\{0,1\}^{n}, ciphertext space 𝒞=𝒬p(λ)\mathcal{C}=\mathcal{Q}^{\otimes p(\lambda)}, key space 𝒦={0,1}r(λ)\mathcal{K}=\{0,1\}^{r(\lambda)}, and deletion certificate space ={0,1}u(λ)\mathcal{E}=\{0,1\}^{u(\lambda)}.

  • Classical non-interactive commitment, Σ𝖼𝗈𝗆=𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍\Sigma_{\mathsf{com}}=\mathsf{Classical}.\mathsf{Commit}, with plaintext space {0,1}s(λ)\{0,1\}^{s(\lambda)}, randomness space {0,1}t(λ)\{0,1\}^{t(\lambda)}, and commitment space {0,1}q(λ)\{0,1\}^{q(\lambda)}.

  • A hash function HH from {0,1}s(λ)\{0,1\}^{s(\lambda)} to {0,1}r(λ)\{0,1\}^{r(\lambda)} modeled as a quantumly-accessible random oracle.

The construction is as follows.

𝖢𝗈𝗆𝗆𝗂𝗍(1λ,m)\mathsf{Commit}(1^{\lambda},m):

  • Generate 𝗌𝗄𝖾.𝗌𝗄𝖲𝖪𝖤.𝖪𝖾𝗒𝖦𝖾𝗇(1λ)\mathsf{ske.sk}\leftarrow\mathsf{SKE}.\mathsf{KeyGen}(1^{\lambda}), R{0,1}s(λ)R\leftarrow\{0,1\}^{s(\lambda)}, R{0,1}t(λ)R^{\prime}\leftarrow\{0,1\}^{t(\lambda)}, and a hash function HH from {0,1}s(λ)\{0,1\}^{s(\lambda)} to {0,1}r(λ)\{0,1\}^{r(\lambda)}.

  • Compute 𝗌𝗄𝖾.𝖢𝖳𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗌𝗄,m)\mathsf{ske}.\mathsf{CT}\leftarrow\mathsf{SKE}.\mathsf{Enc}(\mathsf{ske}.\mathsf{sk},m), f𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍(R,R)f\leftarrow\mathsf{Classical}.\mathsf{Commit}(R;R^{\prime}), and hH(R)𝗌𝗄𝖾.𝗌𝗄h\coloneqq H(R)\oplus\mathsf{ske}.\mathsf{sk}.

  • Output 𝖼𝗈𝗆(𝗌𝗄𝖾.𝖢𝖳,f,h)\mathsf{com}\coloneqq(\mathsf{ske}.\mathsf{CT},f,h), 𝖽1R\mathsf{d}_{1}\coloneqq R, 𝖽2R\mathsf{d}_{2}\coloneqq R^{\prime}, and 𝖼𝗄𝗌𝗄𝖾.𝗌𝗄\mathsf{ck}\coloneqq\mathsf{ske}.\mathsf{sk}.

𝖵𝖾𝗋𝗂𝖿𝗒1(𝖼𝗈𝗆,𝖽1,𝖽2)\mathsf{Verify}_{1}(\mathsf{com},\mathsf{d}_{1},\mathsf{d}_{2}):

  • Parse 𝖼𝗈𝗆=(𝗌𝗄𝖾.𝖢𝖳,f,h)\mathsf{com}=(\mathsf{ske}.\mathsf{CT},f,h), 𝖽1=R\mathsf{d}_{1}=R, and 𝖽2=R\mathsf{d}_{2}=R^{\prime}.

  • Output \top if f=𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍(R,R)f=\mathsf{Classical}.\mathsf{Commit}(R;R^{\prime}), and output \bot otherwise.

𝖵𝖾𝗋𝗂𝖿𝗒2(𝖼𝗈𝗆,𝖽1)\mathsf{Verify}_{2}(\mathsf{com},\mathsf{d}_{1}):

  • Parse 𝖼𝗈𝗆=(𝗌𝗄𝖾.𝖢𝖳,f,h)\mathsf{com}=(\mathsf{ske}.\mathsf{CT},f,h) and 𝖽1=R\mathsf{d}_{1}=R.

  • Compute 𝗌𝗄𝖾.𝗌𝗄H(R)h\mathsf{ske}.\mathsf{sk}^{\prime}\coloneqq H(R)\oplus h.

  • Output m𝖲𝖪𝖤.𝖣𝖾𝖼(𝗌𝗄𝖾.𝗌𝗄,𝗌𝗄𝖾.𝖢𝖳)m^{\prime}\leftarrow\mathsf{SKE}.\mathsf{Dec}(\mathsf{ske}.\mathsf{sk}^{\prime},\mathsf{ske}.\mathsf{CT}).

𝖣𝖾𝗅(𝖼𝗈𝗆)\mathsf{Del}(\mathsf{com}):

  • Parse 𝖼𝗈𝗆=(𝗌𝗄𝖾.𝖢𝖳,f,h)\mathsf{com}=(\mathsf{ske}.\mathsf{CT},f,h).

  • Compute 𝗌𝗄𝖾.𝖼𝖾𝗋𝗍𝖲𝖪𝖤.𝖣𝖾𝗅(𝗌𝗄𝖾.𝖢𝖳)\mathsf{ske}.\mathsf{cert}\leftarrow\mathsf{SKE}.\mathsf{Del}(\mathsf{ske}.\mathsf{CT}).

  • Output 𝖼𝖾𝗋𝗍𝗌𝗄𝖾.𝖼𝖾𝗋𝗍\mathsf{cert}\coloneqq\mathsf{ske}.\mathsf{cert}.

𝖢𝖾𝗋𝗍(𝖼𝖾𝗋𝗍,𝖼𝗄)\mathsf{Cert}(\mathsf{cert},\mathsf{ck}):

  • Parse 𝖼𝖾𝗋𝗍=𝗌𝗄𝖾.𝖼𝖾𝗋𝗍\mathsf{cert}=\mathsf{ske}.\mathsf{cert} and 𝖼𝗄=𝗌𝗄𝖾.𝗌𝗄\mathsf{ck}=\mathsf{ske}.\mathsf{sk}.

  • Output /𝖲𝖪𝖤.𝖵𝖾𝗋𝗂𝖿𝗒(𝗌𝗄𝖾.𝗌𝗄,𝗌𝗄𝖾.𝖼𝖾𝗋𝗍)\top/\bot\leftarrow\mathsf{SKE}.\mathsf{Verify}(\mathsf{ske}.\mathsf{sk},\mathsf{ske}.\mathsf{cert}).

Correctness.

The decommitment and deletion correctness easily follow from the correctness of Σ𝗌𝗄𝖼𝖽\Sigma_{\mathsf{skcd}}.

Security.

We prove the following three theorems.

Theorem 3.8.

If Σ𝖼𝗈𝗆\Sigma_{\mathsf{com}} is perfect binding, then Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}} is classical-extractor-based binding.

Theorem 3.9.

If Σ𝖼𝗈𝗆\Sigma_{\mathsf{com}} is unpredictable and Σ𝗌𝗄𝖼𝖽\Sigma_{\mathsf{skcd}} is OT-CD secure, then Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}} is certified everlasting hiding.

Theorem 3.10.

If Σ𝖼𝗈𝗆\Sigma_{\mathsf{com}} is unpredictable and Σ𝗌𝗄𝖼𝖽\Sigma_{\mathsf{skcd}} is OT-CD secure, then Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}} is computationally hiding.

Proof of Theorem 3.8.

Due to the perfect binding of Σ𝖼𝗈𝗆=𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍\Sigma_{\mathsf{com}}=\mathsf{Classical}.\mathsf{Commit}, there exists a unique 𝖽1\mathsf{d}_{1}^{*} such that f=𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍(𝖽1,𝖽2)f=\mathsf{Classical}.\mathsf{Commit}(\mathsf{d}_{1}^{*};\mathsf{d}_{2}) for a given ff. Let 𝖤𝗑𝗍\mathsf{Ext} be the algorithm that finds such 𝖽1\mathsf{d}_{1}^{*} and outputs it. (If there is no such 𝖽1\mathsf{d}_{1}^{*}, then 𝖤𝗑𝗍\mathsf{Ext} outputs \bot.) Then, for any 𝖼𝗈𝗆=(𝗌𝗄𝖾.𝖢𝖳,f,h)\mathsf{com}=(\mathsf{ske}.\mathsf{CT},f,h), any 𝖽1𝖽1\mathsf{d}_{1}\neq\mathsf{d}_{1}^{*}, and any 𝖽2\mathsf{d}_{2},

Pr[𝖵𝖾𝗋𝗂𝖿𝗒(𝖼𝗈𝗆,𝖽=(𝖽1,𝖽2))=]Pr[f𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍(𝖽1,𝖽2)]=1,\displaystyle\Pr[\mathsf{Verify}(\mathsf{com},\mathsf{d}=(\mathsf{d}_{1},\mathsf{d}_{2}))=\bot]\geq\Pr[f\neq\mathsf{Classical}.\mathsf{Commit}(\mathsf{d}_{1},\mathsf{d}_{2})]=1,

which completes the proof. ∎

Proof of Theorem 3.9.

For clarity, we describe how the experiment works against an adversary 𝒜(𝒜1,𝒜2)\mathcal{A}\coloneqq(\mathcal{A}_{1},\mathcal{A}_{2}) consisting of any QPT adversary 𝒜1\mathcal{A}_{1} and any quantum unbounded time adversary 𝒜2\mathcal{A}_{2}.

𝖤𝗑𝗉Σ𝖼𝖼𝖽,𝒜𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{ccd}},\mathcal{A}}^{\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,b):

This is the original experiment.

  1. 1.

    A uniformly random function HH from {0,1}s(λ)\{0,1\}^{s(\lambda)} to {0,1}r(λ)\{0,1\}^{r(\lambda)} is chosen. 𝒜1\mathcal{A}_{1} and 𝒜2\mathcal{A}_{2} can make arbitrarily many quantum queries to HH at any time in the experiment.

  2. 2.

    𝒜1\mathcal{A}_{1} chooses (m0,m1)2(m_{0},m_{1})\leftarrow\mathcal{M}^{2}, and sends (m0,m1)(m_{0},m_{1}) to the challenger.

  3. 3.

    The challenger generates 𝗌𝗄𝖾.𝗌𝗄𝖲𝖪𝖤.𝖪𝖾𝗒𝖦𝖾𝗇(1λ)\mathsf{ske}.\mathsf{sk}\leftarrow\mathsf{SKE}.\mathsf{KeyGen}(1^{\lambda}), R{0,1}s(λ)R\leftarrow\{0,1\}^{s(\lambda)} and R{0,1}t(λ)R^{\prime}\leftarrow\{0,1\}^{t(\lambda)}. The challenger computes 𝗌𝗄𝖾.𝖢𝖳𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗌𝗄,mb)\mathsf{ske}.\mathsf{CT}\leftarrow\mathsf{SKE}.\mathsf{Enc}(\mathsf{ske}.\mathsf{sk},m_{b}), f𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍(R,R)f\coloneqq\mathsf{Classical}.\mathsf{Commit}(R;R^{\prime}) and hH(R)𝗌𝗄𝖾.𝗌𝗄h\coloneqq H(R)\oplus\mathsf{ske}.\mathsf{sk}, and sends (𝗌𝗄𝖾.𝖢𝖳,f,h)(\mathsf{ske}.\mathsf{CT},f,h) to 𝒜1\mathcal{A}_{1}.

  4. 4.

    𝒜1\mathcal{A}_{1} sends 𝗌𝗄𝖾.𝖼𝖾𝗋𝗍\mathsf{ske}.\mathsf{cert} to the challenger and sends its internal state to 𝒜2\mathcal{A}_{2}.

  5. 5.

    If 𝖲𝖪𝖤.𝖵𝖾𝗋𝗂𝖿𝗒(𝗌𝗄𝖾.𝗌𝗄,𝗌𝗄𝖾.𝖼𝖾𝗋𝗍)\top\leftarrow\mathsf{SKE}.\mathsf{Verify}(\mathsf{ske}.\mathsf{sk},\mathsf{ske}.\mathsf{cert}), the challenger outputs \top and sends (R,R,𝗌𝗄𝖾.𝗌𝗄)(R,R^{\prime},\mathsf{ske}.\mathsf{sk}) to 𝒜2\mathcal{A}_{2}. Otherwise, the challenger outputs \bot and sends \bot to 𝒜2\mathcal{A}_{2}.

  6. 6.

    𝒜2\mathcal{A}_{2} outputs bb^{\prime}.

  7. 7.

    If the challenger outputs \top, then the output of the experiment is bb^{\prime}. Otherwise, the output of the experiment is \bot.

What we have to prove is that

𝖠𝖽𝗏Σ𝖼𝖼𝖽,𝒜𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ)|Pr[𝖤𝗑𝗉Σ𝖼𝖼𝖽,𝒜𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,0)=1]Pr[𝖤𝗑𝗉Σ𝖼𝖼𝖽,𝒜𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,1)=1]|𝗇𝖾𝗀𝗅(λ).\displaystyle\mathsf{Adv}_{\Sigma_{\mathsf{ccd}},\mathcal{A}}^{\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda)\coloneqq\left|\Pr[\mathsf{Exp}_{\Sigma_{\mathsf{ccd}},\mathcal{A}}^{\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,0)=1]-\Pr[\mathsf{Exp}_{\Sigma_{\mathsf{ccd}},\mathcal{A}}^{\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,1)=1]\right|\leq{\mathsf{negl}}(\lambda). (17)

We define the following sequence of hybrids.

𝖧𝗒𝖻1(b)\mathsf{Hyb}_{1}(b):

This is identical to 𝖤𝗑𝗉Σ𝖼𝖼𝖽,𝒜𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{ccd}},\mathcal{A}}^{\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,b) except that the oracle given to 𝒜1\mathcal{A}_{1} is replaced with HRHH_{R\rightarrow H^{\prime}} which is HH reprogrammed according to HH^{\prime} on an input RR where HH^{\prime} is another independent uniformly random function. More formally, HRHH_{R\rightarrow H^{\prime}} is defined by

HRH(R){H(R)(RR)H(R)(R=R).\displaystyle H_{R\rightarrow H^{\prime}}(R^{*})\coloneqq\begin{cases}H(R^{*})~~~&(R^{*}\neq R)\\ H^{\prime}(R^{*})~~~&(R^{*}=R).\end{cases} (18)

We note that the challenger still uses HH to generate hh, and the oracle which 𝒜2\mathcal{A}_{2} uses is still HH similarly to the original experiment.

𝖧𝗒𝖻2(b)\mathsf{Hyb}_{2}(b):

This is identical to 𝖧𝗒𝖻1(b)\mathsf{Hyb}_{1}(b) except for the following three points. First, the challenger generates hh uniformly at random. Second, the oracle given to 𝒜1\mathcal{A}_{1} is replaced with HH^{\prime} which is an independent uniformly random function. Third, the oracle given to 𝒜2\mathcal{A}_{2} is replaced with HRh𝗌𝗄𝖾.𝗌𝗄H^{\prime}_{R\rightarrow h\oplus\mathsf{ske}.\mathsf{sk}} which is HH^{\prime} reprogrammed to h𝗌𝗄𝖾.𝗌𝗄h\oplus\mathsf{ske}.\mathsf{sk} on an input RR. More formally, HRh𝗌𝗄𝖾.𝗌𝗄H^{\prime}_{R\rightarrow h\oplus\mathsf{ske}.\mathsf{sk}} is defined by

HRh𝗌𝗄𝖾.𝗌𝗄(R){H(R)(RR)h𝗌𝗄𝖾.𝗌𝗄(R=R).\displaystyle H^{\prime}_{R\rightarrow h\oplus\mathsf{ske}.\mathsf{sk}}(R^{*})\coloneqq\begin{cases}H^{\prime}(R^{*})~~~&(R^{*}\neq R)\\ h\oplus\mathsf{ske}.\mathsf{sk}~~~&(R^{*}=R).\end{cases} (19)
Proposition 3.11.

If Σ𝖼𝗈𝗆\Sigma_{\mathsf{com}} is unpredictable, then

|Pr[𝖤𝗑𝗉Σ𝖼𝖼𝖽,𝒜𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,b)=1]Pr[𝖧𝗒𝖻1(b)=1]|𝗇𝖾𝗀𝗅(λ).\displaystyle\absolutevalue{\Pr[\expa{\Sigma_{\mathsf{ccd}},\cA}{ever}{hide}(\lambda,b)=1]- \Pr[\sfhyb{1}{}(b)=1]}\leq{\mathsf{negl}}(\lambda). (20)
Proof.

The proof is similar to [HMNY21, Propositoin 5.8], but note that this time we have to consider an unbounded adversary after the certificate is issued unlike the case of [HMNY21]. We assume that |Pr[𝖤𝗑𝗉Σ𝖼𝖼𝖽,𝒜𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,b)=1]Pr[𝖧𝗒𝖻1(b)=1]|\absolutevalue{\Pr[\expa{\Sigma_{\mathsf{ccd}},\cA}{ever}{hide}(\lambda,b)=1]- \Pr[\sfhyb{1}{}(b)=1]} is non-negligible, and construct an adversary \mathcal{B} that breaks the unpredictability of Σ𝖼𝗈𝗆\Sigma_{\mathsf{com}}. For notational simplicity, we denote 𝖤𝗑𝗉Σ𝖼𝖼𝖽,𝒜𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{ccd}},\mathcal{A}}^{\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,b) by 𝖧𝗒𝖻0(b)\mathsf{Hyb}_{0}(b). We consider an algorithm 𝒜~\widetilde{\mathcal{A}} that works as follows. 𝒜~\widetilde{\mathcal{A}} is given an oracle 𝒪\mathcal{O}, which is either HH or HRHH_{R\rightarrow H^{\prime}}, and an input zz that consists of RR and the whole truth table of HH, where R{0,1}s(λ)R\leftarrow\{0,1\}^{s(\lambda)}, and HH and HH^{\prime} are uniformly random functions. 𝒜~\widetilde{\mathcal{A}} runs 𝖧𝗒𝖻0(b)\mathsf{Hyb}_{0}(b) except that it uses its own oracle 𝒪\mathcal{O} to simulate 𝒜1\mathcal{A}_{1}’s random oracle queries. On the other hand, 𝒜~\widetilde{\mathcal{A}} uses HH to simulate hh and 𝒜2\mathcal{A}_{2}’s random oracle queries regardless of 𝒪\mathcal{O}, which is possible because the truth table of HH is included in the input zz. By definition, we have

Pr[𝖧𝗒𝖻0(b)=1]=Pr[𝒜~H(R,H)=1]\displaystyle\Pr[\mathsf{Hyb}_{0}(b)=1]=\Pr[\widetilde{\mathcal{A}}^{H}(R,H)=1] (21)

and

Pr[𝖧𝗒𝖻1(b)=1]=Pr[𝒜~HRH(R,H)=1]\displaystyle\Pr[\mathsf{Hyb}_{1}(b)=1]=\Pr[\widetilde{\mathcal{A}}^{H_{R\rightarrow H^{\prime}}}(R,H)=1] (22)

where HH in the input means the truth table of HH. We apply the one-way to hiding lemma (Lemma 2.2) to the above 𝒜~\widetilde{\mathcal{A}}. Note that 𝒜~\widetilde{\mathcal{A}} is inefficient, but the one-way to hiding lemma is applicable to inefficient algorithms. Then if we let ~\widetilde{\mathcal{B}} be the algorithm that measures uniformly chosen query of 𝒜~\widetilde{\mathcal{A}}, we have

|Pr[𝒜~H(R,H)=1]Pr[𝒜~HRH(R,H)=1]|2qPr[~HRH(R,H)=R].\displaystyle\absolutevalue{\Pr[\widetilde{\cA}^H(R,H)=1]-\Pr[\widetilde{\cA}^{H_{R\rightarrow H'}}(R,H)=1]}\leq 2q\sqrt{\Pr[\widetilde{\mathcal{B}}^{H_{R\rightarrow H^{\prime}}}(R,H)=R]}. (23)

By the assumption, the LHS is non-negligible, and thus Pr[~HRH(R,H)=R]\Pr[\widetilde{\mathcal{B}}^{H_{R\rightarrow H^{\prime}}}(R,H)=R] is non-negligible.

Let ~\widetilde{\mathcal{B}}^{\prime} be the algorithm that is the same as ~\widetilde{\mathcal{B}} except that it does not take the truth table of HH as input, and sets hh to be uniformly random string instead of setting hH(R)𝗌𝗄𝖾.𝗌𝗄h\coloneqq H(R)\oplus\mathsf{ske}.\mathsf{sk}. Then we have

Pr[~HRH(R,H)=R]=Pr[~HRH(R)=R].\displaystyle\Pr[\widetilde{\mathcal{B}}^{H_{R\rightarrow H^{\prime}}}(R,H)=R]=\Pr[\widetilde{\mathcal{B}}^{\prime H_{R\rightarrow H^{\prime}}}(R)=R]. (24)

The reason is as follows: First, ~\widetilde{\mathcal{B}} uses the truth table of HH only for generating hH(R)𝗌𝗄𝖾.𝗌𝗄h\coloneqq H(R)\oplus\mathsf{ske}.\mathsf{sk}, because it halts before ~\widetilde{\mathcal{B}} simulates 𝒜2\mathcal{A}_{2}. Second, the oracle HRHH_{R\rightarrow H^{\prime}} reveals no information about H(R)H(R), and thus hh can be independently and uniformly random.

Moreover, for any fixed RR, when HH and HH^{\prime} are uniformly random, HRHH_{R\rightarrow H^{\prime}} is also a uniformly random function, and therefore we have

Pr[~HRH(R)=R]=Pr[~H(R)=R].\displaystyle\Pr[\widetilde{\mathcal{B}}^{\prime H_{R\rightarrow H^{\prime}}}(R)=R]=\Pr[\widetilde{\mathcal{B}}^{\prime H}(R)=R]. (25)

Since Pr[~HRH(R,H)=R]\Pr[\widetilde{\mathcal{B}}^{H_{R\rightarrow H^{\prime}}}(R,H)=R] is non-negligible, Pr[~H(R)=R]\Pr[\widetilde{\mathcal{B}}^{\prime H}(R)=R] is also non-negligible. Recall that ~H\widetilde{\mathcal{B}}^{\prime H} is an algorithm that simulates 𝖧𝗒𝖻0(b)\mathsf{Hyb}_{0}(b) with the modification that hh is set to be uniformly random and measures randomly chosen 𝒜1\mathcal{A}_{1}’s query. Then it is straightforward to construct an adversary \mathcal{B} that breaks the unpredictability of Σ𝖼𝗈𝗆\Sigma_{\mathsf{com}} by using ~\widetilde{\mathcal{B}}^{\prime}. For clarity, let us give the description of \mathcal{B} as follows.

\mathcal{B} is given 𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍(R,R)\mathsf{Classical}.\mathsf{Commit}(R;R^{\prime}) from the challenger of 𝖤𝗑𝗉Σ𝖼𝗈𝗆,𝗎𝗇𝗉𝗋𝖾(λ)\mathsf{Exp}_{\Sigma_{\mathsf{com}},\mathcal{B}}^{\mathsf{unpre}}(\lambda). \mathcal{B} chooses i[q]i\leftarrow[q] and runs 𝖧𝗒𝖻1(b)\mathsf{Hyb}_{1}(b) until 𝒜1\mathcal{A}_{1} makes ii-th random oracle query or 𝒜1\mathcal{A}_{1} sends the internal state to 𝒜2\mathcal{A}_{2}, where \mathcal{B} embeds the problem instance 𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍(R,R)\mathsf{Classical}.\mathsf{Commit}(R;R^{\prime}) into those sent to 𝒜1\mathcal{A}_{1} instead of generating it by itself. \mathcal{B} measures the ii-th random oracle query by 𝒜1\mathcal{A}_{1}, and outputs the measurement outcome. Note that \mathcal{B} can efficiently simulate the random oracle HH by Zhandry’s compressed oracle technique [Zha19]. It is clear that the probability that \mathcal{B} outputs RR is exactly Pr[~H(R)=R]\Pr[\widetilde{\mathcal{B}}^{\prime H}(R)=R], which is non-negligible. This contradicts the unpredictability of Σ𝖼𝗈𝗆\Sigma_{\mathsf{com}}. Therefore |Pr[𝖧𝗒𝖻0(b)=1]Pr[𝖧𝗒𝖻1(b)=1]|\absolutevalue{\Pr[\sfhyb{0}{}(b)=1]-\Pr[\sfhyb{1}{}(b)=1]} is negligible. ∎

Proposition 3.12.

Pr[𝖧𝗒𝖻1(b)=1]=Pr[𝖧𝗒𝖻2(b)=1]\Pr[\mathsf{Hyb}_{1}(b)=1]=\Pr[\mathsf{Hyb}_{2}(b)=1].

Proof.

First, let us remind the difference between 𝖧𝗒𝖻1(b)\mathsf{Hyb}_{1}(b) and 𝖧𝗒𝖻2(b)\mathsf{Hyb}_{2}(b). In 𝖧𝗒𝖻1(b)\mathsf{Hyb}_{1}(b), 𝒜1\mathcal{A}_{1} receives h=𝗌𝗄𝖾.𝗌𝗄H(R)h=\mathsf{ske}.\mathsf{sk}\oplus H(R). Moreover, 𝒜1\mathcal{A}_{1} can access to the random oracle HRHH_{R\rightarrow H^{\prime}}, and 𝒜2\mathcal{A}_{2} can access to the random oracle HH. On the other hand, in 𝖧𝗒𝖻2(b)\mathsf{Hyb}_{2}(b), 𝒜1\mathcal{A}_{1} receives uniformly random hh. Moreover, 𝒜1\mathcal{A}_{1} can access to the random oracle HH^{\prime} instead of HRHH_{R\rightarrow H^{\prime}}, and 𝒜2\mathcal{A}_{2} can access to the random oracle HRh𝗌𝗄𝖾.𝗌𝗄H^{\prime}_{R\rightarrow h\oplus\mathsf{ske}.\mathsf{sk}} instead of HH.

Let Pr[(h,HRH,H)=(r,G,G)𝖧𝗒𝖻1(b)]\Pr[(h,H_{R\rightarrow H^{\prime}},H)=(r,G,G^{\prime})\mid\mathsf{Hyb}_{1}(b)] be the probability that the adversary 𝒜1\mathcal{A}_{1} in 𝖧𝗒𝖻1(b)\mathsf{Hyb}_{1}(b) receives a classical bit string rr as hh, random oracle which 𝒜1\mathcal{A}_{1} can access to is GG, and random oracle which 𝒜2\mathcal{A}_{2} can access to is GG^{\prime}. Similarly, let us define Pr[(h,H,HRh𝗌𝗄𝖾.𝗌𝗄)=(r,G,G)𝖧𝗒𝖻2(b)]\Pr[(h,H^{\prime},H^{\prime}_{R\rightarrow h\oplus\mathsf{ske}.\mathsf{sk}})=(r,G,G^{\prime})\mid\mathsf{Hyb}_{2}(b)] for 𝖧𝗒𝖻2(b)\mathsf{Hyb}_{2}(b). What we have to show is that the following equation holds for any (r,G,G)(r,G,G^{\prime})

Pr[(h,HRH,H)=(r,G,G)𝖧𝗒𝖻1(b)]=Pr[(h,H,HRh𝗌𝗄𝖾.𝗌𝗄)=(r,G,G)𝖧𝗒𝖻2(b)].\displaystyle\Pr[(h,H_{R\rightarrow H^{\prime}},H)=(r,G,G^{\prime})\mid\mathsf{Hyb}_{1}(b)]=\Pr[(h,H^{\prime},H^{\prime}_{R\rightarrow h\oplus\mathsf{ske}.\mathsf{sk}})=(r,G,G^{\prime})\mid\mathsf{Hyb}_{2}(b)]. (26)

Since h=𝗌𝗄𝖾.𝗌𝗄H(R)h=\mathsf{ske}.\mathsf{sk}\oplus H(R) in 𝖧𝗒𝖻1(b)\mathsf{Hyb}_{1}(b), HH is a uniformly random function, and hh in 𝖧𝗒𝖻2(b)\mathsf{Hyb}_{2}(b) is uniformly generated,

Pr[h=r𝖧𝗒𝖻1(b)]=Pr[h=r𝖧𝗒𝖻2(b)]\displaystyle\Pr[h=r\mid\mathsf{Hyb}_{1}(b)]=\Pr[h=r\mid\mathsf{Hyb}_{2}(b)] (27)

holds for any rr.

For any classical bit string rr and any random oracle GG, we have

Pr[HRH=Gh=r,𝖧𝗒𝖻1(b)]=Pr[H=Gh=r,𝖧𝗒𝖻2(b)].\displaystyle\Pr[H_{R\rightarrow H^{\prime}}=G\mid h=r,\mathsf{Hyb}_{1}(b)]=\Pr[H^{\prime}=G\mid h=r,\mathsf{Hyb}_{2}(b)]. (28)

This is shown as follows. First, in 𝖧𝗒𝖻1(b)\mathsf{Hyb}_{1}(b), from the construction of HRHH_{R\rightarrow H^{\prime}}, HRH(R)H_{R\rightarrow H^{\prime}}(R) is independent from hh for any R{0,1}s(λ)R\in\{0,1\}^{s(\lambda)}. Furthermore, since HH and HH^{\prime} is random oracle, HRH(R)H_{R\rightarrow H^{\prime}}(R) is uniformly random for any R{0,1}s(λ)R\in\{0,1\}^{s(\lambda)}. Second, in 𝖧𝗒𝖻2(b)\mathsf{Hyb}_{2}(b), from the construction of HH^{\prime}, H(R)H^{\prime}(R) is independent from hh for any R{0,1}s(λ)R\in\{0,1\}^{s(\lambda)}. Furthermore, since HH^{\prime} is random oracle, H(R)H^{\prime}(R) is uniformly random for any R{0,1}s(λ)R\in\{0,1\}^{s(\lambda)}. Therefore, we have the above equation.

For any classical bit string rr and any random oracles GG and GG^{\prime}, we have

Pr[H=G(h,HRH)=(r,G),𝖧𝗒𝖻1(b)]=Pr[HRh𝗌𝗄𝖾.𝗌𝗄=G(h,H)=(r,G),𝖧𝗒𝖻2(b)].\displaystyle\Pr[H=G^{\prime}\mid(h,H_{R\rightarrow H^{\prime}})=(r,G),\mathsf{Hyb}_{1}(b)]=\Pr[H^{\prime}_{R\rightarrow h\oplus\mathsf{ske}.\mathsf{sk}}=G^{\prime}\mid(h,H^{\prime})=(r,G),\mathsf{Hyb}_{2}(b)]. (29)

This can be shown as follows. First, in 𝖧𝗒𝖻1(b)\mathsf{Hyb}_{1}(b), we obtain H(R)=r𝗌𝗄𝖾.𝗌𝗄H(R)=r\oplus\mathsf{ske}.\mathsf{sk}, because h𝗌𝗄𝖾.𝗌𝗄H(R)h\coloneqq\mathsf{ske}.\mathsf{sk}\oplus H(R) and h=rh=r. Furthermore, from the definition of HRHH_{R\rightarrow H^{\prime}}, we obtain H(R)=G(R)H(R^{*})=G(R^{*}) for RRR^{*}\neq R. Second, in 𝖧𝗒𝖻2(b)\mathsf{Hyb}_{2}(b), from the definition of HRh𝗌𝗄𝖾.𝗌𝗄H^{\prime}_{R\rightarrow h\oplus\mathsf{ske}.\mathsf{sk}}, we have HRh𝗌𝗄𝖾.𝗌𝗄(R)=r𝗌𝗄𝖾.𝗌𝗄H^{\prime}_{R\rightarrow h\oplus\mathsf{ske}.\mathsf{sk}}(R)=r\oplus\mathsf{ske}.\mathsf{sk} and HRh𝗌𝗄𝖾.𝗌𝗄(R)=G(R)H^{\prime}_{R\rightarrow h\oplus\mathsf{ske}.\mathsf{sk}}(R^{*})=G(R^{*}) for RRR^{*}\neq R.

From all above discussions, we have

Pr[(h,HRH,H)=(r,G,G)𝖧𝗒𝖻1(b)]=Pr[(h,H,HRh𝗌𝗄𝖾.𝗌𝗄)=(r,G,G)𝖧𝗒𝖻2(b)].\displaystyle\Pr[(h,H_{R\rightarrow H^{\prime}},H)=(r,G,G^{\prime})\mid\mathsf{Hyb}_{1}(b)]=\Pr[(h,H^{\prime},H^{\prime}_{R\rightarrow h\oplus\mathsf{ske}.\mathsf{sk}})=(r,G,G^{\prime})\mid\mathsf{Hyb}_{2}(b)]. (30)

Proposition 3.13.

If Σ𝗌𝗄𝖼𝖽\Sigma_{\mathsf{skcd}} is OT-CD secure, then

|Pr[𝖧𝗒𝖻2(1)=1]Pr[𝖧𝗒𝖻2(0)=1]|𝗇𝖾𝗀𝗅(λ).\displaystyle\absolutevalue{\Pr[\sfhyb{2}{}(1)=1]-\Pr[\sfhyb{2}{}(0)=1]}\leq{\mathsf{negl}}(\lambda). (31)
Proof.

To show this, we assume that |Pr[𝖧𝗒𝖻2(1)=1]Pr[𝖧𝗒𝖻2(0)=1]|\absolutevalue{\Pr[\sfhyb{2}{}(1)=1]-\Pr[\sfhyb{2}{}(0)=1]} is non-negligible, and construct an adversary \mathcal{B} that breaks the OT-CD security of Σ𝗌𝗄𝖼𝖽\Sigma_{\mathsf{skcd}}.

\mathcal{B} plays the experiment 𝖤𝗑𝗉Σ𝗌𝗄𝖼𝖽,𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{skcd}},\mathcal{B}}^{\mathsf{otsk}\mbox{-}\mathsf{cert}\mbox{-}\mathsf{del}}(\lambda,b^{\prime}) for some b{0,1}b^{\prime}\in\{0,1\}. First, \mathcal{B} sends (m0,m1)2(m_{0},m_{1})\in\mathcal{M}^{2} to the challenger of 𝖤𝗑𝗉Σ𝗌𝗄𝖼𝖽,𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{skcd}},\mathcal{B}}^{\mathsf{otsk}\mbox{-}\mathsf{cert}\mbox{-}\mathsf{del}}(\lambda,b^{\prime}). \mathcal{B} receives 𝗌𝗄𝖾.𝖢𝖳\mathsf{ske}.\mathsf{CT} from the challenger of 𝖤𝗑𝗉Σ𝗌𝗄𝖼𝖽,𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{skcd}},\mathcal{B}}^{\mathsf{otsk}\mbox{-}\mathsf{cert}\mbox{-}\mathsf{del}}(\lambda,b^{\prime}). \mathcal{B} generates R{0,1}s(λ)R\leftarrow\{0,1\}^{s(\lambda)}, R{0,1}t(λ)R^{\prime}\leftarrow\{0,1\}^{t(\lambda)} and h{0,1}r(λ)h\leftarrow\{0,1\}^{r(\lambda)}, and computes f𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍(R,R)f\coloneqq\mathsf{Classical}.\mathsf{Commit}(R;R^{\prime}). \mathcal{B} sends (𝗌𝗄𝖾.𝖢𝖳,f,h)(\mathsf{ske}.\mathsf{CT},f,h) to 𝒜1\mathcal{A}_{1}. \mathcal{B} simulates the random oracle HH^{\prime} given to 𝒜1\mathcal{A}_{1} by itself. At some point, 𝒜1\mathcal{A}_{1} sends 𝗌𝗄𝖾.𝖼𝖾𝗋𝗍\mathsf{ske}.\mathsf{cert} to \mathcal{B}, and sends the internal state to 𝒜2\mathcal{A}_{2}. \mathcal{B} passes 𝗌𝗄𝖾.𝖼𝖾𝗋𝗍\mathsf{ske}.\mathsf{cert} to the challenger of 𝖤𝗑𝗉Σ𝗌𝗄𝖼𝖽,𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{skcd}},\mathcal{B}}^{\mathsf{otsk}\mbox{-}\mathsf{cert}\mbox{-}\mathsf{del}}(\lambda,b^{\prime}).

The challenger of 𝖤𝗑𝗉Σ𝗌𝗄𝖼𝖽,𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{skcd}},\mathcal{B}}^{\mathsf{otsk}\mbox{-}\mathsf{cert}\mbox{-}\mathsf{del}}(\lambda,b^{\prime}) runs 𝖲𝖪𝖤.𝖵𝖾𝗋𝗂𝖿𝗒(𝗌𝗄𝖾.𝗌𝗄,𝗌𝗄𝖾.𝖼𝖾𝗋𝗍)/\mathsf{SKE}.\mathsf{Verify}(\mathsf{ske}.\mathsf{sk},\mathsf{ske}.\mathsf{cert})\to\top/\bot. If it is \top, the challenger sends 𝗌𝗄𝖾.𝗌𝗄\mathsf{ske}.\mathsf{sk} to \mathcal{B}. In that case, \mathcal{B} outputs \top, and sends (R,R,𝗌𝗄𝖾.𝗌𝗄)(R,R^{\prime},\mathsf{ske}.\mathsf{sk}) to 𝒜2\mathcal{A}_{2}. We denote this event by 𝖱𝖾𝗏𝖾𝖺𝗅𝗌𝗄(b)\mathsf{Reveal_{sk}}(b^{\prime}). \mathcal{B} simulates 𝒜2\mathcal{A}_{2}, and outputs the output of 𝒜2\mathcal{A}_{2}. On the other hand, if 𝖲𝖪𝖤.𝖵𝖾𝗋𝗂𝖿𝗒(𝗌𝗄𝖾.𝗌𝗄,𝗌𝗄𝖾.𝖼𝖾𝗋𝗍)\mathsf{SKE}.\mathsf{Verify}(\mathsf{ske}.\mathsf{sk},\mathsf{ske}.\mathsf{cert})\to\bot, then the challenger sends \bot to \mathcal{B}. In that case, \mathcal{B} outputs \bot and aborts. Note that \mathcal{B} can simulate the random oracle HRh𝗌𝗄𝖾.𝗌𝗄H^{\prime}_{R\rightarrow h\oplus\mathsf{ske}.\mathsf{sk}} given to 𝒜2\mathcal{A}_{2} when \mathcal{B} does not abort, because \mathcal{B} receives 𝗌𝗄𝖾.𝗌𝗄\mathsf{ske}.\mathsf{sk} from the challenger of 𝖤𝗑𝗉Σ𝗌𝗄𝖼𝖽,𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{skcd}},\mathcal{B}}^{\mathsf{otsk}\mbox{-}\mathsf{cert}\mbox{-}\mathsf{del}}(\lambda,b^{\prime}) when \mathcal{B} does not abort.

Now we have

𝖠𝖽𝗏Σ𝗌𝗄𝖼𝖽,𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ)\displaystyle\mathsf{Adv}_{\Sigma_{\mathsf{skcd}},\mathcal{B}}^{\mathsf{otsk}\mbox{-}\mathsf{cert}\mbox{-}\mathsf{del}}(\lambda) (32)
|Pr[𝖤𝗑𝗉Σ𝗌𝗄𝖼𝖽,𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ,b)=1b=0]Pr[𝖤𝗑𝗉Σ𝗌𝗄𝖼𝖽,𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ,b)=1b=1]|\displaystyle\coloneqq\absolutevalue{\Pr[ \expb{\Sigma_{\mathsf{skcd}},\cB}{otsk}{cert}{del}(\secp, b')=1\mid b'=0] - \Pr[ \expb{\Sigma_{\mathsf{skcd}},\cB}{otsk}{cert}{del}(\secp, b')=1\mid b'=1] } (33)
=|Pr[=1𝖱𝖾𝗏𝖾𝖺𝗅𝗌𝗄(b)b=0]Pr[=1𝖱𝖾𝗏𝖾𝖺𝗅𝗌𝗄(b)b=1]|\displaystyle=\absolutevalue{\Pr[ \cB=1\wedge\mathsf{Reveal_{sk}}(b') \mid b'=0] - \Pr[ \cB=1\wedge\mathsf{Reveal_{sk}}(b') \mid b'=1] } (34)
=|Pr[𝒜2=1𝖱𝖾𝗏𝖾𝖺𝗅𝗌𝗄(b)b=0]Pr[𝒜2=1𝖱𝖾𝗏𝖾𝖺𝗅𝗌𝗄(b)b=1]|\displaystyle=\absolutevalue{\Pr[ \cA_{2}=1\wedge\mathsf{Reveal_{sk}}(b') \mid b'=0] - \Pr[ \cA_{2}=1\wedge\mathsf{Reveal_{sk}}(b') \mid b'=1] } (35)
=|Pr[𝖧𝗒𝖻2(b)=1𝖱𝖾𝗏𝖾𝖺𝗅𝗌𝗄(b)b=0]Pr[𝖧𝗒𝖻2(b)=1𝖱𝖾𝗏𝖾𝖺𝗅𝗌𝗄(b)b=1]|\displaystyle=|\Pr[\mathsf{Hyb}_{2}(b^{\prime})=1\wedge\mathsf{Reveal_{sk}}(b^{\prime})\mid b^{\prime}=0]-\Pr[\mathsf{Hyb}_{2}(b^{\prime})=1\wedge\mathsf{Reveal_{sk}}(b^{\prime})\mid b^{\prime}=1]| (36)
=|Pr[𝖧𝗒𝖻2(b)=1b=0]Pr[𝖧𝗒𝖻2(b)=1b=1]|\displaystyle=|\Pr[\mathsf{Hyb}_{2}(b^{\prime})=1\mid b^{\prime}=0]-\Pr[\mathsf{Hyb}_{2}(b^{\prime})=1\mid b^{\prime}=1]| (37)
=|Pr[𝖧𝗒𝖻2(0)=1]Pr[𝖧𝗒𝖻2(1)=1]|.\displaystyle=|\Pr[\mathsf{Hyb}_{2}(0)=1]-\Pr[\mathsf{Hyb}_{2}(1)=1]|. (38)

In the second equation, we have used the fact that 𝖤𝗑𝗉Σ𝗌𝗄𝖼𝖽,𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ,b)=1\mathsf{Exp}_{\Sigma_{\mathsf{skcd}},\mathcal{B}}^{\mathsf{otsk}\mbox{-}\mathsf{cert}\mbox{-}\mathsf{del}}(\lambda,b)=1 if and only if =1\mathcal{B}=1 and the challenger of 𝖤𝗑𝗉Σ𝗌𝗄𝖼𝖽,𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{skcd}},\mathcal{B}}^{\mathsf{otsk}\mbox{-}\mathsf{cert}\mbox{-}\mathsf{del}}(\lambda,b^{\prime}) outputs \top. In the third equation, we have used the fact that the output of \mathcal{B} is equal to the output of 𝒜2\mathcal{A}_{2} conditioned that 𝖱𝖾𝗏𝖾𝖺𝗅𝗌𝗄(b)\mathsf{Reveal_{sk}}(b^{\prime}) occurs. In the fourth equation, we have used the fact that \mathcal{B} simulates the challenger of 𝖧𝗒𝖻2(b)\mathsf{Hyb}_{2}(b) when 𝖱𝖾𝗏𝖾𝖺𝗅𝗌𝗄(b)\mathsf{Reveal_{sk}}(b) occurs. In the fifth equation, we have used the fact that 𝖧𝗒𝖻2(b)=1\mathsf{Hyb}_{2}(b)=1 only when 𝖱𝖾𝗏𝖾𝖺𝗅𝗌𝗄(b)\mathsf{Reveal_{sk}}(b) occurs. Since |Pr[𝖧𝗒𝖻2(0)=1]Pr[𝖧𝗒𝖻2(1)=1]||\Pr[\mathsf{Hyb}_{2}(0)=1]-\Pr[\mathsf{Hyb}_{2}(1)=1]| is non-negligible, 𝖠𝖽𝗏Σ𝗌𝗄𝖼𝖽,𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ)\mathsf{Adv}_{\Sigma_{\mathsf{skcd}},\mathcal{B}}^{\mathsf{otsk}\mbox{-}\mathsf{cert}\mbox{-}\mathsf{del}}(\lambda) is non-negligible. This contradicts the OT-CD security of Σ𝗌𝗄𝖼𝖽\Sigma_{\mathsf{skcd}}. ∎

By Propositions 3.11, 3.12 and 3.13, we immediately obtain Theorem 3.9.

Proof of Theorem 3.10.

For clarity, we describe how the experiment works against a QPT adversary 𝒜\mathcal{A}.

𝖤𝗑𝗉Σ𝖼𝖼𝖽,𝒜𝖼-𝗁𝗂𝖽𝖾(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{ccd}},\mathcal{A}}^{\mathsf{c}\mbox{-}\mathsf{hide}}(\lambda,b):

This is the original experiment.

  1. 1.

    A uniformly random function HH from {0,1}s(λ)\{0,1\}^{s(\lambda)} to {0,1}r(λ)\{0,1\}^{r(\lambda)} is chosen, and 𝒜\mathcal{A} can make arbitrarily quantum queries to HH at any time in the experiment.

  2. 2.

    𝒜\mathcal{A} chooses (m0,m1)2(m_{0},m_{1})\leftarrow\mathcal{M}^{2}, and sends (m0,m1)(m_{0},m_{1}) to the challenger.

  3. 3.

    The challenger generates 𝗌𝗄𝖾.𝗌𝗄𝖲𝖪𝖤.𝖪𝖾𝗒𝖦𝖾𝗇(1λ)\mathsf{ske}.\mathsf{sk}\leftarrow\mathsf{SKE}.\mathsf{KeyGen}(1^{\lambda}), R{0,1}s(λ)R\leftarrow\{0,1\}^{s(\lambda)} and R{0,1}t(λ)R^{\prime}\leftarrow\{0,1\}^{t(\lambda)}. The challenger computes 𝗌𝗄𝖾.𝖢𝖳𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗌𝗄,mb)\mathsf{ske}.\mathsf{CT}\leftarrow\mathsf{SKE}.\mathsf{Enc}(\mathsf{ske}.\mathsf{sk},m_{b}), f𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍(R,R)f\coloneqq\mathsf{Classical}.\mathsf{Commit}(R;R^{\prime}) and hH(R)𝗌𝗄𝖾.𝗌𝗄h\coloneqq H(R)\oplus\mathsf{ske}.\mathsf{sk}, and sends (𝗌𝗄𝖾.𝖢𝖳,f,h)(\mathsf{ske}.\mathsf{CT},f,h) to 𝒜\mathcal{A}.

  4. 4.

    𝒜\mathcal{A} outputs bb^{\prime}. The output of the experiment is bb^{\prime}.

Note that what we have to prove is

𝖠𝖽𝗏Σ𝖼𝖼𝖽,𝒜𝖼-𝗁𝗂𝖽𝖾|Pr[𝖤𝗑𝗉Σ𝖼𝖼𝖽,𝒜𝖼-𝗁𝗂𝖽𝖾(λ,0)=1]Pr[𝖤𝗑𝗉Σ𝖼𝖼𝖽,𝒜𝖼-𝗁𝗂𝖽𝖾(λ,1)=1]|𝗇𝖾𝗀𝗅(λ).\displaystyle\mathsf{Adv}_{\Sigma_{\mathsf{ccd}},\mathcal{A}}^{\mathsf{c}\mbox{-}\mathsf{hide}}\coloneqq\left|\Pr[\mathsf{Exp}_{\Sigma_{\mathsf{ccd}},\mathcal{A}}^{\mathsf{c}\mbox{-}\mathsf{hide}}(\lambda,0)=1]-\Pr[\mathsf{Exp}_{\Sigma_{\mathsf{ccd}},\mathcal{A}}^{\mathsf{c}\mbox{-}\mathsf{hide}}(\lambda,1)=1]\right|\leq{\mathsf{negl}}(\lambda). (39)

We define the following sequence of hybrids.

𝖧𝗒𝖻1(b)\mathsf{Hyb}_{1}(b):

This is identical to 𝖤𝗑𝗉Σ𝖼𝖼𝖽,𝒜𝖼-𝗁𝗂𝖽𝖾(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{ccd}},\mathcal{A}}^{\mathsf{c}\mbox{-}\mathsf{hide}}(\lambda,b) except that the oracle given to 𝒜\mathcal{A} is replaced with HRHH_{R\rightarrow H^{\prime}} which is HH reprogrammed according to HH^{\prime} on an input RR where HH^{\prime} is another independent random function. More formally, HRHH_{R\rightarrow H^{\prime}} is defined by

HRH(R){H(R)(RR)H(R)(R=R).\displaystyle H_{R\rightarrow H^{\prime}}(R^{*})\coloneqq\begin{cases}H(R^{*})~~~&(R^{*}\neq R)\\ H^{\prime}(R^{*})~~~&(R^{*}=R).\end{cases} (40)

We note that the challenger still uses HH to generate hh.

𝖧𝗒𝖻2(b)\mathsf{Hyb}_{2}(b):

This is identical to 𝖧𝗒𝖻1(b)\mathsf{Hyb}_{1}(b) except that the challenger generates hh uniformly random.

Proposition 3.14.

If Σ𝖼𝗈𝗆\Sigma_{\mathsf{com}} is unpredictable, then

|Pr[𝖤𝗑𝗉Σ𝖼𝖼𝖽,𝒜𝖼-𝗁𝗂𝖽𝖾(λ,b)=1]Pr[𝖧𝗒𝖻1(b)=1]|𝗇𝖾𝗀𝗅(λ).\displaystyle\left|\Pr[\mathsf{Exp}_{\Sigma_{\mathsf{ccd}},\mathcal{A}}^{\mathsf{c}\mbox{-}\mathsf{hide}}(\lambda,b)=1]-\Pr[\mathsf{Hyb}_{1}(b)=1]\right|\leq{\mathsf{negl}}(\lambda). (41)
Proof.

It is the same as that of Proposition 3.11. ∎

Proposition 3.15.

Pr[𝖧𝗒𝖻1(b)=1]=Pr[𝖧𝗒𝖻2(b)=1]\Pr[\mathsf{Hyb}_{1}(b)=1]=\Pr[\mathsf{Hyb}_{2}(b)=1].

Proof.

This is similar to the proof of Proposition 3.12. For clarity, we describe the proof. The difference between 𝖧𝗒𝖻1(b)\mathsf{Hyb}_{1}(b) and 𝖧𝗒𝖻2(b)\mathsf{Hyb}_{2}(b) is as follows. In 𝖧𝗒𝖻1(b)\mathsf{Hyb}_{1}(b), 𝒜\mathcal{A} receives hH(R)𝗌𝗄𝖾.𝗌𝗄h\coloneqq H(R)\oplus\mathsf{ske}.\mathsf{sk}. In 𝖧𝗒𝖻2(b)\mathsf{Hyb}_{2}(b), 𝒜\mathcal{A} receives a uniformly random hh. In 𝖧𝗒𝖻1(b)\mathsf{Hyb}_{1}(b), hh is uniformly random since H(R)H(R) is uniformly distributed. Therefore, the probability distribution that 𝒜\mathcal{A} in 𝖧𝗒𝖻1(b)\mathsf{Hyb}_{1}(b) receives hh is equal to the probability distribution that 𝒜\mathcal{A} in 𝖧𝗒𝖻2(b)\mathsf{Hyb}_{2}(b) receives hh. This completes the proof. ∎

Proposition 3.16.

If Σ𝗌𝗄𝖼𝖽\Sigma_{\mathsf{skcd}} is OT-CD secure, then

|Pr[𝖧𝗒𝖻2(0)=1]Pr[𝖧𝗒𝖻2(1)=1]|𝗇𝖾𝗀𝗅(λ).\displaystyle|\Pr[\mathsf{Hyb}_{2}(0)=1]-\Pr[\mathsf{Hyb}_{2}(1)=1]|\leq{\mathsf{negl}}(\lambda). (42)
Proof.

To show this, we assume that |Pr[𝖧𝗒𝖻2(1)=1]Pr[𝖧𝗒𝖻2(0)=1]||\Pr[\mathsf{Hyb}_{2}(1)=1]-\Pr[\mathsf{Hyb}_{2}(0)=1]| is non-negligible, and construct an adversary \mathcal{B} that breaks the OT-CD security of Σ𝗌𝗄𝖼𝖽\Sigma_{\mathsf{skcd}}.

First, \mathcal{B} sends (m0,m1)2(m_{0},m_{1})\in\mathcal{M}^{2} to the challenger of 𝖤𝗑𝗉Σ𝗌𝗄𝖼𝖽,𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{skcd}},\mathcal{B}}^{\mathsf{otsk}\mbox{-}\mathsf{cert}\mbox{-}\mathsf{del}}(\lambda,b^{\prime}). \mathcal{B} receives 𝗌𝗄𝖾.𝖢𝖳\mathsf{ske}.\mathsf{CT} from the challenger of 𝖤𝗑𝗉Σ𝗌𝗄𝖼𝖽,𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{skcd}},\mathcal{B}}^{\mathsf{otsk}\mbox{-}\mathsf{cert}\mbox{-}\mathsf{del}}(\lambda,b^{\prime}) and generates R{0,1}s(λ)R\leftarrow\{0,1\}^{s(\lambda)}, R{0,1}t(λ)R^{\prime}\leftarrow\{0,1\}^{t(\lambda)}, f𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍(R,R)f\coloneqq\mathsf{Classical}.\mathsf{Commit}(R;R^{\prime}) and h{0,1}r(λ)h\leftarrow\{0,1\}^{r(\lambda)}. \mathcal{B} sends (𝗌𝗄𝖾.𝖢𝖳,f,h)(\mathsf{ske}.\mathsf{CT},f,h) to 𝒜\mathcal{A}. \mathcal{B} simulates the random oracle given to 𝒜\mathcal{A}.

  • If b=0b^{\prime}=0, \mathcal{B} simulates the challenger of 𝖧𝗒𝖻2(0)\mathsf{Hyb}_{2}(0).

  • If b=1b^{\prime}=1, \mathcal{B} simulates the challenger of 𝖧𝗒𝖻2(1)\mathsf{Hyb}_{2}(1).

Thus, if 𝒜\mathcal{A} distinguishes the two experiments, \mathcal{B} breaks the OT-CD security of Σ𝗌𝗄𝖼𝖽\Sigma_{\mathsf{skcd}} by generating 𝗌𝗄𝖾.𝖼𝖾𝗋𝗍\mathsf{ske}.\mathsf{cert} and sends it to the challenger of 𝖤𝗑𝗉Σ𝗌𝗄𝖼𝖽,𝗈𝗍𝗌𝗄-𝖼𝖾𝗋𝗍-𝖽𝖾𝗅(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{skcd}},\mathcal{B}}^{\mathsf{otsk}\mbox{-}\mathsf{cert}\mbox{-}\mathsf{del}}(\lambda,b^{\prime}). This completes the proof. ∎

By Propositions 3.14, 3.15 and 3.16, we immediately obtain Theorem 3.10. ∎

4 Certified Everlasting Zero-Knowledge Proof for QMA

In this section, we define and construct the certified everlasting zero-knowledge proof for QMA. In Section 4.1, we define the certified everlasting zero-knowledge proof for QMA. We then construct a three round protocol with completeness-soundness gap 1poly(λ)\frac{1}{{\mathrm{poly}}(\lambda)} in Section 4.2, and finally amplify the gap to 1𝗇𝖾𝗀𝗅(λ)1-{\mathsf{negl}}(\lambda) with the sequential repetition in Section 4.3.

4.1 Definition

We first define a quantum interactive protocol. Usually, in zero-knowledge proofs or arguments, we do not consider prover’s output. However, in this paper, we also consider prover’s output, because we are interested in the certified everlasting zero-knowledge. Furthermore, in this paper, we consider only an interactive proof, which means that a malicious prover is unbounded.

Definition 4.1 (Quantum Interactive Protocol).

A quantum interactive protocol is modeled as an interaction between QPT machines 𝒫\mathcal{P} referred as a prover and 𝒱\mathcal{V} referred as a verifier. We denote by 𝒫(xP),𝒱(xV)(x)\langle\mathcal{P}(x_{P}),\mathcal{V}(x_{V})\rangle(x) an execution of the protocol where xx is a common input, xPx_{P} is 𝒫\mathcal{P}’s private input, and xVx_{V} is 𝒱\mathcal{V}’s private input. We denote by OUT𝒱𝒫(xP),𝒱(xV)(x)\mathrm{OUT}_{\mathcal{V}}\langle\mathcal{P}(x_{P}),\mathcal{V}(x_{V})\rangle(x) the final output of 𝒱\mathcal{V} in the execution. An honest verifier’s output is \top indicating acceptance or \bot indicating rejection, and a malicious verifier’s output is an arbitrary quantum state. We denote by OUT𝒫𝒫(xP),𝒱(xV)(x)\mathrm{OUT}_{\mathcal{P}}\langle\mathcal{P}(x_{P}),\mathcal{V}(x_{V})\rangle(x) the final output of 𝒫\mathcal{P} in the execution. An honest prover’s output is \top indicating acceptance or \bot indicating rejection. We also define OUT𝒫,𝒱𝒫(xP),𝒱(xV)(x)\mathrm{OUT^{\prime}}_{\mathcal{P},\mathcal{V}}\langle\mathcal{P}(x_{P}),\mathcal{V}(x_{V})\rangle(x) by

OUT𝒫,𝒱𝒫(xP),𝒱(xV)(x){(,OUT𝒱𝒫(xP),𝒱(xV)(x))(OUT𝒫𝒫(xP),𝒱(xV)(x)=)(,)(OUT𝒫𝒫(xP),𝒱(xV)(x)).\displaystyle\mathrm{OUT^{\prime}}_{\mathcal{P},\mathcal{V}}\langle\mathcal{P}(x_{P}),\mathcal{V}(x_{V})\rangle(x)\coloneqq\begin{cases}\left(\top,\mathrm{OUT}_{\mathcal{V}}\langle\mathcal{P}(x_{P}),\mathcal{V}(x_{V})\rangle(x)\right)~~~&(\mathrm{OUT}_{\mathcal{P}}\langle\mathcal{P}(x_{P}),\mathcal{V}(x_{V})\rangle(x)=\top)\\ (\bot,\bot)~~~&(\mathrm{OUT}_{\mathcal{P}}\langle\mathcal{P}(x_{P}),\mathcal{V}(x_{V})\rangle(x)\neq\top).\end{cases} (43)

We next define a computational zero-knowledge proof for QMA, which is the standard definition.

Definition 4.2 (Computational Zero-Knowledge Proof for QMA).

A cc-complete ss-sound computational zero-knowledge proof for a QMA promise problem A=(A𝗒𝖾𝗌,A𝗇𝗈)A=(A_{\mathsf{yes}},A_{\mathsf{no}}) is a quantum interactive protocol between a QPT prover 𝒫\mathcal{P} and a QPT verifier 𝒱\mathcal{V} that satisfies the followings:

cc-completeness:

For any 𝗑A𝗒𝖾𝗌\mathsf{x}\in A_{\mathsf{yes}} and any 𝗐RA(𝗑)\mathsf{w}\in R_{A}(\mathsf{x}),

Pr[𝖮𝗎𝗍𝒱𝒫(𝗐k(|𝗑|)),𝒱(𝗑)=]c\displaystyle\Pr[\mathsf{Out}_{\mathcal{V}}\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}\rangle(\mathsf{x})=\top]\geq c (44)

for some polynomial kk.

ss-soundness:

For any 𝗑A𝗇𝗈\mathsf{x}\in A_{\mathsf{no}} and any unbounded-time prover 𝒫\mathcal{P}^{*},

Pr[𝖮𝗎𝗍𝒱𝒫,𝒱(𝗑)=]s.\displaystyle\Pr[\mathsf{Out}_{\mathcal{V}}\langle\mathcal{P}^{*},\mathcal{V}\rangle(\mathsf{x})=\top]\leq s. (45)
Computational zero-knowledge:

There exists a QPT algorithm 𝒮\mathcal{S} such that

𝖮𝖴𝖳𝒱𝒫(𝗐k(|𝗑|)),𝒱()(𝗑)c𝒮(𝗑,𝒱,)\displaystyle\mathsf{OUT}_{\mathcal{V}^{*}}\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\cdot)\rangle(\mathsf{x})\approx_{c}\mathcal{S}(\mathsf{x},\mathcal{V}^{*},\cdot~) (46)

for any QPT malicious verifier 𝒱\mathcal{V}^{*}, any 𝗑A𝗒𝖾𝗌{0,1}λ\mathsf{x}\in A_{\mathsf{yes}}\cap\{0,1\}^{\lambda}, any 𝗐RA(𝗑)\mathsf{w}\in R_{A}(\mathsf{x}), and some polynomial kk. Note that 𝖮𝖴𝖳𝒱𝒫(𝗐k(|𝗑|)),𝒱()(𝗑)\mathsf{OUT}_{\mathcal{V}^{*}}\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\cdot)\rangle(\mathsf{x}) and 𝒮(𝗑,𝒱,)\mathcal{S}(\mathsf{x},\mathcal{V}^{*},\cdot~) are quantum channels that map any quantum state ξ\xi to quantum states 𝖮𝖴𝖳𝒱𝒫(𝗐k(|𝗑|)),𝒱(ξ)(𝗑)\mathsf{OUT}_{\mathcal{V}^{*}}\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\xi)\rangle(\mathsf{x}) and 𝒮(𝗑,𝒱,ξ)\mathcal{S}(\mathsf{x},\mathcal{V}^{*},\xi), respectively.

We just call it a computational zero-knowledge proof if it satisfies (1𝗇𝖾𝗀𝗅(|𝗑|))(1-{\mathsf{negl}}(|\mathsf{x}|))-completeness, 𝗇𝖾𝗀𝗅(|𝗑|){\mathsf{negl}}(|\mathsf{x}|)-soundness, and computational zero-knowledge.

We finally define a certified everlasting zero-knowledge proof for QMA, which is the main target of this paper.

Definition 4.3 (Certified Everlasting Zero-Knowledge Proof for QMA).

A certified everlasting zero-knowledge proof for a QMA promise problem A=(A𝗒𝖾𝗌,A𝗇𝗈)A=(A_{\mathsf{yes}},A_{\mathsf{no}}) is a computational zero-knowledge proof for AA (Definition 4.2) that additionally satisfies the followings:

Prover’s completeness:

Pr[OUT𝒫𝒫(𝗐k(|𝗑|)),𝒱(𝗑)=]1𝗇𝖾𝗀𝗅(λ)\Pr[\mathrm{OUT}_{\mathcal{P}}\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}\rangle(\mathsf{x})=\top]\geq 1-{\mathsf{negl}}(\lambda) for any 𝗑A𝗒𝖾𝗌{0,1}λ\mathsf{x}\in A_{\mathsf{yes}}\cap\{0,1\}^{\lambda} and any 𝗐RA(𝗑)\mathsf{w}\in R_{A}(\mathsf{x}).

Certified everlasting zero-knowledge:

There exists a QPT algorithm 𝒮\mathcal{S} such that

OUT𝒫,𝒱𝒫(𝗐k(|𝗑|)),𝒱()(𝗑)s𝒮(𝗑,𝒱,)\displaystyle\mathrm{OUT^{\prime}}_{\mathcal{P},\mathcal{V}^{*}}\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\cdot)\rangle(\mathsf{x})\approx_{s}\mathcal{S}(\mathsf{x},\mathcal{V}^{*},\cdot~) (47)

for any QPT malicious verifier 𝒱\mathcal{V}^{*}, any 𝗑A𝗒𝖾𝗌{0,1}λ\mathsf{x}\in A_{\mathsf{yes}}\cap\{0,1\}^{\lambda}, any 𝗐RA(𝗑)\mathsf{w}\in R_{A}(\mathsf{x}), and some polynomial kk. Note that 𝖮𝖴𝖳𝒫,𝒱𝒫(𝗐k(|𝗑|)),𝒱()(𝗑)\mathsf{OUT^{\prime}}_{\mathcal{P},\mathcal{V}^{*}}\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\cdot)\rangle(\mathsf{x}) and 𝒮(𝗑,𝒱,)\mathcal{S}(\mathsf{x},\mathcal{V}^{*},\cdot~) are quantum channels that map any quantum state ξ\xi to quantum states 𝖮𝖴𝖳𝒫,𝒱𝒫(𝗐k(|𝗑|)),𝒱(ξ)(𝗑)\mathsf{OUT^{\prime}}_{\mathcal{P},\mathcal{V}^{*}}\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\xi)\rangle(\mathsf{x}) and 𝒮(𝗑,𝒱,ξ)\mathcal{S}(\mathsf{x},\mathcal{V}^{*},\xi), respectively.

Remark 4.4.

We remark that certified everlasting zero-knowledge does not imply computational zero-knowledge since it does not require anything if the prover does not output \top.

4.2 Construction of Three Round Protocol

In this section, we construct a three round protocol with completeness-soundness gap 1poly(λ)\frac{1}{{\mathrm{poly}}(\lambda)}. In the next section, we will amplify its completeness-soundness gap by the sequential repetition.

In the following, nn, mm, Πc\Pi_{c}, ρ𝗁𝗂𝗌𝗍\rho_{\mathsf{hist}}, and ρ𝖲𝗂𝗆𝗑,S\rho_{\mathsf{Sim}}^{\mathsf{x},S} are given in Definition 2.4. Let Sc[n]S_{c}\subseteq[n] be the set of qubits on which Πc\Pi_{c} acts non-trivially. The three round protocol ΣΞ𝖼𝖽\Sigma_{\Xi\mathsf{cd}} is constructed from commitment with certified everlasting hiding and classical-extractor-based binding, Σ𝖼𝖼𝖽=(𝖢𝗈𝗆𝗆𝗂𝗍,𝖵𝖾𝗋𝗂𝖿𝗒,𝖣𝖾𝗅,𝖢𝖾𝗋𝗍)\Sigma_{\mathsf{ccd}}=(\mathsf{Commit},\mathsf{Verify},\mathsf{Del},\mathsf{Cert}).

The first action by the prover (commitment phase):

  • Generate x,z{0,1}nx,z\leftarrow\{0,1\}^{n}.

  • Compute

    (𝖼𝗈𝗆i(xi),𝖽i(xi),𝖼𝗄i(xi))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,xi)\displaystyle(\mathsf{com}_{i}(x_{i}),\mathsf{d}_{i}(x_{i}),\mathsf{ck}_{i}(x_{i}))\leftarrow\mathsf{Commit}(1^{\lambda},x_{i}) (48)
    (𝖼𝗈𝗆i(zi),𝖽i(zi),𝖼𝗄i(zi))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,zi)\displaystyle(\mathsf{com}_{i}(z_{i}),\mathsf{d}_{i}(z_{i}),\mathsf{ck}_{i}(z_{i}))\leftarrow\mathsf{Commit}(1^{\lambda},z_{i}) (49)

    for all i[n]i\in[n].

  • Generate a simulatable witness ρ𝗁𝗂𝗌𝗍\rho_{\mathsf{hist}} for the instance 𝗑\mathsf{x} and generate XxZzρ𝗁𝗂𝗌𝗍ZzXxX^{x}Z^{z}\rho_{\mathsf{hist}}Z^{z}X^{x}.

  • Send the first message (commitment), 𝗆𝗌𝗀1(XxZzρ𝗁𝗂𝗌𝗍ZzXx)𝖼𝗈𝗆(x)𝖼𝗈𝗆(z)\mathsf{msg}_{1}\coloneqq(X^{x}Z^{z}\rho_{\mathsf{hist}}Z^{z}X^{x})\otimes\mathsf{com}(x)\otimes\mathsf{com}(z), to the verifier, where 𝖼𝗈𝗆(x)i=1n𝖼𝗈𝗆i(xi)\mathsf{com}(x)\coloneqq\bigotimes_{i=1}^{n}\mathsf{com}_{i}(x_{i}) and 𝖼𝗈𝗆(z)i=1n𝖼𝗈𝗆i(zi)\mathsf{com}(z)\coloneqq\bigotimes_{i=1}^{n}\mathsf{com}_{i}(z_{i}).

The second action by the verifier (challenge phase):

  • Generate c[m]c\leftarrow[m].

  • Compute 𝖼𝖾𝗋𝗍i(xi)𝖣𝖾𝗅(𝖼𝗈𝗆i(xi))\mathsf{cert}_{i}(x_{i})\leftarrow\mathsf{Del}(\mathsf{com}_{i}(x_{i})) and 𝖼𝖾𝗋𝗍i(zi)𝖣𝖾𝗅(𝖼𝗈𝗆i(zi))\mathsf{cert}_{i}(z_{i})\leftarrow\mathsf{Del}(\mathsf{com}_{i}(z_{i})) for all iS¯ci\in\overline{S}_{c}.

  • Send the second message (challenge), 𝗆𝗌𝗀2(c,{𝖼𝖾𝗋𝗍i(xi),𝖼𝖾𝗋𝗍i(zi)}iS¯c)\mathsf{msg}_{2}\coloneqq(c,\{\mathsf{cert}_{i}(x_{i}),\mathsf{cert}_{i}(z_{i})\}_{i\in\overline{S}_{c}}), to the prover.

The third action by the prover (reply phase):

  • Send the third message (reply), 𝗆𝗌𝗀3{𝖽i(xi),𝖽i(zi)}iSc\mathsf{msg}_{3}\coloneqq\{\mathsf{d}_{i}(x_{i}),\mathsf{d}_{i}(z_{i})\}_{i\in S_{c}}, to the verifier.

  • Output \top if 𝖢𝖾𝗋𝗍(𝖼𝖾𝗋𝗍i(xi),𝖼𝗄i(xi))\top\leftarrow\mathsf{Cert}(\mathsf{cert}_{i}(x_{i}),\mathsf{ck}_{i}(x_{i})) and 𝖢𝖾𝗋𝗍(𝖼𝖾𝗋𝗍i(zi),𝖼𝗄i(zi))\top\leftarrow\mathsf{Cert}(\mathsf{cert}_{i}(z_{i}),\mathsf{ck}_{i}(z_{i})) for all iS¯ci\in\overline{S}_{c}, and output \bot otherwise.

The fourth action by the verifier (verification phase):

  • Compute xi𝖵𝖾𝗋𝗂𝖿𝗒(𝖼𝗈𝗆i(xi),𝖽i(xi))x^{\prime}_{i}\leftarrow\mathsf{Verify}(\mathsf{com}_{i}(x_{i}),\mathsf{d}_{i}(x_{i})) and zi𝖵𝖾𝗋𝗂𝖿𝗒(𝖼𝗈𝗆i(zi),𝖽i(zi))z^{\prime}_{i}\leftarrow\mathsf{Verify}(\mathsf{com}_{i}(z_{i}),\mathsf{d}_{i}(z_{i})) for all iSci\in S_{c}. If xi=x_{i}^{\prime}=\bot or zi=z_{i}^{\prime}=\bot for at least one iSci\in S_{c}, output \bot and abort.

  • Apply XixiZiziX_{i}^{x^{\prime}_{i}}Z_{i}^{z^{\prime}_{i}} on the ii-th qubit of XxZzρ𝗁𝗂𝗌𝗍ZzXxX^{x}Z^{z}\rho_{\mathsf{hist}}Z^{z}X^{x} for each iSci\in S_{c}, and perform the POVM measurement {Πc,IΠc}\{\Pi_{c},I-\Pi_{c}\} on the state.

  • Output \top if the result Πc\Pi_{c} is obtained, and output \bot otherwise.

Theorem 4.5.

ΣΞ𝖼𝖽\Sigma_{\Xi\mathsf{cd}} is a certified everlasting zero-knowledge proof for QMA with (1𝗇𝖾𝗀𝗅(λ))(1-{\mathsf{negl}}(\lambda))-completeness and (11poly(λ))\left(1-\frac{1}{{\mathrm{poly}}(\lambda)}\right)-soundness.

This is shown from the following Lemmas 4.6, 4.7, 4.8 and 4.9.

Lemma 4.6.

ΣΞ𝖼𝖽\Sigma_{\Xi\mathsf{cd}} satisfies the (1𝗇𝖾𝗀𝗅(λ))(1-{\mathsf{negl}}(\lambda))-completeness and prover’s completeness.

Lemma 4.7.

If Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}} is classical-extractor-based binding, then ΣΞ𝖼𝖽\Sigma_{\Xi\mathsf{cd}} satisfies (11poly(λ))\left(1-\frac{1}{{\mathrm{poly}}(\lambda)}\right)-soundness.

Lemma 4.8.

If Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}} is certified everlasting hiding and computational hiding, then ΣΞ𝖼𝖽\Sigma_{\Xi\mathsf{cd}} satisfies certified everlasting zero-knowledge.

Lemma 4.9.

If Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}} is computational hiding, then ΣΞ𝖼𝖽\Sigma_{\Xi\mathsf{cd}} satisfies computational zero-knowledge.

Proof of Lemma 4.6.

It is clear from the definition of kk-SimQMA (Definition 2.4) and the correctness of Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}}. ∎

Proof of Lemma 4.7.

Let us show the soundness by analyzing the case for 𝗑A𝗇𝗈\mathsf{x}\in A_{\mathsf{no}}. The prover sends the first message to the verifier. The first message consists of three registers, RSRS, RCXRCX, and RCZRCZ. The register RCXRCX further consists of nn registers {RCXi}i[n]\{RCX_{i}\}_{i\in[n]}. The register RCZRCZ also consists of nn registers {RCZi}i[n]\{RCZ_{i}\}_{i\in[n]}. If the prover is honest, RSRS contains XxZzρ𝗁𝗂𝗌𝗍ZzXxX^{x}Z^{z}\rho_{\mathsf{hist}}Z^{z}X^{x}, RCXiRCX_{i} contains 𝖼𝗈𝗆i(xi)\mathsf{com}_{i}(x_{i}), and RCZiRCZ_{i} contains 𝖼𝗈𝗆i(zi)\mathsf{com}_{i}(z_{i}). Let 𝖼𝗈𝗆i,x\mathsf{com}_{i,x}^{\prime} and 𝖼𝗈𝗆i,z\mathsf{com}_{i,z}^{\prime} be the (reduced) states of the registers RCXiRCX_{i} and RCZiRCZ_{i}, respectively. Let fi,xf_{i,x}^{\prime} and fi,zf_{i,z}^{\prime} be classical parts of 𝖼𝗈𝗆i,x\mathsf{com}_{i,x}^{\prime} and 𝖼𝗈𝗆i,z\mathsf{com}_{i,z}^{\prime}, respectively.

The verifier generates c[m]c\leftarrow[m], and issues the deletion certificate. The verifier sends cc and the deletion certificate to the prover. The verifier then receives {𝖽1x,i,𝖽2x,i,𝖽1z,i,𝖽2z,i}iSc\{\mathsf{d}_{1}^{x,i},\mathsf{d}_{2}^{x,i},\mathsf{d}_{1}^{z,i},\mathsf{d}_{2}^{z,i}\}_{i\in S_{c}} from the prover. For each i[n]i\in[n], let us define 𝖽1,x,i\mathsf{d}_{1}^{*,x,i} and 𝖽1,z,i\mathsf{d}_{1}^{*,z,i} by 𝖽1,x,i𝖤𝗑𝗍(fi,x)\mathsf{d}_{1}^{*,x,i}\leftarrow\mathsf{Ext}(f_{i,x}^{\prime}) and 𝖽1,z,i𝖤𝗑𝗍(fi,z)\mathsf{d}_{1}^{*,z,i}\leftarrow\mathsf{Ext}(f_{i,z}^{\prime}), respectively. Note that each 𝖽1,x,i\mathsf{d}_{1}^{*,x,i} and 𝖽1,z,i\mathsf{d}_{1}^{*,z,i} is independent of cc, because 𝖼𝗈𝗆i,x\mathsf{com}_{i,x}^{\prime} and 𝖼𝗈𝗆i,z\mathsf{com}_{i,z}^{\prime} are sent to the verifier before the verifier chooses cc.

We have only to consider the case when 𝖽1x,i=𝖽1,x,i\mathsf{d}_{1}^{x,i}=\mathsf{d}_{1}^{*,x,i} and 𝖽1z,i=𝖽1,z,i\mathsf{d}_{1}^{z,i}=\mathsf{d}_{1}^{*,z,i} for all iSci\in S_{c}, because of the following reason: Due to the classical-extractor-based binding of Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}}, 𝖵𝖾𝗋𝗂𝖿𝗒(𝖼𝗈𝗆i,x,(𝖽1x,i,𝖽2x,i))=\mathsf{Verify}(\mathsf{com}_{i,x}^{\prime},(\mathsf{d}_{1}^{x,i},\mathsf{d}_{2}^{x,i}))=\bot for any 𝖽1x,i𝖽1,x,i\mathsf{d}_{1}^{x,i}\neq\mathsf{d}_{1}^{*,x,i} and any 𝖽2x,i\mathsf{d}_{2}^{x,i}. Similarly, 𝖵𝖾𝗋𝗂𝖿𝗒(𝖼𝗈𝗆i,z,(𝖽1z,i,𝖽2z,i))=\mathsf{Verify}(\mathsf{com}_{i,z}^{\prime},(\mathsf{d}_{1}^{z,i},\mathsf{d}_{2}^{z,i}))=\bot for any 𝖽1z,i𝖽1,z,i\mathsf{d}_{1}^{z,i}\neq\mathsf{d}_{1}^{*,z,i} and any 𝖽2z,i\mathsf{d}_{2}^{z,i}. Therefore, the prover who wants to make the verifier accept has to send 𝖽1x,i=𝖽1,x,i\mathsf{d}_{1}^{x,i}=\mathsf{d}_{1}^{*,x,i} and 𝖽1z,i=𝖽1,z,i\mathsf{d}_{1}^{z,i}=\mathsf{d}_{1}^{*,z,i} for all iSci\in S_{c}.

Let us define

p(x,z)Pr[i[n](𝖵𝖾𝗋𝗂𝖿𝗒2(𝖼𝗈𝗆i,x,𝖽1,x,i)xi𝖵𝖾𝗋𝗂𝖿𝗒2(𝖼𝗈𝗆i,z,𝖽1,z,i)zi)].\displaystyle p(x,z)\coloneqq\Pr\left[\bigwedge_{i\in[n]}\left(\mathsf{Verify}_{2}(\mathsf{com}_{i,x}^{\prime},\mathsf{d}_{1}^{*,x,i})\to x_{i}\wedge\mathsf{Verify}_{2}(\mathsf{com}_{i,z}^{\prime},\mathsf{d}_{1}^{*,z,i})\to z_{i}\right)\right]. (50)

Note that p(x,z)p(x,z) is independent of cc, because {𝖼𝗈𝗆i,x,𝖼𝗈𝗆i,z}i[n]\{\mathsf{com}_{i,x}^{\prime},\mathsf{com}_{i,z}^{\prime}\}_{i\in[n]} and {𝖽1,x,i,𝖽1,z,i}i[n]\{\mathsf{d}_{1}^{*,x,i},\mathsf{d}_{1}^{*,z,i}\}_{i\in[n]} are independent of cc. Let ψ\psi be the (reduced) state of the register RSRS. The verifier’s acceptance probability is

1mc[m]x,z{0,1}np(x,z)Tr[Πc(iScZiziXixi)ψ(iScXixiZizi)]\displaystyle\frac{1}{m}\sum_{c\in[m]}\sum_{x,z\in\{0,1\}^{n}}p(x,z)\Tr\left[\Pi_{c}\left(\prod_{i\in S_{c}}Z_{i}^{z_{i}}X_{i}^{x_{i}}\right)\psi\left(\prod_{i\in S_{c}}X_{i}^{x_{i}}Z_{i}^{z_{i}}\right)\right] (51)
=1mc[m]x,z{0,1}np(x,z)Tr[Πc(i[n]ZiziXixi)ψ(i[n]XixiZizi)]\displaystyle=\frac{1}{m}\sum_{c\in[m]}\sum_{x,z\in\{0,1\}^{n}}p(x,z)\Tr\left[\Pi_{c}\left(\prod_{i\in[n]}Z_{i}^{z_{i}}X_{i}^{x_{i}}\right)\psi\left(\prod_{i\in[n]}X_{i}^{x_{i}}Z_{i}^{z_{i}}\right)\right] (52)
=1mc[m]Tr[Πcx,z{0,1}np(x,z)(i[n]ZiziXixi)ψ(i[n]XixiZizi)]\displaystyle=\frac{1}{m}\sum_{c\in[m]}\Tr\left[\Pi_{c}\sum_{x,z\in\{0,1\}^{n}}p(x,z)\left(\prod_{i\in[n]}Z_{i}^{z_{i}}X_{i}^{x_{i}}\right)\psi\left(\prod_{i\in[n]}X_{i}^{x_{i}}Z_{i}^{z_{i}}\right)\right] (53)
11poly(λ),\displaystyle\leq 1-\frac{1}{{\mathrm{poly}}(\lambda)}, (54)

where the last inequality comes from Definition 2.4. This completes the proof. ∎

Proof of Lemma 4.8.

Let us show certified everlasting zero-knowledge. For a subset Sc[n]S_{c}\subseteq[n] and x,z{0,1}nx,z\in\{0,1\}^{n}, let us define xSc(x1Sc,x2Sc,,xnSc)x^{S_{c}}\coloneqq(x^{S_{c}}_{1},x^{S_{c}}_{2},\cdots,x^{S_{c}}_{n}) and zSc(z1Sc,z2Sc,,znSc)z^{S_{c}}\coloneqq(z^{S_{c}}_{1},z^{S_{c}}_{2},\cdots,z^{S_{c}}_{n}), where xiSc=xix^{S_{c}}_{i}=x_{i} and ziSc=ziz^{S_{c}}_{i}=z_{i} for iSci\in S_{c}, and xiSc=ziSc=0x^{S_{c}}_{i}=z^{S_{c}}_{i}=0 for iSci\notin S_{c}.

For clarity, we describe how the interactive algorithm 𝒫(𝗐k(|𝗑|)),𝒱(ξ)(𝗑)\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\xi)\rangle(\mathsf{x}) runs against a QPT verifier 𝒱\mathcal{V}^{*} with an input ξ\xi, where 𝗐\mathsf{w} is the witness and 𝗑\mathsf{x} is the instance.

𝒫(𝗐k(|𝗑|)),𝒱(ξ)(𝗑)\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\xi)\rangle(\mathsf{x}):

  1. 1.

    𝒫\mathcal{P} generates x,z{0,1}nx,z\leftarrow\{0,1\}^{n}, and computes

    (𝖼𝗈𝗆i(xi),𝖽i(xi),𝖼𝗄i(xi))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,xi)\displaystyle(\mathsf{com}_{i}(x_{i}),\mathsf{d}_{i}(x_{i}),\mathsf{ck}_{i}(x_{i}))\leftarrow\mathsf{Commit}(1^{\lambda},x_{i}) (55)
    (𝖼𝗈𝗆i(zi),𝖽i(zi),𝖼𝗄i(zi))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,zi)\displaystyle(\mathsf{com}_{i}(z_{i}),\mathsf{d}_{i}(z_{i}),\mathsf{ck}_{i}(z_{i}))\leftarrow\mathsf{Commit}(1^{\lambda},z_{i}) (56)

    for all i[n]i\in[n]. 𝒫\mathcal{P} sends 𝗆𝗌𝗀1(XxZzρ𝗁𝗂𝗌𝗍ZzXx)𝖼𝗈𝗆(x)𝖼𝗈𝗆(z)\mathsf{msg}_{1}\coloneqq(X^{x}Z^{z}\rho_{\mathsf{hist}}Z^{z}X^{x})\otimes\mathsf{com}(x)\otimes\mathsf{com}(z) to 𝒱\mathcal{V}^{*}.

  2. 2.

    𝒱\mathcal{V}^{*} appends ξ\xi to the received state, and runs a QPT circuit V1V_{1}^{*} on it to obtain (c,{𝖼𝖾𝗋𝗍i,x,𝖼𝖾𝗋𝗍i,z}iS¯c)(c,\{\mathsf{cert}_{i,x}^{\prime},\mathsf{cert}_{i,z}^{\prime}\}_{i\in\overline{S}_{c}}). 𝒱\mathcal{V}^{*} sends 𝗆𝗌𝗀2(c,{𝖼𝖾𝗋𝗍i,x,𝖼𝖾𝗋𝗍i,z}iS¯c)\mathsf{msg}_{2}\coloneqq(c,\{\mathsf{cert}_{i,x}^{\prime},\mathsf{cert}_{i,z}^{\prime}\}_{i\in\overline{S}_{c}}) to 𝒫\mathcal{P}.

  3. 3.

    𝒫\mathcal{P} sends 𝗆𝗌𝗀3{𝖽i(xi),𝖽i(zi)}iSc\mathsf{msg}_{3}\coloneqq\{\mathsf{d}_{i}(x_{i}),\mathsf{d}_{i}(z_{i})\}_{i\in S_{c}} to 𝒱\mathcal{V}^{*}.

  4. 4.

    𝒱\mathcal{V}^{*} appends 𝗆𝗌𝗀3\mathsf{msg}_{3} to its state, and runs a QPT circuit V2V_{2}^{*} on it. 𝒱\mathcal{V}^{*} outputs its state ξ\xi^{\prime}.

  5. 5.

    𝒫\mathcal{P} computes 𝖢𝖾𝗋𝗍(𝖼𝖾𝗋𝗍i,x,𝖼𝗄i(xi))\mathsf{Cert}(\mathsf{cert}_{i,x}^{\prime},\mathsf{ck}_{i}(x_{i})) and 𝖢𝖾𝗋𝗍(𝖼𝖾𝗋𝗍i,z,𝖼𝗄i(zi))\mathsf{Cert}(\mathsf{cert}_{i,z}^{\prime},\mathsf{ck}_{i}(z_{i})) for all iS¯ci\in\overline{S}_{c}. If all outputs are \top, then 𝒫\mathcal{P} outputs \top. Otherwise, 𝒫\mathcal{P} outputs \bot.

Next let us define a simulator 𝒮(1)\mathcal{S}^{(1)} as follows.

The simulator 𝒮(1)(𝗑,𝒱,ξ)\mathcal{S}^{(1)}(\mathsf{x},\mathcal{V}^{*},\xi):

  1. 1.

    Pick c[m]c\leftarrow[m] and x,z{0,1}nx,z\leftarrow\{0,1\}^{n}. Compute

    (𝖼𝗈𝗆i(xiSc),𝖽i(xiSc),𝖼𝗄i(xiSc))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,xiSc)\displaystyle(\mathsf{com}_{i}(x^{S_{c}}_{i}),\mathsf{d}_{i}(x^{S_{c}}_{i}),\mathsf{ck}_{i}(x^{S_{c}}_{i}))\leftarrow\mathsf{Commit}(1^{\lambda},x^{S_{c}}_{i}) (57)
    (𝖼𝗈𝗆i(ziSc),𝖽i(ziSc),𝖼𝗄i(ziSc))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,ziSc)\displaystyle(\mathsf{com}_{i}(z^{S_{c}}_{i}),\mathsf{d}_{i}(z^{S_{c}}_{i}),\mathsf{ck}_{i}(z^{S_{c}}_{i}))\leftarrow\mathsf{Commit}(1^{\lambda},z^{S_{c}}_{i}) (58)

    for all i[n]i\in[n].

  2. 2.

    Generate (XxZzσ(c)ZzXx)𝖼𝗈𝗆(xSc)𝖼𝗈𝗆(zSc)ξ(X^{x}Z^{z}\sigma(c)Z^{z}X^{x})\otimes\mathsf{com}(x^{S_{c}})\otimes\mathsf{com}(z^{S_{c}})\otimes\xi, where σ(c)ρ𝗌𝗂𝗆𝗑,Sc(iS¯c|00|i)\sigma(c)\coloneqq\rho_{\mathsf{sim}}^{\mathsf{x},S_{c}}\otimes\left(\prod_{i\in\overline{S}_{c}}|0\rangle\langle 0|_{i}\right). Run V1V_{1}^{*} on the state to obtain (c,{𝖼𝖾𝗋𝗍i,x,𝖼𝖾𝗋𝗍i,z}iS¯c)(c^{\prime},\{\mathsf{cert}_{i,x}^{\prime},\mathsf{cert}_{i,z}^{\prime}\}_{i\in\overline{S}_{c^{\prime}}}).

  3. 3.

    If ccc^{\prime}\neq c, abort and output a fixed state η\eta and the flag state 𝖿𝖺𝗂𝗅\mathsf{fail}.

  4. 4.

    Append {𝖽i(xiSc),𝖽i(ziSc)}iSc\{\mathsf{d}_{i}(x^{S_{c}}_{i}),\mathsf{d}_{i}(z^{S_{c}}_{i})\}_{i\in S_{c}} to its quantum state, and run V2V_{2}^{*} on the state to obtain ξ\xi^{\prime}.

  5. 5.

    Compute 𝖢𝖾𝗋𝗍(𝖼𝖾𝗋𝗍i,x,𝖼𝗄i(xiSc))\mathsf{Cert}(\mathsf{cert}_{i,x}^{\prime},\mathsf{ck}_{i}(x^{S_{c}}_{i})) and 𝖢𝖾𝗋𝗍(𝖼𝖾𝗋𝗍i,z,𝖼𝗄i(ziSc))\mathsf{Cert}(\mathsf{cert}_{i,z}^{\prime},\mathsf{ck}_{i}(z^{S_{c}}_{i})) for all iS¯ci\in\overline{S}_{c}. If all outputs are \top, then output the state (,ξ)(\top,\xi^{\prime}). Otherwise, output (,)(\bot,\bot). Also output the flag state 𝗌𝗎𝖼𝖼𝖾𝗌𝗌\mathsf{success}.

Let us also define other two simulators, 𝒮(2)\mathcal{S}^{(2)} and 𝒮(3)\mathcal{S}^{(3)}, as follows.

The simulator 𝒮(2)(𝗑,𝗐k(|𝗑|),𝒱,ξ)\mathcal{S}^{(2)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\xi):

It is the same as 𝒮(1)\mathcal{S}^{(1)} except that σ(c)\sigma(c) is replaced with ρ𝗁𝗂𝗌𝗍\rho_{\mathsf{hist}}.

The simulator 𝒮(3)(𝗑,𝗐k(|𝗑|),𝒱,ξ)\mathcal{S}^{(3)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\xi):

𝒮(3)(𝗑,𝗐k(|𝗑|),𝒱,)\mathcal{S}^{(3)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\cdot~) is the channel that postselects the output of
𝒮(2)(𝗑,𝗐k(|𝗑|),𝒱,)\mathcal{S}^{(2)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\cdot~) on the non-aborting state. More precisely, if we write 𝒮(2)(𝗑,𝗐k(|𝗑|),𝒱,ρin)=pρout𝗌𝗎𝖼𝖼𝖾𝗌𝗌+(1p)η𝖿𝖺𝗂𝗅\mathcal{S}^{(2)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\rho_{in})=p\rho_{out}\otimes\mathsf{success}+(1-p)\eta\otimes\mathsf{fail}, where pp is the non-aborting probability, 𝒮(3)(𝗑,𝗐k(|𝗑|),𝒱,ρin)=ρout\mathcal{S}^{(3)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\rho_{in})=\rho_{out}.

Lemma 4.8 is shown from the following Propositions 4.10, 4.11 and 4.12 (whose proofs will be given later) and quantum rewinding lemma (Lemma 2.1), which is used to reduce the probability that 𝒮(1)\mathcal{S}^{(1)} aborts to 𝗇𝖾𝗀𝗅(λ){\mathsf{negl}}(\lambda). In fact, from Propositions 4.10 and 2.1, there exists a quantum circuit 𝒮(0)\mathcal{S}^{(0)} of size at most O(mpoly(n)size(𝒮(1)))O(m\,{\rm poly}(n){\rm size}(\mathcal{S}^{(1)})) such that the probability that 𝒮(0)\mathcal{S}^{(0)} aborts is 𝗇𝖾𝗀𝗅(λ){\mathsf{negl}}(\lambda), and the output quantum states of 𝒮(0)\mathcal{S}^{(0)} and 𝒮(1)\mathcal{S}^{(1)} are 𝗇𝖾𝗀𝗅(λ){\mathsf{negl}}(\lambda)-close when they do not abort. From Propositions 4.11 and 4.12, 𝒮(0)\mathcal{S}^{(0)} is 𝗇𝖾𝗀𝗅(λ){\mathsf{negl}}(\lambda)-close to the real protocol, which completes the proof. ∎

Proposition 4.10.

If Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}} is computationally hiding, then the probability that 𝒮(1)\mathcal{S}^{(1)} does not abort is 1m±𝗇𝖾𝗀𝗅(λ)\frac{1}{m}\pm{\mathsf{negl}}(\lambda).

Proposition 4.11.

𝒮(1)(𝗑,𝒱,)s𝒮(2)(𝗑,𝗐k(|𝗑|),𝒱,)\mathcal{S}^{(1)}(\mathsf{x},\mathcal{V}^{*},\cdot~)\approx_{s}\mathcal{S}^{(2)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\cdot~) for any 𝗑A𝗒𝖾𝗌{0,1}λ\mathsf{x}\in A_{\mathsf{yes}}\cap\{0,1\}^{\lambda} and any 𝗐RA(𝗑)\mathsf{w}\in R_{A}(\mathsf{x}).

Proposition 4.12.

If Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}} is certified everlasting hiding, 𝒮(3)(𝗑,𝗐k(|𝗑|),𝒱,)s𝖮𝖴𝖳𝒫,𝒱𝒫(𝗐k(|𝗑|)),𝒱()(𝗑)\mathcal{S}^{(3)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\cdot~)\approx_{s}\mathsf{OUT^{\prime}}_{\mathcal{P},\mathcal{V}^{*}}\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\cdot)\rangle(\mathsf{x}).

Proof of Proposition 4.10.

This can be shown similarly to [BG20, Lemma 5.6]. For the convenience of readers, we provide a proof in Appendix A. ∎

Proof of Proposition 4.11.

It is clear from the local simulatability (Definition 2.4) and the definition of xScx^{S_{c}} and zScz^{S_{c}} (all xiScx_{i}^{S_{c}} and ziScz_{i}^{S_{c}} are 0 except for those in iSci\in S_{c}). ∎

Proof of Proposition 4.12.

We prove the proposition by contradiction. We construct an adversary \mathcal{B} that breaks the security of the certified everlasting hiding of Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}} by assuming the existence of a distinguisher 𝒟\mathcal{D} that distinguishes two states δ0\delta_{0} and δ1\delta_{1},

δ0(𝖮𝖴𝖳𝒫,𝒱𝒫(𝗐k(|𝗑|)),𝒱()(𝗑)I)σ\displaystyle\delta_{0}\coloneqq(\mathsf{OUT^{\prime}}_{\mathcal{P},\mathcal{V}^{*}}\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\cdot)\rangle(\mathsf{x})\otimes I)\sigma (59)
δ1(𝒮(3)(𝗑,𝗐k(|𝗑|),𝒱,)I)σ,\displaystyle\delta_{1}\coloneqq(\mathcal{S}^{(3)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\cdot~)\otimes I)\sigma, (60)

with a certain state σ\sigma. Let us describe how \mathcal{B} works.

  1. 1.

    \mathcal{B} generates c[m]c\leftarrow[m] and x,z{0,1}nx,z\leftarrow\{0,1\}^{n}.

  2. 2.

    \mathcal{B} sends m0{xi,zi}iS¯cm_{0}\coloneqq\{x_{i},z_{i}\}_{i\in\overline{S}_{c}} and m102n10m_{1}\coloneqq 0^{2n-10} to the challenger of 𝖤𝗑𝗉Σ𝖼𝖼𝖽,𝖻𝗂𝗍-𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{ccd}},\mathcal{B}}^{\mathsf{bit}\mbox{-}\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,b). \mathcal{B} receives commitments from the challenger which is either {𝖼𝗈𝗆i(xi),𝖼𝗈𝗆i(zi)}iS¯c\{\mathsf{com}_{i}(x_{i}),\mathsf{com}_{i}(z_{i})\}_{i\in\overline{S}_{c}} or {𝖼𝗈𝗆i(0),𝖼𝗈𝗆i(0)}iS¯c\{\mathsf{com}_{i}(0),\mathsf{com}_{i}(0)\}_{i\in\overline{S}_{c}}.

  3. 3.

    \mathcal{B} computes

    (𝖼𝗈𝗆i(xi),𝖽i(xi),𝖼𝗄i(xi))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,xi)\displaystyle(\mathsf{com}_{i}(x_{i}),\mathsf{d}_{i}(x_{i}),\mathsf{ck}_{i}(x_{i}))\leftarrow\mathsf{Commit}(1^{\lambda},x_{i}) (61)
    (𝖼𝗈𝗆i(zi),𝖽i(zi),𝖼𝗄i(zi))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,zi)\displaystyle(\mathsf{com}_{i}(z_{i}),\mathsf{d}_{i}(z_{i}),\mathsf{ck}_{i}(z_{i}))\leftarrow\mathsf{Commit}(1^{\lambda},z_{i}) (62)

    for iSci\in S_{c} by itself.

  4. 4.

    \mathcal{B} generates XxZzρ𝗁𝗂𝗌𝗍ZzXxX^{x}Z^{z}\rho_{\mathsf{hist}}Z^{z}X^{x}. \mathcal{B} appends commitments and σ\sigma to the quantum state. If the commitments for iS¯c{i\in\overline{S}_{c}} are {𝖼𝗈𝗆i(xi),𝖼𝗈𝗆i(zi)}iS¯c\{\mathsf{com}_{i}(x_{i}),\mathsf{com}_{i}(z_{i})\}_{i\in\overline{S}_{c}}, \mathcal{B} obtains (XxZzρ𝗁𝗂𝗌𝗍ZzXx)𝖼𝗈𝗆(x)𝖼𝗈𝗆(z)σ(X^{x}Z^{z}\rho_{\mathsf{hist}}Z^{z}X^{x})\otimes\mathsf{com}(x)\otimes\mathsf{com}(z)\otimes\sigma. If the commitments for iS¯c{i\in\overline{S}_{c}} are {𝖼𝗈𝗆i(0),𝖼𝗈𝗆i(0)}iS¯c\{\mathsf{com}_{i}(0),\mathsf{com}_{i}(0)\}_{i\in\overline{S}_{c}}, \mathcal{B} obtains (XxZzρ𝗁𝗂𝗌𝗍ZzXx)𝖼𝗈𝗆(xSc)𝖼𝗈𝗆(zSc)σ(X^{x}Z^{z}\rho_{\mathsf{hist}}Z^{z}X^{x})\otimes\mathsf{com}(x^{S_{c}})\otimes\mathsf{com}(z^{S_{c}})\otimes\sigma.

  5. 5.

    \mathcal{B} runs V1V_{1}^{*} on it to obtain (c,{𝖼𝖾𝗋𝗍i,x,𝖼𝖾𝗋𝗍i,z}iS¯c)(c^{\prime},\{\mathsf{cert}_{i,x}^{\prime},\mathsf{cert}_{i,z}^{\prime}\}_{i\in\overline{S}_{c^{\prime}}}). \mathcal{B} aborts when ccc\neq c^{\prime}.

  6. 6.

    \mathcal{B} appends {𝖽i(xi),𝖽i(zi)}iSc\{\mathsf{d}_{i}(x_{i}),\mathsf{d}_{i}(z_{i})\}_{i\in S_{c}} to the post-measurement state and runs V2V_{2}^{*} on it to obtain σ\sigma^{\prime}.

  7. 7.

    \mathcal{B} sends {𝖼𝖾𝗋𝗍i,x,𝖼𝖾𝗋𝗍i,z}iS¯c\{\mathsf{cert}_{i,x}^{\prime},\mathsf{cert}_{i,z}^{\prime}\}_{i\in\overline{S}_{c}} to the challenger of 𝖤𝗑𝗉Σ𝖼𝖼𝖽,𝖻𝗂𝗍-𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{ccd}},\mathcal{B}}^{\mathsf{bit}\mbox{-}\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,b), and receives \bot or {𝖽i(xi),𝖽i(zi)}iS¯c\{\mathsf{d}_{i}(x_{i}),\mathsf{d}_{i}(z_{i})\}_{i\in\overline{S}_{c}} and {𝖼𝗄i(xi),𝖼𝗄i(zi)}iS¯c\{\mathsf{ck}_{i}(x_{i}),\mathsf{ck}_{i}(z_{i})\}_{i\in\overline{S}_{c}} from the challenger.

  8. 8.

    \mathcal{B} passes (,)(\bot,\bot) to 𝒟\mathcal{D} if \mathcal{B} receives \bot from the challenger, and passes (,σ)(\top,\sigma^{\prime}) to 𝒟\mathcal{D} otherwise.

  9. 9.

    When 𝒟\mathcal{D} outputs bb, \mathcal{B} outputs bb.

When \mathcal{B} receives {𝖼𝗈𝗆i(xi),𝖼𝗈𝗆i(zi)}iS¯c\{\mathsf{com}_{i}(x_{i}),\mathsf{com}_{i}(z_{i})\}_{i\in\overline{S}_{c}} from the challenger and it does not abort, it simulates
𝖮𝖴𝖳𝒫,𝒱𝒫(𝗐k(|𝗑|)),𝒱()(𝗑){\mathsf{OUT}}^{\prime}_{\mathcal{P},\mathcal{V}^{*}}\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\cdot)\rangle(\mathsf{x}). Because (XxZzρ𝗁𝗂𝗌𝗍ZzXx)𝖼𝗈𝗆(x)𝖼𝗈𝗆(z)σ(X^{x}Z^{z}\rho_{\mathsf{hist}}Z^{z}X^{x})\otimes\mathsf{com}(x)\otimes\mathsf{com}(z)\otimes\sigma is independent of cc, the probability that \mathcal{B} does not abort is 1m\frac{1}{m}. Therefore, \mathcal{B} can simulate 𝖮𝖴𝖳𝒫,𝒱𝒫(𝗐k(|𝗑|)),𝒱()(𝗑){\mathsf{OUT}}^{\prime}_{\mathcal{P},\mathcal{V}^{*}}\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\cdot)\rangle(\mathsf{x}) with probability 1m\frac{1}{m}.

When \mathcal{B} receives {𝖼𝗈𝗆i(0),𝖼𝗈𝗆i(0)}iS¯c\{\mathsf{com}_{i}(0),\mathsf{com}_{i}(0)\}_{i\in\overline{S}_{c}} from the challenger and it does not abort, it simulates 𝒮(3)(𝗑,𝗐k(|𝗑|),𝒱,)\mathcal{S}^{(3)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\cdot~). The probability that \mathcal{B} does not abort is 1m±𝗇𝖾𝗀𝗅(λ)\frac{1}{m}\pm{\mathsf{negl}}(\lambda) from Propositions 4.10 and 4.11. Therefore, \mathcal{B} can simulate 𝒮(3)(𝗑,𝗐k(|𝗑|),𝒱,)\mathcal{S}^{(3)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\cdot~) with probability 1m±𝗇𝖾𝗀𝗅(λ)\frac{1}{m}\pm{\mathsf{negl}}(\lambda).

Therefore, if there exists a distinguisher 𝒟\mathcal{D} that distinguishes δ0\delta_{0} and δ1\delta_{1}, \mathcal{B} can distinguish {𝖼𝗈𝗆i(xi),𝖼𝗈𝗆i(zi)}iS¯c\{\mathsf{com}_{i}(x_{i}),\mathsf{com}_{i}(z_{i})\}_{i\in\overline{S}_{c}} from {𝖼𝗈𝗆i(0),𝖼𝗈𝗆i(0)}iS¯c\{\mathsf{com}_{i}(0),\mathsf{com}_{i}(0)\}_{i\in\overline{S}_{c}}. From Lemma 3.7, this contradicts the certified everlasting hiding of Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}}.

Proof of Lemma 4.9.

Computational zero-knowledge can be proven similarly to [BG20, Lemma 5.3] because our protocol is identical to theirs if we ignore the deletion certificates, which are irrelevant to the computational zero-knowledge property. For the convenience of readers, we provide a proof in Appendix B. ∎

4.3 Sequential Repetition for Certified Everlasting Zero-Knowledge Proof for QMA

In this section, we amplify the completeness-soundness gap of the three-round protocol constructed in the previous section by sequential repetition.

Theorem 4.13.

Let ΣΞ𝖼𝖽\Sigma_{\Xi\mathsf{cd}} be a certified everlasting zero-knowledge proof for a QMA promise problem AA with (1𝗇𝖾𝗀𝗅(λ))\left(1-{\mathsf{negl}}(\lambda)\right)-completeness and (11poly(λ))\left(1-\frac{1}{\rm poly(\lambda)}\right)-soundness. For any polynomial N=poly(λ)N={\rm poly(\lambda)}, let ΣΞ𝖼𝖽N\Sigma_{\Xi\mathsf{cd}}^{N} be the NN-sequential repetition of ΣΞ𝖼𝖽\Sigma_{\Xi\mathsf{cd}}. That is, 𝒫\mathcal{P} and 𝒱\mathcal{V} in ΣΞ𝖼𝖽N\Sigma_{\Xi\mathsf{cd}}^{N} run ΣΞ𝖼𝖽\Sigma_{\Xi\mathsf{cd}} sequentially NN times. Let 𝒫j\mathcal{P}_{j} and 𝒱j\mathcal{V}_{j} be the prover and the verifier in the jj-th run of ΣΞ𝖼𝖽\Sigma_{\Xi\mathsf{cd}}, respectively. 𝒫\mathcal{P} in ΣΞ𝖼𝖽N\Sigma_{\Xi\mathsf{cd}}^{N} outputs \top if 𝒫j\mathcal{P}_{j} outputs \top for all j[N]j\in[N], and outputs \bot otherwise. 𝒱\mathcal{V} in ΣΞ𝖼𝖽N\Sigma_{\Xi\mathsf{cd}}^{N} outputs \top if 𝒱j\mathcal{V}_{j} outputs \top for all j[N]j\in[N], and outputs \bot otherwise. ΣΞ𝖼𝖽N\Sigma_{\Xi\mathsf{cd}}^{N} is a certified everlasting zero-knowledge proof for AA with (1𝗇𝖾𝗀𝗅(λ))(1-{\mathsf{negl}}(\lambda))-completeness and 𝗇𝖾𝗀𝗅(λ){\mathsf{negl}}(\lambda)-soundness.

Proof of Theorem 4.13.

It is easy to show that ΣΞ𝖼𝖽N\Sigma_{\Xi\mathsf{cd}}^{N} satisfies (1𝗇𝖾𝗀𝗅(λ))(1-{\mathsf{negl}}(\lambda))-completeness and 𝗇𝖾𝗀𝗅(λ){\mathsf{negl}}(\lambda)-soundness. Moreover, as proven in [GO94], the sequential repetition of a computational zero-knowledge proof preserves the computational zero-knowledge property. Let us show that ΣΞ𝖼𝖽N\Sigma_{\Xi\mathsf{cd}}^{N} satisfies certified everlasting zero-knowledge. For clarity, we describe how 𝒫(𝗐Nk(|𝗑|)),𝒱(ξ1)(𝗑)\langle\mathcal{P}(\mathsf{w}^{\otimes Nk(|\mathsf{x}|)}),\mathcal{V}^{*}(\xi_{1})\rangle(\mathsf{x}) runs against any QPT verifier 𝒱\mathcal{V}^{*} with an input ξ1\xi_{1}, where 𝗐\mathsf{w} is a witness and 𝗑\mathsf{x} is the instance.

𝒫(𝗐Nk(|𝗑|)),𝒱(ξ1)(𝗑)\langle\mathcal{P}(\mathsf{w}^{\otimes Nk(|\mathsf{x}|)}),\mathcal{V}^{*}(\xi_{1})\rangle(\mathsf{x}):

  1. 1.

    For 1jN1\leq j\leq N, 𝒱\mathcal{V}^{*} and 𝒫\mathcal{P} run 𝒫j(𝗐k(|𝗑|)),𝒱j(ξj)(𝗑)\langle\mathcal{P}_{j}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}_{j}^{*}(\xi_{j})\rangle(\mathsf{x}) sequentially to get the outputs

    ξj+1𝖮𝖴𝖳𝒱𝗃𝒫j(𝗐k(|𝗑|)),𝒱j(ξj)(𝗑)\displaystyle\xi_{j+1}\coloneqq\mathsf{OUT_{\mathcal{V}^{*}_{j}}}\langle\mathcal{P}_{j}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}_{j}^{*}(\xi_{j})\rangle(\mathsf{x}) (63)

    and

    𝖮𝖴𝖳𝒫𝗃𝒫j(𝗐k(|𝗑|)),𝒱j(ξj)(𝗑)=/,\displaystyle\mathsf{OUT_{\mathcal{P}_{j}}}\langle\mathcal{P}_{j}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}_{j}^{*}(\xi_{j})\rangle(\mathsf{x})=\top/\bot, (64)

    respectively.

  2. 2.

    𝒱\mathcal{V}^{*} outputs ξN+1\xi_{N+1}.

  3. 3.

    𝒫\mathcal{P} outputs \top if 𝖮𝖴𝖳𝒫j𝒫j(𝗐k(|𝗑|)),𝒱j(ξj)=\mathsf{OUT}_{\mathcal{P}_{j}}\langle\mathcal{P}_{j}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}_{j}^{*}(\xi_{j})\rangle=\top for all j[N]j\in[N], and outputs \bot otherwise.

Since ΣΞ𝖼𝖽\Sigma_{\Xi\mathsf{cd}} satisfies the certified everlasting zero-knowledge property, for each j[N]j\in[N] and any 𝒱j\mathcal{V}_{j}^{*} there exists a QPT algorithm (a simulator) 𝒮j(𝗑,𝒱j,)\mathcal{S}_{j}(\mathsf{x},\mathcal{V}_{j}^{*},\cdot~) such that the following holds for any 𝗑\mathsf{x} and 𝗐\mathsf{w}.

𝖮𝖴𝖳𝒫j,𝒱j𝒫j(𝗐k(|𝗑|)),𝒱j()(𝗑)s𝒮j(𝗑,𝒱j,).\displaystyle\mathsf{OUT^{\prime}}_{\mathcal{P}_{j},\mathcal{V}_{j}^{*}}\langle\mathcal{P}_{j}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}_{j}^{*}(\cdot)\rangle(\mathsf{x})\approx_{s}\mathcal{S}_{j}(\mathsf{x},\mathcal{V}^{*}_{j},\cdot~). (65)

We show that for any 𝒱\mathcal{V}^{*} there exists a QPT algorithm (a simulator) 𝒮(𝗑,𝒱,)\mathcal{S}(\mathsf{x},\mathcal{V}^{*},\cdot~) such that the following holds for any 𝗑\mathsf{x} and 𝗐\mathsf{w}.

𝖮𝖴𝖳𝒫,𝒱𝒫(𝗐Nk(|𝗑|)),𝒱()(𝗑)s𝒮(𝗑,𝒱,).\displaystyle\mathsf{OUT^{\prime}}_{\mathcal{P},\mathcal{V}^{*}}\langle\mathcal{P}(\mathsf{w}^{\otimes Nk(|\mathsf{x}|)}),\mathcal{V}^{*}(\cdot)\rangle(\mathsf{x})\approx_{s}\mathcal{S}(\mathsf{x},\mathcal{V}^{*},\cdot~). (66)

Let us define the simulator 𝒮\mathcal{S} as follows.

The simulator 𝒮(𝗑,𝒱,ξ1)\mathcal{S}(\mathsf{x},\mathcal{V}^{*},\xi_{1}):

  1. 1.

    For 1jN1\leq j\leq N, 𝒮\mathcal{S} runs 𝒮j(𝗑,𝒱j,)\mathcal{S}_{j}(\mathsf{x},\mathcal{V}^{*}_{j},\cdot~) on ξj\xi_{j} to get 𝒮j(𝗑,𝒱j,ξj)=(,)/(,ξj+1)\mathcal{S}_{j}(\mathsf{x},\mathcal{V}^{*}_{j},\xi_{j})=(\bot,\bot)/(\top,\xi_{j+1}) sequentially. If 𝒮j(𝗑,𝒱j,ξj)=(,)\mathcal{S}_{j}(\mathsf{x},\mathcal{V}^{*}_{j},\xi_{j})=(\bot,\bot), then ξj+1\xi_{j+1}\coloneqq\bot for each j[N]j\in[N].

  2. 2.

    𝒮\mathcal{S} outputs (,)(\bot,\bot) if 𝒮j(𝗑,𝒱j,ξj)=(,)\mathcal{S}_{j}(\mathsf{x},\mathcal{V}^{*}_{j},\xi_{j})=(\bot,\bot) for some j[N]j\in[N], and outputs (,ξN+1)(\top,\xi_{N+1}) otherwise.

We define the sequence of hybrids 𝖧𝗒𝖻i(ξ1)\mathsf{Hyb}_{i}(\xi_{1}) as follows.

𝖧𝗒𝖻i(ξ1)\mathsf{Hyb}_{i}(\xi_{1}):

  1. 1.

    For 1ji1\leq j\leq i, 𝒱\mathcal{V}^{*} and 𝒫\mathcal{P} run 𝒫j(𝗐k(|𝗑|)),𝒱j(ξj)(𝗑)\langle\mathcal{P}_{j}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}_{j}^{*}(\xi_{j})\rangle(\mathsf{x}) sequentially to get the outputs

    ξj+1𝖮𝖴𝖳𝒱𝗃𝒫j(𝗐k(|𝗑|)),𝒱j(ξj)(𝗑)\displaystyle\xi_{j+1}\coloneqq\mathsf{OUT_{\mathcal{V}^{*}_{j}}}\langle\mathcal{P}_{j}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}_{j}^{*}(\xi_{j})\rangle(\mathsf{x}) (67)

    and

    𝖮𝖴𝖳𝒫j𝒫j(𝗐k(|𝗑|)),𝒱j(ξj)(𝗑)=/,\displaystyle\mathsf{OUT}_{\mathcal{P}_{j}}\langle\mathcal{P}_{j}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}_{j}^{*}(\xi_{j})\rangle(\mathsf{x})=\top/\bot, (68)

    respectively.

  2. 2.

    For i+1jNi+1\leq j\leq N, 𝒮\mathcal{S} runs 𝒮j(𝗑,𝒱j,)\mathcal{S}_{j}(\mathsf{x},\mathcal{V}^{*}_{j},\cdot~) on ξj\xi_{j} to get 𝒮j(𝗑,𝒱j,ξj)=(,)/(,ξi+1)\mathcal{S}_{j}(\mathsf{x},\mathcal{V}^{*}_{j},\xi_{j})=(\bot,\bot)/(\top,\xi_{i+1}) sequentially. If 𝒮j(𝗑,𝒱j,ξj)=(,)\mathcal{S}_{j}(\mathsf{x},\mathcal{V}^{*}_{j},\xi_{j})=(\bot,\bot), then ξj+1\xi_{j+1}\coloneqq\bot for each j[N]j\in[N].

  3. 3.

    The output of 𝖧𝗒𝖻i(ξ1)\mathsf{Hyb}_{i}(\xi_{1}) is (,)(\bot,\bot) if 𝖮𝖴𝖳𝒫j𝒫j(𝗐k(|𝗑|)),𝒱j(ξj)(𝗑)=\mathsf{OUT}_{\mathcal{P}_{j}}\langle\mathcal{P}_{j}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}_{j}^{*}(\xi_{j})\rangle(\mathsf{x})=\bot for some j[i]j\in[i] or 𝒮j(𝗑,𝒱j,ξj)=(,)\mathcal{S}_{j}(\mathsf{x},\mathcal{V}^{*}_{j},\xi_{j})=(\bot,\bot) for some j{i+1,N}j\in\{i+1,\cdots N\}. Otherwise, the output of 𝖧𝗒𝖻i(ξ1)\mathsf{Hyb}_{i}(\xi_{1}) is (,ξN+1)(\top,\xi_{N+1}).

𝖧𝗒𝖻0()\mathsf{Hyb}_{0}(\cdot) and 𝖧𝗒𝖻N()\mathsf{Hyb}_{N}(\cdot) correspond to 𝒮(𝗑,𝒱,)\mathcal{S}(\mathsf{x},\mathcal{V}^{*},\cdot~) and 𝖮𝖴𝖳𝒫,𝒱𝒫(𝗐Nk(|𝗑|)),𝒱()(𝗑)\mathsf{OUT^{\prime}}_{\mathcal{P},\mathcal{V}^{*}}\langle\mathcal{P}(\mathsf{w}^{\otimes Nk(|\mathsf{x}|)}),\mathcal{V}^{*}(\cdot)\rangle(\mathsf{x}), respectively. Therefore, it suffices to prove that no distinguisher can distinguish 𝖧𝗒𝖻i()\mathsf{Hyb}_{i}(\cdot) from 𝖧𝗒𝖻i+1()\mathsf{Hyb}_{i+1}(\cdot) for any i[N1]i\in[N-1]. We assume that there exists a distinguisher 𝒟\mathcal{D}^{\prime} that distinguishes (𝖧𝗒𝖻i()I)σ\left(\mathsf{Hyb}_{i}(\cdot)\otimes I\right)\sigma from (𝖧𝗒𝖻i+1()I)σ\left(\mathsf{Hyb}_{i+1}(\cdot)\otimes I\right)\sigma for a certain state σ\sigma, and construct a distinguisher 𝒟\mathcal{D} that breaks the certified everlasting zero-knowledge property of ΣΞ𝖼𝖽\Sigma_{\Xi\mathsf{cd}}. 𝒟\mathcal{D} can access to the channel 𝖮()\mathsf{O}(\cdot), which is either 𝒮i+1(𝗑,𝒱i+1,)\mathcal{S}_{i+1}(\mathsf{x},\mathcal{V}^{*}_{i+1},\cdot~) or 𝖮𝖴𝖳𝒫i+1,𝒱i+1𝒫i+1(𝗐k(|𝗑|)),𝒱i+1()(𝗑)\mathsf{OUT^{\prime}}_{\mathcal{P}_{i+1},\mathcal{V}^{*}_{i+1}}\langle\mathcal{P}_{i+1}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}_{i+1}(\cdot)\rangle(\mathsf{x}), and guesses whether 𝖮()\mathsf{O}(\cdot) is 𝒮i+1(𝗑,𝒱i+1,)\mathcal{S}_{i+1}(\mathsf{x},\mathcal{V}^{*}_{i+1},\cdot~) or 𝖮𝖴𝖳𝒫i+1,𝒱i+1𝒫i+1(𝗐k(|𝗑|)),𝒱i+1()(𝗑)\mathsf{OUT^{\prime}}_{\mathcal{P}_{i+1},\mathcal{V}^{*}_{i+1}}\langle\mathcal{P}_{i+1}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}_{i+1}(\cdot)\rangle(\mathsf{x}). Let us define 𝒟\mathcal{D} as follows.

The distinguisher 𝒟(ξ1)\mathcal{D}(\xi_{1}):

  1. 1.

    For 1ji1\leq j\leq i, 𝒟\mathcal{D} runs 𝒫j(𝗐k(|𝗑|)),𝒱j(ξj)(𝗑)\langle\mathcal{P}_{j}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}_{j}^{*}(\xi_{j})\rangle(\mathsf{x}) sequentially to get ξj+1𝖮𝖴𝖳𝒱𝗃𝒫j(𝗐k(|𝗑|)),𝒱j(ξj)(𝗑)\xi_{j+1}\coloneqq\mathsf{OUT_{\mathcal{V}^{*}_{j}}}\langle\mathcal{P}_{j}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}_{j}^{*}(\xi_{j})\rangle(\mathsf{x}) and 𝖮𝖴𝖳𝒫𝗃𝒫j(𝗐k(|𝗑|)),𝒱j(ξj)(𝗑)=/\mathsf{OUT_{\mathcal{P}_{j}}}\langle\mathcal{P}_{j}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}_{j}^{*}(\xi_{j})\rangle(\mathsf{x})=\top/\bot.

  2. 2.

    𝒟\mathcal{D} runs 𝖮(ξi+1)\mathsf{O}(\xi_{i+1}) to get 𝖮(ξi+1)=(,)/(,ξi+2)\mathsf{O}(\xi_{i+1})=(\bot,\bot)/(\top,\xi_{i+2}). If 𝖮(ξi+1)=(,)\mathsf{O}(\xi_{i+1})=(\bot,\bot), 𝒟\mathcal{D} sets ξi+2\xi_{i+2}\coloneqq\bot.

  3. 3.

    For i+2jNi+2\leq j\leq N, 𝒟\mathcal{D} runs 𝒮j(𝗑,𝒱j,)\mathcal{S}_{j}(\mathsf{x},\mathcal{V}^{*}_{j},\cdot~) on ξj\xi_{j} to get 𝒮j(𝗑,𝒱j,ξj)=(,)/(,ξj+1)\mathcal{S}_{j}(\mathsf{x},\mathcal{V}^{*}_{j},\xi_{j})=(\bot,\bot)/(\top,\xi_{j+1}) sequentially. If 𝒮j(𝗑,𝒱j,ξj)=(,)\mathcal{S}_{j}(\mathsf{x},\mathcal{V}^{*}_{j},\xi_{j})=(\bot,\bot), 𝒟\mathcal{D} sets ξj+1\xi_{j+1}\coloneqq\bot.

  4. 4.

    𝒟\mathcal{D} outputs (,)(\bot,\bot) if 𝖮𝖴𝖳𝒫𝗃𝒫j(𝗐k(|𝗑|)),𝒱j(ξj)(𝗑)=\mathsf{OUT_{\mathcal{P}_{j}}}\langle\mathcal{P}_{j}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}_{j}^{*}(\xi_{j})\rangle(\mathsf{x})=\bot for some j[i]j\in[i], 𝖮(ξi+1)=(,)\mathsf{O}(\xi_{i+1})=(\bot,\bot) or 𝒮j(𝗑,𝒱j,ξj)=(,)\mathcal{S}_{j}(\mathsf{x},\mathcal{V}^{*}_{j},\xi_{j})=(\bot,\bot) for some j{i+2,,N}j\in\{i+2,\cdots,N\}, and outputs (,ξN+1)(\top,\xi_{N+1}) otherwise.

  5. 5.

    𝒟\mathcal{D} sends the output of 𝒟\mathcal{D} to 𝒟\mathcal{D}^{\prime}.

  6. 6.

    If 𝒟\mathcal{D}^{\prime} outputs bb, 𝒟\mathcal{D} outputs bb.

We can see that 𝒟\mathcal{D} generates (𝖧𝗒𝖻i()I)σ\left(\mathsf{Hyb}_{i}(\cdot)\otimes I\right)\sigma when 𝖮()\mathsf{O}(\cdot) is 𝒮i+1(𝗑,𝒱i+1,)\mathcal{S}_{i+1}(\mathsf{x},\mathcal{V}^{*}_{i+1},\cdot~) and 𝒟\mathcal{D} takes σ\sigma as input. Similarly, we can see that 𝒟\mathcal{D} generates (𝖧𝗒𝖻i+1()I)σ\left(\mathsf{Hyb}_{i+1}(\cdot)\otimes I\right)\sigma when 𝖮()\mathsf{O}(\cdot) is 𝖮𝖴𝖳𝒫i+1,𝒱i+1𝒫i+1(𝗐k(|𝗑|)),𝒱i+1()(𝗑)\mathsf{OUT^{\prime}}_{\mathcal{P}_{i+1},\mathcal{V}^{*}_{i+1}}\langle\mathcal{P}_{i+1}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}_{i+1}(\cdot)\rangle(\mathsf{x}) and 𝒟\mathcal{D} takes σ\sigma as input. Therefore, if 𝒟\mathcal{D}^{\prime} distinguishes (𝖧𝗒𝖻i()I)σ\left(\mathsf{Hyb}_{i}(\cdot)\otimes I\right)\sigma from (𝖧𝗒𝖻i+1()I)σ\left(\mathsf{Hyb}_{i+1}(\cdot)\otimes I\right)\sigma, then 𝒟\mathcal{D} can distinguish 𝒮i+1(𝗑,𝒱i+1,)\mathcal{S}_{i+1}(\mathsf{x},\mathcal{V}^{*}_{i+1},\cdot~) from 𝖮𝖴𝖳𝒫i+1,𝒱i+1𝒫i+1(𝗐k(|𝗑|)),𝒱i+1()(𝗑)\mathsf{OUT^{\prime}}_{\mathcal{P}_{i+1},\mathcal{V}^{*}_{i+1}}\langle\mathcal{P}_{i+1}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}_{i+1}(\cdot)\rangle(\mathsf{x}). This contradicts the certified everlasting zero-knowledge property of ΣΞ𝖼𝖽\Sigma_{\Xi\mathsf{cd}}, which completes the proof. ∎

Acknowledgement

TM is supported by the JST Moonshot R&D JPMJMS2061-5-1-1, JST FOREST, MEXT Q-LEAP, and the Grant-in-Aid for Scientific Research (B) No.JP19H04066 of JSPS.

References

  • [ACGH20] Gorjan Alagic, Andrew M. Childs, Alex B. Grilo, and Shih-Han Hung. Non-interactive classical verification of quantum computation. In Rafael Pass and Krzysztof Pietrzak, editors, TCC 2020, Part III, volume 12552 of LNCS, pages 153–180. Springer, Heidelberg, November 2020.
  • [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.
  • [BB21] Nir Bitansky and Zvika Brakerski. Classical binding for quantum commitments. IACR Cryptol. ePrint Arch., 2021:1001, 2021.
  • [BCKM21] James Bartusek, Andrea Coladangelo, Dakshita Khurana, and Fermi Ma. On the round complexity of secure quantum computation. In Tal Malkin and Chris Peikert, editors, CRYPTO 2021, Part I, volume 12825 of LNCS, pages 406–435, Virtual Event, August 2021. Springer, Heidelberg.
  • [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.
  • [BG20] Anne Broadbent and Alex B. Grilo. QMA-hardness of consistency of local density matrices with applications to quantum zero-knowledge. In 61st FOCS, pages 196–205. IEEE Computer Society Press, November 2020.
  • [BI20] Anne Broadbent and Rabib Islam. Quantum encryption with certified deletion. In Rafael Pass and Krzysztof Pietrzak, editors, TCC 2020, Part III, volume 12552 of LNCS, pages 92–122. Springer, Heidelberg, November 2020.
  • [BJSW16] Anne Broadbent, Zhengfeng Ji, Fang Song, and John Watrous. Zero-knowledge proof systems for QMA. In Irit Dinur, editor, 57th FOCS, pages 31–40. IEEE Computer Society Press, October 2016.
  • [BM21] James Bartusek and Giulio Malavolta. Candidate obfuscation of null quantum circuits and witness encryption for QMA. IACR Cryptology ePrint Archive, 2021:421, 2021.
  • [BS20] Nir Bitansky and Omri Shmueli. Post-quantum zero knowledge in constant rounds. In Konstantin Makarychev, Yury Makarychev, Madhur Tulsiani, Gautam Kamath, and Julia Chuzhoy, editors, 52nd ACM STOC, pages 269–279. ACM Press, June 2020.
  • [BY20] Zvika Brakerski and Henry Yuen. Quantum garbled circuits. arXiv:2006.01085, 2020.
  • [CCKV08] André Chailloux, Dragos Florin Ciocan, Iordanis Kerenidis, and Salil P. Vadhan. Interactive and noninteractive zero knowledge are equivalent in the help model. In Ran Canetti, editor, TCC 2008, volume 4948 of LNCS, pages 501–534. Springer, Heidelberg, March 2008.
  • [CDMS04] Claude Crépeau, Paul Dumais, Dominic Mayers, and Louis Salvail. Computational collapse of quantum state with application to oblivious transfer. In Moni Naor, editor, TCC 2004, volume 2951 of LNCS, pages 374–393. Springer, Heidelberg, February 2004.
  • [CM21] Orestis Chardouvelis and Giulio Malavolta. The round complexity of quantum zero-knowledge. IACR Cryptol. ePrint Arch., 2021.
  • [CVZ20] Andrea Coladangelo, Thomas Vidick, and Tina Zhang. Non-interactive zero-knowledge arguments for QMA, with preprocessing. In Daniele Micciancio and Thomas Ristenpart, editors, CRYPTO 2020, Part III, volume 12172 of LNCS, pages 799–828. Springer, Heidelberg, August 2020.
  • [DFR+07] Ivan Damgård, Serge Fehr, Renato Renner, Louis Salvail, and Christian Schaffner. A tight high-order entropic quantum uncertainty relation with applications. In Alfred Menezes, editor, CRYPTO 2007, volume 4622 of LNCS, pages 360–378. Springer, Heidelberg, August 2007.
  • [DFS04] Ivan Damgård, Serge Fehr, and Louis Salvail. Zero-knowledge proofs and string commitments withstanding quantum attacks. In Matthew Franklin, editor, CRYPTO 2004, volume 3152 of LNCS, pages 254–272. Springer, Heidelberg, August 2004.
  • [For87] Lance Fortnow. The complexity of perfect zero-knowledge (extended abstract). In Alfred Aho, editor, 19th ACM STOC, pages 204–209. ACM Press, May 1987.
  • [FUW+20] Junbin Fang, Dominique Unruh, Jian Weng, Jun Yan, and Dehua Zhou. How to base security on the perfect/statistical binding property of quantum bit commitment? IACR Cryptol. ePrint Arch., 2020:621, 2020.
  • [GMR89] Shafi Goldwasser, Silvio Micali, and Charles Rackoff. The knowledge complexity of interactive proof systems. SIAM J. Comput., 18(1):186–208, 1989.
  • [GO94] Oded Goldreich and Yair Oren. Definitions and properties of zero-knowledge proof systems. J. Cryptology, 7:1–32, 1994.
  • [GSV98] Oded Goldreich, Amit Sahai, and Salil P. Vadhan. Honest-verifier statistical zero-knowledge equals general statistical zero-knowledge. In 30th ACM STOC, pages 399–408. ACM Press, May 1998.
  • [GSY19] Alex Bredariol Grilo, William Slofstra, and Henry Yuen. Perfect zero knowledge for quantum multiprover interactive proofs. In David Zuckerman, editor, 60th FOCS, pages 611–635. IEEE Computer Society Press, November 2019.
  • [HMNY21] Taiga Hiroka, Tomoyuki Morimae, Ryo Nishimaki, and Takashi Yamakawa. Quantum encryption with certified deletion, revisited: Public key, attribute-based, and classical communication. IACR Cryptol. ePrint Arch., 2021:617, 2021.
  • [Kob03] Hirotada Kobayashi. Non-interactive quantum perfect and statistical zero-knowledge. In Toshihide Ibaraki, Naoki Katoh, and Hirotaka Ono, editors, Algorithms and Computation, 14th International Symposium, ISAAC 2003, Kyoto, Japan, December 15-17, 2003, Proceedings, volume 2906 of Lecture Notes in Computer Science, pages 178–188. Springer, 2003.
  • [LC97] Hoi-Kwong Lo and H. F. Chau. Is quantum bit commitment really possible? Phys. Rev. Lett., 78:3410–3413, 1997.
  • [LS19] Alex Lombardi and Luke Schaeffer. A note on key agreement and non-interactive commitments. Cryptology ePrint Archive, Report 2019/279, 2019. https://eprint.iacr.org/2019/279.
  • [May97] Dominic Mayers. Unconditionally secure quantum bit commitment is impossible. Phys. Rev. Lett., 78:3414–3417, 1997.
  • [MW18] Sanketh Menda and John Watrous. Oracle separations for quantum statistical zero-knowledge. arXiv:1801.08967, 2018.
  • [MY21] Tomoyuki Morimae and Takashi Yamakawa. Classically verifiable (dual-mode) NIZK for QMA with preprocessing. arXiv:2102.09149, 2021.
  • [Shm21] Omri Shmueli. Multi-theorem designated-verifier NIZK for QMA. In Tal Malkin and Chris Peikert, editors, CRYPTO 2021, Part I, volume 12825 of LNCS, pages 375–405, Virtual Event, August 2021. Springer, Heidelberg.
  • [Unr13] Dominique Unruh. Everlasting multi-party computation. In Ran Canetti and Juan A. Garay, editors, CRYPTO 2013, Part II, volume 8043 of LNCS, pages 380–397. Springer, Heidelberg, August 2013.
  • [Unr15] Dominique Unruh. Revocable quantum timed-release encryption. J. ACM, 62(6):49:1–49:76, 2015.
  • [Wat02] John Watrous. Limits on the power of quantum statistical zero-knowledge. In 43rd FOCS, pages 459–470. IEEE Computer Society Press, November 2002.
  • [Wat09] John Watrous. Zero-knowledge against quantum attacks. SIAM J. Comput., 39(1):25–58, 2009.
  • [Yan20] Jun Yan. Quantum computationally predicate-binding commitment with application in quantum zero-knowledge argument for NP. IACR Cryptol. ePrint Arch., 2020:1510, 2020.
  • [YWLQ15] Jun Yan, Jian Weng, Dongdai Lin, and Yujuan Quan. Quantum bit commitment with application in quantum zero-knowledge proof (extended abstract). In Khaled M. Elbassioni and Kazuhisa Makino, editors, Algorithms and Computation - 26th International Symposium, ISAAC 2015, Nagoya, Japan, December 9-11, 2015, Proceedings, volume 9472 of Lecture Notes in Computer Science, pages 555–565. Springer, 2015.
  • [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.

Appendix A Proof of Proposition 4.10

Proof of Proposition 4.10.

We prove the proposition by contradiction. Let pp be the probability that 𝒮(1)\mathcal{S}^{(1)} does not abort. Assume that the probability pp satisfies |p1m|1q(λ)|p-\frac{1}{m}|\geq\frac{1}{q(\lambda)} for a polynomial qq. Then, we can construct an adversary \mathcal{B} that breaks the computational hiding of Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}}. Let us describe how \mathcal{B} works below.

  1. 1.

    \mathcal{B} generates c[m]c\leftarrow[m] and x,z{0,1}nx,z\leftarrow\{0,1\}^{n}.

  2. 2.

    \mathcal{B} sends m0{xi,zi}iScm_{0}\coloneqq\{x_{i},z_{i}\}_{i\in S_{c}} and m1010m_{1}\coloneqq 0^{10} to the challenger. \mathcal{B} receives commitments from the challenger which is either {𝖼𝗈𝗆i(xi),𝖼𝗈𝗆i(zi)}iSc\{\mathsf{com}_{i}(x_{i}),\mathsf{com}_{i}(z_{i})\}_{i\in S_{c}} or {𝖼𝗈𝗆i(0),𝖼𝗈𝗆i(0)}iSc\{\mathsf{com}_{i}(0),\mathsf{com}_{i}(0)\}_{i\in S_{c}}.

  3. 3.

    \mathcal{B} generates {𝖼𝗈𝗆i(0),𝖼𝗈𝗆i(0)}iS¯c\{\mathsf{com}_{i}(0),\mathsf{com}_{i}(0)\}_{i\in\overline{S}_{c}}.

  4. 4.

    \mathcal{B} generates XxZzσ(c)ZzXxX^{x}Z^{z}\sigma(c)Z^{z}X^{x}. \mathcal{B} appends commitments and ξ\xi to the quantum state in the ascending order. If the commitments for iSci\in S_{c} are {𝖼𝗈𝗆i(xi),𝖼𝗈𝗆i(zi)}iSc\{\mathsf{com}_{i}(x_{i}),\mathsf{com}_{i}(z_{i})\}_{i\in S_{c}}, \mathcal{B} obtains XxZzσ(c)ZzXx𝖼𝗈𝗆(xSc)𝖼𝗈𝗆(zSc)ξX^{x}Z^{z}\sigma(c)Z^{z}X^{x}\otimes\mathsf{com}(x^{S_{c}})\otimes\mathsf{com}(z^{S_{c}})\otimes\xi. If the commitments for iSci\in S_{c} are {𝖼𝗈𝗆i(0),𝖼𝗈𝗆i(0)}iSc\{\mathsf{com}_{i}(0),\mathsf{com}_{i}(0)\}_{i\in S_{c}}, \mathcal{B} obtains XxZzσ(c)ZzXx𝖼𝗈𝗆(0n)𝖼𝗈𝗆(0n)ξX^{x}Z^{z}\sigma(c)Z^{z}X^{x}\otimes\mathsf{com}(0^{n})\otimes\mathsf{com}(0^{n})\otimes\xi.

  5. 5.

    \mathcal{B} runs V1V_{1}^{*} on it to obtain (c,{𝖼𝖾𝗋𝗍i,x,𝖼𝖾𝗋𝗍i,z}iS¯c)(c^{\prime},\{\mathsf{cert}_{i,x}^{\prime},\mathsf{cert}_{i,z}^{\prime}\}_{i\in\overline{S}_{c^{\prime}}}). \mathcal{B} outputs 0 when ccc\neq c^{\prime}. \mathcal{B} outputs 1 when c=cc=c^{\prime}.

When \mathcal{B} receives {𝖼𝗈𝗆i(xi),𝖼𝗈𝗆i(zi)}iSc\{\mathsf{com}_{i}(x_{i}),\mathsf{com}_{i}(z_{i})\}_{i\in S_{c}} from the challenger, it outputs 1 with probability pp since it simulates 𝒮(1)\mathcal{S}^{(1)}. When \mathcal{B} receives {𝖼𝗈𝗆i(0),𝖼𝗈𝗆i(0)}iSc\{\mathsf{com}_{i}(0),\mathsf{com}_{i}(0)\}_{i\in S_{c}} from the challenger, on the other hand, it outputs 1 with probability 1m\frac{1}{m}, because (XxZzσ(c)ZzXx)𝖼𝗈𝗆(0n)𝖼𝗈𝗆(0n)ξ(X^{x}Z^{z}\sigma(c)Z^{z}X^{x})\otimes\mathsf{com}(0^{n})\otimes\mathsf{com}(0^{n})\otimes\xi is independent of cc. (Note that σ(c)\sigma(c) is one-time padded by x,zx,z.) Therefore if there exists some polynomial qq such that |p1m|1q(λ)|p-\frac{1}{m}|\geq\frac{1}{q(\lambda)}, \mathcal{B} can break the computational hiding of Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}} from (the computational hiding version of) Lemma 3.7. ∎

Appendix B Proof of Lemma 4.9

Proof of Lemma 4.9.

This proof is similar to the proof of Lemma 4.8. For a subset Sc[n]S_{c}\subseteq[n] and x,z{0,1}nx,z\in\{0,1\}^{n}, let us define xSc(x1Sc,x2Sc,,xnSc)x^{S_{c}}\coloneqq(x^{S_{c}}_{1},x^{S_{c}}_{2},\cdots,x^{S_{c}}_{n}) and zSc(z1Sc,z2Sc,,znSc)z^{S_{c}}\coloneqq(z^{S_{c}}_{1},z^{S_{c}}_{2},\cdots,z^{S_{c}}_{n}), where xiSc=xix^{S_{c}}_{i}=x_{i} and ziSc=ziz^{S_{c}}_{i}=z_{i} for iSci\in S_{c}, and xiSc=ziSc=0x^{S_{c}}_{i}=z^{S_{c}}_{i}=0 for iSci\notin S_{c}.

For clarity, we describe how the interactive algorithm 𝒫(𝗐k(|𝗑|)),𝒱(ξ)(𝗑)\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\xi)\rangle(\mathsf{x}) runs against a QPT verifier 𝒱\mathcal{V}^{*} with an input ξ\xi, where 𝗐\mathsf{w} is the witness and 𝗑\mathsf{x} is the instance.

𝒫(𝗐k(|𝗑|)),𝒱(ξ)(𝗑)\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\xi)\rangle(\mathsf{x}):

  1. 1.

    𝒫\mathcal{P} generates x,z{0,1}nx,z\leftarrow\{0,1\}^{n}, and computes

    (𝖼𝗈𝗆i(xi),𝖽i(xi),𝖼𝗄i(xi))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,xi)\displaystyle(\mathsf{com}_{i}(x_{i}),\mathsf{d}_{i}(x_{i}),\mathsf{ck}_{i}(x_{i}))\leftarrow\mathsf{Commit}(1^{\lambda},x_{i}) (69)
    (𝖼𝗈𝗆i(zi),𝖽i(zi),𝖼𝗄i(zi))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,zi)\displaystyle(\mathsf{com}_{i}(z_{i}),\mathsf{d}_{i}(z_{i}),\mathsf{ck}_{i}(z_{i}))\leftarrow\mathsf{Commit}(1^{\lambda},z_{i}) (70)

    for all i[n]i\in[n]. 𝒫\mathcal{P} sends 𝗆𝗌𝗀1(XxZzρ𝗁𝗂𝗌𝗍ZzXx)𝖼𝗈𝗆(x)𝖼𝗈𝗆(z)\mathsf{msg}_{1}\coloneqq(X^{x}Z^{z}\rho_{\mathsf{hist}}Z^{z}X^{x})\otimes\mathsf{com}(x)\otimes\mathsf{com}(z) to 𝒱\mathcal{V}^{*}.

  2. 2.

    𝒱\mathcal{V}^{*} appends ξ\xi to the received state, and runs a QPT circuit V1V_{1}^{*} on it to obtain (c,{𝖼𝖾𝗋𝗍i,x,𝖼𝖾𝗋𝗍i,z}iS¯c)(c,\{\mathsf{cert}_{i,x}^{\prime},\mathsf{cert}_{i,z}^{\prime}\}_{i\in\overline{S}_{c}}). 𝒱\mathcal{V}^{*} sends 𝗆𝗌𝗀2(c,{𝖼𝖾𝗋𝗍i,x,𝖼𝖾𝗋𝗍i,z}iS¯c)\mathsf{msg}_{2}\coloneqq(c,\{\mathsf{cert}_{i,x}^{\prime},\mathsf{cert}_{i,z}^{\prime}\}_{i\in\overline{S}_{c}}) to 𝒫\mathcal{P}.

  3. 3.

    𝒫\mathcal{P} sends 𝗆𝗌𝗀3{𝖽i(xi),𝖽i(zi)}iSc\mathsf{msg}_{3}\coloneqq\{\mathsf{d}_{i}(x_{i}),\mathsf{d}_{i}(z_{i})\}_{i\in S_{c}} to 𝒱\mathcal{V}^{*}.

  4. 4.

    𝒱\mathcal{V}^{*} appends 𝗆𝗌𝗀3\mathsf{msg}_{3} to its state, and runs a QPT circuit V2V_{2}^{*} on it. 𝒱\mathcal{V}^{*} outputs its state ξ\xi^{\prime}.

Next let us define a simulator 𝒮(1)\mathcal{S}^{(1)} as follows.

The simulator 𝒮(1)(𝗑,𝒱,ξ)\mathcal{S}^{(1)}(\mathsf{x},\mathcal{V}^{*},\xi):

  1. 1.

    Pick c[m]c\leftarrow[m] and x,z{0,1}nx,z\leftarrow\{0,1\}^{n}. Compute

    (𝖼𝗈𝗆i(xiSc),𝖽i(xiSc),𝖼𝗄i(xiSc))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,xiSc)\displaystyle(\mathsf{com}_{i}(x^{S_{c}}_{i}),\mathsf{d}_{i}(x^{S_{c}}_{i}),\mathsf{ck}_{i}(x^{S_{c}}_{i}))\leftarrow\mathsf{Commit}(1^{\lambda},x^{S_{c}}_{i}) (71)
    (𝖼𝗈𝗆i(ziSc),𝖽i(ziSc),𝖼𝗄i(ziSc))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,ziSc)\displaystyle(\mathsf{com}_{i}(z^{S_{c}}_{i}),\mathsf{d}_{i}(z^{S_{c}}_{i}),\mathsf{ck}_{i}(z^{S_{c}}_{i}))\leftarrow\mathsf{Commit}(1^{\lambda},z^{S_{c}}_{i}) (72)

    for all i[n]i\in[n].

  2. 2.

    Generate (XxZzσ(c)ZzXx)𝖼𝗈𝗆(xSc)𝖼𝗈𝗆(zSc)ξ(X^{x}Z^{z}\sigma(c)Z^{z}X^{x})\otimes\mathsf{com}(x^{S_{c}})\otimes\mathsf{com}(z^{S_{c}})\otimes\xi, where σ(c)ρ𝗌𝗂𝗆𝗑,Sc(iS¯c|00|i)\sigma(c)\coloneqq\rho_{\mathsf{sim}}^{\mathsf{x},S_{c}}\otimes\left(\prod_{i\in\overline{S}_{c}}|0\rangle\langle 0|_{i}\right). Run V1V_{1}^{*} on the state to obtain (c,{𝖼𝖾𝗋𝗍i,x,𝖼𝖾𝗋𝗍i,z}iS¯c)(c^{\prime},\{\mathsf{cert}_{i,x}^{\prime},\mathsf{cert}_{i,z}^{\prime}\}_{i\in\overline{S}_{c^{\prime}}}).

  3. 3.

    If ccc^{\prime}\neq c, abort and output a fixed state η\eta and the flag state 𝖿𝖺𝗂𝗅\mathsf{fail}.

  4. 4.

    Append {𝖽i(xiSc),𝖽i(ziSc)}iSc\{\mathsf{d}_{i}(x^{S_{c}}_{i}),\mathsf{d}_{i}(z^{S_{c}}_{i})\}_{i\in S_{c}} to its quantum state, and run V2V_{2}^{*} on the state. 𝒮\mathcal{S} outputs the output state and the flag state 𝗌𝗎𝖼𝖼𝖾𝗌𝗌\mathsf{success}.

Let us also define other two simulators 𝒮(2)\mathcal{S}^{(2)} and 𝒮(3)\mathcal{S}^{(3)} as follows.

The modified simulator 𝒮(2)(𝗑,𝗐k(|𝗑|),𝒱,ξ)\mathcal{S}^{(2)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\xi):

It is the same as 𝒮(1)\mathcal{S}^{(1)} except that σ(c)\sigma(c) is replaced with ρ𝗁𝗂𝗌𝗍\rho_{\mathsf{hist}}.

The simulator 𝒮(3)(𝗑,𝗐k(|𝗑|),𝒱,ξ)\mathcal{S}^{(3)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\xi):

𝒮(3)(𝗑,𝗐k(|𝗑|),𝒱,)\mathcal{S}^{(3)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\cdot~) is the channel that postselects the output of
𝒮(2)(𝗑,𝗐k(|𝗑|),𝒱,)\mathcal{S}^{(2)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\cdot~) on the non-aborting state. More precisely, if we write 𝒮(2)(𝗑,𝗐k(|𝗑|),𝒱,ρin)=pρout𝗌𝗎𝖼𝖼𝖾𝗌𝗌+(1p)η𝖿𝖺𝗂𝗅\mathcal{S}^{(2)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\rho_{in})=p\rho_{out}\otimes\mathsf{success}+(1-p)\eta\otimes\mathsf{fail}, where pp is the non-aborting probability, 𝒮(3)(𝗑,𝗐k(|𝗑|),𝒱,ρin)=ρout\mathcal{S}^{(3)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\rho_{in})=\rho_{out}.

Lemma 4.9 is shown from the following Propositions B.1, B.2 and B.3 (whose proofs will be given later) and quantum rewinding lemma(Lemma 2.1), which is used to reduce the probability that 𝒮(1)\mathcal{S}^{(1)} aborts to 𝗇𝖾𝗀𝗅(λ){\mathsf{negl}}(\lambda). In fact, from Propositions B.1 and 2.1, there exists a quantum circuit 𝒮(0)\mathcal{S}^{(0)} of size at most O(mpoly(n)size(𝒮(1)))O(m\,{\rm poly}(n){\rm size}(\mathcal{S}^{(1)})) such that the probability 𝒮(0)\mathcal{S}^{(0)} aborts is 𝗇𝖾𝗀𝗅(λ){\mathsf{negl}}(\lambda), and the output quantum states of 𝒮(0)\mathcal{S}^{(0)} and 𝒮(1)\mathcal{S}^{(1)} are 𝗇𝖾𝗀𝗅(λ){\mathsf{negl}}(\lambda)-close when they do not abort. From Propositions B.2 and B.3, 𝒮(0)\mathcal{S}^{(0)} is 𝗇𝖾𝗀𝗅(λ){\mathsf{negl}}(\lambda)-close to the run of the real protocol, which completes the proof. ∎

Proposition B.1.

If Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}} is computational hiding, then the probability that 𝒮(1)\mathcal{S}^{(1)} does not abort is 1m±𝗇𝖾𝗀𝗅(λ)\frac{1}{m}\pm{\mathsf{negl}}(\lambda).

Proposition B.2.

𝒮(1)(𝗑,𝒱,)s𝒮(2)(𝗑,𝗐k(|𝗑|),𝒱,)\mathcal{S}^{(1)}(\mathsf{x},\mathcal{V}^{*},\cdot~)\approx_{s}\mathcal{S}^{(2)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\cdot~) for any 𝗑A𝗒𝖾𝗌{0,1}λ\mathsf{x}\in A_{\mathsf{yes}}\cap\{0,1\}^{\lambda} and any 𝗐RA(𝗑)\mathsf{w}\in R_{A}(\mathsf{x}).

Proposition B.3.

If Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}} is computational hiding, 𝒮(3)(𝗑,𝗐k(|𝗑|),𝒱,)c𝖮𝖴𝖳𝒱𝒫(𝗐k(|𝗑|)),𝒱()(𝗑)\mathcal{S}^{(3)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\cdot~)\approx_{c}\mathsf{OUT}_{\mathcal{V}^{*}}\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\cdot)\rangle(\mathsf{x}).

Proof of Proposition B.1.

This proof is the same as the proof of Proposition 4.10. ∎

Proof of Proposition B.2.

This proof is the same as the proof of Proposition 4.11. ∎

Proof of Proposition B.3.

We prove the proposition by contradiction. We construct an adversary \mathcal{B} that breaks the security of the computationally hiding of Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}} by assuming the existence of a distinguisher 𝒟\mathcal{D} that distinguishes two states δ0\delta_{0} and δ1\delta_{1},

δ0(𝖮𝖴𝖳𝒱𝒫(𝗐k(|𝗑|)),𝒱()(𝗑)I)σ\displaystyle\delta_{0}\coloneqq(\mathsf{OUT}_{\mathcal{V}^{*}}\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\cdot)\rangle(\mathsf{x})\otimes I)\sigma (73)
δ1(𝒮(3)(𝗑,𝗐k(|𝗑|),𝒱,)I)σ,\displaystyle\delta_{1}\coloneqq(\mathcal{S}^{(3)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\cdot~)\otimes I)\sigma, (74)

with a certain state σ\sigma. Let us describe how \mathcal{B} works.

  1. 1.

    \mathcal{B} generates c[m]c\leftarrow[m] and x,z{0,1}nx,z\leftarrow\{0,1\}^{n}.

  2. 2.

    \mathcal{B} sends m0{xi,zi}iS¯cm_{0}\coloneqq\{x_{i},z_{i}\}_{i\in\overline{S}_{c}} and m102n10m_{1}\coloneqq 0^{2n-10} to the challenger. \mathcal{B} receives commitments from the challenger which is either {𝖼𝗈𝗆i(xi),𝖼𝗈𝗆i(zi)}iS¯c\{\mathsf{com}_{i}(x_{i}),\mathsf{com}_{i}(z_{i})\}_{i\in\overline{S}_{c}} or {𝖼𝗈𝗆i(0),𝖼𝗈𝗆i(0)}iS¯c\{\mathsf{com}_{i}(0),\mathsf{com}_{i}(0)\}_{i\in\overline{S}_{c}}.

  3. 3.

    \mathcal{B} computes

    (𝖼𝗈𝗆i(xi),𝖽i(xi),𝖼𝗄i(xi))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,xi)\displaystyle(\mathsf{com}_{i}(x_{i}),\mathsf{d}_{i}(x_{i}),\mathsf{ck}_{i}(x_{i}))\leftarrow\mathsf{Commit}(1^{\lambda},x_{i}) (75)
    (𝖼𝗈𝗆i(zi),𝖽i(zi),𝖼𝗄i(zi))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,zi)\displaystyle(\mathsf{com}_{i}(z_{i}),\mathsf{d}_{i}(z_{i}),\mathsf{ck}_{i}(z_{i}))\leftarrow\mathsf{Commit}(1^{\lambda},z_{i}) (76)

    for iSci\in S_{c} by itself.

  4. 4.

    \mathcal{B} generates XxZzρ𝗁𝗂𝗌𝗍ZzXxX^{x}Z^{z}\rho_{\mathsf{hist}}Z^{z}X^{x}. \mathcal{B} appends commitments and σ\sigma to the quantum state. If the commitments for iS¯c{i\in\overline{S}_{c}} are {𝖼𝗈𝗆i(xi),𝖼𝗈𝗆i(zi)}iS¯c\{\mathsf{com}_{i}(x_{i}),\mathsf{com}_{i}(z_{i})\}_{i\in\overline{S}_{c}}, \mathcal{B} obtains XxZzρ𝗁𝗂𝗌𝗍ZzXx𝖼𝗈𝗆(x)𝖼𝗈𝗆(z)σX^{x}Z^{z}\rho_{\mathsf{hist}}Z^{z}X^{x}\otimes\mathsf{com}(x)\otimes\mathsf{com}(z)\otimes\sigma. If the commitments for iS¯c{i\in\overline{S}_{c}} are {𝖼𝗈𝗆i(0),𝖼𝗈𝗆i(0)}iS¯c\{\mathsf{com}_{i}(0),\mathsf{com}_{i}(0)\}_{i\in\overline{S}_{c}}, \mathcal{B} obtains XxZzρ𝗁𝗂𝗌𝗍ZzXx𝖼𝗈𝗆(xSc)𝖼𝗈𝗆(zSc)σX^{x}Z^{z}\rho_{\mathsf{hist}}Z^{z}X^{x}\otimes\mathsf{com}(x^{S_{c}})\otimes\mathsf{com}(z^{S_{c}})\otimes\sigma.

  5. 5.

    \mathcal{B} runs V1V_{1}^{*} on it to obtain (c,{𝖼𝖾𝗋𝗍i,x,𝖼𝖾𝗋𝗍i,z}iS¯c)(c^{\prime},\{\mathsf{cert}_{i,x}^{\prime},\mathsf{cert}_{i,z}^{\prime}\}_{i\in\overline{S}_{c^{\prime}}}). \mathcal{B} aborts when ccc\neq c^{\prime}.

  6. 6.

    \mathcal{B} appends {𝖽i(xi),𝖽i(zi)}iSc\{\mathsf{d}_{i}(x_{i}),\mathsf{d}_{i}(z_{i})\}_{i\in S_{c}} to the post-measurement state and runs V2V_{2}^{*} on it.

  7. 7.

    \mathcal{B} passes the output state to 𝒟\mathcal{D}.

  8. 8.

    When 𝒟\mathcal{D} outputs bb, \mathcal{B} outputs bb.

When \mathcal{B} receives {𝖼𝗈𝗆i(xi),𝖼𝗈𝗆i(zi)}iS¯c\{\mathsf{com}_{i}(x_{i}),\mathsf{com}_{i}(z_{i})\}_{i\in\overline{S}_{c}} from the challenger and it does not abort, it simulates
𝖮𝖴𝖳𝒱𝒫(𝗐k(|𝗑|)),𝒱()(𝗑)\mathsf{OUT}_{\mathcal{V}^{*}}\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\cdot)\rangle(\mathsf{x}). Because (XxZzρ𝗁𝗂𝗌𝗍ZzXx)𝖼𝗈𝗆(x)𝖼𝗈𝗆(z)σ(X^{x}Z^{z}\rho_{\mathsf{hist}}Z^{z}X^{x})\otimes\mathsf{com}(x)\otimes\mathsf{com}(z)\otimes\sigma is independent of cc, the probability that \mathcal{B} does not abort is 1m\frac{1}{m}. Therefore, \mathcal{B} can simulate 𝖮𝖴𝖳𝒱𝒫(𝗐k(|𝗑|)),𝒱()(𝗑){\mathsf{OUT}}_{\mathcal{V}^{*}}\langle\mathcal{P}(\mathsf{w}^{\otimes k(|\mathsf{x}|)}),\mathcal{V}^{*}(\cdot)\rangle(\mathsf{x}) with probability 1m\frac{1}{m}.

When \mathcal{B} receives {𝖼𝗈𝗆i(0),𝖼𝗈𝗆i(0)}iS¯c\{\mathsf{com}_{i}(0),\mathsf{com}_{i}(0)\}_{i\in\overline{S}_{c}} from the challenger and it does not abort, it simulates 𝒮(3)(𝗑,𝗐k(|𝗑|),𝒱,)\mathcal{S}^{(3)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\cdot~). The probability that \mathcal{B} does not abort is 1m±𝗇𝖾𝗀𝗅(λ)\frac{1}{m}\pm{\mathsf{negl}}(\lambda) from Propositions B.1 and B.2. Therefore, \mathcal{B} can simulate 𝒮(3)(𝗑,𝗐k(|𝗑|),𝒱,)\mathcal{S}^{(3)}(\mathsf{x},\mathsf{w}^{\otimes k(|\mathsf{x}|)},\mathcal{V}^{*},\cdot~) with probability 1m±𝗇𝖾𝗀𝗅(λ)\frac{1}{m}\pm{\mathsf{negl}}(\lambda).

Therefore, if there exists the distinguisher 𝒟\mathcal{D} that distinguishes δ0\delta_{0} and δ1\delta_{1}, \mathcal{B} can distinguish {𝖼𝗈𝗆i(xi),𝖼𝗈𝗆i(zi)}iS¯c\{\mathsf{com}_{i}(x_{i}),\mathsf{com}_{i}(z_{i})\}_{i\in\overline{S}_{c}} from {𝖼𝗈𝗆i(0),𝖼𝗈𝗆i(0)}iS¯c\{\mathsf{com}_{i}(0),\mathsf{com}_{i}(0)\}_{i\in\overline{S}_{c}}. From (the computational hiding version of) Lemma 3.7, this contradicts the computational hiding of Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}}.

Appendix C Commitment with Certified Everlasting Hiding and Sum-Binding

In this appendix, we define and construct commitment with certified everlasting hiding and statistical sum-binding.

C.1 Definition

Definition C.1 (Commitment with Certified Everlasting Hiding and Sum-Binding (Syntax)).

Let λ\lambda be the security parameter, and let pp, qq, rr and ss be some polynomials. Commitment with certified everlasting hiding and sum-binding consists of a tuple of algorithms (𝖢𝗈𝗆𝗆𝗂𝗍,𝖵𝖾𝗋𝗂𝖿𝗒,𝖣𝖾𝗅,𝖢𝖾𝗋𝗍)(\mathsf{Commit},\mathsf{Verify},\mathsf{Del},\mathsf{Cert}) with message space :={0,1}\mathcal{M}:=\{0,1\}, commitment space 𝒞:=𝒬p(λ)\mathcal{C}:=\mathcal{Q}^{\otimes p(\lambda)}, decommitment space 𝒟:={0,1}q(λ)\mathcal{D}:=\{0,1\}^{q(\lambda)}, key space 𝒦:={0,1}r(λ)\mathcal{K}:=\{0,1\}^{r(\lambda)} and deletion certificate space :={0,1}s(λ)\mathcal{E}:=\{0,1\}^{s(\lambda)}.

𝖢𝗈𝗆𝗆𝗂𝗍(1λ,b)(𝖼𝗈𝗆,𝖽,𝖼𝗄)\mathsf{Commit}(1^{\lambda},b)\rightarrow(\mathsf{com},\mathsf{d},\mathsf{ck}):

The commitment algorithm takes as input a security parameter 1λ1^{\lambda} and a message b{0,1}b\in\{0,1\}, and outputs a commitment 𝖼𝗈𝗆𝒞\mathsf{com}\in\mathcal{C}, a decommitment 𝖽𝒟\mathsf{d}\in\mathcal{D}, and a key 𝖼𝗄𝒦\mathsf{ck}\in\mathcal{K}.

𝖵𝖾𝗋𝗂𝖿𝗒(𝖼𝗈𝗆,𝖽,b)or\mathsf{Verify}(\mathsf{com},\mathsf{d},b)\rightarrow\top~or~\bot:

The verification algorithm takes as input 𝖼𝗈𝗆\mathsf{com}, 𝖽\mathsf{d} and bb, and outputs \top or \bot.

𝖣𝖾𝗅(𝖼𝗈𝗆)𝖼𝖾𝗋𝗍\mathsf{Del}(\mathsf{com})\rightarrow\mathsf{cert}:

The deletion algorithm takes 𝖼𝗈𝗆\mathsf{com} as input, and outputs a certificate 𝖼𝖾𝗋𝗍\mathsf{cert}\in\mathcal{E}.

𝖢𝖾𝗋𝗍(𝖼𝖾𝗋𝗍,𝖼𝗄)or\mathsf{Cert}(\mathsf{cert},\mathsf{ck})\rightarrow\top~or~\bot:

The certification algorithm takes 𝖼𝖾𝗋𝗍\mathsf{cert} and 𝖼𝗄\mathsf{ck} as input, and outputs \top or \bot.

Definition C.2 (Correctness).

There are two types of correctness, namely, decommitment correctness and deletion correctness.

Decommitment correctness:

There exists a negligible function 𝗇𝖾𝗀𝗅{\mathsf{negl}} such that for any λ\lambda\in\mathbb{N} and b{0,1}b\in\{0,1\},

Pr[𝖵𝖾𝗋𝗂𝖿𝗒(𝖼𝗈𝗆,𝖽,b)=(𝖼𝗈𝗆,𝖽,𝖼𝗄)𝖢𝗈𝗆𝗆𝗂𝗍(1λ,b)]1𝗇𝖾𝗀𝗅(λ).\displaystyle\Pr[\mathsf{Verify}(\mathsf{com},\mathsf{d},b)=\top\mid(\mathsf{com},\mathsf{d},\mathsf{ck})\leftarrow\mathsf{Commit}(1^{\lambda},b)]\geq 1-{\mathsf{negl}}(\lambda). (77)
Deletion correctness:

There exists a negligible function 𝗇𝖾𝗀𝗅{\mathsf{negl}} such that for any λ\lambda\in\mathbb{N} and b{0,1}b\in\{0,1\},

Pr[𝖢𝖾𝗋𝗍(𝖼𝖾𝗋𝗍,𝖼𝗄)=(𝖼𝗈𝗆,𝖽,𝖼𝗄)𝖢𝗈𝗆𝗆𝗂𝗍(1λ,b),𝖼𝖾𝗋𝗍𝖣𝖾𝗅(𝖼𝗈𝗆)]1𝗇𝖾𝗀𝗅(λ).\displaystyle\Pr[\mathsf{Cert}(\mathsf{cert},\mathsf{ck})=\top\mid(\mathsf{com},\mathsf{d},\mathsf{ck})\leftarrow\mathsf{Commit}(1^{\lambda},b),\mathsf{cert}\leftarrow\mathsf{Del}(\mathsf{com})]\geq 1-{\mathsf{negl}}(\lambda). (78)
Definition C.3 (ϵ\epsilon-Sum-Binding).

For any 𝖼𝗈𝗆\mathsf{com}, 𝖽\mathsf{d}, and 𝖽\mathsf{d}^{\prime}, it holds that

Pr[𝖵𝖾𝗋𝗂𝖿𝗒(𝖼𝗈𝗆,𝖽,0)=]+Pr[𝖵𝖾𝗋𝗂𝖿𝗒(𝖼𝗈𝗆,𝖽,1)=]1+ϵ.\displaystyle\Pr[\mathsf{Verify}(\mathsf{com},\mathsf{d},0)=\top]+\Pr[\mathsf{Verify}(\mathsf{com},\mathsf{d}^{\prime},1)=\top]\leq 1+\epsilon. (79)

We call ϵ\epsilon-sum-binding just sum-binding if ϵ\epsilon is negligible.

Definition C.4 (Computational Hiding).

Let Σ(𝖢𝗈𝗆𝗆𝗂𝗍,𝖵𝖾𝗋𝗂𝖿𝗒,𝖣𝖾𝗅,𝖢𝖾𝗋𝗍)\Sigma\coloneqq(\mathsf{Commit},\mathsf{Verify},\mathsf{Del},\mathsf{Cert}). Let us consider the following security experiment 𝖤𝗑𝗉Σ,𝒜𝖼-𝗁𝗂𝖽𝖾(λ,b)\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{c}\mbox{-}\mathsf{hide}}(\lambda,b) against any QPT adversary 𝒜\mathcal{A}.

  1. 1.

    The challenger computes (𝖼𝗈𝗆,𝖽,𝖼𝗄)𝖢𝗈𝗆𝗆𝗂𝗍(1λ,b)(\mathsf{com},\mathsf{d},\mathsf{ck})\leftarrow\mathsf{Commit}(1^{\lambda},b), and sends 𝖼𝗈𝗆\mathsf{com} to 𝒜\mathcal{A}.

  2. 2.

    𝒜\mathcal{A} outputs b{0,1}b^{\prime}\in\{0,1\}.

  3. 3.

    The output of the experiment is bb^{\prime}.

Computational hiding means that the following is satisfied for any QPT 𝒜\mathcal{A}.

𝖠𝖽𝗏Σ,𝒜𝖼-𝗁𝗂𝖽𝖾(λ)|Pr[𝖤𝗑𝗉Σ,𝒜𝖼-𝗁𝗂𝖽𝖾(λ,0)=1]Pr[𝖤𝗑𝗉Σ,𝒜𝖼-𝗁𝗂𝖽𝖾(λ,1)=1]|𝗇𝖾𝗀𝗅(λ).\displaystyle\mathsf{Adv}_{\Sigma,\mathcal{A}}^{\mathsf{c}\mbox{-}\mathsf{hide}}(\lambda)\coloneqq\left|\Pr[\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{c}\mbox{-}\mathsf{hide}}(\lambda,0)=1]-\Pr[\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{c}\mbox{-}\mathsf{hide}}(\lambda,1)=1]\right|\leq{\mathsf{negl}}(\lambda). (80)
Definition C.5 (Certified Everlasting Hiding).

Let Σ(𝖢𝗈𝗆𝗆𝗂𝗍,𝖵𝖾𝗋𝗂𝖿𝗒,𝖣𝖾𝗅,𝖢𝖾𝗋𝗍)\Sigma\coloneqq(\mathsf{Commit},\mathsf{Verify},\mathsf{Del},\mathsf{Cert}). Let us consider the following security experiment 𝖤𝗑𝗉Σ,𝒜𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,b)\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,b) against 𝒜=(𝒜1,𝒜2)\mathcal{A}=(\mathcal{A}_{1},\mathcal{A}_{2}) consisting of any QPT adversary 𝒜1\mathcal{A}_{1} and any unbounded adversary 𝒜2\mathcal{A}_{2}.

  1. 1.

    The challenger computes (𝖼𝗈𝗆,𝖽,𝖼𝗄)𝖢𝗈𝗆𝗆𝗂𝗍(1λ,b)(\mathsf{com},\mathsf{d},\mathsf{ck})\leftarrow\mathsf{Commit}(1^{\lambda},b), and sends 𝖼𝗈𝗆\mathsf{com} to 𝒜1\mathcal{A}_{1}.

  2. 2.

    At some point, 𝒜1\mathcal{A}_{1} sends 𝖼𝖾𝗋𝗍\mathsf{cert} to the challenger, and sends its internal state to 𝒜2\mathcal{A}_{2}.

  3. 3.

    The challenger computes 𝖢𝖾𝗋𝗍(𝖼𝖾𝗋𝗍,𝖼𝗄)\mathsf{Cert}(\mathsf{cert},\mathsf{ck}). If the output is \top, then the challenger outputs \top, and sends (𝖽,𝖼𝗄)(\mathsf{d},\mathsf{ck}) to 𝒜2\mathcal{A}_{2}. Else, the challenger outputs \bot, and sends \bot to 𝒜2\mathcal{A}_{2}.

  4. 4.

    𝒜2\mathcal{A}_{2} outputs b{0,1}b^{\prime}\in\{0,1\}.

  5. 5.

    If the challenger outputs \top, then the output of the experiment is bb^{\prime}. Otherwise, the output of the experiment is \bot.

We say that it is certified everlasting hiding if the following is satisfied for any 𝒜=(𝒜1,𝒜2)\mathcal{A}=(\mathcal{A}_{1},\mathcal{A}_{2}).

𝖠𝖽𝗏Σ,𝒜𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ)|Pr[𝖤𝗑𝗉Σ,𝒜𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,0)=1]Pr[𝖤𝗑𝗉Σ,𝒜𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,1)=1]|𝗇𝖾𝗀𝗅(λ).\displaystyle\mathsf{Adv}_{\Sigma,\mathcal{A}}^{\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda)\coloneqq\left|\Pr[\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,0)=1]-\Pr[\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,1)=1]\right|\leq{\mathsf{negl}}(\lambda). (81)

C.2 Construction

Though the construction is essentially the same as that in Section 3.2, we give the full description for clarity. Let λ\lambda be the security parameter, and let pp, qq, rr, ss, tt and uu be some polynomials. We construct a bit commitment with certified everlasting hiding and sum-binding, Σ𝖼𝖼𝖽=(𝖢𝗈𝗆𝗆𝗂𝗍,𝖵𝖾𝗋𝗂𝖿𝗒,𝖣𝖾𝗅,𝖢𝖾𝗋𝗍)\Sigma_{\mathsf{ccd}}=(\mathsf{Commit},\mathsf{Verify},\mathsf{Del},\mathsf{Cert}), with message space ={0,1}\mathcal{M}=\{0,1\}, commitment space 𝒞=𝒬p(λ)×{0,1}q(λ)×{0,1}r(λ)\mathcal{C}=\mathcal{Q}^{\otimes p(\lambda)}\times\{0,1\}^{q(\lambda)}\times\{0,1\}^{r(\lambda)}, decommitment space 𝒟={0,1}s(λ)×{0,1}t(λ)\mathcal{D}=\{0,1\}^{s(\lambda)}\times\{0,1\}^{t(\lambda)}, key space 𝒦={0,1}r(λ)\mathcal{K}=\{0,1\}^{r(\lambda)} and deletion certificate space ={0,1}u(λ)\mathcal{E}=\{0,1\}^{u(\lambda)} from the following primitives:

  • Secret-key encryption with certified deletion Σ𝗌𝗄𝖼𝖽=𝖲𝖪𝖤.(𝖪𝖾𝗒𝖦𝖾𝗇,𝖤𝗇𝖼,𝖣𝖾𝖼,𝖣𝖾𝗅,𝖵𝖾𝗋𝗂𝖿𝗒)\Sigma_{\mathsf{skcd}}=\mathsf{SKE}.(\mathsf{KeyGen},\mathsf{Enc},\mathsf{Dec},\mathsf{Del},\mathsf{Verify}), with plaintext space ={0,1}\mathcal{M}=\{0,1\}, ciphertext space 𝒞=𝒬p(λ)\mathcal{C}=\mathcal{Q}^{\otimes p(\lambda)}, key space 𝒦={0,1}r(λ)\mathcal{K}=\{0,1\}^{r(\lambda)}, and deletion certificate space ={0,1}u(λ)\mathcal{E}=\{0,1\}^{u(\lambda)}.

  • Classical non-interactive commitment, Σ𝖼𝗈𝗆=𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍\Sigma_{\mathsf{com}}=\mathsf{Classical}.\mathsf{Commit}, with plaintext space {0,1}s(λ)\{0,1\}^{s(\lambda)}, randomness space {0,1}t(λ)\{0,1\}^{t(\lambda)}, and commitment space {0,1}q(λ)\{0,1\}^{q(\lambda)}.

  • A hash function HH from {0,1}s(λ)\{0,1\}^{s(\lambda)} to {0,1}r(λ)\{0,1\}^{r(\lambda)} modeled as a quantumly-accessible random oracle.

The construction is as follows.

𝖢𝗈𝗆𝗆𝗂𝗍(1λ,b)\mathsf{Commit}(1^{\lambda},b):

  • Generate 𝗌𝗄𝖾.𝗌𝗄𝖲𝖪𝖤.𝖪𝖾𝗒𝖦𝖾𝗇(1λ)\mathsf{ske.sk}\leftarrow\mathsf{SKE}.\mathsf{KeyGen}(1^{\lambda}), R{0,1}s(λ)R\leftarrow\{0,1\}^{s(\lambda)}, R{0,1}t(λ)R^{\prime}\leftarrow\{0,1\}^{t(\lambda)}, and a hash function HH from {0,1}s(λ)\{0,1\}^{s(\lambda)} to {0,1}r(λ)\{0,1\}^{r(\lambda)}.

  • Compute 𝗌𝗄𝖾.𝖢𝖳𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗌𝗄,b)\mathsf{ske}.\mathsf{CT}\leftarrow\mathsf{SKE}.\mathsf{Enc}(\mathsf{ske}.\mathsf{sk},b), f𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍(R,R)f\leftarrow\mathsf{Classical}.\mathsf{Commit}(R;R^{\prime}), and hH(R)𝗌𝗄𝖾.𝗌𝗄h\coloneqq H(R)\oplus\mathsf{ske}.\mathsf{sk}.

  • Output 𝖼𝗈𝗆(𝗌𝗄𝖾.𝖢𝖳,f,h)\mathsf{com}\coloneqq(\mathsf{ske}.\mathsf{CT},f,h), 𝖽(R,R)\mathsf{d}\coloneqq(R,R^{\prime}), and 𝖼𝗄𝗌𝗄𝖾.𝗌𝗄\mathsf{ck}\coloneqq\mathsf{ske}.\mathsf{sk}.

𝖵𝖾𝗋𝗂𝖿𝗒(𝖼𝗈𝗆,𝖽,b)\mathsf{Verify}(\mathsf{com},\mathsf{d},b):

  • Parse 𝖼𝗈𝗆=(𝗌𝗄𝖾.𝖢𝖳,f,h)\mathsf{com}=(\mathsf{ske}.\mathsf{CT},f,h) and 𝖽=(R,R)\mathsf{d}=(R,R^{\prime}).

  • Compute 𝗌𝗄𝖾.𝗌𝗄H(R)h\mathsf{ske}.\mathsf{sk}^{\prime}\coloneqq H(R)\oplus h.

  • Compute b𝖲𝖪𝖤.𝖣𝖾𝖼(𝗌𝗄𝖾.𝗌𝗄,𝗌𝗄𝖾.𝖢𝖳)b^{\prime}\leftarrow\mathsf{SKE}.\mathsf{Dec}(\mathsf{ske}.\mathsf{sk}^{\prime},\mathsf{ske}.\mathsf{CT}).

  • Output \top if f=𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍(R,R)f=\mathsf{Classical}.\mathsf{Commit}(R;R^{\prime}) and b=bb^{\prime}=b, and output \bot otherwise.

𝖣𝖾𝗅(𝖼𝗈𝗆)\mathsf{Del}(\mathsf{com}):

  • Parse 𝖼𝗈𝗆=(𝗌𝗄𝖾.𝖢𝖳,f,h)\mathsf{com}=(\mathsf{ske}.\mathsf{CT},f,h).

  • Compute 𝗌𝗄𝖾.𝖼𝖾𝗋𝗍𝖲𝖪𝖤.𝖣𝖾𝗅(𝗌𝗄𝖾.𝖢𝖳)\mathsf{ske}.\mathsf{cert}\leftarrow\mathsf{SKE}.\mathsf{Del}(\mathsf{ske}.\mathsf{CT}).

  • Output 𝖼𝖾𝗋𝗍𝗌𝗄𝖾.𝖼𝖾𝗋𝗍\mathsf{cert}\coloneqq\mathsf{ske}.\mathsf{cert}.

𝖢𝖾𝗋𝗍(𝖼𝖾𝗋𝗍,𝖼𝗄)\mathsf{Cert}(\mathsf{cert},\mathsf{ck}):

  • Parse 𝖼𝖾𝗋𝗍=𝗌𝗄𝖾.𝖼𝖾𝗋𝗍\mathsf{cert}=\mathsf{ske}.\mathsf{cert} and 𝖼𝗄=𝗌𝗄𝖾.𝗌𝗄\mathsf{ck}=\mathsf{ske}.\mathsf{sk}.

  • Output /𝖲𝖪𝖤.𝖵𝖾𝗋𝗂𝖿𝗒(𝗌𝗄𝖾.𝗌𝗄,𝗌𝗄𝖾.𝖼𝖾𝗋𝗍)\top/\bot\leftarrow\mathsf{SKE}.\mathsf{Verify}(\mathsf{ske}.\mathsf{sk},\mathsf{ske}.\mathsf{cert}).

Correctness.

The decommitment and deletion correctness easily follow from the correctness of Σ𝗌𝗄𝖼𝖽\Sigma_{\mathsf{skcd}}.

Security.

We prove the following three theorems.

Theorem C.6.

If Σ𝖼𝗈𝗆\Sigma_{\mathsf{com}} is perfect binding, then Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}} is sum-binding.

Theorem C.7.

If Σ𝖼𝗈𝗆\Sigma_{\mathsf{com}} is unpredictable and Σ𝗌𝗄𝖼𝖽\Sigma_{\mathsf{skcd}} is OT-CD secure, then Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}} is certified everlasting hiding.

Theorem C.8.

If Σ𝖼𝗈𝗆\Sigma_{\mathsf{com}} is unpredictable and Σ𝗌𝗄𝖼𝖽\Sigma_{\mathsf{skcd}} is OT-CD secure, then Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}} is computationally hiding.

Proof of Theorem C.6.

What we have to prove is that for any 𝖼𝗈𝗆\mathsf{com}, 𝖽\mathsf{d}, and 𝖽\mathsf{d}^{\prime}, it holds that

Pr[𝖵𝖾𝗋𝗂𝖿𝗒(𝖼𝗈𝗆,𝖽,0)=]+Pr[𝖵𝖾𝗋𝗂𝖿𝗒(𝖼𝗈𝗆,𝖽,1)=]1+𝗇𝖾𝗀𝗅(λ).\displaystyle\Pr[\mathsf{Verify}(\mathsf{com},\mathsf{d},0)=\top]+\Pr[\mathsf{Verify}(\mathsf{com},\mathsf{d}^{\prime},1)=\top]\leq 1+{\mathsf{negl}}(\lambda). (82)

Let 𝖽=(R0,R0)\mathsf{d}=(R_{0},R_{0}^{\prime}), 𝖽=(R1,R1)\mathsf{d}^{\prime}=(R_{1},R_{1}^{\prime}), and 𝖼𝗈𝗆=(𝗌𝗄𝖾.𝖢𝖳,f,h)\mathsf{com}=(\mathsf{ske}.\mathsf{CT},f,h). Then,

Pr[𝖵𝖾𝗋𝗂𝖿𝗒(𝖼𝗈𝗆,𝖽,0)=]+Pr[𝖵𝖾𝗋𝗂𝖿𝗒(𝖼𝗈𝗆,𝖽,1)=]\displaystyle\Pr[\mathsf{Verify}(\mathsf{com},\mathsf{d},0)=\top]+\Pr[\mathsf{Verify}(\mathsf{com},\mathsf{d}^{\prime},1)=\top] (83)
=Pr[0𝖲𝖪𝖤.𝖣𝖾𝖼(hH(R0),𝗌𝗄𝖾.𝖢𝖳)f=𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍(R0;R0)]\displaystyle=\Pr[0\leftarrow\mathsf{SKE}.\mathsf{Dec}(h\oplus H(R_{0}),\mathsf{ske}.\mathsf{CT})\wedge f=\mathsf{Classical}.\mathsf{Commit}(R_{0};R_{0}^{\prime})] (84)
+Pr[1𝖲𝖪𝖤.𝖣𝖾𝖼(hH(R1),𝗌𝗄𝖾.𝖢𝖳)f=𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍(R1;R1)]\displaystyle+\Pr[1\leftarrow\mathsf{SKE}.\mathsf{Dec}(h\oplus H(R_{1}),\mathsf{ske}.\mathsf{CT})\wedge f=\mathsf{Classical}.\mathsf{Commit}(R_{1};R_{1}^{\prime})] (85)
Pr[0𝖲𝖪𝖤.𝖣𝖾𝖼(hH(R~),𝗌𝗄𝖾.𝖢𝖳)f=𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍(R~;R0)]\displaystyle\leq\Pr[0\leftarrow\mathsf{SKE}.\mathsf{Dec}(h\oplus H(\tilde{R}),\mathsf{ske}.\mathsf{CT})\wedge f=\mathsf{Classical}.\mathsf{Commit}(\tilde{R};R_{0}^{\prime})] (86)
+Pr[1𝖲𝖪𝖤.𝖣𝖾𝖼(hH(R~),𝗌𝗄𝖾.𝖢𝖳)f=𝖢𝗅𝖺𝗌𝗌𝗂𝖼𝖺𝗅.𝖢𝗈𝗆𝗆𝗂𝗍(R~;R1)]\displaystyle+\Pr[1\leftarrow\mathsf{SKE}.\mathsf{Dec}(h\oplus H(\tilde{R}),\mathsf{ske}.\mathsf{CT})\wedge f=\mathsf{Classical}.\mathsf{Commit}(\tilde{R};R_{1}^{\prime})] (87)
Pr[0𝖲𝖪𝖤.𝖣𝖾𝖼(hH(R~),𝗌𝗄𝖾.𝖢𝖳)]+Pr[1𝖲𝖪𝖤.𝖣𝖾𝖼(hH(R~),𝗌𝗄𝖾.𝖢𝖳)]\displaystyle\leq\Pr[0\leftarrow\mathsf{SKE}.\mathsf{Dec}(h\oplus H(\tilde{R}),\mathsf{ske}.\mathsf{CT})]+\Pr[1\leftarrow\mathsf{SKE}.\mathsf{Dec}(h\oplus H(\tilde{R}),\mathsf{ske}.\mathsf{CT})] (88)
=Pr[0𝖲𝖪𝖤.𝖣𝖾𝖼(hH(R~),𝗌𝗄𝖾.𝖢𝖳)1𝖲𝖪𝖤.𝖣𝖾𝖼(hH(R~),𝗌𝗄𝖾.𝖢𝖳)]\displaystyle=\Pr[0\leftarrow\mathsf{SKE}.\mathsf{Dec}(h\oplus H(\tilde{R}),\mathsf{ske}.\mathsf{CT})\vee 1\leftarrow\mathsf{SKE}.\mathsf{Dec}(h\oplus H(\tilde{R}),\mathsf{ske}.\mathsf{CT})] (89)
1,\displaystyle\leq 1, (90)

where we have used perfect binding of Σ𝖼𝗈𝗆\Sigma_{\mathsf{com}} in the second inequality.

Proof of Theorem C.7.

It is the same as that of Theorem 3.9. ∎

Proof of Theorem C.8.

It is the same as that of Theorem 3.10. ∎

Appendix D Proof of Lemma 3.7

Let us consider the following hybrids for j{0,1,,n}j\in\{0,1,...,n\}.

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

  1. 1.

    𝒜1\mathcal{A}_{1} generates (m0,m1){0,1}n×{0,1}n(m^{0},m^{1})\in\{0,1\}^{n}\times\{0,1\}^{n} and sends it to the challenger.

  2. 2.

    The challenger computes

    (𝖼𝗈𝗆i(mi1),𝖽i(mi1),𝖼𝗄i(mi1))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,mi1)\displaystyle(\mathsf{com}_{i}(m_{i}^{1}),\mathsf{d}_{i}(m_{i}^{1}),\mathsf{ck}_{i}(m_{i}^{1}))\leftarrow\mathsf{Commit}(1^{\lambda},m^{1}_{i}) (91)

    for i[j]i\in[j] and

    (𝖼𝗈𝗆i(mi0),𝖽i(mi0),𝖼𝗄i(mi0))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,mi0)\displaystyle(\mathsf{com}_{i}(m_{i}^{0}),\mathsf{d}_{i}(m_{i}^{0}),\mathsf{ck}_{i}(m_{i}^{0}))\leftarrow\mathsf{Commit}(1^{\lambda},m^{0}_{i}) (92)

    for each i{j+1,,n}i\in\{j+1,...,n\}, and sends {𝖼𝗈𝗆i(mi1)}i[j]\{\mathsf{com}_{i}(m_{i}^{1})\}_{i\in[j]} and {𝖼𝗈𝗆i(mi0)}i{j+1,,n}\{\mathsf{com}_{i}(m_{i}^{0})\}_{i\in\{j+1,...,n\}} to 𝒜1\mathcal{A}_{1}. Here, mibm_{i}^{b} is the ii-th bit of mbm^{b}.

  3. 3.

    At some point, 𝒜1\mathcal{A}_{1} sends {𝖼𝖾𝗋𝗍i}i[n]\{\mathsf{cert}_{i}\}_{i\in[n]} to the challenger, and sends its internal state to 𝒜2\mathcal{A}_{2}.

  4. 4.

    The challenger computes 𝖢𝖾𝗋𝗍(𝖼𝖾𝗋𝗍i,𝖼𝗄i(mi1))\mathsf{Cert}(\mathsf{cert}_{i},\mathsf{ck}_{i}(m_{i}^{1})) for each i[j]i\in[j] and 𝖢𝖾𝗋𝗍(𝖼𝖾𝗋𝗍i,𝖼𝗄i(mi0))\mathsf{Cert}(\mathsf{cert}_{i},\mathsf{ck}_{i}(m_{i}^{0})) for each i{j+1,,n}i\in\{j+1,...,n\}. If the outputs are \top for all i[n]i\in[n], then the challenger outputs \top, and sends {𝖽i(mi1),𝖼𝗄i(mi1)}i[j]\{\mathsf{d}_{i}(m_{i}^{1}),\mathsf{ck}_{i}(m_{i}^{1})\}_{i\in[j]} and {𝖽i(mi0),𝖼𝗄i(mi0)}i{j+1,,n}\{\mathsf{d}_{i}(m_{i}^{0}),\mathsf{ck}_{i}(m_{i}^{0})\}_{i\in\{j+1,...,n\}} to 𝒜2\mathcal{A}_{2}. Else, the challenger outputs \bot, and sends \bot to 𝒜2\mathcal{A}_{2}.

  5. 5.

    𝒜2\mathcal{A}_{2} outputs b{0,1}b^{\prime}\in\{0,1\}.

  6. 6.

    If the challenger outputs \top, then the output of the experiment is bb^{\prime}. Otherwise, the output of the experiment is \bot.

It is clear that 𝖧𝗒𝖻0=𝖤𝗑𝗉Σ,𝒜𝖻𝗂𝗍-𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,0)\mathsf{Hyb}_{0}=\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{bit}\mbox{-}\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,0) and 𝖧𝗒𝖻n=𝖤𝗑𝗉Σ,𝒜𝖻𝗂𝗍-𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,1)\mathsf{Hyb}_{n}=\mathsf{Exp}_{\Sigma,\mathcal{A}}^{\mathsf{bit}\mbox{-}\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,1). Furthermore, we can show

|Pr[𝖧𝗒𝖻j=1]Pr[𝖧𝗒𝖻j+1=1]|𝗇𝖾𝗀𝗅(λ)\displaystyle\left|\Pr[\mathsf{Hyb}_{j}=1]-\Pr[\mathsf{Hyb}_{j+1}=1]\right|\leq{\mathsf{negl}}(\lambda) (93)

for each j{0,1,,n1}j\in\{0,1,...,n-1\}. (Its proof is given below.) From these facts, we obtain Lemma 3.7.

Let us show the remaining one. To show it, let us assume that |Pr[𝖧𝗒𝖻j=1]Pr[𝖧𝗒𝖻j+1=1]|\left|\Pr[\mathsf{Hyb}_{j}=1]-\Pr[\mathsf{Hyb}_{j+1}=1]\right| is non-negligible. Then, we can construct an adversary \mathcal{B} that can break the certified everlasting hiding of Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}} as follows.

  1. 1.

    \mathcal{B} receives (m0,m1)(m^{0},m^{1}) from 𝒜1\mathcal{A}_{1}, and computes

    (𝖼𝗈𝗆i(mi1),𝖽i(mi1),𝖼𝗄i(mi1))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,mi1)\displaystyle(\mathsf{com}_{i}(m_{i}^{1}),\mathsf{d}_{i}(m_{i}^{1}),\mathsf{ck}_{i}(m_{i}^{1}))\leftarrow\mathsf{Commit}(1^{\lambda},m^{1}_{i}) (94)

    for i[j]i\in[j] and

    (𝖼𝗈𝗆i(mi0),𝖽i(mi0),𝖼𝗄i(mi0))𝖢𝗈𝗆𝗆𝗂𝗍(1λ,mi0)\displaystyle(\mathsf{com}_{i}(m_{i}^{0}),\mathsf{d}_{i}(m_{i}^{0}),\mathsf{ck}_{i}(m_{i}^{0}))\leftarrow\mathsf{Commit}(1^{\lambda},m^{0}_{i}) (95)

    for i{j+2,,n}i\in\{j+2,...,n\}.

  2. 2.

    \mathcal{B} sends (mj+10,mj+11)(m_{j+1}^{0},m_{j+1}^{1}) to the challenger of 𝖤𝗑𝗉Σ𝖼𝖼𝖽,𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{ccd}},\mathcal{B}}^{\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,b^{\prime}), and receives 𝖼𝗈𝗆j+1(mj+1b)\mathsf{com}_{j+1}(m_{j+1}^{b^{\prime}}) from the challenger.

  3. 3.

    \mathcal{B} sends {𝖼𝗈𝗆i(mi1)}i[j]\{\mathsf{com}_{i}(m_{i}^{1})\}_{i\in[j]}, 𝖼𝗈𝗆j+1(mj+1b)\mathsf{com}_{j+1}(m_{j+1}^{b^{\prime}}), and {𝖼𝗈𝗆i(mi0)}i{j+2,,n}\{\mathsf{com}_{i}(m_{i}^{0})\}_{i\in\{j+2,...,n\}}, to 𝒜1\mathcal{A}_{1}.

  4. 4.

    𝒜1\mathcal{A}_{1} sends {𝖼𝖾𝗋𝗍i}i[n]\{\mathsf{cert}_{i}\}_{i\in[n]} to \mathcal{B}, and sends its internal state to 𝒜2\mathcal{A}_{2}.

  5. 5.

    \mathcal{B} sends 𝖼𝖾𝗋𝗍j+1\mathsf{cert}_{j+1} to the challenger of 𝖤𝗑𝗉Σ𝖼𝖼𝖽,𝖾𝗏𝖾𝗋-𝗁𝗂𝖽𝖾(λ,b)\mathsf{Exp}_{\Sigma_{\mathsf{ccd}},\mathcal{B}}^{\mathsf{ever}\mbox{-}\mathsf{hide}}(\lambda,b^{\prime}), and receives (𝖽j+1(mj+1b),𝖼𝗄j+1(mj+1b))(\mathsf{d}_{j+1}(m_{j+1}^{b^{\prime}}),\mathsf{ck}_{j+1}(m_{j+1}^{b^{\prime}})) or \bot from the challenger. If \mathcal{B} receives \bot from the challenger, it outputs \bot and aborts.

  6. 6.

    \mathcal{B} sends all 𝖽i\mathsf{d}_{i} and 𝖼𝗄i\mathsf{ck}_{i} to 𝒜2\mathcal{A}_{2}.

  7. 7.

    𝒜2\mathcal{A}_{2} outputs b′′b^{\prime\prime}.

  8. 8.

    \mathcal{B} computes 𝖢𝖾𝗋𝗍\mathsf{Cert} for all 𝖼𝖾𝗋𝗍i\mathsf{cert}_{i}, and outputs b′′b^{\prime\prime} if all results are \top. Otherwise, \mathcal{B} outputs \bot.

It is clear that Pr[1b=0]=Pr[𝖧𝗒𝖻j=1]\Pr[\mathcal{B}\to 1\mid b^{\prime}=0]=\Pr[\mathsf{Hyb}_{j}=1] and Pr[1b=1]=Pr[𝖧𝗒𝖻j+1=1]\Pr[\mathcal{B}\to 1\mid b^{\prime}=1]=\Pr[\mathsf{Hyb}_{j+1}=1]. By assumption, |Pr[𝖧𝗒𝖻j=1]Pr[𝖧𝗒𝖻j+1=1]||\Pr[\mathsf{Hyb}_{j}=1]-\Pr[\mathsf{Hyb}_{j+1}=1]| is non-negligible, and therefore |Pr[1b=0]Pr[1b=1]||\Pr[\mathcal{B}\to 1\mid b^{\prime}=0]-\Pr[\mathcal{B}\to 1\mid b^{\prime}=1]| is non-negligible, which contradict the certified everlasting hiding of Σ𝖼𝖼𝖽\Sigma_{\mathsf{ccd}}.