speaking, a random oracle is a function H : X → Y chosen uniformly at random from the set of all
functions {h : X → Y } (we assume Y is a finite set). An algorithm can query the random oracle at
any point x ∈ X and receive the value H(x) in response. Random oracles are used to model crypto-
graphic hash functions such as SHA-1. Note that security in the random oracle model does not imply
security in the real world. Nevertheless, the random oracle model is a useful tool for validating natural
cryptographic constructions. Security proofs in this model prove security against attackers that are
confined to the random oracle world.
Notation. From here on we use Z
q
to denote the group {0, . . . , q − 1} under addition modulo q. For
a group G of prime order we use G
∗
to denote the set G
∗
= G \ {O} where O is the identity element
in the group G. We use Z
+
to denote the set of positive integers.
3 Bilinear maps and the Bilinear Diffie-Hellman Assumption
Let G
1
and G
2
be two groups of order q for some large prime q. Our IBE system makes use of a bilinear
map ˆe : G
1
× G
1
→ G
2
between these two groups. The map must satisfy the following properties:
1. Bilinear: We say that a map ˆe : G
1
× G
1
→ G
2
is bilinear if ˆe(aP, bQ) = ˆe(P, Q)
ab
for all P, Q ∈ G
1
and all a, b ∈ Z.
2. Non-degenerate: The map does not send all pairs in G
1
× G
1
to the identity in G
2
. Observe that
since G
1
, G
2
are groups of prime order this implies that if P is a generator of G
1
then ˆe(P, P ) is a
generator of G
2
.
3. Computable: There is an efficient algorithm to compute ˆe(P, Q) for any P, Q ∈ G
1
.
A bilinear map satisfying the three properties above is said to be an admissible bilinear map. In
Section 5 we give a concrete example of groups G
1
, G
2
and an admissible bilinear map between them.
The group G
1
is a subgroup of the additive group of points of an elliptic curve E/F
p
. The group G
2
is a
subgroup of the multiplicative group of a finite field F
∗
p
2
. Therefore, throughout the paper we view G
1
as an additive group and G
2
as a multiplicative group. As we will see in Section 5.1, the Weil pairing
can be used to construct an admissible bilinear map between these two groups.
The existence of the bilinear map ˆe : G
1
× G
1
→ G
2
as above has two direct implications to these
groups.
The MOV reduction: Menezes, Okamoto, and Vanstone [32] show that the discrete log problem in
G
1
is no harder than the discrete log problem in G
2
. To see this, let P, Q ∈ G
1
be an instance
of the discrete log problem in G
1
where both P, Q have order q. We wish to find an α ∈ Z
q
such
that Q = αP . Let g = ˆe(P, P ) and h = ˆe(Q, P ). Then, by bilinearity of ˆe we know that h = g
α
.
By non-degeneracy of ˆe both g, h have order q in G
2
. Hence, we reduced the discrete log problem
in G
1
to a discrete log problem in G
2
. It follows that for discrete log to be hard in G
1
we must
choose our security parameter so that discrete log is hard in G
2
(see Section 5).
Decision Diffie-Hellman is Easy: The Decision Diffie-Hellman problem (DDH) [4] in G
1
is to dis-
tinguish between the distributions hP, aP, bP, abP i and hP, aP, bP, cP i where a, b, c are random
in Z
∗
q
and P is random in G
∗
1
. Joux and Nguyen [28] point out that DDH in G
1
is easy. To see
this, observe that given P, aP, bP, cP ∈ G
∗
1
we have
c = ab mod q ⇐⇒ ˆe(P, cP ) = ˆe(aP, bP ).
7