1FPLLL(1)                         User Commands                        FPLLL(1)
2
3
4

NAME

6       fplll – does LLL, BKZ, HKZ or SVP on a matrix
7

SYNOPSIS

9       fplll [options] [file]
10

DESCRIPTION

12       fplll(1)  does LLL, BKZ, HKZ or SVP on a matrix (considered as a set of
13       row vectors) given in stdin or in a file as parameter.
14

OPTIONS

16       -a [lll|bkz|hkz|svp|sdb|sld|cvp]
17
18              lll: LLL-reduce the input matrix (default)
19
20              bkz: BKZ-reduce the input matrix
21
22              hkz: HKZ-reduce the input matrix
23
24              svp: compute a shortest non-zero vector of the lattice
25
26              sdb: reduce the input matrix using the self dual BKZ variant
27
28              sld: slide reduce the input matrix
29
30              cvp: compute the vector in the input lattice closest to an input
31              vector
32
33              hlll: HLLL-reduce the input matrix
34
35       -v     Enable verbose mode
36
37       -nolll Does  not  apply initial LLL-reduction.  In the case of bkz, hkz
38              and svp, by default, the input basis is LLL-reduced before  any‐
39              thing  else.   This option allows to remove that initial LLL-re‐
40              duction (note that other calls to LLL-reduction may occur during
41              the  execution).  In the case of hlll, verify if the input basis
42              is HLLL-reduced.
43
44   OPTIONS FOR LLL-REDUCTION
45       With the wrapper or the proved version, it is guaranteed that the basis
46       is  LLL-reduced  with  δ'=2×δ-1 and η'=2×η-1/2.  For instance, with the
47       default options, it is guaranteed that the basis is (0.98,0.52)-LLL-re‐
48       duced.
49
50       -d delta, -delta delta
51              δ (default=0.99)
52
53       -e eta, -eta eta
54              θ (default=0.51).  See P. Q. Nguyen and D. Stehle.  An LLL Algo‐
55              rithm with Quadratic Complexity.  SIAM J. Comput. 39(3): 874–903
56              (2009) for the definition of (δ,η)-LLL-reduced bases.  -l lovasz
57              If lovasz != 0, Lovasz’)s condition.  Otherwise, Siegel’)s  con‐
58              dition  (default:  Lovasz).   See  A. Akhavi.   Random lattices,
59              threshold phenomena and efficient reduction algorithms.   Theor.
60              Comput. Sci. 287(2): 359–385 (2002) for the definition of Siegel
61              condition.
62
63       -f [mpfr|dd|qd|dp|double|longdouble]
64              Floating-point type in LLL.
65
66              mpfr:  Sets  the  floating-point  type  to  MPFR   (default   if
67              -m proved).
68
69              dd: Sets the floating-point type to double-double.
70
71              qd: Sets the floating-point type to quad-double.
72
73              dpe:  Sets the floating-point type to DPE (default if -m heuris‐
74              tic).
75
76              double: Sets the  floating-point  type  to  double  (default  if
77              -m fast).
78
79              longdouble: Sets the floating-point type to long double.
80
81       -p precision
82              Precision  of  the  floating-point  arithmetic,  works only with
83              -f mpfr.
84
85       -z [mpz|int|long|double]
86              Integer type in LLL
87
88              mpz: Sets the integer type to mpz, the integer type of GMP  (de‐
89              fault).
90
91              int: Sets the integer type to int.
92
93              long: Same as int.
94
95              double: Sets the integer type to double.
96
97       -m [wrapper|fast|heuristic|proved]
98              LLL version
99
100              wrapper: Uses the wrapper (default if -z mpz).
101
102              fast: Uses the fast method, works only with -f double.
103
104              heuristic: Uses the heuristic method.
105
106              proved: Uses the proved version of the algorithm.
107
108       -y     Enable early reduction.
109
110   OPTIONS FOR BKZ-REDUCTION
111       -b block_size
112              Size  of BKZ blocks, mandatory, between 2 and the number of vec‐
113              tors.   -f float_type  Same  as  for  LLL  (-p  is  required  if
114              -f mpfr).
115
116       -bkzmaxloops loops
117              Maximum number of full loop iterations.
118
119       -bkzmaxtime time
120              Stops  after  time seconds (up to completion of the current loop
121              iteration).
122
123       -bkzautoabort
124              Stops when the average slope of the log ||b_i*||’)s does not de‐
125              crease fast enough.
126
127       Without any of the last three options, BKZ runs until no block has been
128       updated for a full loop iteration.
129
130       -s filename.json
131              Use strategies for preprocessing and pruning parameter  (strate‐
132              gies/default.json provided).  Experimental.
133
134       -bkzghbound factor
135              Multiplies  the  Gaussian heuristic by factor (of float type) to
136              set the enumeration radius of the SVP calls.
137
138       -bkzboundedlll
139              Restricts the LLL call before considering a block to vector  in‐
140              dices within that block.
141
142       -bkzdumpgso file_name
143              Dumps  the  log of the Gram-Schmidt vectors (log ||b_i*||’)s) in
144              specified file
145
146   OUTPUT FORMATS
147       -of [b|bk|c|s|t|u|uk|v|vk]
148              Output formats.  A combination of these option is allowed (e.g.,
149              -of bkut).
150
151              (empty; -of  ): Prints new line (if -a [lll|bkz]).
152
153              b: Prints the basis (if -a [lll|bkz], this value by default).
154
155              bk:  Prints  the  basis (if -a [lll|bkz], format compatible with
156              sage).
157
158              c: Prints the closest vector (if -a cvp, this value by default).
159
160              s: Prints the closest vector (if -a svp, this value by default).
161
162              s: Prints status (if -a [lll|bkz|cvp|svp]).
163
164              u: Prints unimodular matrix (if -a [lll|bkz]).
165
166              uk: Prints unimodular matrix (if -a [lll|bkz], format compatible
167              with sage).
168
169              u: Prints inverse of u (if -a lll).
170
171              uk:  Prints  inverse  of  u  (if  -a lll, format compatible with
172              sage).
173
174   OPTIONS FOR HLLL-REDUCTION
175       -t theta, -theta theta
176              θ (default=0.001).   See  I. Morel,  D. Stehle  and  G. Villard.
177              H-LLL:  using  Householder  inside LLL.  ISSAC 2009: 271–278 for
178              the definition of (δ,η,θ)-HLLL-reduced bases.
179
180       -c c   An arbitrary double constant > 0 for HLLL during the size-reduc‐
181              tion;   only   used   if  fplll(1)  is  compiled  with  -DHOUSE‐
182              HOLDER_USE_SIZE_REDUCTION_TEST (default=0.1)
183

SEE ALSO

185       latticegen(1)
186
187
188
189                                 December 2022                        FPLLL(1)
Impressum