Lattice Basis Reduction Algorithms¶
Lenstra–Lenstra–Lovasz¶
Basic Introduction¶
The LLL algorithm finds a basis on a lattice that satisfies the following properties:

Moreover, the basis generated by this method has the following very useful properties:

Simple Application¶
Here I'll give the second example from the LLL paper. Given n real numbers \alpha_i,...,\alpha_n, find a rational linear approximation for these n numbers, i.e., find n numbers m_i such that \sum\limits_{i=1}^{n}m_i\alpha_i is as close to 0 as possible. We can construct the following matrix, where a_i is the rational approximation of \alpha_i:
The matrix is n*(n+1). We can compute the determinant of the corresponding lattice using the method for computing lattice determinants:
det(L)=\sqrt{AA^T}
Let us further consider the following matrix:
Then
Furthermore, by trying from low dimensions to high dimensions (for a rigorous proof, consider adding an extra row and column with 1 in the top-left corner), we get the lattice determinant as:
\sqrt{1+\sum\limits_{i=1}^n\alpha_i^2}
A reference proof is as follows:

After applying the LLL algorithm, we can obtain:
||b_1|| \leq 2^{\frac{n-1}{4}} (1+\sum\limits_{i=1}^n\alpha_i^2)^{\frac{1}{2n}}
Generally, the latter term tends toward 1 when taking the n-th root, because the a_i are constants and generally unrelated to n, so:
||b_1|| \leq 2^{\frac{n-1}{4}}*k
where k is relatively small. Moreover, b_1 is a linear combination of the original vectors, so:
b_1[n]=\sum\limits_{i=1}^{n}m_ic*a_i=c\sum\limits_{i=1}^{n}m_i*a_i
Clearly, if c is sufficiently large, then the sum at the end must be sufficiently small to satisfy the above constraint.
References¶
- Survey: Lattice Reduction Attacks on RSA