Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ntrugen

This is an implementation of the key pair generation process used in three lattice-based cryptographic schemes that use NTRU lattices, namely BAT, Falcon, and Hawk. This implementation is meant for research and integration into implementations of these schemes; it has the following characteristics:

  • It is written in standard C (C99) and is portable. It can be run on large systems but also on small microcontrollers.
  • It includes numerous optional optimizations for specific platforms, in particular x86 CPUs with AVX2 intrinsics.
  • It is fully constant-time.
  • It uses no floating-point operation whatsoever.
  • It is faster and uses less RAM than previously published implementations.

See the accompanying note (also on eprint) and the updated note for details on the involved techniques, and some benchmarks.

Warning: all the implemented algorithms may evolve in the near future; in particular, Falcon is currently undergoing specification by NIST. I will try to track these variants in the implementation, which may imply some changes in the behaviour and API.

About

No description, website, or topics provided.

Resources

Stars

27 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages