]>
git.ipfire.org Git - thirdparty/nettle.git/log
Niels Möller [Sat, 7 Nov 2020 10:08:40 +0000 (11:08 +0100)]
ppc: Comment instructions for chacha byte swapping.
Niels Möller [Sat, 7 Nov 2020 09:35:02 +0000 (10:35 +0100)]
ppc: Add altivec detection to fat builds
Maamoun TK [Mon, 28 Sep 2020 17:26:13 +0000 (19:26 +0200)]
ppc: chacha-core big-endian support
Niels Möller [Fri, 25 Sep 2020 19:06:50 +0000 (21:06 +0200)]
ppc: Add powerpc64/p7 to asm_path.
Niels Möller [Fri, 25 Sep 2020 19:05:48 +0000 (21:05 +0200)]
ppc: Assembly implementation of _chacha_core.
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.
Stephen R. van den Berg [Fri, 12 Jun 2020 09:10:44 +0000 (11:10 +0200)]
v4.0 Blowfish: Prepare for bcrypt support.
Dmitry Baryshkov [Tue, 2 Jun 2020 10:45:40 +0000 (13:45 +0300)]
test/gostdsa-vko: add hashed test vectors from RFC 7836
It was not possible to check gostdsa_vko test vectors with the outputs
from RFC 7836 because Nettle lacked Streebog hash function. Now as the
function is supported, add full test vectors.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Dmitry Baryshkov [Tue, 2 Jun 2020 10:45:39 +0000 (13:45 +0300)]
pbkdf2-test: add PBKDF2 tests using Streebog HMAC function
Add test vectors from R 50.1.111-2016 to verify using HMAC-STREEBOG in
PBKDF2 function.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Dmitry Baryshkov [Tue, 2 Jun 2020 10:45:38 +0000 (13:45 +0300)]
nettle-benchmark: bench Streebog hashes
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Dmitry Baryshkov [Tue, 2 Jun 2020 10:45:36 +0000 (13:45 +0300)]
hmac: add support for streebog256/512 hash function
Add support for calculating HMAC using Streebog hash functions.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Dmitry Baryshkov [Tue, 2 Jun 2020 10:45:34 +0000 (13:45 +0300)]
testsuite: add test for Streebog hash function
Add a testuite for Streebog hash function. Test vectors are based on RFC
6986.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Dmitry Baryshkov [Thu, 4 Jun 2020 23:27:06 +0000 (02:27 +0300)]
Implement GOST R 34.11-2012 (Streebog) hash function
Also add nettle_streebog256 and nettle_streebog512 to nettle meta interface.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Niels Möller [Tue, 2 Jun 2020 05:27:59 +0000 (07:27 +0200)]
Delete benchmark code attempting to measure function call overhead.
Emil Velikov [Mon, 11 May 2020 08:43:22 +0000 (09:43 +0100)]
examples: don't use deprecated OpenSSL hashing API
The direct $HASH_{Init,Update,Final} has been discouraged for a while.
With the upcoming OpenSSL 3.0 it will be officially deprecated.
Add a handy macro, to avoid repetition and mistakes like in the current
code. Namely - we're using SHA cblock/digest_len for md5 :-\
The macro will also make it easier to add more, as seen with next patch.
v2: Align it with the crypto implementations, namely:
- use openssh_hash_ctx::evp, use correct sizeof()
- move hash_update out of the macro
- remove forward declarations for hash functions
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Niels Möller [Sun, 10 May 2020 17:29:20 +0000 (19:29 +0200)]
gitlab-ci: Reenable gost in gnutls build
Niels Möller [Wed, 29 Apr 2020 17:59:12 +0000 (19:59 +0200)]
Note Nettle-3.6 release.
Niels Möller [Mon, 27 Apr 2020 19:50:55 +0000 (21:50 +0200)]
Tweak gcc command like flags
Niels Möller [Mon, 27 Apr 2020 17:34:54 +0000 (19:34 +0200)]
Update mini-gmp to latest version
Niels Möller [Sun, 26 Apr 2020 11:53:35 +0000 (13:53 +0200)]
Mention GMP-6.1.0 in NEWS.
Niels Möller [Sat, 25 Apr 2020 18:27:57 +0000 (20:27 +0200)]
Delete compatibility definitions of mpz_limbs_read and friends.
Niels Möller [Sat, 25 Apr 2020 18:01:00 +0000 (20:01 +0200)]
Require gmp-6.1.0 or later, for mpn_zero_p.
Niels Möller [Sat, 25 Apr 2020 08:13:18 +0000 (10:13 +0200)]
DISTFILES fixes.
Niels Möller [Thu, 23 Apr 2020 17:25:08 +0000 (19:25 +0200)]
Set WINEPATH for tests, and remove symlink workaround.
Niels Möller [Thu, 23 Apr 2020 16:19:09 +0000 (18:19 +0200)]
In tests, delete ASSERTs with functions pointer comparisons.
Niels Möller [Wed, 22 Apr 2020 18:31:07 +0000 (20:31 +0200)]
Delete .test-rules.make, replaced by GNU make pattern rules.
Niels Möller [Tue, 21 Apr 2020 16:40:12 +0000 (18:40 +0200)]
ChangeLog entry for gost_vko.
Dmitry Eremin-Solenikov [Tue, 21 Apr 2020 11:50:48 +0000 (14:50 +0300)]
Implement GOST VKO key derivation algorithm
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Niels Möller [Sun, 19 Apr 2020 15:02:40 +0000 (17:02 +0200)]
ChangeLog for previous gosthash changes.
Niels Möller [Sun, 19 Apr 2020 14:25:37 +0000 (16:25 +0200)]
Delete obsolete FIXME comment.
Dmitry Baryshkov [Sun, 19 Apr 2020 14:24:13 +0000 (16:24 +0200)]
gosthash94: switch to using MD_UPDATE() macro
Niels Möller [Fri, 17 Apr 2020 06:06:28 +0000 (08:06 +0200)]
NEWS file update for soname changes.
Niels Möller [Fri, 17 Apr 2020 05:28:52 +0000 (07:28 +0200)]
Bump libnettle soname, libnettle version is now 8.0.
Niels Möller [Wed, 15 Apr 2020 18:08:00 +0000 (20:08 +0200)]
Fix file header.
Niels Möller [Wed, 15 Apr 2020 18:04:36 +0000 (20:04 +0200)]
Make poly1305-internal.h include poly1305.h, not aes.h.
Niels Möller [Wed, 15 Apr 2020 18:03:23 +0000 (20:03 +0200)]
ChangeLog for poly1305-internal.h.