HOME

TheInfoList



OR:

The Lenstra–Lenstra–Lovász (LLL) lattice basis reduction algorithm is a
polynomial time In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
lattice reduction
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
invented by Arjen Lenstra, Hendrik Lenstra and
László Lovász László Lovász (; born March 9, 1948) is a Hungarian mathematician and professor emeritus at Eötvös Loránd University, best known for his work in combinatorics, for which he was awarded the 2021 Abel Prize jointly with Avi Wigderson. He wa ...
in 1982. Given a basis \mathbf = \ with ''n''-dimensional integer coordinates, for a lattice L (a discrete subgroup of R''n'') with d \leq n , the LLL algorithm calculates an ''LLL-reduced'' (short, nearly
orthogonal In mathematics, orthogonality is the generalization of the geometric notion of '' perpendicularity''. By extension, orthogonality is also used to refer to the separation of specific features of a system. The term also has specialized meanings in ...
) lattice basis in time \mathcal O(d^5n\log^3 B) where B is the largest length of \mathbf_i under the Euclidean norm, that is, B = \max\left(\, \mathbf_1\, _2, \, \mathbf_2\, _2, \dots, \, \mathbf_d\, _2\right). The original applications were to give polynomial-time algorithms for factorizing polynomials with rational coefficients, for finding simultaneous rational approximations to real numbers, and for solving the integer linear programming problem in fixed dimensions.


LLL reduction

The precise definition of LLL-reduced is as follows: Given a basis \mathbf=\, define its Gram–Schmidt process orthogonal basis \mathbf^*=\, and the Gram-Schmidt coefficients \mu_=\frac, for any 1 \le j < i \le n. Then the basis B is LLL-reduced if there exists a parameter \delta in such that the following holds: # (size-reduced) For 1 \leq j < i \leq n\colon \left, \mu_\\leq 0.5. By definition, this property guarantees the length reduction of the ordered basis. # (Lovász condition) For k = 2,3,..,n \colon \delta \Vert \mathbf^*_\Vert^2 \leq \Vert \mathbf^*_k\Vert^2+ \mu_^2\Vert \mathbf^*_\Vert^2. Here, estimating the value of the \delta parameter, we can conclude how well the basis is reduced. Greater values of \delta lead to stronger reductions of the basis. Initially, A. Lenstra, H. Lenstra and L. Lovász demonstrated the LLL-reduction algorithm for \delta = \frac. Note that although LLL-reduction is well-defined for \delta = 1, the polynomial-time complexity is guaranteed only for \delta in (0.25,1). The LLL algorithm computes LLL-reduced bases. There is no known efficient algorithm to compute a basis in which the basis vectors are as short as possible for lattices of dimensions greater than 4. However, an LLL-reduced basis is nearly as short as possible, in the sense that there are absolute bounds c_i > 1 such that the first basis vector is no more than c_1 times as long as a shortest vector in the lattice, the second basis vector is likewise within c_2 of the second successive minimum, and so on.


Applications

An early successful application of the LLL algorithm was its use by
Andrew Odlyzko Andrew Michael Odlyzko (Andrzej Odłyżko) (born 23 July 1949) is a Polish- American mathematician and a former head of the University of Minnesota's Digital Technology Center and of the Minnesota Supercomputing Institute. He began his career in ...
and
Herman te Riele Hermanus Johannes Joseph te Riele (born 5 January 1947) is a Dutch mathematician at CWI in Amsterdam with a specialization in computational number theory. He is known for proving the correctness of the Riemann hypothesis for the first 1.5 billio ...
in disproving Mertens conjecture. The LLL algorithm has found numerous other applications in
MIMO In radio, multiple-input and multiple-output, or MIMO (), is a method for multiplying the capacity of a radio link using multiple transmission and receiving antennas to exploit multipath propagation. MIMO has become an essential element of w ...
detection algorithms and cryptanalysis of
public-key encryption Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic alg ...
schemes:
knapsack cryptosystems Knapsack cryptosystems are cryptosystems whose security is based on the hardness of solving the knapsack problem. They remain quite unpopular because simple versions of these algorithms have been broken for several decades. However, that type of cr ...
,
RSA RSA may refer to: Organizations Academia and education * Rabbinical Seminary of America, a yeshiva in New York City *Regional Science Association International (formerly the Regional Science Association), a US-based learned society *Renaissance S ...
with particular settings, NTRUEncrypt, and so forth. The algorithm can be used to find integer solutions to many problems. In particular, the LLL algorithm forms a core of one of the
integer relation algorithm An integer relation between a set of real numbers ''x''1, ''x''2, ..., ''x'n'' is a set of integers ''a''1, ''a''2, ..., ''a'n'', not all 0, such that :a_1x_1 + a_2x_2 + \cdots + a_nx_n = 0.\, An integer relation algorithm is an algorithm fo ...
s. For example, if it is believed that ''r''=1.618034 is a (slightly rounded)
root In vascular plants, the roots are the organs of a plant that are modified to provide anchorage for the plant and take in water and nutrients into the plant body, which allows plants to grow taller and faster. They are most often below the sur ...
to an unknown
quadratic equation In algebra, a quadratic equation () is any equation that can be rearranged in standard form as ax^2 + bx + c = 0\,, where represents an unknown (mathematics), unknown value, and , , and represent known numbers, where . (If and then the equati ...
with integer coefficients, one may apply LLL reduction to the lattice in \mathbf^4 spanned by ,0,0,10000r^2 ,1,0,10000r and ,0,1,10000/math>. The first vector in the reduced basis will be an integer linear combination of these three, thus necessarily of the form ,b,c,10000(ar^2+br+c)/math>; but such a vector is "short" only if ''a'', ''b'', ''c'' are small and ar^2+br+c is even smaller. Thus the first three entries of this short vector are likely to be the coefficients of the integral quadratic
polynomial In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An ex ...
which has ''r'' as a root. In this example the LLL algorithm finds the shortest vector to be , -1, -1, 0.00025and indeed x^2-x-1 has a root equal to the
golden ratio In mathematics, two quantities are in the golden ratio if their ratio is the same as the ratio of their sum to the larger of the two quantities. Expressed algebraically, for quantities a and b with a > b > 0, where the Greek letter phi ( ...
, 1.6180339887....


Properties of LLL-reduced basis

Let \mathbf=\ be a \delta-LLL-reduced basis of a lattice \mathcal L. From the definition of LLL-reduced basis, we can derive several other useful properties about \mathbf. # The first vector in the basis cannot be much larger than the shortest non-zero vector: \Vert\mathbf_1 \Vert \le (2 / (\sqrt))^ \cdot \lambda_1(\mathcal L). In particular, for \delta = 3/4, this gives \Vert\mathbf_1 \Vert \le 2^ \cdot \lambda_1(\mathcal L). # The first vector in the basis is also bounded by the determinant of the lattice: \Vert\mathbf_1 \Vert \le (2 / (\sqrt))^ \cdot (\det(\mathcal L))^. In particular, for \delta = 3/4, this gives \Vert\mathbf_1 \Vert \le 2^ \cdot (\det(\mathcal L))^. # The product of the norms of the vectors in the basis cannot be much larger than the determinant of the lattice: let \delta = 3/4, then \prod_^n \Vert\mathbf_i \Vert \le 2^ \cdot \det(\mathcal L).


LLL algorithm pseudocode

The following description is based on , with the corrections from the errata. INPUT a lattice basis b0, b1, ..., b''n'' in Z''m'' a parameter ''δ'' with 1/4 < ''δ'' < 1, most commonly ''δ'' = 3/4 PROCEDURE B* <- GramSchmidt() = ; ''and do not normalize'' ''μ''''i'',''j'' <- InnerProduct(b''i'', b''j''*)/InnerProduct(bj*, b''j''*); ''using the most current values of'' b''i'' and b''j''* ''k'' <- 1; while ''k'' <= ''n'' do for ''j'' from ''k''−1 to 0 do if , ''μ''''k'',''j'', > 1/2 then b''k'' <- b''k'' − ⌊''μ''''k'',''j''⌉b''j''; ''Update'' B* ''and the related'' ''μ''''i'',''j'''''s as needed.'' ''(The naive method is to recompute'' B* ''whenever'' b''i'' ''changes:'' B* <- GramSchmidt() = ) end if end for if InnerProduct(b''k''*, b''k''*) > (''δ − μ2''''k'',''k''−1) InnerProduct(b''k''−1*, b''k''−1*) then ''k'' <- ''k'' + 1; else Swap b''k'' and b''k''−1; ''Update'' B* ''and the related'' ''μ''''i'',''j'''''s as needed.'' ''k'' <- max(''k''−1, 1); end if end while return B the LLL reduced basis of OUTPUT the reduced basis b0, b1, ..., b''n'' in Z''m''


Examples


Example from Z3

Let a lattice basis \mathbf_1,\mathbf_2, \mathbf_3 \in \mathbf^, be given by the columns of \begin 1 & -1& 3\\ 1 & 0 & 5\\ 1 & 2 & 6 \end then the reduced basis is \begin 0 & 1& -1\\ 1 & 0 & 0\\ 0 & 1 & 2 \end, which is size-reduced, satisfies the Lovász condition, and is hence LLL-reduced, as described above. See W. Bosma. for details of the reduction process.


Example from Z 'i''sup>4

Likewise, for the basis over the complex integers given by the columns of the matrix below, \begin -2+2i & 7+3i & 7+3i & -5+4i\\ 3+3i & -2+4i & 6+2i & -1+4i\\ 2+2i & -8+0i & -9+1i & -7+5i\\ 8+2i & -9+0i & 6+3i & -4+4i \end, then the columns of the matrix below give an LLL-reduced basis. \begin -6+3i & -2+2i & 2-2i & -3+6i \\ 6-1i & 3+3i & 5-5i & 2+1i \\ 2-2i & 2+2i & -3-1i & -5+3i \\ -2+1i & 8+2i & 7+1i & -2-4i \\ \end.


Implementations

LLL is implemented in
Arageli
as the function lll_reduction_int
fpLLL
as a stand-alone implementation *
FLINT Flint, occasionally flintstone, is a sedimentary cryptocrystalline form of the mineral quartz, categorized as the variety of chert that occurs in chalk or marly limestone. Flint was widely used historically to make stone tools and sta ...
as the function fmpz_lll * GAP as the function LLLReducedBasis * Macaulay2 as the function LLL in the package LLLBases *
Magma Magma () is the molten or semi-molten natural material from which all igneous rocks are formed. Magma is found beneath the surface of the Earth, and evidence of magmatism has also been discovered on other terrestrial planets and some natura ...
as the functions LLL and LLLGram (taking a gram matrix) *
Maple ''Acer'' () is a genus of trees and shrubs commonly known as maples. The genus is placed in the family Sapindaceae.Stevens, P. F. (2001 onwards). Angiosperm Phylogeny Website. Version 9, June 2008 nd more or less continuously updated since ht ...
as the function IntegerRelations LL/code> *
Mathematica Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimi ...
as the function LatticeReduce
Number Theory Library (NTL)
as the function LLL * PARI/GP as the function qflll
Pymatgen
as the function analysis.get_lll_reduced_lattice *
SageMath SageMath (previously Sage or SAGE, "System for Algebra and Geometry Experimentation") is a computer algebra system (CAS) with features covering many aspects of mathematics, including algebra, combinatorics, graph theory, numerical analysis, nu ...
as the method LLL driven by fpLLL and NTL * Isabelle/HOL in the 'archive of formal proofs' entry LLL_Basis_Reduction. This code exports to efficiently executable Haskell.


See also

* Coppersmith method


Notes


References

* * * * * {{DEFAULTSORT:Lenstra-Lenstra-Lovasz Lattice Basis Reduction Algorithm Theory of cryptography Computational number theory Lattice points