Abstract
The text-book LLL algorithm can be sped up considerably by replacing the underlying rational arithmetic used for the Gram–Schmidt orthogonalisation by floating-point approximations. We review how this modification has been and is currently implemented, both in theory and in practice. Using floating-point approximations seems to be natural for LLL even from the theoretical point of view: it is the key to reach a bit-complexity which is quadratic with respect to the bit-length of the input vectors entries, without fast integer multiplication. The latter bit-complexity strengthens the connection between LLL and Euclid’s gcd algorithm. On the practical side, the LLL implementer may weaken the provable variants in order to further improve their efficiency: we emphasise on these techniques. We also consider the practical behaviour of the floating-point LLL algorithms, in particular their output distribution, their running-time and their numerical behaviour. After 25 years of implementation, many questions motivated by the practical side of LLL remain open.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
LIDIA 2.1.3. A C++ library for computational number theory. Available at http://www.informatik.tu-darmstadt.de/TI/LiDIA/.
IEEE Standards Committee 754. ANSI/IEEE standard 754-1985 for binary floating-point arithmetic. Reprinted in SIGPLAN Notices, 22(2):9–25, 1987.
M. Ajtai. Random lattices and a conjectured 0-1 law about their polynomial time computable properties. In Proceedings of the 2002 Symposium on Foundations of Computer Science (FOCS 2002), pages 13–39. IEEE Computer Society Press, 2002.
M. Ajtai. The worst-case behavior of Schnorr’s algorithm approximating the shortest nonzero vector in a lattice. In Proceedings of the 35th Symposium on the Theory of Computing (STOC 2003), pages 396–406. ACM, 2003.
M. Ajtai and C. Dwork. A public-key cryptosystem with worst-case/average-case equivalence. In Proceedings of the 29th Symposium on the Theory of Computing (STOC 1997), pages 284–293. ACM, 1997.
A. Akhavi. Worst-case complexity of the optimal LLL algorithm. In Proceedings of the 2000 Latin American Theoretical Informatics conference (LATIN 2000), volume 1776 of Lecture Notes in Computer Science, pages 355–366. Springer, 2000.
A. Akhavi, J.-F. Marckert, and A. Rouault. On the reduction of a random basis. In Proceedings of the 4th Workshop on Analytic Algorithmics and Combinatorics. SIAM, 2007.
A. Akhavi and D. Stehlé. Speeding-up lattice reduction with random projections (extended abstract). In Proceedings of the 2008 Latin American Theoretical Informatics conference (LATIN’08), volume 4957 of Lecture Notes in Computer Science, pages 293–305. Springer, 2008.
W. Backes and S. Wetzel. Heuristics on lattice reduction in practice. ACM Journal of Experimental Algorithms, 7:1, 2002.
D. Boneh and G. Durfee. Cryptanalysis of RSA with private key d less than N 0. 292. IEEE Transactions on Information Theory, 46(4):233–260, 2000.
W. Bosma, J. Cannon, and C. Playoust. The Magma algebra system. I. The user language. Journal of Symbolic Computation, 24(3–4):235–265, 1997.
D. Cadé and D. Stehlé. fplll-2.0, a floating-point LLL implementation. Available at http://perso.ens-lyon.fr/damien.stehle.
Z. Chen and A. Storjohann. A BLAS based C library for exact linear algebra on integer matrices. In Proceedings of the 2005 International Symposium on Symbolic and Algebraic Computation (ISSAC’02), pages 92–99. ACM, 2005.
D. Coppersmith. Finding a small root of a bivariate integer equation. In Proceedings of Eurocrypt 1996, volume 1070 of Lecture Notes in Computer Science, pages 178–189. Springer, 1996.
D. Coppersmith. Finding a small root of a univariate modular equation. In Proceedings of Eurocrypt 1996, volume 1070 of Lecture Notes in Computer Science, pages 155–165. Springer, 1996.
D. Coppersmith. Small solutions to polynomial equations, and low exponent RSA vulnerabilities. Journal of Cryptology, 10(4):233–260, 1997.
F. Eisenbrand and G. Rote. Fast reduction of ternary quadratic forms. In Proceedings of the 2001 Cryptography and Lattices Conference (CALC’01), volume 2146 of Lecture Notes in Computer Science, pages 32–44. Springer, 2001.
U. Fincke and M. Pohst. A procedure for determining algebraic integers of given norm. In Proceedings of EUROCAL, volume 162 of Lecture Notes in Computer Science, pages 194–202, 1983.
N. Gama and P. Q. Nguyen. Finding short lattice vectors within Mordell’s inequality. In Proceedings of the 40th Symposium on the Theory of Computing (STOC’08). ACM, 2008.
J. von zur Gathen and J. Gerhardt. Modern Computer Algebra, 2nd edition. Cambridge University Press, Cambridge, 2003.
O. Goldreich, S. Goldwasser, and S. Halevi. Public-key cryptosystems from lattice reduction problems. In Proceedings of Crypto 1997, volume 1294 of Lecture Notes in Computer Science, pages 112–131. Springer, 1997.
D. Goldstein and A. Mayer. On the equidistribution of Hecke points. Forum Mathematicum, 15:165–189, 2003.
T. Granlund. The GNU MP Bignum Library. Available at http://gmplib.org/.
G. Hanrot. LLL: a tool for effective diophantine approximation. This book.
B. Helfrich. Algorithms to construct Minkowski reduced and Hermite reduced lattice bases. Theoretical Computer Science, 41:125–139, 1985.
N. Higham. Accuracy and Stability of Numerical Algorithms. SIAM, 2002.
J. Hoffstein, J. Pipher, and J. H. Silverman. NTRU : a ring based public key cryptosystem. In Proceedings of the 3rd Algorithmic Number Theory Symposium (ANTS III), volume 1423 of Lecture Notes in Computer Science, pages 267–288. Springer, 1998.
E. Kaltofen. On the complexity of finding short vectors in integer lattices. In Proceedings of EUROCAL’83, volume 162 of Lecture Notes in Computer Science, pages 236–244. Springer, 1983.
R. Kannan. Improved algorithms for integer programming and related lattice problems. In Proceedings of the 15th Symposium on the Theory of Computing (STOC 1983), pages 99–108. ACM, 1983.
D. Knuth. The analysis of algorithms. In Actes du Congrès International des Mathématiciens de 1970, volume 3, pages 269–274. Gauthiers-Villars, 1971.
D. Knuth. The Art of Computer Programming, vol. 2, third edition. Addison-Wesley, Reading, MA, 1997.
H. Koy and C. P. Schnorr. Segment LLL-reduction of lattice bases. In Proceedings of the 2001 Cryptography and Lattices Conference (CALC’01), volume 2146 of Lecture Notes in Computer Science, pages 67–80. Springer, 2001.
H. Koy and C. P. Schnorr. Segment LLL-reduction of lattice bases with floating-point orthogonalization. In Proceedings of the 2001 Cryptography and Lattices Conference (CALC’01), volume 2146 of Lecture Notes in Computer Science, pages 81–96. Springer, 2001.
J. C. Lagarias and A. M. Odlyzko. Solving low-density subset sum problems. Journal of the ACM, 32:229–246, 1985.
A. K. Lenstra, H. W. Lenstra, Jr., and L. Lovász. Factoring polynomials with rational coefficients. Mathematische Annalen, 261:515–534, 1982.
H. W. Lenstra, Jr. Flags and lattice basis reduction. In Proceedings of the third European congress of mathematics, volume 1. Birkhäuser, 2001.
J. Martinet. Perfect Lattices in Euclidean Spaces. Springer, Berlin, 2002.
A. May. Using LLL-reduction for solving RSA and factorization problems: a survey. This book.
A. May. New RSA Vulnerabilities Using Lattice Reduction Methods. PhD thesis, University of Paderborn, 2003.
J.-M. Muller. Elementary Functions, Algorithms and Implementation. Birkhäuser, 1997.
P. Nguyen and D. Stehlé. Low-dimensional lattice basis reduction revisited (extended abstract). In Proceedings of the 6th Algorithmic Number Theory Symposium (ANTS VI), volume 3076 of Lecture Notes in Computer Science, pages 338–357. Springer, 2004.
P. Nguyen and D. Stehlé. Floating-point LLL revisited. In Proceedings of Eurocrypt 2005, volume 3494 of Lecture Notes in Computer Science, pages 215–233. Springer, 2005.
P. Nguyen and D. Stehlé. LLL on the average. In Proceedings of the 7th Algorithmic Number Theory Symposium (ANTS VII), volume 4076 of Lecture Notes in Computer Science, pages 238–256. Springer, 2006.
P. Nguyen and D. Stehlé. An LLL algorithm with quadratic complexity. SIAM Journal on Computing, 39(3):874–903, 2009.
A. M. Odlyzko. The rise and fall of knapsack cryptosystems. In Proceedings of Cryptology and Computational Number Theory, volume 42 of Proceedings of Symposia in Applied Mathematics, pages 75–88. American Mathematical Society, 1989.
A. M. Odlyzko and H. J. J. te Riele. Disproof of Mertens conjecture. Journal für die reine und angewandte Mathematik, 357:138–160, 1985.
The SPACES Project. MPFR, a LGPL-library for multiple-precision floating-point computations with exact rounding. Available at http://www.mpfr.org/.
C. P. Schnorr. Hot topics of LLL and lattice reduction. This book.
C. P. Schnorr. A hierarchy of polynomial lattice basis reduction algorithms. Theoretical Computer Science, 53:201–224, 1987.
C. P. Schnorr. A more efficient algorithm for lattice basis reduction. Journal of Algorithms, 9(1):47–62, 1988.
C. P. Schnorr. Fast LLL-type lattice reduction. Information and Computation, 204:1–25, 2006.
C. P. Schnorr and M. Euchner. Lattice basis reduction: Improved practical algorithms and solving subset sum problems. In Proceedings of the 1991 Symposium on the Fundamentals of Computation Theory (FCT’91), volume 529 of Lecture Notes in Computer Science, pages 68–85. Springer, 1991.
C. P. Schnorr and M. Euchner. Lattice basis reduction: improved practical algorithms and solving subset sum problems. Mathematics of Programming, 66:181–199, 1994.
A. Schönhage. Schnelle Berechnung von Kettenbruchentwicklungen. Acta Informatica, 1: 139–144, 1971.
A. Schönhage. Factorization of univariate integer polynomials by Diophantine approximation and improved basis reduction algorithm. In Proceedings of the 1984 International Colloquium on Automata, Languages and Programming (ICALP 1984), volume 172 of Lecture Notes in Computer Science, pages 436–447. Springer, 1984.
A. Schönhage. Fast reduction and composition of binary quadratic forms. In Proceedings of the 1991 International Symposium on Symbolic and Algebraic Computation (ISSAC’91), pages 128–133. ACM, 1991.
G. Schulz. Iterative Berechnung der reziproken Matrix. Zeitschrift für Angewandte Mathematik und Mechanik, 13:57–59, 1933.
I. Semaev. A 3-dimensional lattice reduction algorithm. In Proceedings of the 2001 Cryptography and Lattices Conference (CALC’01), volume 2146 of Lecture Notes in Computer Science, pages 181–193. Springer, 2001.
V. Shoup. NTL, Number Theory C++ Library. Available at http://www.shoup.net/ntl/.
A. Storjohann. Faster algorithms for integer lattice basis reduction. Technical report, ETH Zürich, 1996.
J.-G. Sun. Componentwise perturbation bounds for some matrix decompositions. BIT Numerical Mathematics, 31:341–352, 1992.
B. Vallée and A. Vera. Probabilistic analyses of lattice reduction algorithms. This book.
G. Villard. Certification of the QR factor R, and of lattice basis reducedness. In Proceedings of the 2007 International Symposium on Symbolic and Algebraic Computation (ISSAC’07), pages 361–368. ACM, 2007.
C. K. Yap. Fast unimodular reduction: planar integer lattices. In Proceedings of the 1992 Symposium on the Foundations of Computer Science (FOCS 1992), pages 437–446. IEEE Computer Society Press, 1992.
Acknowledgements
The author gratefully thanks John Cannon, Claude-Pierre Jeannerod, Erich Kaltofen, Phong Nguyen, Andrew Odlyzko, Peter Pearson, Claus Schnorr, Victor Shoup, Allan Steel, Brigitte Vallée and Gilles Villard for helpful discussions and for pointing out errors on drafts of this work.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Stehlé, D. (2009). Floating-Point LLL: Theoretical and Practical Aspects. In: Nguyen, P., Vallée, B. (eds) The LLL Algorithm. Information Security and Cryptography. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02295-1_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-02295-1_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02294-4
Online ISBN: 978-3-642-02295-1
eBook Packages: Computer ScienceComputer Science (R0)