I'm happy to annnounce 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/.
NEWS for the 2.5 release
This release includes important portability fixes for Windows and MacOS. There are also a few new features.
First a *warning*: Some internal functions have been removed from the library. Since the functions in question are internal and not documented, this is not considered a change of ABI or API. Programs explicitly using any of these functions will break. * The function pkcs1_signature_prefix has been renamed to _pkcs1_signature_prefix, and with slightly different behavior.
* The file nettle-internal.c is no longer included in the library (the features defined there are used by the benchmark and test programs, and were never intended for public use).
New features:
* Support for the salsa20 block cipher, including x86_64 assembler. Originally contributed by Simon Josefsson, based on the reference implementation, then further optimized.
* Tentative interface for timing-resistant RSA functions, contributed by Nikos Mavrogiannopoulos.
* A more general interface for PKCS#1 signatures, taking the input in the form of a "DigestInfo". Suggested by Nikos Mavrogiannopoulos.
Configuration: * Building of shared libraries (./configure --enable-shared) is now enabled by default.
* Various portability fixes for MacOS and M$ Windows. A lot of this work done by Martin Storsjö.
* In particular, Nettle now hopefully works on 64-bit Windows builds, "W64", including the x86_64 assembly code.
Miscellaneous: * Documentation and example programs for the base16 and base64 functions. Was contributed by Jeronimo Pellegrini back in 2006, but unfortunately forgotten until now.
* Use an additional table to avoid GF2^8 multiplications in aes_invert_key (mainly used by aes_set_decrypt_key). Also tabulate round constants in aes_set_encrypt_key.
* The nettle repository has been migrated from cvs to git, with a public repository at http://git.lysator.liu.se/nettle. To make it independent of the LSH repository, a few files have been moved around. While at it, files have also been converted from latin-1 to utf-8.
The libraries are intended to be binary compatible with nettle-2.2 and later. The shared library names are libnettle.so.4.4 and libhogweed.so.2.2, with sonames still libnettle.so.4 and libhogweed.so.2
Available at
http://www.lysator.liu.se/~nisse/archive/nettle-2.5.tar.gz ftp://ftp.gnu.org/gnu/nettle/nettle-2.5.tar.gz
and soon also at
ftp://ftp.lysator.liu.se/pub/security/lsh/nettle-2.5.tar.gz
Happy hacking, /Niels Möller