]>
git.ipfire.org Git - thirdparty/nettle.git/log
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 [Fri, 6 Nov 2020 20:54:51 +0000 (21:54 +0100)]
Comment improvement
Niels Möller [Fri, 6 Nov 2020 20:25:56 +0000 (21:25 +0100)]
Reduce scratch need for ecc_curve448_inv and ecc_curve448_sqrt
After these changes, both curve25519 and curve448 need 4*size for
invert and 6*size for sqrt.
Niels Möller [Fri, 6 Nov 2020 20:13:13 +0000 (21:13 +0100)]
Reduce scratch need for ecc_curve25519_sqrt
Niels Möller [Fri, 6 Nov 2020 18:46:32 +0000 (19:46 +0100)]
Delete unneeded copy in ecc_add_jja.
Niels Möller [Thu, 5 Nov 2020 19:37:11 +0000 (20:37 +0100)]
Reduce scratch need for ecc_dup_jj
Niels Möller [Tue, 3 Nov 2020 21:48:11 +0000 (22:48 +0100)]
Reduce scratch need for ecc_add_thh
Niels Möller [Tue, 3 Nov 2020 21:28:57 +0000 (22:28 +0100)]
Reduce scratch need for ecc_dup_th
Niels Möller [Tue, 3 Nov 2020 21:11:23 +0000 (22:11 +0100)]
Reduce scratch need for ecc_add_ehh
Niels Möller [Tue, 3 Nov 2020 20:55:59 +0000 (21:55 +0100)]
Reduce scratch need for ecc_dup_eh.
Niels Möller [Tue, 3 Nov 2020 19:26:34 +0000 (20:26 +0100)]
Stricter requirements for in-place ecc_add_func.
Niels Möller [Tue, 3 Nov 2020 19:07:48 +0000 (20:07 +0100)]
Delete obsolete comment.
Niels Möller [Tue, 3 Nov 2020 19:05:49 +0000 (20:05 +0100)]
Reduce scratch need for ecc_add_th
Niels Möller [Tue, 3 Nov 2020 18:51:31 +0000 (19:51 +0100)]
Reduce scratch need for ecc_add_eh
Niels Möller [Mon, 2 Nov 2020 20:23:46 +0000 (21:23 +0100)]
Reduce scratch need for ecc_curve25519_sqrt
Niels Möller [Mon, 2 Nov 2020 20:13:45 +0000 (21:13 +0100)]
Reduce scratch need for ecc_curve25519_inv
Niels Möller [Sun, 1 Nov 2020 09:22:48 +0000 (10:22 +0100)]
Separate result area for ecc_mod_mul and ecc_mod_sqr.
* ecc-mod-arith.c (ecc_mod_mul, ecc_mod_sqr): Separate argument
for scratch area, reducing required size of result area. Update
all callers to naïvely keep using result in scratch area.
(ecc_mod_pow_2k, ecc_mod_pow_2k_mul): Simplified, also reducing
required size of result area.
Niels Möller [Sun, 1 Nov 2020 09:21:35 +0000 (10:21 +0100)]
testsuite: Show curve bits in test_ecc_point failure message.
Niels Möller [Sat, 31 Oct 2020 09:28:29 +0000 (10:28 +0100)]
Update ChangeLog.
Niels Möller [Sat, 31 Oct 2020 09:26:16 +0000 (10:26 +0100)]
Update ARM mod and redc functions
Niels Möller [Sat, 31 Oct 2020 09:15:46 +0000 (10:15 +0100)]
Extend ecc-redc-test.
Niels Möller [Sat, 31 Oct 2020 09:14:40 +0000 (10:14 +0100)]
Update x86_64 ecc_secp256r1_redc for separate result argument.
Niels Möller [Fri, 30 Oct 2020 19:40:36 +0000 (20:40 +0100)]
Update x86_64 assembly mod functions
Niels Möller [Fri, 30 Oct 2020 14:01:39 +0000 (15:01 +0100)]
Add separate result argument to all mod functions.
* ecc-internal.h (typedef ecc_mod_func): Add separate result
argument. Updated all C implementations and callers.
Niels Möller [Fri, 30 Oct 2020 13:53:21 +0000 (14:53 +0100)]
Delete testcase, it's invalid with 32-bit limbs.
Niels Möller [Thu, 29 Oct 2020 19:32:02 +0000 (20:32 +0100)]
Simplify ecc_mod, and prepare for separate result argument.
* ecc-mod.c (ecc_mod): More unified handling of final carry
folding. Also eliminates a goto statement.
* testsuite/ecc-mod-test.c (test_fixed): Add another test case
Niels Möller [Thu, 29 Oct 2020 19:04:20 +0000 (20:04 +0100)]
blowfish: Add casts to uint32_t.
Avoids undefined behavior, since shifting an 8-bit value left by 24
bits overflows the range of signed int. Reported by Guido Vranken.
Niels Möller [Wed, 28 Oct 2020 20:48:10 +0000 (21:48 +0100)]
Use GMP functions mpn_cnd_add_n, mpn_cnd_sub_n and mpn_cnd_swap.
Niels Möller [Wed, 14 Oct 2020 18:17:08 +0000 (20:17 +0200)]
Shared implementation of ecc_mod_pow_2k and related functions
Niels Möller [Tue, 13 Oct 2020 19:49:34 +0000 (21:49 +0200)]
Merge branch 'invert-with-redc' into master-updates
Niels Möller [Fri, 25 Sep 2020 18:59:11 +0000 (20:59 +0200)]
Fix bogus email address in ChangeLog.
Niels Möller [Fri, 25 Sep 2020 17:27:02 +0000 (19:27 +0200)]
gcm: Micro optimized gcm_fill, for big and little endian.
Niels Möller [Thu, 24 Sep 2020 17:53:24 +0000 (19:53 +0200)]
Prefer to use ppc register names, if assembler supports it.
Maamoun TK [Sat, 19 Sep 2020 06:02:17 +0000 (09:02 +0300)]
"PowerPC64" Use same register convention in VSR macro
Maamoun TK [Sat, 19 Sep 2020 05:32:29 +0000 (08:32 +0300)]
"PowerPC64" Use explicit register names
This patch is built upon ppc-m4-macrology.patch. Using explicit register
names is working as expected now.
Niels Möller [Mon, 21 Sep 2020 18:07:10 +0000 (20:07 +0200)]
ppc: Add configure test and macros to replace register names.
* aclocal.m4 (GMP_ASM_POWERPC_R_REGISTERS): New configure test,
adapted from corresponding test in GMP's acinlude.m4.
* configure.ac (ASM_PPC_WANT_R_REGISTERS): New substituted
variable. Set using GMP_ASM_POWERPC_R_REGISTERS, when powerpc64
assembly code is enabled.
* config.m4.in: Substituted here.
* powerpc64/machine.m4: Check ASM_PPC_WANT_R_REGISTERS, and
if needed, replace register names like r0, r1, ... with integers.
* Makefile.in (%.asm): Include m4-utils.m4 for preprocessing of .asm
files, and include config.m4 before machine.m4.
Niels Möller [Mon, 21 Sep 2020 17:18:45 +0000 (19:18 +0200)]
M4 utilities, from GMP.
* m4-utils.m4: New file with m4 utilities, copied from GMP's
mpn/asm-defs.m4.
* Makefile.in (DISTFILES): Add m4-utils.m4.
Niels Möller [Tue, 15 Sep 2020 18:38:32 +0000 (20:38 +0200)]
Add missing file blowfish-internal.h to DISTFILES.
Niels Möller [Tue, 15 Sep 2020 18:36:56 +0000 (20:36 +0200)]
ChangeLog entry for m4 quoting change
Niels Möller [Mon, 14 Sep 2020 14:48:53 +0000 (16:48 +0200)]
Use default m4 quote character in asm files, part 5
Update powerpc64 files.
Niels Möller [Mon, 14 Sep 2020 14:44:11 +0000 (16:44 +0200)]
Use default m4 quote character in asm files, part 4
Update sparc files (32 and 64).
Niels Möller [Mon, 14 Sep 2020 14:36:32 +0000 (16:36 +0200)]
Update x86_64/fat/sha256-compress.asm, overlooked in part 1.
Niels Möller [Mon, 14 Sep 2020 14:33:14 +0000 (16:33 +0200)]
Use default m4 quote character in asm files, part 3
Update x86 files.
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.