++2018-03-14 Niels Möller <nisse@lysator.liu.se>
++
++ Merge sha256 code using the x86_64 sha_ni instructions, starting
++ 2018-02-21.
++
+ 2018-03-11 Niels Möller <nisse@lysator.liu.se>
+
+ * 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 <nisse@lysator.liu.se>
+
+ * x86_64/sha_ni/sha256-compress.asm: New implementation using sha_ni
+ instructions.
+
+2018-02-20 Niels Möller <nisse@lysator.liu.se>
+
+ * testsuite/cmac-test.c (test_cmac_hash): Deallocate ctx properly.
+
+2018-02-19 Niels Möller <nisse@lysator.liu.se>
+
+ 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 <nmav@redhat.com>
+
+ 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 <nisse@lysator.liu.se>
+
+ * 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 <nisse@lysator.liu.se>
+
+ * 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 <nisse@lysator.liu.se>
+
+ * 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 <dbaryshkov@gmail.com>
+
+ * examples/nettle-openssl.c): Move expressions with side effects
+ out of asserts.
+
+2018-02-17 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
+
+ (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 <nisse@lysator.liu.se>
+
+ * nettle.texinfo: Improved index entries.
+ (Cipher functions): Update CAST128/CAST5 docs. Inconsistencies
+ spotted by Henrik Rindlöw.
+
2018-02-10 Niels Möller <nisse@lysator.liu.se>
* configure.ac: New configure option --enable-x86-sha-ni.