]>
git.ipfire.org Git - thirdparty/nettle.git/log
Niels Möller [Sat, 13 Mar 2021 16:26:37 +0000 (17:26 +0100)]
Use ecc_mod_mul_canonical for point comparison.
* eddsa-verify.c (equal_h): Use ecc_mod_mul_canonical.
(cherry picked from commit
5b7608fde3a6d2ab82bffb35db1e4e330927c906 )
Niels Möller [Thu, 11 Mar 2021 18:37:41 +0000 (19:37 +0100)]
New functions ecc_mod_mul_canonical and ecc_mod_sqr_canonical.
* ecc-mod-arith.c (ecc_mod_mul_canonical, ecc_mod_sqr_canonical):
New functions.
* ecc-internal.h: Declare and document new functions.
* curve448-eh-to-x.c (curve448_eh_to_x): Use ecc_mod_sqr_canonical.
* curve25519-eh-to-x.c (curve25519_eh_to_x): Use ecc_mod_mul_canonical.
* ecc-eh-to-a.c (ecc_eh_to_a): Likewise.
* ecc-j-to-a.c (ecc_j_to_a): Likewise.
* ecc-mul-m.c (ecc_mul_m): Likewise.
(cherry picked from commit
2bf497ba4d6acc6f352bca015837fad33008565c )
Niels Möller [Wed, 17 Feb 2021 17:58:06 +0000 (18:58 +0100)]
ChangeLog entry for 3.7.1 release.
Niels Möller [Mon, 15 Feb 2021 19:33:45 +0000 (20:33 +0100)]
Delete benchmarking of openssl arcfour and corresponding glue code
Niels Möller [Sat, 13 Feb 2021 16:38:55 +0000 (17:38 +0100)]
NEWS entries for Nettle-3.7.1.
Niels Möller [Sat, 13 Feb 2021 16:37:00 +0000 (17:37 +0100)]
Increase version numbers, for Nettle-3.7.1.
* configure.ac: Bump package version, to 3.7.1.
(LIBNETTLE_MINOR): Bump minor number, to 8.2.
(LIBHOGWEED_MINOR): Bump minor number, to 6.2.
Niels Möller [Wed, 10 Feb 2021 10:22:23 +0000 (11:22 +0100)]
Fix chacha counter update for _4core variants.
Niels Möller [Wed, 10 Feb 2021 09:26:52 +0000 (10:26 +0100)]
Improve chacha test coverage.
Niels Möller [Mon, 8 Feb 2021 18:38:22 +0000 (19:38 +0100)]
Merge branch 'delete-1-way-neon'
Niels Möller [Mon, 8 Feb 2021 18:29:25 +0000 (19:29 +0100)]
ChangeLog entries for new pbkdf2 variants.
Nicolas Mora [Mon, 1 Feb 2021 01:32:23 +0000 (20:32 -0500)]
Update doc for pbkdf2_hmac_sha384 and pbkdf2_hmac_sha512
Nicolas Mora [Mon, 1 Feb 2021 01:09:57 +0000 (20:09 -0500)]
Add tests for pbkdf2_hmac_sha384 and pbkdf2_hmac_sha512
Nicolas Mora [Mon, 1 Feb 2021 01:09:40 +0000 (20:09 -0500)]
Implement pbkdf2_hmac_sha384 and pbkdf2_hmac_sha512
Niels Möller [Mon, 25 Jan 2021 21:40:01 +0000 (22:40 +0100)]
Delete the ARM Neon code doing a single block chacha.
Niels Möller [Mon, 25 Jan 2021 19:53:27 +0000 (20:53 +0100)]
Delete the ARM Neon code doing a single block salsa20.
Niels Möller [Wed, 20 Jan 2021 08:43:28 +0000 (09:43 +0100)]
Add testcase for ecc_ecdsa_verify with zero hash.
Niels Möller [Wed, 20 Jan 2021 08:40:19 +0000 (09:40 +0100)]
Fix ecc_ecdsa_verify corner case with all-zero hash.
Niels Möller [Wed, 20 Jan 2021 08:32:35 +0000 (09:32 +0100)]
Delete old misleading comment.
Michael Weiser [Fri, 25 Dec 2020 16:13:52 +0000 (17:13 +0100)]
arm: Unify neon asm for big- and little-endian modes
Switch arm neon assembler routines to endianness-agnostic loads and
stores where possible to avoid modifications to the rest of the code.
This involves switching to vld1.32 for loading consecutive 32-bit words
in host endianness as well as vst1.8 for storing back to memory in
little-endian order as required by the caller. Where necessary, r3 is
used to store the precalculated offset into the source vector for the
secondary load operations. vstm is kept for little-endian platforms
because it is faster than vst1 on most ARM implementations.
vst1.x (at least on the Allwinner A20 Cortex-A7 implementation) seems to
interfer with itself on subsequent calls, slowing it down further. So we
reschedule some instructions to do stores as soon as results become
available to have some other calculations or loads before the next
vst1.x. This reliably saves two additional cycles per block on salsa20
and chacha which would otherwise be incurred.
vld1.x does not seem to suffer from this or at least not to a level
where two consecutive vld1.x run slower than an equivalent vldm.
Rescheduling them similarly did not improve performance beyond that of
vldm.
Signed-off-by: Michael Weiser <michael.weiser@gmx.de>
Niels Möller [Sun, 10 Jan 2021 19:39:49 +0000 (20:39 +0100)]
ppc: Fix use of __GLIBC_PREREQ in fat-ppc.c.
* fat-ppc.c: Don't use __GLIBC_PREREQ in the same preprocessor
conditional as defined(__GLIBC_PREREQ), but move to a nested #if
conditional. Fixes compile error on OpenBSD/powerpc64, reported by
Jasper Lievisse Adriaanse.
Niels Möller [Mon, 4 Jan 2021 15:41:08 +0000 (16:41 +0100)]
Note 3.7 release.
Niels Möller [Fri, 1 Jan 2021 16:37:46 +0000 (17:37 +0100)]
NEWS: Mention ARM big-endian breakage as a known issue.
Niels Möller [Mon, 28 Dec 2020 10:27:46 +0000 (11:27 +0100)]
gitlab-ci: Use --disable-assembler, for ubsan, asan and static analyzer tests.
Niels Möller [Mon, 28 Dec 2020 10:24:01 +0000 (11:24 +0100)]
Update NEWS file. Say that fat builds are now on by default.
Niels Möller [Sun, 27 Dec 2020 14:59:46 +0000 (15:59 +0100)]
Enable fat build by default.
Niels Möller [Sat, 26 Dec 2020 16:07:56 +0000 (17:07 +0100)]
News entries for Nettle-3.7.
Niels Möller [Sat, 26 Dec 2020 16:06:00 +0000 (17:06 +0100)]
Fix typo in old NEWS entry for Nettle-3.6.
Niels Möller [Sat, 26 Dec 2020 15:56:33 +0000 (16:56 +0100)]
Distribute the README files in assembly directories.
Niels Möller [Sat, 26 Dec 2020 15:50:34 +0000 (16:50 +0100)]
Increase version numbers, for Nettle-3.7.
* configure.ac: Bump package version, to 3.7.
(LIBNETTLE_MINOR): Bump minor number, to 8.1.
(LIBHOGWEED_MINOR): Bump minor number, to 6.1.
Niels Möller [Mon, 21 Dec 2020 19:41:02 +0000 (20:41 +0100)]
arm: Fix comment typo
Spotted by Michael Weiser
Niels Möller [Mon, 21 Dec 2020 19:40:21 +0000 (20:40 +0100)]
ChangeLog entry for previous fat ppc fix.
Niels Möller [Mon, 21 Dec 2020 16:21:30 +0000 (17:21 +0100)]
Merge branch 'undefined' into 'master'
[PowerPC64] Skip using getauxval() when it is not available
See merge request nettle/nettle!16
Maamoun TK [Mon, 21 Dec 2020 15:00:23 +0000 (16:00 +0100)]
combine preprocessor directives to reduce nesting of conditions in fat-ppc.c
Maamoun TK [Sun, 20 Dec 2020 17:03:11 +0000 (18:03 +0100)]
[PowerPC64] Skip using getauxval() when it is not available
Niels Möller [Sat, 19 Dec 2020 09:04:32 +0000 (10:04 +0100)]
Merge branch 'ppc-got-32bit' into 'master'
[PowerPC64] Use 32-bit offset to load data
See merge request nettle/nettle!14
mamonet [Fri, 18 Dec 2020 15:38:39 +0000 (17:38 +0200)]
[PowerPC64] Use 32-bit offset to load data
Niels Möller [Sat, 12 Dec 2020 15:46:51 +0000 (16:46 +0100)]
ppc: More interleaving of chacha_4core.
Niels Möller [Tue, 8 Dec 2020 19:10:15 +0000 (20:10 +0100)]
Merge branch 'ppc-chacha-4core'
Niels Möller [Tue, 1 Dec 2020 20:24:39 +0000 (21:24 +0100)]
Fix comment type
Niels Möller [Tue, 1 Dec 2020 17:47:38 +0000 (18:47 +0100)]
ppc: Save registers below stack pointer, without modifying it.
Niels Möller [Tue, 1 Dec 2020 17:07:21 +0000 (18:07 +0100)]
ppc: Optimize chacha_4core main loop
* powerpc64/p7/chacha-4core.asm (QR): Instruction level
interleaving in the main loop, written by Torbjörn Granlund.
Niels Möller [Mon, 30 Nov 2020 20:21:42 +0000 (21:21 +0100)]
ppc: Workaround using m4_unquote.
Niels Möller [Mon, 30 Nov 2020 20:20:42 +0000 (21:20 +0100)]
m4: New macro m4_unquote
Niels Möller [Mon, 30 Nov 2020 19:23:01 +0000 (20:23 +0100)]
ppc: Add byte-swapping to chacha_4core, for big-endian builds.
Niels Möller [Mon, 30 Nov 2020 19:05:31 +0000 (20:05 +0100)]
Delete _nettle_chacha_crypt_2core and _nettle_chacha_crypt32_2core.
Niels Möller [Mon, 30 Nov 2020 18:54:10 +0000 (19:54 +0100)]
ppc: New assembly for chacha_core4, doing four blocks in parallel.
* chacha-crypt.c: (_nettle_chacha_crypt_4core)
(_nettle_chacha_crypt32_4core): New functions.
* chacha-internal.h: Add prototypes for _nettle_chacha_4core and
related functions.
* configure.ac (asm_nettle_optional_list): Add chacha-4core.asm.
* powerpc64/fat/chacha-4core.asm: New file.
* powerpc64/p7/chacha-4core.asm: New file.
* fat-ppc.c (fat_init): When altivec is available, use
_nettle_chacha_crypt_4core and _nettle_chacha_crypt32_4core
instead of _2core variants.
Niels Möller [Sat, 28 Nov 2020 21:12:45 +0000 (22:12 +0100)]
Fix a ChangeLog typo.
Niels Möller [Mon, 30 Nov 2020 15:23:08 +0000 (16:23 +0100)]
Add missing forward declaration.
Niels Möller [Mon, 30 Nov 2020 15:18:00 +0000 (16:18 +0100)]
Fix counter bug in _chacha_crypt32_3core.
Niels Möller [Mon, 30 Nov 2020 14:11:47 +0000 (15:11 +0100)]
Delete name mangling of internal umac symbols
Niels Möller [Mon, 30 Nov 2020 14:03:20 +0000 (15:03 +0100)]
Delete name mangling of internal sha3 symbols
Niels Möller [Mon, 30 Nov 2020 13:55:06 +0000 (14:55 +0100)]
Delete name mangling of internal salsa20 symbols
Niels Möller [Mon, 30 Nov 2020 13:49:17 +0000 (14:49 +0100)]
Delete name mangling of internal poly1305 symbols
Niels Möller [Mon, 30 Nov 2020 13:44:24 +0000 (14:44 +0100)]
Delete name mangling of internal gost symbols
Niels Möller [Mon, 30 Nov 2020 12:44:17 +0000 (13:44 +0100)]
Delete name mangling of internal Chacha symbols
Niels Möller [Mon, 30 Nov 2020 12:06:37 +0000 (13:06 +0100)]
Delete name mangling of internal _nettle_ctr_crypt16 function
Niels Möller [Mon, 30 Nov 2020 12:04:11 +0000 (13:04 +0100)]
Delete name mangling of internal _nettle_dsa_hash function
Niels Möller [Mon, 30 Nov 2020 11:14:40 +0000 (12:14 +0100)]
Delete name mangling of internal Camellia symbols
Niels Möller [Mon, 30 Nov 2020 11:10:48 +0000 (12:10 +0100)]
Delete name mangling of internal AES symbols
Niels Möller [Sat, 28 Nov 2020 14:49:22 +0000 (15:49 +0100)]
ppc: ChangeLog entry for gcm-hash.asm.
Niels Möller [Sat, 28 Nov 2020 14:45:13 +0000 (15:45 +0100)]
Merge branch 'ppc-gcm' into master-updates
Niels Möller [Sat, 28 Nov 2020 13:24:43 +0000 (14:24 +0100)]
ppc: Use vaddcuw instruction.
Niels Möller [Sat, 28 Nov 2020 13:14:41 +0000 (14:14 +0100)]
Add missing #undef for _chacha_crypt_2core.
Niels Möller [Sat, 28 Nov 2020 11:03:54 +0000 (12:03 +0100)]
Simplify ifdefs in gcm-internal.h
Niels Möller [Sat, 28 Nov 2020 10:54:55 +0000 (11:54 +0100)]
Update run-test script with gmp/mini-gmp changes
Niels Möller [Fri, 27 Nov 2020 15:10:32 +0000 (16:10 +0100)]
Merge branch 'ppc-gcm' into 'ppc-gcm'
Suppress warnings in certain configuration and fix x86_64 build
See merge request nettle/nettle!12
mamonet [Fri, 27 Nov 2020 08:55:34 +0000 (10:55 +0200)]
Suppress warnings in certain configuration and fix x86_64 build
Niels Möller [Fri, 27 Nov 2020 07:17:27 +0000 (08:17 +0100)]
ChangeLog entries
Niels Möller [Fri, 27 Nov 2020 07:16:52 +0000 (08:16 +0100)]
Replace one more conftest use of exit with return.
Niels Möller [Fri, 27 Nov 2020 07:08:20 +0000 (08:08 +0100)]
Merge branch 'aberaud/nettle-m4_gmp_prog_cc_for_build_fix'
Niels Möller [Fri, 27 Nov 2020 06:54:59 +0000 (07:54 +0100)]
Merge branch 'briansmith/nettle-master'
Niels Möller [Thu, 26 Nov 2020 19:07:07 +0000 (20:07 +0100)]
ppc: Enable gcm code in fat builds. Based on patch by Mamone Tarsha.
Niels Möller [Wed, 25 Nov 2020 16:25:05 +0000 (17:25 +0100)]
Merge branch 'ppc-gcm' into 'ppc-gcm'
[PowerPC64] Modify register defines in gcm-hash.asm
See merge request nettle/nettle!10
mamonet [Wed, 25 Nov 2020 15:12:05 +0000 (17:12 +0200)]
[PowerPC64] modify register defines in gcm-hash.asm
Niels Möller [Wed, 25 Nov 2020 14:38:47 +0000 (15:38 +0100)]
ppc: Support big-endian for _chacha_2core.
Niels Möller [Tue, 24 Nov 2020 19:55:51 +0000 (20:55 +0100)]
ppc: Enable _chacha_2core in fat builds.
Niels Möller [Mon, 23 Nov 2020 16:25:19 +0000 (17:25 +0100)]
ppc: Implement _chacha_2core.
* powerpc64/p7/chacha-2core.asm: New file.
Niels Möller [Mon, 23 Nov 2020 16:23:17 +0000 (17:23 +0100)]
Prepare for using assembly function _chacha_2core.
* chacha-crypt.c (_chacha_crypt_2core, _chacha_crypt32_2core): New
variants of chacha_crypt, using _chacha_2core to do two blocks at
a time.
* chacha-internal.h (_chacha_2core, _chacha_2core32): Add declarations.
* configure.ac (asm_nettle_optional_list): Add chacha-2core.asm.
Niels Möller [Sat, 14 Nov 2020 16:32:12 +0000 (17:32 +0100)]
Update invert calls for curve25519_eh_to_x and curve448_eh_to_x
Niels Möller [Sat, 14 Nov 2020 16:31:51 +0000 (17:31 +0100)]
Comment fix.
Niels Möller [Sat, 14 Nov 2020 15:54:45 +0000 (16:54 +0100)]
Improve scratch usage in ecc_mod_inv.
* ecc-mod-inv.c (ecc_mod_inv): Use passed in scratch for all
scratch needs, don't use memory after the result area.
* ecc-ecdsa-sign.c (ecc_ecdsa_sign): Update invert call.
* ecc-ecdsa-verify.c (ecc_ecdsa_verify): Likewise.
* ecc-eh-to-a.c (ecc_eh_to_a): Likewise.
* ecc-j-to-a.c (ecc_j_to_a): Likewise.
* ecc-gostdsa-verify.c (ecc_gostdsa_verify): Likewise.
* ecc-internal.h (ECC_MOD_INV_ITCH, ECC_J_TO_A_ITCH)
(ECC_EH_TO_A_ITCH): Update accordingly, but no change in total
scratch need.
Maamoun TK [Sat, 14 Nov 2020 09:13:35 +0000 (10:13 +0100)]
ppc: Fix table offsets in gcm_hash.
Maamoun TK [Sat, 14 Nov 2020 09:11:14 +0000 (10:11 +0100)]
Indentation fixes.
Niels Möller [Fri, 13 Nov 2020 18:59:36 +0000 (19:59 +0100)]
Generalize ECC_J_TO_A_ITCH.
* ecc-internal.h (ECC_J_TO_A_ITCH): Generalize, and take invert
itch as an argument, similarly to ECC_EH_TO_A_ITCH. Updated all
secp and gost curve definitions to use it.
Maamoun TK [Thu, 12 Nov 2020 16:12:04 +0000 (17:12 +0100)]
ppc: Assembly implementation of gcm_hash.
Niels Möller [Wed, 21 Oct 2020 18:28:29 +0000 (20:28 +0200)]
Optimize modular inversion for secp384r1.
* ecc-secp384r1.c (ecc_secp384r1_inv): New function, modular
inverse using powering.
(_nettle_secp_384r1): Analogous updates. Increases signing
performance roughly 15% on x86_64.
Niels Möller [Tue, 20 Oct 2020 20:27:41 +0000 (22:27 +0200)]
Delete ecc_mod_inv_redc
Niels Möller [Tue, 20 Oct 2020 20:20:02 +0000 (22:20 +0200)]
Optimize modular inversion for secp224r1 and secp256r1
* ecc-secp224r1.c (ecc_secp224r1_inv): New function, modular
inverse using powering.
(_nettle_secp_224r1): Analogous updates. Increases signing
performance roughly 17% on x86_64.
* ecc-secp256r1.c (ecc_secp256r1_inv): New function, modular
inverse using powering.
(_nettle_secp_256r1): Analogous updates. Increases signing
performance roughly 6% on x86_64.
Niels Möller [Mon, 19 Oct 2020 18:12:56 +0000 (20:12 +0200)]
Optimize modular inversion for secp521r1.
* ecc-secp521r1.c (ecc_secp521r1_inv): New function, modular
inverse using powering.
(_nettle_secp_521r1): Analogous updates. Increases signing
performance roughly 15% on x86_64.
Maamoun TK [Tue, 10 Nov 2020 17:55:19 +0000 (19:55 +0200)]
"PowerPC" Detect VSX support on AIX and FreeBSD
Niels Möller [Thu, 15 Oct 2020 20:49:24 +0000 (22:49 +0200)]
Optimize modular inversion for secp192r1.
* ecc-secp192r1.c (ecc_secp192r1_inv): New function, modular
inverse using powering.
(_nettle_secp_192r1): Use it for p.invert, and also update
h_to_a_itch. Increases signing performance roughly 25% on x86_64.
Niels Möller [Thu, 15 Oct 2020 20:43:16 +0000 (22:43 +0200)]
ecc-modinv-test.c: Allow invert function to return a non-canonical representation.
Niels Möller [Mon, 9 Nov 2020 18:32:02 +0000 (19:32 +0100)]
Merge branch 'refactor-ecc-mod' into master-updates
Niels Möller [Sun, 8 Nov 2020 21:39:25 +0000 (22:39 +0100)]
Updated itch macros for ecc point multiplication and signatures
Niels Möller [Sun, 8 Nov 2020 20:58:32 +0000 (21:58 +0100)]
Eliminate one mpn_cnd_swap call in ecc_mul_m.
Niels Möller [Sun, 8 Nov 2020 20:48:10 +0000 (21:48 +0100)]
Reduce scratch need for ecc_mul_m
Niels Möller [Sun, 8 Nov 2020 10:53:56 +0000 (11:53 +0100)]
Reduce scratch need for ecc_add_jjj some more
Niels Möller [Sun, 8 Nov 2020 10:38:13 +0000 (11:38 +0100)]
Reduce scratch need for ecc_add_jja
Niels Möller [Sun, 8 Nov 2020 10:17:20 +0000 (11:17 +0100)]
Reduce scratch need for ecc_add_jjj
Niels Möller [Sat, 7 Nov 2020 10:16:35 +0000 (11:16 +0100)]
Merge branch 'ppc-chacha-core'