]> git.ipfire.org Git - thirdparty/nettle.git/log
thirdparty/nettle.git
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 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

3 years ago[AArch64] Load AES keys at function prologue
Mamone Tarsha [Sun, 8 Aug 2021 12:09:59 +0000 (15:09 +0300)] 
[AArch64] Load AES keys at function prologue

3 years agoChangeLog entries for previous change.
Niels Möller [Fri, 6 Aug 2021 09:17:15 +0000 (11:17 +0200)] 
ChangeLog entries for previous change.

3 years agoMerge branch 'mamonet/nettle-s390x-memxor' into master-updates
Niels Möller [Fri, 6 Aug 2021 09:07:56 +0000 (11:07 +0200)] 
Merge branch 'mamonet/nettle-s390x-memxor' into master-updates

4 years ago[AArch64] Move AES round macros to machine.m4
Mamone Tarsha [Sun, 1 Aug 2021 11:23:11 +0000 (14:23 +0300)] 
[AArch64] Move AES round macros to machine.m4

4 years ago[AArch64] Optimize AES with fat build support
Mamone Tarsha [Fri, 30 Jul 2021 11:45:28 +0000 (14:45 +0300)] 
[AArch64] Optimize AES with fat build support

4 years agoMerge branch 's390x' into master-updates
Niels Möller [Sat, 24 Jul 2021 09:42:37 +0000 (11:42 +0200)] 
Merge branch 's390x' into master-updates

4 years ago[S390x] Optimize memxor3 using vector facility with fat support
Mamone Tarsha [Thu, 22 Jul 2021 10:08:58 +0000 (13:08 +0300)] 
[S390x] Optimize memxor3 using vector facility with fat support

4 years ago[S390x] Optimize memxor
Mamone Tarsha [Thu, 22 Jul 2021 10:07:24 +0000 (13:07 +0300)] 
[S390x] Optimize memxor

4 years agoAdd fat-s390x.c to OPT_SOURCES. s390x
Niels Möller [Wed, 21 Jul 2021 20:48:04 +0000 (22:48 +0200)] 
Add fat-s390x.c to OPT_SOURCES.

4 years agoFix name of s390x/fat directory in make dist target.
Niels Möller [Wed, 21 Jul 2021 15:20:10 +0000 (17:20 +0200)] 
Fix name of s390x/fat directory in make dist target.

4 years agoMerge branch 's390x-fat' into 's390x'
Niels Möller [Wed, 21 Jul 2021 15:09:40 +0000 (15:09 +0000)] 
Merge branch 's390x-fat' into 's390x'

[S390x] Replace inline assembly, fix fat filenames and add FAT_TEST_LIST

See merge request nettle/nettle!32

4 years ago[S390x] add FAT_TEST_LIST variable to enable fat build testing
Mamone Tarsha [Wed, 21 Jul 2021 06:10:15 +0000 (09:10 +0300)] 
[S390x] add FAT_TEST_LIST variable to enable fat build testing

4 years ago[S390x] Replace inline assembly and fix fat filenames
Mamone Tarsha [Wed, 21 Jul 2021 06:03:13 +0000 (09:03 +0300)] 
[S390x] Replace inline assembly and fix fat filenames

4 years agoMerge branch 's390x-fat' into 's390x'
Niels Möller [Sat, 17 Jul 2021 10:11:14 +0000 (10:11 +0000)] 
Merge branch 's390x-fat' into 's390x'

[S390x] Fat build support for AES and GHASH

See merge request nettle/nettle!31

4 years ago[S390x] Fat build support for AES and GHASH
Mamone Tarsha [Sat, 10 Jul 2021 17:57:08 +0000 (20:57 +0300)] 
[S390x] Fat build support for AES and GHASH

4 years agoMerge branch 'arm64-sha1' into master-updates
Niels Möller [Fri, 9 Jul 2021 06:58:13 +0000 (08:58 +0200)] 
Merge branch 'arm64-sha1' into master-updates

4 years agoarm64: Add sha2 to aarch64 fat tests. arm64-sha1
Niels Möller [Thu, 8 Jul 2021 20:51:15 +0000 (22:51 +0200)] 
arm64: Add sha2 to aarch64 fat tests.

4 years agoChangeLog entry for arm64 sha256..
Niels Möller [Thu, 8 Jul 2021 20:49:43 +0000 (22:49 +0200)] 
ChangeLog entry for arm64 sha256..

4 years agoMerge branch 's390x-gcm' into 's390x'
Niels Möller [Thu, 8 Jul 2021 20:37:26 +0000 (20:37 +0000)] 
Merge branch 's390x-gcm' into 's390x'

[S390x] Optimize GHASH

See merge request nettle/nettle!26

4 years agoMerge branch 'arm64-sha' into 'arm64-sha1'
Niels Möller [Mon, 5 Jul 2021 19:18:57 +0000 (19:18 +0000)] 
Merge branch 'arm64-sha' into 'arm64-sha1'

[AArch64] Fat build support for SHA-256 compress

See merge request nettle/nettle!29

4 years ago[AArch64] Fat build support for SHA-256 compress
Mamone Tarsha [Sat, 3 Jul 2021 11:46:30 +0000 (14:46 +0300)] 
[AArch64] Fat build support for SHA-256 compress

4 years ago[S390x] wipe parameter block content and leftover bytes of data from stack
Mamone Tarsha [Fri, 2 Jul 2021 23:40:29 +0000 (02:40 +0300)] 
[S390x] wipe parameter block content and leftover bytes of data from stack

4 years ago[S390x] wipe hash subkey from stack once GHASH operation completed
Mamone Tarsha [Fri, 2 Jul 2021 20:49:43 +0000 (23:49 +0300)] 
[S390x] wipe hash subkey from stack once GHASH operation completed

4 years agoMerge branch 'arm64-sha' into 'arm64-sha1'
Niels Möller [Thu, 1 Jul 2021 19:45:06 +0000 (19:45 +0000)] 
Merge branch 'arm64-sha' into 'arm64-sha1'

[AArch64] Optimize SHA-256 compress

See merge request nettle/nettle!28

4 years ago[AArch64] Optimize SHA-256 compress
Mamone Tarsha [Thu, 1 Jul 2021 13:28:13 +0000 (16:28 +0300)] 
[AArch64] Optimize SHA-256 compress

4 years ago[S390x] Use uppercase for macro names in machine.m4 and enhance the documentation...
Mamone Tarsha [Thu, 1 Jul 2021 02:47:02 +0000 (05:47 +0300)] 
[S390x] Use uppercase for macro names in machine.m4 and enhance the documentation for GHASH implementation

4 years agoAdd sha1 to aarch64 fat tests.
Niels Möller [Wed, 30 Jun 2021 18:40:14 +0000 (20:40 +0200)] 
Add sha1 to aarch64 fat tests.

4 years agoChangeLog entry for previous change.
Niels Möller [Wed, 30 Jun 2021 18:36:22 +0000 (20:36 +0200)] 
ChangeLog entry for previous change.

4 years agoarm64: Fat build support for SHA1 compress
Maamoun TK [Wed, 30 Jun 2021 18:34:30 +0000 (20:34 +0200)] 
arm64: Fat build support for SHA1 compress

4 years ago[S390x] Update configure.ac and Makefile.in
Mamone Tarsha [Sun, 27 Jun 2021 15:14:43 +0000 (18:14 +0300)] 
[S390x] Update configure.ac and Makefile.in

4 years ago[S390x] Implement alloc_stack and free_stack macros in machine.m4
Mamone Tarsha [Sun, 27 Jun 2021 14:16:56 +0000 (17:16 +0300)] 
[S390x] Implement alloc_stack and free_stack macros in machine.m4

4 years ago[S390x] Optimize GHASH
Mamone Tarsha [Sun, 27 Jun 2021 13:54:14 +0000 (16:54 +0300)] 
[S390x] Optimize GHASH

4 years agoUpdate Nettle-3.7.3 NEWS. 17/merge 19/merge 6/merge 7/merge 8/merge
Niels Möller [Tue, 8 Jun 2021 19:34:08 +0000 (21:34 +0200)] 
Update Nettle-3.7.3 NEWS.

(cherry picked from commit 52bacacaf4339fd78289f58919732f1f35bea1c1)

4 years agoAdd input check to rsa_decrypt family of functions.
Niels Möller [Tue, 8 Jun 2021 19:32:38 +0000 (21:32 +0200)] 
Add input check to rsa_decrypt family of functions.

(cherry picked from commit 0ad0b5df315665250dfdaa4a1e087f4799edaefe)

4 years agoChange _rsa_sec_compute_root_tr to take a fix input size.
Niels Möller [Tue, 8 Jun 2021 19:31:39 +0000 (21:31 +0200)] 
Change _rsa_sec_compute_root_tr to take a fix input size.

Improves consistency with _rsa_sec_compute_root, and fixes zero-input bug.

(cherry picked from commit 485b5e2820a057e873b1ba812fdb39cae4adf98c)

4 years agoFix comment typos.
Niels Möller [Tue, 8 Jun 2021 19:30:48 +0000 (21:30 +0200)] 
Fix comment typos.

(cherry picked from commit 0a714543136de97c7fd34f1c6ac1592dc5036879)

4 years agoAdd check that message length to _pkcs1_sec_decrypt is valid.
Niels Möller [Thu, 6 May 2021 19:30:23 +0000 (21:30 +0200)] 
Add check that message length to _pkcs1_sec_decrypt is valid.

* pkcs1-sec-decrypt.c (_pkcs1_sec_decrypt): Check that message
length is valid, for given key size.
* testsuite/rsa-sec-decrypt-test.c (test_main): Add test cases for
calls to rsa_sec_decrypt specifying a too large message length.

(cherry picked from commit 7616541e6eff73353bf682c62e3a68e4fe696707)

4 years agoChangeLog entry for arm64 sha1.
Niels Möller [Tue, 1 Jun 2021 17:00:36 +0000 (19:00 +0200)] 
ChangeLog entry for arm64 sha1.

4 years agoaarch64: Optimize SHA1 Compress
Maamoun TK [Fri, 14 May 2021 05:45:33 +0000 (08:45 +0300)] 
aarch64: Optimize SHA1 Compress

This patch optimizes SHA1 compress function for arm64 architecture by
taking advantage of SHA-1 instructions of Armv8 crypto extension.
The SHA-1 instructions:
SHA1C: SHA1 hash update (choose)
SHA1H: SHA1 fixed rotate
SHA1M: SHA1 hash update (majority)
SHA1P: SHA1 hash update (parity)
SHA1SU0: SHA1 schedule update 0
SHA1SU1: SHA1 schedule update 1

Benchmark on gcc117 instance of CFarm before applying the patch:
         Algorithm         mode Mbyte/s
         sha1            update  214.16
         openssl sha1    update  849.44
         hmac-sha1     64 bytes   61.69
         hmac-sha1    256 bytes  131.50
         hmac-sha1   1024 bytes  185.20
         hmac-sha1   4096 bytes  204.55
         hmac-sha1   single msg  210.97

Benchmark on gcc117 instance of CFarm after applying the patch:
         Algorithm         mode Mbyte/s
              sha1       update  800.80
      openssl sha1       update  849.17
         hmac-sha1     64 bytes  166.10
         hmac-sha1    256 bytes  409.24
         hmac-sha1   1024 bytes  636.98
         hmac-sha1   4096 bytes  739.20
         hmac-sha1   single msg  775.67

4 years agoFix C++-style comments
Niels Möller [Mon, 24 May 2021 16:58:12 +0000 (18:58 +0200)] 
Fix C++-style comments

4 years agoChangeLog entries for aes keywrap.
Niels Möller [Sun, 23 May 2021 19:14:00 +0000 (21:14 +0200)] 
ChangeLog entries for aes keywrap.

4 years agoImplement aes key wrap and key unwrap (RFC 3394)
Nicolas Mora [Sun, 23 May 2021 19:04:58 +0000 (21:04 +0200)] 
Implement aes key wrap and key unwrap (RFC 3394)

4 years agogitlab-ci: Explicitly pass --enable-s390x-msa to s390x build.
Niels Möller [Sat, 22 May 2021 07:47:30 +0000 (09:47 +0200)] 
gitlab-ci: Explicitly pass --enable-s390x-msa to s390x build.

4 years agoFix comment typo.
Niels Möller [Mon, 10 May 2021 18:52:39 +0000 (20:52 +0200)] 
Fix comment typo.

4 years agoReorder and indent asm_replace_list.
Niels Möller [Sun, 9 May 2021 08:06:47 +0000 (10:06 +0200)] 
Reorder and indent asm_replace_list.

4 years agoChangeLog entry for new s390x AES implementation.
Niels Möller [Sun, 9 May 2021 08:03:45 +0000 (10:03 +0200)] 
ChangeLog entry for new s390x AES implementation.

4 years agoMerge branch 's390x' into 's390x'
Niels Möller [Sun, 9 May 2021 07:38:21 +0000 (07:38 +0000)] 
Merge branch 's390x' into 's390x'

[S390x] Basic AES optimization

See merge request nettle/nettle!23

4 years agoAppend s390x-specific asm file names to asm_replace_list in configure.ac
Mamone Tarsha [Sat, 8 May 2021 21:02:06 +0000 (00:02 +0300)] 
Append s390x-specific asm file names to asm_replace_list in configure.ac

4 years ago[S390x] Basic AES-192 and AES-256 optimizations
Mamone Tarsha [Fri, 7 May 2021 23:32:52 +0000 (02:32 +0300)] 
[S390x] Basic AES-192 and AES-256 optimizations

4 years agoppc: Fix macro name SWAP_MASK to use all uppercase.
Niels Möller [Tue, 13 Apr 2021 09:23:27 +0000 (11:23 +0200)] 
ppc: Fix macro name SWAP_MASK to use all uppercase.

4 years agoUpdate config.guess and config.sub.
Niels Möller [Sun, 11 Apr 2021 15:18:24 +0000 (17:18 +0200)] 
Update config.guess and config.sub.

4 years ago[S390x] Basic AES-128 optimization
mamonet [Mon, 5 Apr 2021 20:41:00 +0000 (23:41 +0300)] 
[S390x] Basic AES-128 optimization

4 years agoSplit aes-encrypt.c and aes-decrypt.c into one file per key size.
Niels Möller [Thu, 1 Apr 2021 05:30:28 +0000 (07:30 +0200)] 
Split aes-encrypt.c and aes-decrypt.c into one file per key size.

Move aes128_encrypt and similar functions to their own files. To
make it easier for assembly implementations to override specific
AES variants.
* aes-decrypt.c: Split file, keep only legacy function aes_decrypt here.
* aes-decrypt-table.c (_nettle_aes_decrypt_table): New file, moved
table here.
* aes128-decrypt.c (aes128_decrypt): New file, moved function here.
* aes192-decrypt.c (aes192_decrypt): New file, moved function here.
* aes256-decrypt.c (aes256_decrypt): New file, moved function here.
* aes-encrypt.c: Split file, keep only legacy function aes_encrypt here.
* aes128-encrypt.c (aes128_encrypt): New file, moved function here.
* aes192-encrypt.c (aes192_encrypt): New file, moved function here.
* aes256-encrypt.c (aes256_encrypt): New file, moved function here.
* Makefile.in (nettle_SOURCES): Add new files.

4 years agoInitial config for s390x, contributed by Mamone Tarsha.
Niels Möller [Sun, 28 Mar 2021 18:43:56 +0000 (20:43 +0200)] 
Initial config for s390x, contributed by Mamone Tarsha.

* configure.ac: Add flag --enable-s390x-msa-x1. Add ABI check for
s390x, and setup asm_path.
* Makefile.in (distdir): Add s390x directory.
* s390x/README: New file

4 years agoMerge branch 'wip/ueno/maybe-uninit' into 'master'
Niels Möller [Sun, 28 Mar 2021 14:45:02 +0000 (14:45 +0000)] 
Merge branch 'wip/ueno/maybe-uninit' into 'master'

nettle-benchmark: avoid -Wmaybe-uninitialized warnings

See merge request nettle/nettle!22

4 years agonettle-benchmark: avoid -Wmaybe-uninitialized warnings
Daiki Ueno [Sat, 27 Mar 2021 07:36:01 +0000 (08:36 +0100)] 
nettle-benchmark: avoid -Wmaybe-uninitialized warnings

Otherwise GCC 11 prints the following warning:

  nettle-benchmark.c: In function ‘time_umac’:
  ../umac.h:42:25: warning: ‘key’ may be used uninitialized [-Wmaybe-uninitialized]
     42 | #define umac32_set_key  nettle_umac32_set_key
  nettle-benchmark.c:395:3: note: in expansion of macro ‘umac32_set_key’
    395 |   umac32_set_key (&ctx32, key);
        |   ^~~~~~~~~~~~~~

Although this should be harmless as it's in the benchmarking code and
the content of the key doesn't matter, it wouldn't hurt to explicitly
initialize it.  This patch also uses predefined constants for key
sizes.

4 years agogitlab-ci: Fix only: variables: check, and quote variables.
Niels Möller [Sat, 27 Mar 2021 07:39:26 +0000 (08:39 +0100)] 
gitlab-ci: Fix only: variables: check, and quote variables.

4 years agogitlab-ci: Use pipeline variable S390X_ACCOUNT
Niels Möller [Sat, 27 Mar 2021 07:00:36 +0000 (08:00 +0100)] 
gitlab-ci: Use pipeline variable S390X_ACCOUNT

And enable remote/s390x job only when needed variables are set.

4 years agogitlab-ci: Add remote tests for s390x.
Niels Möller [Wed, 24 Mar 2021 18:40:03 +0000 (19:40 +0100)] 
gitlab-ci: Add remote tests for s390x.

4 years agoAdd forward declaration of struct aes_table.
Niels Möller [Mon, 22 Mar 2021 18:17:25 +0000 (19:17 +0100)] 
Add forward declaration of struct aes_table.

4 years agoChangeLog entries for arm64 fat build.
Niels Möller [Mon, 22 Mar 2021 18:16:40 +0000 (19:16 +0100)] 
ChangeLog entries for arm64 fat build.

4 years agoMerge arm64 fat support into master.
Niels Möller [Mon, 22 Mar 2021 18:08:14 +0000 (19:08 +0100)] 
Merge arm64 fat support into master.

4 years agoChangeLog entry for nettle-3.7.2 release
Niels Möller [Mon, 22 Mar 2021 17:47:22 +0000 (18:47 +0100)] 
ChangeLog entry for nettle-3.7.2 release

4 years agoNEWS entries for 3.7.2.
Niels Möller [Sun, 21 Mar 2021 08:29:40 +0000 (09:29 +0100)] 
NEWS entries for 3.7.2.

(cherry picked from commit 7a5f86321f4c67d7219aa87ea4e2ddca677d7378)

4 years ago[AArch64] Support fat build for GCM optimization
Maamoun TK [Sun, 21 Mar 2021 18:48:26 +0000 (20:48 +0200)] 
[AArch64] Support fat build for GCM optimization

4 years ago[AArch64] Use m4 macros in gcm-hash.asm and add documentation comments
Maamoun TK [Sun, 21 Mar 2021 18:45:38 +0000 (20:45 +0200)] 
[AArch64] Use m4 macros in gcm-hash.asm and add documentation comments

4 years ago[AArch64] Update README to be on par with other architectures
Maamoun TK [Sun, 21 Mar 2021 18:39:47 +0000 (20:39 +0200)] 
[AArch64] Update README to be on par with other architectures

4 years agoFix canonical reduction in gostdsa_vko.
Niels Möller [Sat, 13 Mar 2021 15:45:34 +0000 (16:45 +0100)] 
Fix canonical reduction in gostdsa_vko.

* gostdsa-vko.c (gostdsa_vko): Use ecc_mod_mul_canonical to
compute the scalar used for ecc multiplication.

4 years agoSimilar fix for eddsa.
Niels Möller [Sat, 13 Mar 2021 15:42:21 +0000 (16:42 +0100)] 
Similar fix for eddsa.

* eddsa-hash.c (_eddsa_hash): Ensure result is canonically
reduced. Two of the three call sites need that.

4 years agoAnalogous fix to ecc_gostdsa_verify.
Niels Möller [Sat, 13 Mar 2021 15:29:50 +0000 (16:29 +0100)] 
Analogous fix to ecc_gostdsa_verify.

* ecc-gostdsa-verify.c (ecc_gostdsa_verify): Use ecc_mod_mul_canonical
to compute the scalars used for ecc multiplication.

4 years agoEnsure ecdsa_sign output is canonically reduced.
Niels Möller [Sat, 13 Mar 2021 15:27:50 +0000 (16:27 +0100)] 
Ensure ecdsa_sign output is canonically reduced.

* ecc-ecdsa-sign.c (ecc_ecdsa_sign): Ensure s output is reduced to
canonical range.

4 years agoFix bug in ecc_ecdsa_verify.
Niels Möller [Sat, 13 Mar 2021 14:19:19 +0000 (15:19 +0100)] 
Fix bug in ecc_ecdsa_verify.

* ecc-ecdsa-verify.c (ecc_ecdsa_verify): Use ecc_mod_mul_canonical
to compute the scalars used for ecc multiplication.
* testsuite/ecdsa-verify-test.c (test_main): Add test case that
triggers an assert on 64-bit platforms, without above fix.
* testsuite/ecdsa-sign-test.c (test_main): Test case generating
the same signature.

4 years agoUse ecc_mod_mul_canonical for point comparison.
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.

4 years agoNew functions ecc_mod_mul_canonical and ecc_mod_sqr_canonical.
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.

4 years agoMerge branch 'arm64'
Niels Möller [Thu, 4 Mar 2021 08:41:17 +0000 (09:41 +0100)] 
Merge branch 'arm64'

4 years agoChangeLog entry for 3.7.1 release. nettle_3.7.1_release_20210217
Niels Möller [Wed, 17 Feb 2021 17:58:06 +0000 (18:58 +0100)] 
ChangeLog entry for 3.7.1 release.

4 years agoDelete benchmarking of openssl arcfour and corresponding glue code
Niels Möller [Mon, 15 Feb 2021 19:33:45 +0000 (20:33 +0100)] 
Delete benchmarking of openssl arcfour and corresponding glue code

4 years agoNEWS entries for Nettle-3.7.1.
Niels Möller [Sat, 13 Feb 2021 16:38:55 +0000 (17:38 +0100)] 
NEWS entries for Nettle-3.7.1.

4 years agoIncrease version numbers, 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.

4 years agoFix chacha counter update for _4core variants. fix-chacha-counter
Niels Möller [Wed, 10 Feb 2021 10:22:23 +0000 (11:22 +0100)] 
Fix chacha counter update for _4core variants.

4 years agoImprove chacha test coverage.
Niels Möller [Wed, 10 Feb 2021 09:26:52 +0000 (10:26 +0100)] 
Improve chacha test coverage.