Here, we show a generic construction of CCA-secure PKE from an IBE scheme and aQ-fold OTS scheme. We require that in the original IBE scheme, the key generation algorithm does not output any secret parameter. Namely, we require thatsp = ⊥. This requirement is satisfied in all of our IBE schemes except for that in Section7. If the original IBE andQ-fold OTS scheme are tightly secure, the resulting PKE is tightly secure as well. We construct PKE schemeΨfrom an IBE schemeΦ= (Φ.Par,Φ.Gen,Φ.Ext,Φ.Enc,Φ.Dec)and a
Q-fold OTS schemeΣ= (Σ.Par,Σ.Gen,Σ.Sign,Σ.Verify)as follows. Without loss of generality, we assume that identity space ofΦcontains all possiblevkoutput byΣ.Gen.
Ψ.Par(1κ) : It runsΣ.Par(1κ)→ppΣandΦ.Par(1κ)→(ppΦ,sp=⊥). Then, it outputsppΨ= (ppΦ,ppΣ).
Ψ.Gen(ppΨ) It parsesppΨ → (ppΦ,ppΣ)and runsΦ.Gen(ppΦ,sp = ⊥) → (mpk,msk). Then, it outputs the encryption keyek= (ppΦ,ppΣ,mpk)and the decryption keydk= (mpk,msk).
Ψ.Enc(ek,M) It first parsesek→(ppΦ,ppΣ,mpk). Then, it runsΣ.Gen(ppΣ)→(vk,sigk),Φ.Enc(mpk,vk, M)→CTΦ, andΦ.Sign(sigk,CTΦ)→σ. Finally, it outputsCTΨ= (vk,CTΦ, σ).
Ψ.Dec(dk,CTΨ) It first parses the ciphertext asCTΨ → (vk,CTΦ, σ). Any ciphertext not satisfying this format is rejected (i.e., the decryption algorithm outputs ⊥). Then, it checks whether σ is a valid signature on CTΦ by running Σ.Verify(vk,CTΦ, σ). If it is 0, the decryption algorithm outputs ⊥. Otherwise, it runsΦ.Ext(msk,mpk,vk)→skvkand outputsΦ.Dec(skvk,CTΦ)→Mor⊥.
Theorem 16. For any valid adversaryAagainst the above PKE scheme, there exist adversariesB1andB2 such thatAdvPKEA,Ψ,(µ,Q
c,Qk)(κ) ≤Adv
IBE
B1,Φ,(µ,Qc,Qk)(κ) +Adv
OTS
B2,Σ,Qc(κ)andmax{Time(B1),Time(B2)} ≈
Time(A) + (µ+Qk+Qc)·poly(κ)wherepoly(κ)is independent ofTime(A).
Proof. We prove the theorem by the following sequence of the games. We write Advxx(κ) to denote the
advantage ofAinGamexx.
Game0: This is the real security game.
Game1: In this game, the challenger runsΣ.Par(1κ)→ ppΣ and(vki,sigki) $
←Σ.Gen(ppΣ)fori∈[Qc]at
the outset of the game and use(vki,sigki)to create thei-th challenge ciphertext.
Game2: In this game, the challenger stops the experiment and forcesAto output a random bit ifAsubmits (Decryption, j0,CT0Ψ = (vk0,CT0Φ, σ0))that satisfies Σ.Verify(vk0,CT0Φ, σ0) = 1and one of the following conditions:
(Case A) There existsi?∈[Qc]such thatvk0 =vki?andAhas not made thei?-th challenge query yet.
(Case B) There existsi? ∈ [Qc]such thatvk0 = vki? andA’si?-th challenge query is in the form of (Challenge, j0,M0,M1)for the samej0.
Since the change fromGame0 toGame1 is only conceptual, we haveAdv0(κ) = Adv1(κ). Therefore, we
haveAdvPKEA,Ψ,(µ,Qc,Qk)(κ) =Adv0(κ)≤ |Adv1(κ)−Adv2(κ)|+Adv2(κ)and it suffices to show Lemma33
and34in the following. ut
Lemma 33. (Game1 toGame2). For any adversaryA, there exists an adversary B1 such that|Adv1(κ)−
Adv2(κ)| ≤ AdvOTSB1,Σ,Qc(κ) andTime(B1) ≈ Qc·poly(κ) + Time(A) where poly(κ) is independent of
Time(A).
Proof. The Game2 differs fromGame1 only ifAmakes a decryption query of the specific form defined as
above (Case A and B). We let the probability of this event in Game1 be . We construct an adversary B1
against theQc-fold OTS scheme whose advantage isfromA.
Setup. At the outset of the game, B1 is given (ppΣ,{vki}i∈[Qc]). Then, it runs Φ.Par(1κ) → ppΦ and
Φ.Gen(ppΦ) → (mpk(j),msk(j)) for j ∈ [µ] and returns ppΨ = (ppΦ,ppΣ) and {ek(j) = (pp
Φ,ppΣ,
mpk(j))}j∈[µ]toA. It also pickscoin
$
← {0,1}.
Challenge Queries. For the i-th challenge query(Challenge, j,M0,M1) made by A, B1 proceeds as
follows. It first runsΦ.Enc(mpk(j),vki,Mcoin) → CTΦ and then submits(Sign, i,CTΦ)to its challenger. Then,Σ.Sign(sigki,CTΦ)→σis returned toB3. Finally,B3returnsCTΨ= (vki,CTΦ, σ)toA.
Decryption Queries. When A makes query (Decryption, j0,CT0Ψ = (vk0,CT0Φ, σ0)), B1 proceeds as follows. IfΣ.Verify(vk0,CT0Φ, σ0) = 0, it returns⊥toA. If not,B1 searches fori? such thatvk0 = vk
i?. If
there is suchi?,B1 checks whether (Case A) or (Case B) holds. If it holds,B1 stops the game and outputs (i?,CT0Φ, σ0)as its forgery. Otherwise, it answers the decryption query using{dk(j)= (mpk(j),msk(j))}j∈[µ].
Analysis. Let (i?,CT0Φ, σ0) be the output of B1. If (Case A) holds, B1 has not made signing query for
i?. Therefore, B1 wins the game in this case. We then consider (Case B). Let the i?-th challenge query be(Challenge, j0,M0,M1) and answer to the query beCTΨ00 = (vki?,CT00Φ, σ00). Note thatB1 has made
a signing query (Sign, i?,CT00Φ) to obtain σ00. Since A is a valid adversary, we have that (j0,CT0Ψ) 6= (j0,CT00Ψ). In particular, we have(CT0Φ, σ0)6= (CT00Φ, σ00). Therefore,B1wins the game also in this case. ut
Lemma 34. For any adversaryA, there exists an adversaryB2 such thatAdv2(κ) ≤AdvIBEB2,Φ,(µ,Qc,Qk)(κ) andTime(B2)≈(Qc+Qk)·poly(κ) +Time(A)wherepoly(κ)is independent ofTime(A).
Proof. We construct an adversaryB2 against(µ, Qc, Qk)-security of the IBE scheme fromA. B2 simulates
Game2forAas follows.
Setup. At the outset of the game, B2 is given ppΦ and{mpk(j)}j∈[µ]. Then, it runs Σ.Par(1κ) → ppΣ and returnsppΨ = (ppΦ,ppΣ) and{ek(j) = (pp
Φ,ppΣ,mpk(j))}j∈[µ] toA. B2 also picks (vki,sigki) $ ← Σ.Gen(ppΣ)fori∈[Qc].
Challenge Queries.When the adversaryAmakes thei-th challenge query(Challenge, j,M0,M1),B2first
requests(Challenge, j,vki,M0,M1) for its challenger and receives Φ.Enc(mpk(j),vki,Mcoin) → CTΦ.
Then,B2runsΣ.Sign(sigk,CTΦ)→σand returns the challenge ciphertext(vk,CTΦ, σ)toA.
Decryption Queries. WhenAmakes query(Decryption, j,CT0Ψ = (vk0,CT0Φ, σ0)),B2 first checks the
validity ofσ0 by Σ.Verify(vk0,CT0Φ, σ0). If it is0, it returns ⊥. Otherwise,B2 checks whether (j0,CT0Ψ =
(vk0,CT0Φ, σ0))satisfies (Case A) or (Case B) condition. If it satisfies,B2 aborts and outputs a random bit. Otherwise,B2makes key extraction query(Extraction, j0,vk0)to its challenger to obtainsk(j
0)
vk0 and returns
Φ.Dec(CT0Φ,skvk(j00))→M/⊥.
Output.Finally,B2outputs the same bit asAas its guess.
Analysis. It is clear that we have Adv2(κ) ≤ AdvIBEB2,Φ,(µ,Qc,Qk)(κ). Here, we check that B2 is a valid
adversary. At first, we check thatB2 never makes any prohibited key extraction query. For a decryption query(Decryption, j0,CT0Ψ = (vk0,CT0Φ, σ0))that satisfies neither (Case A) nor (Case B) condition, we have thatvk0 6∈ {vki}i∈[Qc], or, for alli? ∈ [Qc]such that vki? = vk0, we have that the i?-th challenge
query made byAis(Challenge, j00,M000,M001)for somej00 6= j0. In any case,B2 is allowed to make key extraction query of the form(Extraction, j0,vk0). Next, we check that B2 never makes any prohibited
challenge query. Let us assume thatB2 makes the i-th challenge query(Challenge, j,vki,M0,M1) for
somej,M0, andM1. Then, sinceB2 has not aborted until then,Ahas not made any decryption query that
satisfies (Case A). Therefore, for all key extraction query(Extraction, j0,vk0)made byB2until then, we
have thatvk0 6=vki. ut
H
Concrete Descriptions of Our Schemes
Here, we show concrete description of our proposed schemes. In all of the following schemes, we let the identity space be{0,1}`.
H.1 Description of IBE SchemeΦcompcc
Let the message space beM={0,1}m. We also letHbe a family of pairwise independent hash functions H:GT → M. We assume that
q
|M|
p2 = 2
Par(1κ) : It first runs (N,
G,GT, g1, g2, g3, g4, e(·))
$
← Gcomp(1κ) and picks w = (w1. . . , w2`) $ ← Z2N`, a←$ Z∗N,H
$
← H. Then it setsh:= (g1g2g3g4)aand outputspp= (g1, g1w, g4, h,H)andsp=⊥.
Gen(pp,sp) : It picksα←$ ZN and outputs master public keympk= (pp, e(g1, h)α)andmsk=α.
Ext(msk,mpk,ID) : It first setsS ={2i−IDi|i∈[`]}whereIDi ∈ {0,1}is thei-th bit ofID ∈ {0,1}`. It
then picksr, δ1, δ2 $ ←ZN and returns skID= K1 =hαg rP j∈Swj 1 g δ1 4 , K2 =g −r 1 g δ2 4 .
Enc(mpk,ID,M) : It first setsS ={2i−IDi|i∈[`]}. Then it pickss←$ ZN and outputs
CT=C1 =g1s, C2=g sP j∈Swj 1 , C3 =H e(g1, h)sα ⊕M.
Dec(skID,CT) : It parses CT → (C1, C2, C3) and computes e(C1, K1)e(C2, K2) = e(g1, h)sα. Then, it
recovers the messageMbyM=C3⊕H(e(g1, h)sα).
REMARK. There is a slight gap from the description of the above scheme to the resulting scheme obtained by
our conversion in Section4toΠcc. We call the former scheme (A) and the latter scheme (B). In particular, the description of the key extraction algorithmExt in scheme (A) is slightly simplified compared to that of scheme (B). We explain this. In the key extraction algorithm of scheme (B),skj defined as Equation (6) is
computed for allj∈S. We have
skj = (hαjg1rjwjg δj,j 4 , {g rjwk 1 g δj,k 4 }k∈S\{j}, g1rjg δj,0 4 ) whererj, δj,0, δj,k $
←ZN for allk∈S. From the Equation (12), we have that
skEj j = hαjg rjwj 1 g δj,j 4 · Y k∈S\{j} (grjwk 1 g δj,k 4 ), g −rj 1 g δj0 4 = hαjg P k∈Srjwk 1 g P k∈Sδj,k 4 , g −rj 1 g δj,0 4 .
Therefore, we have thatskIDin scheme (B) is in the form of
skID= Y j∈S skEjj = hαg( P j∈Srj)( P k∈Swk) 1 g P j∈S,k∈Sδj,k 4 , g −P j∈Srj 1 g P j∈Sδj,0 4 .
The above private key corresponds to that of scheme (A) if we replaceP
j∈S,k∈Sδj,k,
P
j∈Srj, and
P
j∈Sδj,0
withδ1,r, andδ2, respectively. It is clear that this does not change the distribution of the private key and thus
does not harm the security at all.
We note that we will apply similar simplification to the key extraction algorithms that appear in this Appendix.