Cryptography Reference
In-Depth Information
Hence, it is sufficient that
dh 2 ( dh 1) / 4 M ( h 1) / 2 X ( dh 1) / 2 <M h 1 .
Rearranging gives
dh 2 ( dh 1) / 4 X ( dh 1) / 2 <M ( h 1) / 2 ,
which is equivalent to
c ( d,h ) X<M ( h 1) / ( dh 1)
( dh 2 ( dh 1) / 4 ) 2 / ( dh 1)
= 2( dh ) 1 / ( dh 1) .
where c ( d,h )
=
Now
h
1
1
d
d
1
1 =
1) .
dh
d ( dh
Equating ( d
1) / ( d ( dh
1))
=
gives
h
=
(( d
1) / ( d )
+
1) /d
1 / ( d ) .
(19.3)
2(1
Note that dh
=
1
+
( d
1) / ( d ) and so c ( d,h )
=
+
( d
1) / ( d )) d/ ( d 1) , which
converges to 2as
0. Since X< 2 M 1 /d we require
1
1
2
c ( d,h ) . Writing x
=
2, which holds for 0
+
1 /x ) x
d/ ( d
1) this is equivalent to (1
x
0 . 18.
Rounding h up to the next integer gives a lattice such that if
< 2 M 1 /d
|
x 0 |
then the LLL algorithm and polynomial root finding leads to x 0 .
Since the dimension of the lattice is dh
1 / and the coefficients of the polynomials
G i,j are bounded by M h it follows that the running time of LLL depends on d, 1 / and
log( M ).
Exercise 19.1.10 Show that the precise complexity of Coppersmith's method is
O ((1 / ) 9 log( M ) 3 ) bit operations (recall that 1 / > d ). Note that if one fixes d and
and considers the problem as M tends to infinity then one has a polynomial-time algorithm
in log( M ).
We refer to Section 3 of [ 132 ] for some implementation tricks that improve the algorithm.
For example, one can add basis vectors to the lattice corresponding to polynomials of the
form M h 1 x ( x
1)
···
( x
i
+
1) /i !.
2 30
2 32
Example 19.1.11 Let p
=
+
3, q
=
+
15 and M
=
pq . Consider the polynomial
a 2 x 2
a 3 x 3
F ( x )
=
a 0 +
a 1 x
+
+
=
1942528644709637042
+
1234567890123456789 x
987654321987654321 x 2
x 3 ,
+
+
 
Search WWH ::




Custom Search