nettle: updated to 3.7.1

NEWS for the Nettle 3.7.1 release

This is primarily a bug fix release, fixing a couple of
problems found in Nettle-3.7.

The new version is intended to be fully source and binary
compatible with Nettle-3.6. The shared library names are
libnettle.so.8.2 and libhogweed.so.6.2, with sonames
libnettle.so.8 and libhogweed.so.6.

Bug fixes:

* Fix bug in chacha counter update logic. The problem affected
  ppc64 and ppc64el, with the new altivec assembly code
  enabled. Reported by Andreas Metzler, after breakage in
  GnuTLS tests on ppc64.

* Support for big-endian ARM platforms has been restored.
  Fixes contributed by Michael Weiser.

* Fix build problem on OpenBSD/powerpc64, reported by Jasper
  Lievisse Adriaanse.

* Fix corner case bug in ECDSA verify, it would produce
  incorrect result in the unlikely case of an all-zero
  message hash. Reported by Guido Vranken.

New features:

* Support for pbkdf2_hmac_sha384 and pbkdf2_hmac_sha512,
  contributed by Nicolas Mora.

Miscellaneous:

* Poorly performing ARM Neon code for doing single-block
  Salsa20 and Chacha has been deleted. The code to do two or
  three blocks in parallel, introduced in Nettle-3.7, is
  unchanged.

NEWS for the Nettle 3.7 release

This release adds one new feature, the bcrypt password hashing
function, and lots of optimizations. There's also one
important change to how Nettle is configured: Fat builds are
now on by default.

The release adds PowerPC64 assembly for a few algorithms,
resulting in great speedups. Benchmarked on a Power9 machine,
speedup was 13 times for AES256-CTR and AES256-GCM, and 3.5
times for Chacha. For fat builds (now the default), the new
code is used automatically, on processors supporting the needed
instruction set extensions.

The new version is intended to be fully source and binary
compatible with Nettle-3.6. The shared library names are
libnettle.so.8.1 and libhogweed.so.6.1, with sonames
libnettle.so.8 and libhogweed.so.6.

New features:

* Support for bcrypt, contributed by Stephen R. van den Berg.

Optimizations:

* Much faster AES and GCM on PowerPC64 processors supporting
  the corresponding crypto extensions. Contributed by Mamone
  Tarsha.

* Speed of Chacha improved on PowerPC64, x86_64 and ARM Neon.

* Speed of Salsa20 improved on x86_64 and ARM Neon.

* Overhaul of some elliptic curve primitives, improving ECDSA
  signature speed.

Configure:

* Fat builds are enabled by default on the architectures where
  it is supported (x86_64, arm and powerpc64). To disable
  runtime selection, and instead specify the processor flavor
  at configure time, you need to pass --disable-fat to the
  configure script.

Known issues:

* The ARM assembly code in this release doesn't work correctly
  on big-endian ARM systems. This will hopefully be fixed in a
  later release.

Miscellaneous:

* Use a few more gmp-6.1 functions: mpn_cnd_add_n,
  mpn_cnd_sub_n, mpn_cnd_swap. Delete corresponding internal
  Nettle functions.

* Convert all assembly files to use the default m4 quote
  characters.
This commit is contained in:
adam 2021-02-18 10:59:09 +00:00
parent f249304fe3
commit bbdff8f613
4 changed files with 17 additions and 16 deletions

View file

@ -1,6 +1,6 @@
# $NetBSD: Makefile,v 1.24 2020/05/22 08:01:51 adam Exp $
# $NetBSD: Makefile,v 1.25 2021/02/18 10:59:09 adam Exp $
DISTNAME= nettle-3.6
DISTNAME= nettle-3.7.1
CATEGORIES= devel security
MASTER_SITES= http://www.lysator.liu.se/~nisse/archive/
MASTER_SITES+= ftp://ftp.lysator.liu.se/pub/security/lsh/

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.10 2020/05/22 08:01:51 adam Exp $
@comment $NetBSD: PLIST,v 1.11 2021/02/18 10:59:09 adam Exp $
bin/nettle-hash
bin/nettle-lfib-stream
bin/nettle-pbkdf2
@ -64,6 +64,7 @@ include/nettle/sha1.h
include/nettle/sha2.h
include/nettle/sha3.h
include/nettle/siv-cmac.h
include/nettle/streebog.h
include/nettle/twofish.h
include/nettle/umac.h
include/nettle/version.h

View file

@ -1,10 +1,10 @@
$NetBSD: distinfo,v 1.19 2020/05/22 08:01:51 adam Exp $
$NetBSD: distinfo,v 1.20 2021/02/18 10:59:09 adam Exp $
SHA1 (nettle-3.6.tar.gz) = 22e48a4d232ccd26ba8303709f2222b422a8827d
RMD160 (nettle-3.6.tar.gz) = 26dd0cda467edff59ba98f0b9ce377a879f0a3dd
SHA512 (nettle-3.6.tar.gz) = 2471af875e51327af61af8bda53cd9c3adc27b6e32592a4b5b10b3ec60999ebf771ab9c54c747b0bade4b3b5a717e77fdbdb53699dd9e8a9ed4eee07f46aed51
Size (nettle-3.6.tar.gz) = 2288173 bytes
SHA1 (patch-Makefile.in) = 737dda72892ee1732adef5b71d52f1ffc5fee20b
SHA1 (nettle-3.7.1.tar.gz) = 2113e52ef6755a68097732080b738fcacfac8797
RMD160 (nettle-3.7.1.tar.gz) = fcb350221e21d7bb2c22f90a3b020df669ff34a7
SHA512 (nettle-3.7.1.tar.gz) = 25567c0546b68851a03741ea69a2959b07cab660a723b193a9043faf1fd9eb4cd7aea72de150bb0717fd2db28e417f03ad31b14e98aec40ad316f1bcf0caf50b
Size (nettle-3.7.1.tar.gz) = 2380974 bytes
SHA1 (patch-Makefile.in) = ddc92dc4343df2723fbbfd1ef1afc01f1d576b09
SHA1 (patch-aa) = 2332668b077a6e3a1add603c87f60167755554ec
SHA1 (patch-config.make.in) = 708fb3cac9c44825e0d231541cbecade2239c850
SHA1 (patch-testsuite_Makefile.in) = 6e530041b753336b3eff745e0b05b3b382baec0c

View file

@ -1,10 +1,10 @@
$NetBSD: patch-Makefile.in,v 1.8 2020/05/22 08:01:51 adam Exp $
$NetBSD: patch-Makefile.in,v 1.9 2021/02/18 10:59:09 adam Exp $
Use LIBTOOL.
--- Makefile.in.orig 2020-04-29 18:11:44.000000000 +0000
--- Makefile.in.orig 2021-02-17 18:02:32.000000000 +0000
+++ Makefile.in
@@ -25,7 +25,7 @@ PRE_CPPFLAGS = -I.
@@ -27,7 +27,7 @@ PRE_CPPFLAGS = -I.
EXTRA_CFLAGS = $(CCPIC)
# FIXME: Add configuration of LIBEXT?
@ -13,7 +13,7 @@ Use LIBTOOL.
SHLIBTARGETS = @IF_SHARED@ $(LIBNETTLE_FORLINK) @IF_HOGWEED@ $(LIBHOGWEED_FORLINK)
getopt_SOURCES = getopt.c getopt1.c
@@ -264,24 +264,24 @@ nettle_OBJS = $(nettle_SOURCES:.c=.$(OBJ
@@ -277,24 +277,24 @@ nettle_OBJS = $(nettle_SOURCES:.c=.$(OBJ
hogweed_OBJS = $(hogweed_SOURCES:.c=.$(OBJEXT)) \
$(OPT_HOGWEED_OBJS) @IF_MINI_GMP@ mini-gmp.$(OBJEXT)
@ -37,8 +37,8 @@ Use LIBTOOL.
+ -version-info ${LIBHOGWEED_MAJOR}:${LIBHOGWEED_MINOR}
echo hogweed > libhogweed.stamp
%.$(OBJEXT): %.asm $(srcdir)/asm.m4 machine.m4 config.m4
$(M4) $(srcdir)/asm.m4 machine.m4 config.m4 $< >$*.s
%.$(OBJEXT): %.asm $(srcdir)/m4-utils.m4 $(srcdir)/asm.m4 config.m4 machine.m4
$(M4) $(srcdir)/m4-utils.m4 $(srcdir)/asm.m4 config.m4 machine.m4 $< >$*.s
- $(COMPILE) -c $*.s
+ ${LIBTOOL} --mode=compile $(COMPILE) -c $*.s
@ -48,7 +48,7 @@ Use LIBTOOL.
&& $(DEP_PROCESS)
# Rules building shared libraries.
@@ -481,7 +481,7 @@ install-here: install-doc install-header
@@ -494,7 +494,7 @@ install-here: install-doc install-header
install-static: $(LIBTARGETS)
$(MKDIR_P) $(DESTDIR)$(libdir)
for f in $(LIBTARGETS); do \