• 沒有找到結果。

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 fji(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

Figure 9: Key derivation

ORJ

Figure 10: Polynomial derivation

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 fji 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 fji(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 fji that is assigned h. We use the hash function H1to pick up which polynomials are assigned h:

i 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 f2u 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).

__  PRG

__  PRG

Figure 11: Assignment of h and h

2. The polynomial fj+log i1 is assigned h, while the polynomial fji 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 fji, we use different information to derivate the polynomial fji. 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 fji(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 kdi for key derivation also needs to be masked, that is kdi ={(gbi1,0, gbi1,1), (gbi2,0, gbi2,1), (gbi3,0, gbi3,1)}.

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 fj1, and bil,s is the key derivation information for the Xs-term of the polynomial belong to subtree Ti 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:

• gaij,2 = ga1j+log i,2, for 1 ≤ j ≤ log n − log i

• gaij,s = ga1j+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).

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, π, Ψ, Φ} it depends on the assigned value of polynomial fj1, and

kdi ={(grvbi1,1, grvbi1,0), (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

chosen randomly, gbil,s = H2(ID||i||l||s) is the key derivation information, and Ii,jv 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 Ii,jv  as the identity of the node whose polynomials fj1+log i and fji 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 fji are assigned the same value h (h), we use the first element (grvbi1,1, grvbi1,0) of kdi to generate skij from skj+log i1 as follows:

skij = 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(bi2,1Ivi,j+bi2,0), grvbi2,0Δhρ) of kdi to generate skij from skj1+log i as follows:

skji = sk1j+log i× {1, grv(bi2,1Ii,jv +bi2,0), grvbi2,0Δhρ}

If fj1+log iis assigned hand fjiis assigned h, we use the third element (grv(bi3,1Ii,jv +bi3,0), grvbi3,0Δh1ρ)

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

skji = skj1+log i× {1, grv(bi3,1Ii,jv +bi3,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

Txitt 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:

⎧⎪

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.

• 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 Txi. 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 skij from skj+log i1 and kdi respect to the real

5. Compute C = ˆe(gρ, h)z/π(B) from D, grvfji(0)hρ of skij, and gz/π(B)rvf

ji(0)

t :

C = e(D, gˆ rvfji(0)hρ) gtz/π(B)rvfji(0)

= ˆe(D, hρ)e(D, gˆ rvfji(0)) gz/π(B)rt vfji(0)

= ˆ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:

M sg = B⊕ Ψ(A)

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(qdp+qΨ) = O(k2k2) 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

Txit

t be the union of disjoint subset differences, and S sets up the random oracles H1 and H2 depending on T . For each Txitt 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) where mi is a random number.

The setting assigns h to the polynomial fjitt 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 fji and fj+log i1 that are both assign h. 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

g−b/x, if s = 1 (4)

where mi R Zp is chosen by S. Then for each of the remaining subset

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 nv RZp is chosen by S.

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(Ii,ju ) 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 Ii,jv  = x, otherwise the user uv is not revoked. Then for each of the remaining subset difference Txitt ⊆ 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 Iivt,jt = xt, otherwise the user uv is not revoked. Moreover, compute

(grvbi1,1, grvbi1,0) = (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:

– 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

∗ 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 skij 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 C2qd1p. Moreover, the adversary can issue at most qΨ hash-Ψ queries. After issuing a hash-Ψ query, the adversary will leave a query record in the query list. Our settings may

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

p .

The probability of inconsistency is negligible respect to k:

P r[Inconsistent]≤ C2qd

1

p + C1qdqΨ

p qd(qd+ qΨ)

p = O(k2) 2k

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 fji an unique value hi,j respectively. The reasons are as follows:

• Like PK-SD-PI. If we assign each polynomial fji 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 fji 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.

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?

2. Is it possible to construct a scheme with the same efficiency but in normal model?

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.

[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.

[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.

相關文件