info-gnu
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ANNOUNCE: Nettle-3.1


From: Niels Möller
Subject: ANNOUNCE: Nettle-3.1
Date: Tue, 07 Apr 2015 21:38:50 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (usg-unix-v)

I'm happy to announce a new version of GNU Nettle, a low-level
cryptographics library.

The Nettle home page can be found at
http://www.lysator.liu.se/~nisse/nettle/, and the manual at
http://www.lysator.liu.se/~nisse/nettle/nettle.html.

NEWS for the Nettle 3.1 release

        This release adds a couple of new features.

        The library is mostly source-level compatible with nettle-3.0.
        It is however not binary compatible, due to the introduction
        of versioned symbols, and extensions to the base64 context
        structs. The shared library names are libnettle.so.6.0 and
        libhogweed.so.4.0, with sonames libnettle.so.6 and
        libhogweed.so.4.

        Bug fixes:

        * Fixed a missing include of <limits.h>, which made the
          camellia implementation fail on all 64-bit non-x86
          platforms.

        * Eliminate out-of-bounds reads in the C implementation of
          memxor (related to valgrind's --partial-loads-ok flag).

        Interface changes:

        * Declarations of many internal functions are moved from ecc.h
          to ecc-internal.h. The functions are undocumented, and
          luckily they're apparently also unused by applications, so I
          don't expect any problems from this change.

        New features:

        * Support for curve25519 and for EdDSA25519 signatures.

        * Support for "fat builds" on x86_64 and arm, where the
          implementation of certain functions is selected at run-time
          depending on available cpu features. Configure with
          --enable-fat to try this out. If it turns out to work well
          enough, it will likely be enabled by default in later
          releases.

        * Support for building the hogweed library (public key
          support) using "mini-gmp", a small but slower implementation
          of a subset of the GMP interfaces. Note that builds using
          mini-gmp are *not* binary compatible with regular builds,
          and more likely to leak side-channel information.

          One intended use-case is for small embedded applications
          which need to verify digital signatures.

        * The shared libraries are now built with versioned symbols.
          Should reduce problems in case a program links explicitly to
          nettle and/or hogweed, and to gnutls, and the program and
          gnutls expect different versions.

        * Support for "URL-safe" base64 encoding and decoding, as
          specified in RFC 4648. Contributed by Amos Jeffries.

        Optimizations:

        * New x86_64 implementation of AES, using the "aesni"
          instructions. Autodetected in fat builds. In non-fat builds,
          it has to be enabled explicitly with --enable-x86-aesni.

        Build system:

        * Use the same object files for both static and shared
          libraries. This eliminates the *.po object files which were
          confusing to some tools (as well as humans). Like before,
          PIC code is used by default; to build a non-pic static
          library, configure with --disable-pic --disable-shared.

        Miscellaneous:

        * Made type-checking hack in CBC_ENCRYPT and similar macros
          stricter, to generate warnings if they are used with
          functions which have a length argument smaller than size_t.

Available at:

  https://ftp.gnu.org/gnu/nettle/nettle-3.1.tar.gz
  ftp://ftp.gnu.org/gnu/nettle/nettle-3.1.tar.gz
  http://www.lysator.liu.se/~nisse/archive/nettle-3.1.tar.gz
  ftp://ftp.lysator.liu.se/pub/security/lsh/nettle-3.1.tar.gz (soon)

Happy hacking,
/Niels Möller

-- 
Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.

Attachment: pgpkY1ea2pFbo.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]