### The LLL algorithm

A is a nonzero m × n matrix of integers, whose rows are LI and with at least two rows.
Output: a unimodular matrix P and LLL(A), such that PA=LLL(A), where the rows of LLL(A) are LLL reduced.
The LLL parameter α = m1/n1 has to satisfy 1/4 < α ≤ 1, but here the default value is 1.

See pages 6-9 of slides and pages 406-416,
*An Introduction to Mathematical Cryptography*, J. Hoffstein, J. Pipher, J.H. Silverman, Undergraduate Text, Springer, August 2008.

The matrix can be entered either (i) as a string of mn integers separated by spaces, or

(ii) cut and pasted from a text file, with entries separated by spaces and each row ended by a newline.

If the matrix entered has LD rows, this is detected during the initial Gram-Schmidt process when D_{i} becomes 0.

*Last modified 29th April 2016*

Return to main page