Cryptography Reference
In-Depth Information
21.2 Lower bound on the complexity of CDH for generic algorithms
We have seen (Theorem 13.4.5 ) that a generic algorithm requires ( r ) group operations
to solve the DLP in a group of order r . Shoup proved an analogue of this result for CDH.
As before, fix t
∈ R > 0 and assume that all group elements are represented by bitstrings of
length at most t log( r ).
Theorem 21.2.1 Let G be a cyclic group of prime order r. Let A be a generic algo-
rithm for CDH in G that makes at most m oracle queries. Then the probability that
A ( σ ( g ) ( g a ) ( g b ))
σ ( g ab ) over a,b
=
∈ Z
/r
Z
and an encoding function σ : G
} t log( r ) chosen uniformly at random is O ( m 2 /r ) .
S
⊆{
0 , 1
} t log( r ) .
The simulator begins by uniformly choosing three distinct σ 1 2 3 in S and running
A ( σ 1 2 3 ). The encoding function is then specifed at the two points σ 1 =
Proof The proof is almost identical to the proof of Theorem 13.4.5 .Let S
={
0 , 1
σ ( g ) and
σ 2 =
σ ( h ). From the point of view of A , g and h are independent distinct elements of G .
It is necessary to ensure that the encodings are consistent with the group operations.
This cannot be done perfectly without knowledge of a and b , but using polynomials as
previously ensures there are no “trivial” inconsistencies. The simulator maintains a list of
pairs ( σ i ,F i ) where σ i
S and F i ∈ F r [ x,y ] (indeed, the F i ( x,y ) will always be linear).
The initial values are ( σ 1 , 1), ( σ 2 ,x ) and ( σ 3 ,y ). Whenever A makes an oracle query on
( σ i j ) the simulator computes F
F j .If F appears as F k in the list of pairs then
the simulator replies with σ k and does not change the list. Otherwise, an element σ
=
F i
S ,
distinct from the previously used values, is chosen uniformly at random, ( σ,F ) is added to
the simulator's list and σ is returned to A .
After making at most m oracle queries, A outputs σ 4 ∈ Z
/r
Z
. The simulator now chooses
σ ( g ab ). Note that if σ 4 is
not equal to σ 1 2 or one of the strings output by the oracle then the probability of success
is at most 1 / (2 t log( r )
a and b uniformly at random in
Z
/r
Z
. Algorithm A wins if σ 4 =
2). Hence, we assume that σ 4 is on the simulator's list.
Let the simulator's list contain precisely k polynomials
m
{
F 1 ( x,y ) ,...,F k ( x,y )
}
for
some k
m
+
3. Let E be the event that F i ( a,b )
=
F j ( a,b ) for some pair 1
i<j
k
or F i ( a,b )
=
ab . The probability that A wins is
Pr( A wins
|
E )Pr( E )
+
Pr( A wins
E )Pr(
¬
E ) .
(21.1)
For
each
pair
1
i<j
k the
probability
that
( F i
F j )( a,b )
=
0is1 /r by
Lemma 13.4.4 . Similarly, the probability that F i ( a,b )
ab
=
0is2 /r . Hence, the proba-
O ( m 2 /r ). On the other hand, if event E
does not occur then all A “knows” about ( a,b ) is that it lies in the set
bility of event E is at most k ( k
+
1) / 2 r
+
2 k/r
=
) 2
X ={
( a,b )
(
Z
/r
Z
: F i ( a,b )
=
F j ( a,b ) and F i ( a,b )
=
ab for all 1
i<j
k
}
.
r 2
m 2 / 2 Then Pr(
N/r 2 and Pr( A wins
Let N
=
#
X
¬
E )
=
E )
=
1 /N .
Hence, the probability that A wins is O ( m 2 /r ).
Search WWH ::




Custom Search