]>
git.ipfire.org Git - thirdparty/nettle.git/log
Niels Möller [Sun, 13 Sep 2020 18:11:09 +0000 (20:11 +0200)]
Use default m4 quote character in asm files, part 2
Update arm files.
Niels Möller [Sat, 12 Sep 2020 08:25:21 +0000 (10:25 +0200)]
Use default m4 quote character in asm files, part 1
Update shared m4 files and x86_64.
Niels Möller [Sat, 12 Sep 2020 09:16:18 +0000 (11:16 +0200)]
x86_64: Fix incorrect W64_EXIT in salsa20-2core.asm.
Maamoun TK [Fri, 4 Sep 2020 07:39:26 +0000 (09:39 +0200)]
"PowerPC64" AES improve syntax
This patch adds "VSR" macro to improve the syntax of assembly code, I will
create a separate patch for gcm-hash since it hasn't merged yet to the
master. I also removed the TODO from README because I tried to use
"lxv/stxv" in POWER9 instead of "lxvd2x/stxvd2x" but gcc produced
"lxvd2x/stxvd2x" in the binary. I'm not sure if it's variant issue of gcc
but this will be problematic since "lxvd2x/stxvd2x" need permuting in
little-endian mode while "lxv/stxv" is endianness aware.
Niels Möller [Sat, 29 Aug 2020 13:10:46 +0000 (15:10 +0200)]
Enable powerpc64 assembly only for 64-bit builds.
Based on patch by Mamone Tarsha.
Niels Möller [Sat, 29 Aug 2020 10:55:19 +0000 (12:55 +0200)]
Merge branch 'power-asm-wip'
Niels Möller [Sat, 29 Aug 2020 10:55:06 +0000 (12:55 +0200)]
ChangeLog entries for initial powerpc64 assembly.
Niels Möller [Wed, 26 Aug 2020 16:55:09 +0000 (18:55 +0200)]
Fix syntax error in configure.ac
Niels Möller [Wed, 26 Aug 2020 16:20:18 +0000 (18:20 +0200)]
Add power FAT_TEST_LIST, and make --enable-power-crypto-ext default to false.
Niels Möller [Thu, 20 Aug 2020 20:15:28 +0000 (22:15 +0200)]
Indentation fixes
Maamoun TK [Sun, 2 Aug 2020 14:30:32 +0000 (17:30 +0300)]
Check for ENV_OVERRIDE in get_ppc_features()
Maamoun TK [Mon, 20 Jul 2020 16:18:35 +0000 (19:18 +0300)]
Add AIX to cpu detection
Niels Möller [Wed, 19 Aug 2020 20:28:16 +0000 (22:28 +0200)]
Fix definition of HAVE_NATIVE_aes_decrypt and HAVE_NATIVE_aes_encrypt
Niels Möller [Wed, 19 Aug 2020 19:36:52 +0000 (21:36 +0200)]
Add support for powerpc64 fat build
Based on patch by Mamone Tarsha
Niels Möller [Sun, 2 Aug 2020 18:05:08 +0000 (20:05 +0200)]
Rename powerpc64/P8 to powerpc64/p8
Maamoun TK [Sun, 2 Aug 2020 17:59:49 +0000 (19:59 +0200)]
"PowerPC64" Add README (Reformatted)
Niels Möller [Mon, 20 Jul 2020 19:27:33 +0000 (21:27 +0200)]
Enable powerpc64 assembly
Maamoun TK [Tue, 14 Jul 2020 11:43:06 +0000 (14:43 +0300)]
"PowerPC64" Add optimized AES [Enc|Dec]
I measured the latency and throughput of vcipher/vncipher/vxor instructions
for POWER8
vcipher/vncipher
throughput 6 instructions per cycle
latency 0.91 clock cycles
vxor
throughput 6 instructions per cycle
latency 0.32 clock cycles
So the ideal option for POWER8 is processing 8 blocks, it has +12%
performance over processing 4 blocks.
Maamoun TK [Tue, 14 Jul 2020 11:36:14 +0000 (14:36 +0300)]
"PowerPC64" Add machine.m4
Niels Möller [Fri, 31 Jul 2020 17:54:30 +0000 (19:54 +0200)]
gitlab-ci: Run make check-fat for x86_64 and cross builds
Niels Möller [Fri, 31 Jul 2020 17:54:07 +0000 (19:54 +0200)]
New make target check-fat
Niels Möller [Mon, 20 Jul 2020 12:45:15 +0000 (14:45 +0200)]
Merge branch 'x86_64-salsa20-2core'
Niels Möller [Mon, 20 Jul 2020 12:44:08 +0000 (14:44 +0200)]
ChangeLog for x86_64/salsa20-2core.asm
Niels Möller [Tue, 14 Jul 2020 20:17:26 +0000 (22:17 +0200)]
Rearrange chacha_crypt and chacha_crypt32, enabling fat builds to use chacha_3core
Niels Möller [Tue, 14 Jul 2020 19:59:27 +0000 (21:59 +0200)]
Fix (arm neon) _nettle_chacha_3core32
Niels Möller [Tue, 14 Jul 2020 15:29:52 +0000 (17:29 +0200)]
ChangeLog update.
Niels Möller [Tue, 14 Jul 2020 14:44:36 +0000 (16:44 +0200)]
In chacha_crypt, use _chacha_3core if leftover is more than one block.
Niels Möller [Mon, 13 Jul 2020 20:49:32 +0000 (22:49 +0200)]
Keep counter words in registers
Niels Möller [Mon, 13 Jul 2020 20:41:14 +0000 (22:41 +0200)]
Reschedule first permutation
Niels Möller [Mon, 13 Jul 2020 20:27:37 +0000 (22:27 +0200)]
Reschedule second permutation
Niels Möller [Mon, 13 Jul 2020 20:17:32 +0000 (22:17 +0200)]
Reschedule second qround
Niels Möller [Mon, 13 Jul 2020 20:14:38 +0000 (22:14 +0200)]
Reschedule first qround
Niels Möller [Mon, 13 Jul 2020 19:43:37 +0000 (21:43 +0200)]
Three-way interleaving of chacha on Neon
Niels Möller [Mon, 13 Jul 2020 19:29:02 +0000 (21:29 +0200)]
Tweak stop condition of _salsa20_crypt_2core
Exit when processing exactly two blocks.
Niels Möller [Sat, 11 Jul 2020 14:56:48 +0000 (16:56 +0200)]
Additional chacha test, with simpler input structure.
Niels Möller [Sat, 11 Jul 2020 09:33:39 +0000 (11:33 +0200)]
Delete obsolete tests for chacha with 128-bit keys
Niels Möller [Fri, 10 Jul 2020 18:53:09 +0000 (20:53 +0200)]
x86_64: Replace salsa20_crypt assembly with salsa20_2core
Maamoun TK [Thu, 9 Jul 2020 06:38:31 +0000 (09:38 +0300)]
Add missing undef directives in configure.ac
Maamoun TK [Thu, 9 Jul 2020 14:03:12 +0000 (16:03 +0200)]
Add test 128 bytes to gcm-test
Niels Möller [Thu, 9 Jul 2020 14:01:02 +0000 (16:01 +0200)]
Fix preprocessor warnings
Niels Möller [Wed, 8 Jul 2020 08:46:45 +0000 (10:46 +0200)]
Rearrange salsa20, enabling ARM fat builds to use sala20_2core.
Niels Möller [Mon, 6 Jul 2020 08:57:25 +0000 (10:57 +0200)]
Two-way interleaving of salsa20 on Neon
Niels Möller [Mon, 6 Jul 2020 21:12:54 +0000 (23:12 +0200)]
Additional salsa20 test, with simpler input structure.
Niels Möller [Mon, 6 Jul 2020 09:05:44 +0000 (11:05 +0200)]
Obey --enable-arm-neon=yes, even if not explicitly targetting ARM v6 or later.
Niels Möller [Mon, 6 Jul 2020 08:58:18 +0000 (10:58 +0200)]
Merge branch 'bcrypt'
Niels Möller [Thu, 2 Jul 2020 11:56:30 +0000 (13:56 +0200)]
Move bcrypt tests to its own file. ChangeLog entries for bcrypt.
Stephen R. van den Berg [Wed, 1 Jul 2020 09:36:33 +0000 (11:36 +0200)]
Add bcrypt tests to testsuite.
Stephen R. van den Berg [Fri, 12 Jun 2020 09:11:46 +0000 (11:11 +0200)]
blowfish: Add bcrypt support.
Niels Möller [Tue, 30 Jun 2020 09:30:28 +0000 (11:30 +0200)]
gitlab-ci: Add cross tests for big-endian powerpc64.
Niels Möller [Tue, 30 Jun 2020 10:47:26 +0000 (12:47 +0200)]
Documentation fot Streebog hash
Niels Möller [Mon, 29 Jun 2020 12:05:54 +0000 (14:05 +0200)]
gitlab-ci: Add cross tests for powerpc64
Niels Möller [Thu, 25 Jun 2020 19:17:36 +0000 (21:17 +0200)]
x86_64: Fix use of macro arguments in chacha QROUND macro.
Stephen R. van den Berg [Fri, 12 Jun 2020 09:10:44 +0000 (11:10 +0200)]
v4.0 Blowfish: Prepare for bcrypt support.
Dmitry Baryshkov [Tue, 2 Jun 2020 10:45:40 +0000 (13:45 +0300)]
test/gostdsa-vko: add hashed test vectors from RFC 7836
It was not possible to check gostdsa_vko test vectors with the outputs
from RFC 7836 because Nettle lacked Streebog hash function. Now as the
function is supported, add full test vectors.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Dmitry Baryshkov [Tue, 2 Jun 2020 10:45:39 +0000 (13:45 +0300)]
pbkdf2-test: add PBKDF2 tests using Streebog HMAC function
Add test vectors from R 50.1.111-2016 to verify using HMAC-STREEBOG in
PBKDF2 function.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Dmitry Baryshkov [Tue, 2 Jun 2020 10:45:38 +0000 (13:45 +0300)]
nettle-benchmark: bench Streebog hashes
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Dmitry Baryshkov [Tue, 2 Jun 2020 10:45:36 +0000 (13:45 +0300)]
hmac: add support for streebog256/512 hash function
Add support for calculating HMAC using Streebog hash functions.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Dmitry Baryshkov [Tue, 2 Jun 2020 10:45:34 +0000 (13:45 +0300)]
testsuite: add test for Streebog hash function
Add a testuite for Streebog hash function. Test vectors are based on RFC
6986.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Dmitry Baryshkov [Thu, 4 Jun 2020 23:27:06 +0000 (02:27 +0300)]
Implement GOST R 34.11-2012 (Streebog) hash function
Also add nettle_streebog256 and nettle_streebog512 to nettle meta interface.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Niels Möller [Tue, 2 Jun 2020 05:27:59 +0000 (07:27 +0200)]
Delete benchmark code attempting to measure function call overhead.
Emil Velikov [Mon, 11 May 2020 08:43:22 +0000 (09:43 +0100)]
examples: don't use deprecated OpenSSL hashing API
The direct $HASH_{Init,Update,Final} has been discouraged for a while.
With the upcoming OpenSSL 3.0 it will be officially deprecated.
Add a handy macro, to avoid repetition and mistakes like in the current
code. Namely - we're using SHA cblock/digest_len for md5 :-\
The macro will also make it easier to add more, as seen with next patch.
v2: Align it with the crypto implementations, namely:
- use openssh_hash_ctx::evp, use correct sizeof()
- move hash_update out of the macro
- remove forward declarations for hash functions
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Niels Möller [Sun, 10 May 2020 17:29:20 +0000 (19:29 +0200)]
gitlab-ci: Reenable gost in gnutls build
Niels Möller [Wed, 29 Apr 2020 17:59:12 +0000 (19:59 +0200)]
Note Nettle-3.6 release.
Niels Möller [Mon, 27 Apr 2020 19:50:55 +0000 (21:50 +0200)]
Tweak gcc command like flags
Niels Möller [Mon, 27 Apr 2020 17:34:54 +0000 (19:34 +0200)]
Update mini-gmp to latest version
Niels Möller [Sun, 26 Apr 2020 11:53:35 +0000 (13:53 +0200)]
Mention GMP-6.1.0 in NEWS.
Niels Möller [Sat, 25 Apr 2020 18:27:57 +0000 (20:27 +0200)]
Delete compatibility definitions of mpz_limbs_read and friends.
Niels Möller [Sat, 25 Apr 2020 18:01:00 +0000 (20:01 +0200)]
Require gmp-6.1.0 or later, for mpn_zero_p.
Niels Möller [Sat, 25 Apr 2020 08:13:18 +0000 (10:13 +0200)]
DISTFILES fixes.
Niels Möller [Thu, 23 Apr 2020 17:25:08 +0000 (19:25 +0200)]
Set WINEPATH for tests, and remove symlink workaround.
Niels Möller [Thu, 23 Apr 2020 16:19:09 +0000 (18:19 +0200)]
In tests, delete ASSERTs with functions pointer comparisons.
Niels Möller [Wed, 22 Apr 2020 18:31:07 +0000 (20:31 +0200)]
Delete .test-rules.make, replaced by GNU make pattern rules.
Niels Möller [Tue, 21 Apr 2020 16:40:12 +0000 (18:40 +0200)]
ChangeLog entry for gost_vko.
Dmitry Eremin-Solenikov [Tue, 21 Apr 2020 11:50:48 +0000 (14:50 +0300)]
Implement GOST VKO key derivation algorithm
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Niels Möller [Sun, 19 Apr 2020 15:02:40 +0000 (17:02 +0200)]
ChangeLog for previous gosthash changes.
Niels Möller [Sun, 19 Apr 2020 14:25:37 +0000 (16:25 +0200)]
Delete obsolete FIXME comment.
Dmitry Baryshkov [Sun, 19 Apr 2020 14:24:13 +0000 (16:24 +0200)]
gosthash94: switch to using MD_UPDATE() macro
Niels Möller [Fri, 17 Apr 2020 06:06:28 +0000 (08:06 +0200)]
NEWS file update for soname changes.
Niels Möller [Fri, 17 Apr 2020 05:28:52 +0000 (07:28 +0200)]
Bump libnettle soname, libnettle version is now 8.0.
Niels Möller [Wed, 15 Apr 2020 18:08:00 +0000 (20:08 +0200)]
Fix file header.
Niels Möller [Wed, 15 Apr 2020 18:04:36 +0000 (20:04 +0200)]
Make poly1305-internal.h include poly1305.h, not aes.h.
Niels Möller [Wed, 15 Apr 2020 18:03:23 +0000 (20:03 +0200)]
ChangeLog for poly1305-internal.h.
Dmitry Baryshkov [Tue, 14 Apr 2020 10:53:10 +0000 (13:53 +0300)]
poly1305: make internal symbols internal
Make low-level poly1305 functions that were marked as "internal" in
public header file really internal. Change their prefix from nettle to
_nettle.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Niels Möller [Wed, 15 Apr 2020 17:47:27 +0000 (19:47 +0200)]
Reorder DISTFILES to avoid wrong timestamp order in tar file.
Niels Möller [Sun, 12 Apr 2020 07:53:08 +0000 (09:53 +0200)]
NEWS fixes from Daiki Ueno.
Niels Möller [Sun, 12 Apr 2020 07:51:33 +0000 (09:51 +0200)]
Define _GNU_SOURCE in ed448-test.c.
Niels Möller [Mon, 6 Apr 2020 17:41:35 +0000 (19:41 +0200)]
Update info on ABI compatibility in NEWS.
Niels Möller [Mon, 6 Apr 2020 17:31:25 +0000 (19:31 +0200)]
Increase hogweed version number to 6.0, at request of Gnutls team.
Niels Möller [Thu, 2 Apr 2020 19:42:21 +0000 (21:42 +0200)]
Fix gnutls ci job to not replace the system's nettle libraries.
Niels Möller [Wed, 1 Apr 2020 17:45:38 +0000 (19:45 +0200)]
Update config.guess and config.sub.
Niels Möller [Wed, 1 Apr 2020 17:39:31 +0000 (19:39 +0200)]
Delete some unused autoconf macros.
Niels Möller [Wed, 1 Apr 2020 16:37:54 +0000 (18:37 +0200)]
Delete extra quotes from TEST_SHLIB_DIR. Add comment.
Niels Möller [Tue, 31 Mar 2020 17:52:15 +0000 (19:52 +0200)]
Rework setting of LD_LIBRARY_PATH for tests.
* testsuite/Makefile.in (check): Pass only TEST_SHLIB_DIR
to the run-tests script, and leave setting of LD_LIBRARY_PATH and
related variables to that script.
* examples/Makefile.in (check): Likewise.
* run-tests: Check TEST_SHLIB_DIR, and set up LD_LIBRARY_PATH and
related member variables.
* config.make.in (abs_top_builddir, TEST_SHLIB_DIR): New variables.
Niels Möller [Thu, 26 Mar 2020 18:51:37 +0000 (19:51 +0100)]
Version number update for Nettle-3.6
* configure.ac: Bump package version to 3.6.
(LIBNETTLE_MINOR): Bump minor number, now 7.1.
(LIBHOGWEED_MINOR): Bump minor numbers, now 5.1
Niels Möller [Sun, 22 Mar 2020 18:47:55 +0000 (19:47 +0100)]
More NEWS entries for Nettle-3.6.
H.J. Lu [Mon, 16 Mar 2020 12:17:34 +0000 (05:17 -0700)]
x86: Add x86-ibt-test.c
On Linux/x86, when CET is enabled, all indirect branch targets must
start with ENDBR instruction. Add x86-ibt-test.c to verify that missing
ENDBR instruction at indirect branch target will trigger SIGSEGV on CET
platforms.
Niels Möller [Sat, 14 Mar 2020 18:45:41 +0000 (19:45 +0100)]
ChangeLog entry for x86_64 CET fixes.
H.J. Lu [Fri, 28 Feb 2020 17:52:08 +0000 (09:52 -0800)]
x86: Add ASM_X86_ENDBR and x86 CET marker to config.m4.in
Intel Control-flow Enforcement Technology (CET):
https://software.intel.com/en-us/articles/intel-sdm
contains shadow stack (SHSTK) and indirect branch tracking (IBT). When
CET is enabled, ELF object files must be marked with .note.gnu.property
section. Also when IBT is enabled, all indirect branch targets must
start with ENDBR instruction.
This patch adds ASM_X86_ENDBR and the x86 CET marker to config.m4.in when
CET is enabled. It updates PROLOGUE with ASM_X86_ENDBR.
Tested on CET machine with i686 and x86-64.
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Michael Weiser [Thu, 5 Mar 2020 19:13:07 +0000 (20:13 +0100)]
arm: Fix memxor for non-armv6+ big-endian systems
ARM assembly adjustments for big-endian systems contained armv6+-only
instructions (rev) in generic arm memxor code. Replace those with an
actual conversion of the leftover byte store routines for big-endian
systems. This also provides a slight optimisation by removing the
additional instruction as well as increased symmetry between little- and
big-endian implementations.
Signed-off-by: Michael Weiser <michael.weiser@gmx.de>
Niels Möller [Mon, 9 Mar 2020 21:15:21 +0000 (22:15 +0100)]
Minor fixes for chacha comments and docs.