Abstract
Non-interactive zero-knowledge (NIZK) proofs for chosen-ciphertext security are generally considered to give an impractical construction. An interesting recent work by Seo, Abdalla, Lee, and Park (Information Sciences, July 2019) proposed an efficient semi-generic conversion method for achieving chosen-ciphertext security based on NIZK proofs in the random oracle model. The recent work by Seo et al. demonstrated that the semi-generic conversion method transforms a one-way (OW)-secure key encapsulation mechanism (KEM) into a chosen-ciphertext secure KEM while preserving tight security reduction. This paper shows that the security analysis of the semi-generic conversion method has a flaw, which comes from the OW security condition of the underlying KEM. Without changing the conversion method, this paper presents a revised security proof under the changed conditions that (1) the underlying KEM must be chosen-plaintext secure in terms of indistinguishability and (2) an NIZK proof derived from the underlying KEM via the Fiat–Shamir transform must have the properties of zero-knowledge and simulation soundness. This work extended the security proof strategy to the case of identity-based KEM (IBKEM) and also revise the security proof for IBKEM of previous method by Seo et al. Finally, this work gives a corrected security proof by applying the new proofs to several existing (IB)KEMs.
1. Introduction
Non-interactive zero-knowledge (NIZK) proofs [1,2,3] are considered as some of the most fundamental and versatile cryptographic primitives [4,5]. One usage of NIZK is to construct public-key encryption schemes secure against chosen-ciphertext attacks (denoted as “CCA-security”) based on the Naor–Yung double encryption paradigm [6,7,8]. As building blocks, this approach uses any public-key encryption scheme secure against chosen-plaintext attacks (denoted as “CPA security”) and any NIZK proof system for all of [9,10]. However, the Naor–Yung paradigm has been perceived as a feasibility result for the existence of CCA-secure encryption schemes based on general cryptographic assumptions, leading to impractical constructions [11].
Interestingly, a recent work by Seo et al. [12] proposed a new semi-generic approach for constructing a CCA-secure (and practical) key encapsulation mechanism (KEM) based on NIZK proof systems derived from the Fiat–Shamir (FS) transform [13]. As building blocks, their technique uses a one-way (OW)-secure KEM and an FS-derived NIZK proof system to prove the relationship (such as equality or linearity) among discrete logarithms. In particular, the term “semi-generic” comes from the fact that the underlying OW-secure KEM should satisfy an additional property called “NIZK-compatibility”, meaning that the pair {ciphertext, key} can be an NIZK statement when randomness for KEM is used as a witness for NIZK. Seo et al. [12] demonstrated that their approach can transform an OW-secure (and NIZK-compatible) KEM into a CCA-secure KEM in the random oracle model without security loss.
1.1. Organization
In Section 1.2, we briefly review the semi-generic conversion method from Seo et al. and explain the flaw in the security proof of the method. In Section 1.3, we present the concept of corrected proofs. In Section 2, we present the details of the interactive proof systems for proving the equality and linearity of discrete logarithms, and we describe how FS-derived NIZK proof systems can achieve the properties of zero-knowledge and simulation soundness. In Section 3, we introduced the conversion method for CCA-secure KEM and present our corrected proofs using the hybrid argument of indistinguishability-based framework. As in [12], we can extend our strategy to the case of identity-based KEM (IBKEM); thus, a newly corrected security proof for the conversion of IBKEM is given in Section 4. In Section 5, we apply our security result to several (IB)KEMs used in [12] and provide new corrected theorems for each scheme. Finally, we conclude this paper in Section 6.
1.2. Flaw in Security Proof in Previous Research Literature
The new conversion in [12] works correctly, but we have identified a flaw in its security analysis. For easier explanation, consider the ElGamal KEM as an underlying scheme. Let be a group of prime order p, and let be a pair {ciphertext, key} for group elements , and a random . It is easy to see that the pair can be an NIZK statement for equality of discrete logarithms when the randomness w is the witness (i.e., NIZK-compatible). Let be a commitment for a random . The Fiat–Shamir transform [13] gives the NIZK proof , where and . Assuming that the hash function is modeled as a random oracle, the NIZK proof system is proven to be honest verifier zero-knowledge and sound. The concept behind the transformation proposed in [12] is to see the original ElGamal KEM as a designated verifier proof system by setting for a secret x (only known to the verifier) so that the element is sufficient for the designated verifier NIZK statement. In the transformed variant of the ElGamal KEM, the resulting ciphertext consists of , and the decapsulation algorithm (as a designated verifier) first recovers by computing and then computes along with and . It also verifies that is a valid proof for the recovered statement . If is valid, the decapsulation algorithm computes the final KEM key as for another hash function .
Seo et al. [12] demonstrated that the above variant of the ElGamal KEM is tightly CCA-secure based on the computational Diffie–Hellman (CDH) assumption. From a theoretical viewpoint, the first challenge in their security analysis is how to handle decapsulation queries issued by an adversary without knowing the secret key x. Let be a queried ciphertext, and let , be modeled as random oracles. A reduction algorithm (simulator) finds a tuple in the query table such that , say , and checks that is the valid NIZK proof for the statement and the commitment . If so, the simulator outputs the key from the query table. The decapsulation works correctly because of the soundness of the underlying NIZK proof system, meaning that the adversary is forced to generate the proof for the well-formed ciphertext such that . The second challenge in their security analysis is to find the correct solution to a given CDH instance without security loss. The strategy in [12] is as follows: by using the zero-knowledge property, the simulator first generates a simulated proof with respect to the element for some unknown and implicitly sets and , where “∘” and “⋄” indicate that the simulator does not know the entries. After the challenge ciphertext and the challenge key are given to the adversary, the simulator waits for the adversary to query the hash inputs for . Seo et al.’s assertion [12] is that because of the soundness of the NIZK proof system, there exists one query (with overwhelming probability) such that is valid among the queried inputs , in which case the entry is the solution to the given CDH instance. Thus, if their assertion was true, the adversary who succeeds in breaking the CCA-security of the variant must make the query, including the CDH solution, to ; otherwise, the adversary has no information on the challenge key.
However, we show that their assertion is not true for the following reasons. Let and be the challenge ciphertext and key, respectively. First, the adversary generates the value by computing , which is the same as the value that the simulator calculated. Next, the adversary can generate the values and as follows: pick a random , and set and . Finally, the adversary issues to the query. We can see that is valid with respect to the false statement and the relevant commitment ; furthermore, polynomially-many such simulated queries can be made after and are given to the adversary. If the adversary issues the correct query such that among the polynomially-many simulated queries, the simulator cannot specify which query relates to the correct statement associated with the CDH solution, unless it is given an oracle to solve the decisional Diffie–Hellman (DDH) problem. Moreover, the implicitly predetermined challenge key will be mapped to a certain wrong query input with “high” probability. Clearly, such inconsistent mapping will allow the adversary to distinguish between a real attack and a simulation.
1.3. Concept of Corrected Proofs
Our strategy to revise Seo et al.’s proofs [12] is to change the security condition of the underlying KEM from OW to CPA while keeping their conversion method intact. In our corrected proofs, the underlying KEM must be CPA-secure in terms of indistinguishability, meaning (roughly) the following: given as a challenge, it is infeasible to determine whether the challenge key was correct or false with respect to the challenge ciphertext . Now, the simulator attacking the CPA security of the underlying KEM is given and wants to determine whether is correct or false using the adversary against CCA-security. Let us assume that the underlying KEM is still NIZK-compatible, as defined in [12]. Given , the simulator proceeds as follows: it sets the pair as the NIZK statement, , and generates a simulated proof for using the zero-knowledge property. Then, it computes the challenge key , where is the relevant commitment for . Then, it gives the challenge ciphertext and the challenge key to the adversary. If is the correct key corresponding to , then is the NIZK proof for the correct statement . Otherwise, is the NIZK proof for the false statement . Now that the simulator knows the candidate value of the KEM key, it does distinguish whether is correct or false by checking whether is issued to queries. Note that is not given to the adversary. If (including ) appears in queries, it is possible to ensure (with overwhelming probability) that is the correct key corresponding to ; otherwise, is a false key. Furthermore, as long as the input is not queried to (modeled as a random oracle), the adversary obtains no information on the challenge key . It follows that success in breaking the CCA-security of the transformed KEM straightforwardly leads to success in breaking the CPA security of the underlying KEM without causing security loss. When applying our proof strategy to the above variant of the ElGamal KEM, it can be proved to be tightly CCA-secure under the DDH assumption.
In our corrected proofs, decapsulation queries are handled by the simulator in the same way as in [12]. However, the NIZK property required for answering decapsulation queries is (one-time) simulation soundness (SS) rather than soundness. This is because can be the simulated proof for the correct or false statement (given to the simulator) depending on . Furthermore, once is given to the adversary as a challenge, it should be difficult for the adversary to generate a pair of a new false statement and its relevant proof that are correctly verified. In particular, a new false statement includes any modification of . Unlike in Seo et al.’s proofs [12], the simulator in ours knows all hash input values regarding and explicitly; thus, the security flaw mentioned above does not occur. Rather, making hash queries about by the adversary could increase the probability that the simulator will succeed in breaking the CPA security of the given KEM.
To show that the underlying NIZK proof system satisfies the simulation soundness property, we use the result of Faust et al. [14], which showed that (roughly) an FS-derived NIZK proof system is simulation-sound in the random oracle model if a canonical three-round interactive proof system (The transcript of consists of {commitment, challenge, and response}.) has the properties of completeness, soundness, and unique response. In fact, along with the soundness, the unique response property gives the effect of making the resulting NIZK proof strongly unforgeable [15] when viewing as a (one-time) signature. As a building block, the conversion by Seo et al. [12] uses an FS-derived NIZK proof system to prove the equality or linearity of discrete logarithms, and it is easy to show that a three-round interactive proof system for equality or linearity satisfies the property of unique response as well as soundness. Thus, by adapting the result in [14], all the underlying (FS-derived) NIZK proof systems in our corrected proofs have the simulation soundness property in the random oracle model.
2. Background
2.1. Notation
is the security parameter. We say that a function is if for every positive polynomial , there exists an integer such that for all , it holds that . Given an algorithm A, we write to denote that y is the output of A. If A is a probabilistic algorithm, then denotes that y is computed by A using fresh random coins. When A is a set, denotes that a is chosen uniformly over A. For , we write to denote the set . The above notation follows the notation from the work in [16].
2.2. Interactive Proof System
Let be an NP-language. We first review a three-move public coin proof system, where a prover wants to convince a verifier that a statement belongs to using a witness such that . Let a prover and a verifier be PPT algorithms that participate in the protocol. First, as inputs, takes a statement , a witness , and a random string and then computes a commitment and sends it to a verifier . Then, inputs a statement and commitment , randomly chooses a challenge in the challenge space, and sends it to . Finally, as inputs, takes , and ; generates a response ; and sends it to . Then, as inputs, takes , , , and , and then outputs 0 or 1. When outputs 1, the verifier is convinced that the statement belongs to .
We now review the following properties.
2.2.1. Completeness
If , any proper execution of the protocol between and ends with the verifier accepting ’s proof. That is, the following holds:
2.2.2. Honest Verifier Zero-Knowledge (HVZK)
There exists an efficient algorithm called a zero-knowledge simulator such that for any PPT distinguisher, , and for any , it holds that
where denotes the resulting transcript returned at the end of the interaction between and on common input and private input .
2.2.3. Soundness
If , any PPT adversary is accepted only with negligible probability. That is, the following holds:
2.2.4. Unique Response
An interactive proof system has the unique response if for any PPT adversary and for any security parameter , it holds that
2.3. Protocol for Proving the Equality of Discrete Logarithms
We review the generalized interactive protocol for proving the equality of discrete logarithms [17,18,19]. Let be groups of prime order p, and let be a generator for . Now, we consider the NP-language
The discrete logarithm is a witness for a statement: , . Then, the interactive protocol for proving the above language is as follows.
- For a statement , the prover selects a random exponent and computes a commitment as follows.
- The verifier randomly selects a random challenge .
- computes a response .
- Given a proof , checks that
It is well known that this protocol is a non-trivial three-round public coin interactive proof system satisfying completeness, HVZK, (statistical) soundness, and unique response properties.
2.4. Protocol for Proving the Linearity of Discrete Logarithms
We review the generalized interactive protocol for proving the linearity of discrete logarithms. Let be groups of prime order p, and let be a generator for . Now, we consider the NP-language
The discrete logarithm is a witness for a statement . Then, the interactive protocol for proving the above language is as follows.
- For a statement , …, , , the prover selects random exponents , and computes a commitment as follows.
- The verifier randomly selects a random challenge .
- computes a response , where for .
- Given a proof , checks that
Similarly to the equality of discrete logarithms, this protocol is also a non-trivial three-round public coin interactive proof system satisfying completeness, HVZK, (statistical) soundness, and unique response properties.
2.5. NIZK in the Random Oracle Model
We can remove the interaction between and by replacing the challenge with a hash value computed by the prover, where H is a hash function modeled as a random oracle. By applying the Fiat–Shamir paradigm [13], we can transform an interactive protocol () into a non-interactive proof system ().
Syntax
Let such that is an NP-language defined by a binary relation R, and H is a hash function (modeled as a random oracle). A non-interactive proof system () for consists of two algorithms. The proving algorithm takes as input a statement and a witness such that and outputs a proof . The verification algorithm (, takes as input a statement and a proof and outputs 1 (true) or 0 (false).
We refer here to the zero-knowledge simulator of a non-interactive zero-knowledge proof system [14] defined in the explicitly programmable random oracle model [20]. As a stateful algorithm, the simulator can operate in two modes: deals with answering random oracle queries such that , while simulates the proof. Note that calls to and share the common state , which is updated after each operation.
Definition 1
(Unbounded Non-Interactive Zero-Knowledge [14]). Let be an NP-language. Let denote the oracles such that returns the first output of and returns the first output of if . We say a protocol is an NIZK proof for language in the random oracle model if there exists a PPT simulator such that for all PPT distinguishers , the advantage such that
is negligible, where both and oracles output ⊥ if .
Definition 2
(Unbounded Simulation Soundness [14]). Let be an NP-language. Consider a proof system for with zero-knowledge simulator . Let denote the oracle such that returns the first output of and returns the first output of . We say that is simulation-sound with respect to in the random oracle model if for all PPT adversaries the advantage such that
is negligible, where is the list of pairs , i.e., (true or false) statements queried to and proofs returned by the simulator.
Theorem 1
(Fiat–Shamir NIZKs [14]). Consider a three-round HVZK interactive proof system for a language with completeness. Let H be a function with range equal to the space of the verifier’s coins. In the random oracle model, the proof system derived from by applying the Fiat–Shamir transform is unbounded non-interactive zero-knowledge.
Theorem 2
(Simulation Soundness of Fiat–Shamir NIZKs [14]). Consider a three-round HVZK interactive proof system for a language with completeness, soundness, and unique response. In the random oracle model, the proof system derived from via the Fiat–Shamir transform is simulation-sound NIZK with respect to its canonical simulator .
By applying the above theorems to the previous interactive protocols for proving the and of discrete logarithms, we can obtain NIZK proof systems for the equality and linearity of discrete logarithms, which both have the properties of zero-knowledge and simulation soundness. Note that the two previous interactive protocols satisfy the completeness, HVZK, (statistical) soundness, and unique response properties.
To measure the concrete bounds of the advantages and with respect to the two interactive protocols, we follow the proofs in [14] (Theorems 1 and 2 therein). First, of the NIZK systems is bounded by the probability that the “good” NIZK simulator fails and aborts during the simulation. Note that the NIZK simulator fails when a collision of the random oracle H happens in the process of updating the hash table . Because the probability that a collision happens is at most , where is the maximum number of H queries and p is the group order including the size of the challenge space, we see that . Second, of the NIZK scheme is bounded by , where denotes the bound of advantage that the adversary violates the of the proof system . The bound in the two interactive protocols is statistically the same as the inverse of the size of the challenge space, , so we see that .
3. Conversion Method for CCA-Secure KEM
3.1. KEM
3.1.1. Syntax
We follow the syntax of KEM from the work in [16]. A key encapsulation mechanism = (, , ) consists of three algorithms: The setup algorithm takes as input the security parameter and outputs a key pair . The encapsulation algorithm generates a key and a ciphertext from input . The decapsulation algorithm ← ) takes as input a public key , a private key , and a ciphertext and outputs a key .
3.1.2. Security Model of KEM
Here, we define the IND-{CPA,CCA} security of KEM by referring to [12]. First, a security experiment of IND-CPA played between a challenger and an adversary is described as follows.
- Experiment Exp()
- ;
- ; ;
- ← (, , );
- Output .
The advantage of for breaking the IND-CPA security of KEM is defined as = .
Definition 3.
The scheme is -IND-CPA-secure if for any polynomial time adversary that runs in at most time t, we have .
Now, the security experiment of IND-CCA, where the additional decapsulation oracle is given to an adversary , is described as follows.
- Experiment Exp()
- ;
- ; ;
- ← (, , );
- Output .
The oracle takes as input and returns a key ← (, , with the condition that cannot query the challenge ciphertext . The advantage of for breaking the IND-CCA-security of KEM is defined as = − .
Definition 4.
The scheme is -IND-CCA-secure if for any polynomial time adversary that runs in time at most t and issues at most decapsulation queries, then we have .
3.2. Conversion Method
The conversion method is for a special case of which is compatible with the schemes. We suppose that the algorithm takes the public key and randomness x as inputs and returns a key and a ciphertext (e.g., . Then, we say that a is -compatible if a tuple can be parsed as the statement for proving a relation for discrete logarithms using the witness x. For example, the ElGamal KEM and the linear KEM [21] are -compatible [12].
Let KEM = be an IND-CPA-secure KEM and -compatible. Using the KEM and NIZK scheme, the generic construction of IND-CCA-secure = , , by Seo et al. [12] is described as follows.
(): Given security parameter , the setup algorithm proceeds as follows.
- Generate and by running KEM.Setup.
- Choose and for .
- Output and .
(): Given a public key , the Encap algorithm proceeds as follows.
- Choose the random coins x and compute ← .
- Set and .
- Compute ().
- (a)
- Choose the random value r and compute .
- (b)
- Compute and the relevant s.
- (c)
- Output the proof .
- Set
- Output and .
(): Given a public key , a ciphertext , and a private , the Decap algorithm proceeds as follows.
- Compute .
- Set .
- If (), go on. Otherwise, abort.
- (a)
- Deterministically compute .
- (b)
- If , output 1. Otherwise, output 0.
- Set and output .
3.3. Security Proof
Theorem 3.
Let and be modeled as random oracles with -collision resistance. Suppose that is -IND-CPA-secure and -compatible with -zero-knowledge and -simulation soundness. Then, the resulting is -IND-CCA-secure, where
Here, is the required time for verification in , and is the key space of .
Proof.
We consider a sequence of hybrid games Game 0, …, Game 9. Game 0 is the actual IND-CCA security game, where an adversary is given a key from the encapsulation algorithm, and Game 9 is the actual game, where an adversary is given a key randomly chosen from a key space for the encapsulation query. Let denote the event that wins in the Game i. Table 1 summarizes the games described below and the properties used to prove indistinguishability between consecutive games.
Table 1.
Values or operations of , , , and DecO(·) in each game and properties ensuring the indistinguishability of consecutive games. + denotes that the simulator retrieves from a random oracle table and checks the validity of the ciphertext based on the property.
Game 0. This is the actual - security game, which is executed with . Thus, the challenger always returns for the challenge.
Game 1. Let be the event that a collision of the hash functions or occurs. This game is identical to Game 0 except that it aborts when the event occurs during the simulation. Due to the collision resistance of the hash functions, we have
Game 2. This game is identical to Game 1 except that the challenge ciphertext is computed differently. Instead of using the real proving algorithm of , the challenger generates the challenge ciphertext using the simulator of (i.e., ). Due to the non-interactive zero-knowledge property of , we have
Game 3. This game is identical to Game 2 except that the decapsulation query is operated differently. In the previous game, for a given ciphertext , the challenger computes using and returns only if () holds. In this game, the challenger retrieves a tuple in the hash table such that , = . If the statement , commitment , challenge c, and response s are verified (i.e., ()), then it returns .
Note that an adversary cannot distinguish Game 3 from Game 2 unless it queries a ciphertext such that proof is verified with a retrieved tuple in (i.e., (, , , )) and is a false statement. In other words, the adversary must forge a proof for a false statement to distinguish the games. Then, by the simulation soundness of with respect to decapsulation queries, we have
Game 4. This game is identical to Game 3 except that the challenge ciphertext is computed differently. In the challenge phase, the challenger randomly selects instead of getting from . The other procedures are the same as in Game 3. Finally, it outputs . We can show that a distinguisher between Game 4 and Game 3 implies an adversary that breaks the IND-CPA security of the underlying scheme. For the sake of simplicity, we prove this later. Then, we have
Game 5. This game is identical to Game 4 except that it is executed with . In other words, the challenger always returns instead of computing . The adversary cannot distinguish Game 5 from Game 4 unless it queries the tuple to the oracle. Note that is a random key from ’s view because is independent of . Therefore, the probability that the adversary queries the tuple to the oracle is at most . Then, we have
Game 6. This game is identical to Game 5 except that the challenge ciphertext is computed differently. In the challenge phase, the challenger uses back from . The other procedures are the same as in Game 5. Finally, it outputs . Like the case between Game 4 and Game 3, we can show that a distinguisher between Game 6 and Game 5 implies an adversary that breaks the IND-CPA security of the underlying scheme. For the sake of simplicity, we prove this later. Then, we have
Game 7. This game is identical to Game 6 except that the decapsulation query is operated differently. In this game, the challenger changes back the operation of the decapsulation query to normal. For a given ciphertext , the challenger computes using and returns , only if () holds. Like the case between Game 3 and Game 2, an adversary cannot distinguish Game 7 from Game 6 unless it submits a ciphertext with a forged proof for a false statement. Then, by the simulation soundness of with respect to decapsulation queries, we have
Game 8. This game is identical to Game 7 except that the challenge ciphertext is computed differently. The challenger uses the real proving algorithm for instead of using simulated proofs. Due to the zero-knowledge property of , we have
Game 9. This game is identical to Game 8 but it does not abort when the event occurs during the simulation. Due to the collision resistance of the hash functions, we have
Note that Game 9 is identical to the - security game executed with . Then, we have
Lemma 1.
If there exists a polynomial time distinguisher between Game 3 and Game 4, then there exists a polynomial time adversary that breaks the IND-CPA security of .
Proof.
Let be a distinguisher between Game 3 and Game 4. Then, we show how to construct an that wins the IND-CPA security game of using with the same advantage.
receives a public key as input. Then, runs by simulating Game 3 with changes as follows.
- In the setup phase, sends to .
- In the challenge phase, the challenge ciphertext and key are given to . Then, sets and generates a simulated proof on the statement . sets , , , where is the deterministically computed commitment from (). sends to .
In the guess phase, outputs its guess. If the guess is “Game 3”, then outputs 1; otherwise, it output 0.
Note that if , i.e., is a true statement or , the above simulation is identical to Game 3 from ’s viewpoint. Otherwise, the above simulation is identical to Game 4. Therefore, we have
□
Lemma 2.
If there exists a polynomial time distinguisher between Games 5 and 6, then there exists a polynomial time adversary that breaks the IND-CPA security of .
Proof 1.
Let be a distinguisher between Games 5 and 6. Then, we show how to construct an that wins the IND-CPA security game of using with the same advantage.
receives a public key as input. Then, runs by simulating Game 5 with changes as follows.
- In the setup phase, sends to .
- In the challenge phase, the challenge ciphertext and key are given to . Then, sets and generates a simulated proof on the statement . Moreover, randomly chooses and sends to .
In the guess phase, outputs its guess. If the guess is “Game 6”, then outputs 1; otherwise, it output 0.
Note that if , i.e., is a true statement or , the above simulation is identical to Game 6 from ’s viewpoint. Otherwise, the above simulation is identical to Game 5. Therefore, we have
□
This completes the proof of the theorem. □
4. Conversion Method for CCA-Secure IBKEM
4.1. IBKEM
4.1.1. Syntax
An ID-based key encapsulation mechanism consists of four algorithms (, , , and ). The setup algorithm , takes as input the security parameter and outputs public parameters and a master secret key . The key generation algorithm takes as input public parameters , the master secret key , and an identity , and outputs an identity secret key . The encapsulation algorithm , takes as input and , and generates a key and a ciphertext . The decapsulation algorithm ← ) takes as input public parameters , a ciphertext , and an identity secret key , and then outputs a key .
4.1.2. Security Model of IBKEM
Here, we define the IND-ID-{CPA,CCA} security of IBKEM by referring to [12]. First, the security experiment of IND-ID-CPA played between a challenger and an adversary is described as follows.
- Experiment Exp()
- ;
- ← ();
- ; ;
- ← (, , );
- Output .
The oracle KeyGen(·) takes as input an identity and returns an identity secret key , with the condition that is not able to query the target identity . Then, the advantage of for breaking the IND-ID-CPA security of IBKEM is defined as
Definition 5.
The scheme is -IND-ID-CPA-secure if for any polynomial time adversary that runs in time at most t and issues at most key generation queries, then we have .
Now, the security experiment of IND-ID-CCA, where the additional decapsulation oracle is given to an adversary , is described as follows.
- Experiment Exp()
- ;
- ← ();
- ; ;
- ← (, , );
- Output .
The oracle KeyGen(·) is the same as that in the IND-ID-CPA security game. The additional oracle takes as input and and returns a key ← (, , , where , , . The restriction on the oracle is that is not able to query the pair . The advantage of for breaking the IND-ID-CCA-security of IBKEM is defined as
Definition 6.
The scheme is -IND-ID-CCA-secure if for any polynomial time adversary that runs in time at most t and issues at most key generation queries and decapsulation queries, then we have .
4.2. Conversion Method
Similar to the previous KEM, this conversion method is for a special case of which is compatible with the schemes. We suppose that the algorithm takes public parameters , an identity , and random coins x as inputs and returns a key and a ciphertext (e.g., . Then, we say that an scheme is -compatible if a tuple can be parsed as the statement for proving a relation for discrete logarithms using the witness x. For instance, the Boneh–Franklin and Boneh–Boyen are -compatible [12].
Let = , , ., be IND-ID-CPA-secure and -compatible. Using the IBKEM and NIZK scheme, the generic construction of the CCA-secure = , , ., . by Seo et al. is described as follows.
(): Given security parameter , the setup algorithm proceeds as follows.
- Generate and by running IBKEM.Setup.
- Choose and for .
- Output and .
(): Given public parameters , a master secret key , and an identity , the KeyGen algorithm proceeds as follows.
- Compute .
- Set and output .
(): Given public parameters = , , and an identity , the Encap algorithm proceeds as follows.
- Choose the randomness x and compute ← .
- Set and .
- Run ().
- (a)
- Choose the randomness r and compute .
- (b)
- Compute and the relevant s.
- (c)
- Output the proof .
- Set
- Output and .
(): Given a public key , a ciphertext , and a private , the Decap algorithm proceeds as follows.
- Compute .
- Set .
- If (), go on. Otherwise, abort.
- (a)
- Deterministically compute .
- (b)
- If , output 1. Otherwise, output 0.
- Set and output .
4.3. Security Proof
Theorem 4.
Let and be modeled as random oracles with -collision resistance. Suppose that is -IND-ID-CPA-secure and -compatible with -zero-knowledge and -simulation soundness. Then, the resulting is -IND-ID-CCA-secure, where
Here, is the required time for verification in the and is the key space of .
Proof.
We consider a sequence of hybrid games Game 0,…, Game 9. Game 0 is the actual IND-ID-CCA security game, where an adversary is given a key from the encapsulation algorithm for the encapsulation query, and Game 9 is the actual IND-ID-CCA game, where an adversary is given a key randomly chosen from a key space for the encapsulation query. Let denote the event that wins in Game i. Table 2 summarizes the games described below and the properties used to prove indistinguishability between consecutive games.
Table 2.
Values or operations of , , , and DecO(·) in each game and properties ensuring the indistinguishability of consecutive games. + denotes that the simulator retrieves from a random oracle table and checks the validity of the ciphertext based on the property.
Game 0. This is the -- security game executed with . Thus, the challenger always returns for the challenge.
Game 1. Let be the event that a collision of the hash functions or occurs. This game is identical to Game 0 except that it aborts when the event occurs during the simulation. Due to the collision resistance of the hash functions, we have
Game 2. This game is identical to Game 1 except that the challenge ciphertext is computed differently. Instead of using the real proving algorithm of , the challenger generates challenge ciphertext using the simulator of (i.e., ). Due to the non-interactive zero-knowledge property of , we have
Game 3. This game is identical to Game 2 except that the decapsulation query is operated differently. In the previous game, for a given pair , the challenger runs , computes , , , and returns . In this game, if , the challenger retrieves a tuple in the hash table such that ; then, it returns only when these statement , commitment , challenge c, and response s are verified (i.e., ()). Otherwise, if , it generates using and decapsulates the ciphertext using , as in the previous game.
Note that an adversary cannot distinguish Game 3 from Game 2 unless it queries a ciphertext such that proof is verified with a retrieved tuple in (i.e., (, , , )) and is a false statement. In other words, the adversary must forge a proof for a false statement to distinguish the games. Then, by the simulation soundness of with respect to decapsulation queries, we have
Game 4. This game is identical to Game 3 except that the challenge ciphertexts are computed differently. In the challenge phase, the challenger randomly selects instead of computing . The other procedures are the same as in Game 3. Finally, it outputs . We can show that a distinguisher between Game 4 and Game 3 implies an adversary that breaks the IND-ID-CPA security of the scheme. For the sake of simplicity, we prove this later. Then, we have
Game 5. This game is identical to Game 4 except that it is executed with . In other words, the challenger always returns instead of computing , , , . cannot distinguish Game 5 from Game 4 unless queries the tuple , , , to the oracle. Note that is random from ’s viewpoint because is independent of . Therefore, the probability that queries the tuple to the oracle is . Then, we have
Game 6. This game is identical to Game 5 except that the challenge ciphertexts are computed differently. In the challenge phase, the challenger uses back . The other procedures are the same as in Game 5. Finally, it outputs . Like the case between Game 4 and Game 3, we can show that a distinguisher between Game 6 and Game 5 implies an adversary that breaks the IND-ID-CPA security of the scheme. For the sake of simplicity, we prove this later. Then, we have
Game 7. This game is identical to Game 6 except that the decapsulation query is operated differently. In this game, the challenger changes the operation of decapsulation query back to normal. For a given pair , the challenger generates using and decapsulates the ciphertext using . Like the case between Game 3 and Game 2, cannot distinguish Game 7 from Game 6 unless it submits a ciphertext with a forged proof for a false statement. Then, by the simulation soundness of with respect to decapsulation queries, we have
Game 8. This game is identical to Game 7 except that the challenge ciphertext is computed differently. The challenger uses the real proving algorithm for instead of using simulated proofs. Due to the zero-knowledge property of , we have
Game 9. This game is identical to Game 8 but it does not abort when the event occurs during the simulation. Due to the collision resistance of the hash functions, we have
Note that Game 9 is identical to the -- security game executed with . Then, we have
Lemma 3.
If there exists a polynomial time distinguisher between Game 3 and Game 4, then there exists a polynomial time adversary that breaks the IND-ID-CPA security of .
Proof.
Let be a distinguisher between Game 3 and Game 4. Then, we show how to construct so that it wins the IND-ID-CPA security game of using with the same advantage.
receives as input a public parameter . Then, runs by simulating Game 3 with changes as follows.
- In the setup phase, sends to .
- When asked a decapsulation query (CT,ID), if , queries for key generation oracle of its challenger, decapsulates , and returns it to . Otherwise, if , the procedure is the same as in Game 3.
- In the challenge phase, the distinguisher sends to . Then, sends to its challenger and receives the challenge ciphertext and key pair. Given the pair , sets and generates simulated proof on the statement . Furthermore, sets , where is deterministically computed commitment from (), and sends , to .
In the guess phase, outputs its guess. If the guess is “Game 3”, outputs 1; otherwise, it output 0.
Note that if , i.e., is a true statement or , the above simulation is identical to Game 3 from ’s viewpoint. Otherwise, the above simulation is identical to Game 4. Therefore, we have
□
Lemma 4.
If there exists a polynomial time distinguisher between Game 5 and Game 6, then there exists a polynomial time adversary that breaks the IND-ID-CPA security of .
Proof.
Let be a distinguisher between Game 5 and Game 6. Then, we show how to construct that wins the IND-ID-CPA security game of using with the same advantage.
receives as input a public parameter . Then, runs by simulating Game 5 with changes as follows.
- In the setup phase, sends to .
- When asked a decapsulation query (CT,ID), if , queries for key generation oracle of its challenger, decapsulates , and returns it to . Otherwise, if , the procedure is the same as in Game 3.
- In the challenge phase, the distinguisher sends to . Then, sends to its challenger and receives the challenge ciphertext and key pair. Given the pair , sets and generates simulated proof on the statement . Then, randomly chooses and sends , to .
In the guess phase, outputs its guess. If the guess is “Game 6”, outputs 1; otherwise, it output 0.
Note that if , i.e., is a true statement or , the above simulation is identical to Game 6 from ’s viewpoint. Otherwise, the above simulation is identical to Game 5. Therefore, we have
□
This completes the proof of the theorem. □
5. Application
In this section, we review the applications described by Seo et al. [12].
5.1. CCA-Secure ElGamal KEM
Let be a group generator generating a group , where the assumption holds. In the ElGamal , a public key consists of two group elements with corresponding private key . The encapsulation is done by computing and , and decapsulation is done by computing . Based on this scheme, the transformed IND-CCA-secure scheme is described as follows.
(): For a security parameter , the setup algorithm proceeds as follows.
- Generate by running GGen.
- Choose a random exponent and set .
- Choose hash functions and .
- Output and .
(): For a public key , p, g, h, , , the Encap algorithm proceeds as follows.
- Choose the random exponent .
- Set and .
- Compute ().
- (a)
- Choose the random exponent and set .
- (b)
- Set and .
- (c)
- Output the proof .
- Set
- Output and .
(): For a public key = , p, g, h, , , a ciphertext , and a private , the Decap algorithm proceeds as follows.
- Set and .
- If (), go on. Otherwise, abort.
- (a)
- Set .
- (b)
- If , output 1. Otherwise, output 0.
- Set and output .
Theorem 5.
Suppose that the DDH assumption holds in , and and are random oracles. Then, the ElGamal KEM is -IND-CCA-secure, where
Here, are the numbers of queries, is the required time for exponentiation in , and p is the group order.
Proof.
We can obtain the proof by applying Theorem 3 to the facts that , , , and . Moreover, we use the fact that becomes similar to in Theorem 3. □
5.2. CCA-Secure Linear KEM
Let be a group generator generating a group , where the decision linear assumption [21] holds. In the linear , a public key consists of three group elements such that with corresponding private key . The encapsulation is done by computing and , and decapsulation is done by computing . Based on this scheme, the transformed IND-CCA-secure scheme is described as follows.
(): For security parameter , the setup algorithm proceeds as follows.
- Generate by running .
- Choose a random generator and a random exponent .
- Choose a random exponent t and set and such that for some .
- Choose hash functions and .
- Output and , h, , .
(): For a public key = , p, , , h, , , the Encap algorithm proceeds as follows.
- Choose random exponents .
- Set and .
- Compute ().
- (a)
- Choose random exponents .
- (b)
- Set .
- (c)
- Compute and , .
- (d)
- Output the proof .
- Set
- Output and .
(): For a public key = , p, , , h, , , a ciphertext , and a private , the Decap algorithm proceeds as follows.
- Compute and set , , h, , , .
- If (), go on. Otherwise, abort.
- (a)
- Set .
- (b)
- If , output 1. Otherwise, output 0.
- Set and output .
Theorem 6.
Suppose that the decision linear assumption holds in , and and are random oracles. Then, the linear KEM is -IND-CCA-secure, where
Here, are the numbers of queries, is the required time for exponentiation in , and p is the group order.
Proof.
We can obtain the proof by applying Theorem 3 to the facts that , , , and . Moreover, we use the fact that becomes similar to in Theorem 3. □
5.3. CCA-Secure Boneh–Franklin IBKEM
Let be a bilinear group generator generating a group , , where the DBDH assumption [22,23] holds. In the Boneh–Franklin [22], public parameters consist of two group elements such that with corresponding master secret key . For an identity , the secret key is generated by computing . The encapsulation is done by computing and , and decapsulation is done by computing . Based on this scheme, the transformed IND-CCA-secure scheme is described as follows.
(): For security parameter , the setup algorithm proceeds as follows.
- Generate .
- Select a random generator .
- Select a random exponent and compute .
- Select hash functions , →⊆ and .
- Output and .
(): For public parameters , a master secret key , and an identity , the KeyGen algorithm proceeds as follows.
- Compute .
- Output .
(): For public parameters = , g, h, H, , and an identity , the Encap algorithm proceeds as follows.
- Select a random exponent .
- Compute .
- Set and .
- Compute ().
- (a)
- Choose the random exponent .
- (b)
- Set .
- (c)
- Compute and .
- (d)
- Output the proof .
- Set
- Output and .
(): For public parameters = , a ciphertext , and a private , the Decap algorithm proceeds as follows.
- Compute .
- Set .
- If (), go on. Otherwise, abort.
- (a)
- Compute .
- (b)
- Set , .
- (c)
- If , output 1. Otherwise, output 0.
- Compute and output .
Theorem 7.
Suppose that the DBDH assumption holds in , and and are random oracles. Then, the Boneh–Franklin IBKEM is -IND-ID-CCA-secure, where
Here, are the numbers of queries, is the required time for exponentiation in , and p is the group order.
Proof.
We can obtain the proof by applying Theorem 4 to the facts that , , , and . Moreover, we use the fact that becomes similar to in Theorem 4. □
5.4. CCA-Secure Boneh–Boyen IBKEM
Let be a bilinear group generator generating a group , , where the DBDH assumption holds. In the Boneh–Boyen [24], public parameters consist of four group elements such that , with corresponding master secret key . For an identity , the secret key is generated by computing . The encapsulation is done by computing and , and decapsulation is done by computing . Based on this scheme, the transformed IND-CCA-secure scheme is described as follows.
(): For security parameter , the setup algorithm proceeds as follows.
- Generate .
- Select two random generators and .
- Select random exponents .
- Compute , , and .
- Select hash functions , →⊆ and .
- Output and = , , , , , H, , .
(): For public parameters , , a master secret key , and an identity , the KeyGen algorithm proceeds as follows.
- Select a random exponent .
- Compute .
- Output .
(): For public parameters = , , , , , H, , and an identity , the Encap algorithm proceeds as follows.
- Select a random exponent .
- Compute .
- Set and .
- Compute ().
- (a)
- Select the random exponent .
- (b)
- Set .
- (c)
- Compute and .
- (d)
- Output the proof .
- Set
- Output and .
(): For public parameters = , , a ciphertext = , , , and a private , the Decap algorithm proceeds as follows.
- Compute .
- Set .
- If (), go on. Otherwise, abort.
- (a)
- Compute .
- (b)
- Set , , .
- (c)
- If , output 1. Otherwise, output 0.
- Set and output .
Theorem 8.
Suppose that the DBDH assumption holds in , and and are random oracles. Then, the Boneh–Boyen IBKEM is -IND-ID-CCA-secure, where
Here, are the numbers of queries, is the required time for exponentiation in , and p is the group order.
Proof.
We can obtain the proof by applying Theorem 4 to the facts that , , , and . Moreover, we use the fact that becomes similar to in Theorem 4. □
6. Conclusions
This paper shows the security proof of the recent work for the CCA conversion method in [12] has a flaw and proposes the corrected proof for the method. The CCA conversion method [12] from OW-CPA-KEM to IND-CCA-KEM is a tightly secure conversion and is based on the Random Oracle model. Without changing the basic conversion method, this paper proposes the new corrected security proof of the conversion method. If the security proof for the newly designed cryptography scheme is not correct, there may exist some vulnerability in the system using the scheme. Therefore, this report on the flaw of security proof of the conversion method [12] and the fixed security proof should be considered by developers that use this conversion method. With the revised CCA conversion method, one can obtain an IND-CCA-KEM scheme from an IND-CPA-KEM scheme, and an IND-ID-CCA-IBKEM scheme from an IND-ID-CPA-IBKEM scheme, respectively. This paper provides the revised applications of the CCA conversion method which are the practical encryption schemes and the ID-based encryption schemes. As a result, information systems such as software tools, image processing, and sound transmission [25,26,27] that require information security can use those applications of the CCA conversion method to enhance data privacy.
However, this work has the limitations that the new security proof assumes the stronger condition that an underlying CPA-KEM is secure in terms of IND instead of OW. As future work, we note that proving the security of the conversion method with a weaker assumption that an underlying CPA-KEM is secure in terms of OW is an interesting open question.
Author Contributions
Conceptualization, J.H.P.; Formal analysis, Y.L. and J.H.P.; methodology, Y.L. and J.H.P.; validation, D.H.L. and J.H.P.; writing—original draft preparation, Y.L. and J.H.P.; writing—review and editing, Y.L., D.H.L., and J.H.P.; supervision, J.H.P.; project administration, D.H.L.; All authors have read and agreed to the published version of the manuscript.
Funding
This work was supported by Institute for Information & Communications Technology Promotion (IITP) grant funded by the Korean Government (MSIT) (No. 2016-6-00600, A Study on Functional Encryption: Construction, Security Analysis, and Implementation.
Institutional Review Board Statement
Not applicable.
Informed Consent Statement
Not applicable.
Data Availability Statement
Not applicable.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Blum, M.; Feldman, P.; Micali, S. Non-interactive zero-knowledge and its applications. In Proceedings of the Twentieth Annual ACM Symposium on Theory of Computing (STOC’88), Chicago, IL, USA, 2–4 May 1988; ACM: New York, NY, USA, 1998; pp. 103–112. [Google Scholar]
- Blum, M.; Santis, A.D.; Micali, S.; Persiano, G. Noninteractive zero-knowledge. SIAM J. Comput. 1991, 20, 1084–1118. [Google Scholar] [CrossRef]
- Feige, U.; Lapidot, D.; Shamir, A. Multiple non-interactive zero knowledge proofs based on a single random string. In Proceedings of the 31st Annual Symposium on Foundations of Computer Science, St. Louis, MO, USA, 22–24 October 1990; pp. 308–317. [Google Scholar]
- Ma, S.; Deng, Y.; He, D.; Zhang, J.; Xie, X. An efficient NIZK scheme for privacy-preserving transactions over account-model blockchain. IEEE Trans. Depend. Secur. Comput. 2021, 18, 641–651. [Google Scholar] [CrossRef]
- Lin, C.; Luo, M.; Huang, X.; Choo, K.-K.R.; He, D. An Efficient Privacy-Preserving Credit Score System Based on Noninteractive Zero-Knowledge Proof. IEEE Syst. J. 2021, 1–10. [Google Scholar] [CrossRef]
- Naor, M.; Yung, M. Public-key cryptosystems provably secure against chosen ciphertext attacks. In Proceedings of the Twenty-Second Annual ACM Symposium on Theory of Computing, STOC’90, Baltimore, MD, USA, 14–16 May 1990; Ortiz, H., Ed.; ACM: New York, NY, USA, 1990; pp. 427–437. [Google Scholar]
- Dolev, D.; Dwork, C.; Naor, M. Nonmalleable cryptography. SIAM J. Comput. 2000, 30, 391–437. [Google Scholar] [CrossRef]
- Sahai, A. Non-malleable non-interactive zero knowledge and adaptive chosen-ciphertext security. In Proceedings of the 40th Annual Symposium on Foundations of Computer Science, FOCS ’99, New York, NY, USA, 17–18 October 1999; pp. 543–553. [Google Scholar]
- Feige, U.; Lapidot, D.; Shamir, A. Multiple noninteractive zero knowledge proofs under general assumptions. SIAM J. Comput. 1999, 29, 1–28. [Google Scholar]
- Rothblum, R.D.; Sealfon, A.; Sotiraki, K. Toward Non-interactive Zero-Knowledge Proofs for NP from LWE. J. Cryptol. 2021, 34, 3. [Google Scholar] [CrossRef]
- Boneh, D.; Canetti, R.; Halevi, S.; Katz, J. Chosen-ciphertext security from identity-based encryption. SIAM J. Comput. 2007, 36, 1301–1328. [Google Scholar] [CrossRef]
- Seo, M.; Abdalla, M.; Lee, D.H.; Park, J.H. New technique for chosen-ciphertext security based on non-interactive zero-knowledge. Inf. Sci. 2019, 490, 18–35. [Google Scholar] [CrossRef]
- Fiat, A.; Shamir, A. How to prove yourself: Practical solutions to identification and signature problems. In Conference on the Theory and Application of Cryptographic Techniques, CRYPTO’ 86; Lecture Notes in Computer Science; Odlyzko, A.M., Ed.; Springer: Berlin/Heidelberg, Germany, 1986; Volume 263, pp. 186–194. [Google Scholar]
- Faust, S.; Kohlweiss, M.; Marson, G.A.; Venturi, D. On the non-malleability of the Fiat-Shamir transform. In Progress in Cryptology—INDOCRYPT’12; Lecture Notes in Computer Science; Galbraith, S., Nandi, M., Eds.; Springer: Berlin/Heidelberg, Germany, 2012; Volume 7668, pp. 60–79. [Google Scholar]
- Abdalla, M.; Fouque, P.; Lyubashevsky, V.; Tibouchi, M. Tightly secure signatures from lossy identification schemes. J. Cryptol. 2016, 29, 597–631. [Google Scholar] [CrossRef]
- Lee, Y.; Lee, D.H.; Park, J.H. Tightly CCA-secure encryption scheme in a multi-user setting with corruptions. Des. Codes Cryptogr. 2020, 88, 2433–2452. [Google Scholar] [CrossRef]
- Camenisch, J.; Stadler, M. Proof Systems for General Statements about Discrete Logarithms; Technical Report 260; Institute for Theoretical Computer Science (ETH Zurich): Zürich, Switzerland, 1997; pp. 1–13. [Google Scholar]
- Chaum, D.; Evertse, J.H.; van de Graaf, J. An Improved Protocol for Demonstrating Possession of Discrete Logarithms and Some Generalizations. In Advances in Cryptology—EUROCRYPT’ 87; Lecture Notes in Computer Science; Chaum, D., Price, W.L., Eds.; Springer: Berlin/Heidelberg, Germany, 1987; Volume 304, pp. 127–141. [Google Scholar]
- Goh, E.J.; Jarecki, S. A Signature Scheme as Secure as the Diffie-Hellman Problem. In Advances in Cryptology—EUROCRYPT’03; Lecture Notes in Computer Science; Biham, E., Ed.; Springer: Berlin/Heidelberg, Germany, 2003; Volume 2656, pp. 401–415. [Google Scholar]
- Wee, H. Zero Knowledge in the Random Oracle Model, Revisited. In Advances in Cryptology—ASIACRYPT’09; Lecture Notes in Computer Science; Matsui, M., Ed.; Springer: Berlin/Heidelberg, Germany, 2009; Volume 5912, pp. 417–434. [Google Scholar]
- Boneh, D.; Boyen, X.; Shacham, H. Short Group Signatures. In Advances in Cryptology—CRYPTO’04; Springer: Berlin/Heidelberg, Germany, 2004; Volume 3152, pp. 41–55. [Google Scholar]
- Boneh, D.; Franklin, M.K. Identity-Based Encryption from the Weil Pairing. In Advances in Cryptology—CRYPTO‘01; Lecture Notes in Computer Science; Kilian, J., Ed.; Springer: Berlin/Heidelberg, Germany, 2001; Volume 2139, pp. 213–229. [Google Scholar]
- Libert, B. New Secure Applications of Bilinear Maps in Cryptography. Ph.D. Thesis, Universitï Catholique de Louvain, Ottignies-Louvain-la-Neuve, Belgium, 2006. [Google Scholar]
- Boneh, D.; Boyen, X. Efficient Selective-Id Secure Identity-Based Encryption without Random Oracles. In Advances in Cryptology—EUROCRYPT 2004; Lecture Notes in Computer Science; Cachin, C., Camenisch, J., Eds.; Springer: Berlin/Heidelberg, Germany, 2004; Volume 3027, pp. 223–238. [Google Scholar]
- Buraga, S.C.; Dospinescu, O. A knowledge-based pilot study on assessing the music influence. Comput. Mater. Contin. 2021, 66, 2857–2873. [Google Scholar] [CrossRef]
- Shankar, K.; Elhoseny, M. Trust based cluster head election of secure message transmission in MANET using multi secure protocol with TDES. J. Univers. Comput. Sci. 2019, 25, 1221–1239. [Google Scholar]
- Dospinescu, O.; Brodner, P. Integrated Applications with Laser Technology. Informatică Economică 2013, 17, 53–61. [Google Scholar] [CrossRef]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).