Skip to content
Martin R. Albrecht edited this page Jul 14, 2017 · 44 revisions

Date

  • July 6 - 7 (Thursday - Friday): Tutorials
  • July 10 - 14 (Monday - Friday-ish): FPLLL Days

Location

CWI Amsterdam, The Netherlands

Format

The idea of fplll days is inspired by the format of Sage Days which are semi-regularly organised by the SageMath community. The idea is simply to get a bunch of motivated developers in a room to work on code. We also schedule the occasional talk but the focus is on collaborative development of lattice algorithms.

Tutorial Sessions

Thu, Jul 6 :

12:30 Lunch Break (@ CWI restaurant)

15:30 break

Fri, Jul 7 :

12:30 Lunch Break (@ Polder)

  • 14:00 Tuple-sieve [Gottfried]
  • 14:50 The Pruning module [Leo]

15:30 Break

Coding Projects

See also the fpllldays tag on fplll and fpylll

Software Engineering/Design

  • Profiling the library and finding bottlenecks
  • Optimisations (for various target architectures)
  • Benchmark(et)ing infrastructure to detect performance regressions/improvements
  • Refactoring to make the code more modular/easier to understand
  • Function-level and high-level documentation
  • Investigate if we can remove typedefs in nr.h to make code more explicit (Vaggelis)
  • Investigate if we can drop MatrixRow or document why it is needed (Vaggelis)
  • Template ZZ_mat<Z_NR<mpz_t>> instead of ZZ_mat<mpz_t> (?) (Vaggelis)

GSO

  • SIMD implementation for machine doubles (Chitchanok)
  • Givens rotation (Thomas)
  • Seisen size-reduction
  • HPLLL

Pruning (Leo)

  • Improve handling of corner cases
  • Re-factor (improve and simplify interface, unfix array dimension (template?), templating recursions ?)

Enumeration

  • Enumeration with discrete pruning
  • GPU implementation of enumeration (Fernando)
  • Multicore implementation of enumeration, thread pool (Marc: #206)
  • Enumeration WTF FTW (Michael: #259)

Sieving

  • Sieving, faster, faster, faster!!!! (Gottfried, Elena)
  • Implement a BKZ-variant that actually uses sieving (Eamonn)

BKZ

  • Progressive BKZ

Fpylll

  • Extend interface to cover LLL on Gram Matrices (Koen)
  • Check FPLLL coverage, what is and isn't covered by FPYLLL.
  • Function-level and high-level documentation
  • Automatized attacks/scripts for challenges: SVP, LWE, NTRU (Matthias: #253)

Sage

  • Improve fpylll integration into Sage, e.g. use fpylll's CVP code here
  • Add documentation on how to use fpylll from Sage.

Tentative Programme

  • July 6 (Thursday): Tutorials, Discussing projects and teams.

  • July 7 (Friday): Tutorials

  • July 10 (Monday): Finalizing teams and projects. Coding - coding from 9:30am

  • July 11 (Tuesday): Coding.

  • July 12 (Wednesday): Coding.

  • July 13 (Thursday): Coding & writing documentation (#239, #235)

  • July 14 (Friday Morning only): Coding - wrap-up discussion.

Attendees

  • Martin Albrecht
  • Shi Bai
  • Koen de Boer
  • Chitchanok Chuengsatiansup
  • Vaggelis Daravigkas
  • Leo Ducas
  • Kostas Draziotis
  • Laurent Grémy
  • Gottfried Herold
  • Pierre Karpman
  • Elena Kirshanova
  • Matthias Minihold
  • Eamonn Postlethwaite
  • Thomas Prest
  • Marc Stevens
  • Fernando Virdia
  • Michael Walter

Registration is closed.

Clone this wiki locally