fplll 5.0.0 released (with BKZ 2.0)

296 views
Skip to first unread message

Martin R. Albrecht

unread,
Aug 22, 2016, 8:30:38 AM8/22/16
to Cryptanalytic algorithms
Hi there,

not sure if this considered on or off topic here, but fplll 5.0.0 was
released just now.[1] Fplll 5.0.0 is — AFAIK — the first public and
complete implementation of BKZ 2.0. It also ships with “reduction
strategies” (pruning & preprocessing parameters) for block sizes up to 90.

All changes in fplll-5.0:

- switched to C++11
- switched to more open development model on GitHub, cf. CONTRIBUTING.md
- support for computing optimal pruning parameters for a given lattice
dimension/shape/radius
- BKZ 2.0: recursive BKZ preprocessing, extreme pruning, gaussian
heuristic bound
- precomputed BKZ (2.0) reduction strategies up to block size 90, cf.
https://github.com/fplll/strategizer
- Self-Dual BKZ and Slide reduction
- faster, recursive enumeration implementation
- Gaussian lattice sieving
- Python interface at https://github.com/fplll/fpylll
- optional dumping Gram-Schmidt vectors during execution of algorithm
- q-ary lattice generator
- instructions on how to cite
- optional support for doubledouble and quaddouble
- pkg-config support
- API documentation at https://fplll.github.io/fplll/
- revised build system supporting parallel build
- copyright headers
- dropped fplllv3 compatibility layer
- greatly increased test coverage, tests are run on every commit or
pull request
- coding/naming convention
- FP API improved to allow for more readable/natural code

I’ve also written up a more detailed summary of what’s new at:

https://martinralbrecht.wordpress.com/2016/08/22/fplll-5-0/

Get fplll 5.0.0 here:

https://github.com/fplll/fplll/releases/tag/5.0.0

Cheers,
Martin


Footnotes:
[1] Don’t worry, we don’t intend to spam this list with every new
release we make. I figured we can make an exception for this release,
though.

--

_pgp: https://keybase.io/martinralbrecht
_www: https://martinralbrecht.wordpress.com
_jab: martinr...@jabber.ccc.de
_otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF

Leo Ducas

unread,
Aug 23, 2016, 3:37:44 PM8/23/16
to Cryptanalytic algorithms
A small disclaimer: so far, the pruner was ran with rather low precision to generate the default recursive strategies up for BKZ2.0.
It could be that the strategies are not as optimal as hoped, or even worse, that the claimed success probability for the SVP calls
is not accurate.

We shall be testing (and possibly repairing) this in the days/weeks to come. If this is a concern to you, you can follow the ticket
https://github.com/fplll/strategizer/issues/1

Cheers
-- Leo
Reply all
Reply to author
Forward
0 new messages