From: Niels Möller Date: Wed, 14 Mar 2018 18:21:33 +0000 (+0100) Subject: Merge branch 'x86_64-sha_ni-sha256' X-Git-Tag: nettle_3.5rc1~79 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=34224fa0576c4eae107ec37bf679a687692d776f;p=thirdparty%2Fnettle.git Merge branch 'x86_64-sha_ni-sha256' --- 34224fa0576c4eae107ec37bf679a687692d776f diff --cc ChangeLog index efe70d63,df199cf8..829ad0ab --- a/ChangeLog +++ b/ChangeLog @@@ -1,92 -1,15 +1,109 @@@ ++2018-03-14 Niels Möller ++ ++ Merge sha256 code using the x86_64 sha_ni instructions, starting ++ 2018-02-21. ++ + 2018-03-11 Niels Möller + + * x86_64/fat/sha256-compress.asm: New file. + * x86_64/fat/sha256-compress-2.asm: New file. + * fat-x86_64.c (fat_init): Select plain x86_64 assembly version or + sha_ni version for sha256_compress. + + 2018-02-21 Niels Möller + + * x86_64/sha_ni/sha256-compress.asm: New implementation using sha_ni + instructions. + +2018-02-20 Niels Möller + + * testsuite/cmac-test.c (test_cmac_hash): Deallocate ctx properly. + +2018-02-19 Niels Möller + + Mostly aesthetic changes. Besides indentation: + * cmac.h (struct cmac128): Rename, to cmac128_ctx. + (CMAC128_CTX): Rename first member from data to ctx. + + * cmac.c: Use const void * as the type for cipher arguments. + (block_mulx): Un-inline. + (cmac128_set_key): Make a constant function local. + + * testsuite/cmac-test.c: Delete local typedefs. + +2018-02-19 Nikos Mavrogiannopoulos + + Add support for CMAC. + * cmac.h: New file. + (struct cmac128): New struct. + * cmac.c (block_mulx, cmac128_set_key, cmac128_update) + (cmac128_digest): New file, new functions. + * cmac-aes128.c (cmac_aes128_set_key, cmac_aes128_update) + (cmac_aes128_digest): New file, new functions. + * cmac-aes256.c (cmac_aes256_set_key, cmac_aes256_update) + (cmac_aes256_digest): New file, new functions. + * Makefile.in (nettle_SOURCES): Added cmac.c cmac-aes128.c cmac-aes256.c. + (HEADERS): Added cmac.h. + + * testsuite/cmac-test.c: New tests. + * testsuite/Makefile.in (TS_NETTLE_SOURCES): Add cmac-test.c. + + * examples/nettle-benchmark.c (time_cmac): New function. + (main): Use it. + + * nettle.texinfo: Document CMAC. + +2018-02-20 Niels Möller + + * testsuite/cbc-test.c (test_cbc_bulk): Use struct + aes256_ctx, instead of the deprecated struct aes_ctx. + * testsuite/cfb-test.c (test_cfb_bulk): Likewise. + * examples/rsa-session.h (struct rsa_session): Likewise. + * examples/rsa-encrypt.c (rsa_session_set_encrypt_key) + (process_file): Use aes256_* functions. + * examples/rsa-decrypt.c (rsa_session_set_decrypt_key) + (process_file): Likewise. + +2018-02-19 Niels Möller + + * nettle-internal.h: Include sha3.h, needed for the definition of + NETTLE_MAX_HASH_CONTEXT_SIZE. + (TMP_DECL_ALIGN, TMP_ALLOC_ALIGN): New macros, to support + allocation of context structs with alignment requirements. + [!HAVE_ALLOCA]: Also use assert, rather than calling abort + directly. + + * pss.c (pss_encode_mgf1, pss_verify_mgf1): Use new macros. + * pss-mgf1.c (pss_mgf1): Likewise. + +2018-02-18 Niels Möller + + * testsuite/Makefile.in (TS_NETTLE_SOURCES): Moved pss-mgf1-test.c... + (TS_HOGWEED_SOURCES): ...to here. Fixes link failure in builds + without public-key support. + +2018-02-18 Dmitry Eremin-Solenikov + + * examples/nettle-openssl.c): Move expressions with side effects + out of asserts. + +2018-02-17 Dmitry Eremin-Solenikov + + (openssl_evp_set_encrypt_key, openssl_evp_set_decrypt_key): Use + EVP_CipherInit_ex. + * examples/nettle-openssl.c (nettle_openssl_gcm_aes128) + (nettle_openssl_gcm_aes192, nettle_openssl_gcm_aes256): New aead + algorithms, for benchmarking purposes, and supporting wrapper functions. + * nettle-internal.h: Corresponding declarations. + * examples/nettle-benchmark.c (main): Include openssl's gcm aes in + benchmark. + +2018-02-16 Niels Möller + + * nettle.texinfo: Improved index entries. + (Cipher functions): Update CAST128/CAST5 docs. Inconsistencies + spotted by Henrik Rindlöw. + 2018-02-10 Niels Möller * configure.ac: New configure option --enable-x86-sha-ni.