]>
git.ipfire.org Git - thirdparty/nettle.git/log
Eric Richter [Tue, 4 Jun 2024 20:55:26 +0000 (15:55 -0500)]
powerpc64: Add optimized assembly for sha256-compress-n
This patch introduces an optimized powerpc64 assembly implementation for
sha256-compress-n. This takes advantage of the vshasigma instruction, as
well as unrolling loops to best take advantage of running instructions
in parallel.
The following data was captured on a POWER 10 LPAR @ ~3.896GHz
Current C implementation:
Algorithm mode Mbyte/s
sha256 update 280.97
hmac-sha256 64 bytes 80.81
hmac-sha256 256 bytes 170.50
hmac-sha256 1024 bytes 241.92
hmac-sha256 4096 bytes 268.54
hmac-sha256 single msg 276.16
With optimized assembly:
Algorithm mode Mbyte/s
sha256 update 461.45
hmac-sha256 64 bytes 123.88
hmac-sha256 256 bytes 268.81
hmac-sha256 1024 bytes 390.91
hmac-sha256 4096 bytes 438.02
hmac-sha256 single msg 453.83
Signed-off-by: Eric Richter <erichte@linux.ibm.com>
Niels Möller [Sun, 9 Jun 2024 09:48:37 +0000 (11:48 +0200)]
Avoid warnings for assert_maybe.
Niels Möller [Wed, 5 Jun 2024 20:10:00 +0000 (22:10 +0200)]
Update config.guess and config.sub to 2024-01-01 versions.
Niels Möller [Sun, 2 Jun 2024 12:06:48 +0000 (14:06 +0200)]
Update version numbers for nettle-3.10.
Niels Möller [Sat, 1 Jun 2024 16:26:56 +0000 (18:26 +0200)]
Unify handing of message hash for dsa and ecdsa, using mpn interface.
Niels Möller [Sat, 1 Jun 2024 16:21:57 +0000 (18:21 +0200)]
Use NETTLE_OCTET_SIZE_TO_LIMB_SIZE macro.
Niels Möller [Mon, 20 May 2024 18:32:00 +0000 (20:32 +0200)]
ci: Update .gitlab-ci.yml job tags.
See
https://docs.gitlab.com/ee/update/deprecations.html#removal-of-tags-from-small-saas-runners-on-linux,
and corresponding gnutls update
https://gitlab.com/gnutls/gnutls/-/commit/
642c39ba9ae53ce427344d884eb3808f042b90e4 .
Niels Möller [Wed, 15 May 2024 09:06:11 +0000 (11:06 +0200)]
ppc64: Reduce register usage in gcm-aes assembly.
Niels Möller [Wed, 15 May 2024 08:06:08 +0000 (10:06 +0200)]
More NEWS entries for nettle-3.10.
Niels Möller [Wed, 15 May 2024 07:53:09 +0000 (09:53 +0200)]
Spelling fix.
Niels Möller [Sat, 20 Apr 2024 08:18:10 +0000 (10:18 +0200)]
Update of AUTHORS file.
Niels Möller [Sat, 20 Apr 2024 08:03:22 +0000 (10:03 +0200)]
Merge branch 'ppc64-gcm-aes-rebased'
Niels Möller [Sun, 14 Apr 2024 08:33:52 +0000 (10:33 +0200)]
ChangeLog entries for ppc64 gcm-aes.
Niels Möller [Sun, 14 Apr 2024 08:18:21 +0000 (10:18 +0200)]
Update copyright headers.
Niels Möller [Sun, 14 Apr 2024 08:12:46 +0000 (10:12 +0200)]
Fix filenames in two ecc-curve25519-modp.asm files.
Daiki Ueno [Sun, 14 Apr 2024 01:36:17 +0000 (21:36 -0400)]
Update documentation for SHAKE.
Signed-off-by: Daiki Ueno <dueno@redhat.com>
Niels Möller [Sat, 13 Apr 2024 09:08:35 +0000 (11:08 +0200)]
ppc64: Fix big-endian case of byte swapping for gcm-aes.
Niels Möller [Sun, 24 Mar 2024 16:30:07 +0000 (17:30 +0100)]
Fix counter update, with proper 32-bit wraparound.
Niels Möller [Fri, 15 Mar 2024 20:30:25 +0000 (21:30 +0100)]
Rework no-op version of _gcm_aes_encrypt and _gcm_aes_decrypt.
For fat builds, move definition to fat-ppc.c. For builds where the
functions are unavailable, define as macros returning zero, and rely
on the compiler to eliminate the code that uses the return value.
Niels Möller [Fri, 15 Mar 2024 20:19:53 +0000 (21:19 +0100)]
ppc64: Use new gcm-aes assembly in non-fat builds with --enable-power-crypto-ext.
Niels Möller [Thu, 14 Mar 2024 20:29:50 +0000 (21:29 +0100)]
Add gcm-internal.h, declaring _gcm_aes_encrypt and _gcm_aes_decrypt.
Change type of the rounds argument from size_t to unsigned.
Danny Tsen [Wed, 6 Mar 2024 20:10:00 +0000 (21:10 +0100)]
ppc64: New "stitched" implementation of GCM-AES.
Niels Möller [Sun, 31 Mar 2024 05:43:05 +0000 (07:43 +0200)]
Merge branch 'sha3-shake-updates'
Niels Möller [Fri, 29 Mar 2024 15:04:09 +0000 (16:04 +0100)]
Let umac and bcrypt share bswap helper function.
Niels Möller [Wed, 13 Mar 2024 08:33:37 +0000 (09:33 +0100)]
Add sha512_224 and sha512_256 to nettle_hashes.
Niels Möller [Thu, 28 Mar 2024 19:16:15 +0000 (20:16 +0100)]
ChangeLog entries for shake128.
Niels Möller [Thu, 28 Mar 2024 19:15:14 +0000 (20:15 +0100)]
testsuite/Makefile.in (TS_NETTLE_SOURCES): Add shake128-test.c.
Niels Möller [Thu, 28 Mar 2024 19:14:51 +0000 (20:14 +0100)]
Add missing include of string.h.
Niels Möller [Thu, 28 Mar 2024 19:05:52 +0000 (19:05 +0000)]
Merge branch 'wip/dueno/shake128' into 'sha3-shake-updates'
Implement SHAKE128
See merge request nettle/nettle!63
Daiki Ueno [Thu, 28 Mar 2024 11:45:15 +0000 (20:45 +0900)]
Implement SHAKE128
Signed-off-by: Daiki Ueno <dueno@redhat.com>
Daiki Ueno [Thu, 28 Mar 2024 11:19:02 +0000 (20:19 +0900)]
sha3-shake: Don't hard-code block size
Signed-off-by: Daiki Ueno <dueno@redhat.com>
Niels Möller [Sun, 24 Mar 2024 15:15:05 +0000 (16:15 +0100)]
Add another test for GCM counter wrap around, with larger message
Niels Möller [Sun, 24 Mar 2024 13:18:01 +0000 (14:18 +0100)]
Use one's complement of index to indicate shake is initialized.
Niels Möller [Sun, 24 Mar 2024 13:10:23 +0000 (14:10 +0100)]
Generalize shake functions, and move to sha3-shake.c.
Niels Möller [Sun, 24 Mar 2024 12:50:54 +0000 (13:50 +0100)]
Add assert in _nettle_sha3_update.
Niels Möller [Sun, 24 Mar 2024 12:32:48 +0000 (13:32 +0100)]
Make shake256 call sha3_permute before, not after, generating output.
Niels Möller [Sun, 24 Mar 2024 12:18:37 +0000 (13:18 +0100)]
Simplify _nettle_sha3_update by using MD_FILL_OR_RETURN_INDEX.
Niels Möller [Wed, 20 Mar 2024 09:18:42 +0000 (10:18 +0100)]
Add test for GCM counter wrap around.
Niels Möller [Wed, 20 Mar 2024 08:38:43 +0000 (09:38 +0100)]
Update of powerpc64/README.
Niels Möller [Wed, 13 Mar 2024 17:19:30 +0000 (18:19 +0100)]
ChangeLog for sha3_256_shake_output.
Daiki Ueno [Mon, 11 Mar 2024 00:22:18 +0000 (20:22 -0400)]
Additional API for SHAKE streaming read.
This adds an alternative function sha3_256_shake_output in the
SHAKE256 support, which enables to read output multiple times in an
incremental manner.
Signed-off-by: Daiki Ueno <dueno@redhat.com>
Niels Möller [Sun, 10 Mar 2024 11:51:28 +0000 (12:51 +0100)]
Test aead update function with data split in pieces.
Fix ubsan issue affecting calls to _nettle_poly1305_update with input
0, NULL.
Niels Möller [Fri, 8 Mar 2024 16:52:51 +0000 (17:52 +0100)]
Fix ubsan issue in hash update functions.
Daiki Ueno [Sun, 18 Feb 2024 20:00:17 +0000 (21:00 +0100)]
Skip sc-rsa-oaep-encrypt-test when compiled with mini-gmp.
Niels Möller [Fri, 16 Feb 2024 15:49:46 +0000 (16:49 +0100)]
ChangeLog entries for RSA OAEP functions.
Daiki Ueno [Fri, 16 Feb 2024 06:14:14 +0000 (01:14 -0500)]
Clarify message length limitation in RSA-OAEP
Signed-off-by: Daiki Ueno <dueno@redhat.com>
Niels Möller [Thu, 15 Feb 2024 19:16:44 +0000 (19:16 +0000)]
Merge branch 'wip/dueno/rsa-oaep' into 'master'
Implement RSA-OAEP encryption/decryption
See merge request nettle/nettle!60
Nicolas Mora [Fri, 12 Feb 2021 18:59:41 +0000 (13:59 -0500)]
Implement encryption/decryption RSA-OAEP
Modified-by: Daiki Ueno <dueno@redhat.com>
Niels Möller [Fri, 2 Feb 2024 19:13:08 +0000 (20:13 +0100)]
ChangeLog entries for powerpc64 aes decrypt changes.
Niels Möller [Tue, 30 Jan 2024 17:43:33 +0000 (18:43 +0100)]
ppc64: Add a nop _aes_invert, to get decrypt subkeys compatible with vncipher.
Niels Möller [Mon, 29 Jan 2024 16:56:27 +0000 (17:56 +0100)]
Merge branch 'aes-noreverse-decrypt-subkeys' into master
Niels Möller [Sun, 28 Jan 2024 16:11:48 +0000 (17:11 +0100)]
ppc64: Improve register usage for aes code.
Niels Möller [Sat, 27 Jan 2024 13:32:57 +0000 (14:32 +0100)]
ChangeLog updates for aes decrypt refactoring.
Niels Möller [Thu, 25 Jan 2024 20:27:18 +0000 (21:27 +0100)]
Update arm64 aes decrypt.
Niels Möller [Thu, 25 Jan 2024 20:10:01 +0000 (21:10 +0100)]
Update powerpc64 aes decrypt.
Niels Möller [Thu, 25 Jan 2024 20:02:26 +0000 (21:02 +0100)]
Update arm (32-bit) aes decrypt.
Niels Möller [Thu, 25 Jan 2024 19:36:28 +0000 (20:36 +0100)]
Change _nettle_aes_decrypt to pass pointer to last subkey.
Niels Möller [Thu, 25 Jan 2024 19:05:52 +0000 (20:05 +0100)]
Update x86 (32-bit) aes decrypt.
Niels Möller [Thu, 25 Jan 2024 18:31:06 +0000 (19:31 +0100)]
Update sparc64 aes decrypt.
Niels Möller [Sun, 21 Jan 2024 18:02:26 +0000 (19:02 +0100)]
Change order of aes decryption subkeys, update C and x86_64 implementations.
Niels Möller [Fri, 26 Jan 2024 20:06:06 +0000 (21:06 +0100)]
Merge branch 'delete-sparc32' into master
Niels Möller [Wed, 24 Jan 2024 09:51:10 +0000 (10:51 +0100)]
Delete sparc32 assembly files.
Niels Möller [Wed, 24 Jan 2024 09:54:27 +0000 (10:54 +0100)]
ci: Add sparc64 cross build.
Niels Möller [Tue, 23 Jan 2024 19:43:02 +0000 (20:43 +0100)]
ChangeLog entry for previous changes.
Niels Möller [Sun, 21 Jan 2024 14:59:50 +0000 (15:59 +0100)]
Unify load/store indexing.
Niels Möller [Sun, 21 Jan 2024 14:49:53 +0000 (15:49 +0100)]
Trim number of used registers
Niels Möller [Sun, 21 Jan 2024 14:11:26 +0000 (15:11 +0100)]
Improve scheduling
Niels Möller [Sun, 21 Jan 2024 13:59:02 +0000 (14:59 +0100)]
New macros GHASH_REDUCE.
Niels Möller [Sun, 21 Jan 2024 09:37:03 +0000 (10:37 +0100)]
powerpc64: Use m4 to generate instruction sequences for aes.
Danny Tsen [Wed, 27 Dec 2023 18:57:11 +0000 (19:57 +0100)]
Additional GCM test case.
Niels Möller [Thu, 11 Aug 2022 09:04:20 +0000 (11:04 +0200)]
Delete all md5 assembly code.
Niels Möller [Fri, 8 Dec 2023 16:59:26 +0000 (17:59 +0100)]
Fix syntax for @deftypefun in many places.
Niels Möller [Fri, 8 Dec 2023 16:27:42 +0000 (17:27 +0100)]
More accurate openssl configure test.
Niels Möller [Fri, 8 Dec 2023 15:51:39 +0000 (16:51 +0100)]
Fix include guard for non-nettle.h.
Niels Möller [Wed, 6 Dec 2023 09:45:25 +0000 (10:45 +0100)]
New helper function drbg_ctr_aes256_output.
Niels Möller [Wed, 6 Dec 2023 08:56:14 +0000 (09:56 +0100)]
Use nettle_block16 for drbg-ctr state.
Niels Möller [Wed, 6 Dec 2023 08:37:44 +0000 (09:37 +0100)]
ChangeLog entries for drbg-ctr.
Niels Möller [Wed, 6 Dec 2023 07:59:52 +0000 (08:59 +0100)]
Fix testsuite/Makefile.
Simon Josefsson [Wed, 10 May 2023 08:28:29 +0000 (10:28 +0200)]
Add DRBG-CTR-AES256.
Tim Kosse [Tue, 5 Dec 2023 20:19:16 +0000 (21:19 +0100)]
CPU feature detection for Apple M1 devices.
Niels Möller [Tue, 5 Dec 2023 19:52:33 +0000 (20:52 +0100)]
Extend openssl configure tests to check for relevant headers and functions.
Niels Möller [Tue, 5 Dec 2023 19:25:22 +0000 (20:25 +0100)]
Delete nettle_openssl_init.
Niels Möller [Mon, 4 Dec 2023 20:18:07 +0000 (21:18 +0100)]
Delete benchmarking of openssl blowfish, cast128 and des.
Niels Möller [Mon, 4 Dec 2023 20:15:32 +0000 (21:15 +0100)]
ChangeLog for previous changes.
Niels Möller [Mon, 4 Dec 2023 19:27:08 +0000 (20:27 +0100)]
Unify openssl signing benchmarks.
Niels Möller [Mon, 4 Dec 2023 17:28:57 +0000 (18:28 +0100)]
Update openssl ecdsa benchmark to use evp interfaces.
Niels Möller [Sun, 3 Dec 2023 19:51:24 +0000 (20:51 +0100)]
Update openssl rsa benchmark to use evp interfaces.
Niels Möller [Thu, 23 Nov 2023 20:29:48 +0000 (21:29 +0100)]
Update testsuite and example Makefiles.
Niels Möller [Thu, 23 Nov 2023 18:57:18 +0000 (19:57 +0100)]
Split nettle-internal into nettle-internal and non-nettle.
Niels Möller [Wed, 22 Nov 2023 13:04:11 +0000 (14:04 +0100)]
Revert part of
67aae9d2873bb56a7e7028709d2f2d4bd8897955 .
* rsa-sec-decrypt.c (rsa_sec_decrypt): Merge with
_rsa_sec_decrypt, including input range check.
(_rsa_sec_decrypt): Deleted.
* rsa-internal.h (_rsa_sec_decrypt): Delete declaration.
* testsuite/rsa-sec-decrypt-test.c (rsa_decrypt_for_test): Always
call rsa_sec_decrypt, but don't annotate the ciphertext input as
undefined/secret.
Niels Möller [Wed, 15 Nov 2023 11:59:07 +0000 (12:59 +0100)]
Add sidechannel tests for
ed25519 and ed448.
Niels Möller [Wed, 15 Nov 2023 07:16:10 +0000 (08:16 +0100)]
Add sidechannel tests for curve448.
Niels Möller [Wed, 15 Nov 2023 06:59:50 +0000 (07:59 +0100)]
Add sidechannel tests for curve25519.
Niels Möller [Tue, 14 Nov 2023 20:29:56 +0000 (21:29 +0100)]
ci: Add build with --enable-extra-asserts.
Niels Möller [Tue, 14 Nov 2023 20:08:38 +0000 (21:08 +0100)]
Workaround for assert_maybe to not trigger clang analyzer warnings.
Niels Möller [Tue, 14 Nov 2023 19:40:29 +0000 (20:40 +0100)]
Fixes for ecdsa-sign-test in noasm and mini-gmp builds.
Niels Möller [Tue, 14 Nov 2023 18:54:18 +0000 (19:54 +0100)]
Add side-channel test for ecdsa-sign-test.
Niels Möller [Sun, 12 Nov 2023 12:59:37 +0000 (13:59 +0100)]
Fix is_zero_limb to work with in c89 and mini-gmp builds.
Niels Möller [Mon, 6 Nov 2023 18:15:22 +0000 (19:15 +0100)]
Improve side-channel silence when comparing values to zero.
Niels Möller [Fri, 6 Oct 2023 14:39:42 +0000 (16:39 +0200)]
Merge branch 'side-channel-tests'