Fully Collusion Secure Dynamic Broadcast Encryption With Constant-Size Ciphertexts or Decryption Keys
Fully Collusion Secure Dynamic Broadcast Encryption With Constant-Size Ciphertexts or Decryption Keys
Fully Collusion Secure Dynamic Broadcast Encryption With Constant-Size Ciphertexts or Decryption Keys
Abstract. This paper puts forward new efficient constructions for public-key broadcast
encryption that simultaneously enjoy the following properties: receivers are stateless;
encryption is collusion-secure for arbitrarily large collusions of users and security is tight
in the standard model; new users can join dynamically i.e. without modification of user
decryption keys nor ciphertext size and little or no alteration of the encryption key.
We also show how to permanently revoke any subgroup of users. Most importantly, our
constructions achieve the optimal bound of O(1)-size either for ciphertexts or decryp-
tion keys, where the hidden constant relates to a couple of elements of a pairing-friendly
group. Our broadcast-KEM trapdoor technique, which has independent interest, also
provides a dynamic broadcast encryption system improving all previous efficiency mea-
sures (for both execution time and sizes) in the private-key setting.
1 Introduction
Broadcast Encryption. The concept of stateless broadcast encryption was intro-
duced by Fiat and Naor in [5]. In this paradigm, a broadcaster encrypts messages
and transmits these to a group of users U who are listening to a broadcast chan-
nel and use their private keys to decrypt transmissions. The broadcaster may
exclude any subset of users R ⊆ U from being able to decrypt the contents
of the broadcast thanks to a one-time exclusion or revocation mechanism. The
subset of revoked users R is chosen at encryption time and may change from
one encryption to the next. A broadcast encryption scheme is said to be (t, n)-
collusion secure if for any r-subset R ⊆ U with r ≤ t and |U| = n, users in R
can by no means infer information about the broadcast message. It is said to
be fully collusion secure when it is (n, n)-collusion secure. There are mainly two
categories of broadcast encryption systems:
c Springer-Verlag 2007.
2
Although previous works often use as an efficiency measure the size of public
and private keys, we choose to rigorously separate encryption from decryption
key material by taking into account all elements required to perform encryption
or decryption. We will denote by λc the size of the broadcast ciphertext, λdk
the (maximal) size of a user decryption key (which may then contain private
and public parts) and λek the size of the encryption key (which may be public
or private). τek and τdk denote the execution time of encryption and decryption
respectively.
Related work in the r ≪ n case. Naor et al. [14] suggested two fully collusion se-
cure broadcast systems: NNL1 (based on the Complete-Subtree method) which
achieves λc = O(r log n/r) and λdk = O(log n) and NNL2 (Subtree-Difference
method) where λc = O(r) and λdk = O(log2 n). Originally the (private) encryp-
tion key has size linear in n, but by using a PRF to generate user decryption keys,
the size of the encryption key can be reduced to O(1) in both NNL1 and NNL2 .
Note however that these two systems do not support public-key encryption.
Dodis and Fazio [4] later refined NNL2 into a public key broadcast encryption
scheme with O(1)-size encryption key. We also mention the work of Dodis and
Fazio [4] which by using parallelized schemes lead to a broadcast system that
has essentially the same characteristics as those of NNL2 .
dynamic in the sense that the group manager can invite new members to join or
permanently revoke undesired members in a very efficient way. Although long-
term revocation necessarily implies a modification of the keys, there is no such
theoretical requirement when a new member joins the group. In this respect, we
say that a broadcast system is dynamic when
i) the system setup as well as the ciphertext size are fully independent from the
expected number of users or an upper bound thereof,
ii) a new user can join anytime without implying a modification of preexisting
user decryption keys,
iii) the encryption key is unchanged in the private-key setting or incrementally
updated in the public-key setting, meaning that this operation must be of
complexity at most O(1).
Hence, by definition, dynamic systems support arbitrarily many users. In [3]
as well as in NNL1 and NNL2 , either a large upper bound on the number of
possible users is chosen at initialization time or the decryption keys have to be
recomputed when a user joins the group, resulting in that those systems are not
dynamic. Similarly, the trivial broadcast system is not dynamic since the cipher-
text must include one additional element per new user, irremediably altering its
size. As discussed in [14, p. 56], the property of being dynamic is incompati-
ble with forward-secrecy because new group members can actually decrypt all
previously encrypted messages. This feature may however be desirable; a newly
manufactured DVD player is expected to play any properly encrypted DVD is-
sued in the past. Achieving forward-secrecy requires the long-term revocation
and a re-keying of user decryption keys.
denote by BGW’1 a slightly modified version of BGW1 where the public param-
eters needed by the decryption procedure are included in the ciphertext rather
than in the decryption key. BGW1 and BGW’1 are described in more detail in
Appendix A.
Fig. 1. Comparing the efficiency of fully collusion secure broadcast encryption schemes
2 Preliminaries
2.1 Bilinear Maps
We briefly review the necessary facts about bilinear maps. Let G1 , G2 and GT
be three cyclic groups of prime order p. The group laws in G1 and G2 are noted
additively using elliptic curve conventions, whereas the inner law of GT is noted
multiplicatively. A bilinear map e (·, ·) is a map G1 × G2 → GT such that for
any G ∈ G1 , H ∈ G2 and a, b ∈ Zp ,
compute g F (x1,...,xm ) .
We refer to [1] for a proof that (P, Q, F )-GDHE and (P, Q, F )-GDDHE have
generic security when F 6∈ hP, Qi. We prove that our constructions are fully
collusion secure based on the assumption that (P, Q, F )-GDDHE is intractable
for some well-defined P, Q, F with F 6∈ hP, Qi and for polynomial parameters
s, m = poly(λ) where λ is a security parameter.
3.1 Definition
A dynamic broadcast encryption scheme involves two authorities: a group man-
ager and a broadcaster. The group manager grants new members access to the
group2 by providing to each new member a public label labi and a decryption key
dki . The generation of (labi , dki ) is performed using a secret manager key mk. The
broadcaster encrypts messages and transmits these to the whole group of users
through the broadcast channel. In a public-key broadcast encryption scheme,
the broadcaster does not hold any private information and encryption is per-
formed with the help of a public group encryption key ek containing, possibly
among other things, all user labels. When the broadcaster encrypts a message,
some group members can be revoked temporarily from decrypting the broadcast
content thanks to a one-time revocation mechanism. Following the KEM-DEM
methodology, broadcast encryption is viewed as the combination of a specific
key encapsulation mechanism (a Broadcast-KEM) with a symmetric encryption
(DEM) that shall remain implicit throughout the paper. More formally, a dy-
namic public-key broadcast encryption scheme DBE with security parameter
λ is a tuple of probabilistic algorithms DBE = (Setup, Join, Encrypt, Decrypt)
described as follows:
Setup(λ). Takes as input the security parameter λ and outputs a manager key
mk and an initial group encryption key ek. The group manager is given mk,
and ek is made public.
2
Note that given our definition of dynamic broadcast encryption, the group manager cannot revoke
users permanently since keys cannot be changed. See Section 6 for more detail.
7
Join(mk, i). Takes as input the manager key mk and a user counter i. Join gen-
erates a user label labi and a user decryption key dki . The user label labi is
added to the group encryption key ek := ek ∪ {labi } and the user decryption
key dki is sent to the i-th user securely.
We denote by n the total number of users (evolving over time) and by
U = {1, . . . , n} the set of all users.
Encrypt(ek, R). Takes as input the group encryption key ek and a set of revoked
users R ⊆ U and outputs a random pair (hdr, K).
When a message M ∈ {0, 1}∗ is to be broadcast to users in U \ R, the
broadcaster generates (hdr, K) ← Encrypt(ek, R), computes the encryption
CM of M under the symmetric key K and broadcasts (hdr, R, CM ). We will
refer to hdr as the header or broadcast ciphertext, (hdr, R) as the full header,
K as the message encryption key and CM as the broadcast body.
Decrypt(dki , R, hdr). Takes as input a header hdr, a subset R ⊆ U and a user de-
cryption key dki . If i ∈ U \ R, the algorithm outputs the message encryption
key K which is then used to decrypt the broadcast body CM and recover
M.
Advind ′ ′ ′
DBE (t, n, A) = |2 × Pr[b = b] − 1| = |Pr[b = 1|b = 1] − Pr[b = 1|b = 0]|
8
where the probability is taken over the random coins of A, the challenger and
all probabilistic algorithms run by the challenger.
Advind ind
DBE (t, n) = max Adv DBE (t, n, A)
A
where the maximum is taken over all probabilistic algorithms A running in time
poly(λ). A dynamic public-key broadcast encryption scheme DBE is said to be
semantically secure against (t, n)-colluders if Advind
DBE (t, n) = negl(λ).
Beyond static adversaries. We comment that the above definition captures ad-
versaries that are less static than in previous schemes because the adversary
may choose C somewhat adaptively while seeing how the group encryption key
ek evolves while new users join the system. Up to our knowledge, no public-
key broadcast encryption scheme is known to resist fully adaptive adversaries
(i.e. where the adversary determines C after seing all the public information) in
the standard model4 . As commented in [3], any static adversary that has success
probability ε in the (t, n)-collusion security game leads to an adaptive adversary
with success probability ε·2−n . However, in practice this reduction is only mean-
ingful for small values of n and building systems resisting fully adaptive colluders
is still an open problem in the field.
Encrypt(ek, R). Assume for notational simplicity that R = {1, . . . , r}. Given
ek = (S, H, W, V, (x1 , V1 , B1 ), . . . , (xn , Vn , Bn )), the broadcaster computes
1
P1 = H,
γ + x1
1
P2 = H,
(γ + x1 )(γ + x2 )
..
.
1
Pr = H.
(γ + x1 ) . . . (γ + xr )
We describe below a quadratic time algorithm Aggregate which Encrypt may
use to compute
1 1
Pr = Aggregate G2 , x1 , H , . . . , xr , H .
γ + x1 γ + xr
where
" # " #
1 1
Bi,R = Qr Bi = H.
(γ + xi ) rj=1 (γ + xj )
Q
j=1 (γ + xj )
11
Here Bi,R is computed in time O(r) (instead of O(r 2 )) given (xi , Bi) ⊆ dki
and {(xj , Pj )}rj=1 ⊆ hdr by using the Aggregate′ algorithm given later on in
the paper. This requires xi 6= xj i.e. i 6∈ R, otherwise Aggregate′ faces a
division by zero and returns an error.
Finally note that when R = ∅, Construction 1 boils down to Construction 0
except for the encryption key ek = (S, H, W, V ) ∪ {(xi , Vi, Bi )}ni=1 which, in
Construction 0, does not include user labels.
for any subset R ⊆ {1, . . . , n} from the 1-degree terms [1/(γ + xj )] H where
j ∈ R is quadratic in the cardinality of R. More precisely, generalizing to G ∈
{G2 , GT }:
r(r − 1)
Time [Aggregate(G, r terms)] ≃ · (τp + τG ) ,
2
where τp is the execution time of a subtraction and an inversion modulo p = |G|
and τG the total time of a division and an exponentiation in G.
12
for any j = 1, . . . , r. Note that the left-hand term gives Bi,R when j = r. This
leads us to the iterative computation of Bi,R as depicted on Fig. 2.
Complexity. It is easily seen that Time [Aggregate′ (G, r terms)] ≃ r · (τp + τG ).
Aggregate Aggregate′
Input: two r-arrays x = [x1 , . . . , xr ] Input: xi , Bi , x = [x1 , . . . , xr ]
and P = [B1 , . . . , Br ] and P = [P1 , . . . , Pr ]
Output: Pr as defined above or ⊥ Output: Bi,R as defined above or ⊥
5 Security Analysis
5.1 Security Reduction to (t, n)-GDHE
We prove the semantic security of our system by reformulating the security
game in terms of sequences of polynomials and relying on the GDHE/GDDHE
framework of [1]. We start by defining the following intermediate computational
problem.
Definition 6 ((t, n)-GDHE). Let S = (p, G1 , G2 , GT , e (·, ·)) be a bilinear map
group system and let f and g be the two random univariate polynomials
t
Y t
X n
Y n−t
X
i
f (X) = (X + xi ) = µi X , g(X) = (X + xi ) = νi X i ,
i=1 i=0 i=t+1 i=0
where all the xi ’s are random and pairwise distinct elements of Z⋆p . Let G0 be
a generator of G1 and H0 a generator of G2 . Solving the (t, n)-GDHE problem
13
consists, given
(q + 2(n + t + 4) + 2)2 · (t + n)
Advgddhe (t, n, A) ≤ .
2p
computes
H = [f (γ) · g(γ)] H0 (from H0 , [γ] H0 , . . . , [γ n ] H0 )
W = [γ] G = [γ · f (γ)] G0 (given as input)
f 2 (γ)·g(γ)
V = e (G0 , H0 ) = e (G, H) (given as input)
B then defines the group encryption key as ek = (H, W, V ). Note that B can
by no means compute the value of G. B then runs A on the system parameters
(S, H) and ek.
Challenge broadcast ciphertext. B now builds a header hdr = (C1 , C2 , {xi , Bi }ti=1 )
decryptable by the honest users i.e. where the users C ⊆ U are revoked. Given
the GDDHE instance, B computes
C1 = [k · γ · f (γ)] G0 = [k] W ,
k k
C2 = [k · g(γ)] H0 = H= H.
f (γ) (γ + x1 ) . . . (γ + xt )
Doing so, B implicitly defines the message encryption key K as
k k·f 2 (γ)·g(γ)
K = e (G, H) (γ+x1 )...(γ+xt ) = e (G0 , H0 ) f (γ) = e (G0 , H0 )k·f (γ)·g(γ) .
B now selects a random bit b ← {0, 1}, sets Kb = T and sets K1−b to a random
element of GT . B sends the tuple (hdr, K0 , K1 ) to A.
15
where A and B are polynomials such that A(0) = 0, deg A = n − t and deg B =
t − 1. Since f and g are coprime by assumption, we must have f | B. Since
deg f =Qt and deg B = t − 1 this implies B = 0. Hence A = g resulting in that
n−t ′
g(0) = i=1 xi = 0 which contradicts x′i 6= 0 for i ∈ [1, n − t]. ⊓
⊔
6 Related Constructions
From a design perspective, our main construction is fairly simple and can there-
fore be refined in many ways. We now present a few broadcast encryption systems
derived from Construction 1. Although we do not provide proof details here, it
can be shown that all constructions inherit full collusion resistance under the
GDDHE assumption from Construction 1.
and
dki = (S, (xi , Ai , Bi ), (x1 , B1 ), . . . , (xn , Bn )) .
As a result, the new system enjoys constant-size ciphertexts at the expanse of
linear-size user decryption keys. Decryption can be performed as
where Bi,R is computed in time O(r 2 ) using the Aggregate algorithm with the
list {(xj , Bj )}j∈R ⊆ dki and (xi , Bi ) ⊆ dki as inputs. Note here that the presence
of R in the full broadcast ciphertext is mandatory to allow proper decryption5 .
We also note that the dynamic aspect is lost when doing these changes since
all users have to update their decryption key whenever a new member joins the
group. It is worthwhile noting that the characteristics of this construction are
exactly those of BGW1 . Our scheme is slightly less efficient since decryption keys
are bigger than those of in BGW1 by the inclusion of n extra integers modulo p.
1 1 1
, , ..., ,
γ + x1 (γ + x1 )(γ + x2 ) (γ + x1 ) . . . (γ + xr )
k
, kγ
(γ + x1 ) . . . (γ + xr )
over Z⋆p , thereby allowing to compute P1 , . . . , Pr , C2 , C1 , K directly by expo-
nentiating H, V or W in their respective groups,
4. decryption is identical to the one of Construction 1.
Therefore the broadcaster does not have to repeat (xi , Bi , Vi ) in future encryp-
tions. In virtue of the full collusion resistance of Construction 1, long-term re-
vocations can be shown to be forward-secure.
7 Conclusion
We introduced new alternatives to design public and private key fully collusion
secure broadcast encryption. Our designs support the inclusion of new users at
minimal cost and achieve the best known security level relative to a generically
secure computational problem via tight reductions in the standard model. We
leave as an open problem to realize dynamic public-key broadcast encryption
with an encryption key substantially shorter that O(n). Resisting fully adap-
tive adversaries would also be a significant improvement. Finally, we expect our
trapdoor mechanism to find other cryptographic applications in the future.
References
1. Dan Boneh, Xavier Boyen, and Eu-Jin Goh. Hierarchical identity based encryption with constant
size ciphertext. In Ronald Cramer, editor, EUROCRYPT 2005, volume 3494 of LNCS, pages 440–
456, Aarhus, Denmark, May 22–26, 2005. Springer-Verlag, Berlin, Germany. Extended version
available at http://eprint.iacr.org/2005/015.
2. Dan Boneh and Matthew K. Franklin. Identity-based encryption from the Weil pairing. In Joe
Kilian, editor, CRYPTO 2001, volume 2139 of LNCS, pages 213–229, Santa Barbara, CA, USA,
August 19–23, 2001. Springer-Verlag, Berlin, Germany.
3. Dan Boneh, Craig Gentry, and Brent Waters. Collusion resistant broadcast encryption with short
ciphertexts and private keys. In Victor Shoup, editor, CRYPTO 2005, volume 3621 of LNCS,
pages 258–275, Santa Barbara, CA, USA, August 14–18, 2005. Springer-Verlag, Berlin, Germany.
4. Yevgeniy Dodis and Nelly Fazio. Public key trace and revoke scheme secure against adaptive
chosen ciphertext attack. In Yvo Desmedt, editor, PKC 2003, volume 2567 of LNCS, pages
100–115, Miami, USA, January 6–8, 2003. Springer-Verlag, Berlin, Germany.
5. Amos Fiat and Moni Naor. Broadcast encryption. In Douglas R. Stinson, editor, CRYPTO’93,
volume 773 of LNCS, pages 480–491, Santa Barbara, CA, USA, August 22–26, 1994. Springer-
Verlag, Berlin, Germany.
6. Eiichiro Fujisaki and Tatsuaki Okamoto. How to enhance the security of public-key encryption
at minimum cost. In Hideki Imai and Yuliang Zheng, editors, PKC’99, volume 1560 of LNCS,
pages 53–68, Kamakura, Japan, March 1–3, 1999. Springer-Verlag, Berlin, Germany.
7. Eiichiro Fujisaki and Tatsuaki Okamoto. Secure integration of asymmetric and symmetric encryp-
tion schemes. In Michael J. Wiener, editor, CRYPTO’99, volume 1666 of LNCS, pages 537–554,
Santa Barbara, CA, USA, August 15–19, 1999. Springer-Verlag, Berlin, Germany.
8. Michael T. Goodrich, Jonathan Z. Sun, and Roberto Tamassia. Efficient tree-based revocation in
groups of low-state devices. In Matthew Franklin, editor, CRYPTO 2004, volume 3152 of LNCS,
pages 511–527, Santa Barbara, CA, USA, August 15–19, 2004. Springer-Verlag, Berlin, Germany.
9. Dani Halevy and Adi Shamir. The LSD broadcast encryption scheme. In Moti Yung, editor,
CRYPTO 2002, volume 2442 of LNCS, pages 47–60, Santa Barbara, CA, USA, August 18–22,
2002. Springer-Verlag, Berlin, Germany.
19
10. Antoine Joux. A one round protocol for tripartite Diffie-Hellman. In ANTS, pages 385–394, 2000.
11. Antoine Joux and Kim Nguyen. Separating decision Diffie-Hellman from computational diffie-
hellman in cryptographic groups. Journal of Cryptology, 16(4):239–247, 2003.
12. Atsuko Miyaji, Masaki Nakabayashi, and Shunzo Takano. Characterization of elliptic curve traces
under fr-reduction. In ICISC, pages 90–108, 2000.
13. Atsuko Miyaji, Masaki Nakabayashi, and Shunzo Takano. New explicit conditions of elliptic curve
traces for fr-reduction. IEICE Transactions on Fundamentals, E84-A(5):1234–1243, 2001.
14. Dalit Naor, Moni Naor, and Jeffery Lotspiech. Revocation and tracing schemes for stateless
receivers. In Joe Kilian, editor, CRYPTO 2001, volume 2139 of LNCS, pages 41–62, Santa
Barbara, CA, USA, August 19–23, 2001. Springer-Verlag, Berlin, Germany.
15. Tatsuaki Okamoto and David Pointcheval. REACT: Rapid Enhanced-security Asymmetric Cryp-
tosystem Transform. In David Naccache, editor, CT-RSA 2001, volume 2020 of LNCS, pages
159–175, San Francisco, CA, USA, April 8–12, 2001. Springer-Verlag, Berlin, Germany.
We briefly describe the system BGW1 put forward by Boneh et al. [3]. As BGW1
is not dynamic, the Setup algorithm takes as input the number n of users in
addition to the security parameter λ, and is in charge of computing the user
decryption keys since there is no Join algorithm.
Setup(λ, n). Given the security parameter λ, a symmetric bilinear map group
system
S = (p, G, GT , e (·, ·))
is constructed such that |p| = λ. The algorithm first picks a generator G ∈ G
and a random α ∈ Zp . It computes Gi = [αi ] G ∈ G for i = 1, . . . , n, n +
2, . . . , 2n. Next, it picks a random γ ← Zp and sets W = [γ] G ∈ G. The
encryption key is
The decryption key of user i ∈ {1, . . . , n} is set as dki = [γ] Gi ∈ G. The algo-
rithm outputs the encryption key ek and the n decryption keys dk1 , . . . , dkn .
Encrypt(ek, S). Given the encryption key ek and a subset S ⊆ {1, . . . , n} of
users, the broadcaster randomly picks k ← Z⋆p , sets K = e (Gn+1 , G)k =
e (Gn , G1 )k ∈ GT and computes
!!
X
hdr = [k] G, [k] W + Gn+1−j ∈ G2
j∈S