++2013-09-28 Niels Möller <nisse@lysator.liu.se>
++
++ * Merge aes-reorg branch. Changes below,
++ dated 2013-05-17 - 2013-08-13.
++
+ 2013-08-13 Niels Möller <nisse@lysator.liu.se>
+
+ * yarrow.h (struct yarrow256_ctx): Use aes256_ctx, not aes_ctx.
+ * yarrow256.c: Adapted to use new aes256 interface.
+
+ 2013-08-07 Niels Möller <nisse@lysator.liu.se>
+
+ * umac.h (_UMAC_STATE): Use struct aes128_ctx, not aes_ctx.
+ * umac-set-key.c (umac_kdf, _umac_set_key): Use aes128 interface.
+ * umac32.c (umac32_digest): Likewise.
+ * umac64.c (umac64_digest): Likewise.
+ * umac96.c (umac96_digest): Likewise.
+ * umac128.c (umac128_digest): Likewise.
+
+ 2013-06-25 Niels Möller <nisse@lysator.liu.se>
+
+ * aes-meta.c: Deleted file.
+
+ Analogous changes for new aes192 and aes256 interface.
+
+ * aes.h (struct aes128_ctx): New aes128 declarations.
+ * aes-decrypt.c (aes128_decrypt): New function.
+ * aes-encrypt.c (aes128_encrypt): New function.
+ * aes128-meta.c: New file.
+ * aes128-set-encrypt-key.c (aes128_set_encrypt_key): New file and
+ function.
+ * aes128-set-decrypt-key.c (aes128_set_decrypt_key)
+ (aes128_invert_key): New file and functions.
+ * Makefile.in (nettle_SOURCES): Added aes128-set-encrypt-key.c,
+ aes128-set-decrypt-key.c and aes128-meta.c.
+
+ * nettle-internal.c (nettle_unified_aes128): For testing the old
+ AES interface.
+ * testsuite/aes-test.c (test_cipher2): New function.
+ (test_main): Test both nettle_aes128 and nettle_unified_aes128.
+
+ 2013-05-22 Niels Möller <nisse@lysator.liu.se>
+
+ * Makefile.in (nettle_SOURCES): Added aes-invert-internal.c and
+ aes-set-key-internal.c.
+
+ * aes.h (AES128_KEY_SIZE, _AES128_ROUNDS): New constants.
+ Similarly also for aes192 and aes256.
+
+ * aes-internal.h: Declare new functions.
+
+ * aes-set-key-internal.c (_aes_set_key): New file and funxtion
+ extracted from aes_set_encrypt_key.
+ * aes-set-encrypt-key.c (aes_set_encrypt_key): Use _aes_set_key.
+
+ * aes-invert-internal.c (_aes_invert): New file and function,
+ extracted from aes_invert_key.
+ * aes-set-decrypt-key.c (aes_invert_key): Use _aes_invert.
+
+ * arm/v6/aes-encrypt-internal.asm: Adapted to new interface.
+ Unfortunately, 4% slowdown on Cortex-A9, for unknown reason.
+ * arm/v6/aes-decrypt-internal.asm: Likewise.
+ * arm/aes-encrypt-internal.asm: Adapted to new interface.
+ * arm/aes-decrypt-internal.asm: Likewise.
+
+ 2013-05-21 Niels Möller <nisse@lysator.liu.se>
+
+ * sparc32/aes-encrypt-internal.asm: Adapted to new interface.
+ * sparc32/aes-decrypt-internal.asm: Likewise.
+ * sparc64/aes-encrypt-internal.asm: Likewise.
+ * sparc64/aes-decrypt-internal.asm: Likewise.
+
+ * x86/aes-encrypt-internal.asm: Adapted to new interface.
+ * x86/aes-decrypt-internal.asm: Likewise.
+
+ 2013-05-20 Niels Möller <nisse@lysator.liu.se>
+
+ * x86_64/aes-encrypt-internal.asm: Adapted to new interface.
+ * x86_64/aes-decrypt-internal.asm: Likewise.
+
+ 2013-05-17 Niels Möller <nisse@lysator.liu.se>
+
+ * aes.h (struct aes_ctx): Renamed nrounds to rounds, and moved
+ first in the structure.
+ * aes-set-encrypt-key.c (aes_set_encrypt_key): Updated for renaming.
+ * aes-set-decrypt-key.c (aes_invert_key): Likewise.
+
+ * aes-encrypt-internal.c (_nettle_aes_encrypt): Take rounds and
+ subkeys as separate arguments, not a struct aes_ctx *. Updated
+ callers.
+ * aes-decrypt-internal.c (_nettle_aes_decrypt): Likewise.
+ * aes-internal.h: Updated prototypes.
+
++ * Start of aes-reorg changes.
++
+2013-09-28 Niels Möller <nisse@lysator.liu.se>
+
+ * md4.h (struct md4_ctx): Use single uint64_t variable for block
+ count.
+ * md4.c: Use new block count variable.
+ * md5.c, md5.h (struct md5_ctx): Likewise.
+ * ripemd160.c, ripemd160.h (struct ripemd160_ctx): Likewise.
+ * sha1.c, sha1.h (struct sha1_ctx): Likewise.
+ * sha256.c, sha2.h (struct sha256_ctx): Likewise.
+
+ * testsuite/testutils.c (test_hash_large): Added simple progress
+ indicator.
+
+ * macros.h (MD_PAD): Use size argument, don't depend on
+ sizeof of the count field(s).
+
+2013-09-22 Niels Möller <nisse@lysator.liu.se>
+
+ * x86_64/gcm-hash8.asm: New file.
+ * x86_64/gcm-gf-mul-8.asm: Deleted.
+
+ * configure.ac (asm_nettle_optional_list): Look for gcm-hash8.asm,
+ not gcm-gf-mul-8.asm.
+ * gcm.c [HAVE_NATIVE_gcm_hash8]: Make use of (optional) assembly
+ implementation.
+
+2013-09-21 Niels Möller <nisse@lysator.liu.se>
+
+ * Makefile.in (des.po): Add same dependencies as for des.o.
+ Reported by Vincent Torri.
+
+2013-09-20 Niels Möller <nisse@lysator.liu.se>
+
+ * testsuite/gcm-test.c: Added tests with associated data of
+ varying size.
+
+ * testsuite/testutils.c (tstring_alloc): Add NUL-termination.
+
+2013-09-18 Niels Möller <nisse@lysator.liu.se>
+
+ * Makefile.in: New stampfiles, libnettle.stamp and
+ libhogweed.stamp, updated when both static and shared libraries
+ are rebuilt. Used as link dependencies in subdirectories.
+ * examples/Makefile.in: Make executable targets depend on
+ ../libnettle.stamp and libhogweed.stamp, not directly on the
+ static library files.
+ * testsuite/Makefile.in: Likewise.
+ * tools/Makefile.in: Likewise.
+
+2013-09-09 Niels Möller <nisse@lysator.liu.se>
+
+ * gcm.c [HAVE_NATIVE_gcm_gf_mul_8]: Make use of (optional)
+ assembly implementation.
+
+ * configure.ac: Support optional assembly files for both nettle
+ and hogweed. Replaced OPT_ASM_SOURCES with OPT_ASM_NETTLE_SOURCES,
+ OPT_ASM_HOGWEED_SOURCES, and asm_optional_list with
+ asm_nettle_optional_list and asm_hogweed_optional_list.
+ (asm_nettle_optional_list): Added gcm-gf-mul-8.asm.
+
+2013-06-25 Niels Möller <nisse@lysator.liu.se>
+
+ * testsuite/gcm-test.c: Deleted redundant include of aes.h.
+
+ * testsuite/testutils.c (test_aead): Allow digest size smaller
+ than the block size.
+
+ * tools/nettle-pbkdf2.c: New command line tool.
+ * tools/Makefile.in (TARGETS): Added nettle-pbkdf2.
+ (nettle-pbkdf2$(EXEEXT)): New target.
+ * testsuite/nettle-pbkdf2-test: New test case.
+ * testsuite/Makefile.in (TS_SH): Added nettle-pbkdf2-test.
+
+ * tools/nettle-hash.c (digest_file): Use stack allocation for the
+ small hex output buffer.
+
+ * examples/io.c (MIN): Deleted unused macro.
+
+2013-05-21 Niels Möller <nisse@lysator.liu.se>
+
+ From nettle-2.7-fixes branch:
+ * Makefile.in (distdir): Distribute files in arm/v6 subdirectory.
+
+2013-05-20 Niels Möller <nisse@lysator.liu.se>
+
+ * arm/v6/sha1-compress.asm: Moved into v6 directory, since it uses
+ the v6 instruction uadd8, sel and rev.
+ * arm/v6/sha256-compress.asm: Likewise.
+
+ * nettle-types.h: Include <stddef.h>, for size_t.
+
+2013-05-17 Niels Möller <nisse@lysator.liu.se>
+
* macros.h (ROTL32, ROTL64): Avoid undefined behaviour for zero
rotation count. Unfortunately makes CAST128 a bit slower with
gcc-4.6.3.