Main changes in fplll-4.0.0 : - BKZ reduction, available with 'fplll -a bkz -b blocksize' ******************************************************************* Changes in fplll-3.1.3 : - Fixed build process when DESTDIR is defined Changes in fplll-3.1.2 : - Memory leak fixed in the wrapper. Main changes in fplll-3.1.1 : - Some code is no longer included in the header files but is compiled in libfplll instead. The -lfplll option will now be required for apps which could be compiled without it. - 'make install' puts all header files but fplll.h in a subdirectory named fplll - New programming interface for the library (documented in README.html). - 'generate' renamed to 'latticegen'. - Removal of fplll_verbose. Use the '-v' option instead. - Minor bugs fixed in all versions of LLL. - More important bugs fixed in the SVP solver. - Optimization of the SVP solver. - By default, 'fplll -a svp' now gives the coordinates of a shortest vector in the _standard_ basis. ******************************************************************* The main differences between fplll-2.1 and fplll-3.0 are the following: - short lattice vector enumeration algorithm (by Xavier Pujol). - GPL -> LGPLv2 - no more need to specify the number of rows and columns in the input of the fplll binary. - new version of dpe.h [Patrick Pelissier and Paul Zimmermann] ******************************************************************* The main differences between fplll-2.1 and fplll-2.0 are the following: - "configure/make/make install" packaging (thanks to Martin Albrecht) - few minor changes to make fplll portable to SAGE (thanks to Martin Albrecht) - conversion scripts between MAGMA and fplll formats. - a bug fixed in fast_early (discovered by Martin Albrecht) ******************************************************************* fplll-2.0 is an improved version of fplll-1.3. Parts of it resemble Magma's LLL (Allan Steel, Damien Stehle) and/or NTL's LLL (Victor Shoup). The improvements from fplll-1.3 to fplll-2.0 were mostly performed by David Cade. Here is a brief summary of the changes: - the major algorithmic improvement is the so-called wrapper, which chooses for the user a guess of the right sequence of heuristic/proved variants to use, in order to finish as quick as possible, but in a reliable way. - the early-reduction strategy of Allan Steel has been integrated. It consists in size-reducing vectors earlier than what would have been done in the standard LLL. This is not integrated into the wrapper yet. - we switched from C to C++, to simplify our lives with the wrapper. It is extremely convenient for the use of the underlying arrithmetics (integers and floating-point numbers). - we translated the matrix indices by 1: the first matrix entry is B[0][0] instead of B[1][1]. - automatised triangular option: the code looks at the matrix and decides how close to upper-triangular it is.