To specify the Bilinear Diffie-Hellman (BDH) prob-
lem, we use a probabilistic polynomial time (ppt) al-
gorithm G : on input the security parameter 1
ℓ
, this
BDH parameter generator G outputs q and a descrip-
tion of G
1
, G
2
, and ˆe as above; in slight abuse of no-
tation we write hq, G
1
,G
2
, ˆei ← G (1
ℓ
). Descriptions
output by G are assumed to specify polynomial time
algorithms for efficiently computing in G
1
, G
2
and for
evaluating the bilinear map ˆe.
Next, for a ppt algorithm A we consider the fol-
lowing experiment:
1. The BDH parameter generator is run, yielding
BDH parameters
hq,G
1
,G
2
, ˆei.
2. Values a, b,c ← {0,...,q − 1} are chosen uni-
formly at random, and A obtains the output of G
along with aP, bP and cP as input.
3. Now A outputs a value g ∈ G
2
, and is successful
whenever g = ˆe(P,P)
abc
.
To measure the advantage of A in solving the BDH
problem we use the function Adv
bdh
A
= Adv
bdh
G ,A
(ℓ) :=
Pr
h
A (q, G
1
,G
2
, ˆe,P, aP,bP,cP) = ˆe(P,P)
abc
hq,G
1
,G
2
, ˆei ← G (1
ℓ
),
P ← G
1
\ {O },
a,b,c ← {0, . . . ,q− 1}
Definition 1 (BDH Assumption). A BDH instance
generator G satisfies the BDH assumption if for all
ppt algorithms A , the advantage Adv
bdh
A
is negligible
(in ℓ). In this case, we say that BDH is hard in groups
generated by G .
2.2 Real-or-random Indistinguishability
Our presentation of real-or-random indistinguishabil-
ity follows the one in (Bellare et al., 2000a), and we
refer to the latter paper for a more detailed discussion.
By a symmetric encryption scheme, we mean a collec-
tion S E = (Gen,Enc,Dec) of three polynomial time
algorithms:
Gen: a probabilistic algorithm that on input the secu-
rity parameter 1
ℓ
outputs a secret key k ∈ {0,1}
∗
;
Enc: a probabilistic algorithm that on input a secret
key k and a plaintext m ∈ {0,1}
∗
outputs a ci-
phetext c ∈ {0,1}
∗
;
Dec: a deterministic algorithm that on input a se-
cret key k and a ciphertext c outputs the corre-
sponding plaintext m or an error symbol ⊥. For a
valid secret key k output by Gen, we impose that
Dec
k
(Enc
k
(m)) = m for all plaintexts m ∈ {0, 1}
∗
.
To formalize the security notion needed later, we use
a real-or-random oracle E
k
(R R (·,b)) that on input
b ∈ {0,1} and a plaintext m ∈ {0,1}
∗
returns an en-
cryption c ← Enc
k
(m) of m, if b = 1. For b = 0,
an encryption c ← Enc
k
(r) of a uniformly at random
chosen bitstring r ← {0,1}
|m|
is returned, where |m|
denotes the length of m.
For a ppt algorithm A now consider the following
experiment where b ∈ {0,1} is fixed and unknown to
A : a secret key k ← Gen(1
ℓ
) is created, and A has
unrestricted access to E
k
(R R (·, b)). Further, A has
access to a decryption oracle D
k
(·) which executes
Dec
k
(·), subject to the restriction that no messages
must be queried to D
k
(·) that have been output by the
real-or-random oracle. We measure A ’s advantage as
the difference Adv
ror−cca
A
= Adv
ror−cca
A
(ℓ) :=
Pr
h
1 ← A
E
k
(R R (·,1)),D
k
(·)
(1
ℓ
)
k ← Gen(1
ℓ
)
i
−Pr
h
1 ← A
E
k
(R R (·,0)),D
k
(·)
(1
ℓ
)
k ← Gen(1
ℓ
)
i
Definition 2 (Real-or-random Indistinguishabil-
ity). A symmetric encryption scheme S E is secure
in the sense of real-or-random indistinguishability
(ROR-CCA), if for all ppt algorithms A , the advan-
tage Adv
ror−cca
A
is negligible (in ℓ).
3 SECURITY MODEL
To analyze the security of the proposed protocol, we
use a model based on the frameworkin (Bresson et al.,
2001), which in turn is derived from (Bellare et al.,
2000b). The latter paper by Bellare et al. also gives
more details on the variables that are used below to
describe protocol instances.
Protocol Participants. We denote by U
0
= S a ded-
icated server and by U = {U
1
,.....,U
n
} a polynomial
size set of users.
1
Both server and users are modeled
as ppt algorithms, and eachU ∈ U ∪{S} can execute a
polynomial number of protocol instances Π
s
U
concur-
rently (s ∈ N). To describe a protocol instance Π
s
U
,
seven variables are associated with it:
acc
s
U
: indicates if the session key stored in sk
s
U
has
been accepted;
pid
s
U
: stores the identities of those users in U with
which a key is to be established (including U);
sid
s
U
: stores a session identifier that can serve as pub-
lic identifier for the session key stored in sk
s
U
;
1
We assume user identities to be encoded as bitstrings
of identical length.
SERVER-ASSISTED LONG-TERM SECURE 3-PARTY KEY ESTABLISHMENT
373