Cryptography Reference
In-Depth Information
and so
( A
|
x n 1 +
µ n,n 1 x n |≤
x n B n ) /B n 1 .
To phrase this as a bound on x n 1 one uses the fact that, for any a
∈ R
,b
∈ R 0 ,
the solutions x
∈ R
to
|
x
+
a
|≤
b satisfy
( b
+
a )
x
b
a . Hence, writing M 1 =
A
x n B n /B n 1 one has
( M 1 +
µ n,n 1 x n )
x n 1
M 1
µ n,n 1 x n .
Exercise 18.4.4 Generalise the above discussion to show that for 1
i<n one has
( M 1 +
M 2 )
x i
M 1
M 2
where
n
A
/B i
x j B j
M 1 =
j = i +
1
and M 2 = j = i + 1 µ j,i x j .
Exercise 18.4.5 Write pseudocode for the algorithm to enumerate all short vectors of a
lattice.
The algorithm to find a non-zero vector of minimal length is then straightforward. Set
A to be
2 , enumerate all vectors of length at most A and, for each vector, compute the
length. One is guaranteed to find a shortest vector in the lattice. Schnorr and Euchner [ 473 ]
organised the search in a manner to minimise the running time.
The running time of this algorithm depends on the quality of the basis in several ways.
First, it is evidently important to have a good bound A for the length of the shortest vector.
Taking A
b 1
2
=
b 1
i s o nly sensible if b 1 is already rather short; alternatively one may
= n
2 πe det( L ) 1 /n using the Gaussian heuristic (one can choose a small
bound for A and then, if the search fails, increase A accordingly). Second, one sees that
if b n is very short then the algorithm searches a huge range of values for x n , and similarly
if b n 1
choose, say, A
b i
is very short etc. Hence, the algorithm performs best if the values
descrease
rather gently.
To solve SVP in practice using enumeration one first performs LLL and other pre-
computation to get a sufficiently nice basis. We refer to Kannan [ 295 , 296 ], Schnorr and
Euchner [ 473 ] and Agrell, Eriksson, Vardy and Zeger [ 7 ] for details. The best complexity
statement in the literature is due to Hanrot and Stehle.
Theorem 18.4.6 (Hanrot and Stehl´e[ 249 ]) There exists a polynomial p ( x,y )
∈ R
[ x,y ]
m with basis consisting of vectors with
coefficients bounded by B, one can compute all the shortest non-zero vectors in L in at
most p (log( B ) ,m ) n n/ 2 e + o ( n ) bit operations.
such that, for any n-dimensional lattice L in
Z
 
Search WWH ::




Custom Search