Decentralized Broadcast Encryption Schemes with Constant Size Ciphertext and Fast Decryption

Broadcast encryption ( BE ) allows a sender to encrypt a message to an arbitrary target set of legitimate users and to prevent non-legitimate users from recovering the broadcast information. BE has numerous practical applications such as satellite geolocation systems, file sharing systems, pay-TV systems, e-Health, social networks, cloud storage systems, etc. This paper presents two new decentralized BE schemes. Decentralization means that there is no single authority responsible for generating secret cryptographic keys for system users. Therefore, the scheme eliminates the concern of having a single point of failure as the central authority could be attacked, become malicious, or become unavailable. Recent attacks have shown that the centralized approach could lead to system malfunctioning or to leaking sensitive information. Another achievement of the proposed BE schemes is their performance characteristics that make them suitable for environments with light-weight clients, such as in Internet-of-Things (IoT) applications. The proposed approach improves the performance over existing decentralized BE schemes by simultaneously achieving constant size ciphertext, constant size secret key and fast decryption.


Introduction
Broadcast encryption (BE) was first introduced by Fiat and Naor in [1]. BE enables a sender to encrypt a message for an arbitrary target set of legitimate users and to prevent non-legitimate users from obtaining any information about the broadcast content, even if some or all of them collude. BE has many concrete application scenarios such as Satellite geolocation systems, Army radio systems, File sharing systems, Pay-TV systems, E-Health, Social networks, Cloud storage systems, etc. We refer the reader to [1][2][3] for more details. The BE schemes can be divided into two types: inclusive schemes and exclusive schemes (or revoking schemes). In the former, the sender directly determines the set of legitimate users (the target set). In the later, the sender directly determines the set of non-legitimate users, and the target set is then defined as all but non-legitimate users (who are also called the revoked users). When considering a BE scheme, one of the most important properties we should take into account is the ciphertext size, since the bandwidth is usually restricted. On the other hand, for lightweight devices such as in Internet of Things (IoT) applications, where the power of clients is restricted, two other properties that should also be considered are the key size and the decryption time. Regarding the key size, the key has two separate parts, one is kept secret by user, which is usually called the secret key, and the other is needed for decryption but it does not need to be secret (can be stored and accessed on demand from a non-weak server). The user decryption key includes both parts. Note that in all BE schemes, the secret key of the user is generated by the central authority.
Due to many recent attacks, the key escrow problem, where the authority generates and hence knows users' secret keys, becomes a critical challenge for Broadcast encryption as well as other related schemes such as Identity-based encryption [4], Attribute-based encryption [5] and Functional encryption [6]. More precisely, the key escrow problem includes two sub-problems. First, user's secret key is known by the authority or it is even exposed if the authority is malicious or gets hacked. Note that the user would not be willing to register to a system if he/she knows that his/her secret key can be known by someone. Second is the bottleneck problem arising from having a single point of failure. This problem is caused by the fact that we have only one authority who generates secret keys for all users. If this authority is malfunctioning (e.g., due to server or network problems, virus, denial-of-service attack, etc.), a new user cannot be added to the system. Note that if the authority fails, the system still works as normal except for the functionality of generating secret keys for new users.
Although one may argue that having a central authority may not be a big concern since today's cloud infrastructures are very secure and extremely reliable, providing more than 99.9% service availability. However, recent market surveys indicate that significant percentage (about two thirds) of organizations still consider security to be the biggest challenge in practice that hinders their adoption of cloud services. In addition, a significant percentage (about one third) of these organizations see unplanned service outages as a challenge limiting their adoption of such services. Therefore, the issue is not only an up-time issue but also a trust issue. Moreover, there is always cost associated with achieving higher-level of security and availability to meet the critical demands of a centralized key management authority.
We currently have two techniques to address the key escrow problem. The first one is called the certificateless scheme [7][8][9] (or the certificate-based scheme). In [7,8] the problem is addressed in the context of identity-based encryption, while [9] addresses the problem in the context of broadcast encryption. In the certificateless scheme, to generate the full secret key, the user first receives a partial secret key from the authority, then chooses some randomnesses to build the full secret key. By this, without knowing randomnesses the authority cannot know user's full secret key. However, since there is only one authority in the system, the bottleneck problem remains. The second technique is called the decentralized (or multi-authority) scheme [10][11][12][13][14][15][16][17][18][19][20]. In this scheme, the system includes multiple authorities, to generate a user's full secret key, each authority takes charge of generating a partial secret key, then the full secret key is built from these partial secret keys. Obviously, user's full secret key can be exposed only if enough number of authorities collude. More precisely, we can identify the following three different levels of construction of the decentralized scheme.

•
Level 1: At the setup phase, all users in the system collude to generate the secret key for each user as well as the public parameters of the system. After the setup phase, only the user knows his/her secret key, the collusion of all other users cannot derive his/her secret key. In addition, no more new users can be added to the system after the setup phase.
• Level 2: This is similar to Level 1 except that after the setup phase new users can still be added to the system. More precisely, each user colluding at the setup phase plays the role of an authority to generate a partial secret key for a new user. The full secret key of the new user is built from all of these partial secret keys. This level obviously deals well with the problem of trusting a single authority with the keys, but does not handle the bottleneck problem. The reason is that if anyone of the authorities is malfunctioning, the full secret key of a new user cannot be built. We note that the certificateless scheme [7][8][9] is in fact equivalent to Level 2 since it deals well with the users' security aspect but does not handle the problem of bottleneck.
• Level 3: To deal with the problem of malfunctioning authority in Level 2, in this level, the system is able to revoke the right of generating partial secret keys for new users from a malfunctioning authority. This leads to the fact that a new user does not need to receive the partial secret key from this failing authority to build his/her full secret key. In other words, new users can still be added to the system despite the presence of malfunctioning authorities. New users could not be added to the system only if all authorities in the system are malfunctioning.
This paper presents decentralized multi-authority BE schemes that deal with the key escrow problem and address the issues of entrusting a single-authority with cryptographic keys, as well as the problem of bottleneck. In addition, the proposed methods can simultaneously achieve the very desirable properties of constant size ciphertext, constant size secret key and fast decryption, which are particularly important in environments with weak clients (such as mobile phones, smart cards or IoT devices).
As discussed earlier, BE schemes that deal with the key escrow problem can be categorized as either be certificateless, or decentralized. Recently, Li el al. [9] proposed a certificateless BE scheme which supports fast decryption and user anonymity (i.e., one cannot know the identities of users in the target set). This scheme, however, has a large ciphertext size which is linear in the number of users in the target set. Reducing the BE ciphertext size is critical for reducing the bandwidth requirement of the broadcast channel. A decentralized multi-authority BE scheme was proposed in [19] by combining NNL scheme [3] with group key exchange and public key encryption. Compared to the original NNL scheme, the resulting scheme has a larger public key, which is linear in the maximum number of users in the system. Similar to BE, attribute based encryption (ABE) [5,33,34] can also encrypt a message to a set of users. Therefore, ABE can be used in similar modern applications such as File Sharing systems and Cloud Storage systems. In an ABE scheme, each user possesses a set of attributes and gets the corresponding secret key from the authority. To encrypt a message, the encryptor first chooses an access policy which is a structure of attributes, then encrypts the message under this access policy. A decryptor can decrypt the ciphertext if decryptor's set of attributes satisfies this access policy. Modern applications require that the ABE scheme should have fine-grained access policy (described at least as a Boolean formula). Note that if there is only one authority in the system, ABE scheme suffers from the same key escrow problem as in BE scheme. To deal with the key escrow problem, decentralized ABE schemes supporting fine-grained access policy have been introduced in [14,15,17,18,20,35,36]. However, there is no decentralized ABE scheme that simultaneously achieves all the three important properties of fast decryption, constant size of ciphertext and constant size of secret key. Note that the three schemes [14,15,17] are built on the composite order group, which is quite inefficient.
Functional encryption (FE) was introduced in [6]. In this scheme, the secret key is associated with a function f and it is generated from the master key. Given a ciphertext for m, if the user is in the target set, she can learn the value f (m) and nothing else about m. Therefore, FE is a generalization of BE and is applicable to the context of broadcast encryption (if we set the function f (m) = m). However, the design of a decentralized FE scheme is still an open problem. Very recently, the authors in [10,11] proposed two decentralized inner product FE schemes. These schemes represent a very special type of the general FE scheme in the sense that, each different secret key is associated with a different vector − → y over Z * p and the encrypted message m now is also a vector − → x over Z * p . If the user is in the target set, she can learn the inner product − → x , − → y (this value is different for each user) and nothing else about − → x , which means the function f (x) = − → x , − → y . This type of scheme is useful for some specific applications but obviously it cannot be directly used to support modern BE applications such as File sharing systems, Pay-TV systems and Social networks. Note that in a BE scheme, each different user in the target set possesses a different secret key but can learn the same plaintext m.

Our Contributions
The innovation of this paper is that our proposed BE schemes deal with the key escrow problem and address the issues of entrusting a single-authority with cryptographic keys, as well as the problem of bottleneck. In addition, our proposed schemes are the first decentralized BE schemes which can simultaneously achieve the very desirable properties of constant size ciphertext, constant size secret key and fast decryption, which are particularly important in environments with weak clients (such as mobile phones, smart cards or IoT devices). Concretely, we first propose a BE scheme which has the following properties: • constant-size ciphertext; • constant-size secret key: in our first scheme, the secret key includes a maximum of two elements; • fast decryption: to decrypt, the user only computes two Pairings in the prime order setting; • decryption key size is linear in the maximum number of users in the system; • The scheme is categorized as Level 2.
The first scheme is improved then to obtain the second scheme which is Level 3. However, as a trade-off, the cost we have to pay is on the secret key size and the security of the scheme. More precisely, the secret key size in our second scheme now depends on the number of authorities and the scheme only achieves a weaker level of security. Two important BE papers that address the key escrow problem in the context of broadcast encryption are [9,19]. Tables 1 and 2 provide a comparison between our schemes and these two schemes. These tables also include comparison with other relevant decentralized ABE schemes proposed in the literature. The first three columns of Table 1 represent space complexity, while the last column demonstrates time complexity. Some of the terminology used in this paper is described in Table A1.
Finally, we implement our first and second schemes and present concrete benchmarks in Section 5, which shows that both of our schemes can be used for applications with lightweight devices. Moreover, Section 5 shows that both of our schemes are comparable to the most recent decentralized BE scheme [9] and decentralized ABE scheme [36] in term of both size complexity and time complexity. Note that the ciphertext size in [9] is linear in the number of receivers, which is impractical if the target set is large. Table 1. Performance comparison. S is the number of users in the target set. N is the number of users in the system, r is the number of revoked users, is the size of the access policy, n is the number of attribute authorities, |U | is the number of attributes in the system, |B| is the number of attributes belonging to a decryption key. |I| is the number of attributes belonging to a decryption key that satisfies the access policy, P is the Pairing operation, e and M are exponent and multiplication operations, k is the maximum number of times that one attribute can be reused in an access policy. Dec PKE denotes the decryption time of a Public key encryption scheme. We note that the multiplication operation M is very fast compared to the exponential operation e and Parings operation P.

Ciphertext Decryption Key
Secret Key System Public Storage Dec Time

Paper Organization
The definition and security model of our schemes are introduced in the next section. The next section also introduces some useful tools for our constructions and proof of security. We next describe our first and second schemes in Sections 3 and 4, respectively. We present the implementation of our schemes and two other schemes [9,36], and evaluate them using concrete benchmarks in Section 5. The conclusion is presented in Section 6.

Preliminaries
In this section, we first define the security model of our decentralized BE schemes, we then recall the definition of bilinear maps and linear secret sharing (LSS) matrix, which are needed for the security proof of our schemes. We refer the reader to Table A1 for a summary of the symbols used throughout this paper.

Decentralized Broadcast Encryption
In our system, there is no need to have a trusted authority to establish the system. Instead, the system is established by cooperating users in the setup phase. We split two types of users in our system:

1.
The first type is called key user. Key users take charge of generating partial secret keys for users in the system.

2.
The second type is called usual user who receives broadcast messages but does not participate in generating partial secret keys.
Formally, our first scheme includes four following probabilistic algorithms: Setup(1 λ , n, N): This algorithm is run by n key users i = 1, . . . , n, that takes as λ (security parameter), n (number of key users ) and N (the maximum number of users including n key users in the system). Note that N ≥ n. This algorithm generates the public parameters param and the secret keys for n key users {d i } i=1,...,n . In this paper we also use the notation i ∈ [n] instead of i = 1, . . . , n.
Extract(j, {d i } i=1,...,n , param): This algorithm takes as input the user j and n secret keys of n key users as well as param, It outputs the secret key of user j.
Encrypt(R, param): This algorithm takes as input a revoked set of users R (which can include both key users and usual users) as well as param. It outputs (Hdr, K), where Hdr encapsulates the session key K ∈ K. Denote Hdr the header, which contains the description of R. Here, K is the session key space.
Decrypt(Hdr, d j , param): This algorithm takes as input Hdr and d j . If j / ∈ R, the algorithm outputs the session key K ∈ K. Otherwise, the algorithm returns ⊥.
In our second scheme, when the right of generating partial secret keys for users is revoked from a subset of key users, which can happen due to various reasons such as being malicious or malfunctioning. In this case, public parameters only need a simple update and nothing else. To this aim, we add the following algorithm.
Revoke(S, param): This algorithm takes as input a set of valid key users S and param, it then revokes the rights of generating partial secret keys of all key users who do not belong to set S.
Note that in practice, we use the session key as a symmetric keys K to encrypt the message M, which generates the ciphertexts CM. So, the full ciphertext to broadcast includes (Hdr, CM). We usually call Hdr as header and CM as encrypted payload.

Security Model
Let A be an adversary and C be a challenger. The security model of our decentralized broadcast encryption system is described by the following security game between A and C: At first, A sends the revoked target set R to C. Setup: In this step, C relies on R to run the Setup algorithm to create the public parameters param of the system as well as n secret keys {d i } i=1,...,n , it then sends param to A. Query phase 1: the adversary A adaptively asks corruption key query for the users in the revoked set R which can include both usual user and key user: the challenger C either uses {d i } i=1,...,n or runs Extract algorithm to answer A.
Challenge: the challenger C runs Encrypt(R, param) and gets (Hdr * , K * ). Next, the C randomly It is easy to see that in case b = 0 then K * is the real key which is encapsulated in Hdr * . In case b = 1, K * is a random element which is independent of the header.
Query phase 2: the same as in the first phase. Guess: In this phase, A outputs the guess for bit b, that is bit b ∈ {0, 1}. We say the adversary wins the game if b = b, but only if A corrupts maximum n − 1 secret keys of key users (note that if A corrupts all n secret keys of key users, he/she can generate all users' secret keys in the system, so this is a trivial attack). Let Succ ind (A) = Pr[b = b] be the probability that A wins the game, and let its advantage be Definition 1 (Selective Security). If the advantage of A in the above security game is negligible, a decentralized BE scheme is said to achieves selective security.
We also define the weak selective security game in the sense that the adversary A must output both the revoked target set R as well as the set of authorities for which he/she intends to corrupt at the beginning of the game.
We note that in the adaptive security game, the adversary A outputs the revoked target set R at the challenge phase instead of doing so at the beginning of the game.

Bilinear Maps
Let G, G, G T be three finite multiplicative abelian groups of large prime order p. Let g,g be generators of G and G, and e : G × G → G T be an admissible asymmetric bilinear map. For all x, y ∈ Z p , we have: 1.
we can efficiently compute e(g,g).
(p, G, G, G T , g,g, e) is named a bilinear map group system and we have: if G = G and there is an efficiently computable homomorphism φ : G → G, it is in Type 2 Pairings 3.
if G = G and there are no efficiently computable homomorphism between G and G, it is in Type 3 Pairings Note that recent cryptanalysis of Type 1 Pairings has broken many well-known security assumptions, and among the three types of Pairings, Type 3 Pairings are the most efficient one.

Linear Secret Sharing Matrix
Let p be a prime and R be an any Boolean formula with AND-gates, that means R = i 1 ∧ i 2 ∧ · · · ∧ i . One can construct a function ρ and a linear secret sharing matrix (LSS matrix) M ∈ Z × p , where the function ρ ∈ F ([ ] → (i 1 , i 2 , . . . , i )) which labels the rows of M with i j , j = 1, . . . , . Note that, to convert from R to a LSS matrix, we refer the reader to the algorithm in Appendix G of [15].

First Scheme
In this section, we describe the construction of our first decentralized BE scheme and its security analysis and efficiency.

Construction
Our first decentralized BE scheme is detailed as follows. Setup(1 λ , n, N): In this phase, n key users 1, . . . , n co-operate to generate the public parameter of the system param as well as the secret key for each key user. More precisely, this algorithm takes as input the security parameter λ, the number of key users n as well as the maximum number of users in the system N, note that N ≥ n. It generates param as well as the secret keys {d i } i=1,...,n for n key users as follows: First, all key users i = 1, . . . , n choose a bilinear group system (p, G, G, G T , e(·, ·), g,g) Next, each key user i randomly chooses N + 2 values α i , β i , r i,1 , . . . , r i,N ∈ Z * p , he/she computes e(g,g) α i ,g α i , g β i ,g β i , then publishes e(g,g) α i , g β i ,g β i , g r i,1 ,g r i,1 , . . . , g r i,N ,g r i,N . He/she keepsg α i secret. Let param be public parameters and it is set as: Each key user j's secret key is generated as follows. First, each key user i, i = 1, . . . , n, picks randomly a different scalar s i ∈ Z * p , the i-th partial secret key of user j is d i Key user i then sends d i j to j. Since user j is a key user, j also generates d j j as above, but keeps this value secret.
After receiving all partial secret keys, user j computes his/her full secret key d j = (d j 0 , d j 0 , {d j k } k=1,...,N k =j ,g α j ), where: The decryption key size of key user j is linear in N, however key user j only keeps (d j 0 ,g α j ) secret, the rest of his/her secret key can be stored and accessed on demand from a non-weak server. Hence, the size of key user's secret key in our first scheme is constant.
Extract(j, {d i } i=1,...,n , param): The input of this algorithm includes a user j, n + 1 ≤ j ≤ N, secret keys of all key users i = 1, . . . , n and param. The algorithm first computes partial user's secret keys d i j , i = 1, . . . , n as above, then the full secret key of user j is set: Similar to the case of key user, user j just needs to keep d j 0 secret. Hence, the size of user j's secret key is also constant. Note that our scheme is secure against the collusion of revoked users since each secret key has a different randomness s.
Encrypt(R, param): The input of this algorithm includes a set of revoked users R (which can include both usual users and key users) and param. It chooses k $ ← Z p , generates the header Hdr = (C 1 , C 2 ) as follows: and the session key K = e(g,g) α·k . Eventually, the algorithm outputs K and Hdr which includes the description of R.
Decrypt(Hdr, d j , param): The algorithm first checks whether j ∈ R, if it is the case, the algorithm outputs ⊥. Otherwise, the algorithms computes the session key:

Remark 1.
Regarding the efficiency, both the encryption algorithm and decryption algorithm of our scheme are efficient. In the encryption algorithm, the encryptor just needs to compute two exponential operations and |R| + 1 multiplication operations. In the decryption algorithm, the decryptor just needs to compute two Parings operations and |R| + 2 multiplication operations.
One can argue that if the set of revoked users R is too big, our scheme becomes less efficient, however we note that multiplication operation is very fast when compared to the exponential operation and Parings operation. We give in the Tables 1-3 a detailed comparison between our schemes and other relevant schemes proposed in the literature.
Let A be an adversary that solves the MBDHE problem above, and denote the advantage of A: ≤ Pr A( Y, T = e(g,g) β q+1 k ) = 0 − Pr A( Y, T = R) = 0 Definition 3. If there does not exist any polynomial-time adversary who has a non-negligible advantage in solving the MBDHE problem, then we say that the MBDHE assumption holds.
It is easy to see that to distinguish between T = e(g,g) β q+1 k ∈ G T or T = R $ ← G T , one needs to have one of the values g β q+1 , g β q+1 t ,g β q+1 org β q+1 t . However, we do not have these elements in Y and there is also no way to derive one of these elements. Since it is a simple modification of the well-known BDHE assumption [2], we do not provide the proof of security of MBDHE assumption in the generic group model. Theorem 1. Assume that q ≥ N, our first scheme is selectively secure under the MBDHE assumption.
Proof. Let S be an adversary against the MBDHE assumption and A be an adversary against our first scheme. In this proof, we will show that S can simulate A and then use the output of A to break the security of MBDHE assumption.
First, A sends the revoked target set R to S. Note that S also has an instance of MBDHE assumption as well as the number of key users n and the maximum number of users N.
Setup: S first considers R as a Boolean formula with AND-gates: R = (∧i) i∈R , then uses the algorithm in Appendix G in [15] to build a LSS matrix (M × , ρ) from R, where = |R| and , ≤ q.
Query phase 1: A can ask the following two types of queries: 1.
First, A chooses a usual user or a key user, then requests to know his/her secret key. To avoid the trivial attack, A can only ask to know at most n − 1 secret keys of key users, and obviously these key users are in the revoked set R; 2.
A requests a part of the secret key of either usual user or key user who does not belong to the revoked set R, that is ( . The reason why A is able to make this query is that this part of the secret key is stored in the public server. To answer the first one, S first gets j ∈ R from A then constructs a vector − → x = (x 1 , . . . , x ) ∈ Z * p where x 1 = −1 and ∀i = 1, . . . , , ρ(i) = j, the product − → x · M i = 0. We notice here that such vector exists due to the property of LSS matrix. To continue, S picks r $ ← Z p then implicitly sets: Next, S generates the secret key: Note that x 1 = −1. It is easy to see that the unknown termg β q+1 ing α is canceled out, sinceg β·s containsg −β q+1 . On the other hand, S knows vector − → x , so he/she can generate: Next, ∀1 ≤ a ≤ N, a = j and there does not exist i ∈ [ ] such that ρ(i) = a. S has z a at hands (chosen at the setup phase) then he/she is able to generatẽ u s a = (g s ) z a ∀1 ≤ a ≤ N, a = j, and there exists i ∈ [ ] such that ρ(i) = a, S generates The key point for S to computeũ s a is that the product − → x · M i = 0. This means S does not need to know the termg β q+1 t . For other terms, S has already known from the assumption. In addition, if a = j and there exists i ∈ [ ] satisfying ρ(i) = j then − → x · M i = 0, this leads to the fact that S cannot generate u s j , that is exactly the well-known partition technique proof.
In case, user j is a key user, A also has the right to requestg α j . To answerg α j , S picks α j $ ← Z p computes and returnsg α j to A. The key point here is that A only has the right to request maximum n − 1 corrupted secret keys of key users, This means S is able to pick n − 1 scalars α j $ ← Z p as above. To be more clear, if we assume that A cannot request for key user 1, then we implicitly set To answer the second type of query, note that the unknown elementg α only appear in d j 0 . However, fortunately S just needs to provide to A the values (d j 0 , {d j i } i=1,...,N i =j ), this leads to the fact that S can simply picks s ) and returns to A. Challenge: The simulator S computes the session key: We note that S knows g k(β+βt) , g k from the assumption. On the other hand, since all z ρ(i) have been chosen at the setup phase, it means that S knows these elements.
Next, in case T = e(g,g) β q+1 k then it is easy to see that K * is in valid form. Otherwise, K * is a random element in G T .
Query phase 2: Similar to Phase 1 Guess: Eventually, A returns his/her bit guess b for b. S checks if b = b. If they are equal, it outputs 0 to guess that T = e(g,g) β q+1 k . Otherwise, S outputs 1, which means that T is a random element in G T . Because S never aborts the game, the simulation is perfect or the advantage of A to break the security of our first scheme is equal to the advantage of S to break the security of the MBDHE assumption. In other words, our first scheme is selectively secure under the MBDHE assumption, which concludes our proof.

Second Scheme
The bottleneck problem still remains in the first scheme since if there is one malfunctioning key user, a new user cannot be added to the system. In the second scheme, we improve the first scheme aiming to deal with this problem.
To this aim, each user in the second scheme stores all n partial secret keys {d i j } i=1,...,n , and sets the param as param = (g,g, g β ,g β , u 1 , . . . , u N ,ũ 1 , . . . ,ũ N , e(g,g) α 1 , . . . , e(g,g) α n , n) Let us assume that the malfunctioning key user is the user n (this can naturally be extended to the case which has more than one malfunctioning key user). To revoke the right of generating partial secret key of user n, the system works as follows.
• First, the system requires that user's full secret key now includes n − 1 partial secret keys, which are generated by key users from 1 to n − 1. This means when a new user is added to the system, this new user does not need to obtain the partial secret key from user n. In other words, even if user n is malfunctioning, we still can add a new user to the system.
• Second, the system updates the param as param = (g,g, g β ,g β , u 1 , . . . , u N ,ũ 1 , . . . ,ũ N , e(g,g) α 1 , . . . , e(g,g) α n−1 , n − 1) Obviously, this approach can be extended to the case of malfunctioning of many key users. As a trade-off, the size of the secret key now is not constant, it in fact depends on the number of key users in the system. In addition, in the proof, simulator must know the set of corrupted authorities in advance to respond adversary's queries. This lets our scheme be secure under a weaker security model.
Our second scheme is detailed as follows. Setup(λ, n, N): It is similar to the first scheme, the only difference is that user's full secret key includes all n partial secret keys.
Extract(j, {d i } i=1,...,n , param): It is similar to the first scheme, it is only difference that the algorithm outputs user j's full secret key which includes all n partial secret keys.
Revoke(S, param): The input of this algorithm includes a set of non-malfunctioning key users S and param. The algorithm outputs the updated param as param = (g,g, g β ,g β , u 1 , . . . , u N ,ũ 1 , . . . ,ũ N , {e(g,g) α i } i∈S , S) Encrypt(R, param): First, this algorithm computes e(g,g) α = ∏ i∈S e(g,g) α i . The rest of the algorithm is the same as in the first scheme.
Decrypt(Hdr, d j , param): It is similar to the first scheme, except that it first computes the full secret key from n partial secret keys. Note that to reduce the time of decrypting, the full secret key can be computed in advance.
The security of the second scheme is addressed by the following theorem.
Theorem 2. Assume that q ≥ N, our second scheme is weak selectively secure under the MBDHE assumption.
The proof of this theorem is very similar to the proof of the Theorem 1. We therefore think that it is not necessary to repeat it again, we just give here a sketch of the proof of this theorem.
Sketch of the proof. The proof of this theorem easily follows from the proof of Theorem 1. Note that there is only one difference here; that is the full secret key of a user now includes n partial secret keys. However, the adversary must declare a set of authorities at the beginning of the security game for which he/she intends to corrupt. That means the simulator S knows in advance at least a key user who will not be corrupted, let key user 1 be the uncorrupted key user. S is able to freely pick α 2 , . . . , α n $ ← Z * p then implicitly sets α 1 = α − ∑ n i=2 α i . Next, to answer the corrupted full secret key of user j, S first computes d j as in the proof of Theorem 1. Second, S with α 2 , . . . , α n at hands computes n − 1 corresponding partial keys. Eventually, based on d j and these n − 1 partial keys S can compute the 1-st partial secret key d 1 j . As a result S can compute the full secret keys for all corrupted users. The rest of the proof is the same as in the proof of Theorem 1.

Performance Analysis
As shown in Tables 1 and 2, our proposed schemes are the most efficient decentralized schemes in terms of all important properties: ciphertext size, secret key size and decryption time. Our schemes also use Type 3 Pairings; note that recent cryptanalysis of Type 1 Pairings has broken many well-known security assumptions, and among the three types of Pairings, Type 3 Pairings is the most efficient one. For decentralization, our first and second schemes achieve Level 2 and Level 3, respectively. There are still no known techniques to improve the schemes [9,19] to Level 3. Regarding the used assumptions, we note that the hardness of our assumption is similar to the assumptions of the other schemes listed in Tables 1 and 2. The weaknesses of our schemes are the large public storage and the selective security (only obtain a weak level of security), these however may not be big problems since: • the public parameters may not need to be stored permanently on the client and can be accessed on demand from a non-weak server with large computational resources. Moreover, keys are typically much more smaller than the data and/or its ciphertext in real-life scenarios. For example, consider using Broadcast encryption scheme for sharing files in a cloud storage system that encrypts files. The number of users N sharing access to a particular repository is typically limited. Therefore, the files ciphertexts are typically much larger than the public param (which is O(N 2 ) for the proposed algorithms) or the constant-size secret key.
• although selective security is more limited than adaptive security, researchers nowadays agree that selective security is also acceptable for practical applications. In fact, many proposed schemes today only achieve this level of security for both broadcast encryption schemes [2,21,26,37] and attribute-based encryption schemes [20,38,39], to name a few. Particularly, the BGW scheme [2] now is used widely in Pay-TV systems. Finally, if we would like to achieve adaptive security, we may make use of some existing tools such as [40] to generically transform a selective security scheme to an adaptive security scheme with a cost to pay in efficiency. Note that Functional encryption (FE) [6] is a generalization of BE, so this technique is directly applied to our proposed schemes. Note that in this paper we focus on the efficiency, so we omit this transformation.
To compare a decentralized BE scheme to a decentralized ABE scheme, we note that for several real-life applications such as File sharing systems, Pay-TV systems, E-Health, Social networks and Cloud storage systems, we can use the decentralized ABE scheme instead of the decentralized BE scheme. However, we emphasize that if we care about the efficiency property, for example when we deploy applications with lightweight devices (such as IoT devices), a decentralized BE scheme is the appropriate choice since it addresses the same problem while being much simpler and more efficient than decentralized ABE schemes. Obviously, a decentralized ABE scheme is a better choice if applications need to have anonymity of receivers, flexible access control, and high level of security. It is thereby fair to say that our proposed schemes provide an alternative choice offering a trade-off between efficiency on one hand and the properties of flexibility, security and anonymity on the other hand.
We implemented our schemes and the most recent decentralized BE scheme in [9] and decentralized ABE scheme in [36] to provide concrete performance evaluation. The results are shown in Tables 3 and 4 and Figures 1 and 2. The program was written in the C language and the source code is available online (https://github.com/tranvinhduc/dbe). We use the PBC Library [41] for pairing environment.
The experiments were carried out on a computer with the processor Intel Core i7-4600U @ 2.1 GHz. The results are calculated as the average of 100 iterations of measurement.    Table 3 compares the encryption and decryption time of our schemes with the schemes in [9,36]. In our schemes, we fix the number of key users n = 10. We run the experiments with two parameters: N (maximum number of users) and r (number of revoked users). Therefore, the number of target users is N − r. We run the decentralized ABE scheme [36] with test cases using the size of access policy = N − r. The reason is that to support the functionality of encrypting a message to an arbitrary set of users (work as a BE scheme), the only way is for each user in an ABE scheme to possess an identity attribute (other users in the system do not possess this attribute). Assuming A i to be the identity attribute for user i, if the target set is S = {1, 3, 4}, then the corresponding access policy would be which means the size of access policy is equal to the number of users in the target set, and the ciphertext size when using the scheme [36] is also linear in the number of users in the target set. Since both the BE and ABE schemes can be used to address the similar problems such as File sharing, Pay-TV systems, E-Health, Social networks and Cloud storage systems, it is an interesting question whether or not there exists a BE scheme that offers a similar decentralized property as in the ABE scheme [36], but has better efficiency. So, the main difference between our proposed schemes and the ABE scheme [36] is that our schemes have better efficiency, but the ABE scheme [36] supports better anonymity of receivers and flexibility of access control.
The encryption and decryption times are shown in Figures 1 and 2. The encryption time of our schemes is dependent slightly on r while the schemes [9,36] are both dependent on N − r. Note that in all schemes, the public storage depends only on N not on r, which means the encryption time of our schemes does not depend on the size of the public storage while the schemes [9,36] do. In addition, r is typically smaller than N − r in practice. Therefore, our schemes is expected to have better encryption performance than schemes [9,36]. Regarding the decryption time, our first and second schemes provide similar performance to the scheme in [9], but are slightly slower than the scheme in [36] when r becomes bigger. Table 4 compares our schemes and the schemes in [9,36] based on the storage size (in bytes) of ciphertext, secret key and user's public storage. Note that the user's public storage is the public information for the user to perform encryption and decryption, which includes both the encryption key and the public storage part of the decryption key. Some specific classes of users (for example users in Pay-TV systems) do not need the functionality of encryption. Therefore, they just need to store the decryption key (that is why we specifically mention this property in the caption of Table 1). The values in Table 4 correspond to the worst case scenario when the user needs to perform both encryption and decryption. We also note that the system public storage in Table 1 is the sum of all users' public storage. Table 3. Performance comparison of our schemes and schemes in [9,36]. Encryption and Decryption times are in milliseconds. N is the number of users and r is the number of revoked users. We use type A pairing in the PBC Library and set the security parameter λ = 128. We also consider the case each user in [36] possesses only one attribute. However, in practice to support the flexible access control and anonymity of receivers, each user in [36] must possess many attributes, thus the encryption time and the decryption time of this scheme could be actually longer. In the experiments, we use type A pairing in the PBC Library, in which each point in the elliptic curve is compressed to 520 bits (corresponding to security parameter λ = 128). Regarding ciphertext size, which is the most important parameter in BE due to the restricted bandwidth, our schemes are very efficient, and only require a constant size of 130 bytes. The schemes in [9,36] do not have constant size ciphertext, and their ciphertext sizes depend on the number of target users. The secret key size for all schemes is tiny. Regarding the user's public storage, for simplicity, we consider the case when each user in [36] possesses only one identity attribute. That is why the user's public storage in this scheme is equivalent to user's public storage in [9] and both are smaller than in our schemes. However, in the worst case, when N = 800, each user in our first scheme and second schemes just needs to publicly store about 100KB and 500KB, respectively. Such storage requirements are well within the capacity of lightweight devices. Overall, the experimental results demonstrate that our schemes are efficient and well fit applications with lightweight devices.

Conclusions
Recent attacks have shown that a single authority for managing keys creates a single point of failure as this authority could be hacked or could become unavailable. Therefore, key escrow is an important problem for many cryptographic primitives to protect against system malfunctioning or leaking sensitive user information. This paper demonstrates the construction of novel decentralized BE schemes that eliminate the problems associated with a single authority. Compared to other techniques presented in the literature, the proposed schemes are unique in the sense that they simultaneously achieve constant-size ciphertext, constant-size secret key and fast decryption. More specifically, our first scheme has the following properties: • constant-size ciphertext; • constant-size secret key: the secret key includes a maximum of two elements; • fast decryption: to decrypt, the user only computes two Pairings in the prime order setting; • decryption key size is linear in the maximum number of users in the system; • supporting for level 2 decentralization, where new users can be added to the system dynamically.
Our second scheme improves the first scheme in the sense that it supports level 3 decentralization, where new users can be added or access of current users can be revoked after the initial setup phase. The weakness of the proposed schemes is that they only provide the more limited selective security. Our proposed schemes, therefore, provide a trade-off between the efficiency of the scheme (suitable for BE applications with light-weight users such as mobile and IoT devices) and the required security guarantees.

Conflicts of Interest:
The authors declare no conflict of interes.

Appendix A. Summary of Used Symbols
A list of abbreviations and symbols that are used in this paper are summarized in Table A1.