• 沒有找到結果。

對數儲存量及常數計算量的公開金鑰廣播加密系統

N/A
N/A
Protected

Academic year: 2021

Share "對數儲存量及常數計算量的公開金鑰廣播加密系統"

Copied!
53
0
0

加載中.... (立即查看全文)

全文

(1)

資訊科學與工程研究所

對 數 儲 存 量 及 常 數 計 算 量 的

公 開 金 鑰 廣 播 加 密 系 統

Efficient Public Key Broadcast Encryption with

Logarithmic Key Size and Constant Decryption Time

研 究 生:沈宣佐

指導教授:曾文貴 教授

(2)

對數儲存量及常數計算量的公開金鑰廣播加密系統

Efficient Public Key Broadcast Encryption with Logarithmic Key Size

and Constant Decryption Time

研 究 生:沈宣佐 Student:Shiuan-Tzuo Shen

指導教授:曾文貴 Advisor:Wen-Guey Tzeng

國 立 交 通 大 學

資 訊 科 學 與 工 程 研 究 所

碩 士 論 文

A Thesis

Submitted to Institute of Computer Science and Engineering College of Computer Science

National Chiao Tung University in partial Fulfillment of the Requirements

for the Degree of Master

in

Computer Science

June 2008

Hsinchu, Taiwan, Republic of China

(3)
(4)
(5)
(6)
(7)
(8)

摘要 我們提出一個完全抵禦共謀的公開金鑰廣播加密系統,達到 O(1)公開金鑰量、O(log

n

) 私密金鑰量、O(

r

)密文大小、O(1)解密時間,其中

n

為使用者的數量,

r

為非合法接收者 的數量。據我們所知,我們的系統是目前最有效率的公開金鑰廣播加密系統。在 random oracle 的模型下,本系統同樣達到了 IND-CCA2 的安全性。我們的系統是建立在[LT08] 的架構之上,並應用了[Boy07]所提出的方法。我們的主要貢獻在於提出了一套金鑰衍生 的方法,使得使用者所需要儲存的私密金鑰量降為 O(log

n

),改進了[LT08]使用者需要儲

存 O(log2

n

)的私密金鑰。我們應用[Boy07]的方法使得本系統的安全性達到 IND-CCA2,

並且不須額外的成本負擔。

(9)

Abstract

We propose a fully collusion resistant public key broadcast encryption scheme that achieves O(1) public key size, O(log n) private key size, O(r) ciphertext size, and O(1) decryption time where n is the number of users in the system and r is the number of the revoked users. To the best of our knowledge, our scheme is the most efficient scheme in the existing broadcast encryption schemes. Our scheme also achieves the IND-CCA2 security in the random oracle model. It is based on the idea of [LT08] and the result of [Boy07]. We provide a key derivation method that reduces the private key size to O(log n) while [LT08] is O(log2n). We apply the method of [Boy07] to enhance the security to IND-CCA2 without redundancy.

(10)

Contents

1 Introduction 1 1.1 Related Work . . . 2 1.2 Our Contribution . . . 5 2 Preliminary 6 2.1 Bilinear Map . . . 6 2.2 Gap-BDH Assumption . . . 6 2.3 Broadcast Encryption . . . 7 3 Idea of SD 9 4 Idea of PK-SD 14 5 Idea of PK-SD-PI 16 6 Our Scheme 20 6.1 Construction . . . 25 7 Security 30 8 Remark 37 9 Conclusion 38

(11)

List of Tables

(12)

List of Figures

1 Tree-based structure . . . 9

2 Subset difference . . . 10

3 Partition of receivers . . . 10

4 Key storage . . . 12

5 Hash chain method . . . 13

6 Naming system . . . 15 7 Polynomials of subtrees . . . 17 8 PK-SD-PI . . . 19 9 Key derivation . . . 21 10 Polynomial derivation . . . 21 11 Assignment of h and h . . . 23

12 Polynomial derivation depends on the relation . . . 24

(13)

1

Introduction

Broadcast encryption is an encryption scheme useful in the multi-receiver scenario. There are many applications of broadcast encryption, such as pay-TV programs, private commu-nication between a group of users, etc. Assume that there are totally n users in the system and we want to send a message to a group of m users in the system. If we use general public key encryption systems (not broadcast encryption), we need to encrypt the message m times (encrypted with each of the receiver’s public key) and send them to the receivers. It needs much network bandwidth. There is another way to send a message to the m receivers. For each subset of the n users, we assign a public key to the subset respectively. Each user holds the private keys for the public keys of the subsets where he is in. Then we can use the public key of the set of the m receivers to encrypt the message and send the encrypted message to the receivers. But for each user, there are 2n−1subsets where he is in. Thus each user needs to store O(2n) private keys. It is not efficient enough for practical usage, because network bandwidth is expensive and storing an exponential number of secret keys is quiet inconvenient.

Broadcast encryption is a solution of striking a balance between bandwidth and storage. In a public key broadcast encryption scheme, a trusted third party sets up the whole system. It generates the system public key and the secret keys for the users. To send a message to some users, we encrypt the message with the system public key and generate the necessary information for the receivers to derive the secret key for decryption. Then we just broadcast the ciphertext and the necessary information to all users. Only the valid receivers can derive the secret key for decryption from the necessary information and their own secret keys, then they can decrypt the message correctly with the derived secret key. But the other users can not since that the information is not sufficient enough for them to derive the secret key and decrypt the message.

(14)

Broadcast encryption schemes can be symmetric or asymmetric. It depends on the type of encryption function used to encrypt the message. For a symmetric broadcast encryption scheme, only the users in the system can broadcast messages since the senders must know the secret keys. While for an asymmetric broadcast encryption scheme, everyone (even not in the system) can broadcast messages to the users in the system with the system public key. Broadcast encryption also can be stateful or stateless. For a stateful broadcast encryption scheme, the secret key of each user will be updated periodly. Thus the structure of users can be dynamic, users can join to or quit from the system if needed. While for a stateless broadcast encryption scheme, the secret key of each user won’t be updated. Thus the structure of users must be fix after the setup of the whole system. Here we deal with the stateless public key broadcast encryption scheme in this paper.

1.1

Related Work

In 1993, Fiat and Naor [FN93] firstly gave a formal definition of broadcast encryption. They defined the ciphertext in the form of Hdr(S, K), EK(M ), where Hdr(S, K) is the header about the set S of receivers, the session key K is used for encryption, and EK(M ) is the symmetric encryption of the message M with K. Only the users in S can gain the session key K from Hdr(S, K) and then decrypt the message M from EK(M ), while other users can not. We say that a broadcast encryption scheme is fully collusion resistant if the users not in S can not gain the session key K from Hdr(S, K) even they all collude together. The header size is usually dominated by the number of partitions of the receivers, and the efficiency of a broadcast encryption is usually measured by the size of secret key, the size of header, and the time of decryption.

In 2001, D. Naor, M. Naor, and Lotspiech [NNL01] proposed a Subset-Cover framework and two broadcast encryption schemes under the framework. Let n be the number of total users and r be the number of the revoked users. The first scheme is called Complete Subtree

(15)

(CS), and it achieves O(log n) secret key size, O(r lognr) header size, and O(log log n) decryp-tion time. The second scheme is called Subset Difference (SD), it achieves O(log2n) secret key size, O(r) header size, and O(log n) decryption time. CS and SD are very important in the history of broadcast encryption, on which many broadcast encryption schemes are based. In 2003, Dodis and Fazio [DF03] used Identity Based Encryption (IBE) and Hierarchical Identity Based Encryption (HIBE) as building blocks to construct two public key broadcast encryption schemes based on the idea of CS and SD respectively. The two schemes are called PK-CS and PK-SD respectively. PK-CS achieves O(1) public key size, O(log n) secret key size, O(r lognr) header size, and O(1) decryption time. PK-SD achieves O(1) public key size, O(log2n) secret key size, O(r) header size, and O(log n) decryption time.

In 2004, Yoo, Jho, Cheon, and Kim [YJCK04] proposed a symmetric broadcast encryption scheme based on the idea of Naor and Pinkas [NP01]. They used the idea of user set partition and multiple polynomials interpolation to construct a broadcast encryption scheme that is more efficient than SD. The scheme achieves O(lognr) secret key size and O(αr + m) header size, where 1 < α < 2 is a predetermined system parameter.

In 2005, Boneh, Gentry, and Waters [BGW05] proposed a fully collusion resistant public key broadcast encryption scheme with short ciphertext and short private key. The scheme achieves O(1) secret key size and O(1) header size. But the public key size is O(n) and the decryption time is O(n− r). Boneh, Gentry, and Waters also proposed a trade-off between the public key size and the header size. For example, a fully collusion resistant public key broadcast encryption scheme with O(√n) public key size, O(1) secret key size, O(√n) header size, and O(√n) decryption time.

In the same year, Hwang and Lee [HL06] used one-way hash functions as the building block to construct a symmetric broadcast encryption with logarithm secret key size. The scheme achieves O(log n) secret key size and O(r) header size. But their decryption time is O(nβ), where 0 < β≤ 1 is a system parameter.

(16)

In 2007, Liu and Tzeng [LT08] proposed three fully collusion resistant broadcast encryp-tion schemes based on the idea of polynomial interpolaencryp-tion. The first scheme is call BE-PI. Each user holds a share of the polynomial. When broadcasting the message, the shares of revoked users are broadcasted. Thus the valid receivers can obtain enough shares to recover the necessary information for decrypting the message, while the revoked users can not have enough shares from the broadcasted messages. BE-PI achieves O(1) public key size, O(log n) secret key size, O(r) header size, and O(r) decryption time. The second scheme is called PK-SD-PI, and it is based on the scheme PK-SD. PK-SD-PI achieves O(1) public key size, O(log2n) secret key size, O(r) header size, and O(1) decryption time. The third scheme is called PK-LSD-PI, and it is based on the scheme PK-LSD. PK-LSD-PI achieves O(1) public key size, O(log1+n) secret key size, O(r/) header size, and O(1) decryption time, where 0 <  < 1 is a system parameter.

In 2008, Selvi, Vivek, Gopalakrishnan, Karuturi, and Rangan [SVG+08] found a vulnera-bility of the ID-based broadcast signcryption scheme that was proposed by Mu, Susilo, Lin, and Ruan [MSLR04] in 2004. They proposed a new scheme that is called IBBSC is provably secure and achieves the IND-CCA2 and EUF-CMA2 security. IBBSC achieves O(n) public key size, O(1) secret key size, O(n− r) header size, and O(n − r) decryption time.

(17)

Table 1: Comparison of some broadcast encryption schemes

Scheme Public Key Size Secret Key Size Header Size Decryption Time CS N/A O(log n) O(r lognr) O(log log n) SD N/A O(log2n) O(r) O(log n) YJCK04 N/A O(logn

r) O(αr + n)

1 O(d

w)2

HL05 N/A O(log n) O(r) O(nβ)3

PK-CS O(1) O(log n) O(r lognr) O(1) PK-SD O(1) O(log2n) O(r) O(log n) BGW05 (i) O(n) O(1) O(1) O(n− r) BGW05 (ii) O(√n) O(1) O(√n) O(√n)

BE-PI O(1) O(log n) O(r) O(r) PK-SD-PI O(1) O(log2n) O(r) O(1) PK-LSD-PI O(1) O(log1+n)4 O(r/)4 O(1) Our Scheme O(1) O(log n) O(r) O(1)

1 1 < α < 2 is a system parameter. 2 d

1= 1 and di=α(di−1+ 1). Let w be the minimal integer such that n ≤ (α + 1)(dw+ 1) + 1.

3 0 < β ≤ 1 is a system parameter. 4 0 <  < 1 is a system parameter.

1.2

Our Contribution

We proposed a fully collusion resistant public key broadcast encryption scheme based on the idea of key derivation, the scheme PK-SD-PI, and the result of Boyen [Boy07]. Our scheme is an improvement on PK-SD-PI. We used the idea of key derivation to reduce the number of secret keys to O(log n). In our scheme, the polynomials are not all independent. The share of a polynomial can be derived from the share of another polynomial. Thus users don’t need to store as many as O(log2n) shares, and the size of secret key is reduced. We also used the result of [Boy07] to achieve the IND-CCA2 security without the extra redundancy in the random oracle model. Thus the header size is still the same as the original scheme PK-SD-PI, and the communication cost doesn’t rise up. Our scheme achieves O(1) public key size, O(log n) secret key size, O(r) header size, and O(1) decryption time. To the best of our knowledge, our scheme is the most efficient scheme in the existing broadcast encryption schemes.

(18)

2

Preliminary

We use the bilinear map as a fundamental tool to build our public key broadcast encryption scheme. We prove that our scheme is IND-CCA2 secure by reducing from the Gap-BDH problem. Thus our scheme is secure if Gap-BDH assumption is held. We are going to introduce the background knowledge used in this paper.

2.1

Bilinear Map

It is also known as pairing on elliptic curve. Let p be a large prime, G = g and Gt=gt be two multiplicative groups such that|G| = |Gt| = p, and ˆe : G × G → Gt be a computable pairing. Then ˆe should satisfy the following properties:

• Bilinear. ∀x, y ∈ Zp, we have ˆe(gx, gy) = ˆe(g, g)xy.

• Non-Degenerate. We have ˆe(g, g) = gt = 1.

• Computable. It can be computed in polynomial time with respect to |p|.

2.2

Gap-BDH Assumption

Let k be the security parameter, p be a large prime with|p| = k, G = g and Gt=gt be two multiplicative groups such that|G| = |Gt| = p, and ˆe : G×G → Gtbe a computable pairing. For an instance (g, ga, gb, gc) of Bilinear Diffie-Hellman (BDH) problem where a, b, c

R Zp,

the decisional oracle O about the instance is:

O(g, ga, gb, gc, W ) = 

1, if W = ˆe(g, g)abc 0, otherwise

The Gap-BDH problem is described as follows:

• Given (g, ga, gb, gc) as input and the access right of O, compute ˆe(g, g)abc.

(19)

• It is hard to solve the BDH problem for any polynomial-time adversary A, even with the help of the decisional oracle O. It means that the Gap-BDH problem is hard for any polynomial-time adversary. Therefore, we have

P r[AO(g, ga, gb, gc) = ˆe(g, g)abc]≤ neg(k) where neg(k) is some negligible function respect to k.

Gap-BDH assumption is a variant of BDH assumption, and the former is stronger than the latter. Gap-BDH assumption is not as widely used as BDH assumption. However, it is getting popular. For example, see [Boy07], [AFG+06], [BSNS05], [TNJ+05], [HSaFZ06], and [HSaFZ08].

2.3

Broadcast Encryption

Usually, there is a trusted third party, also known as the private key generator (PKG), to setup a public key broadcast encryption system. A scheme consists of the three algorithms: • Setup(1k, ID, U ). k is the security parameter, ID is the identity of system, and

U = {u1, u2, . . . , un} is the set of users in this system where n is the total number

of users. Setup takes these parameters as input and outputs the public key P K, the master secret key M SK for PKG, and the set SK = {SK1, SK2, . . . , SKn} of secret

keys where SKi is the secret key of user ui ∈ U.

• Enc(P K, T , Msg). P K is the public key, T ⊆ U is the set of valid receivers for this encryption, and M sg is the message to be encrypted. Enc takes these parameters as input and outputs the ciphertext Ctx of M sg. Only the user ui in T can decrypt Ctx with his secret key SKi, while other users can not.

• Dec(P K, SKi, Ctx). P K is the public key, SKi is the secret key of user ui in T ,

(20)

message M sg of Ctx if SKi is valid.

We say that a public key broadcast encryption scheme is IND-CCA2 secure if there is no polynomial-time adversary A that can win the following game with non-negligible advantage:

• Initial. A chooses a system identity ID and a set T ⊆ U of users to attack.

• Setup. Challenger C runs algorithm Setup(1k, ID, U ), and obtains the public key

P K and secret keys SK ={SK1, SK2, . . . , SKn} of all users in U. Then C sends the

public key P K and the secret keys SKu to A for each user u∈ U\T .

• Query Phase 1. A issues decryption queries Q = {Q1, Q2, . . . , Qq} to C adaptively

where q is polynomial to k. Then C responds to A’s queries with the answers R = {R1, R2, . . . , Rq} such that Qi =Enc(P K, T , Ri).

• Challenge. A chooses two messages M0 and M1 to C. Then C chooses a random bit

b, and runs the algorithm Enc(P K, T , Mb). C returns the ciphertext Ctx to A. • Query Phase 2. It is almost the same as the Query Phase 1, except that A can not

issue the decryption query about Ctx.

(21)

3

Idea of SD

D. Naor, M. Naor, and Lotspiech [NNL01] firstly proposed the tree-based broadcast encryp-tion system. They saw the users as the leaves of a complete binary tree, and the internal nodes of the binary tree present the subsets of users that are descendants of them. We use Ti to denote the set of users that are leaves of the subtree which is rooted in node i. In figure 1, we assume that there are totally 8 users here. These users are presented by the leaf nodes u1, u2, . . . , u8 respectively. The users u1, u2, u3, and u4 is covered by the node that is

labeled 2, and we use T2 to present this set.















Figure 1: Tree-based structure

D. Naor, M. Naor, and Lotspiech viewed designing a broadcast encryption scheme as solving the subset-cover problem in the tree-based system. They proposed a Subset-Cover framework and two broadcast encryption schemes based on the framework. Let n be the number of total users and r be the number of the revoked users. The first scheme is called CS. In CS, each user only needs to store O(log n) secret keys. But it partitions the receivers into O(r lognr) disjoint subsets, then the header size is too large. The second scheme is called SD, it reduces the header size from O(r lognr) to O(r). But the number of secret keys a user holds is increasing to O(log2n). We let the subset difference Txi denotes the set of users that

(22)

are in the subtree Ti but not in the subtree Tx, see figure 2.

Figure 2: Subset difference

In SD, we partition the receivers into disjoint subset differences. Use figure 3 as an example, we want to send a message to the users u1, u2, u6, u7, and u8. Then we can partition

these receivers into the subset differences T52 and Tu35 respectively, users {u1, u2} ∈ T52 and

users {u6, u7, u8} ∈ Tu35.















Figure 3: Partition of receivers

Let U be the set of users in the system and R be the set of revoked users for this time of message sending. We are going to partition the receivers U\R into the disjoint subset differences Ti1

x1, Ti 2

(23)

Steiner Tree induced by R and the root. We generate the collection of the disjoint subsets iteratively. We maintain a subtree T of the tree ST (R) with the property that any leaf node u ∈ U\R of T has been covered. In the beginning, we let T be equal to ST (R). Then we remove the nodes from T and add the subset difference to the collection iteratively, until T consists of only one single node:

1. Find two leaves vi and vj in the tree T such that their least common ancestor v does not contain any other leaf of T in the subtree Tv. Let vk and vl be the two children of v such that vk is an ascendant of vi and vl is an ascendant of vj. If there is only one leaf in T, let vi = vj be the leaf and v = vk = vl be the root of T.

2. If vk = vi, add the subset difference Tk

i to the collection. Likewise, if vl = vj, add the

subset difference Tl

j to the collection.

3. Remove the subtree Tv from T, and make the node v a leaf in T. Let T = Ti1

x1∪Ti 2

x2∪· · ·∪Txirr be the union of the disjoint subset differences of valid receivers

and r be the number of partition of T in SD. While broadcasting a message M , we encrypt M with the session key K and encrypt K for r times with the secret keys SK1, SK2, . . . , SKr

respectively where SKk, 1≤ k ≤ r, is the secret key of the subset difference Tik

xk of receivers.

Thus the ciphertext isEK(M ), ESK 1(K), ESK 1(K), . . . , ESK r(K) where E and E are some symmetric encryptions, e.g. AES.

In SD, each user needs to store all the secret keys of the subset differences that he belongs to. Use figure 4 as an example, user u3 needs to store the secret keys of the subset differences

T115, {T42, T82, T92, T112}, and {T31, T41, T61, T71, T81, T91, T111, T121, T131, T141, T151}. The storage amount of each user is too high, it is O(n).

To reduce the storage amount, D. Naor, M. Naor, and Lotspiech proposed the hash chain solution. For each subtree Ti, the node x of Ti is assigned an unique label Li

(24)





























Figure 4: Key storage

the labels of the children nodes can be generated from the label of the parent node by using the two one-way hash functions HL and HR. Moreover, the hash function HL is for the left child node and the hash function HR is for the right child node, thus we have Li

2x = HL(Lix)

and Li

2x+1 = HR(Lix). The secret key SKxi of the subset difference Txi is generated by the

one-way hash function HK such that SKxi = HK(Lix). Thus each user doesn’t need to store all the secret keys anymore, he just stores the labels of the sibling nodes along the path from himself to the root node i for each subtree Ti. The storage amount for each user is reduced from O(n) to O(log2n) by the hash chain solution.

In figure 5, we use the subtree T1 as an example and let Lx denotes the label L1x for

simplicity. The user u3 needs to store the labels L11, L4, and L3 in the subtree T1. Then

he can use the hash functions HL and HR to generate the other labels that he should own, like {L8, L9} from L4, {L6, L7} from L3, {L12, L13} from L6, and {L14, L15} from L7. User

u3 can use the hash function HK to generate the secret keys of subtree T1 he needs.

An user needs to store O(log n) secret keys for a subtree, and there are totally O(log n) subtrees for an user. Thus the number of secret keys a user needs to store is bounded by O(log2n).

(25)
(26)

4

Idea of PK-SD

Dodis and Fazio [DF03] proposed two public key broadcast encryption schemes that are called PK-CS and PK-SD by applying Identity Based Encryption (IBE) and Hierarchical Identity Based Encryption (HIBE) to the schemes CS and SD respectively.

The distinctive difference between the general public key encryption and IBE system is that the public key of user can be any arbitrary or meaningful string in IBE while it usually is a random or meaningless string in the general public key encryption system. In IBE system, we usually use the receiver’s identity, e-mail address, or telephone number as receiver’s public key to encrypt the message. There is a trusted third party that is called Private Key Generator (PKG). PKG holds the master secret key, and he can generate any private keys of any identity if he wants to. Each user needs to register himself to the PKG, thus he can obtain his own private key.

HIBE system enjoys more features than IBE system. The users in HIBE are in the tree-based structure, and we can see them as the nodes of a binary tree. The maximum level of the binary tree is a system parameter that is decided before the implementation of the system. The important feature of HIBE is that the ascendant user can derivate the private keys of his descendant users from his private key. Thus the message for the descendant user can also be decrypted by his ascendant users, while the message for the ascendant user can not be decrypted by his descendant users. It means that the users in the higher level have more authority that the users in the lower level.

Dodis and Fazio proposed a naming system to generate the public key of each subset difference. For each subtree Ti, they give the root node i an unique identity independently. Then the identity of the left child is generated by concatenating 0 to his parent’s identity, while the identity of the right child is generated by concatenating 1. In figure 6, we use the subtree T1 as an example. We give the root node 1 of the subtree T1 an unique identity R.

(27)

Then the identities of his children are R0 and R1 respectively.

We can use these identities as public keys to encrypt the messages. The users in PK-CS or PK-SD store their private keys as if they are in CS or SD respectively. But in PK-SD, the user needs to be able to derivate the other private keys that he should hold from his private keys. So we have to use the HIBE system in PK-SD, while we just use IBE system in PK-CS.              

(28)

5

Idea of PK-SD-PI

Liu and Tzeng [LT08] proposed three fully collusion resistant broadcast encryption schemes based on the idea of polynomial interpolation. The schemes are called BE-PI, PK-SD-PI, and PK-LSD-PI respectively. In PK-SD-PI, the users are the leaves of a complete binary tree, and the internal nodes of the binary tree present the sets of users that are covered. We use Ti to denote the set of users that are leaves of the subtree which is rooted in node i, and we let the subset difference Txi denotes the set of users that are in the subtree Ti but not in the subtree Tx. These settings are the same as SD, and the distinctive difference between PK-SD-Pi and SD is about the secret keys. In PK-SD-PI, an user stores the secret keys that are related to his ascendant nodes. While in SD, an user stores the secret keys that are related to his sibling nodes.

For each subtree Ti, we denote the maximum number of its levels as li. Then there are li independent polynomials belonging to Ti, one polynomial to one level of the subtree. These polynomials are named as f1i, f2i, . . . , flii respectively, and the polynomial fji, 1 ≤ j ≤ li, is used for the nodes that are in the j-th level of Ti. Use figure 7 as an example, we assume that there are totally 8 users here. The polynomial f11 is used for node 2 and node 3 in the subtree T1, and the polynomial f22 is used for the leaf nodes u1, u2, u3, and u4 in the subtree

T2. These polynomials are all degree of one, and we let fji(X) = aij,1X + aij,0 for 1≤ j ≤ li.

The secret of the polynomial fi

j is fji(0), the coefficient aij,0 of the constant term. Thus the

coefficients of these polynomials are made private, but their masked values, hidden in the exponent, are public information.

For each subtree Ti, the covered user needs to store the shares of the polynomials fji that are at the path from himself to the root node i. Use figure 7 as an example, the user u3

needs to store the shares {f11(2), f21(5), f31(u3)} for subtree T1,{f12(5), f22(u3)} for subtree T2,

(29)













































(30)

Let T = Ti1

x1 ∪ Ti 2

x2 ∪ · · · ∪ Txirr be the union of the disjoint subset differences of valid

receivers and r be the number of subset differences of receivers. To broadcast a message M , we encrypt M with the system public key, and the master secret key is masked by the secrets of the polynomials that are related to the subset differences respectively. The idea is secret sharing. The valid receivers can obtain enough shares to recover the secret of the polynomial for decrypting the message, while the revoked users can not have enough shares from the broadcasted messages. Thus we broadcast the ciphertext and the shares held by the revoked users. The ciphertext isEnc(M), P1, P2, . . . , Pr where Enc(M) is the ciphertext of M and

Pk is the shares.

Use figure 8 as an example, we want to send a message to the users u1, u2, u6, u7,

and u8. These users are partitioned into the subset differences T52 and Tu35, and the related

polynomials are f12 and f23respectively. We use the system public key to encrypt the message, and the master secret key is masked by f12(0) and F23(u5) respectively. Then we broadcast

the share f12(5) held by the revoked users {u3, u4} and the share f23(u5) held by the revoked

user u5. The users u1 and u2 can have enough shares{f12(4), f12(5)} to recover the secret for

decryption. But the revoked users u3 and u4 only have their own share f12(5), and it is not

(31)















%URDGFDVW DQG Figure 8: PK-SD-PI

(32)

6

Our Scheme

In PK-SD-PI, an user needs to store O(log2n) secret keys. Use figure 7 as an example, the user u3 needs to store the shares {f11(2), f21(5), f31(u3)}, {f12(5), f22(u3)}, and f15(u3).

We observe that these shares usually use the same intput values but apply to different polynomials. For example,{f21(5), f12(5)} share the same input 5 and {f31(u3), f22(u3), f15(u3)}

share the same input u3. It means that we can have an easy method of key derivation, because

we only need to focus on the translation of coefficients between the polynomials. That’s why we can use O(log n) independent polynomials and O(log n) independent information to substitute the O(log2n) independent polynomials in PK-SD-PI.

Our key derivation method is in the horizontal form, not in the intuitional vertical form. We let the polynomials of subtree Ti can be derivated from the polynomials of subtree T1

respectively. Using the information kdi, the polynomial fji can be derivated from the poly-nomial fj+log i1 directly. In figure 9, {f12(5), f22(u3)} can be derivated from {f21(5), f31(u3)}

respectively with the same information kd2, and f15(u3) can be derivated from f31(u3) with

the infromation kd5.

The polynomials belong to subtree T1 are all independent, and the information kdi,

2 ≤ i ≤ n − 1, used for key derivation are all independent, too. Figure 10 is a sketch of the polynomial derivation. The polynomial fi

j(x) can be derivated from the polynomial

fj1(x) = Ajx2+ Bjx + Cj with kdi = (Di, Ei) by adding Di to the coefficient of x-term and

Ei to the coefficient of constant term, that is fji(x) = fj1(x) + Dix + Ei.

Let k be the security parameter, and p be a large prime such that |p| = k. We have a multiplicative group G = g such that |G| = p. Let H1 : {0, 1}∗ → {0, 1}k and H2 :

{0, 1}∗→ G be collision resistant hash functions. Furthermore, let ID be the identity name

of the scheme, h and h ∈ G be the assigned values, and n be the total number of users in the scheme. Without loss of generality, we assume that n is a power of 2, and let log be the

(33)

Figure 9: Key derivation

ORJ

(34)

logarithm with the base 2.

In our scheme, the users are the leaves of a complete binary tree, and the internal nodes cover the users in its descendant leaves. The polynomial fi

j is used for the nodes that are

descendants of node i and are in the j-th level from node i. These settings are almost the same as PK-SD-PI, except that we use the polynomials of degree of 2 while PK-SD-PI uses the polynomials of degree of 1. We denote fi

j(X) = aij,2X2 + aij,1X + aij,0 (mod p) be a

2-degree polynomial function.

Each polynomial fji is assigned a specific value either h or h. Most of them are assigned h, and the remains are assigned h. We claim that for each subtree Ti, there are at most one polynomial fi

j that is assigned h. We use the hash function H1to pick up which polynomials

are assigned h:

For each subtree Ti, we let

ji ≡ H1(ID||i) (mod log n − log i + 1)

where log n− log i + 1 equals to the number of levels of Ti plus one. • If j

i = 0, the polynomials belong to subtree Ti are all assigned h.

• If j

i = 0, the polynomial fjii is assigned h

. The other polynomials belong to subtree

Ti are assigned h.

Figure 11 is an example. Subtree Tu has 4 levels, and we have H1(ID||u) ≡ 2 (mod 5).

Thus the polynomial fu

2 is assigned h, and the remaining polynomials of Tu are assigned h.

Likewise, Subtree Tv has 3 levels, and we have H1(ID||v) ≡ 0 (mod 4). Thus there is no

polynomial of Tv assigned h, and the polynomials belong to Tv are all assigned h. Then there are three possible relation between the polynomial fj+log i1 and fji:

1. The polynomial fj+log i1 is assigned h (h), and the polynomial fji is also assigned the same value h (h). We denote it as h→ h (h → h).

(35)

__  PRG

__  PRG

Figure 11: Assignment of h and h

2. The polynomial fj+log i1 is assigned h, while the polynomial fi

j is assigned h. We

denote it as h→ h.

3. The polynomial fj+log i1 is assigned h, while the polynomial fji is assigned h. We denote it as h → h.

For different relation between fj+log i1 and fi

j, we use different information to derivate the

polynomial fi

j. Thus kdi is composed of three parts (Di,1, Ei,1), (Di,2, Ei,2), and (Di,3, Ei,3).

Figure 12 is a sketch for the polynomial derivation:

• The first part (Di,1, Ei,1) is used for the case 1: h → h or h → h.

• The second part (Di,2, Ei,2) is used for the case 2: h→ h.

• The third part (Di,3, Ei,3) is used for the case 3: h → h.

The coefficients of the polynomial fi

j(X) = aij,2X2 + aij,1X + aij,0 are secrets, but their

masked values are public information. The masked values are the coefficients put in the exponents of g, that is gaij,k for 0≤ k ≤ 2. The information kd

i for key derivation also needs

(36)

ORJ

Figure 12: Polynomial derivation depends on the relation

The masked values of the polynomials belong to subtree T1and the information kdiwhere

2≤ i ≤ n − 1 are computed as follows:

• ga1j,s = H2(ID||1||j||s), for 1 ≤ j ≤ log n and 0 ≤ s ≤ 2

• gbil,s = H2(ID||i||l||s), for 1 ≤ l ≤ 3 and 0 ≤ s ≤ 1

where a1j,sis the coefficient of the Xs-term of the polynomial f1

j, and bil,s is the key derivation

information for the Xs-term of the polynomial belong to subtree T

i respect to the case l.

Thus the masked values of the polynomials belong to subtree Ti where 2≤ i ≤ n − 1 are computed as follows:

• gai j,2 = ga

1

j+log i,2, for 1 ≤ j ≤ log n − log i

• gai j,s = ga

1

j+log i,s× gbil,s if it is case l, for 1≤ j ≤ log n − log i and 0 ≤ s ≤ 1

The masked coefficients of the polynomials can be computed easily. But these polynomi-als can not be accessed directly since their function values are the secrets to guarantee the security. The users can access these polynomials only in the masked way (in the exponent of g).

(37)

6.1

Construction

Let k be the security parameter, and p be a large prime such that |p| = k. We have two multiplicative groups G = g and Gt =gt such that |G| = |Gt| = p, and a bilinear map ˆ

e : G× G → Gt such that ˆe(g, g) = gt. Let H1 : {0, 1}∗ → {0, 1}k, H2 : {0, 1}∗ → G,

π : Gt → Zp, Ψ : Gt → Gt, and Φ : G× Gt → Gt be collision resistant hash functions. Furthermore, let ID be the identity name of the scheme, h and h ∈ G be the assigned values, and n be the total number of users in the scheme. Without loss of generality, we assume that n is a power of 2, and let log be the logarithm with the base 2. We denote Δh = h/h.

The scheme is composed of the following algorithms: • Setup(1k, ID, U ):

k is the security parameter, ID is the identity of this system, and U is the set of users in the system. The private key generator (PKG) chooses the master secret key ρ∈ Zp randomly, thus M SK = ρ. PKG then publishes the public key P K and generates the secret key SKv for each user uv as follows:

– P K ={ID, G, Gt, ˆe, g, gρ, h, h, H1, H2, π, Ψ, Φ} – SKv =  sk1j, for 1 ≤ j ≤ log n kdi, for i ∈ Ancestor(uv)  where skj1 ={grv, grvfj1(I1,jv ), grvfj1(0)hρ} or sk1 j ={grv, grvf 1 j(I1,jv ), grvfj1(0)hρ}

it depends on the assigned value of polynomial fj1, and kdi ={(grvbi1,1, grvb1,0i ), (grv(bi2,1Ii,jv +bi2,0)

, grvbi2,0Δhρ), (grv(bi3,1Ii,jv +bi3,0)

, grvbi3,0 1

Δhρ)}

Here sk1j is the share of polynomial fj1 held by the user uv, and kdi is the information used to derivate the polynomial fji from the polynomial fj+log i1 . Moreover, rv ∈ Zp is

(38)

chosen randomly, gbil,s = H2(ID||i||l||s) is the key derivation information, and Iv

i,j is an

identity of the node that is an ascendant of uvand in the j-th level of the subtree Ti, see figure 13. We denote Iv

i,j as the identity of the node whose polynomials fj1+log i and

fi

j are in the case 2: h → h, and Ii,jv  as the identity of the node whose polynomials

fj1+log i and fji are in the case 3: h → h.

/HYHO /HYHO

/HYHO

Figure 13: The notation Ii,jv When fj+log i1 and fi

j are assigned the same value h (h), we use the first element

(grvbi1,1, grvbi1,0) of kd

i to generate skij from skj+log i1 as follows:

skji = skj+log i1 × {1, (grvbi1,1)Ii,jv grvbi1,0, grvbi1,0}

If fj1+log iis assigned h and fjiis assigned h, we use the second element (grv(b i

2,1Ivi,j+bi2,0), grvbi2,0Δhρ)

of kdi to generate skij from skj1+log i as follows:

skji = sk1j+log i× {1, grv(b i

2,1Ii,jv +b i

2,0), grvbi2,0Δhρ}

If fj1+log iis assigned hand fjiis assigned h, we use the third element (grv(b i

3,1Ii,jv +bi3,0), grvbi3,0 1

(39)

of kdi to generate skij from skji+log i as follows: skji = skj1+log i× {1, grv(b i 3,1Ii,jv +b i 3,0), grvbi3,0 1 Δhρ} • Enc(P K, T , Msg):

P K is the public key, T ⊆ U is the set of valid receivers for this encryption, and Msg is the message to be encrypted. Let T = r

t=1

Tit

xt be the union of disjoint subset differences

of users, and r is the number of partitions for T . The procedure of encryption is defined as follows:

1. Choose z∈ Zp randomly and compute: ⎧ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎩ A = ˆe(gρ, h)z B = Ψ(A)⊕ Msg C = ˆe(gρ, h)z/π(B) D = gz/π(B) E = Φ(D, C)⊕ B and ⎧ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎩ A = ˆe(gρ, h)z B = Ψ(A)⊕ Msg C = ˆe(gρ, h)z/π(B) D = gz/π(B) E = Φ(D, C)⊕ B 2. Generate the broadcasted shares depending on T = Ti1

x1 ∪ Ti 2

x2 ∪ · · · ∪ Txirr. For a

subset difference Tit

xt, assume that the node xt is in the jt-th level from the node it

and yt = 0 is not in the system (yt does not present any nodes). For each subset difference Tit

xt where 1≤ t ≤ r, compute the shares:

Pt,1 = (it, xt, gz/π(B)fjtit(xt)) Pt,2 = (it, yt, gz/π(B)fjtit(yt)) and Pt,1 = (it, xt, gz/π(B)fjtit(xt)) Pt,2 = (it, yt, gz/π(B)fjtit(yt))

Thus the ciphertext is like this:

Ctx ={(E, D, P1,1, P1,2, . . . , Pr,1, Pr,2) for h , (E, D, P1,1 , P1,2 , . . . , Pr,1 , Pr,2 ) for h }

If the polynomials related to T are all assigned h, the part for h of Ctx can be omitted. Likewise, If the polynomials related to T are all assigned h, the part for h of Ctx can be omitted.

(40)

• Dec(P K, SKv, Ctx):

P K is the public key, SKv is the secret key of the user uv ∈ T , and Ctx is the ciphertext to T . Without loss of generality, we assume that the user uv ∈ Txi where the node x is in the j-th level from the node i, and the polynomial fji is assigned h. Thus we use the part for h of Ctx to decrypt. We denote P1 and P2 be the published shares that

are related to the subset difference Ti

x. In practically, which pair (Pt,1, Pt,1) should be

used for decryption is according to the first two elements (it, xt) of the share Pt,1. The procedure of decryption is defined as follows:

1. If i = 1, generate the secret key ski

j from skj+log i1 and kdi respect to the real

case. Thus we have:

skij ={grv, grvfji(Ii,jv ), grvfji(0)hρ}

2. Compute the pairing with D = gz/π(B) and grvfji(Ivi,j) of ski j: ˆ e(gz/π(B), grvfji(Ii,jv )) = gz/π(B)rvf i j(Ii,jv ) t

3. Compute the pairings with gz/π(B)fji(x) of P1, gz/π(B)fji(y) of P2, and grv of ski

j: ˆ e(grv, gz/π(B)fji(x)) = gz/π(B)rvf i j(x) t ˆ e(grv, gz/π(B)fji(y)) = gz/π(B)rvf i j(y) t 4. Compute gz/π(B)rvf i j(0) t from ⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩ (Ii,jv , gz/π(B)rvf i j(Ii,jv ) t ) (x, gz/π(B)rvf i j(x) t ) (y, gz/π(B)rvf i j(y) t ) by Lagrange Interpolation: gz/π(B)rvf i j(0) t = (g z/π(B)rvfji(Ii,jv ) t ) (0−x)(0−y) (Ivi,j −x)(Ivi,j −y)

× (gz/π(B)rvfji(x) t ) (0−y)(0−Ivi,j) (x−y)(x−Ivi,j) × (gz/π(B)rvfji(y) t ) (0−Ivi,j)(0−x) (y−Ivi,j)(y−x)

(41)

5. Compute C = ˆe(gρ, h)z/π(B) from D, grvfji(0)hρ of ski j, and g z/π(B)rvfji(0) t : C = e(D, gˆ rvfji(0)) gz/π(B)rvfji(0) t = ˆe(D, hρ)e(D, gˆ rvfji(0)) gz/π(B)rvfji(0) t = ˆe(D, hρ) = ˆe(gz/π(B), hρ) 6. Compute B from E = Φ(D, C)⊕ B and D, C:

B = E⊕ Φ(D, C) 7. Compute A = ˆe(gρ, h)z from C = ˆe(gρ, h)z/π(B) and B:

A = Cπ(B) 8. Compute M sg from B = Ψ(A)⊕ Msg and A:

(42)

7

Security

The scheme is IND-CCA2 secure with random oracle under the Gap-BDH assumption.

Theorem 1. If Gap-BDH problem is (t, )-hard, the scheme is (t−t, +)-IND-CCA2 secure in the random oracle model where t is polynomial k-bounded and  qd(qd+qΨ)

p = O(k2)

2k is

negligible to k (qd is the number of decryption query and qΨ is the number of hash-Ψ query).

Proof. We reduce Gap-BDH problem to the scheme. Let H1, H2, Φ, and Ψ be random

oracles, while π just be a collision resistant hash function. We denote C as the challenger of Gap-BDH problem, A as the adversary of the scheme, and S as the simulator between C and A. Then S is described as follows:

• Initial. S receives the instance (g, ga, gb, gc) of BDH problem as input and the access

right of decisional oracle O about BDH problem from C. Then A chooses an system identity ID and a set T ⊆ U of users to attack.

• Setup. Let T = r

t=1

Tit

xt be the union of disjoint subset differences, and S sets up the

random oracles H1 and H2 depending on T . For each Tit

xt where 1≤ t ≤ r, we assume

that node xt is in the jt-th level from node it. Then H1 and H2 are defined as follows:

– H1. For each subset difference Txitt where 1≤ t ≤ r, we have the pair (it, jt) and

set

H1(ID||it) = jt+ mit(log n− log it + 1)

where mit is a random number. Then for the remaining subtree Ti in the system, set

H1(ID||i) = mi(log n− log i + 1)

(43)

The setting assigns h to the polynomial fit

jt where 1 ≤ t ≤ r and assigns h to

the other polynomials. If the input is not meaningful, H1 just returns a random

number under the consistence. Note that there doesn’t exist polynomials fi j and

fj+log i1 that are both assign h.

– H2. The setting of H2 is composed of the two steps:

1. Set up the polynomials fj1 that are belong to the subtree T1.

If subset difference Tx1 ⊆ T (assume that the node x is in the j-th level from

node 1), set

fj1(0) = m− b (1)

fj1(x) = x (2)

fj1(y) = y (3)

where y = 0 is not in the system, and (m, x, y)R Zp3 is chosen by S (S knows m, x, and y, but he does not know b). Then compute gfj1(X) =

ga1j,2X

2+a1

j,1X+(m−b) by Lagrange Interpolation over the exponent of g, and

have

H2(ID||1||j||s) =

gm−b, if s = 0 ga1j,s, for 1 ≤ s ≤ 2

For the remaining polynomials fj1(X) = a1j,2X2+ a1j,1X + a1j,0 of subtree T1,

choose them randomly and have

H2(ID||1||j||s) = ga

1

j,s, for 0 ≤ s ≤ 2

2. Set up the information that is used for key derivation.

If subset difference Tx1 ⊆ T (assume that the node x is in the j-th level from

the node 1), then for 2≤ i ≤ 2j− 1, set

H2(ID||i||3||s) =



gb+mi, if s = 0

(44)

where mi R Zp is chosen by S. Then for each of the remaining subset difference Tit xt ⊆ T , set H2(ID||it||2||s) =  gmit−b, if s = 0 gb/xt, if s = 1 (5)

where mit R Zp is chosen by S. Moreover, for 2≤ i ≤ n − 1, set

H2(ID||i||1||s) = gmi,s, for 0 ≤ s ≤ 1 (6)

where mi,s RZp is chosen by S.

If the input is not meaningful, H2 just returns a random number under the

con-sistence.

Then S sets the public key

P K ={ID, G, Gt, ˆe, g, gρ= ga, h = gs, h = gb, H1, H2, π, Ψ, φ}

where s∈R Zp is chosen by S, and the master secret key M SK = a is unknown. The secret key SKv of the revoked user uv ∈ U\T is computed as follows:

1. Set grv = ga+nv where n

v ∈RZp is chosen by S.

2. Compute the secret key sk1j where 1≤ j ≤ log n.

If subset difference Tx1 ⊆ T (assume that the node x is in the j-th level from

node 1), compute skj1 = {grv, grvf 1 j(I v 1,j), grvfj1(0)hρ}

= {ga+nv, g(a+nv)x, g(a+nv)(m−b)gba} by (1) and (2)

= {ga+nv, g(a+nv)x, gam+nvm−bnv}

where Iv

(45)

secret key sk1j, compute

sk1j = {grv, grvfj1(I1,jv ), grvfj1(0)hρ}

= {ga+nv, g(a+nv)Xj, g(a+nv)Yjgas}

where Xj = fj1(Iu

i,j) and Yj = fj1(0) can be easily computed by S, since the

polynomial fj1 is decided by S.

3. Compute the information kdi where i∈ Ancestor(uv).

If subset difference Tx1 ⊆ T (assume that the node x is in the j-th level from the

node 1), compute

(grv(bi3,1Ii,jv +bi3,0), grvbi3,0 1

Δhρ) = (g

(a+nv)(−bxx+b+mi), g(a+nv)(b+mi)g(s−b)a) by (4)

= (g(a+nv)mi, gbnv+ami+nvmi+as)

where Iv

i,j = x, otherwise the user uv is not revoked. Then for each of the

remaining subset difference Tit

xt ⊆ T (assume that the node xt is in the jt-th level

from the node it), compute

(grv(bi2,1Iit,jtv +bi2,0), grvbi2,0Δhρ) = (g(a+nv)(xtbxt+mit−b), g(a+nv)(mit−b)g(b−s)a) by (5)

= (g(a+nv)mit, gamit +nvmit−bnv−as)

where Iv

it,jt = xt, otherwise the user uv is not revoked. Moreover, compute

(grvbi1,1, grvb1,0i ) = (g(a+nv)mi,1, g(a+nv)mi,0) by (6)

Then S sends the public key P K and the secret key SKv of the revoked user uv ∈ U\T to A.

• Query Phase 1. A issues decryption query, hash-Φ query, and hash-Ψ query adaptively. Then S responds to these queries as follows:

(46)

– Decryption query. According to the above setting, the ciphertext to T only

con-sists of the part for h. Otherwise, S can use the part for h of ciphertext to decrypt the message trivially, since h = gs is chosen by S and he knows the exponent s.

S receives the query Qd = {E, D, P1,1 , P1,2 , . . . , Pr,1 , Pr,2 } and checks the query list of hash-Φ.

∗ If record Φ(D, C) = φ exists and O(g, gρ, h, D, C) = 1, computes

B = E⊕ φ A = Cπ(B) M sg = B⊕ Ψ(A) and returns M sg.

∗ Otherwise, returns Msg

RGt and sets (E, D)→ Msg into the watch list

of hash-Φ.

– Hash-Φ query. S receives the query QΦ = (DΦ, CΦ) and checks the query list of

hash-Φ.

∗ If record Φ(DΦ, CΦ) = φ exists, returns φ.

∗ Otherwise, returns Φ(DΦ, CΦ) = φ ∈RGt. Moreover, if O(g, gρ, h, DΦ, CΦ) =

1, for each record (E, D)→ Msg in the watch list such that D = DΦ,

com-putes

B = E ⊕ φ A = CΦπ(B) Ψ(A) = B⊕ Msg

and sets Ψ(A) = B ⊕ Msg into the query list of hash-Ψ.

(47)

∗ If record Ψ(AΨ) = ψ exists, returns ψ.

∗ Otherwise, returns Ψ(AΨ) = ψ ∈RGt.

• Challenge. A chooses two messages M0 and M1. Then C returns the ciphertext

Ctx ={E, D = gc, P1,1 , P1,2 , . . . , Pr,1 , Pr,2 }

where E is a random element in Gt, and the shares (P1,1 , P1,2 , . . . , Pr,1 , Pr,2 ) can be computed by S under the above setting (Like the computation for the second element grvfji(Ii,jv ) of secret key ski

j in the simulation).

• Query Phase 2. It is almost same as query phase 1, except that A can not issue the decryption query about Ctx.

• Guess. S checks the query list of hash-Φ and sees whether there is a record Φ(D, C) =

φ such that O(g, gρ= ga, h = gb, D = gc, C) = 1. If there is, S returns C = ˆe(g, g)abc as the answer of Gap-BDH problem. Otherwise, we claim that A can not have non-negligible advantage to crack our system, since that the simulation is almost perfect and the challenge ciphertext Ctx is independent to M0 and M1.

Finally, we are going to analyze the efficacy of the simulation. It is almost perfect, except that hash-Ψ may not be consistent. Inconsistency is caused by the artificial settings to hash-Ψ in the manipulation of the watch list of Hash-Φ. The artifical setting to hash-Ψ may contradict another artificial setting or the query list of hash-Ψ. For example, we may face the situation that we have set Ψ(A) = W before, but now we have to set Ψ(A) = W to complete the manipulation of watch list. The number of the artificial settings is bounded by the number of decryption query, that is qd. Thus the probability of this situation occurring is at most Cqd

2 1p. Moreover, the adversary can issue at most qΨ hash-Ψ queries. After issuing

(48)

contradict the existing records in the query list. The probability of this situation occurring is at most Cqd

1 qpΨ.

The probability of inconsistency is negligible respect to k:

P r[Inconsistent]≤ Cqd 2 1 p + C qd 1 qΨ p qd(qd+ qΨ) p = O(k2) 2k

(49)

8

Remark

In our construction, the assignment of the specific value h and h is not intuitive. Someone may ask that why do not use one specific value h only, or just like PK-SD-PI that assigns each polynomial fi

j an unique value hi,j respectively. The reasons are as follows:

• Like PK-SD-PI. If we assign each polynomial fi

j an unique value hi,j that is generated

by the hash function, then the assigning values are all independent to each other. Thus for each subtree Ti, we need O(log n) information for changing the assigning value hi,j in the element grvfji(0)hρ

i,j of the secret key during the key derivation from the secret

keys belong to the subtree T1 to the secret keys belong to the subtree Ti. Then we have

to put O(log2n) information in the secret keys of each user. In order to reduce secret key size to O(log n), the information needed for changing the assigning value during the key derivation for each subtree Ti must be bounded by O(1).

• Use one value only. If we only use one specific value h, then we must set h = gb

in the simulation to feed the challenge input gb to the adversary. Thus we have to

set all the polynomials fi

j with fji(0) = b + mi,j where mi,j ∈R Zp is chosen by us,

because we can only compute the element grvfji(0)hρ of the secret key in this way that

grvfji(0)hρ = (g−a)(b+mi,j)(gb)a = (ga)−mi,j. But this setting makes all polynomials be

secret to us, and we only know two function values of each polynomial. If the number of revoked users is greater than 2, we can not compute all the elements grvflog n1 (x) of

the secret keys of the revoked users. We can only compute two secret keys for revoked users, but the number of revoked users is more than two.

(50)

9

Conclusion

We have proposed a fully collusion resistant public key broadcast encryption scheme that achieves O(1) public key size, O(log n) secret key size, O(r) ciphertext size, and O(1) de-cryption time. Our scheme is the most efficient scheme in the existing broadcast ende-cryption schemes.

We propose some open questions about broadcast encryption:

1. Is it possible to construct a more efficient scheme?

(51)

References

[AFG+06] Nuttapong Attrapadung, Jun Furukawa, Takeshi Gomi, Goichiro Hanaoka, Hideki Imai, and Rui Zhang 0002. Efficient identity-based encryption with tight security reduction. In CANS, pages 19–36, 2006.

[BGW05] Dan Boneh, Craig Gentry, and Brent Waters. Collusion resistant broadcast encryption with short ciphertexts and private keys. In CRYPTO, pages 258– 275, 2005.

[Boy07] Xavier Boyen. Miniature cca2 pk encryption: Tight security without redundancy. In ASIACRYPT, pages 485–501, 2007.

[BSNS05] Joonsang Baek, Reihaneh Safavi-Naini, and Willy Susilo. Efficient multi-receiver identity-based encryption and its application to broadcast encryption. In Public Key Cryptography, pages 380–397, 2005.

[DF03] Yevgeniy Dodis and Nelly Fazio. Public key trace and revoke scheme secure against adaptive chosen ciphertext attack. In Public Key Cryptography, pages 100–115, 2003.

[FN93] Amos Fiat and Moni Naor. Broadcast encryption. In CRYPTO, pages 480–491, 1993.

[HL06] Yong Ho Hwang and Pil Joong Lee. Efficient broadcast encryption scheme with log-key storage. In Financial Cryptography, pages 281–295, 2006.

[HSaFZ06] Xinyi Huang, Willy Susilo, and Yi Mu amd Futai Zhang. Short (identity-based) strong designated verifier signature schemes. ISPEC, 2006. LNCS 3903.

(52)

[HSaFZ08] Xinyi Huang, Willy Susilo, and Yi Mu amd Futai Zhang. Short designated verifier signature scheme and its identity-based variant. International Journal of Network Security, 2008. Vol.6, No.1.

[LT08] Yi-Ru Liu and Wen-Guey Tzeng. Public key broadcast encryption with low number of keys and constant decryption time. In Public Key Cryptography, pages 380–396, 2008.

[MSLR04] Yi Mu, Willy Susilo, Yan-Xia Lin, and Chun Ruan. Identity-based authenticated broadcast encryption and distributed authenticated encryption. In ASIAN, pages 169–181, 2004.

[NNL01] Dalit Naor, Moni Naor, and Jeffery Lotspiech. Revocation and tracing schemes for stateless receivers. In CRYPTO, pages 41–62, 2001.

[NP01] Moni Naor and Benny Pinkas. Efficient trace and revoke schemes. In FC ’00: Pro-ceedings of the 4th International Conference on Financial Cryptography, pages 1–20, London, UK, 2001. Springer-Verlag.

[SVG+08] S. Sharmila Deva Selvi, S. Sree Vivek, Ragavendran Gopalakrishnan, Naga Naresh Karuturi, and C. Pandu Rangan. Provably secure id-based broad-cast signcryption (ibbsc) scheme. Cryptology ePrint Archive, Report 2008/225, 2008. http://eprint.iacr.org/.

[TNJ+05] GOMI TAKESHI, ATTRAPADUNG NUTTAPONG, FURUKAWA JUN, ZHANG RUI, HANAOKA GOICHIRO, and IMAI HIDEKI. Cca-secure ibe scheme with tight security reduction based on the gap bdh assumption. Pro-ceedings of the Symposium on Information Theory and Its Applications, 2005. VOL.28th;NO.Vol.1.

(53)

[YJCK04] Eun Sun Yoo, Nam-Su Jho, Jung Hee Cheon, and Myung-Hwan Kim. Efficient broadcast encryption using multiple interpolation methods. In ICISC, pages 87–103, 2004.

數據

Table 1: Comparison of some broadcast encryption schemes
Figure 1: Tree-based structure
Figure 2: Subset difference
Figure 4: Key storage
+7

參考文獻

相關文件

Other than exploring the feasibility of introducing a salary scale for KG teachers, we also reviewed the implementation of the Scheme in different areas including funding

Recommendation 14: Subject to the availability of resources and the proposed parameters, we recommend that the Government should consider extending the Financial Assistance

NETs can contribute to the continuing discussion in Hong Kong about the teaching and learning of English by joining local teachers in inter-school staff development initiatives..

The temperature angular power spectrum of the primary CMB from Planck, showing a precise measurement of seven acoustic peaks, that are well fit by a simple six-parameter

Continue to serve as statements of curriculum intentions setting out more precisely student achievement as a result of the curriculum.

Schools participating in the Pilot Scheme on Promoting Interflows between Sister Schools in Hong Kong and the Mainland (the “Pilot Scheme”) have been organising various

Microphone and 600 ohm line conduits shall be mechanically and electrically connected to receptacle boxes and electrically grounded to the audio system ground point.. Lines in

The min-max and the max-min k-split problem are defined similarly except that the objectives are to minimize the maximum subgraph, and to maximize the minimum subgraph respectively..