libntru 0.5

Version 0.5 of libntru was released May 14, 2016.

Changes since 0.4:

  • RNGs: NTRU_RNG_DEFAULT uses CTR_DRBG now, NTRU_RNG_CTR_DRBG replaces NTRU_RNG_IGF2
    This change breaks the API!
  • Denser encoding of private keys
    This change breaks binary compatibility!
  • new API feature: multiple public keys for the same private key
  • new parameter sets: EES443EP1 and EES587EP1
  • new #defines for referencing param sets by strength: NTRU_DEFAULT_PARAMS_xxx_BITS
  • BSD support
  • bug fixes:
    • fixed deterministic encryption on big-endian machines
    • fixed some incorrect error codes when key generation failed
    • fixed generation of polynomial g which deviated from the standard
    • fixed SSE detection on BSD
    • fixed buffer overruns (thanks Jeffrey Quesnelle)
    • fixed a resource leak
    • fixed tests on ARMv6
    • fixed calculation of M_len
  • AVX2 optimizations (thanks Shay Gueron and Fabian Schlieker)
  • minor optimizations

Download the sources at https://github.com/tbuktu/libntru/releases/tag/0.5.

Or go to the GitHub repo at https://github.com/tbuktu/libntru.