]> git.ipfire.org Git - thirdparty/nettle.git/log
thirdparty/nettle.git
3 years agoFix for definition of _gcm_hash. test-ghash-internal
Niels Möller [Wed, 9 Feb 2022 18:57:57 +0000 (19:57 +0100)] 
Fix for definition of _gcm_hash.

3 years agoDefine _gcm_hash alias in gcm-internal.h
Niels Möller [Wed, 9 Feb 2022 18:14:17 +0000 (19:14 +0100)] 
Define _gcm_hash alias in gcm-internal.h

3 years agoAdd tests for internal ghash functions
Niels Möller [Tue, 8 Feb 2022 19:26:11 +0000 (20:26 +0100)] 
Add tests for internal ghash functions

3 years agox86_64: Rewrite of poly1305 assembly.
Niels Möller [Thu, 27 Jan 2022 21:10:50 +0000 (22:10 +0100)] 
x86_64: Rewrite of poly1305 assembly.

3 years agoChangeLog entry for arm64 implementation of chacha.
Niels Möller [Tue, 25 Jan 2022 18:51:14 +0000 (19:51 +0100)] 
ChangeLog entry for arm64 implementation of chacha.

3 years agoMerge branch 'arm64-chacha' into 'master'
Niels Möller [Tue, 25 Jan 2022 18:47:39 +0000 (18:47 +0000)] 
Merge branch 'arm64-chacha' into 'master'

[Arm64] Optimize Chacha20

See merge request nettle/nettle!37

3 years agoChangeLog entries for new ppc64 ecc files.
Niels Möller [Mon, 24 Jan 2022 19:06:10 +0000 (20:06 +0100)] 
ChangeLog entries for new ppc64 ecc files.

3 years agoecc: Add powerpc64 assembly for ecc_448_modp
Martin Schwenke [Fri, 21 Jan 2022 04:02:38 +0000 (15:02 +1100)] 
ecc: Add powerpc64 assembly for ecc_448_modp

Signed-off-by: Martin Schwenke <martin@meltin.net>
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
3 years agoMove a comment.
Niels Möller [Mon, 24 Jan 2022 18:49:52 +0000 (19:49 +0100)] 
Move a comment.

3 years agoecc: Add powerpc64 assembly for ecc_25519_modp
Martin Schwenke [Fri, 21 Jan 2022 04:02:37 +0000 (15:02 +1100)] 
ecc: Add powerpc64 assembly for ecc_25519_modp

Signed-off-by: Martin Schwenke <martin@meltin.net>
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
3 years agoecc: Add powerpc64 assembly for ecc_224_modp
Amitay Isaacs [Fri, 21 Jan 2022 04:02:34 +0000 (15:02 +1100)] 
ecc: Add powerpc64 assembly for ecc_224_modp

Signed-off-by: Amitay Isaacs <amitay@ozlabs.org>
3 years agoSimplify poly1305-test, more use of tstring length.
Niels Möller [Mon, 24 Jan 2022 17:58:54 +0000 (18:58 +0100)] 
Simplify poly1305-test, more use of tstring length.

3 years agoAdd randomized tests of poly1305.
Niels Möller [Sun, 23 Jan 2022 13:27:03 +0000 (14:27 +0100)] 
Add randomized tests of poly1305.

3 years agoArrange so that GMP or mini-gmp is always available for tests.
Niels Möller [Sun, 23 Jan 2022 13:21:48 +0000 (14:21 +0100)] 
Arrange so that GMP or mini-gmp is always available for tests.

3 years agoChangeLog entries for new ppc64 ecc files.
Niels Möller [Fri, 21 Jan 2022 18:29:11 +0000 (19:29 +0100)] 
ChangeLog entries for new ppc64 ecc files.

3 years agoecc: Add powerpc64 assembly for ecc_521_modp
Martin Schwenke [Fri, 21 Jan 2022 04:02:36 +0000 (15:02 +1100)] 
ecc: Add powerpc64 assembly for ecc_521_modp

Signed-off-by: Martin Schwenke <martin@meltin.net>
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
3 years agoecc: Add powerpc64 assembly for ecc_384_modp
Martin Schwenke [Fri, 21 Jan 2022 04:02:35 +0000 (15:02 +1100)] 
ecc: Add powerpc64 assembly for ecc_384_modp

Signed-off-by: Martin Schwenke <martin@meltin.net>
Signed-off-by: Amitay Isaacs <amitay@ozlabs.org>
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
3 years agoecc: Add powerpc64 assembly for ecc_192_modp
Amitay Isaacs [Fri, 21 Jan 2022 04:02:33 +0000 (15:02 +1100)] 
ecc: Add powerpc64 assembly for ecc_192_modp

Signed-off-by: Amitay Isaacs <amitay@ozlabs.org>
3 years ago[Arm64] Optimize Chacha20
Mamone Tarsha [Thu, 20 Jan 2022 21:14:55 +0000 (23:14 +0200)] 
[Arm64] Optimize Chacha20

3 years agoMerge branch 's390x-chacha' into 'master'
Niels Möller [Thu, 20 Jan 2022 20:27:09 +0000 (20:27 +0000)] 
Merge branch 's390x-chacha' into 'master'

[S390x] Optimize Chacha20 with fat build support

See merge request nettle/nettle!40

3 years ago[S390x] Optimize Chacha20
Mamone Tarsha [Tue, 18 Jan 2022 17:32:31 +0000 (19:32 +0200)] 
[S390x] Optimize Chacha20

3 years agotests: Use inline function for dummy definition of test_randomize.
Niels Möller [Mon, 17 Jan 2022 20:19:31 +0000 (21:19 +0100)] 
tests: Use inline function for dummy definition of test_randomize.

3 years agoShare ecc point validation function in testutils.c.
Niels Möller [Mon, 17 Jan 2022 20:03:10 +0000 (21:03 +0100)] 
Share ecc point validation function in testutils.c.

* testsuite/testutils.c (test_ecc_point_valid_p): New function,
moved from...
* testsuite/ecdsa-keygen-test.c (ecc_valid_p): ... old copy.
* testsuite/gostdsa-keygen-test.c (ecc_valid_p): ... old copy.
* testsuite/testutils.h: Declare it.

3 years agoWhitespace cleanup
Niels Möller [Mon, 17 Jan 2022 19:52:42 +0000 (20:52 +0100)] 
Whitespace cleanup

3 years agoppc: Reduce number of registers used for ecc_secp256r1_redc.
Niels Möller [Mon, 10 Jan 2022 19:22:30 +0000 (20:22 +0100)] 
ppc: Reduce number of registers used for ecc_secp256r1_redc.

3 years agoppc: New configure test for ELFV2_ABI
Niels Möller [Tue, 4 Jan 2022 19:37:27 +0000 (20:37 +0100)] 
ppc: New configure test for ELFV2_ABI

3 years agox86_64: Improved ecc_secp256r1_redc
Niels Möller [Thu, 9 Dec 2021 20:39:09 +0000 (21:39 +0100)] 
x86_64: Improved ecc_secp256r1_redc

* x86_64/ecc-secp256r1-redc.asm: New folding scheme with one less
carry propagation phase, and fewer registers, avoiding save and
restore of callee-save registers. 17% speedup of this function on
AMD Ryzen 5, resulting in a modest improvement in ecdsa
performance.

3 years agoChangeLog for previous change.
Niels Möller [Thu, 9 Dec 2021 20:31:24 +0000 (21:31 +0100)] 
ChangeLog for previous change.

3 years agoppc: Add powerpc64 assembly for ecc_256_redc
Amitay Isaacs [Tue, 7 Dec 2021 20:20:35 +0000 (21:20 +0100)] 
ppc: Add powerpc64 assembly for ecc_256_redc

3 years agodoc: documentation for SM3 hash
Tianjia Zhang [Tue, 7 Dec 2021 20:34:44 +0000 (21:34 +0100)] 
doc: documentation for SM3 hash

To: Niels Möller <nisse@lysator.liu.se>, nettle-bugs@lists.lysator.liu.se
Cc: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
Date: Mon,  6 Dec 2021 16:57:00 +0800 (1 day, 11 hours, 33 minutes ago)

Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
3 years agoMerge branch 'sm3'
Niels Möller [Sun, 5 Dec 2021 20:21:46 +0000 (21:21 +0100)] 
Merge branch 'sm3'

3 years agoComment improvements for x86_64 ecc_secp256r1_redc
Niels Möller [Wed, 1 Dec 2021 21:20:10 +0000 (22:20 +0100)] 
Comment improvements for x86_64 ecc_secp256r1_redc

3 years agonettle-benchmark: bench SM3 hashes sm3
Tianjia Zhang [Mon, 29 Nov 2021 12:32:36 +0000 (20:32 +0800)] 
nettle-benchmark: bench SM3 hashes

Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
3 years agohmac: add support for SM3 hash function
Tianjia Zhang [Mon, 29 Nov 2021 12:32:35 +0000 (20:32 +0800)] 
hmac: add support for SM3 hash function

Add support for calculating HMAC using SM3 hash functions.

Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
3 years agotestsuite: add test for SM3 hash function
Tianjia Zhang [Mon, 29 Nov 2021 12:32:34 +0000 (20:32 +0800)] 
testsuite: add test for SM3 hash function

Add a testuite for SM3 hash function. Test vectors are based on:
https://datatracker.ietf.org/doc/html/draft-shen-sm3-hash-01

Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
3 years agoAdd OSCCA SM3 hash algorithm
Tianjia Zhang [Mon, 29 Nov 2021 12:32:33 +0000 (20:32 +0800)] 
Add OSCCA SM3 hash algorithm

Add OSCCA SM3 secure hash (OSCCA GM/T 0004-2012 SM3) generic
hash transformation.

Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
3 years agoDelete function mpz_limbs_read_n.
Niels Möller [Fri, 19 Nov 2021 21:01:26 +0000 (22:01 +0100)] 
Delete function mpz_limbs_read_n.

3 years agoDelete function mpz_limbs_cmp.
Niels Möller [Fri, 19 Nov 2021 20:46:56 +0000 (21:46 +0100)] 
Delete function mpz_limbs_cmp.

3 years agogitlab-ci: Enable randomized tests
Niels Möller [Mon, 15 Nov 2021 18:53:48 +0000 (19:53 +0100)] 
gitlab-ci: Enable randomized tests

Add NETTLE_TEST_SEED=0 when running make check, in all configurations
except the --enable-mini-gmp build.

3 years agoRandomize more tests
Niels Möller [Mon, 15 Nov 2021 18:48:26 +0000 (19:48 +0100)] 
Randomize more tests

3 years agoReduce allocation in modinv test
Niels Möller [Mon, 15 Nov 2021 18:43:36 +0000 (19:43 +0100)] 
Reduce allocation in modinv test

3 years agoFix sqrt_ratio test for v = 0 case.
Niels Möller [Mon, 15 Nov 2021 18:40:58 +0000 (19:40 +0100)] 
Fix sqrt_ratio test for v = 0 case.

3 years agoReduce allocation in sqrt tests
Niels Möller [Mon, 15 Nov 2021 18:38:11 +0000 (19:38 +0100)] 
Reduce allocation in sqrt tests

3 years agoMove NETTLE_TEST_SEED logic to testutils.c.
Niels Möller [Sat, 13 Nov 2021 16:17:36 +0000 (17:17 +0100)] 
Move NETTLE_TEST_SEED logic to testutils.c.

* testsuite/testutils.c (get_random_seed): Move function here.
(test_randomize): New function.
* testsuite/ecc-mod-test.c (get_random_seed): Delete old copy.
(test_main): Use test_randomize.
* testsuite/rsa-compute-root-test.c (get_random_seed): Delete old copy.
(test_main): Use test_randomize.

3 years agoDelete obsolete comment.
Niels Möller [Sat, 13 Nov 2021 16:15:21 +0000 (17:15 +0100)] 
Delete obsolete comment.

3 years agoFix and test for sqrt(0) special case.
Niels Möller [Sat, 13 Nov 2021 08:36:20 +0000 (09:36 +0100)] 
Fix and test for sqrt(0) special case.

3 years agoeccdata: Output ecc_sqrt_z and ECC_SQRT_E only when computed.
Niels Möller [Thu, 11 Nov 2021 20:43:13 +0000 (21:43 +0100)] 
eccdata: Output ecc_sqrt_z and ECC_SQRT_E only when computed.

3 years agoFix comment typo.
Niels Möller [Thu, 11 Nov 2021 20:29:17 +0000 (21:29 +0100)] 
Fix comment typo.

3 years agoLet secp384r1 inverse and sqrt share most of the powering.
Niels Möller [Thu, 11 Nov 2021 20:22:44 +0000 (21:22 +0100)] 
Let secp384r1 inverse and sqrt share most of the powering.

* ecc-secp384r1.c (ecc_mod_pow_288m32m1): New function.
(ecc_secp384r1_inv): Use ecc_mod_pow_288m32m1.
(ecc_secp384r1_sqrt): Likewise.

3 years agoeccdata: Delete generation of unused values ecc_sqrt_t and ECC_SQRT_T_BITS.
Niels Möller [Thu, 11 Nov 2021 18:52:30 +0000 (19:52 +0100)] 
eccdata: Delete generation of unused values ecc_sqrt_t and ECC_SQRT_T_BITS.

3 years agoeccdata: Generate both redc and non-redc versions of ecc_sqrt_z. ecc-sqrt
Niels Möller [Wed, 10 Nov 2021 17:46:02 +0000 (18:46 +0100)] 
eccdata: Generate both redc and non-redc versions of ecc_sqrt_z.

3 years agoImplement secp224r1 square root, based on patch by Wim Lewis.
Niels Möller [Mon, 8 Nov 2021 19:14:32 +0000 (20:14 +0100)] 
Implement secp224r1 square root, based on patch by Wim Lewis.

3 years agoNew function ecc_mod_equal_p, based on patch by Wim Lewis.
Niels Möller [Mon, 8 Nov 2021 19:10:32 +0000 (20:10 +0100)] 
New function ecc_mod_equal_p, based on patch by Wim Lewis.

3 years agoNew function ecc_mod_pow_127m1, used for ecc_secp224r1_inv.
Niels Möller [Mon, 8 Nov 2021 19:03:11 +0000 (20:03 +0100)] 
New function ecc_mod_pow_127m1, used for ecc_secp224r1_inv.

3 years agoImplement secp521r1 square root, based on patch by Wim Lewis.
Niels Möller [Mon, 8 Nov 2021 16:51:07 +0000 (17:51 +0100)] 
Implement secp521r1 square root, based on patch by Wim Lewis.

3 years agoImplement secp384r1 square root, based on patch by Wim Lewis.
Niels Möller [Mon, 8 Nov 2021 16:47:12 +0000 (17:47 +0100)] 
Implement secp384r1 square root, based on patch by Wim Lewis.

3 years agoImplement secp256r1 square root, based on patch by Wim Lewis.
Niels Möller [Mon, 8 Nov 2021 16:41:54 +0000 (17:41 +0100)] 
Implement secp256r1 square root, based on patch by Wim Lewis.

3 years agoImplement secp192r1 square root, based on patch by Wim Lewis.
Niels Möller [Mon, 8 Nov 2021 16:37:05 +0000 (17:37 +0100)] 
Implement secp192r1 square root, based on patch by Wim Lewis.

3 years agoRenamed sqrt_itch --> sqrt_ratio_itch, and curve25519 and curve448 sqrt functions.
Niels Möller [Sat, 6 Nov 2021 16:10:26 +0000 (17:10 +0100)] 
Renamed sqrt_itch --> sqrt_ratio_itch, and curve25519 and curve448 sqrt functions.

3 years agoRename ecc sqrt --> sqrt_ratio.
Niels Möller [Sat, 6 Nov 2021 15:38:41 +0000 (16:38 +0100)] 
Rename ecc sqrt --> sqrt_ratio.

* ecc-internal.h (ecc_mod_sqrt_ratio_func): Renamed typedef...
(ecc_mod_sqrt_func): ... from old name.
(struct ecc_modulo): Renamed corresponding function pointer to
sqrt_ratio. Updated all uses.

3 years agoMerge branch 'secp256r1-mod'
Niels Möller [Sat, 6 Nov 2021 15:30:50 +0000 (16:30 +0100)] 
Merge branch 'secp256r1-mod'

3 years agoMerge branch 's390x-sha1' into 'master'
Niels Möller [Sun, 31 Oct 2021 07:35:19 +0000 (07:35 +0000)] 
Merge branch 's390x-sha1' into 'master'

[S390x] Optimize SHA3 permute using vector facility

This patch optimizes SHA3 permute function by taking advantage of supported vector facility. Vectorizing SHA3 permute fits more than applying SHA3 hardware-accelerator for s390x architecture in terms of implementing the actual permute procedure only rather than executing unneeded extra procedures which are handled by other functions in nettle library. Applying SHA3 hardware-accelerator in a previous patch yielded 12% performance boost while this patch has ~105% performance increase for SHA3 functions.
The optimized core follows the same optimization procedure that used in SHA3 permute implementation for x86_64 architecture.

| Algorithm | C (Mbyte/s) | Vectorized (Mbyte/s) |
| ------ | ------ | ------ |
| sha3_224 | 235.08 | 483.41 |
| sha3_256 | 226.15 | 460.68 |
| sha3_384 | 172.90 | 357.15 |
| sha3_512 | 120.46 | 243.96 |

See merge request nettle/nettle!36

3 years agoNew function ecc_mod_zero_p.
Niels Möller [Tue, 26 Oct 2021 16:00:07 +0000 (18:00 +0200)] 
New function ecc_mod_zero_p.

* ecc-mod-arith.c (ecc_mod_zero_p): New function.
* ecc-curve25519.c (ecc_curve25519_zero_p): Use it.
* ecc-curve448.c (ecc_curve448_zero_p): Deleted, usage replaced
with ecc_mod_zero_p.
* testsuite/ecc-modinv-test.c (mod_eq_p): Rewritten to use
ecc_mod_zero_p, and require that one input is canonically reduced.
(zero_p): Deleted, usage replaced with ecc_mod_zero_p.

3 years ago[S390x] Improvements on documentation and instruction set usage for SHA3 permute
Mamone Tarsha [Sun, 24 Oct 2021 18:39:11 +0000 (20:39 +0200)] 
[S390x] Improvements on documentation and instruction set usage for SHA3 permute

3 years agoNew function sec_zero_p.
Niels Möller [Sat, 23 Oct 2021 18:39:15 +0000 (20:39 +0200)] 
New function sec_zero_p.

3 years ago[S390x] Remove lgr instructions by using xgrk instead of xgr instruction
Mamone Tarsha [Fri, 22 Oct 2021 13:08:04 +0000 (15:08 +0200)] 
[S390x] Remove lgr instructions by using xgrk instead of xgr instruction

3 years agoRewrite of secp256r1 mod functions. secp256r1-mod
Niels Möller [Fri, 22 Oct 2021 08:03:12 +0000 (10:03 +0200)] 
Rewrite of secp256r1 mod functions.

3 years agoExtend ecc-mod-test, with improved coverage of corner cases.
Niels Möller [Fri, 22 Oct 2021 07:46:03 +0000 (09:46 +0200)] 
Extend ecc-mod-test, with improved coverage of corner cases.

3 years ago[S390x] Optimize SHA3 permute using vector facility
Mamone Tarsha [Thu, 21 Oct 2021 09:25:26 +0000 (11:25 +0200)] 
[S390x] Optimize SHA3 permute using vector facility

3 years agoChange "signature on digest" --> "of digest".
Niels Möller [Tue, 12 Oct 2021 15:45:15 +0000 (17:45 +0200)] 
Change "signature on digest" --> "of digest".

3 years agoDoc fixes.
Niels Möller [Tue, 12 Oct 2021 06:07:17 +0000 (08:07 +0200)] 
Doc fixes.

Add documented types to the index. Clarify docs on dsa_signature,
ecc_point_clear and ecc_scalar_clear. Fix typo in docs of ecdsa_sign.

3 years agoDelete a few old FIXME comments
Niels Möller [Fri, 24 Sep 2021 05:48:11 +0000 (07:48 +0200)] 
Delete a few old FIXME comments

3 years agoUse @url and https consistently for references. Fix overlong lines.
Niels Möller [Tue, 21 Sep 2021 19:45:13 +0000 (21:45 +0200)] 
Use @url and https consistently for references. Fix overlong lines.

3 years agoUse texi2pdf to generate the pdf manual
Niels Möller [Tue, 21 Sep 2021 19:18:32 +0000 (21:18 +0200)] 
Use texi2pdf to generate the pdf manual

3 years agoChangeLog entries for doc structure improvements.
Niels Möller [Tue, 21 Sep 2021 19:13:38 +0000 (21:13 +0200)] 
ChangeLog entries for doc structure improvements.

3 years agoDivide Cipher section into menu and nodes, and some other minor fixes.
Niels Möller [Tue, 21 Sep 2021 19:03:11 +0000 (21:03 +0200)] 
Divide Cipher section into menu and nodes, and some other minor fixes.

3 years agoDelete explicit node pointers in nettle.texinfo
Niels Möller [Tue, 21 Sep 2021 16:20:43 +0000 (18:20 +0200)] 
Delete explicit node pointers in nettle.texinfo

Instead, rely on makeinfo's automatic pointer creation.

3 years agoChange CBC-AES interface
Niels Möller [Tue, 14 Sep 2021 12:40:35 +0000 (14:40 +0200)] 
Change CBC-AES interface

* cbc.h (cbc_aes128_encrypt, cbc_aes192_encrypt)
(cbc_aes256_encrypt): Change interface, take cipher context
pointer and iv as separate arguments. Update C and x86_64
implementations and corresponding glue code.

3 years agoTest AEAD encrypt/decrypt with message split into pieces.
Niels Möller [Tue, 14 Sep 2021 11:51:17 +0000 (13:51 +0200)] 
Test AEAD encrypt/decrypt with message split into pieces.

3 years agoMerge branch 'aes-cbc' into master
Niels Möller [Sun, 12 Sep 2021 15:30:27 +0000 (17:30 +0200)] 
Merge branch 'aes-cbc' into master

3 years agoMore checks for null pointers in test_aead, to silent static analyzer. aes-cbc
Niels Möller [Thu, 9 Sep 2021 19:46:29 +0000 (21:46 +0200)] 
More checks for null pointers in test_aead, to silent static analyzer.

3 years agoFix checks of HAVE_NATIVE_cbc_aes*_encrypt
Niels Möller [Thu, 9 Sep 2021 19:40:59 +0000 (21:40 +0200)] 
Fix checks of HAVE_NATIVE_cbc_aes*_encrypt

3 years agoFix fat builds for x86_64 windows
Niels Möller [Thu, 9 Sep 2021 19:29:07 +0000 (21:29 +0200)] 
Fix fat builds for x86_64 windows

3 years agox86_64: Fat setup for assembly CBC AES.
Niels Möller [Thu, 9 Sep 2021 19:07:29 +0000 (21:07 +0200)] 
x86_64: Fat setup for assembly CBC AES.

3 years agox86_64: Assembly CBC AES aesni functions.
Niels Möller [Thu, 9 Sep 2021 18:36:59 +0000 (20:36 +0200)] 
x86_64: Assembly CBC AES aesni functions.

3 years agoAdd specialized functions for cbc-aes.
Niels Möller [Wed, 8 Sep 2021 19:30:43 +0000 (21:30 +0200)] 
Add specialized functions for cbc-aes.

3 years agoMerge branch 'x86_64-aes-refactor' into master
Niels Möller [Thu, 2 Sep 2021 17:37:48 +0000 (19:37 +0200)] 
Merge branch 'x86_64-aes-refactor' into master

3 years agoChangeLog entries for recent contributions.
Niels Möller [Thu, 2 Sep 2021 17:29:42 +0000 (19:29 +0200)] 
ChangeLog entries for recent contributions.

3 years agogitlab-ci: Use mini-gmp for big-endian powerpc64 cross build
Niels Möller [Mon, 30 Aug 2021 20:05:29 +0000 (22:05 +0200)] 
gitlab-ci: Use mini-gmp for big-endian powerpc64 cross build

3 years agogitlab-ci: Explicitly install cross libgmp-dev packages
Niels Möller [Mon, 30 Aug 2021 19:51:08 +0000 (21:51 +0200)] 
gitlab-ci: Explicitly install cross libgmp-dev packages

3 years agogitlab-ci: No-assembly cross-build for s390x, to test big-endian
Niels Möller [Mon, 30 Aug 2021 19:33:12 +0000 (21:33 +0200)] 
gitlab-ci: No-assembly cross-build for s390x, to test big-endian

3 years agogitlab-ci: Delete mips build
Niels Möller [Mon, 23 Aug 2021 18:12:51 +0000 (20:12 +0200)] 
gitlab-ci: Delete mips build

It's no longer a debian release arch, and not supported by the build
images used for cross builds.

3 years agoMerge branch 's390x-sha1' into 'master'
Niels Möller [Mon, 16 Aug 2021 20:09:24 +0000 (20:09 +0000)] 
Merge branch 's390x-sha1' into 'master'

[S390x] Optimize SHA256 and SHA512 compress functions

This patch optimizes SHA256 and SHA512 compress functions for s390x architecture, the testsuite passes the tests. Benchmark on Z15:
| Algorithm | C | Hardware-accelerated |
| ------ | ------ | ------ |
| SHA265 | 242.76 Mbyte/s | 869.00 Mbyte/s |
| SHA512 | 373.18 Mbyte/s | 1555.21 Mbyte/s |

See merge request nettle/nettle!35

3 years ago[S390x] Optimize SHA256 and SHA512 compress functions
Mamone Tarsha [Fri, 13 Aug 2021 12:06:11 +0000 (15:06 +0300)] 
[S390x] Optimize SHA256 and SHA512 compress functions

3 years agoMerge branch 's390x-sha1' into 'master'
Niels Möller [Tue, 10 Aug 2021 20:53:24 +0000 (20:53 +0000)] 
Merge branch 's390x-sha1' into 'master'

[S390x] Optimize SHA1 compress with fat build support

See merge request nettle/nettle!33

3 years agox86_64: New 2-way aesni loop also for aes256 x86_64-aes-refactor
Niels Möller [Tue, 10 Aug 2021 20:23:14 +0000 (22:23 +0200)] 
x86_64: New 2-way aesni loop also for aes256

3 years agox86_64: Refactor aesni assembly, with specific functions for each key size.
Niels Möller [Tue, 10 Aug 2021 20:05:40 +0000 (22:05 +0200)] 
x86_64: Refactor aesni assembly, with specific functions for each key size.

3 years ago[S390x] Optimize SHA1 compress
Mamone Tarsha [Tue, 10 Aug 2021 13:01:18 +0000 (16:01 +0300)] 
[S390x] Optimize SHA1 compress

3 years agoMerge branch 'arm64-aes' into 'master'
Niels Möller [Mon, 9 Aug 2021 14:51:10 +0000 (14:51 +0000)] 
Merge branch 'arm64-aes' into 'master'

[AArch64] Optimize AES with fat build support

This patch optimizes AES encrypt/decrypt functions with each key size has its own implementation to load the key expansion just once at function prologue which yields a considerable performance increase over loading the key expansion for every block iteration. The patch also adds fat build support for the AES functions.
`make check` passes all tests. Benchmark of executing `examples/nettle-benchmark`:
| Algorithm | mode | C (Mbyte/s) | OpenSSL (Mbyte/s) | This patch (Mbyte/s) |
| ------ | ------ | ------ | ------ | ------ |
| aes128 | ECB encrypt | 95.01 | 1037.85 | 2579.62 |
| aes128 | ECB decrypt | 93.47 | 1005.15 | 2577.53 |
| aes192 | ECB encrypt | 79.60 | 893.34 | 2205.53 |
| aes192 | ECB decrypt | 78.34 | 889.17 | 2204.41 |
| aes256 | ECB encrypt | 66.64 | 782.21 | 1925.73 |
| aes256 | ECB decrypt | 65.81 | 781.37 | 1925.79 |

See merge request nettle/nettle!34

3 years ago[AArch64] Utilize AES 1-block macros in 4-block macros
Mamone Tarsha [Sun, 8 Aug 2021 13:12:16 +0000 (16:12 +0300)] 
[AArch64] Utilize AES 1-block macros in 4-block macros