1FPLLL(1) User Commands FPLLL(1)
2
3
4
6 fplll – does LLL, BKZ, HKZ or SVP on a matrix
7
9 fplll [options] [file]
10
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
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 [1m(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
185 latticegen(1)
186
187
188
189 December 2022 FPLLL(1)