Cryptography Reference
In-Depth Information
17
Lattice basis reduction
The goal of lattice basis reduction is to transform a given lattice basis into a “nice” lattice
basis consisting of vectors that are short and close to orthogonal. To achieve this, one
needs both a suitable mathematical definition of “nice basis” and an efficient algorithm to
compute a basis satisfying this definition.
Reduction of lattice bases of rank 2 in
2 was given by Lagrange 1 and Gauss. The
algorithm is closely related to Euclid's algorithm and we briefly present it in Section 17.1 .
The main goal of this section is to present the lattice basis reduction algorithm of Lenstra,
Lenstra and Lovasz, known as the LLL or L 3 algorithm. This is a very important algorithm
for practical applications. Some basic references for the LLL algorithm are Section 14.3 of
Smart [ 513 ], Section 2.6 of Cohen [ 127 ] and Chapter 17 of Trappe and Washington [ 547 ].
More detailed treatments are given in von zur Gathen and Gerhard [ 220 ], Gr otschel, Lovasz
and Schrijver [ 245 ], Section 1.2 of Lovasz [ 356 ], and Nguyen and Vallee [ 416 ]. I also highly
recommend the original paper [ 335 ].
The LLL algorithm generalises the Lagrange-Gauss algorithm and exploits the Gram-
Schmidt orthogonalisation. Note that the Gram-Schmidt process is not useful, in general,
for lattices since the coefficients µ i,j do not usually lie in
R
and so the resulting vectors are
not usually elements of the lattice. The LLL algorithm uses the Gram-Schmidt vectors to
determine the quality of the lattice basis, but ensures that the linear combinations used to
update the lattice vectors are all over
Z
Z
.
17.1 Lattice basis reduction in two dimensions
2 be linear independent vectors and denote by L the lattice for which they are
a basis. The goal is to output a basis for the lattice such that the lengths of the basis vectors
are as short as possible (in this case, successive minima). Lagrange and Gauss gave the
following criteria for a basis to be reduced and then developed Algorithm 22 to compute
such a basis.
Let b 1 , b 2 ∈ R
1
The algorithm was first written down by Lagrange and later by Gauss, but is usually called the “Gauss algorithm”. We refer to
[ 408 ] for the original references.
Search WWH ::




Custom Search