Skip to main content
Advertisement
Browse Subject Areas
?

Click through the PLOS taxonomy to find articles in your field.

For more information about PLOS Subject Areas, click here.

  • Loading metrics

Unbounded and revocable hierarchical identity-based encryption with adaptive security, decryption key exposure resistant, and short public parameters

  • Qianqian Xing ,

    Contributed equally to this work with: Qianqian Xing, Xiaofeng Wang

    Roles Conceptualization, Formal analysis, Investigation, Methodology, Resources, Validation, Writing – original draft, Writing – review & editing

    Affiliation College of Computer, National University of Defense Technology, Changsha, Hunan, China

  • Baosheng Wang ,

    Roles Conceptualization, Funding acquisition, Project administration, Resources, Supervision

    bswang@nudt.edu.cn

    Affiliation College of Computer, National University of Defense Technology, Changsha, Hunan, China

  • Xiaofeng Wang ,

    Contributed equally to this work with: Qianqian Xing, Xiaofeng Wang

    Roles Formal analysis, Funding acquisition, Investigation, Methodology, Project administration, Writing – review & editing

    Affiliation College of Computer, National University of Defense Technology, Changsha, Hunan, China

  • Jing Tao

    Roles Formal analysis, Investigation, Writing – review & editing

    Affiliation College of Computer, National University of Defense Technology, Changsha, Hunan, China

Abstract

Revocation functionality and hierarchy key delegation are two necessary and crucial requirements to identity-based cryptosystems. Revocable hierarchical identity-based encryption (RHIBE) has attracted a lot of attention in recent years, many RHIBE schemes have been proposed but shown to be either insecure or bounded where they have to fix the maximum hierarchical depth of RHIBE at setup. In this paper, we propose a new unbounded RHIBE scheme with decryption key exposure resilience and with short public system parameters, and prove our RHIBE scheme to be adaptively secure. Our system model is scalable inherently to accommodate more levels of user adaptively with no adding workload or restarting the system. By carefully designing the hybrid games, we overcome the subtle obstacle in applying the dual system encryption methodology for the unbounded and revocable HIBE. To the best of our knowledge, this is the first construction of adaptively secure unbounded RHIBE scheme.

1 Introduction

Revocation functionality is indispensable to (H)IBE since there are threats of leaking a secret key by hacking or legal situation of expiration of contract for using system. In those seminal works [1] [2], it has also been pointed out that providing an efficient key hierarchy delegation mechanism for IBE is essential. To satisfing both hierarchical key delegation and user revocation, revocable hierarchical identity-based encryption (RHIBE) has been paid attention. Unfortunately most of existing RHIBEs proposed [1] [3] [4] [5] [6] [7] are either insecure or bounded where they have to fix the maximum hierarchical depth of RHIBE at setup. Bounded (R)HIBE schemes restrict the maximum hierarchy of (R)HIBE, i.e., they need to declare the max level in the public parameters at setup phase. It is highly impossible to set the maximum hierarchy properly in practice: too small to accommodate enough users or too large that wastes identity space needlessly and increase keys computation unnecessarily.

In contrast, the unbounded RHIBE is more scalable to achieve efficient and dynamic user management. Ryu proposed an unbounded RHIBE scheme [7] inspired by an universe KP-ABE [8]. But it only achieves selective-ID security. In selective-ID security notion, the reduction algorithm requires the challenge identity before the setup phase in the proof [1, 3]. That means the adversary holds no information before giving the challenge ID, but the simulator can exploit the challenge information submitted by the adversary to construct the trick public parameters and other keys in games. That is a weaker security notion.

Adaptive-ID security represents full security notion that an adversary gives the challenge identify when he has learnt the public information. Lee [5] considered the adaptively secure RHIBE but his scheme don’t support the property of unbounded hierarchical key delegation. Xing [9] claimed to achive the first adaptively secure and unbounded RHIBE, but its security proof that uses the dual system encryption technique has some flaws. Therefore, the construction of an adaptively secure unbounded RHIBE scheme is still an unsolved open problem.

1.1 Our techniques

The dual system encryption framework [10] is usually for proving the adaptive security of HIBEs in composite-order bilinear groups. To achieve the adaptive security in the framework, the notion of semi-functionality is introduced [10] [11] and the proof strategy is that a normal challenge ciphertext is changed to be semi-functional, and then each normal private key is changed to be semi-functional one by one through hybrid games.

There is a paradox that need to be overcome. Since a normal ciphertext can be decrypted by a semi-functional private key but a semi-functional ciphertext cannot be decrypted by a semi-functional private key, a simulator can check whether a private key is normal or semi-functional by decrypting a semi-functional ciphertext(note that a simulator can generate a ciphertext and a private key for any identity). To overcome the obstacle, the nominally semi-functional type of private keys is introduced: the challenge semi-functional private key is constructed as a nominally semi-functional private key so that the semi-functional ciphertext of the same identity the simulator generates always can be decrypted by it. In addition, a detailed information theoretic argument should be given to argue that a nominally semi-functional key is indistinguishable from a semi-functional key.

Although the dual system encryption is maturing to exploit in normal HIBEs to achieve the adaptive security, it is more complex when dealing with revocable HIBE schemes. In HIBE, the essential restriction for the information theoretic argument is that an adversary cannot query a private key for ID that is a prefix of the challenge identity ID*. However, the restriction do not exist in RHIBEs. The private key of any prefix of ID* and the update key for the challenge time T* are both allowed to query for the adversary in RHIBEs. Recall that the simulator of an HIBE scheme can change the normal-private key to a semi-functional private key by using a nominally semi-functional key and the constraint IDPrefix(ID*) of the security model. The nominally semi-functional key is indistinguishable from a semi-functional key by an information theoretic argument using the constraint IDPrefix(ID*). However, in the case of (U-)RHIBE, a simple method cannot change the normal-private key to the semi-functional private key since the adversary can query and achieve the private key for any IDPrefix(ID*).

Moreover, an unbounded RHIBE scheme has so low entropy context that it is hard to execute an information-theoretic argument, which is different with those bounded RHIBE schemes. So the dual system encryption method in Lee-RHIBE [5] does not work. Although Lewko and Waters [12] has proposed a nested dual system encryption approach to allow a sufficient information-theoretic argument in a very localized context for unbounded HIBEs, the trival applying to a revocable extention scheme is inappropriate to hold the paradox information theoretic argument. Unfortunately Xing and Wang [9] have neglected this important change, so that the proof of their unbounded RHIBE scheme is non-rigorous with flaws. Obviously the attacker can distinguish between the oracles they design for the game hoppings in [9], which is not as they claimed in Lemma 4.

To circumvent the subtle obstacle and apply the dual system encryption methodology for our adaptively secure unbounded RHIBE with decryption key exposure resistance, our strategy is threehold:

(1) We use a modular design strategy like [13] and construct the private keys and update keys from smaller component keys. A private key consists of many HIBE private keys that are related to a path in a binary tree and an update key also consists of many IBE private keys that are related to a cover set in a binary tree. The HIBE and IBE private keys can be grouped together if they are related to the same node in a binary tree. So we change to deal with the transformation of component HIBE and IBE keys in the hybrid games instead of directly with the private keys and update keys of RHIBE which cannot be simply changed from normal keys to semi-functional keys.

(2) We design a nested dual system encryption for revocable and hierarchical IBE schemes with the concept of ephemeral semi-functionality for secret keys, update keys, decryption keys and ciphertexts. To demonstrate a hybrid process of games to chellenge keys and ciphertexts, we define several oracles to simulate the different forms of the component HIBE and IBE keys which construct the semi-functional or ephemeral semi-functional secret keys, update keys and decryption keys.

(3) For showing an information theoretic argument under RHIBE model successfully, we firstly classify the behavior of an adversary as two types under the restriction of the RHIBE security model. The Type-1 adversary is restricted to queries on the secret keys of any hierarchical identity satistying , so we carefully re-design a sequence of hybrid games to show several times of information theoretic arguments successfully for the secret keys and avoid a potential paradox for the update keys. The Type-2 adversary is restricted to queries on the update keys on the time TT*, so we carefully re-design the other sequence of hybrid games to show several times of information theoretic argument successfully for the update keys and avoid a potential paradox for the secret keys.

1.2 Our result

We propose the first adaptively secure unbounded RHIBE in composite-order bilinear groups under simple static assumptions. It removes the limitation of the maximum hierarchical depth in the encryption system and accommodate more levels of user adaptively without adding workload or restarting the system. Our RHIBE scheme also supports decryption key exposure resistance by the key-randomization method which meets the strong security notion for R(H)IBE [14].

Compared to existing RHIBE schemes, it is the first RHIBE to achieve simultaneously adaptive-ID security, decryption key exposure resistance and unbounded key delegation, as shown in Table 1. In Table 2, we discuss the comparison about the efficiency of key space and decryption computation, noted that l is the maximum level of the hierarchy, h is the level of a user in the hierarchy, N is the number of maximum users in each level, r is the number of revoked users, te is the cost for performing a bilinear pairing, |G| and |GT| are the sizes of one element in G and GT respectively. Our RHIBE scheme has the short and constant public parameter which is independent with the maximum level of the system hierarchy. Moreover, our RHIBE reduces the size of the update key from O(hrlog(N/r))to O(h + rlog(N/r)).

1.3 Related works

Efficient user revocation in RHIBE.

An efficient tree-based key updating technique called the complete subtree (CS) method is a specific instance of the subset cover framework of Naor et al. [15]. In the scalable RIBEs using the CS method [16] [17] [14] [18] [19], every user holds a secret key composed of logN subkeys, where N is the number of all users, and only one subkey of a non-revoked user can be used to generate a decryption key. If we directly extend this mechanism to RHIBE scheme, the second-level user need to prepare (logN)2 subkeys since for every subkey of his parent he needs to generate logN subkeys respectively, which results to (logN)l subkeys for an l-level user. Tsai et al. simply set the update key as another secret key in their RHIBE scheme [4]. Their construction is just as a trivial combination of two concurrent HIBE system, one for the derivation of secret keys and another for update keys. Lack of any efficient method of update and revocation, the size of the update key depends on the size of users linearly instead of logarithmically. Moreover, his approach require a new key center for update keys (called delegated revocation authority, DRA). That double deployment of key centers increases the system cost. Seo and Emura proposed a revocable HIBE scheme [1] with (l2logN)-size secret keys for a user, where l is the maximum hierarchical level. This history preserving update method leads to a lengthy history information in an update key and requires the recursive definition of secret keys and update keys. Afterward Seo proposed a RHIBE with (llogN)-size secret keys for a user by a history-free update method. Recently, Lee and Park [13] proposed a new RHIBE scheme with shorter private keys and update keys by combining a new HIBE scheme that has short intermediate private keys and the CS scheme in a modular way, where the size of the secret key is (logN) and the size of the update key is (l + rlog(N/r)). Another revocation method called the subset difference (SD) method [20] was utilized to construct the RHIBE in [3] [13] [5]. Although this method has better performance in the transmission complexity, it has larger secret key size than the CS method.

Security model of R(H)IBE.

Decryption key exposure resistance (DKER) has be considered by Seo [14], which discusses about the case where several decryption keys dkI*, T for the target identity I* are leaked to an adversary but the target decryption key dkI*, T* is not exposed. Another attacks should be considered like insiders attack [3]. Since the hierarchical structure in RHIBE determines that every user as a low-level KGC hold the state information about his low-level children users, a stronger security model than RIBE should be considered where it allows an insider adversary to access at least their own state information. The key re-randomization method [3] is an operable way to resist this attack and also decryption key enclosure attack mentioned in [3, 14].

Adaptive security of R(H)IBE.

By employing dual system encryption methodology [10, 11], the adaptive-ID security can be directly proved in (H)IBE. But the security model of revocable HIBE is different from general HIBEs, since the system of RHIBE just not allow the decryption key query of the challenge identity and its ancestor at the challenge time, but allows the secret key query of the challenge identity and its ancestor identity. Therefore, the dual system encryption of RHIBE is more complex than general dual system of HIBE. Those adaptive-ID secure RHIBEs [6] [5] employed the dual system encryptions which are applicable to bounded schemes. Their proof strategy cannot be employed to unbounded (R)HIBE schemes, cause the limited entropy available in the public parameters in unbounded schemes makes it difficult to construct the nominally semi-functional key without information-theoretic exposure. By applying the dual system encryption methodology in prime-order, Yohei [21] realizes an RIBE scheme with constant-size public parameter under static assumptions in prime-order groups.

2 Preliminaries

2.1 Revocable HIBE

Definition 1 We define a RHIBE scheme π = (Setup, GenKey, DeriveKey, UpdateKey, Encrypt, Decrypt, Revoke) as following:

  1. Setup(1λ): It takes a security parameter λ, and outputs a master public key PP, a master secret key MK, initial state ST0, and an empty revocation list RL. Note that we don’t require the maximum number of users in each level as an input parameter, unlike the defination by all the bounded RHIBEs.
  2. GenKey(ID|k, STID|k−1, PP): This algorithm takes as input STID|k−1 and an identity ID|k outputs the secret key SKID|k, and updates STID|k−1.
  3. UpdateKey(T, RLID|k−1, DKID|k−1,T, STID|k−1, PP): This algorithm takes as input the revocation list RLID|k−1, state information STID|k−1, the decryption key DKID|k−1,T,and a time period T. Then, it outputs the update key UKID|k−1,T.
  4. DeriveKey(SKID|k, UKID|k−1,T, PP): This algorithm takes as input SKID|k of ID|k and UKID|k−1,T, and outputs the decryption key DKID|k, T of ID|k at time T if ID|k is not revoked at T by the parent, else outputs ⊥.
  5. Encrypt(ID|l, T, M, PP): This algorithm takes as input a message M, ID|l and the current time T and outputs the ciphertext CT.
  6. Decrypt(CTID|l, T, DKID′|k, T, PP): This algorithm takes as input CTID|l, T and DKID′|k, T, and outputs the message if ID′|k is a prefix of ID|l and T T = T′, else outputs ⊥.
  7. Revoke(RLID|k−1, STID|k−1, ID|k, T): This algorithm takes as input ID|k and T, updates RLID|k−1 managed by ID|k−1, who is the parent user of ID|k, by adding (ID|k, T).

Definition 2 We define an experiment under the adaptive-ID security against chosen plaintext attacks model in [5], as namedIND-RID-CPAsecurity.

In the above experiment, O is a set of oracles {SKGenQ(⋅), KeyUpQ(⋅, ⋅), RevokeQ(⋅, ⋅), DKGenQ(⋅, ⋅)} defined as follows:

  • SKGenQ(⋅): For ID|k, it returns SKID|k (by running GenKey(ID|k, STID|k−1, PP)→ SKID|k).
  • KeyUpQ(⋅, ⋅): For T and BTID|k−1, it returns KUT, ID|k−1 (by running UpdateKey(T, RLID|k−1, DKID|k−1, STID|k−1, PP) → KUt).
  • RevokeQ(⋅, ⋅): For ID|k and T, it returns the updated revocation list RL (by running Revoke(RLID|k−1, STID|k−1, ID|k, T)).
  • DKGenQ(⋅, ⋅): For ID|k and T, it returns DKID|k, T (by running DeriveKey(SKID|k, UKID|k−1,T, PP)→DKID|k, T).

is allowed to issue the above oracles with the following restrictions:

  1. RevokeQ(⋅, ⋅) can be queried on time T if KeyUpQ(⋅) was queried on T.
  2. DKGenQ(⋅, ⋅) cannot be queried on time T before KeyUpQ(⋅) was queried on T.
  3. If requested a private key query for that is a prefix of where kl, then the identity or one of its ancestors should be revoked at some time T where TT*.
  4. A cannot request a decryption key query for the challenge identity ID*|l or its ancestors on the challenge time T*.
  5. cannot request a revocation query for ID|k on time T if he already requested an update key query for ID|k in time T.
  6. must query to KeyUp(⋅, ⋅) and Revoke(⋅, ⋅) for same identity in increasing order of time.

The advantage of is defined as . We say that RHIBE is IND-RID-CPA secure if for all PPT adversary , his advantage is negligible in the security parameter λ.

2.2 Complexity assumptions

We generate where G and GT be cyclic groups with order N and p = p1 p2 p3, p1, p2, p3 are distinct prime numbers, e: G×GGT is an efficient, nondegenerate bilinear map. We denote the subgroup of G with order pi as Gpi. We define a function for any PPT algorithm and parameters D, T1, T2.

Assumption 1. Let , , , , we say that satisfies Assumption 1 if is a negligible function of λ for any PPT algorithm is .

Assumption 2. Let , , , , T1 be e(g, g)αs, , D = , we say that satisfies Assumption 2 if is a negligible function of λ for any PPT algorithm is .

Assumption 3. Let , , , , , D = , we say that satisfies Assumption 3 if is a negligible function of λ for any PPT algorithm is .

Assumption 4. Let , , , , , D = , we say that satisfies Assumption 4 if is a negligible function of λ for any PPT algorithm is .

3 Design of U-RHIBE system

We firstly describe the key encapsulation mechanism (KEM) version of the unbounded HIBE scheme [12] and its 1-level (H)IBE scheme that are used as the building blocks of our RHIBE schemes. Let be the bilinear group, where λ is a security parameter and g2 denotes a generator of Gp2, g3 denotes a generator of Gp3 and g be a generator of Gp1.

3.1 HIBE scheme

We define a key-group function κ(I, y, r) as the group elements and an expression gλ κ(I, y, r) as

HIBE.Setup(GS): It selects and . It outputs a master key MK = α and public parameters PP = ((p, G, GT, e), g, u, h, w, v, Ω = e(g, g)α).

HIBE.GenKey(ID|k, MK, PP): Let the identity , and be the identity space. It chooses where λ1 + ⋯ + λk = α and outputs a private key .

HIBE.RandKey(ID|k, SKID|k, PP): Let . It chooses where λ1 + ⋯ + λk = 0 and outputs a re-randomized private key .

HIBE.Delegate(ID|k, SKID|k−1, PP): Let . It chooses where λ1 + ⋯ + λk = 0 and creates a temporal delegated private key . Next, it outputs a delegated private key SKID|k by running HIBE.RandKey(ID|k, TSKID|k, PP).

HIBE.Encaps(ID|l, s, PP): Let ID|l = (I1, …, Il) ∈ Il. It chooses and outputs a ciphertext and a session key EK = Ωs.

HIBE.Decaps(CTID|l, SKID′|k, PP): Let , . If ID′|k is a prefix of ID|l, it outputs a session key e(Ci,2, Ki,2))). Otherwise, it outputs ⊥.

Additionally, we introduce two algorithms for our modular RHIBE construction, the ChangeKey algorithm and the MergeKey algorithm, which are defined similarly with the algorithms in [5].

HIBE.ChangeKey(SKID|K, δ, PP): Let . It chooses where λ1 + ⋯ + λk = δ and sets . It outputs a new private key SKID|KHIBE.RandKey(ID|k, TSK(n), PP).

HIBE.MergeKey: Let and be two private keys for the same identity ID|K. It computes a temporal private key . Next, it outputs a merged private key SKID|KHIBE.ChangeKey(TSK, η, PP). Note that the master key part is α1 + α2 + η if the master key parts of and are α1 and α2 respectively.

3.2 IBE scheme

A trivial extension to RHIBE from the HIBE in [12] constructs the decryption key of (T, ID|k) as . It remains some problem in the proof of RHIBE model, where the information theoretic argument is not easy to show as of the model of HIBE. So we modify the construction by defining a new update-key-group function as (1) and D0 = , which is constructed from the component IBE secret key.

IBE.Setup(GS): It selects and . It outputs a master key MK = β and public parameters PP = ((p, G, GT, e), g, u0, h0, w0, v0, Ω = e(g, g)β).

IBE.GenKey(T, MK, PP): This algorithm takes as input a time T and the master key MK, and the public parameters PP. It chooses and outputs a IBE secret key SKT = gα κT(T, y, r).

IBE.RandKey(T, SKT, PP): Let the private key be . It chooses and outputs a re-randomized private key .

IBE.Encaps(T, s, PP): It chooses and outputs a ciphertext and the session key EK = Ωs.

IBE.Decaps(CTT, SKT, PP): Let the ciphertext CTT = (C0, C1, C2, C3), the private key SKT = (K0, K1, K2, K3). If T = T′, it outputs a session key EK = e(C0, K0)e(C3, K3)/(e(C1, K1) e(C2, K2)). Otherwise, it outputs ⊥.

The contruction of IBE.ChangeKey and IBE.MergeKey is similar with HIBE.ChangeKey and HIBE.MergeKey and we omit them here.

3.3 The CS method

We exploit the complete subtree (CS) method to construct our RHIBE scheme. We follow the definition of the CS scheme in the work of Lee and Park [22].

CS.Setup(Nmax): Let Nmax = 2n. It first sets a full binary tree of depth n. Each user is assigned to a different leaf node in . The collection S is defined as {Si} where Si is the set of all leaves in a subtree with a subroot . It outputs the full binary tree .

CS.Assign: Let vID be a leaf node of that is assigned to the user ID. Let (vk0, vk1, ⋯, vkn) be the path from the root node vk0 = v0 to the leaf node vkn = vID. For all j ∈ {k0, ⋯, kn}, it adds Sj into PVID. It outputs the private set PVID = {Sj}.

CS.Cover: It first computes the Steiner tree ST(R). Let be all the subtrees of that hang off ST(R), that is all subtrees whose roots vk1, ⋯, vkm are not in ST(R) but adjacent to nodes of outdegree 1 in ST(R). For all i ∈ {k1, ⋯, km}, it adds Si into CVR. It outputs a covering set CVR = {Si}.

CS.Match(CVR, PVID): It finds a subset Sk with SkCVR and SkPVID. If there is such a subset, it outputs Sk. Otherwise, it outputs ⊥.

3.4 Construction

RHIBE.Setup(1λ, Nmax): The Setup algorithm takes a security parameter λ and a maximum number of users for each level Nmax as input. It firstly runs to obtains two groups G, GT of order p = p1p2p3, where p1, p2, p3 are distinct primes, and a bilinear map e: G×GGT. It sets GS = ((N, G, GT, e), g, g2, g3) where g, g2 and g3 denote the generators of Gp1, Gp2, and Gp3 in order. It selects a random exponent αZp, set Ω be e(g, g)α. It outputs a master key MK = α and public parameters PP = (PPHIBE, PPIBE, Ω, Nmax), where PPHIBEHIBE.Setup(GS), and PPIBEIBE.Setup(GS).

RHIBE.GenKey(ID|k, STID|k−1, PP): This algorithm takes as input an identity ID|k = (I1, …, Ik) ∈ , the state STID|k−1 which contains BTID|k−1.

  1. If STID|k−1 is empty, it obtains BTID|k−1CS.Setup(Nmax) and then it sets STID|k−1 = (BTID|k−1, βIDk−1, zIDk−1), where βIDk−1 is a false master key and zIDk−1 is a PRF key.
  2. It first assigns ID|k to a random leaf node vBTID|k−1 and obtains a node set Path(ID|k) ← CS.Assign(BTID|k−1, ID|k) for ID|k. For each SθPath, it computes γθ = PRF (zIDk−1, Lθ) where Lθ = Label (Sθ) and obtains an HIBE private key SKHIBE,SθHIBE.GenKey(ID|k, γθ, PP). Finally, it outputs a private key SKID|k = (Path, {SKHIBE,Sθ}SθPath). Note that the master key part of SKHIBE,Sθ is γθ.

RHIBE.UpdateKey(T, RLID|k−1, DKID|k−1, STID|k−1, PP): let , the state STID|k−1 = (BTID|k−1, βID|k−1, zID|k−1) with k ≥ 1.

  1. It first obtains a randomized decryption key RDKID|k−1,T as (RSKIBE, RSKHIBE)←RHIBE.RandDK(DKID|k,T, −βID|k−1, PP).
  2. It derives the set of revoked identities R at time T from RLID|k−1. Next, it obtains a covering set CVR = {Si} by running CS.Cover(BTID|k−1, R).
  3. For each SiCVR, it computes γi = PRF(zIDk−1, Li) where Li = Label(Si) and obtains an IBE private key . Then It computes
  4. It finally outputs an update key UKID|k−1,T = (CVR, {SKIBE,Si, RSKHIBE}SiCVR). Note that the master key parts of RSKHIBE and SKIBE, Si are η′ and αη′ − γi for some random η′ respectively.

RHIBE.DeriveKey(SKID|k, UKID|k−1,T, PP): This algorithm takes as input a private key SKID|k = (Path, {SKHIBE,Sθ}SθPath) for an identity ID|k, an update key for time T.

  1. If K = 0, then SKID|0 = MK = α and UKID|−1,T is empty. It selects a random exponent ηZp. It then obtains RSKHIBE, ID|0HIBE.GenKey(ID|0, η, PP) and RSKIBE,TIBE.GenKey(T, αη, PP). It outputs a decryption key DKID|0,T = (RSKIBE, T, RSKHIBE, ID|0).
  2. If k ≥ 1, then if ID|kRLID|k−1, then it obtains (Si, Si) by running CS.Match(CVR, Path). Otherwise, it outputs ⊥. It derives SKHIBE,Si from SKID|k and SKIBE,Si from UKID|k−1,T.
  3. It obtains PP) since ID|k−1 ∈ Prefix(ID|k). Next, it selects a random exponent ηZp, obtains SKHIBE,Si, η, PP) and obtains RSKIBE,TIBE.ChangeKey(SKIBE,Si, −η, PP) respectively. Finally, it outputs a decryption key DKID|k,T = (RSKIBE,T, RSKHIBE, ID|k).

Note that the master key parts of RSKHIBE, ID|k and RSKIBE, T are η′ and αη′ for some random η′ respectively.

RHIBE.RandDK: Let , and βZp be an exponent. It first selects a random exponent η and obtains and PP). It outputs a re-randomized decryption key DKID|k,T = (RSKIBE,T, RSKHIBE, ID|k).

RHIBE.Encrypt(ID|l, T, M, PP): This algorithm takes as input an identity , time T, a message . It chooses a random exponent tZp. Next it obtains (CHHIBE,ID|l, EKHIBE) ← HIBE.Encaps(ID|l, t, PP). It also obtains (CHIBE,T, EKIBE) ← IBE.Encaps(T, t, PP). It outputs a ciphertext CTID|k,T = (CHIBE,T, CHHIBE,ID|l, C = ΩtM).

RHIBE.Decrypt(CTID|l,T, DKID′|k,T, PP): This algorithm takes as input a ciphertext CTID|l,T = (CHIBE,T, CHHIBE,ID|l, C), a decryption key DKID′|k,T = (RSKIBE,T, RSKHIBE,ID′|k). If ID′|k is a prefix of ID|l and T = T′, then it obtains EKHIBEHIBE.Decaps(CHHIBE,ID|l, RSKHIBE,ID|k, PP) and EKIBEIBE.Decaps(CHIBE,T, RSKIBE,T, PP). Otherwise, it outputs ⊥. It outputs an encrypted message by computing M = C ⋅ (EKHIBEEKIBE)−1.

RHIBE.Revoke(ID|k, T, RLID|k−1, STID|k−1): This algorithm takes as input an identity ID|k, revocation time T, the revocation list RLID|k−1, and the state STID|k−1. If (ID|k, −) ∉ STID|k−1, then it outputs ⊥ since the private key of ID|k was not generated. Otherwise, it adds (ID|k, T) to RLID|k−1 and outputs the updated revocation list RLID|k−1.

3.5 Correctness

If a user is not revoked at time T, the RHIBE.DeriveKey algorithm correctly derive his decryption key DKID|k,T as

The RHIBE.Decrypt algorithm takes CTID|l,T as input, where and computes B = C/M as

4 Security analysis

We use the dual system encryption proof techinique to prove the adaptive security of our U-RHIBE. We adopt the concept of ephemeral semi-functionality [12] and design a new nested dual system encryption for unbounded RHIBEs. As an intermediary transforming stage between the normal and semi-functional distributions, the ephemeral semi-functionality helps us to overcome the challenge presented by low entropy in the public parameters.

Theorem 1 Our unbounded RHIBE scheme is IND-RID-CPA secure if Assumption 1–4 hold.

Proof We firstly define the semi-functional type and the ephemeral semi-functional types of keys and ciphertexts in Sec.4.1 which represent the types of keys and ciphertexts answered to the queries in the challenge game. Secondly we conduct the security proof by the indistinguishabilities of a sequence of hybrid games that we define in Sec.4.2.

4.1 Definition of (ephemeral) semi-functional keys and ciphertexts

For constructing the different types of ciphertexts, secret keys, update keys and decryption keys, the challenger is initially given renadom elements g, u, v, w, u0, v0, w0Gp1, g2Gp2, g3Gp3, as well as random exponents ψ1, ψ2, σ1, σ2, a′, b′, s, δ1, δ2, γ.

We define the semi-functional ciphertext and five types of ephemeral semi-functional ciphertexts of a normal ciphertext CTID|l,T by changing the C0 element into Gp1p2 and the l + 1 numbers of the ciphertext-element-groups (Ci,1, Ci,2, Ci,3) into different types. The definations of ephemeral semi-functional ciphertexts called ESF-1-CT, ESF-2k-CT, ESF-3k-CT, ESF-4k-CT and ESF-5-CT where 0 ≤ kl are in Appendix.A. In the definations of the semi-functional ciphertext, we add Gp2 term on the first element of all ciphertext-element-groups.

RHIBE.EncryptSF: It firstly obtains the normal ciphertext CTID|l,T = (C, C0, ) for an identity , a time and a message . It chooses exponents γ, δ1, δ2Zp and outputs the SF-CT as

As we mentioned before, our normal secret key and update key cannot be simply changed to semi-functional keys as same as in [11] one by one owing to the inefficiency of the information theoretic argument in our scheme. And we divide secret keys and update keys into samll component keys which are group together if they are related to the same node in a binary tree.

We only change the last element-group of our normal secret key for constructing the semi-functional secret key and the ephemeral semi-functional secret key like in [11]. We define one type of semi-functional secret key and five types of ephemeral semi-functional secret key. The defination of ephemeral semi-functional secret key called ESF-1-SK, ESF-2-SK, ESF-3-SK, ESF-4-SK and ESF-5-SK are in Appendix.A. In the defination of the semi-functional secret key, we add Gp2 p3 term on the first 2 elements and the last element of the last element-group.

RHIBE.SKeySF : It constructs the correlative sub-key to the node θPath(IDj) in the BTID|j−1 as follows: It chooses random exponents y′, rZp and choose σ1, ψ1Zp, then it constructs κsf(Ij, y′, r) for the last element-group as

And the contruction of the other element-groups follows the construction of SKHIBE,Sθ in RHIBE.GenKey.

We define one type of semi-functional update key and five types of ephemeral semi-functional update key. The defination of ephemeral semi-functional update key called ESF-1-UK, ESF-2-UK, ESF-3-UK, ESF-4-UK and ESF-5-UK are in Appendix.A. The constructions from the normal component update key to the (ephemeral) semi-functional component update keys are similar to that of secret keys, expect that we change the first element group of normal component update key to different types.

RHIBE.UpdateKeySF : It constructs the correlative component key to the node θKUNode as follows: It chooses random exponents y′, rZp and choose σ2, ψ2Zp, then it constructs of the first element-group (U0,0, U0,1, U0,2, U0,3) as

And the contruction of the other element-groups follows the construction of RSKHIBE and SKIBE,Sθ in RHIBE.UpdateKey.

RHIBE.DeriveKeySF: Let be a semi-functional secret key generated by the RHIBE.GenKeySF algorithm and be a semi-functional update key for time T generated by the RHIBE.UpdateKeySF algorithm. If ID|kRLID|k−1, then it finds a unique node θ* by running CS.Match(CVR(BTID|k−1, RLID|k−1, T), Path(ID|k)). Otherwise, it outputs ⊥. It derives from and from for the node θ*. Then the semi-functional decryption key is as Then we re-randomize it by running RHIBE.RandDK and output it.

4.2 Sequence of games

We define a squence of games to verify the advantage in distinguishing GReal and GFinal is negligible. In Table 3, we give the types of key in the queries and the challenge cipertext in every game, and the decryption situation according to the types of keys and ciphertexts.

GReal: It is the original game in which all seceret keys, update keys, decryption keys and ciphertexts are normal.

GC: The challenge ciphertext is changed to be semi-functional and all other keys are still normal.

GC′: This game is exactly like GameC, except for a added restriction about the challenge key identity vector. We explain the restriction in Sec.4.6.

GE−S: The secret keys are changed to ESF-2. The update keys and decryption keys are still normal. The challenge ciphertext is semi-functional. This game is used in the proof of the security against Type-1 adversary.

GE−U: The update keys are changed to ESF-2. The secret keys and decryption keys are still normal. The challenge ciphertext is semi-functional. This game is used in the proof of the security against Type-2 adversary.

GE−S′: This game is almost as same as GES except the challenge ciphertext is chaged to ESF-1. This game is used in the proof of the security against Type-1 adversary.

GE−U′: This game is almost as same as GEU where the update keys are ESF-2, the secret keys and decryption keys are normal, except the challenge ciphertext is chaged to ESF-1. This game is used in the proof of the security against Type-2 adversary.

GESF′: The update keys and secret keys are all changed to ESF-2. The challenge ciphertext is changed to ESF-1. The decryption keys are still normal.

GSF″: All secret keys, update keys, and challenge ciphertext are changed to semi-functional. The decryption keys are still normal.

GE−D: The decryption keys are changed to ESF-2. The other keys and the challenge ciphertext are still semi-functional.

GESF: The challenge ciphertext is changed to ESF-1. The update keys and secret keys are all still semi-functional. The decryption keys are still ESF-2.

GSF′: The challenge ciphertext is changed to semi-functional. The decryption keys are changed to be semi-functional. That is, all secret keys, update keys, decryption keys, and challenge ciphertext are now semi-functional. This game is exactly like GSF, except for a added restriction about the challenge key identity vector. We explain the restriction in Sec.4.6.

GSF: The challenge ciphertext and all keys are semi-functional.

GFinal: The session key is changed to be random and so the adversary has no advantage to distinguish the challenge massage.

Let be the advantage of in the real game. From the all the lemmas in this section, we obtain the following equation

4.3 Definition of oracles

We introduce seven oracles which answer queries from the challenger by sampling various distributions of group elements from a composite order bilinear group. The outputs of Oracle Oi will allow a simulator to produce different type of secret keys, update keys and decryption keys, different type of ciphertext and challenge keys for one corresponding game demonstrated in Table 3.

All oracles are defined with respect to a bilinear group G of order p = p1p2p3 and initially choose random elements g, u, v, w, u0, v0, w0Gp1, g2Gp2, g3Gp3 as well as random exponents ψ1, ψ2, σ1, σ2, a′, b′, s, δ1, δ2, γZn. They provide the attacker with a description of the group G, as well as the group elements (2)

Every oracle is allowed to simulate the semi-functional ciphertexts, normal and semi-functional (H)IBE private keys according to the provided group elements in Eq 2. We define the oracles from O0 to O4 in which the simulators will be allowed to produce a normal challenge decryption key. The outputs of Oracle O0 will allow a simulator to produce a semi-functional challenge ciphertext, a normal challenge (H)IBE private key. The outputs of Oracle O1 will allow a simulator to produce a semi-functional challenge ciphertext, a type-2 ephemeral semi-functional (ESF-2) challenge HIBE private key and a normal challenge IBE private key. The outputs of Oracle O1+ will allow a simulator to produce a semi-functional challenge ciphertext, an type-2 ephemeral semi-functional (ESF-2) challenge IBE private key an normal challenge HIBE private key. The outputs of Oracle O3 will allow a simulator to produce a type-1 ephemeral semi-functional(ESF-1) ciphertext, and a type-2 ephemeral semi-functional(ESF-2) challenge (H)IBE private key. Finally, the outputs of Oracle O4 will allow a simulator to produce a semi-functional challenge ciphertext, and a semi-functional challenge (H)IBE private key.

We define the oracles from O5 to O7 in which the simulators will be allowed to produce a semi-functional challenge (H)IBE key. The outputs of Oracle O5 will allow a simulator to produce a semi-functional ciphertext, and an ephemeral semi-functional challenge decryption key. The outputs of Oracle O6 will allow a simulator to produce an type-1 ephemeral semi-functional(ESF-1) ciphertext, and a type-2 ephemeral semi-functional(ESF-2) challenge decryption key. Finally, the outputs of Oracle O7 will allow a simulator to produce a semi-functional ciphertext, and a semi-functional challenge decryption key.

Oracle O0 The first oracle, which we will denote by O0, responds to queries as follows. Upon receiving a challenge HIBE-key-type query for IZn, it chooses r, y′ ∈ Zn randomly and returns the group elements (3) to the attacker. Upon receiving a challenge IBE-key-type query for TZn, it chooses r′, y″ ∈ Zn randomly and returns the group elements (4) to the attacker. Upon receiving a challenge decryption-key-type query for IZn and TZn, it chooses r, y′, r′, y″ ∈ Zn randomly and returns the group elements (5) to the attacker. Upon receiving a ciphertext-type query for I* ∈ Zn, it chooses tZn randomly and returns the group elements (6) to the attacker. Upon receiving a ciphertext-type query for T* ∈ Zn, it chooses t0Zn randomly and returns the group elements (7) to the attacker.

Oracle O1 The next oracle, which we will denote by O1, responds to queries as follows. Upon receiving a challenge HIBE-key-type query for IZn, it chooses r″, y‴ ∈ Zn randomly, and also chooses X2, Y2Gp2, X3, Y3Gp3 randomly. It returns the group elements (8) to the attacker. It responds to a ciphertext-type query, a challenge IBE-key-type query and a challenge decryption-key-type query in the same way as O0.

Oracle O1+ The oracle O1+ responds to queries as follows. Upon receiving a challenge IBE-key-type query for TZn, it chooses r″, y‴ ∈ Zn randomly, and also chooses X2, Y2Gp2, X3, Y3Gp3 randomly. It returns the group elements (9) to the attacker. It responds to a ciphertext-type query, a challenge HIBE-key-type query and a challenge decryption-key-type query in the same way as O0.

Oracle O2 The next oracle, which we will denote by O2, responds to queries as follows. Upon receiving a challenge HIBE-key-type query and a challenge IBE-key-type query, it responds in the same way as O1. Upon receiving a ciphertext-type query for I* ∈ Zn, it chooses tZn randomly and returns the group elements (10) to the attacker. Upon receiving a ciphertext-type query for T* ∈ Zn, it chooses t0Zn randomly and returns the group elements (11) to the attacker. It responds to a challenge decryption-key-type query in the same way as O0.

Oracle O2+ The next oracle, which we will denote by O2+, responds to queries as follows. Upon receiving a challenge HIBE-key-type query and a challenge IBE-key-type query, it responds in the same way as O1+. Upon receiving a ciphertext-type query for I* ∈ Zn, it chooses tZn randomly and returns the group elements (12) to the attacker. Upon receiving a ciphertext-type query for T* ∈ Zn, it chooses t0Zn randomly and returns the group elements (13) to the attacker. It responds to a challenge decryption-key-type query in the same way as O0.

Oracle O3 The next oracle, which we will denote by O3, responds to queries as follows. Upon receiving a challenge HIBE-key-type query and a ciphertext-type query, it responds in the same way as O2. Upon receiving a challenge IBE-key-type query for IZn, it chooses r″, y‴ ∈ Zn randomly, and also chooses X2, Y2Gp2, X3, Y3Gp3 randomly. It returns the group elements (14) to the attacker. It responds to a challenge decryption-key-type query in the same way as O0.

Oracle O4 The next oracle, which we will denote by O4, responds to ciphertext-type queries in the same way as O0, and responds to a challenge HIBE-key-type query for IZn, by choosing r, y′ ∈ Zn randomly and returns the group elements (15) to the attacker. Upon receiving a challenge IBE-key-type query for TZn, it chooses r′, y″ ∈ Zn randomly and returns the group elements (16) to the attacker. It responds to a challenge decryption-key-type query in the same way as O0.

Oracle O5 The next oracle, which we will denote by O5, responds to queries as follows. Upon receiving a challenge decryption-key-type query for I, TZn, it chooses r, y′, r′, y″ ∈ Zn randomly, and also chooses randomly. It returns the group elements (17) to the attacker. It responds to a ciphertext-type query and a challenge (H)IBE-key-type query in the same way as O4.

Oracle O6 The next oracle, which we will denote by O6, responds to queries as follows. Upon receiving a ciphertext-type query for I* ∈ Zn, it chooses tZn randomly and returns the group elements (18) to the attacker. Upon receiving a ciphertext-type query for T* ∈ Zn, it chooses t0Zn randomly and returns the group elements (19) to the attacker. It responds to a decryption-type query and a challenge (H)IBE-key-type query in the same way as O5.

Oracle O7 The last oracle, which we will denote by O7, responds to ciphertext-type queries in the same way as O0, and responds to a challenge decryption-key-type query for I, TZn, by choosing r, y′, r′, y″ ∈ Zn randomly and returns the group elements to the attacker. It responds to a challenge (H)IBE-key-type query in the same way as O6.

We define the advantage of an attacker in distinguishing between Oi and Oj to be . Here, we assume that interacts with either Oi or Oj, and then outputs a bit 0 or 1 encoding its guess of which oracle it interacted with.

4.4 Indistinguishability of GC and GSF

4.4.1 Strategy for the indistinguishability of GC and GSF.

For the proof of the indistinguishability of GC and GSF, we cannot use the simple nested dual system in U-HIBE [11] that change a normal private key(or normal update key) to an ephemeral semi-fuctional private key(or semi-functional update key) one by one since the adversary of RHIBE can query a private key for ID|kPrefix(ID*|l) and an update key for T*.

To solve this problem, we firstly use a modular design strategy like [13] and construct the private keys and update keys from smaller component keys. A secret key SKID|k consists of many HIBE private keys which are represented as {SKHIBE,Sθ}SθPath and an update key UKID|k−1,T,R consists a randomized decryption key RSKHIBE and many IBE private keys {SKIBE,Si}SiCVR where each HIBE private key (or an IBE private key) is associated with a node Sj in BTID|k−1. The HIBE and IBE private keys can be grouped together if they are related to the same node Sj in BTID|k−1 and a correct decryption key is constructed form the grouped (H)IBE private key.

To uniquely identify a node SjBTID|k−1, we define a node identifier NID of this node as a string ID|k−1||Lj where Lj = Label(vj). To prove the indistinguishability of GC and GSF, we change normal HIBE private keys and normal IBE private keys that are related to the same node identifier NID into (ephemeral) semi-functional keys by defining additional hybrid games. This additional hybrid games are performed for all node identifiers that are used in the key queries of the adversary.

Secondly, we give the equivalent model in which the challenger answers the secret(update, and decryption) key queries of the adversery by requesting the associated (H)IBE private keys from an oracle simulator , shown in Fig 1. When the adversary queries for the secret key, update key or decryption key for some identity and some time period, B constructs the key by the (H)IBE-challenge-key or decryption-challenge-key it queries from the oracle simulator . adaptively answers the corresponding group elements which it constructs by using the public paremeters given by some complexity assumption. Therefore, under the complexity assumptions, the oracle Oi that chooses to answer is indistinguishable and consequently the adversary cannot distinguish whether is playing the real RHIBE game or other variation games based on all the answers recieves after the adaptive queries to .

thumbnail
Fig 1. The query process in the proof of the indistinguishability of GC and GSF.

*The group elements that the oracle simulator gives to the challenger are not only the public parameters PPHIBE and PPIBE, but also the group elements for constructing the (ephemeral) semi-functional keys and ciphertexts and the public elements given by the assumptions.

https://doi.org/10.1371/journal.pone.0195204.g001

For additional hybrid games that change HIBE private keys (or IBE private keys) that are related to the same node identifier NID = ID|k−1||Lj from normal keys to semi-functional keys, we need to define an index pair (in, ic) for an HIBE private key (or an IBE private key) that is related to the node vjBTID|k−1 where in is a node index and ic is a counter index. Suppose that an HIBE private key (or an IBE private key) is related to a node NID. The node index in for the HIBE private key (or the IBE private key) is assigned as follows: If the node vjBTID|k−1 with a node identifier NID appears first time in key queries, then we set in as the number of distinct node identifiers in previous key queries plus one. If the node identifier NID already appeared before in key queries, then we set in as the value of previous HIBE private key (or IBE private key) with the same node identifier. The counter index ic of an HIBE private key is assigned as follows: If the node identifier NID appears first time in HIBE private key queries, then we set ic as one. If the node identifier NID appeared before in HIBE private key queries, then we set ic as the number of HIBE private keys with the same node identifier that appeared before plus one. Similarly, we assigns the counter index ic of an IBE private key.

Thirdly, we divide the behavior of an adversary as two types: Type-1 and Type-2. We next show that the semi-functional key invariance property holds for two types of the adversary. Let be the challenge hierarchical identity and T* be the challenge time. For a challenge node v with the node index h in the hybrid games from GameC and GameSF, the adversary types are formally defined as follows:

  1. Type-1: An adversary is Type-1 if it queries on a hierarchical identity for all HIBE private keys with the node index h, and it queries on time T = T* for at least one IBE private key with the node index h.
  2. Type-2: An adversary is Type-2 if it queries on time TT* for all IBE private keys with the node index h. Note that it may query on a hierarchical identity ID|kPrefix(ID*|l) for at least one HIBE private key with h, or it may query on a hierarchical identity for all HIBE private keys with h.

We prove our dual system encryption RHIBE scheme via a hybrid argument over the sequence of games in Table 3. For the different type of adversary, the squence of games is basicly the same except that:

  1. For the Type-1 adversary, we prove the indistinguishability of GC and GESF by the transition from GC to GEKS, and to GESF without the attacker’s advantage changing by a non-negligible amount.
  2. For the Type-2 adversary, we prove the indistinguishability of GC and GESF by the transition from GC to GEKU, and to GESF without the attacker’s advantage changing by a non-negligible amount.

Theorem 2 Under Assumptions 3 and 4, our dual system encryption RHIBE scheme has the equation (20)

We will prove these indistinguishabilities between games GC, GES (or GEU), GES (or GEU), GESF, and GSF by going through several intermediary oracles. The main properties of our oracles are summarized in Tables 4 and 5 for the Type-1 adversary and Table 6 for the Type-2 adversary respectively. We intend these tables to be used only as a quick reference guide, not as a definition. We give a complete proof for the Type-1 adversary, and a brief explanation of the proof for the Type-2 adversary is demonstrated then.

thumbnail
Table 4. Simulation of challenge keys and cipertext in oracles for the proof of the indistinguishability between GC and GSF under Type-1 adversary.

https://doi.org/10.1371/journal.pone.0195204.t004

thumbnail
Table 6. Simulation of challenge keys and cipertext in oracles under Type-2 adversary for the proof of the indistinguishability between GC and GSF.

https://doi.org/10.1371/journal.pone.0195204.t006

4.4.2 Type-1 adversary.

As defined before, the Type-1 adversary is restricted to queries on a hierarchical identity . By quering for all HIBE private keys with any node index h where the node is on the path from the root to the leaf node vID|k in the tree BTID|k−1, the adversary derives the secret key of ID|k.

So we could show an information theoretic argument for the HIBE private keys from normal to ephemeral semi-functional HIBE keys, then to semi-functional HIBE keys. At the meanwhile, by adaptively transforming the types of IBE private keys sooner or later than the transformation of HIBE private keys, we avoid a potential paradox for the update keys.

From the flollowing Lemma 1, to Lemma 20, we obtain the advantage of Type-1 adversary to distinguish between GC and GSF under Type-1 adversary as (21) We give the proof of those lemmas in Appendix.B.

(1) Indistinguishability of GC and GES

For the security proof of the indistinguishability of GC and GES, we define a sequence of additional hybrid games GC′,1, …, GC′,h, …, GC′,qn, where GC = GC′,0 and qn is the number of all node identifiers that are used in HIBE private keys and IBE private keys of an adversary. In the game GC′,h for 1 ≤ hqn, the challenge ciphertext is semi-functional, all IBE private keys are normal, HIBE private keys with a node index inh are of ESF-2, the remaining HIBE private keys with a node index in > h are normal.

Oracle O1/2 This oracle initializes in the same way as O0, O1 and provides the attacker with initial group elements from the same distribution. Upon receiving a challenge HIBE-key-type query for IZn, it chooses r′, y′ ∈ Zn randomly, and also chooses X3, Y3Gp3 randomly. It returns the group elements (22) to the attacker. It responds to a ciphertext-type query or a challenge IBE-key-type query in the same way as O0.

We define hybrid games H1,1, H1,2, ⋯, Hhc,1, Hhc,2, …, Hqs,1, Hqs,2 where H0,2 = GC′,h and Hqs,2 = GC′,h+1, and qs is the maximun number of HIBE private key queries for the node index h. The games are formally defined as follows:

Game Hhc,1 This game Hhc,1 for 1 ≤ hcqs is almost the same as G2,h−1 except the generation of HIBE private keys and IBE private keys with the node θh of the index h. An IBE private key with an index pair (h, ic) is generated as normal. An HIBE private key with an index pair (h, ic) is generated as follows:

  1. ic < hc: It generates a ESF-2 SKHIBE,θh.
  2. ic = hc: It generates a ESF-1 SKHIBE,θh by using the element groups in Eq 22.
  3. ic > hc: It simply generates a normal HIBE private key.

Game Hhc,2 This game Hhc,1 for 1 ≤ hcqs is almost the same as Hhc,1 except the generation of HIBE private key with an index pair (h, ic) and ic = hc is generated as a ESF-2 SKHIBE,θh by using the element groups in Eq 8.

Lemma 1 Under Assumptions 3, no PPT attacker can distinguish between O0 and O1/2 with non-negligible advantage. So no PPT attacker can distinguish between Hhc−1,2 and Hhc,1 with non-negligible advantage.

Lemma 2 Under Assumptions 4, no PPT attacker can distinguish between O1/2 and O1 with non-negligible advantage. So no PPT attacker can distinguish between Hhc,1 and Hhc,2 with non-negligible advantage.

Let be the advantage of in a game GC′,h. From the Lemma 1, 2, we obtain the following equation

So we obtain the following equation (23)

(2) Indistinguishability of GES and GES

We now prove the indistinguishability of GES and GES in a hybrid argument using polynomially many steps. We let qc denote the number of ciphertext-type queries made by a PPT attacker . Firstly we define hybrid games S−1,1, S0,2, S0,3, S0,1, S1,2, S1,3, S1,1⋯, Sk,2, Sk,3, Sk,1, …, Sqc−1,2, Sqc−1,3, Sqc−1,1, where S−1,1 = GES and Sqc−1,1 = GES. The games are formally defined as follows:

Game Sk,1 This game Sk,1 for 0 ≤ kqc is almost the same as GES except the generation of the challenge ciphertext. The challenge ciphertext of is generated as EST-2k-CT outputed by EncryptESF-2k defined in AppendixA.

Game Sk,2 This game Sk,2 for 0 ≤ kqc − 1 is almost the same as GES except the generation of the challenge ciphertext. The challenge ciphertext of is generated as EST-3k-CT outputed by EncryptESF-3k defined in AppendixA.

Game Sk,3 This game Sk,3 for 0 ≤ kqc − 1 is almost the same as GES except the generation of the challenge ciphertext. The challenge ciphertext of is generated as EST-4k-CT outputed by EncryptESF-4k defined in AppendixA.

We will define additional oracles for each i from 0 to qc − 1, for each i from 0 to qc − 1, and for each i from 0 to qc − 1, to sample various distributions of group elements used for constructing the various types of ciphertexts in Game Sk,1, Game Sk,2 and Game Sk,3.

Oracle This oracle initializes in the same way as O1, O2 and provides the attacker with initial group elements from the same distribution. It also responds to challenge key-type queries in the same way as O1, O2. It keeps a counter of ciphertext-type queries which is initially equal to zero. It increments this counter after each response to a ciphertext-type query. In response to the jth ciphertext-type query for some , if ji, it responds exactly like O2. If j > i, it responds exactly like O1. In particular, is identical to O1 and is identical to O2.

Oracle This oracle acts the same as except in its response to the ith ciphertext-type query. For the ith ciphertext-type query for identity I*, it chooses a random tZN and random elements X3, Y3Gp3 and responds with: (24) If i = 0, the ith ciphertext-type query is for time T*. It chooses a random t0ZN and random elements and responds with: (25)

Oracle This oracle acts the same as except in its response to the ith ciphertext-type query. For the ith ciphertext-type query for identity I*, it chooses a random tZN and random elements X3, Y3Gp3 and responds with: (26) If i = 0, the ith ciphertext-type query is for time T*. It chooses a random t0ZN and random elements and responds with: (27)

Lemma 3 Under Assumptions 3, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between Sk−1,1 and Sk,2 with non-negligible advantage.

Lemma 4 Under Assumptions 4, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between Sk,2 and Sk,3 with non-negligible advantage.

Lemma 5 Under Assumptions 3, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between Sk,3 and Sk,1 with non-negligible advantage.

Let , and be the advantage of in the games Sk,1, Sk,2 and Sk,3. From the Lemma 3, 4, 5, we obtain the following equation (28)

(3) Indistinguishability of GES and GESF

For the security proof of the indistinguishability of GES and GESF, we define a sequence of additional hybrid games GS′,1, …, GS′,h, …, GS′,qn, where GES = GS′,0 and qn is the number of all node identifiers that are used in HIBE private keys and IBE private keys of an adversary. In the game GS′,h for 1 ≤ hqn, the challenge ciphertext is semi-functional, all IBE private keys are ESF-2, IBE private keys with a node index inh are of ESF-2, the remaining HIBE private keys with a node index in > h are normal.

Oracle O5/2 This oracle initializes in the same way as O2, O3 and provides the attacker with initial group elements from the same distribution. Upon receiving a challenge IBE-key-type query for TZn, it chooses r′, y′ ∈ Zn randomly, and also chooses X3, Y3Gp3 randomly. It returns the group elements (29) to the attacker. It responds to a ciphertext-type query or a challenge HIBE-key-type query in the same way as O2.

We define hybrid games E1,1, E1,2, ⋯, Ehc,1, Hhc,2, …, Eqs,1, Eqs,2 where E0,2 = GS′,h and Eqe,2 = GS′,h+1, and qe is the maximun number of IBE private key queries for the node index h. The games are formally defined as follows:

Game Ehc,1 This game Ehc,1 for 1 ≤ hcqe is almost the same as GS′,h except the generation of HIBE private keys and IBE private keys with the node index h. An HIBE private key with an index pair (h, ic) is generated as ESF-2. An IBE private key with an index pair (h, ic) is generated as follows:

  1. ic < hc: It generates a normal and converts the key to a ESF-2 SKIBE,h.
  2. ic = hc: It generates a normal and converts the key to a ESF-1 SKIBE,h by using the element groups in Eq 29.
  3. ic > hc: It simply generates a normal IBE private key.

Game Ehc,2 This game Ehc,2 for 1 ≤ hcqe is almost the same as Ehc,1 except the generation of IBE private key with an index pair (h, ic) and ic = hc is generated as a ESF-2 SKIBE,h by using the element groups in Eq 14.

Lemma 6 Under Assumptions 3, no PPT attacker can distinguish between O2 and O5/2 with non-negligible advantage. So no PPT attacker can distinguish between Ehc−1,2 and Ehc,1 with non-negligible advantage.

Lemma 7 Under Assumptions 4, no PPT attacker can distinguish between O5/2 and O3 with non-negligible advantage. So no PPT attacker can distinguish between Ehc,1 and Ehc,2 with non-negligible advantage.

Let be the advantage of in a game GE′,h. From the Lemma 6, 7, we obtain the following equation

So we obtain the following equation (30)

(4) Indistinguishability of GESF and GSF

For the security proof of the indistinguishability of GESF and GSF, we define a sequence of games GESF′−1, ⋯, GESF′−5 to change the type of secret keys and update keys from ESF-2 to ESF-4 and the type of ciphertexts from ESF-1 to ESF-5 and GESF′−6, ⋯, GESF′−8 to change the type of update keys to semi-functional and the type of ciphertexts back to semi-functional. In Table 5, we give the types of key in the queries and the challenge cipertext in every game, and the decryption situation according to the types of keys and ciphertexts.

GESF′−1: The secret keys are changed to ESF-3. The update keys are still ESF-2. The challenge ciphertext is still ESF-1. The decryption keys are still normal.

GESF′−2: The update keys are changed to ESF-3. The secret keys are ESF-3. The challenge ciphertext is still ESF-1. The decryption keys are still normal.

GESF′−3: The challenge ciphertext is changed to ESF-5. The secret keys and the update keys are still ESF-3. The decryption keys are still normal.

GESF′−4: The secret keys are changed to ESF-4. The update keys are still ESF-3. The challenge ciphertext is ESF-5. The decryption keys are still normal.

GESF′−5: The update keys are changed to ESF-4. The secret keys are ESF-4. The challenge ciphertext is ESF-5. The decryption keys are still normal.

GESF′−6: The challenge ciphertext is changed to ESF-1. The secret keys and the update keys are ESF-4. The decryption keys are still normal.

GESF′−7: The update keys are changed to semi-functional update keys. The secret keys are ESF-4. The challenge ciphertext is ESF-1. The decryption keys are still normal.

GESF′−8: The challenge ciphertext is changed to semi-functional. The secret keys are ESF-4. The update keys are semi-functional update keys. The decryption keys are still normal.

We firstly prove the indistinguishabilities between GESF to GESF′−1, GESF′−1 to GESF′−8. And then we prove the indistinguishability of GESF′−8 and GSF.

Indistinguishability of GESF and GESF′−1. For the security proof of the indistinguishability of GESF and GESF′−1, we define a sequence of games additional hybrid games GF′,1, …, GF′,h, …, GF′,qn, where GESF = GF′,0 and qn is the number of all node identifiers that are used in HIBE private keys and IBE private keys of an adversary. In the game GF′,h for 1 ≤ hqn, the challenge ciphertext is ESF-1, all IBE private keys are ESF-2, HIBE private keys with a node index inh are of ESF-3, the remaining HIBE private keys with a node index in > h are ESF-2.

Oracle O3.1 This oracle initializes in the same way as O3 and provides the attacker with initial group elements from the same distribution. Upon receiving a challenge HIBE-key-type query for IZn, it chooses r, y′ ∈ Zn randomly, and also chooses X2, Y2Gp2 and X3, Y3Gp3 randomly. It returns the group elements (31) to the attacker. It responds to a ciphertext-type query or a challenge IBE-key-type query in the same way as O3.

We define games F1, ⋯, Fhc, …, Fqs where F0 = GS′,h and Fqs = GS′,h+1, and qs is the maximun number of HIBE private key queries for the node index h. The games are formally defined as follows:

Game Fhc This game Fhc for 1 ≤ hcqs is almost the same as GF′,h except the generation of HIBE private keys and IBE private keys with the node index h. An IBE private key with an index pair (h, ic) is generated as ESF-2. An HIBE private key with an index pair (h, ic) is generated as follows:

  1. ichc: It generates a ESF-3 SKHIBE,h by using the element groups in Eq 31.
  2. ic > hc: It simply generates a ESF-2 HIBE private key.

Lemma 8 Under Assumptions 3, no PPT attacker can distinguish between O3 and O3.1 with non-negligible advantage. So no PPT attacker can distinguish between Fhc−1 and Fhc with non-negligible advantage.

Let be the advantage of in a game GF′,h. From the Lemma 8, we obtain the following equation (32)

Indistinguishability of GESF′−1 and GESF′−2. For the security proof of the indistinguishability of GESF′−1 and GESF′−2, we define a sequence of games GF′−1,1, …, GF′−1,h, …, GF′−1,qn, where GESF′−1 = GF′−1,0 and qn is the number of all node identifiers that are used in HIBE private keys and IBE private keys of an adversary. In the game GF′−1,h for 1 ≤ hqn, the challenge ciphertext is ESF-1, all HIBE private keys are ESF-3, IBE private keys with a node index inh are of ESF-3, the remaining HIBE private keys with a node index in > h are ESF-2.

Oracle O3.2 This oracle initializes in the same way as O3.1 and provides the attacker with initial group elements from the same distribution. Upon receiving a challenge IBE-key-type query for TZn, it chooses r, y′ ∈ Zn randomly, and also chooses X2, Y2Gp2 and X3, Y3Gp3 randomly. It returns the group elements (33) to the attacker. It responds to a ciphertext-type query or a challenge HIBE-key-type query in the same way as O3.1.

We define hybrid games F11, ⋯, F1hc, …, F1qe where F10 = GF′−1,h and F1qe = GF′−1,h+1, and qe is the maximun number of IBE private key queries for the node index h. The games are formally defined as follows:

Game F1hc This game F1hc for 1 ≤ hcqs is almost the same as GF′−1,h except the generation of HIBE private keys and IBE private keys with the node index h. A HIBE private key with an index pair (h, ic) is generated as ESF-3. An IBE private key with an index pair (h, ic) is generated as follows:

  1. ichc: It generates a ESF-3 SKIBE,hc.
  2. ic > hc: It simply generates a ESF-2 IBE private key.

Lemma 9 Under Assumptions 3, no PPT attacker can distinguish between O3.1 and O3.2 with non-negligible advantage. So no PPT attacker can distinguish between F1hc−1 and F1hc with non-negligible advantage.

Let be the advantage of in a game GF′−1,h. From the Lemma 9, we obtain the following equation (34)

Indistinguishability of GESF′−2 and GESF′−3. For the security proof of the indistinguishability of GESF′−2 and GESF′−3, we define the oracle below.

Oracle O3.3 This oracle initializes a bit differently from the other oracles. It fixes random elements g, u, h, v, w, u0, h0, v0, w0Gp1, g2Gp2, g3Gp3. It chooses random exponents . It initially provides the attacker with the group elements: (35) What differs from the previous oracles here is the added and term: notice that this is uniformly random in Gp3, since γ is random modulo p3 (and uncorrelated from its value modulo p2). This oracle answers the challenge-key type query in the same way as O3.2. To answer a ciphertext-type query for I, it chooses random values tZN and responds with: (36) To answer a ciphertext-type query for T, it chooses random values tZN and responds with: (37) It is crucial to note that these Gp3 terms arethe same for each ciphertext-type query response.

Lemma 10 Under Assumptions 4, no PPT attacker can distinguish between O3.2 and O3.3 with non-negligible advantage. So no PPT attacker can distinguish between GESF′−2 and GESF′−3 with non-negligible advantage.

From the Lemma 10, we obtain the following equation (38)

Indistinguishability of GESF′−3 and GESF′−4: For the security proof of the indistinguishability of GESF′−3 and GESF′−4, we define a sequence of games additional hybrid games GF′−3,1, …, GF′−3,h, …, GF′−3,qn, where GESF′−3 = GF′−3,0 and qn is the number of all node identifiers that are used in HIBE private keys and IBE private keys of an adversary. In the game GF′−3,h for 1 ≤ hqn, the challenge ciphertext is ESF-5, all IBE private keys are ESF-3, HIBE private keys with a node index inh are of ESF-4, the remaining HIBE private keys with a node index in > h are ESF-3.

Oracle O3.4 This oracle initializes in the same way with O3.3 and provides the attacker the same initial elements as O3.3. This oracle answers the ciphertext-type query and IBE key- type query in the same way as O3.3. To answer a challenge HIBE private key type query for I, it chooses random values y, rZN, X2, Y2Gp2 randomly, and X3, Y3Gp3 and responds with: (39)

We define hybrid games F31, ⋯, F3hc, …, F3qs where F30 = GF′−3, h and F3qs = GF′−3,h+1, and qs is the maximun number of HIBE private key queries for the node index h. The games are formally defined as follows:

Game F3hc This game F3hc for 1 ≤ hcqs is almost the same as GF′−3,h except the generation of HIBE private keys and IBE private keys with the node index h. An IBE private key with an index pair (h, ic) is generated as ESF-3. An HIBE private key with an index pair (h, ic) is generated as follows:

  1. ichc: It generates a ESF-4 SKHIBE,h by using the element groups in Eq 39.
  2. ic > hc: It simply generates a ESF-3 HIBE private key.

Lemma 11 Under Assumptions 4, no PPT attacker can distinguish between O3.3 and O3.4 with non-negligible advantage. So no PPT attacker can distinguish between GESF′−3 and GESF′−4 with non-negligible advantage.

Let be the advantage of in a game GF′−3,h. From the Lemma 11, we obtain the following equation (40)

Indistinguishability of GESF′−4 and GESF′−5. For the security proof of the indistinguishability of GESF′−4 and GESF′−5, we define a sequence of games additional hybrid games GF′−4,1, …, GF′−4,h, …, GF′−4,qn, where GESF′−4 = GF′−4,0 and qn is the number of all node identifiers that are used in HIBE private keys and IBE private keys of an adversary. In the game GF′−4,h for 1 ≤ hqn, the challenge ciphertext is ESF-5, all HIBE private keys are ESF-4, IBE private keys with a node index inh are of ESF-4, the remaining IBE private keys with a node index in > h are ESF-3.

Oracle O3.5 This oracle initializes in the same way with O3.4 and provides the attacker the same initial elements as O3.4. This oracle answers the ciphertext-type query and HIBE key- type query in the same way as O3.4. To answer a challenge IBE private key type query for T, it chooses random values y, rZN, X2, Y2Gp2 randomly, and X3, Y3Gp3 and responds with: (41)

We define hybrid games F41, ⋯, F4hc, …, F4qs where F40 = GF′−4,h and F4qe = GF′−4,h+1, and qe is the maximun number of IBE private key queries for the node index h. The games are formally defined as follows:

Game F4hc This game F4hc for 1 ≤ hcqe is almost the same as GF′−4,h except the generation of HIBE private keys and IBE private keys with the node index h. An HIBE private key with an index pair (h, ic) is generated as ESF-4. An IBE private key with an index pair (h, ic) is generated as follows:

  1. ichc: It generates a ESF-4 SKIBE,h by using the element groups in Eq 41.
  2. ic > hc: It simply generates a ESF-3 IBE private key.

Lemma 12 Under Assumptions 4, no PPT attacker can distinguish between O3.4 and O3.5 with non-negligible advantage. So no PPT attacker can distinguish between GESF′−4 and GESF′−5 with non-negligible advantage.

Let be the advantage of in a game GF′−4,h. From the Lemma 12, we obtain the following equation (42)

Indistinguishability of GESF′−5 and GESF′−6. For the security proof of the indistinguishability of GESF′−5 and GESF′−6, we define the oracle below.

Oracle O3.6 This oracle fixes random elements g, u, h, v, w, u0, h0, v0, w0Gp1, g2Gp2, g3Gp3. It chooses random exponents . It initially provides the attacker with the group elements: (43) What differs from the previous oracles here is the added and term: notice that this is uniformly random in Gp3, since γ is random modulo p3 (and uncorrelated from its value modulo p2). This oracle answers the challenge-key type query in the same way as O3.2. To answer a ciphertext-type query for I, it chooses random values tZN and responds with: (44) To answer a ciphertext-type query for T, it chooses random values tZN and responds with: (45) It is crucial to note that these Gp3 terms arethe same for each ciphertext-type query response.

Lemma 13 Under Assumptions 4, no PPT attacker can distinguish between O3.5 and O3.6 with non-negligible advantage. So no PPT attacker can distinguish between GESF′−5 and GESF′−6 with non-negligible advantage.

From the Lemma 13, we obtain the following equation (46)

Indistinguishability of GESF′−6 and GESF′−7. For the security proof of the indistinguishability of GESF′−6 and GESF′−7, we define a sequence of games GF′−6,1, …, GF′−6,h, …, GF′−6,qn, where GESF′−6 = GF′−6,0 and qn is the number of all node identifiers that are used in HIBE private keys and IBE private keys of an adversary. In the game GF′−6,h for 1 ≤ hqn, the challenge ciphertext is ESF-1, all HIBE private keys are ESF-4, IBE private keys with a node index inh are semi-functional, the remaining IBE private keys with a node index in > h are ESF-4.

Oracle O7/2′ This oracle initializes in the same way as O3.6 and provides the attacker with initial group elements from the same distribution. Upon receiving a challenge IBE-key-type query for TZn, it chooses r, y′ ∈ Zn randomly, and also chooses X2, Y2Gp2 and X3, Y3Gp3 randomly. It returns the group elements (47) to the attacker. It responds to a ciphertext-type query or a challenge HIBE-key-type query in the same way as O3.6.

We define hybrid games F61,1, F61,2, ⋯, F6hc,1, F6hc,2, …, F6qs,1, F6qs,2 where F60,2 = GF′−6,h and F6qe,2 = GF′−6,h+1, and qe is the maximun number of IBE private key queries for the node index h. The games are formally defined as follows:

Game F6hc,1 This game F6hc,1 for 1 ≤ hcqe is almost the same as GF′−6,h except the generation of HIBE private keys and IBE private keys with the node index h. An HIBE private key with an index pair (h, ic) is generated as ESF-4. An IBE private key with an index pair (h, ic) is generated as follows:

  1. ic < hc: It generates a semi-functional key SKIBE,h.
  2. ic = hc: It generates a normal and converts the key to a ESF-5 SKIBE,h by using the element groups in Eq 47.
  3. ic > hc: It generates a ESF-4 IBE private key.

Game F6hc,2 This game F6hc, 2 for 1 ≤ hcqe is almost the same as F6hc,1 except the generation of IBE private key with an index pair (h, ic) and ic = hc is generated as a semi-functional SKIBE,h.

Lemma 14 Under Assumptions 4, no PPT attacker can distinguish between O3.6 and O7/2′ with non-negligible advantage. So no PPT attacker can distinguish between F6i−1,2 and F6i,1 with non-negligible advantage.

Oracle This oracle initializes in the same way as , and provides the attacker with initial group elements from the same distribution. It also responds to a ciphertext-type query as same as . It responds to a HIBE-key-type query in the same way as O3.6. Upon receiving a challenge IBE-key-type query for TZn, it chooses r, y′ ∈ Zn randomly, and returns the group elements (48) to the attacker.

Lemma 15 Under Assumptions 3, no PPT attacker can distinguish between O7/2′ and with non-negligible advantage. So no PPT attacker can distinguish between F6i,1 and F6i,2 with non-negligible advantage.

Let be the advantage of in a game GE′,h. From the Lemma 14, 15, we obtain the following equation

So we obtain the following equation (49)

Indistinguishability of GESF′−7 and GESF′−8. We now prove the indistinguishability of GESF′−7 and GESF′−8 in a hybrid argument using polynomially many steps. We let qc denote the number of ciphertext-type queries made by a PPT attacker . Firstly we define hybrid games , , , where and . The games are formally defined as follows:

Game This game for 0 ≤ kqc is almost the same as GESF′−7 except the generation of the challenge ciphertext. The challenge ciphertext of is generated as EST-2k-CT outputed by EncryptESF-2k.

Game This game for 0 ≤ kqc − 1 is almost the same as GESF′−7 except the generation of the challenge ciphertext. The challenge ciphertext of is generated as EST-3k-CT outputed by EncryptESF-3k.

Game This game for 0 ≤ kqc − 1 is almost the same as GESF′−7 except the generation of the challenge ciphertext. The challenge ciphertext of is generated as EST-4k-CT outputed by EncryptESF-4k.

We will define additional oracles for each i from 0 to qc − 1, for each i from 0 to qc − 1, and for each i from 0 to qc − 1.

Oracle This oracle acts the same as except that its response to the ciphertext-type query is as same as .

Oracle This oracle acts the same as except that its response to the ciphertext-type query is as same as .

Lemma 16 Under Assumptions 3, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between and with non-negligible advantage.

Lemma 17 Under Assumptions 4, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between and with non-negligible advantage.

Lemma 18 Under Assumptions 3, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between and with non-negligible advantage.

Let , and be the advantage of in the games , and . From the Lemma 16, 17, 18, we obtain the following equation (50)

Indistinguishability of GESF′−8 and GSF. For the security proof of the indistinguishability of GESF′−8 and GSF, we define a sequence of games GF′−8,1, …, GF′−8,h, …, GF′−8,qn, where GESF′−8 = GF′−8,0 and qn is the number of all node identifiers that are used in HIBE private keys and IBE private keys of an adversary. In the game GF′−8,h for 1 ≤ hqn, the challenge ciphertext is semi-functional, all IBE private keys are semi-functional, HIBE private keys with a node index inh are semi-functional, the remaining HIBE private keys with a node index in > h are ESF-4.

Oracle O7/2 This oracle initializes in the same way as and provides the attacker with initial group elements from the same distribution. Upon receiving a challenge HIBE-key-type query for IZn, it chooses r, y′ ∈ Zn randomly, and also chooses X2, Y2Gp2 and X3, Y3Gp3 randomly. It returns the group elements (51) to the attacker. It responds to a ciphertext-type query or a challenge IBE-key-type query in the same way as .

We define hybrid games I1,1, I1,2, ⋯, Ihc,1, Ihc,2, …, Iqs,1, Iqs,2 where I0,2 = GF′−8,h and Iqs,2 = GF′−8,h+1, and qs is the maximun number of HIBE private key queries for the node index h. The games are formally defined as follows:

Game Ihc,1 This game Ihc,1 for 1 ≤ hcqs is almost the same as GF′−8,h except the generation of HIBE private keys and IBE private keys with the node index h. An IBE private key with an index pair (h, ic) is generated as a semi-functional key. An HIBE private key with an index pair (h, ic) is generated as follows:

  1. ic < hc: It generates a semi-functional SKHIBE,h.
  2. ic = hc: It generates a ESF-5 SKHIBE,h.
  3. ic > hc: It generates a ESF-4 SKHIBE,h.

Game Hhc,2 This game Hhc,1 for 1 ≤ hcqs is almost the same as Hhc,1 except the generation of HIBE private key with an index pair (h, ic) and ic = hc is generated as a semi-functional SKHIBE,h.

Lemma 19 Under Assumptions 4, no PPT attacker can distinguish between and O7/2 with non-negligible advantage. So no PPT attacker can distinguish between Ihc−1,2 and Ihc,1 with non-negligible advantage.

Lemma 20 Under Assumptions 3, no PPT attacker can distinguish between O7/2 and O4 with non-negligible advantage. So no PPT attacker can distinguish between Ihc,1 and Ihc,2 with non-negligible advantage.

Let be the advantage of in a game GE′,h. From the Lemma 19, 20, we obtain the following equations and (52)

So we obtain the following equation (53)

According to the equations Eqs 23, 28, 30, 53, we obtain the following equation (54)

4.4.3 Type-2 adversary.

The Type-2 adversary is restricted to queries on the update keys on the time TT*. So we could show an information theoretic argument for the update keys and avoid a potential paradox for the secret keys, in the similar way of the situation of the Type-1 adversary in Sec.4.4.2.

The proof strategy for the indistinguishabilities between games GC to GEKU, and to GESF under the Type-2 adversary is by going through several intermediary oracles in Table 6, where the type settings of the update keys and the secret keys in every oracle and game respectively are swaped compared to the setting in Sec.4.4.2. The proof of every respective lemma is similar to the proof for the Type-1 adversary, and finally we obtain the advantage between GC and GESF under the Type-2 adversary as same in Eq 54.

4.5 Indistinguishability of GSF and GSF

In the game GSF, the type of ciphertexts, secret keys and update keys are all semi-functional, except the decryption keys are normal. In this section, we give the proof of the indistinguishability of GSF and GSF via a hybrid argument over the sequence of games GSF, GED, GESF and GSF to transform the type of decryption keys from normal to ephemeral semi-functional, and then to semi-functional.

The hybrid argument we conduct for the indistinguishability of GSF and GSF is following the process similar to the argument for the indistinguishability of GC and GSF. But it is simpler since the transformation of challenge type only happens to the decryption keys and the challenge ciphertexts. So we just treat the decryption keys as a secret key of the identity (T, id1, ⋯, idj) and follow the proof strategy in the nested dual system encryption of the unbounded HIBE [12].

We show the oracles for proving the the indistinguishability of GSF and GSF in Table 7 which answer queries from the challenger by sampling various distributions of group elements to construct the decryption keys, challenge ciphertexts and also the secret keys and update keys.

thumbnail
Table 7. Simulation of challenge keys and cipertext in oracles for the proof of the indistinguishability between GSF and GSF.

https://doi.org/10.1371/journal.pone.0195204.t007

Since these oracles initially provide the attacker with a description of the group G, as well as the group elements

So the simulation of semi-functional secret keys and update keys are achievable in all oracles and games.

(1) Indistinguishability of GSF and GED

For the security proof of the indistinguishability of GSF and GED, we define a sequence of additional hybrid games J1,1, J1,2, ⋯, Jhd,1, Jhd,2, …, Jqd,1, Jqd,2 where J0,2 = GSF and Jqd,2 = GED, and qd is the number of decryption key queries of an adversary. The games and a additional oracle O9/2 used in the proof are formally defined as follows:

Oracle O9/2 This oracle initializes in the same way as O4, O5 and provides the attacker with initial group elements from the same distribution. Upon receiving a challenge decryption-key-type query for I, TZn, it chooses r, y′, r′, y″ ∈ Zn randomly, and also chooses randomly. It returns the group elements (55) to the attacker. It responds to a ciphertext-type query and a challenge (H)IBE-key-type query in the same way as O4.

Game Jhd,1 This game Jhd,1 for 1 ≤ hdqd is almost the same as GEF except the generation of the decryption keys DKID|k,T.

  1. id < hd: It generates a normal and converts the key to a ESF-2 DKID|k,T by using the element groups in Eq 17.
  2. id = hd: It generates a normal and converts the key to a ESF-1 DKID|k,T by using the element groups in Eq 55.
  3. id > hd: It simply generates a normal decryption key.

Game Jhd,2 This game Jhd,1 for 1 ≤ hdqd is almost the same as Jhd,1 except the generation of the decryption key is generated as a ESF-2 DKID|k, T by using the element groups in Eq 17. The first hd decryption keys are generated as ESF-2 and the remaining decryption keys are generated as normal.

Lemma 21 Under Assumptions 3, no PPT attacker can distinguish between O4 and O9/2 with non-negligible advantage. So no PPT attacker can distinguish between Jhd−1,2 and Jhd,1 with non-negligible advantage.

Lemma 22 Under Assumptions 4, no PPT attacker can distinguish between O9/2 and O5 with non-negligible advantage. So no PPT attacker can distinguish between Jhd,1 and Jhd,2 with non-negligible advantage.

From the Lemma 21, 22, we obtain the following equation (56)

(2) Indistinguishability of GED and GESF

We now prove the indistinguishability of GED and GESF in a hybrid argument using polynomially many steps. We let qc denote the number of ciphertext-type queries made by a PPT attacker . Firstly we define hybrid games L−1,1, L0,2, L0,3, L0,1, L1,2, L1,3, L1,1⋯, Lk,2, Lk,3, Lk,1, …, Lqc−1,2, Lqc−1,3, Lqc−1,1, where L−1,1 = GED and Lqc−1,1 = GESF. The games are formally defined as follows:

Game Lk,1 This game Lk,1 for 0 ≤ kqc is almost the same as GED except the generation of the challenge ciphertext. The challenge ciphertext of is generated as EST-2k-CT outputed by EncryptESF-2k.

Game Lk,2 This game Lk,2 for 0 ≤ kqc − 1 is almost the same as GED except the generation of the challenge ciphertext. The challenge ciphertext of is generated as EST-3k-CT outputed by EncryptESF-3k.

Game Lk,3 This game Lk,3 for 0 ≤ kqc − 1 is almost the same as GED except the generation of the challenge ciphertext. The challenge ciphertext of is generated as EST-4k-CT outputed by EncryptESF-4k.

We will define additional oracles for each i from 0 to qc − 1, for each i from 0 to qc − 1, and for each i from 0 to qc − 1.

Oracle This oracle initializes in the same way as O5, O6 and provides the attacker with initial group elements from the same distribution. It also responds to challenge key-type queries in the same way as O5, O6. It keeps a counter of ciphertext-type queries which is initially equal to zero. It increments this counter after each response to a ciphertext-type query. In response to the jth ciphertext-type query for some , if ji, it responds exactly like O6. If j > i, it responds exactly like O5. In particular, is identical to O5 and is identical to O6.

Oracle This oracle acts the same as except in its response to the ith ciphertext-type query. For the ith ciphertext-type query for identity I*, it chooses a random tZN and random elements X3, Y3Gp3 and responds with: (57) If i = 0, the ith ciphertext-type query is for time T*. It chooses a random t0ZN and random elements and responds with: (58)

Oracle This oracle acts the same as except in its response to the ith ciphertext-type query. For the ith ciphertext-type query for identity I*, it chooses a random tZN and random elements X3, Y3Gp3 and responds with: (59) If i = 0, the ith ciphertext-type query is for time T*. It chooses a random t0ZN and random elements and responds with: (60)

Lemma 23 Under Assumptions 3, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between Lk−1,1 and Lk,2 with non-negligible advantage.

Lemma 24 Under Assumptions 4, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between Lk,2 and Lk,3 with non-negligible advantage.

Lemma 25 Under Assumptions 3, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between Lk,3 and Lk,1 with non-negligible advantage.

From the Lemma 23, 24, 25, we obtain the following equation (61)

(3) Indistinguishability of GESF and GSF

For the security proof of the indistinguishability of GESF and GSF, we define a sequence of games GESF−1, GESF−2, GESF−3 to change the type of decryption keys from ESF-2 to ESF-4 and the type of ciphertexts from ESF-1 to ESF-5 and GESF−4, GESF−5, GESF−6 to change the type of decryption keys to semi-functional and the type of ciphertexts back to semi-functional. In Table 8, we give the types of key in the queries and the challenge cipertext in every game, and the decryption situation according to the types of keys and ciphertexts.

GESF−1: The decryption keys are changed to ESF-3. The challenge ciphertext is still ESF-1. The secret keys and update keys are still semi-functional.

GESF−2: The challenge ciphertext is changed to ESF-5. The secret keys and the update keys are still semi-functional. The decryption keys are still ESF-3.

GESF−3: The decryption keys are changed to ESF-4. The challenge ciphertext is ESF-5. The secret keys and update keys are still semi-functional.

GESF−4: The challenge ciphertext is changed to ESF-1. The secret keys and the update keys are semi-functional. The decryption keys are still ESF-4.

GESF−5: The challenge ciphertext is changed to semi-functional. The secret keys and the update keys are semi-functional. The decryption keys are still ESF-4.

We firstly prove the indistinguishabilities between GESF to GESF−1, GESF−1 to GESF−5. And then we prove the indistinguishability of GESF−5 and GSF.

Indistinguishability of GESF and GESF−1. For the security proof of the indistinguishability of GESF and GESF−1, we define games GF,1, ⋯, GF,hd, …, GF,qd where GF,0 = GESF and GF,qd = GESF−1, and qd is the number of decryption key queries of an adversary. In the game GF,h for 1 ≤ hqd, the challenge ciphertext is ESF-1, all (H)IBE private keys are semi-functional, the ist queried decryption key where ih are of ESF-3, the remaining decryption keys with i > h are ESF-2.

Oracle O6.1 This oracle initializes in the same way as O6 and provides the attacker with initial group elements from the same distribution. Upon receiving a challenge decryption-key-type query for I, TZn, it chooses r, y′, r′, y″ ∈ Zn randomly, and also chooses and randomly. It returns the group elements (62) to the attacker. It responds to a ciphertext-type query or a challenge (H)IBE-key-type query in the same way as O6.

Lemma 26 Under Assumptions 3, no PPT attacker can distinguish between O6 and O6.1 with non-negligible advantage. So no PPT attacker can distinguish between GF,hd−1 and GF,hd with non-negligible advantage.

Let be the advantage of in a game GF′,h. From the Lemma 27, we obtain the following equation (63)

Indistinguishability of GESF−1 and GESF−2. For the security proof of the indistinguishability of GESF−1 and GESF−2, we define the oracle below.

Oracle O6.2 This oracle initializes a bit differently from the other oracles. It fixes random elements g, u, h, v, w, u0, h0, v0, w0Gp1, g2Gp2, g3Gp3. It chooses random exponents . It initially provides the attacker with the group elements: (64) What differs from the previous oracles here is the added and term: notice that this is uniformly random in Gp3, since γ is random modulo p3 (and uncorrelated from its value modulo p2). This oracle answers the challenge-key type query in the same way as O6.1. To answer a ciphertext-type query for I, it chooses random values tZN and responds with: (65) To answer a ciphertext-type query for T, it chooses random values tZN and responds with: (66) It is crucial to note that these Gp3 terms arethe same for each ciphertext-type query response.

Lemma 27 Under Assumptions 4, no PPT attacker can distinguish between O6.1 and O6.2 with non-negligible advantage. So no PPT attacker can distinguish between GESF−1 and GESF−2 with non-negligible advantage.

From the Lemma 27, we obtain the following equation (67)

Indistinguishability of GESF−2 and GESF−3: For the security proof of the indistinguishability of GESF−2 and GESF−3, we define a sequence of games additional hybrid games GF−2,1, …, GF−2,h, …, GF−2,qd, where GESF−2 = GF−2,0 and qd is the number of decryption key queries of an adversary. In the game GF−2,h for 1 ≤ hqd, the challenge ciphertext is ESF-5, all (H)IBE private keys are semi-functional, the ist queried decryption key where ih are of ESF-4, the remaining decryption keys with i > h are ESF-3.

Oracle O6.3 This oracle initializes in the same way with O6.2 and provides the attacker the same initial elements as O6.2. This oracle answers the ciphertext-type query and (H)IBE key- type query in the same way as O6.2. To answer a challenge decryption key type query for I, I, it chooses random values randomly, and and responds with: (68)

Lemma 28 Under Assumptions 4, no PPT attacker can distinguish between O6.2 and O6.3 with non-negligible advantage. So no PPT attacker can distinguish between GF−2,h and GF−2,h+1 with non-negligible advantage.

Let be the advantage of in a game GF−2,h. From the Lemma 28, we obtain the following equation (69)

Indistinguishability of GESF−3 and GESF−4. For the security proof of the indistinguishability of GESF−3 and GESF−4, we define the oracle below.

Oracle This oracle initializes in the same way as , and provides the attacker with initial group elements from the same distribution. It also responds to a ciphertext-type query as same as . It responds to the decryption-key-type and (H)IBE-key-type queries in the same way as O6.3.

Lemma 29 Under Assumptions 4, no PPT attacker can distinguish between O6.3 and with non-negligible advantage. So no PPT attacker can distinguish between GESF−3 and GESF−4 with non-negligible advantage.

From the Lemma 29, we obtain the following equation (70)

Indistinguishability of GESF−4 and GESF−5. We now prove the indistinguishability of GESF−4 and GESF−5 in a hybrid argument using polynomially many steps. We let qc denote the number of ciphertext-type queries made by a PPT attacker . Firstly we define hybrid games , , , where and . The games are formally defined as follows:

Game This game for 0 ≤ kqc is almost the same as GESF−4 except the generation of the challenge ciphertext. The challenge ciphertext of is generated as EST-2k-CT outputed by EncryptESF-2k.

Game This game for 0 ≤ kqc − 1 is almost the same as GESF−4 except the generation of the challenge ciphertext. The challenge ciphertext of is generated as EST-3k-CT outputed by EncryptESF-3k.

Game This game for 0 ≤ kqc − 1 is almost the same as GESF−4 except the generation of the challenge ciphertext. The challenge ciphertext of is generated as EST-4k-CT outputed by EncryptESF-4k.

We will define additional oracles for each i from 0 to qc − 1, and for each i from 0 to qc − 1.

Oracle This oracle acts the same as except that its response to the ciphertext-type query is as same as .

Oracle This oracle acts the same as except that its response to the ciphertext-type query is as same as .

Lemma 30 Under Assumptions 3, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between and with non-negligible advantage.

Lemma 31 Under Assumptions 4, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between and with non-negligible advantage.

Lemma 32 Under Assumptions 3, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between and with non-negligible advantage.

Let , and be the advantage of in the games , and . From the Lemma 30, 31, 32, we obtain the following equation (71)

Indistinguishability of GESF−5 and GSF. For the security proof of the indistinguishability of GESF−5 and GSF, we define hybrid games , where and , and qd is the number of decryption key queries of an adversary. The oracle and games are formally defined as follows:

Oracle O13/2 This oracle initializes in the same way as and provides the attacker with initial group elements from the same distribution. Upon receiving a challenge decryption-key-type query for I, TZn, it chooses r, y′, r′, y″ ∈ Zn randomly, and also chooses and randomly. It returns the group elements (72) to the attacker. It responds to a ciphertext-type query or a challenge (H)IBE-key-type query in the same way as .

Game This game for 1 ≤ hqd is almost the same as GESF−5 except the generation of decryption keys. The ist queried decryption key is generated as follows:

  1. i < h: It generates a semi-functional DKID|k,T.
  2. i = h: It generates a ESF-5 DKID|k,T.
  3. i > h: It generates a ESF-4 DKID|k,T.

Game This game for 1 ≤ hqd is almost the same as except the generation of the hst queried decryption key is generated as a semi-functional DKID|k,T.

Lemma 33 Under Assumptions 4, no PPT attacker can distinguish between and O13/2 with non-negligible advantage. So no PPT attacker can distinguish between and with non-negligible advantage.

Lemma 34 Under Assumptions 3, no PPT attacker can distinguish between O13/2 and O7 with non-negligible advantage. So no PPT attacker can distinguish between and with non-negligible advantage.

Let be the advantage of in a game GE′,h. From the Lemma 33, 34, we obtain the following equations

So we obtain the following equation (73)

According to the equations Eqs 56, 61, 73, we obtain the following equation (74)

4.6 Indistinguishability of GC and GC and Indistinguishability of GSF and GSF

Lemma 35 Under Assumptions 3 and 4, for any PPT attacker , the difference in ’s advantage between Gθ and Gθ is negligible, where θ ∈ {C, SF}.

Proof We suppose there exists a PPT attacker and a symbol of θ ∈ {C, SF} such that ’s advantage changes non-negligibly between Game RHIBEθ and Game RHIBEθ. We will either create a PPT algorithm that breaks Assumption 3 with non-negligible advantage or a PPT algorithm that breaks Assumption 4 with non-negligible advantage.

While playing Game RHIBEθ under Type-1 adversary, produces two values I, I′ ∈ Zn which are unequal modulo n but are equal modulo p3, with non-negligible probability. We let A denote gcd(II′, n), and we let B denote n/A. We then have that p3 divides A, and B ≠ 1.

While playing Game RHIBEθ under Type-2 adversary, produces two values T, T′ ∈ Zn which are unequal modulo n but are equal modulo p3, with non-negligible probability. We let A denote gcd(TT′, n), and we let B denote n/A. We then have that p3 divides A, and B ≠ 1.

We consider two possible cases: 1) p1 divides B and 2) A = p1p3, B = p2. At least one of these cases must occur with non-negligible probability.

If case 1) occurs with non-negligible probability, we can create a which breaks Assumption 3 with non-negligible advantage. receives g, g2, X1 X3, T. It can use these terms to simulate Game RHIBEβ with as follows. It picks values a, b, c, d, a0, b0, c0, d0ZN uniformly at random and sets u = ga, h = gb, v = gc, w = gd, , , , , and gives the following public parameters:

We note that knows the master secret key α, so it can easily make normal secret keys, normal update keys and normal decryption keys. Since also knows g2, it can easily make semi-functional ciphertexts. So can play Game RHIBEC and Game RHIBEC with .

To make the three kinds of semi-functional keys, uses X1, X3 and g2. More precisely, to make a semi-functional decryption key for T and (I1, ⋯, Ij), it also chooses random values . It forms the decryption key as:

To make the semi-functional update key of (I1, ⋯, Ij−1) and T for each θ with its value γθ in KUNode(BTID|j−1, T, RLID|j−1), chooses random values . forms the challenge update key for as:

To make the semi-functional secret key of (I1, ⋯, Ij) and T for each θ with its value γθ in Path(ID|j), chooses random values r1, θ, ⋯, rj, θZn. forms the challenge secret key for as:

So can play Game RHIBESF and Game RHIBESF with . Now, if fails to produce I, I′ or T, T′ such that gcd(II′, n) = A or gcd(TT′, n) = A is divisible by p3 and p1 divides B = n/A, then guesses randomly. However, with non-negligible probability, will produce such an I, I′ or T, T′. can detect this by computing A = gcd(II′, n) or A = gcd(TT′, n) and B = n/A, checking that gB is the identity element (this will occur only if p1 divides B since g has order p1 in G) and checking that (X1 X3)B ≠ 1 (this confirms that p3 does not divide B, hence it must divide A). When detects this situation, it can test whether TGp1 or TGp1p3 by testing if TB is 1. If TB = 1 holds, then TGp1. If TB ≠ 1, then TGp1 p3. Thus, achieves non-negligible advantage in breaking Assumption 3.

If case 2) occurs with non-negligible probability, we can create a which breaks Assumption 4 with non-negligible advantage. receives g, g3, X1 X2, Y2 Y3, T. It can use these terms to simulate Game RHIBEθ with as follows. It gives the public parameters like in the case 1. We note that B knows the master secret key α, so it can easily make normal keys.

To make a semi-functional ciphertext for T and and message M, chooses random values t0, t1, ⋯, tlZn and forms the ciphertext as:

We note that this will set σ1 = c1 modulo p2 and σ2 = c2 modulo p2. To make a semi-functional decryption key for (I1, ⋯, Ij), chooses random values y0, y1, ⋯, yj, r0, r1, ⋯, rjZn. It forms the key as:

To make the semi-functional update key of (I1, ⋯, Ij−1) and T for each θ with its value γθ in KUNode(BTID|j−1, T, RLID|j−1), chooses random values y0,θ, y1,θ, ⋯, yj−1,θ, r0,θ, r1,θ, ⋯, rj−1,θZn. forms the challenge update key for as:

To make the semi-functional secret key of (I1, ⋯, Ij) and T for each θ with its value γθ in Path(ID|j), chooses random values y1,θ, ⋯, yj,θ, r1,θ, ⋯, rj,θZn. forms the challenge secret key for as:

We note that the semi-functional ciphertext and keys are well-distributed, and share the common value of σ1 = c1 modulo p2 and σ2 = c2 modulo p2 as required. We note that the Gp2 terms on the ciphertext are random because the value of d modulo p2 and d0 modulo p2 does not appear elsewhere.

Now, if fails to produce I, I′ such that gcd(II′, n) = A or T, T′ such that gcd(TT′, n) = A, where A = p1 p3 and B = p2, then guesses randomly. However, with non-negligible probability, will produce such an I, I′ or T, T′. can detect this by computing A, B and testing that gB and are not the identity element (this confirms that B = p2, since it demonstrates the p1 and p3 do not divide B). Now, can learn whether T has a Gp2 component or not by testing if TA is the identity element or not. If it is not, then T has a Gp2 component. Thus, achieves non-negligible advantage in breaking Assumption 4.

4.7 Indistinguishability of GReal and GC

Lemma 36 If the Assumption 1 holds, then no polynomial-time adversary can distinguish GReal and GC.

Proof. We assume there is a PPT attacker such that achieves a non-negligible difference in advantage between Game GReal and Game GC. We will create a PPT algorithm which breaks Assumption 1 with non-negligible advantage. is given gGp1 and T. chooses a, b, c, d, a0, b0, c0, d0, α randomly from Zp and set . It gives the public parameters (75) to . Since knows the master secret key α, it can respond to ’s key requests by calling the key generation update and derive algorithm and giving the resulting keys.

At some point, provides two messages M0, M1 and requests the challenge ciphertext for some identity vector, denoted by at the time T*. forms the ciphertext as follows. It chooses t0, t1, …tl randomly from Zp and β randomly from {0, 1} and sets: (76) This implicitly sets gs equal to the Gp1 part of T. If TGp1, then this is a well-distributed normal ciphertext, and has properly simulated Game GReal. If TGp1p2, then this is a well-distributed semi-functional ciphertext (since the values of d modulo p2 and d0 modulo p2 are uncorrelated from their values modulo p1 by the Chinese Remainder Theorem). Hence, has properly simulated Game GC in this case. Thus, can use the output of to achieve a non-negligible advantage against Assumption 1.

4.8 Indistinguishability of GSF and GFinal

Lemma 37 If the Assumption 2 holds, then no polynomial-time adversary can distinguish GSF and GFinal.

Proof We suppose there exists a PPT attacker who achieves a non-negligible advantage in Game RHIBESF. We will create a PPT algorithm which has a non-negligible advantage against Assumption 2.

receives g, g2, g3, gα X2, gs Y2, T. It chooses a, b, c, d, a0, b0, c0, d0 randomly from Zp and sets . It gives the public parameters (77) to . We note that does not know the master secret key α. For a secret key query for (I1, ⋯, Ik), will create a semi-functional secret key as follows. It chooses f1 randomly and r1,θ, ⋯, rk,θ, b1,θ, ⋯, bk,θZp randomly for each node θPath(IDk). The semi-functional secret key SKID|k is formed as ({θ, PSKθ}θpath), in which and we have as (78)

This is a well-distributed semi-functional secret key with ψ1,θ = d + 1, σ1,θ = c(mod p2p3) and y1 = f1(mod p2p3). Notice that y1 is freshly random modulo p2 and p3 for each key, while σ2,θ, ψ2,θ are the same for all update keys.

For an update key query for (I1, ⋯, Ij−1) and T, generates a semi-functional update key as follows. It chooses randomly for each node θKUNode(BTIDj−1) and f2 randomly. And it will implicitly set mod p1. The semi-functional update key is formed as UKID|j−1,T = ({θ, TUKθ}θKUNode) and : (79) This is a well-distributed semi-functional update key with ψ2,θ = d0 + 1, σ2,θ = c0(mod p2p3) and y2 = f2(mod p3), y2 = (f2 + logg2 X2)(mod p2), then . Notice that y2 is freshly random modulo p2 and p3 for each update key, while σ2,θ, ψ2,θ are the same for all update keys.

In response to a decryption key query for (I1, ⋯, Ij) and T. generates the semi-functional secret key and the semi-functional update key at first, and derives an semi-functional decryption key which is formed as (80) This is a well-distributed semi-functional decryption key.

At some point, provides with two messages M0, M1, a challenge identity vector and a challenge time T*. creates the challenge ciphertext as follows. It chooses randomly from Zn and β randomly from {0, 1} and sets: (81) If T = e(g, g)αs, this is a well-distributed semi-functional encryption of Mβ with . Notice that and randomize these so that there is no correlation with d or d0 modulo p2. Hence this is uncorrelated from the exponents modulo p2 of the semi-functional keys. In this case, has properly simulated Game RHIBESF.

If T is a random element of GT, then this is a semi-functional encryption of a random message, and hence the ciphertext contains no information about β. In this case, the advantage of must be zero. Since we have assumed the advantage of is non-negligible in Game RHIBESF, can use the output of to obtain a non-negligible advantage against Assumption 2.

This completes the proof of Theorem 1.

5 Conclusion

In this paper, we propose a RHIBE scheme by combining the unbounded LW-(H)IBE and the CS method in a modular way in composite bilinear groups. Moreover, our construction has the advantages of decryption key exposure resistance and short system public parameters. Since neither the naive dual system encryption for bounded RHIBEs nor the naive nested dual system encryption for unbounded HIBEs work in our unbounded RHIBE, we carefully re-design the hybrid games to show the information theoretic arguments successfully in the dual system encryption framework. Our RHIBE is the first unbounded RHIBE scheme that achieves the adaptive security.

A Defination of the ephemeral semi-functional ciphertexts and keys

In the defination of the first type of ephemeral semi-functional ciphertext, we add Gp2 term on every element of all ciphertext-element-groups. We define a sequence of type-2 ephemeral semi-functional ciphertexts with the index 0 ≤ kl, every element of the first k − 1 ciphertext-element-groups is in Gp1p2, and only the first elements of the rest of ciphertext-element-groups are added by Gp2 terms. In the defination of the third type of ephemeral semi-functional ciphertext, every element of the first i − 1 ciphertext-element-groups is in Gp1p2; for the ist ciphertext-element-group, the first element is in Gp1p2p3, its rest elements are in Gp1 p3; and for the rest ciphertext-element-groups, we add Gp2 terms on the first elements of them. In the defination of the fourth type of ephemeral semi-functional ciphertext, every elements of the first i − 1 ciphertext-element-groups are in Gp1p2, every elements of the ist ciphertext-element-group are in Gp1p2p3, and for the rest ciphertext-element-groups, we add Gp2 terms on the first elements of them. In the defination of the fifth type of ephemeral semi-functional ciphertext, every element of all ciphertext-element-groups is in Gp1p2p3.

EncryptESF-1 Let the normal ciphertext be . It chooses γ, δ1, δ2, a′, b′, and random t0, …, tjZn and forms the ESF-1-CT as

EncryptESF-2k It chooses γ, δ1, δ2, a′, b′, and random t0, …, tkZn. It forms the first two elements and the first k element-groups of ESF-2k-CT as same as of ESF-1-CT, and the rest element-groups of ESF-2k-CT as same as of SF-CT.

EncryptESF-3k It chooses γ, δ1, δ2, a′, b′, and random t0, …, tkZn, random X3, Y3Gp3. It forms the first two elements and the first k − 1 element-groups of ESF-3k-CT as same as of ESF-1-CT, and the kst element-group of ESF-3k-CT as and the rest element-groups of ESF-3k-CT as same as of SF-CT.

EncryptESF-4k It chooses γ, δ1, δ2, a′, b′, and random t0, …, tkZn, random X3, Y3Gp3. It forms the first two elements and the first k − 1 element-groups of ESF-4k-CT as same as of ESF-1-CT, and the kst element-group of ESF-4k-CT as and the rest element-groups of ESF-4k-CT as same as of SF-CT.

EncryptESF-5 Let the normal ciphertext be . It chooses γ, δ1, δ2, a′, b′, g3Gp3, and random . It forms the first two elements of as , and forms the element-groups of ESF-5-CT as

In the defination of the first type of ephemeral semi-functional secret key, we add Gp3 term on the last 2 elements of the last element-group. In the defination of the second type of ephemeral semi-functional secret key, we add Gp2p3 term on the last 2 elements of the last element-group. In the defination of the third type of ephemeral semi-functional secret key, we add Gp3 term on the first 2 elements of the last element-group and add Gp2p3 term on the last 2 elements of the last element-group. In the defination of the fourth type of ephemeral semi-functional secret key, every element of the last element-group is in Gp1p2p3. In the defination of the fifth type of ephemeral semi-functional secret key, the first 2 elements and the last element of the last element-group is in Gp1 p2 p3, and the third element of the last element-group is in Gp1 p3.

SKeyESF-1 Let the correlative component key to the node θPath(IDj) in the BTID|j−1 be . It chooses random values X3, Y3Gp3 and forms the component ESF-1-SK by changing the last element-group as

SKeyESF-2 Let the correlative component key to the node θPath(IDj) in the BTID|j−1 be . It chooses random values X2, Y2Gp2, X3, Y3Gp3 and forms the component ESF-2-SK by changing the last element-group as

SKeyESF-3 It chooses chooses y′, rZp randomly, X2, Y2Gp2 randomly, and X3, Y3Gp3 randomly and forms the component seceret key ESF-3-SK by constructing κ(Ij, y′, r) in the last element-group as

And the contruction of the other element-groups follows the construction of SKHIBE,Sθ in RHIBE.GenKey.

SKeyESF-4 It chooses chooses y′, rZp randomly, X2, Y2Gp2 randomly, and X3, Y3Gp3 randomly and forms the component ESF-4-SK by constructing κ(Ij, y′, r) in the last element-group as

And the contruction of the other element-groups follows the construction of SKHIBE,Sθ in RHIBE.GenKey.

SKeyESF-5 It chooses chooses y′, rZp randomly, X2Gp2 randomly, and X3, Y3Gp3 randomly and forms the component ESF-5-SK by by constructing κ(Ij, y′, r) in the last element-group as

And the contruction of the other element-groups follows the construction of SKHIBE,Sθ in RHIBE.GenKey.

The constructions from the normal component update key to the (ephemeral) semi-functional component update keys are similar to that of secret keys, expect that we change the first element group of normal component update key to different types.

UKeyESF-1 Let the correlative component key to the node θKUNode(RLID|j−1,T) be . It chooses random values and forms the ephemeral semi-functional secret key by changing the first element group as It chooses random values X3, Y3Gp3 and forms the component ESF-1-SK by changing the first element-group as

UKeyESF-2 Let the correlative component key to the node θKUNode(RLID|j−1,T) be . It chooses random values and forms the ephemeral semi-functional secret key by changing the first element group as

UKeyESF-3 It chooses chooses y′, rZp randomly, X2, Y2Gp2 randomly, and X3, Y3Gp3 randomly and forms the component seceret key ESF-3-UK by constructing κT(T, y′, r) of the first element-group as

And the contruction of the other element-groups follows the construction of RSKHIBE and SKIBE,Sθ in RHIBE.UpdateKey.

UKeyESF-4 It chooses chooses y′, rZp randomly, X2, Y2Gp2 randomly, and X3, Y3Gp3 randomly and forms the component ESF-4-UK by constructing κT(T, y′, r) in the first element-group as

And the contruction of the other element-groups follows the construction of RSKHIBE and SKIBE,Sθ in RHIBE.UpdateKey.

UKeyESF-5 It chooses chooses y′, rZp randomly, X2Gp2 randomly, and X3, Y3Gp3 randomly and forms the component ESF-5-UK by by constructing κT(T, y′, r) in the first element-group as

And the contruction of the other element-groups follows the construction of RSKHIBE and SKIBE,Sθ in RHIBE.UpdateKey.

DKeyESF-i The ephemeral semi-functional decryption key generation algorithm firstly retrieves θ* ∈ KUNode(RLID|j−1,T)⋂ Path(ID|j), and gets and which are the correlative subkey to the node θ* from UKeyESFi(T, STID|j−1, θ*) and SKeyESFi(ID|j, θ*), and then forms the ephemeral semi-functional decryption key as same as DeriveKeySF.

B Proof of lemmas

Lemma 1 Under Assumptions 3, no PPT attacker can distinguish between O0 and O1/2 with non-negligible advantage. So no PPT attacker can distinguish between Hhc−1,2 and Hhc,1 with non-negligible advantage.

Proof We assume interacts with one of O0, O1/2. receives g, g2, X1 X3, Y1 Y3, T. will simulate either O0 or O1/2 with , depending on the value of T (which is either in Gp1 or Gp1 p3). picks values a, b, c, d, a0, b0, c0, d0ZN uniformly at random and sets u = ga, h = gb, v = gc, w = gd, , , , . initially obtains the group elements (82) from its oracle simulator who additionally chooses randomly.

We note that these are properly distributed, with y modulo p1 implicitly set to the discrete logarithm of X1 base g modulo p1, equal to d modulo p2 and p3, y0 modulo p1 implicitly set to the discrete logarithm of Y1 base g modulo p1, equal to d0 modulo p2 and p3, and σ equal to c modulo p2 and p3. Note that the values of c modulo p1, p2, p3 are uncorrelated from each other by the Chinese Remainder Theorem, and v = gc only involves the value of c modulo p1.

chooses αZn randomly, and gives the following public parameters: (83)

We note that knows the master secret key α. When requests a normal update key or a normal decryption key, can responds by using the usual key generation algorithm, since it knows α. And also can respond the semi-functional keys according to the group elements in Eq 82 that have been offered by the oracle simulator.

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. When makes a ciphertext-type query for some identity I*, responds by choosing a random tZN and returning to as same as Eq 6. When makes a ciphertext-type query for some time T*, responds by choosing a random t0ZN and returning as same as Eq 7 to . Then creats the semi-functional ciphertexts as

When creats the HIBE private key with the index pair (h, ic) for some identity vector (I1, ⋯, Ij) in the index h node, the HIBE private key with an index pair (h, ic) is generated as follows:

  1. ic < hc: It randomly chooses y1, ⋯, yj, and generates a ESF-2-SK SKHIBE,θh.
    It implicitly sets to be and that is a properly distribution ESF-2-SK.
  2. ic = hc: chooses random values y1, ⋯, yj−1, λ1, ⋯, λj−1, r1, ⋯, rj−1Zn. forms the challenge key as: where (T0, T1, T2, T3) is the challenge HIBE key queried to who chooses a random y0ZN and returns (T0, T1, T2, T3) = (wy, gy, vy TaI+b, T) to .
  3. ic > hc: It simply generates a normal HIBE private key.

In the challenge HIBE key, it implicitly sets gr to be the Gp1 part of T. If TGp1, then this matches the distribution of O0 (since there are no Gp3 terms here), and so this will be a properly distributed normal key and is playing Game Hhc−1,2. If TGp1p3, then this matches the distribution of O1/2 (note that a, b modulo p2 are uniformly random and do not occur elsewhere- so there are random Gp3 terms attached to the last two group elements) and then is playing Game Hhc,1.

Hence, if a PPT attacker can distinguish between Hhc−1,2 and Hhc,1 with non-negligible advantage, can distinguish between O0 and O1/2 with non-negligible advantage. It means can gain a non-negligible advantage against Assumption 3.

Thus, under Assumptions 3, no PPT attacker can distinguish between O0 and O1/2 with non-negligible advantage and no PPT attacker can distinguish between Hhc−1,2 and Hhc,1 with non-negligible advantage.

Lemma 2 Under Assumptions 4, no PPT attacker can distinguish between O1/2 and O1 with non-negligible advantage. So no PPT attacker can distinguish between Hhc,1 and Hhc,2 with non-negligible advantage.

Proof We assume interacts with one of O1/2, and O1. receives g, g3, X1 X2, Y2 Y3, T. will simulate either O1/2 or O1 with , depending on the value of T (which is either in G or Gp1p3). picks values a, b, c, d, a0, b0, c0, d0ZN uniformly at random and sets u = ga, h = gb, v = gc, w = gd, , , , . initially obtains the group elements (84) from its oracle simulator, where y, ψ1, ψ2, σ1, σ2Zp are randomly chosen. It chooses αZn randomly, and gives the public parameters in Eq 83.

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. In response to each query for , responds to by choosing a random tiZN. In response to the query for T*, responds to by choosing a random t0ZN. Then creats the semi-functional ciphertexts successfully.

When creats the HIBE private key with the index pair (h, ic) for some identity vector (I1, ⋯, Ij) in the index h node, the HIBE private key with an index pair (h, ic) is generated as follows:

  1. ic < hc: chooses random values y1, ⋯, yj, λ1, ⋯, λj−1, r1, ⋯, rj, z, z′ ∈ Zn and generates a ESF-2 PSKHIBE,h.
  2. ic = hc: chooses random values y1, ⋯, yj−1, λ1, ⋯, λj−1, r1, ⋯, rj−1Zn. forms the challenge key as: where (T0, T1, T2, T3) is the challenge HIBE key queried to who chooses a random y0ZN and returns (T0, T1, T2, T3) = (wy, gy, vy TaI+b, T) to .
  3. ic > hc: It simply generates a normal HIBE private key.

As in the previous lemma, this implicitly sets gr to be the Gp1 part of T in the challenge HIBE key. We note that a, b modulo p2,p3 are uniformly random and do not appear elsewhere. Thus, when TGp1p3, these last two terms will have random elements of Gp3 attached (matching the distribution of O1/2) and then is playing Game Hhc,1. And when TG, these last two terms will have random elements in both Gp3 and Gp2 attached (matching the distribution of O1) and then is playing Game Hhc,2.

Hence, if a PPT attacker can distinguish between Hhc,1 and Hhc,2 with non-negligible advantage, can distinguish between O1/2 and O1 with non-negligible advantage. It means can gain a non-negligible advantage against Assumption 4.

Thus, Under Assumptions 4, no PPT attacker can distinguish between O1/2 and O1 with non-negligible advantage. Thus, no PPT attacker can distinguish between Hhc,1 and Hhc,2 with non-negligible advantage.

Lemma 3 Under Assumptions 3, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between Sk−1,1 and Sk,2 with non-negligible advantage.

Proof We assume interacts with one of . receives g, g2, X1 X3, Y1 Y3, T. will simulate either or with , depending on the value of T (which is either in Gp1 or Gp1 p3). initially obtains the group elements in Eq 82 from its oracle simulator. It chooses αZn randomly, and gives the public parameters in Eq 83. B can responds by using the normal update key generation and the normal decryption key derivation algorithm, since it knows α.

When makes a secret key query for the identity ID|j = (I1, ⋯, Ij), then makes its challenge HIBE-key-type query for Ij, responds as follows. It chooses y′, r, r1, r2ZN randomly and responds with:

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. In response to each query for or T*, gets random t0, t1, …, tlZp, chooses β ∈ {0, 1} and creats the ciphertext as where the ciphertext-element-group (Ci,1, Ci,2, Ci,3) is defined as follows:

  1. i < k: If i = 0, and responds with the ciphertext-element-group , else the element group is ;
  2. i = k: The ciphertext-element-group is (T1, T3, T2) = ;
  3. i > k: The ciphertext-element-group is .

We must now argue that the challenge key-type query and the kth ciphertext-type query responses are properly distributed. If TGp1, then the response to the k ciphertext type query is identically distributed to a response from O1, and the values a, b modulo p3 only appear in the response to the challenge key-type query, hence the Gp3 parts on the last two group elements here appear random in Gp3. This will be a properly distributed EST-2k−1-CT which means that the responses of properly simulate the responses of and is playing Game Sk−1,1.

If TGp1 p3, then we must argue that aI + b and both appear to be uniformly random modulo p3: this follows from pairwise independence of the function aI + b modulo p3, since we have restricted the Type-1 adversary to choose I and so that modulo p3. This means that the Gp3 components on the last two group elements of the challenge key-type query response and on the k ciphertext-type query response are uniformly random in the attacker’s view. In this case, has produced a properly distributed EST-3k-CT which means that has properly simulated the responses of and is playing Game Sk,2.

Particularly, we need overcome the paradox in the game hopping from Game Sqc−1,1 to Game Sqc,2 since the simulator can derive a decryption key and check whether the ciphertext is normal or semi-functional by being decrypted by the semi-functional derived decryption key from secret keys and update keys. For the game hopping from Game Sqc−1,1 to Game Sqc,2, no matter whether TGp1p3 or TGp1, the cipertext- element-group (T1, T3, T2) can be decrypted by the decryption key derived from the ESF-2-SK and normal update key. So the paradox is overcame successfully. (The other paradox need to overcome is in the game hopping from Game Lqc−1,1 to Game Lqc,2. In Lamma 23, the paradox can be overcame In the same way.)

Hence, if a PPT attacker can distinguish any pair between Sk−1,1 and Sk,2 with non-negligible advantage, can distinguish the corresponding pair between and with non-negligible advantage. It means can use the output of to achieve a non-negligible advantage against Assumption 3.

Thus, Under Assumptions 3, no PPT attacker can distinguish between and with non-negligible advantage. Thus, no PPT attacker can distinguish between Sk−1,1 and Sk,2 with non-negligible advantage.

Lemma 4 Under Assumptions 4, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between Sk,2 and Sk,3 with non-negligible advantage.

Proof We assume interacts with one of . receives g, g3, X1 X2, Y2 Y3, T. will simulate either or with , depending on the value of T (which is either in G or Gp1 p3). picks values a, b, c, d, a0, b0, c0, d0ZN uniformly at random and sets u = ga, h = gb, v = gc, w = gd, , , , . initially obtains the group elements (85) from its oracle simulator where z, y0, y, ψZp are randomly chosen. These are properly distributed, with gs = X1 and . Note that this sets σ1 equal to c modulo p2 and p3 and σ2 equal to c0 modulo p2 and p3. It chooses αZn randomly, and gives the following public parameters in Eq 83. We note that knows the master secret key α. When requests a normal update key or a normal decryption key, can responds by using the usual key generation algorithm, since it knows α.

When makes a secret key query for the identity ID|j = (I1, ⋯, Ij), then makes its challenge HIBE-key-type query for Ij, responds as follows. It chooses y′, r, r1, r2ZN randomly and responds with:

This has uniformly random terms in Gp2 and Gp3 on the last two elements, since r1, r2 are both uniformly random modulo p2 and p3.

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. In response to each query for or T*, gets random , chooses β ∈ {0, 1} and creats the ciphertext as where the ciphertext-element-group (Ci,1, Ci,2, Ci,3) is defined as follows:

  1. i < k: If i = 0, the ciphertext-element-group is else the ciphertext-element-group is
    This sets and , which is uniformly random because the value of d and d0 modulo p2 will not appear elsewhere. It implicitly sets . This is identically distributed to a response from O2, with a′, b′ equal to a, b modulo p2, and σ1 = c modulo p2, σ2 = c0 modulo p2. We note that this is in the only context in which the values of a, b modulo p2 appear, so this is equivalent to choosing a′, b′ independently at random.
  2. i = k: If k = 0, the ciphertext-element-group is (T1, T3, T2) = ; If k > 0, the ciphertext-element-group is (T1, T3, T2) = ;
  3. i > k: The ciphertext-element-group is .

If TGp1p3, then the response for ciphertext-type query i is identically distributed to a response from .

In this case, has produced a properly distributed EST-3k-CT and is playing Game Sk,2.

If TG, then this response additionally has terms in Gp2 which are appropriately distributed with c = σ1, a = a′, b = b′ modulo p2 or c0 = σ2.a0 = a′, b0 = b′ modulo p2. Thus, the response is identically distributed to a response from . In this case, has produced a properly distributed EST-4k-CT and is playing Game Sk,3.

Hence, if a PPT attacker can distinguish any pair between Sk,2 and Sk,3 with non-negligible advantage, can distinguish the corresponding pair between and with non-negligible advantage. It means can use the output of to achieve a non-negligible advantage against Assumption 4.

Thus, Under Assumptions 4, no PPT attacker can distinguish between and with non-negligible advantage. Thus, no PPT attacker can distinguish between Sk,2 and Sk,3 with non-negligible advantage.

Lemma 5 Under Assumptions 3, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between Sk,3 and Sk,1 with non-negligible advantage.

Proof We assume interacts with one of . receives g, g2, X1 X3, T. will simulate either or with , depending on the value of T (which is either in Gp1 or Gp1p3). initially obtains the group elements in Eq 82 from its oracle simulator. It chooses αZn randomly, and gives the public parameters in Eq 83. B can responds by using the normal update key generation and the normal decryption key derivation algorithm, since it knows α.

When makes a secret key query for the identity ID|j = (I1, ⋯, Ij), then makes its challenge HIBE-key-type query for Ij, responds as follows. It chooses y′, r, r1, r2ZN randomly and responds with:

We note that the Gp2 parts here are uniformly random.

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. In response to each query for or T*, gets random t0, t1, …, tlZp, chooses β ∈ {0, 1} and creats the ciphertext as where the ciphertext-element-group (Ci,1, Ci,2, Ci,3) is defined as follows:

  1. i < k: If i = 0, responds with the ciphertext-element-group , else the element group is . This is identically distributed to a response from O2.
  2. i = k: choses zZp randomly and responds with the ciphertext-element-group (T1, T3, T2) = if k > 0. Else if k = 0, responds with . We note that the Gp2 parts here are properly distributed, since σ1 = c modulo p2 and σ2 = c0 modulo p2.
  3. i > k: The ciphertext-element-group is . This is identically distributed to a response from O1.

When TGp1 the values of a, b modulo p3 only appear in the response to the challenge key-type query, which means that the Gp3 terms on the last two group elements there are uniformly random. Also, the response to the kth ciphertext-type query is distributed exactly like a response from O2. In this case, has properly simulated the responses of and this will be a properly distributed EST-2k-CT and so is playing Game Sk,1.

When TGp1p3, we must argue that the values aI + b and appear uniformly random modulo p3: this follows by pairwise independence of aI + b as a function of I modulo p3, since we have restricted the Type-1 adversary to choose I and so that modulo p3 and a, b modulo p3 only appear in these two values. Hence, has produced a properly distributed EST-4k-CT and has properly simulated the response of in this case. So is playing Game Sk,3. We have thus shown that can use the output of to achieve non-negligible advantage against Assumption 3.

Hence, if a PPT attacker can distinguish any pair between Sk,3 and Sk,1 with non-negligible advantage, can distinguish the corresponding pair between and with non-negligible advantage. It means can use the output of to achieve a non-negligible advantage against Assumption 3.

Thus, Under Assumptions 3, no PPT attacker can distinguish between and with non-negligible advantage. Thus, no PPT attacker can distinguish between Sk,3 and Sk,1 with non-negligible advantage.

Lemma 6 Under Assumptions 3, no PPT attacker can distinguish between O2 and O5/2 with non-negligible advantage. So no PPT attacker can distinguish between Ehc−1,2 and Ehc,1 with non-negligible advantage.

Proof We assume interacts with one of O2 and O5/2. receives g, g2, X1 X3, Y1 Y3, T. will simulate either O2 and O5/2 with , depending on the value of T (which is either in Gp1 or Gp1 p3). picks values a, b, c, d, a0, b0, c0, d0ZN uniformly at random and sets u = ga, h = gb, v = gc, w = gd, , , , . initially obtains the group elements in Eq 82 from its oracle simulator who additionally chooses randomly.

chooses αZn randomly, and gives the public parameters in Eq 83. We note that knows the master secret key α. When requests a normal decryption key, can responds by using the usual key generation algorithm, since it knows α.

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. When makes a ciphertext-type query for some identity I*, responds by choosing a random tZN and returning to as same as Eq 10. When makes a ciphertext-type query for some time T*, responds by choosing a random t0ZN and returning as same as Eq 11 to . Then creats the ESF-1 ciphertexts successfully.

When requests the secret key of an identity vector ID|j = (I1, ⋯, Ij), creats the ESF-2-SK key by the HIBE-type query response from and the secret key for ID|j in some node θ is where y1, ⋯, yj, are randomly chosen.

When creats the IBE private key with the index pair (h, ic) for some time for the identity vector (I1, ⋯, Ij−1) in the index h node, the update key with an index pair (h, ic) is generated as follows:

  1. ic < hc: It randomly chooses y0, ⋯, yj−1, λ1, ⋯, λj−1, , z, z′ ∈ Zn and generates a ESF-2-UK TUKID|l,T,θh.
    It implicitly sets to be and that is a properly distribution ESF-2-UK.
  2. ic = hc: chooses random values y1, ⋯, yj−1, λ1, ⋯, λj−1, r1, ⋯, rj−1Zn. forms the challenge key as: where (T0, T1, T2, T3) is the challenge IBE key queried to who chooses a random y0ZN and returns (T0, T1, T2, T3) = to .
  3. ic > hc: It simply generates a normal IBE private key.

In the challenge IBE key, it implicitly sets gr to be the Gp1 part of T. If TGp1, then this matches the distribution of O0 (since there are no Gp3 terms here), and so this will be a properly distributed normal key and is playing Game Ehc−1,2. If TGp1p3, then this matches the distribution of O1/2 (note that a, b modulo p2 are uniformly random and do not occur elsewhere- so there are random Gp3 terms attached to the last two group elements) and then is playing Game Ehc,1.

Hence, if a PPT attacker can distinguish between Ehc−1,2 and Ehc,1 with non-negligible advantage, can distinguish between O2 and O5/2 with non-negligible advantage. It means can gain a non-negligible advantage against Assumption 3.

Thus, Under Assumptions 3, no PPT attacker can distinguish between O2 and O5/2 with non-negligible advantage. Thus, no PPT attacker can distinguish between Ehc−1,2 and Ehc,1 with non-negligible advantage.

Lemma 7 Under Assumptions 4, no PPT attacker can distinguish between O5/2 and O3 with non-negligible advantage. So no PPT attacker can distinguish between Ehc,1 and Ehc,2 with non-negligible advantage.

Proof We assume interacts with one of O1/2, and O1. receives g, g3, X1 X2, Y2 Y3, T. will simulate either O1/2 or O1 with , depending on the value of T (which is either in G or Gp1p3). picks values a, b, c, d, a0, b0, c0, d0ZN uniformly at random and sets u = ga, h = gb, v = gc, w = gd, , , , . initially obtains the group elements in Eq 84 from its oracle simulator, and gives the public parameters in Eq 83.

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. When makes a ciphertext-type query for some identity I*, responds by choosing a random tZN and returning to as same as Eq 10. When makes a ciphertext-type query for some time T*, responds by choosing a random t0ZN and returning as same as Eq 11 to . Then creats the ESF-1 ciphertexts successfully.

When requests the secret key of an identity vector ID|j = (I1, ⋯, Ij), creats the ESF-2-SK key by the HIBE-type query response from and the secret key for ID|j in some node θ is where y1, ⋯, yj, are randomly chosen.

When creats the IBE private key with the index pair (h, ic) for a time T in the index h node in the binary tree BTID|j = (I1, ⋯, Ij−1), the update key with an index pair (h, ic) is generated as follows:

  1. ic < hc: chooses random values y1, ⋯, yj−1, λ1, ⋯, λj−1, r0, ⋯, rj−1, z, z′ ∈ Zn and generates a ESF-2 TUKIBE,h.
  2. ic = hc: chooses random values y1, ⋯, yj−1, λ1, ⋯, λj−1, r1, ⋯, rj−1Zn. forms the challenge key as: where (T0, T1, T2, T3) is the challenge IBE key queried to who chooses a random y0ZN and returns (T0, T1, T2, T3) = to .
  3. ic > hc: It simply generates a normal HIBE private key.

As in the previous lemma, this implicitly sets gr0 to be the Gp1 part of T in the challenge IBE key. We note that a0, b0 modulo p2, p3 are uniformly random and do not appear elsewhere. Thus, when TGp1p3, these last two terms will have random elements of Gp3 attached (matching the distribution of O5/2) and then is playing Game Ehc,1. And when TG, these last two terms will have random elements in both Gp3 and Gp2 attached (matching the distribution of O3) and then is playing Game Ehc,2.

Hence, if a PPT attacker can distinguish between Ehc,1 and Ehc,2 with non-negligible advantage, can distinguish between O5/2 and O3 with non-negligible advantage. It means can gain a non-negligible advantage against Assumption 4.

Thus, Under Assumptions 4, no PPT attacker can distinguish between O5/2 and O3 with non-negligible advantage. Thus, no PPT attacker can distinguish between Ehc,1 and Ehc,2 with non-negligible advantage.

Lemma 8 Under Assumptions 3, no PPT attacker can distinguish between O3 and O3.1 with non-negligible advantage. So no PPT attacker can distinguish between Fhc−1 and Fhc with non-negligible advantage.

Proof We assume interacts with one of O3, O3.1. receives g, g2, X1 X3, Y1 Y3, T. will simulate either O0 or O1/2 with , depending on the value of T (which is either in Gp1 or Gp1 p3). picks values a, b, c, d, a0, b0, c0, d0ZN uniformly at random and sets u = ga, h = gb, v = gc, w = gd, , , , . initially obtains the group elements in Eq 82 from its oracle simulator who additionally chooses randomly. chooses αZn randomly, and gives the following public parameters in Eq 83. We note that knows the master secret key α.

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. When makes a ciphertext-type query for some identity I*, responds by choosing a random tZN and returning to . When makes a ciphertext-type query for some time T*, responds by choosing a random t0ZN and returning to . Then creats the ESF-1 ciphertexts successfully.

Upon receiving a challenge IBE-key-type query for TZn, chooses r1, r2, r′, y″ ∈ Zn randomly and returns the group elements to . And then creats the ESF-2 update key by using the group elements.

When creats the HIBE private key with the index pair (h, ic) for some identity vector (I1, ⋯, Ij) in the index h node, the HIBE private key with an index pair (h, ic) is generated as follows:

  1. ic < hc: It randomly chooses , and generates a ESF-3-SK PSKHIBE,h.
    It implicitly sets to be and to be and that is a properly distribution ESF-3-SK.
  2. ic = hc: chooses random values y1, ⋯, yj−1, λ1, ⋯, λj−1, r1, ⋯, rj−1Zn. forms the challenge key as: where (T0, T1, T2, T3) is the challenge HIBE key queried to who chooses a random r, r1, r2ZN and returns (T0, T1, T2, T3) = to .
  3. ic > hc: It randomly chooses y1, ⋯, yj, and generates a ESF-2-SK PSKHIBE,h.
    It implicitly sets to be and that is a properly distribution ESF-2-SK.

In the challenge HIBE key, it implicitly sets gy to be the Gp1 part of T. If TGp1, then this matches the distribution of O3 (since there are no Gp3 terms here), and so this will be a properly distributed normal key and is playing Game Fhc−1. If TGp1p3, then this matches the distribution of O3.1 (note that a, b modulo p2 are uniformly random and do not occur elsewhere- so there are random Gp3 terms attached to the last two group elements) and then is playing Game Fhc.

Hence, if a PPT attacker can distinguish between Fhc−1 and Fhc with non-negligible advantage, can distinguish between O3 and O3.1 with non-negligible advantage. It means can gain a non-negligible advantage against Assumption 3.

Thus, Under Assumptions 3, no PPT attacker can distinguish between O3 and O3.1 with non-negligible advantage. Thus, no PPT attacker can distinguish between Fhc−1 and Fhc with non-negligible advantage.

Lemma 9 Under Assumptions 3, no PPT attacker can distinguish between O3.1 and O3.2 with non-negligible advantage. So no PPT attacker can distinguish between F1hc−1 and F1hc with non-negligible advantage.

Proof The proof of this lemma is almost the same as that of Lemma 8 except the generation of secret keys and update keys.

Upon receiving a challenge HIBE-key-type query for IZn, chooses r1, r2, r′, y″ ∈ Zn randomly and returns the group elements to . And then creats the ESF-3 update key by using the group elements.

When creats the IBE private key with the index pair (h, ic) for some identity vector (I1, ⋯, Ij−1) and the time T in the index h node, the IBE private key with an index pair (h, ic) is generated as follows:

  1. ic < hc: It randomly chooses , and generates a ESF-3-UK EUKIBE,h.
    It implicitly sets to be and to be and that is a properly distribution ESF-3-UK.
  2. ic = hc: chooses random values y1, ⋯, yj−1, λ1, ⋯, λj−1, r1, ⋯, rj−1Zn. forms the challenge key as: where (T0, T1, T2, T3) is the challenge IBE key queried to who chooses a random r, r1, r2ZN and returns (T0, T1, T2, T3) = to .
  3. ic > hc: It randomly chooses y1, ⋯, yj, and generates a ESF-2-UK EUKIBE,h.
    It implicitly sets to be and that is a properly distribution ESF-2-UK.

In the challenge IBE key, it implicitly sets gy to be the Gp1 part of T. If TGp1, then this matches the distribution of O3.1 (since there are no Gp3 terms here), and so this will be a properly distributed normal key and is playing Game F1hc−1. If TGp1p3, then this matches the distribution of O3.2 (note that a, b modulo p2 are uniformly random and do not occur elsewhere- so there are random Gp3 terms attached to the last two group elements) and then is playing Game F1hc.

Hence, if a PPT attacker can distinguish between F1hc−1 and F1hc with non-negligible advantage, can distinguish between O3.1 and O3.2 with non-negligible advantage. It means can gain a non-negligible advantage against Assumption 3.

Thus, Under Assumptions 3, no PPT attacker can distinguish between O3.1 and O3.2 with non-negligible advantage. Thus, no PPT attacker can distinguish between F1hc−1 and F1hc with non-negligible advantage.

Lemma 10 Under Assumptions 4, no PPT attacker can distinguish between O3.2 and O3.3 with non-negligible advantage. So no PPT attacker can distinguish between GESF′−2 and GESF′−3 with non-negligible advantage.

Proof We assume interacts with one of O3.2, O3.3. receives g, g2, X1 X3, Y2 Y3, T. will simulate either O3.2 or O3.3 with , depending on the value of T (which is either in G or Gp1p2). picks values a, b, c, d, a0, b0, c0, d0ZN uniformly at random and sets u = ga, h = gb, v = gc, w = gd, , , , . It chooses random values σ1, σ2, y, y′, t3, zZN and then initially obtains the group elements (86)

We note that this sets ψ1 = d modulo p2 and p3. It implicitly sets gs to be the Gp1 part of T. If TGp1p2, this is distributed identically to the initial elements provided by O3.2. If TG, this is distributed identically to the initial elements provided by O3.3.

Upon receiving a challenge IBE-key-type query for TZn, chooses r1, r2, r′, y″ ∈ Zn randomly and returns the group elements to . And then creats the ESF-2 update key by using the group elements.

When creats the HIBE private key with the index pair (h, ic) for some identity vector (I1, ⋯, Ij) in the index h node, the HIBE private key with an index pair (h, ic) is generated as follows:

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. When makes a ciphertext-type query for some identity I*, responds by choosing a random tZN and returning to . When makes a ciphertext-type query for some time T*, responds by choosing a random t0ZN and returning to . Then creats the ESF-1 ciphertexts successfully.

Lemma 11 Under Assumptions 4, no PPT attacker can distinguish between O3.3 and O3.4 with non-negligible advantage. So no PPT attacker can distinguish between GESF′−3 and GESF′−4 with non-negligible advantage.

Proof We assume interacts with one of O3.3, O3.4. receives g, g3, X1 X2, Y2 Y3, T. will simulate either O3.3 or O3.4 with , depending on the value of T (which is either in G or Gp1 p3). picks values a, b, c, d, a0, b0, c0, d0ZN uniformly at random and sets u = ga, h = gb, v = gc, w = gd, , , , . initially obtains the group elements (87) from its oracle simulator who additionally chooses s, γ, y, y′, zZN randomly. We note that this is properly distributed and set ψ1 = d modulo p2 and p3, ψ2 = d0 modulo p2 and p3 and σ1 = c modulo p2 and p3, σ2 = c0 modulo p2 and p3.

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. When makes a ciphertext-type query for some identity I*, responds by choosing a random tZN and returning to . When makes a ciphertext-type query for some time T*, responds by choosing a random t0ZN and returning to . This implicitly sets . It also sets a′ = a and b′ = b modulo p2 or a′ = a0 and b′ = b0 modulo p2,

which are properly distributed because a, b modulo p2 and a0, b0 modulo p2 do not appear elsewhere. Then creats the ESF-5 ciphertexts successfully.

Upon receiving a challenge IBE-key-type query for TZn, chooses r, y′, zZn randomly and returns the group elements to . And then creats the ESF-3 update key by using the group elements.

When creats the HIBE private key with the index pair (h, ic) for some identity vector (I1, ⋯, Ij) in the index h node, the HIBE private key with an index pair (h, ic) is generated as follows:

  1. ic < hc: It randomly chooses y1, ⋯, yj, λ1, ⋯, λj−1, r1, ⋯, rj, z, z′ ∈ Zn and generates a ESF-4-SK PSKHIBE,h.
    That is a properly distribution ESF-4-SK.
  2. ic = hc: chooses random values y1, ⋯, yj−1, λ1, ⋯, λj−1, r1, ⋯, rj−1Zn. forms the challenge key as: where (T0, T1, T2, T3) is the challenge HIBE key queried to who chooses a random r, r1, r2ZN and returns (T0, T1, T2, T3) = to .
  3. ic > hc: It randomly chooses y1, ⋯, yj, λ1, ⋯, λj−1, r1, ⋯, rj, z, z′ ∈ Zn and generates a ESF-3-SK PSKHIBE,h.
    That is a properly distribution ESF-3-SK.

In the challenge HIBE key, it implicitly sets gy to be the Gp1 part of T. If TGp2p3, then this matches the distribution of O3.3, and so this will be a properly distributed normal key and is playing Game F3hc−1. If TG, then this matches the distribution of O3.4 and then is playing Game F3hc.

Hence, if a PPT attacker can distinguish between F3hc−1 and F3hc with non-negligible advantage, can distinguish between O3.3 and O3.4 with non-negligible advantage. It means can gain a non-negligible advantage against Assumption 4.

Thus, Under Assumptions 4, no PPT attacker can distinguish between O3.3 and O3.4 with non-negligible advantage. Thus, no PPT attacker can distinguish between F3hc−1 and F3hc with non-negligible advantage.

Lemma 12 Under Assumptions 4, no PPT attacker can distinguish between O3.4 and O3.5 with non-negligible advantage. So no PPT attacker can distinguish between GESF′−4 and GESF′−5 with non-negligible advantage.

Proof The proof of this lemma is almost the same as that of Lemma 11 except the generation of secret keys and update leys.

Upon receiving a challenge HIBE-key-type query for IZn, chooses r, y′, z, z′ ∈ Zn randomly and returns the group elements to . And then creats the ESF-4 secret key by using the group elements.

When creats the IBE private key with the index pair (h, ic) for some time for the identity vector (I1, ⋯, Ij−1) in the index h node, the update key with an index pair (h, ic) is generated as follows:

  1. ic < hc: It randomly chooses y1, ⋯, yj, λ1, ⋯, λj−1, r0, ⋯, rj−1, z, z′ ∈ Zn and generates a ESF-4-UK TUKIBE,h.
    That is a properly distribution ESF-4-UK.
  2. ic = hc: chooses random values y1, ⋯, yj−1, λ1, ⋯, λj−1, r1, ⋯, rj−1Zn. forms the challenge key as: where (T0, T1, T2, T3) is the challenge IBE key queried to who chooses a random r, r1, r2ZN and returns (T0, T1, T2, T3) = to .
  3. ic > hc: It randomly chooses y0, y1, ⋯, yj−1, λ1, ⋯, λj−1, r1, ⋯, rj, z, z′ ∈ Zn and generates a ESF-3-UK TUKIBE,h.
    That is a properly distribution ESF-3-UK.

In the challenge IBE key, it implicitly sets gy to be the Gp1 part of T. If TGp2 p3, then this matches the distribution of O3.4, and so this will be a properly distributed normal key and is playing Game F4hc−1. If TG, then this matches the distribution of O3.5 and then is playing Game F4hc.

Hence, if a PPT attacker can distinguish between F4hc−1 and F4hc with non-negligible advantage, can distinguish between O3.4 and O3.5 with non-negligible advantage. It means can gain a non-negligible advantage against Assumption 4.

Thus, Under Assumptions 4, no PPT attacker can distinguish between O3.4 and O3.5 with non-negligible advantage. Thus, no PPT attacker can distinguish between F4hc−1 and F4hc with non-negligible advantage.

Lemma 13 Under Assumptions 4, no PPT attacker can distinguish between O3.5 and O3.6 with non-negligible advantage. So no PPT attacker can distinguish between GESF′−5 and GESF′−6 with non-negligible advantage.

Proof We assume interacts with one of O3.5, O3.6. receives g, g2, X1 X3, Y2 Y3, T. will simulate either O3.5 or O3.6 with , depending on the value of T (which is either in G or Gp1p2). picks values a, b, c, d, a0, b0, c0, d0ZN uniformly at random and sets u = ga, h = gb, v = gc, w = gd, , , , . initially obtains the group elements (88) from its oracle simulator where z, y0, y, σ1, σ2Zp are randomly chosen. We note that this set ψ = d modulo p2 and p3. If TGp1p2, then this matches the initial elements provided by O3.6. If TG, then this matches the initial elements provided by O3.5. It chooses αZn randomly, and gives the following public parameters in Eq 83. We note that knows the master secret key α. When requests a normal update key or a normal decryption key, can responds by using the usual key generation algorithm, since it knows α.

When makes a secret key query for the identity ID|j = (I1, ⋯, Ij), then makes its challenge HIBE-key-type query for Ij, responds as follows. It chooses y′, r, r1, r2ZN randomly and responds with:

And then creats the ESF-4 secret key by using the group elements.

Upon receiving a challenge IBE-key-type query for TZn, chooses y′, r, r1, r2ZN randomly and responds with: to . And then creats the ESF-4 update key by using the group elements.

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. In response to each query for or T*, gets random t0, t1, …, tlZp, chooses β ∈ {0, 1} and creats the ciphertext as where the ciphertext-element-group (Ci,1, Ci,2, Ci,3) is defined as follows if i > 0: and (C0,1, C0,2, C0,3) is defined as follows

We note that this is very similar to the way behaves in the proof of Lemma 12. The only difference is the terms which have been added to the challenge key. As in the proof of Lemma 12, we have that if TG, the Gp3 components of the challenge ciphertext are properly distributed as in a response from O3.5, since the value of c modulo p3 is not revealed by the challenge key-type response (it is hidden by the random term ). Also as in the proof of Lemma 12, we have that the Gp2 components of the ciphertext-type responses are properly distributed. Thus, if TGp1p2, has properly simulated the responses of O3.6, and when TG, has properly simulated the responses of O3.6.

Hence, if a PPT attacker can distinguish any pair between GESF′−5 and GESF′−6 with non-negligible advantage, can distinguish the corresponding pair between O3.5 and O3.6 with non-negligible advantage. It means can use the output of to achieve a non-negligible advantage against Assumption 4.

Thus, Under Assumptions 4, no PPT attacker can distinguish between O3.5 and O3.6 with non-negligible advantage. Thus, no PPT attacker can distinguish between GESF′−5 and GESF′−6 with non-negligible advantage.

Lemma 14 Under Assumptions 4, no PPT attacker can distinguish between O3.6 and O7/2′ with non-negligible advantage. So no PPT attacker can distinguish between F6i−1,2 and F6i,1 with non-negligible advantage.

Proof We assume interacts with one of O3.6 and O7/2′. receives g, g3, X1 X2, Y2 Y3, T. will simulate either O3.6 and O7/2′ with , depending on the value of T (which is either in G or Gp1 p3). picks values a, b, c, d, a0, b0, c0, d0ZN uniformly at random and sets u = ga, h = gb, v = gc, w = gd, , , , . initially obtains the group elements (89) from its oracle simulator who additionally chooses ψ1, ψ2, σ1, σ2, y, y′ ∈ ZN randomly. These are properly distributed with gs implicitly set to be X1.

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. When makes a ciphertext-type query for some identity , responds by choosing a random and returning to . When makes a ciphertext-type query for some time T*, responds by choosing a random t0ZN and returning to . This sets and , which is uniformly random because the value of d and d0 modulo p2 will not appear elsewhere. It implicitly sets . This is identically distributed to a response from O6 and O7/2′, with a′, b′ equal to a, b modulo p2, and σ1 = c modulo p2, σ2 = c0 modulo p2. We note that this is in the only context in which the values of a, b modulo p2 appear, so this is equivalent to choosing a′, b′ independently at random. Then creats the ESF-1 ciphertexts successfully.

When requests the secret key of an identity vector ID|j = (I1, ⋯, Ij), creats the ESF-4-SK key by the HIBE-type query responses from who randomly chooses y1, ⋯, yj, λ1, ⋯, λj−1, r1, ⋯, rj, z, z′ ∈ Zn and generates a ESF-4-SK PSKHIBE,hθ for every θ

When creats the IBE private key with the index pair (h, ic) for some time for the identity vector (I1, ⋯, Ij−1) in the index h node, the update key with an index pair (h, ic) is generated as follows:

  1. ic < hc: It randomly chooses y0, ⋯, yj−1, λ1, ⋯, λj−1, , z, z′ ∈Zn and generates a semi-functional update key TUKID|l,T,θh.
  2. ic = hc: chooses random values y1, ⋯, yj−1, λ1, ⋯, λj−1, r1, ⋯, rj−1Zn. forms the challenge key as: where (T0, T1, T2, T3) is the challenge IBE key queried to who chooses a random y0ZN and returns (T0, T1, T2, T3) = to .
  3. ic > hc: It generates a ESF-4-UK as where z, z′ ∈ Zp are randomly chosen.

In the challenge IBE key, it implicitly sets gr to be the Gp1 part of T. We note that a0, b0 modulo p2,p3 are uniformly random and do not appear elsewhere. If TGp1p3, then this matches the distribution of O6, and so this will be a properly distributed normal key and is playing Game F6hc−1,2. If TG, then this matches the distribution of O7/2′ (note random Gp3 terms attached to the last two group elements) and then is playing Game F6hc,1.

Hence, if a PPT attacker can distinguish between F6hc−1,2 and F6hc,1 with non-negligible advantage, can distinguish between O6 and O7/2′ with non-negligible advantage. It means can gain a non-negligible advantage against Assumption 4.

Thus, Under Assumptions 4, no PPT attacker can distinguish between O6 and O7/2′ with non-negligible advantage. Thus, no PPT attacker can distinguish between F6hc−1,2 and F6hc,1 with non-negligible advantage.

Lemma 15 Under Assumptions 3, no PPT attacker can distinguish between O7/2′ and with non-negligible advantage. So no PPT attacker can distinguish between F6i,1 and F6i,2 with non-negligible advantage.

Proof We assume interacts with one of O7/2′, and . receives g, g2, X1 X3, T. will simulate either O7/2′ or with , depending on the value of T (which is either in Gp1 or Gp1p3). picks values a, b, c, d, a0, b0, c0, d0ZN uniformly at random and sets u = ga, h = gb, v = gc, w = gd, , , , . initially obtains the group elements (90) from its oracle simulator, and gives the public parameters in Eq 83.

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. When makes a ciphertext-type query for some identity I*, responds by choosing a random tZN and returning to as same as Eq 10. When makes a ciphertext-type query for some time T*, responds by choosing a random t0ZN and returning to . Then creats the ESF-1 ciphertexts successfully.

When requests the secret key of an identity vector ID|j = (I1, ⋯, Ij), creats the ESF-4-SK key by the HIBE-type query response from and the secret key for ID|j in some node θ is where , are randomly chosen.

When creats the IBE private key with the index pair (h, ic) for some time for the identity vector (I1, ⋯, Ij−1) in the index h node, the update key with an index pair (h, ic) is generated as follows:

  1. ic < hc: It randomly chooses , λ1, ⋯, λj−1, r0, r1, ⋯, rj−1, z, z′ ∈Zn and generates a semi-functional update key TUKID|l,T,θh
  2. ic = hc: chooses random values y1, ⋯, yj−1, λ1, ⋯, λj−1, r1, ⋯, rj−1Zn. forms the challenge key as: where (T0, T1, T2, T3) is the challenge IBE key queried to who chooses a random y0ZN and returns (T0, T1, T2, T3) = T). This implicitly sets gr to be the Gp1 part of T.
  3. ic > hc: It generates a ESF-4-UK as where z, z′ ∈ Zp are randomly chosen.

In the challenge IBE key, it implicitly sets to be the Gp1 part of T. We note that a0, b0 modulo p2,p3 are uniformly random and do not appear elsewhere. If TGp1p3, then this matches the distribution of O7/2′, and so this will be a properly distributed normal key and is playing Game F6hc,1. If TGp1, then this matches the distribution of and then is playing Game F6hc,2.

Hence, if a PPT attacker can distinguish between F6hc,1 and F6hc,2 with non-negligible advantage, can distinguish between O7/2′ and with non-negligible advantage. It means can gain a non-negligible advantage against Assumption 3.

Thus, Under Assumptions 3, no PPT attacker can distinguish between O7/2′ and with non-negligible advantage. Thus, no PPT attacker can distinguish between F6hc,1 and F6hc,2 with non-negligible advantage.

Lemma 16 Under Assumptions 3, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between and with non-negligible advantage.

Proof We assume interacts with one of . receives g, g2, X1 X3, T. will simulate either or with , depending on the value of T (which is either in Gp1 or Gp1 p3). initially obtains the group elements in Eq 82 from its oracle simulator.

When requests the secret key of an identity vector ID|j = (I1, ⋯, Ij), creats the ESF-4-SK key by the HIBE-type query response from and the secret key for ID|j in some node θ is where , are randomly chosen.

When requests the update key of an identity vector ID|j = (I1, ⋯, Ij) and the ime T, creats the UK key by the IBE-type query response from and the secret key for ID|j in some node θ is generated as follows: randomly chooses , λ1, ⋯, λj−1, r0, r1, ⋯, rj−1, z, z′ ∈Zn and generates a semi-functional update key TUKID|l,T,θh

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. In response to each query for or T*, gets random t0, t1, …, tlZp, chooses β ∈ {0, 1} and creats the ciphertext as where the ciphertext-element-group (Ci,1, Ci,2, Ci,3) is defined as follows:

  1. i < k: If i = 0, responds with the ciphertext-element-group , else the element group is . This is identically distributed to a response from O2.
  2. i = k: choses zZp randomly and responds with the ciphertext-element-group (T1, T3, T2) = if k > 0. Else if k = 0, responds with . We note that the Gp2 parts here are properly distributed, since σ1 = c modulo p2 and σ2 = c0 modulo p2.
  3. i > k: The ciphertext-element-group is . This is identically distributed to a response from O1.

When TGp1 the values of a, b modulo p3 only appear in the response to the challenge key-type query, which means that the Gp3 terms on the last two group elements there are uniformly random. Also, the response to the kth ciphertext-type query is distributed exactly like a response from O2. In this case, has properly simulated the responses of and this will be a properly distributed EST-2k-CT and so is playing Game .

When TGp1p3, we must argue that the values aI + b and appear uniformly random modulo p3: this follows by pairwise independence of aI + b as a function of I modulo p3, since we have restricted the Type-1 adversary to choose I and so that modulo p3 and a, b modulo p3 only appear in these two values. Hence, has produced a properly distributed EST-4k-CT and has properly simulated the response of in this case. So is playing Game . We have thus shown that can use the output of to achieve non-negligible advantage against Assumption 3.

Hence, if a PPT attacker can distinguish any pair between and with non-negligible advantage, can distinguish the corresponding pair between and with non-negligible advantage. It means can use the output of to achieve a non-negligible advantage against Assumption 3.

Thus, Under Assumptions 3, no PPT attacker can distinguish between and with non-negligible advantage. Thus, no PPT attacker can distinguish between and with non-negligible advantage.

Lemma 17 Under Assumptions 4, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between and with non-negligible advantage.

Proof We assume interacts with one of . receives g, g3, X1 X2, Y2 Y3, T. will simulate either or with , depending on the value of T (which is either in G or Gp1 p3). picks values a, b, c, d, a0, b0, c0, d0ZN uniformly at random and sets u = ga, h = gb, v = gc, w = gd, , , , . initially obtains the group elements in Eq 85 from its oracle simulator where z, y0, y, ψZp are randomly chosen.

When makes a secret key query for the identity ID|j = (I1, ⋯, Ij), then makes its challenge HIBE-key-type query for Ij, chooses r, y′, z, z′ ∈ Zn randomly and returns the group elements to . And then creats the ESF-4 secret key by using the group elements.

Upon receiving a challenge IBE-key-type query for TZn, chooses r0, y0Zn randomly and returns the group elements to . And then creats the semi-functional update key by using the group elements.

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. In response to each query for or T*, gets random , chooses β ∈ {0, 1} and creats the ciphertext as where the ciphertext-element-group (Ci,1, Ci,2, Ci,3) is defined as follows:

  1. i < k: If i = 0, the ciphertext-element-group is else the ciphertext-element-group is
    This sets and , which is uniformly random because the value of d and d0 modulo p2 will not appear elsewhere. It implicitly sets . This is identically distributed to a response from O2, with a′, b′ equal to a, b modulo p2, and σ1 = c modulo p2, σ2 = c0 modulo p2. We note that this is in the only context in which the values of a, b modulo p2 appear, so this is equivalent to choosing a′, b′ independently at random.
  2. i = k: If k = 0, the ciphertext-element-group is (T1, T3, T2) = ; If k > 0, the ciphertext-element-group is (T1, T3, T2) = ;
  3. i > k: The ciphertext-element-group is .

If TGp1p3, then the response for ciphertext-type query i is identically distributed to a response from .

In this case, has produced a properly distributed EST-3k-CT and is playing Game .

If TG, then this response additionally has terms in Gp2 which are appropriately distributed with c = σ1, a = a′, b = b′ modulo p2 or c0 = σ2.a0 = a′, b0 = b′ modulo p2. Thus, the response is identically distributed to a response from . In this case, has produced a properly distributed EST-4k-CT and is playing Game .

Hence, if a PPT attacker can distinguish any pair between and with non-negligible advantage, can distinguish the corresponding pair between and with non-negligible advantage. It means can use the output of to achieve a non-negligible advantage against Assumption 4.

Thus, Under Assumptions 4, no PPT attacker can distinguish between and with non-negligible advantage. Thus, no PPT attacker can distinguish between and with non-negligible advantage.

Lemma 18 Under Assumptions 3, no PPT attacker can distinguish between and with non-negligible advantage. So no PPT attacker can distinguish between and with non-negligible advantage.

Proof We assume interacts with one of . receives g, g2, X1 X3, Y1 Y3, T. will simulate either or with , depending on the value of T (which is either in Gp1 or Gp1 p3). initially obtains the group elements in Eq 82 from its oracle simulator. It chooses αZn randomly, and gives the public parameters in Eq 83. B can responds by using the normal update key generation and the normal decryption key derivation algorithm, since it knows α.

When requests the secret key of an identity vector ID|j = (I1, ⋯, Ij), creats the ESF-4-SK key by the HIBE-type query response from and the secret key for ID|j in some node θ is where , are randomly chosen.

When requests the update key of an identity vector ID|j = (I1, ⋯, Ij) and the ime T, creats the UK key by the IBE-type query response from and the secret key for ID|j in some node θ is generated as follows: randomly chooses , λ1, ⋯, λj−1, r0, r1, ⋯, rj−1, z, z′ ∈Zn and generates a semi-functional update key TUKID|l,T,θh

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. In response to each query for or T*, gets random t0, t1, …, tlZp, chooses β ∈ {0, 1} and creats the ciphertext as where the ciphertext-element-group (Ci,1, Ci,2, Ci,3) is defined as follows:

  1. i < k: If i = 0, and responds with the ciphertext-element-group , else the element group is ;
  2. i = k: The ciphertext-element-group is (T1, T3, T2) = ;
  3. i > k: The ciphertext-element-group is .

We must now argue that the challenge key-type query and the kth ciphertext-type query responses are properly distributed. If TGp1, then the response to the k ciphertext type query is identically distributed to a response from O1, and the values a, b modulo p3 only appear in the response to the challenge key-type query, hence the Gp3 parts on the last two group elements here appear random in Gp3. This will be a properly distributed EST-2k−1-CT which means that the responses of properly simulate the responses of and is playing Game .

If TGp1 p3, then we must argue that aI + b and both appear to be uniformly random modulo p3: this follows from pairwise independence of the function aI + b modulo p3, since we have restricted the Type-1 adversary to choose I and so that modulo p3. This means that the Gp3 components on the last two group elements of the challenge key-type query response and on the k ciphertext-type query response are uniformly random in the attacker’s view. In this case, has produced a properly distributed EST-3k-CT which means that has properly simulated the responses of and is playing Game .

Hence, if a PPT attacker can distinguish any pair between and with non-negligible advantage, can distinguish the corresponding pair between and with non-negligible advantage. It means can use the output of to achieve a non-negligible advantage against Assumption 3.

Thus, Under Assumptions 3, no PPT attacker can distinguish between and with non-negligible advantage. Thus, no PPT attacker can distinguish between and with non-negligible advantage.

Lemma 19 Under Assumptions 4, no PPT attacker can distinguish between and O7/2 with non-negligible advantage. So no PPT attacker can distinguish between Ihc−1,2 and Ihc,1 with non-negligible advantage.

Proof We assume interacts with one of . receives g, g3, X1 X2, Y2 Y3, T. will simulate either or O7/2 with , depending on the value of T (which is either in G or Gp1p3). picks values a, b, c, d, a0, b0, c0, d0ZN uniformly at random and sets u = ga, h = gb, v = gc, w = gd, , , , . initially obtains the group elements in Eq 89 from its oracle simulator who additionally chooses ψ1, ψ2, σ1, σ2, y, y′ ∈ ZN randomly. These are properly distributed with gs implicitly set to be X1.

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. When makes a ciphertext-type query for some identity , responds by choosing a random and returning to . When makes a ciphertext-type query for some time T*, responds by choosing a random t0ZN and returning to . (Note that this implicitly sets and , which is uniformly random because the value of d and d0 modulo p2 does not occur elsewhere.) Then creats the semi-functional ciphertexts successfully.

Upon receiving a challenge IBE-key-type query for TZn, chooses r0, y0Zn randomly and returns the group elements to . And then creats the semi-functional update key by using the group elements.

When creats the HIBE private key with the index pair (h, ic) for the identity vector (I1, ⋯, Ij−1) in the index h node, the secret key with an index pair (h, ic) is generated as follows:

  1. ic < hc: It randomly chooses y1, ⋯, yj, λ1, ⋯, λj−1, r1, ⋯, rj, z, z′ ∈Zn and generates a semi-functional secret key TUKID|l,T,θh.
  2. ic = hc: chooses random values y1, ⋯, yj−1, λ1, ⋯, λj−1, r1, ⋯, rj−1Zn. forms the challenge key as: where (T0, T1, T2, T3) is the challenge HIBE key queried to who chooses a random yjZN and returns (T0, T1, T2, T3) = to .
  3. ic > hc: It generates a ESF-4-SK as where z, z′ ∈ Zp are randomly chosen.

In the challenge HIBE key, it implicitly sets to be the Gp1 part of T. We note that a, b modulo p2,p3 are uniformly random and do not appear elsewhere. If TGp1 p3, then this matches the distribution of , and so this will be a properly distributed ESF-4-SK key and is playing Game Ihc−1,2. If TG, then this matches the distribution of O7/2 (note random Gp3 terms attached to the last two group elements) and then is playing Game Ihc,1.

Hence, if a PPT attacker can distinguish between Ihc−1,2 and Ihc,1 with non-negligible advantage, can distinguish between and O7/2 with non-negligible advantage. It means can gain a non-negligible advantage against Assumption 4.

Thus, Under Assumptions 4, no PPT attacker can distinguish between and O7/2 with non-negligible advantage. Thus, no PPT attacker can distinguish between Ihc−1,2 and Ihc,1 with non-negligible advantage.

Lemma 20 Under Assumptions 3, no PPT attacker can distinguish between O7/2 and O4 with non-negligible advantage. So no PPT attacker can distinguish between Ihc,1 and Ihc,2 with non-negligible advantage.

Proof We assume interacts with one of O7/2, and O4. receives g, g2, X1 X3, T. will simulate either O7/2 or O4 with , depending on the value of T (which is either in Gp1 or Gp1 p3). picks values a, b, c, d, a0, b0, c0, d0ZN uniformly at random and sets u = ga, h = gb, v = gc, w = gd, , , , . initially obtains the group elements in Eq 90 from its oracle simulator, and gives the public parameters in Eq 83.

When requests the challenge ciphertext for messages M0, M1, identity vector and T*, makes a ciphertext-type query to the oracle for each and T*. When makes a ciphertext-type query for some identity I*, responds by choosing a random tZN and returning to . When makes a ciphertext-type query for some time T*, responds by choosing a random t0ZN and returning to . Then creats the semi-functional ciphertexts successfully.

Upon receiving a challenge IBE-key-type query for TZn, chooses randomly and returns the group elements to . And then creats the semi-functional update key by using the group elements.

When creats the HIBE private key with the index pair (h, ic) for the identity vector (I1, ⋯, Ij−1) in the index h node, the secret key with an index pair (h, ic) is generated as follows:

  1. ic < hc: It randomly chooses , λ1, ⋯, λj−1, r1, ⋯, rj, z, z′ ∈Zn and generates a semi-functional secret key PSKID|j,θh
  2. ic = hc: chooses random values y1, ⋯, yj−1, λ1, ⋯, λj−1, r1, ⋯, rj−1Zn. forms the challenge key as: where (T0, T1, T2, T3) is the challenge HIBE key queried to who chooses a random and returns (T0, T1, T2, T3) = T). This implicitly sets to be the Gp1 part of T.
  3. ic > hc: It generates a ESF-4-SK as where z, z′ ∈ Zp are randomly chosen.

In the challenge HIBE key, it implicitly sets to be the Gp1 part of T. We note that a, b modulo p2,p3 are uniformly random and do not appear elsewhere. If TGp1 p3, then this matches the distribution of O7/2, and so this will be a properly distributed normal key and is playing Game Ihc,1. If TGp1, then this matches the distribution of O4 and then is playing Game Ihc,2.

Hence, if a PPT attacker can distinguish between Ihc,1 and Ihc,2 with non-negligible advantage, can distinguish between O7/2 and O4 with non-negligible advantage. It means can gain a non-negligible advantage against Assumption 3.

Thus, Under Assumptions 3, no PPT attacker can distinguish between O7/2 and O4 with non-negligible advantage. Thus, no PPT attacker can distinguish between Ihc,1 and Ihc,2 with non-negligible advantage.

Acknowledgments

This research is supported by the project of the National Basic Research and Development Program of China (973 Program) No. 2012CB315906 and the National Key Research and Development Program 2017YFB0802301.

References

  1. 1. Seo JH, Emura K. Efficient Delegation of Key Generation and Revocation Functionalities in Identity-Based Encryption. In: CT-RSA. vol. 7779. Springer; 2013. p. 343–358.
  2. 2. Horwitz J, Lynn B. Toward hierarchical identity-based encryption. In: Advances in Cryptology-EUROCRYPT 2002. Springer; 2002. p. 466–481.
  3. 3. Seo JH, Emura K. Revocable hierarchical identity-based encryption: history-free update, security against insiders, and short ciphertexts. In: Cryptographers Track at the RSA Conference. Springer; 2015. p. 106–123.
  4. 4. Tsai TT, Tseng YM, Wu TY. RHIBE: constructing revocable hierarchical ID-based encryption from HIBE. Informatica. 2014;25(2):299–326.
  5. 5. Lee K. Revocable Hierarchical Identity-Based Encryption with Adaptive Security. IACR Cryptology ePrint Archive. 2016;2016:749.
  6. 6. Seo JH, Emura K. Adaptive-ID secure revocable hierarchical identity-based encryption. In: International Workshop on Security. Springer; 2015. p. 21–38.
  7. 7. Ryu G, Lee K, Park S, Lee DH. Unbounded hierarchical identity-based encryption with efficient revocation. In: International Workshop on Information Security Applications. Springer; 2015. p. 122–133.
  8. 8. Rouselakis Y, Waters B. Practical constructions and new proof methods for large universe attribute-based encryption. In: Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security. ACM; 2013. p. 463–474.
  9. 9. Xing Q, Wang B, Wang X, Chen P, Yu B, Tang Y, et al. Unbounded Revocable Hierarchical Identity-Based Encryption with Adaptive-ID Security. In: High Performance Computing and Communications; IEEE 14th International Conference on Smart City; IEEE 2nd International Conference on Data Science and Systems (HPCC/SmartCity/DSS), 2016 IEEE 18th International Conference on. IEEE; 2016. p. 430–437.
  10. 10. Waters B, et al. Dual System Encryption: Realizing Fully Secure IBE and HIBE under Simple Assumptions. In: Crypto. vol. 5677. Springer; 2009. p. 619–636.
  11. 11. Lewko AB, Waters B. New Techniques for Dual System Encryption and Fully Secure HIBE with Short Ciphertexts. In: TCC. vol. 5978. Springer; 2010. p. 455–479.
  12. 12. Lewko AB, Waters B. Unbounded HIBE and Attribute-Based Encryption. In: Eurocrypt. vol. 6632. Springer; 2011. p. 547–567.
  13. 13. Lee K, Park S. Revocable Hierarchical Identity-Based Encryption with Shorter Private Keys and Update Keys. IACR Cryptology ePrint Archive. 2016;2016:460.
  14. 14. Seo JH, Emura K. Revocable identity-based cryptosystem revisited: Security models and constructions. IEEE Transactions on Information Forensics and Security. 2014;9(7):1193–1205.
  15. 15. Naor D, Naor M, Lotspiech J. Revocation and tracing schemes for stateless receivers. In: Advances in Cryptology-CRYPTO 2001. Springer; 2001. p. 41–62.
  16. 16. Boldyreva A, Goyal V, Kumar V. Identity-based encryption with efficient revocation. In: Proceedings of the 15th ACM conference on Computer and communications security. ACM; 2008. p. 417–426.
  17. 17. Boldyreva A, Goyal V, Kumar V. Adaptive-ID Secure Revocable Identity-Based Encryption. In: Proceedings of the 15th ACM conference on Computer and communications security. ACM; 2008. p. 417–426.
  18. 18. Boldyreva A, Goyal V, Kumar V. Constructions o f CCA-Secure Revo cable Identity-Based Encryption. In: Proceedings of the 15th ACM conference on Computer and communications security. ACM; 2008. p. 417–426.
  19. 19. Boldyreva A, Goyal V, Kumar V. An Efficient and Provable Secure Revocable Identity-Based Encryption Scheme. In: Proceedings of the 15th ACM conference on Computer and communications security. ACM; 2008. p. 417–426.
  20. 20. Lee K, Lee DH, Park JH. Efficient revocable identity-based encryption via subset difference methods. Designs, Codes and Cryptography. 2017;85(1):39–76.
  21. 21. Watanabe Y, Emura K, Seo JH. New revocable IBE in prime-order groups: Adaptively secure, decryption key exposure resistant, and with short public parameters. In: Cryptographers Track at the RSA Conference. Springer; 2017. p. 432–449.
  22. 22. Lee K, Choi SG, Lee DH, Park JH, Yung M. Self-updatable encryption: Time constrained access control with hidden attributes and better efficiency. In: International Conference on the Theory and Application of Cryptology and Information Security. Springer; 2013. p. 235–254.