The unified diff between revisions [7122128a..] and [128d85f9..] is displayed below. It can also be downloaded as a raw diff.

#
#
# delete "authors"
#
# delete "cscope.tmplst"
#
# delete "demos/test/.ccmalloc"
#
# delete "demos/test/test.h"
#
# delete "makefile.cygwin_dll"
#
# delete "pretty.build"
#
# delete "tim_exptmod.c"
#
# rename "aes.c"
#     to "src/ciphers/aes/aes.c"
#
# rename "aes_tab.c"
#     to "src/ciphers/aes/aes_tab.c"
#
# rename "base64_decode.c"
#     to "src/misc/base64/base64_decode.c"
#
# rename "base64_encode.c"
#     to "src/misc/base64/base64_encode.c"
#
# rename "blowfish.c"
#     to "src/ciphers/blowfish.c"
#
# rename "burn_stack.c"
#     to "src/misc/burn_stack.c"
#
# rename "cast5.c"
#     to "src/ciphers/cast5.c"
#
# rename "cbc_decrypt.c"
#     to "src/modes/cbc/cbc_decrypt.c"
#
# rename "cbc_encrypt.c"
#     to "src/modes/cbc/cbc_encrypt.c"
#
# rename "cbc_getiv.c"
#     to "src/modes/cbc/cbc_getiv.c"
#
# rename "cbc_setiv.c"
#     to "src/modes/cbc/cbc_setiv.c"
#
# rename "cbc_start.c"
#     to "src/modes/cbc/cbc_start.c"
#
# rename "cfb_decrypt.c"
#     to "src/modes/cfb/cfb_decrypt.c"
#
# rename "cfb_encrypt.c"
#     to "src/modes/cfb/cfb_encrypt.c"
#
# rename "cfb_getiv.c"
#     to "src/modes/cfb/cfb_getiv.c"
#
# rename "cfb_setiv.c"
#     to "src/modes/cfb/cfb_setiv.c"
#
# rename "cfb_start.c"
#     to "src/modes/cfb/cfb_start.c"
#
# rename "chc.c"
#     to "src/hashes/chc/chc.c"
#
# rename "crypt.c"
#     to "src/misc/crypt/crypt.c"
#
# rename "crypt_argchk.c"
#     to "src/misc/crypt/crypt_argchk.c"
#
# rename "crypt_cipher_descriptor.c"
#     to "src/misc/crypt/crypt_cipher_descriptor.c"
#
# rename "crypt_cipher_is_valid.c"
#     to "src/misc/crypt/crypt_cipher_is_valid.c"
#
# rename "crypt_find_cipher.c"
#     to "src/misc/crypt/crypt_find_cipher.c"
#
# rename "crypt_find_cipher_any.c"
#     to "src/misc/crypt/crypt_find_cipher_any.c"
#
# rename "crypt_find_cipher_id.c"
#     to "src/misc/crypt/crypt_find_cipher_id.c"
#
# rename "crypt_find_hash.c"
#     to "src/misc/crypt/crypt_find_hash.c"
#
# rename "crypt_find_hash_any.c"
#     to "src/misc/crypt/crypt_find_hash_any.c"
#
# rename "crypt_find_hash_id.c"
#     to "src/misc/crypt/crypt_find_hash_id.c"
#
# rename "crypt_find_prng.c"
#     to "src/misc/crypt/crypt_find_prng.c"
#
# rename "crypt_hash_descriptor.c"
#     to "src/misc/crypt/crypt_hash_descriptor.c"
#
# rename "crypt_hash_is_valid.c"
#     to "src/misc/crypt/crypt_hash_is_valid.c"
#
# rename "crypt_prng_descriptor.c"
#     to "src/misc/crypt/crypt_prng_descriptor.c"
#
# rename "crypt_prng_is_valid.c"
#     to "src/misc/crypt/crypt_prng_is_valid.c"
#
# rename "crypt_register_cipher.c"
#     to "src/misc/crypt/crypt_register_cipher.c"
#
# rename "crypt_register_hash.c"
#     to "src/misc/crypt/crypt_register_hash.c"
#
# rename "crypt_register_prng.c"
#     to "src/misc/crypt/crypt_register_prng.c"
#
# rename "crypt_unregister_cipher.c"
#     to "src/misc/crypt/crypt_unregister_cipher.c"
#
# rename "crypt_unregister_hash.c"
#     to "src/misc/crypt/crypt_unregister_hash.c"
#
# rename "crypt_unregister_prng.c"
#     to "src/misc/crypt/crypt_unregister_prng.c"
#
# rename "ctr_decrypt.c"
#     to "src/modes/ctr/ctr_decrypt.c"
#
# rename "ctr_encrypt.c"
#     to "src/modes/ctr/ctr_encrypt.c"
#
# rename "ctr_getiv.c"
#     to "src/modes/ctr/ctr_getiv.c"
#
# rename "ctr_setiv.c"
#     to "src/modes/ctr/ctr_setiv.c"
#
# rename "ctr_start.c"
#     to "src/modes/ctr/ctr_start.c"
#
# rename "demos/test"
#     to "testprof"
#
# rename "demos/x86_prof.c"
#     to "testprof/x86_prof.c"
#
# rename "der_decode_integer.c"
#     to "src/pk/asn1/der/der_decode_integer.c"
#
# rename "der_encode_integer.c"
#     to "src/pk/asn1/der/der_encode_integer.c"
#
# rename "der_get_multi_integer.c"
#     to "src/pk/asn1/der/der_get_multi_integer.c"
#
# rename "der_length_integer.c"
#     to "src/pk/asn1/der/der_length_integer.c"
#
# rename "der_put_multi_integer.c"
#     to "src/pk/asn1/der/der_put_multi_integer.c"
#
# rename "des.c"
#     to "src/ciphers/des.c"
#
# rename "dh.c"
#     to "src/pk/dh/dh.c"
#
# rename "dh_sys.c"
#     to "src/pk/dh/dh_sys.c"
#
# rename "dsa_export.c"
#     to "src/pk/dsa/dsa_export.c"
#
# rename "dsa_free.c"
#     to "src/pk/dsa/dsa_free.c"
#
# rename "dsa_import.c"
#     to "src/pk/dsa/dsa_import.c"
#
# rename "dsa_make_key.c"
#     to "src/pk/dsa/dsa_make_key.c"
#
# rename "dsa_sign_hash.c"
#     to "src/pk/dsa/dsa_sign_hash.c"
#
# rename "dsa_verify_hash.c"
#     to "src/pk/dsa/dsa_verify_hash.c"
#
# rename "dsa_verify_key.c"
#     to "src/pk/dsa/dsa_verify_key.c"
#
# rename "eax_addheader.c"
#     to "src/encauth/eax/eax_addheader.c"
#
# rename "eax_decrypt.c"
#     to "src/encauth/eax/eax_decrypt.c"
#
# rename "eax_decrypt_verify_memory.c"
#     to "src/encauth/eax/eax_decrypt_verify_memory.c"
#
# rename "eax_done.c"
#     to "src/encauth/eax/eax_done.c"
#
# rename "eax_encrypt.c"
#     to "src/encauth/eax/eax_encrypt.c"
#
# rename "eax_encrypt_authenticate_memory.c"
#     to "src/encauth/eax/eax_encrypt_authenticate_memory.c"
#
# rename "eax_init.c"
#     to "src/encauth/eax/eax_init.c"
#
# rename "eax_test.c"
#     to "src/encauth/eax/eax_test.c"
#
# rename "ecb_decrypt.c"
#     to "src/modes/ecb/ecb_decrypt.c"
#
# rename "ecb_encrypt.c"
#     to "src/modes/ecb/ecb_encrypt.c"
#
# rename "ecb_start.c"
#     to "src/modes/ecb/ecb_start.c"
#
# rename "ecc.c"
#     to "src/pk/ecc/ecc.c"
#
# rename "ecc_sys.c"
#     to "src/pk/ecc/ecc_sys.c"
#
# rename "error_to_string.c"
#     to "src/misc/error_to_string.c"
#
# rename "fortuna.c"
#     to "src/prngs/fortuna.c"
#
# rename "hash_file.c"
#     to "src/hashes/helper/hash_file.c"
#
# rename "hash_filehandle.c"
#     to "src/hashes/helper/hash_filehandle.c"
#
# rename "hash_memory.c"
#     to "src/hashes/helper/hash_memory.c"
#
# rename "hmac_done.c"
#     to "src/mac/hmac/hmac_done.c"
#
# rename "hmac_file.c"
#     to "src/mac/hmac/hmac_file.c"
#
# rename "hmac_init.c"
#     to "src/mac/hmac/hmac_init.c"
#
# rename "hmac_memory.c"
#     to "src/mac/hmac/hmac_memory.c"
#
# rename "hmac_process.c"
#     to "src/mac/hmac/hmac_process.c"
#
# rename "hmac_test.c"
#     to "src/mac/hmac/hmac_test.c"
#
# rename "is_prime.c"
#     to "src/misc/mpi/is_prime.c"
#
# rename "ltc_tommath.h"
#     to "src/headers/ltc_tommath.h"
#
# rename "md2.c"
#     to "src/hashes/md2.c"
#
# rename "md4.c"
#     to "src/hashes/md4.c"
#
# rename "md5.c"
#     to "src/hashes/md5.c"
#
# rename "mpi.c"
#     to "src/misc/mpi/mpi.c"
#
# rename "mpi_to_ltc_error.c"
#     to "src/misc/mpi/mpi_to_ltc_error.c"
#
# rename "mycrypt.h"
#     to "src/headers/tomcrypt.h"
#
# rename "mycrypt_argchk.h"
#     to "src/headers/tomcrypt_argchk.h"
#
# rename "mycrypt_cfg.h"
#     to "src/headers/tomcrypt_cfg.h"
#
# rename "mycrypt_cipher.h"
#     to "src/headers/tomcrypt_cipher.h"
#
# rename "mycrypt_custom.h"
#     to "src/headers/tomcrypt_custom.h"
#
# rename "mycrypt_hash.h"
#     to "src/headers/tomcrypt_hash.h"
#
# rename "mycrypt_macros.h"
#     to "src/headers/tomcrypt_macros.h"
#
# rename "mycrypt_misc.h"
#     to "src/headers/tomcrypt_misc.h"
#
# rename "mycrypt_pk.h"
#     to "src/headers/tomcrypt_pk.h"
#
# rename "mycrypt_pkcs.h"
#     to "src/headers/tomcrypt_pkcs.h"
#
# rename "mycrypt_prng.h"
#     to "src/headers/tomcrypt_prng.h"
#
# rename "noekeon.c"
#     to "src/ciphers/noekeon.c"
#
# rename "ocb_decrypt.c"
#     to "src/encauth/ocb/ocb_decrypt.c"
#
# rename "ocb_decrypt_verify_memory.c"
#     to "src/encauth/ocb/ocb_decrypt_verify_memory.c"
#
# rename "ocb_done_decrypt.c"
#     to "src/encauth/ocb/ocb_done_decrypt.c"
#
# rename "ocb_done_encrypt.c"
#     to "src/encauth/ocb/ocb_done_encrypt.c"
#
# rename "ocb_encrypt.c"
#     to "src/encauth/ocb/ocb_encrypt.c"
#
# rename "ocb_encrypt_authenticate_memory.c"
#     to "src/encauth/ocb/ocb_encrypt_authenticate_memory.c"
#
# rename "ocb_init.c"
#     to "src/encauth/ocb/ocb_init.c"
#
# rename "ocb_ntz.c"
#     to "src/encauth/ocb/ocb_ntz.c"
#
# rename "ocb_shift_xor.c"
#     to "src/encauth/ocb/ocb_shift_xor.c"
#
# rename "ocb_test.c"
#     to "src/encauth/ocb/ocb_test.c"
#
# rename "ofb_decrypt.c"
#     to "src/modes/ofb/ofb_decrypt.c"
#
# rename "ofb_encrypt.c"
#     to "src/modes/ofb/ofb_encrypt.c"
#
# rename "ofb_getiv.c"
#     to "src/modes/ofb/ofb_getiv.c"
#
# rename "ofb_setiv.c"
#     to "src/modes/ofb/ofb_setiv.c"
#
# rename "ofb_start.c"
#     to "src/modes/ofb/ofb_start.c"
#
# rename "omac_done.c"
#     to "src/mac/omac/omac_done.c"
#
# rename "omac_file.c"
#     to "src/mac/omac/omac_file.c"
#
# rename "omac_init.c"
#     to "src/mac/omac/omac_init.c"
#
# rename "omac_memory.c"
#     to "src/mac/omac/omac_memory.c"
#
# rename "omac_process.c"
#     to "src/mac/omac/omac_process.c"
#
# rename "omac_test.c"
#     to "src/mac/omac/omac_test.c"
#
# rename "packet_store_header.c"
#     to "src/pk/packet_store_header.c"
#
# rename "packet_valid_header.c"
#     to "src/pk/packet_valid_header.c"
#
# rename "pkcs_1_i2osp.c"
#     to "src/pk/pkcs1/pkcs_1_i2osp.c"
#
# rename "pkcs_1_mgf1.c"
#     to "src/pk/pkcs1/pkcs_1_mgf1.c"
#
# rename "pkcs_1_oaep_decode.c"
#     to "src/pk/pkcs1/pkcs_1_oaep_decode.c"
#
# rename "pkcs_1_oaep_encode.c"
#     to "src/pk/pkcs1/pkcs_1_oaep_encode.c"
#
# rename "pkcs_1_os2ip.c"
#     to "src/pk/pkcs1/pkcs_1_os2ip.c"
#
# rename "pkcs_1_pss_decode.c"
#     to "src/pk/pkcs1/pkcs_1_pss_decode.c"
#
# rename "pkcs_1_pss_encode.c"
#     to "src/pk/pkcs1/pkcs_1_pss_encode.c"
#
# rename "pkcs_1_v15_es_decode.c"
#     to "src/pk/pkcs1/pkcs_1_v15_es_decode.c"
#
# rename "pkcs_1_v15_es_encode.c"
#     to "src/pk/pkcs1/pkcs_1_v15_es_encode.c"
#
# rename "pkcs_1_v15_sa_decode.c"
#     to "src/pk/pkcs1/pkcs_1_v15_sa_decode.c"
#
# rename "pkcs_1_v15_sa_encode.c"
#     to "src/pk/pkcs1/pkcs_1_v15_sa_encode.c"
#
# rename "pkcs_5_1.c"
#     to "src/misc/pkcs5/pkcs_5_1.c"
#
# rename "pkcs_5_2.c"
#     to "src/misc/pkcs5/pkcs_5_2.c"
#
# rename "pmac_done.c"
#     to "src/mac/pmac/pmac_done.c"
#
# rename "pmac_file.c"
#     to "src/mac/pmac/pmac_file.c"
#
# rename "pmac_init.c"
#     to "src/mac/pmac/pmac_init.c"
#
# rename "pmac_memory.c"
#     to "src/mac/pmac/pmac_memory.c"
#
# rename "pmac_ntz.c"
#     to "src/mac/pmac/pmac_ntz.c"
#
# rename "pmac_process.c"
#     to "src/mac/pmac/pmac_process.c"
#
# rename "pmac_shift_xor.c"
#     to "src/mac/pmac/pmac_shift_xor.c"
#
# rename "pmac_test.c"
#     to "src/mac/pmac/pmac_test.c"
#
# rename "rand_prime.c"
#     to "src/misc/mpi/rand_prime.c"
#
# rename "rc2.c"
#     to "src/ciphers/rc2.c"
#
# rename "rc4.c"
#     to "src/prngs/rc4.c"
#
# rename "rc5.c"
#     to "src/ciphers/rc5.c"
#
# rename "rc6.c"
#     to "src/ciphers/rc6.c"
#
# rename "rmd128.c"
#     to "src/hashes/rmd128.c"
#
# rename "rmd160.c"
#     to "src/hashes/rmd160.c"
#
# rename "rng_get_bytes.c"
#     to "src/prngs/rng_get_bytes.c"
#
# rename "rng_make_prng.c"
#     to "src/prngs/rng_make_prng.c"
#
# rename "rsa_decrypt_key.c"
#     to "src/pk/rsa/rsa_decrypt_key.c"
#
# rename "rsa_encrypt_key.c"
#     to "src/pk/rsa/rsa_encrypt_key.c"
#
# rename "rsa_export.c"
#     to "src/pk/rsa/rsa_export.c"
#
# rename "rsa_exptmod.c"
#     to "src/pk/rsa/rsa_exptmod.c"
#
# rename "rsa_free.c"
#     to "src/pk/rsa/rsa_free.c"
#
# rename "rsa_import.c"
#     to "src/pk/rsa/rsa_import.c"
#
# rename "rsa_make_key.c"
#     to "src/pk/rsa/rsa_make_key.c"
#
# rename "rsa_sign_hash.c"
#     to "src/pk/rsa/rsa_sign_hash.c"
#
# rename "rsa_v15_decrypt_key.c"
#     to "src/pk/rsa/rsa_v15_decrypt_key.c"
#
# rename "rsa_v15_encrypt_key.c"
#     to "src/pk/rsa/rsa_v15_encrypt_key.c"
#
# rename "rsa_v15_sign_hash.c"
#     to "src/pk/rsa/rsa_v15_sign_hash.c"
#
# rename "rsa_v15_verify_hash.c"
#     to "src/pk/rsa/rsa_v15_verify_hash.c"
#
# rename "rsa_verify_hash.c"
#     to "src/pk/rsa/rsa_verify_hash.c"
#
# rename "s_ocb_done.c"
#     to "src/encauth/ocb/s_ocb_done.c"
#
# rename "safer.c"
#     to "src/ciphers/safer/safer.c"
#
# rename "safer_tab.c"
#     to "src/ciphers/safer/safer_tab.c"
#
# rename "saferp.c"
#     to "src/ciphers/safer/saferp.c"
#
# rename "sha1.c"
#     to "src/hashes/sha1.c"
#
# rename "sha224.c"
#     to "src/hashes/sha2/sha224.c"
#
# rename "sha256.c"
#     to "src/hashes/sha2/sha256.c"
#
# rename "sha384.c"
#     to "src/hashes/sha2/sha384.c"
#
# rename "sha512.c"
#     to "src/hashes/sha2/sha512.c"
#
# rename "skipjack.c"
#     to "src/ciphers/skipjack.c"
#
# rename "sober128.c"
#     to "src/prngs/sober128.c"
#
# rename "sober128tab.c"
#     to "src/prngs/sober128tab.c"
#
# rename "sprng.c"
#     to "src/prngs/sprng.c"
#
# rename "tiger.c"
#     to "src/hashes/tiger.c"
#
# rename "tommath_class.h"
#     to "src/headers/tommath_class.h"
#
# rename "tommath_superclass.h"
#     to "src/headers/tommath_superclass.h"
#
# rename "twofish.c"
#     to "src/ciphers/twofish/twofish.c"
#
# rename "twofish_tab.c"
#     to "src/ciphers/twofish/twofish_tab.c"
#
# rename "whirl.c"
#     to "src/hashes/whirl/whirl.c"
#
# rename "whirltab.c"
#     to "src/hashes/whirl/whirltab.c"
#
# rename "xtea.c"
#     to "src/ciphers/xtea.c"
#
# rename "yarrow.c"
#     to "src/prngs/yarrow.c"
#
# rename "zeromem.c"
#     to "src/misc/zeromem.c"
#
# add_dir "src"
#
# add_dir "src/ciphers"
#
# add_dir "src/ciphers/aes"
#
# add_dir "src/ciphers/safer"
#
# add_dir "src/ciphers/twofish"
#
# add_dir "src/encauth"
#
# add_dir "src/encauth/ccm"
#
# add_dir "src/encauth/eax"
#
# add_dir "src/encauth/gcm"
#
# add_dir "src/encauth/ocb"
#
# add_dir "src/hashes"
#
# add_dir "src/hashes/chc"
#
# add_dir "src/hashes/helper"
#
# add_dir "src/hashes/sha2"
#
# add_dir "src/hashes/whirl"
#
# add_dir "src/headers"
#
# add_dir "src/mac"
#
# add_dir "src/mac/hmac"
#
# add_dir "src/mac/omac"
#
# add_dir "src/mac/pelican"
#
# add_dir "src/mac/pmac"
#
# add_dir "src/misc"
#
# add_dir "src/misc/base64"
#
# add_dir "src/misc/crypt"
#
# add_dir "src/misc/mpi"
#
# add_dir "src/misc/pkcs5"
#
# add_dir "src/modes"
#
# add_dir "src/modes/cbc"
#
# add_dir "src/modes/cfb"
#
# add_dir "src/modes/ctr"
#
# add_dir "src/modes/ecb"
#
# add_dir "src/modes/ofb"
#
# add_dir "src/pk"
#
# add_dir "src/pk/asn1"
#
# add_dir "src/pk/asn1/der"
#
# add_dir "src/pk/dh"
#
# add_dir "src/pk/dsa"
#
# add_dir "src/pk/ecc"
#
# add_dir "src/pk/pkcs1"
#
# add_dir "src/pk/rsa"
#
# add_dir "src/prngs"
#
# add_file "Doxyfile"
#  content [f598520dc8de8639cf00b6c10068be941f3314f8]
#
# add_file "TODO"
#  content [adc83b19e793491b1c6ea0fd8b46cd9f32e592fc]
#
# add_file "demos/multi.c"
#  content [9fc4054e04be585b24b1d5005840528a7c1751fd]
#
# add_file "demos/test.c"
#  content [71c89230248837771cc5a0534af4dbfe2f2d824d]
#
# add_file "demos/timing.c"
#  content [5ee953004e190ea4799623e5bc9bdca0c9727f4d]
#
# add_file "doc/footer.html"
#  content [71f094156317545aaa2f4e642f05a8c91a7d8abc]
#
# add_file "doc/header.html"
#  content [5666f806e6b87ed588ac1cd9bfbb6757f3d6b034]
#
# add_file "genlist.sh"
#  content [a298a32fb96043b8a8e7d3ed3691e7ca4a98e4b2]
#
# add_file "notes/ccm_tv.txt"
#  content [02f0ca69d572ed7be51eba2e1d925aaff7e92e83]
#
# add_file "notes/etc/saferp_optimizer.c"
#  content [f42419577021e48a5e2522a9041441152c79cd06]
#
# add_file "notes/gcm_tv.txt"
#  content [bebe29d01aef67ad00f6659c21454901b3c45542]
#
# add_file "parsenames.pl"
#  content [0ea305a2de0f95fcf326f98f949a5915e6772346]
#
# add_file "src/ciphers/anubis.c"
#  content [c04797ce5a26527a5c197a85a78150b49e3f0c53]
#
# add_file "src/ciphers/khazad.c"
#  content [96b37e809a38f7101e541dc51597aa126251f100]
#
# add_file "src/encauth/ccm/ccm_memory.c"
#  content [7aa783eee34c730b442067ed54c195012980bbc8]
#
# add_file "src/encauth/ccm/ccm_test.c"
#  content [f535080cb6918bd2958945ef3f6e9aab298cafa7]
#
# add_file "src/encauth/gcm/gcm_add_aad.c"
#  content [edec18cf102a01a941095de5a7142f608ff55c13]
#
# add_file "src/encauth/gcm/gcm_add_iv.c"
#  content [9d4f03deceb813060a907f1e3ac21a31eb8b7d94]
#
# add_file "src/encauth/gcm/gcm_done.c"
#  content [f8aba7c71c1f377728073803f1d5f0be563dd042]
#
# add_file "src/encauth/gcm/gcm_gf_mult.c"
#  content [069b4fd0c7a140948ba1bce6a4fc960ff70a3712]
#
# add_file "src/encauth/gcm/gcm_init.c"
#  content [9a14fe8ea735d8d60fa37ea432e4ce56bcc9fa36]
#
# add_file "src/encauth/gcm/gcm_memory.c"
#  content [d7f897fe165231a790613d85f1433be98af84405]
#
# add_file "src/encauth/gcm/gcm_process.c"
#  content [9ba906686befe29b4a26a6863900d02cc8e51852]
#
# add_file "src/encauth/gcm/gcm_reset.c"
#  content [f1547db92cc5232fde292dcb29c42f955f18b01f]
#
# add_file "src/encauth/gcm/gcm_test.c"
#  content [f6e9a41af3688ae1b07c06fcea403087a17538e5]
#
# add_file "src/hashes/helper/hash_memory_multi.c"
#  content [6eabb84a9920bda9e1c9baf0ebeb96f673d124db]
#
# add_file "src/headers/tomcrypt_mac.h"
#  content [d32a763272f2ecdccae2479bcaf14b3fc389d4ba]
#
# add_file "src/mac/hmac/hmac_memory_multi.c"
#  content [18fb26628b34b1fe3dcd528c8f4424c7e4cdbc51]
#
# add_file "src/mac/omac/omac_memory_multi.c"
#  content [ff4437278094f3a6bbe64311d4af2c68fc0481fd]
#
# add_file "src/mac/pelican/pelican.c"
#  content [fd5e3a0d7d0d04b5e8606a095087e7507f7bf2fa]
#
# add_file "src/mac/pelican/pelican_memory.c"
#  content [1b51066303bbbe1a513f9cf20a13534f47057152]
#
# add_file "src/mac/pelican/pelican_test.c"
#  content [75b1e1ff21eaf78a25fd43558491422ce37ed4db]
#
# add_file "src/mac/pmac/pmac_memory_multi.c"
#  content [b4c924de487f09e6ea30adcb33dcc0bb8478c113]
#
# add_file "src/modes/cbc/cbc_done.c"
#  content [30128d5ca583a558618dbf1ad7f09a1331d45d2e]
#
# add_file "src/modes/cfb/cfb_done.c"
#  content [b4f30dcca617aa14d75cc42983e4c16c9a1ff4e3]
#
# add_file "src/modes/ctr/ctr_done.c"
#  content [0c5cdc744e32054cdb79ca435507f99c8268e0f8]
#
# add_file "src/modes/ecb/ecb_done.c"
#  content [ec87a5d64790f194b263bf1c0c5b34a16f56b4f3]
#
# add_file "src/modes/ofb/ofb_done.c"
#  content [d4c90fbd88a6ddd83642dd3d1cd6f17fcc372bb9]
#
# add_file "testprof/tomcrypt_test.h"
#  content [c59d99d3c98d1c4c67f5bd30bb3a38b36c3d4bfc]
#
# patch "LICENSE"
#  from [eca43057ab3be562228bb45916bbf8d98d1e3e83]
#    to [508b945e292ebcd6336b50138bfaeac376a24db2]
#
# patch "changes"
#  from [882a062d1ecf5232c77dbe00c3f55b76d0a5d29e]
#    to [7af48b0b984f9514858fdecdcbd38ff95460a4f4]
#
# patch "crypt.tex"
#  from [15acf384b690ef5e0a79d9ee38ecb90526f7961b]
#    to [167807069423bd360720c6321abfc3a08be769f4]
#
# patch "demos/encrypt.c"
#  from [cacd9497c33c1eb9e5bd0eee953816c83819fb5b]
#    to [8f22401767e5b4048960ddb3a74e7f147d6f03d1]
#
# patch "demos/hashsum.c"
#  from [6afc211a2b259f082078a0e245e1b2ad9034bc8c]
#    to [8ab6e72a6c240058547f3b5b575df3dbb8235e55]
#
# patch "demos/small.c"
#  from [440bca5f72e64be156dbc6485f6068ce0fe8b794]
#    to [8cb3a0d305ad5e6bc5646bd6f5ce2bca54be7c87]
#
# patch "demos/tv_gen.c"
#  from [061df0614f2ee49ddac7a93fe576bfa5c91551cc]
#    to [366667c4d035cfb459b521ac81000cff564b91ba]
#
# patch "doc/crypt.pdf"
#  from [60e46b25f1c6aa1cd127f7d49028adb3599ac847]
#    to [a5f4e25af6e9cfd9e432ffa96ac4099bf293900f]
#
# patch "makefile"
#  from [de168434fc743f4e20f25ed14364a0d52a265493]
#    to [dd371526bcf57fc37173d4f5df1913682c48d681]
#
# patch "makefile.icc"
#  from [e05eed626e13bcc2192859f3b99f6f6852ebc99c]
#    to [074ce8176358d32c84ea8e7cbb9bca86b9d3ce6e]
#
# patch "makefile.msvc"
#  from [32b6e91d75a0ed5956b631c3c11cd1fc1c3f28b4]
#    to [cd11b38cbcef129bbafa9abaa574145c7f5a0547]
#
# patch "makefile.shared"
#  from [c26c1fe05f858a1768dd9c054f7b520244842539]
#    to [23206ff50cffc853039a6f6f612e7e90de5bd816]
#
# patch "notes/cipher_tv.txt"
#  from [f8dae5c2cf748df324315c5347b092e5b8fcc3cc]
#    to [e9125a62dd9309cb1ea31dd82f20e5f06651c3ee]
#
# patch "notes/eax_tv.txt"
#  from [06385b44fd3e0164310a28ef335090b03ec21bda]
#    to [631a9fa96aea11c1cd4c3b60e5ba925d3ed9a630]
#
# patch "notes/ocb_tv.txt"
#  from [edd596575e75a87532b5a8d58e266cfb9d41a63f]
#    to [f56bd00eafc2ebe3ff38d10f097763027a5e59f4]
#
# patch "notes/omac_tv.txt"
#  from [4a4d2c99a6724278c0a5ba18f6e707127a7d3597]
#    to [c9b59640d6f464770f304ad7c5ad5a79b875a6a6]
#
# patch "notes/pmac_tv.txt"
#  from [beb8e58b7961cc01ff8d253b9c96166cb2b1c1ef]
#    to [a055d18af7f95091c0a6c9e567ec04282210c862]
#
# patch "src/ciphers/aes/aes.c"
#  from [220e35e84f3ce17148487e309cf334b4babac3e4]
#    to [17f95bf5e970bb47d16be888ccdff59e4ecf5ab6]
#
# patch "src/ciphers/aes/aes_tab.c"
#  from [8d84d7ccee23e01c4a8f876735478b5a44d4bd42]
#    to [6aa40d26867375630eeda1aa3160e339b55854d5]
#
# patch "src/ciphers/blowfish.c"
#  from [7a60c1cd06fde4cd386a62b52c7f7ee504d105cd]
#    to [99e204350bcc18510b36c75be0e27c55941cef58]
#
# patch "src/ciphers/cast5.c"
#  from [86bb93c7a428a08c2dd173081c853cc7777b3412]
#    to [ca59e3ce578fdc040a7660b0dbfc7002ab9e3bbb]
#
# patch "src/ciphers/des.c"
#  from [50701231dd0dfc48d0278d642d33d28d240b0352]
#    to [347308d34b8fe3dfb5dd8962ed79bf97210ce335]
#
# patch "src/ciphers/noekeon.c"
#  from [d7167e8d8e8cfbfb28eac139e1a12ab8478a21db]
#    to [69e2e18530ed08da686c76e9dd18a0f8df38d87f]
#
# patch "src/ciphers/rc2.c"
#  from [51b343f7a22ec11f9bf7e81ddd08f80690a21281]
#    to [b1194f27b6ee50677a893071175db30a71baa71b]
#
# patch "src/ciphers/rc5.c"
#  from [a02e6da944f38ff36ee6caa60fee9f2138a86d28]
#    to [49855e75e932d84796f5b0ef964fd4add0a9e4e1]
#
# patch "src/ciphers/rc6.c"
#  from [ce8f7c46436a86d471002b689ce31c95aee14183]
#    to [f243097cc834a80e6c43b07f868cdb493618df9c]
#
# patch "src/ciphers/safer/safer.c"
#  from [571359ff3cbfddb43c12675a7d6ecb4fd6969252]
#    to [159880031f6347201b42439b3a032e3415c890ee]
#
# patch "src/ciphers/safer/safer_tab.c"
#  from [4d6f92885751487cc0708707cf982beedf75235f]
#    to [87f524d91ffa56751b05345283849aaf100f94ca]
#
# patch "src/ciphers/safer/saferp.c"
#  from [1c617cfd7e20d499193ec1137e2c50059d13ea02]
#    to [205fdd6569426b767b947aed9438a069d57ed2a1]
#
# patch "src/ciphers/skipjack.c"
#  from [b327a0289d14db97f9ef66ef7208f8b7ce4491d2]
#    to [30515990e0e4f115c76656dde232cd60617bc2e9]
#
# patch "src/ciphers/twofish/twofish.c"
#  from [7b8500deb59d5402d924b48993d5d2b8022c6f9d]
#    to [aa841a471f63a0a41b82aacf16953f77369d2829]
#
# patch "src/ciphers/twofish/twofish_tab.c"
#  from [38a98159689f390c37fec13ab751be201de0694a]
#    to [22a405fe6a7757eeb2125e03c0065347977327e5]
#
# patch "src/ciphers/xtea.c"
#  from [ba5df367ddfce00e1eb2428d0570d497029bee4a]
#    to [ec8bb1ac97b4f6b7783f60122f78fdd5328f7aa9]
#
# patch "src/encauth/eax/eax_addheader.c"
#  from [ef6242901e0cad156128435e76b5aaf40b208683]
#    to [54da61b70a12678e19f6cf32ce64b9db5d451c2e]
#
# patch "src/encauth/eax/eax_decrypt.c"
#  from [1938c0f99a0165813bb2583f8945e12629d130db]
#    to [30f72b465671c0ac5f7071704cd280cc24e1f119]
#
# patch "src/encauth/eax/eax_decrypt_verify_memory.c"
#  from [6ace18d4e945448cb43765403d97bfc593a40edf]
#    to [0334f04351aed94c93b40d15bd7988f79b83ee81]
#
# patch "src/encauth/eax/eax_done.c"
#  from [1aa499959ad3458850aff37c0f8fd291a0ca5b15]
#    to [b0d6517ecfae1e30271c2a0b01194d519496bc07]
#
# patch "src/encauth/eax/eax_encrypt.c"
#  from [d604b26eb655decb8b96ada7c941ad8af28cbddc]
#    to [e811ec77026bcd707697e892020009b1d303c316]
#
# patch "src/encauth/eax/eax_encrypt_authenticate_memory.c"
#  from [b3ce53d2b746c6e960e2eeb38ec462562715c64e]
#    to [859a24ee147d4f621228d477ec19a6fbbdf84d4a]
#
# patch "src/encauth/eax/eax_init.c"
#  from [9786589fc69269dddfd0c66b945476c842906e97]
#    to [994a1a1904574e5e29862ae5ff8ffc0e3ad1e35c]
#
# patch "src/encauth/eax/eax_test.c"
#  from [5ab2def47b840be1dfc8ef3e9c47f3a7873a4a21]
#    to [569e6af97711a030ad120c230ac2a82f84f99258]
#
# patch "src/encauth/ocb/ocb_decrypt.c"
#  from [d36abea76b375107933ed6e71564de088a203682]
#    to [fa8be4e45994c0acc5d298d8917681f66778d38a]
#
# patch "src/encauth/ocb/ocb_decrypt_verify_memory.c"
#  from [09164c93ae9aa70158dd910cda50956c9a564ca2]
#    to [6a3a72959384d484b69247063d8c081e4732ca76]
#
# patch "src/encauth/ocb/ocb_done_decrypt.c"
#  from [6b26c2531d60bfc5a584b331727bf6d3dcb9aef4]
#    to [5d0c1fb4cff9ce7ac8d4d5bfa6465707f20dbefe]
#
# patch "src/encauth/ocb/ocb_done_encrypt.c"
#  from [026f6ed3478d8284dc0ccef9ce4782e5de73c963]
#    to [3b3730f538929a5df9e8308897d0975df24cd3a8]
#
# patch "src/encauth/ocb/ocb_encrypt.c"
#  from [90cc7d949f2310ea70dfca1524503c519b16de8f]
#    to [4696aacaa626f3ebddd41c6af12ec6a5a1c6d571]
#
# patch "src/encauth/ocb/ocb_encrypt_authenticate_memory.c"
#  from [30a664265e8a7ea76b41fadef9ff4892a8dbc65e]
#    to [cbc1afc1d30a5fe827ecd8834cb7e571cd1b6d94]
#
# patch "src/encauth/ocb/ocb_init.c"
#  from [6845ae90f79809b022ab2673378dd1246206089c]
#    to [a428d6e911235d71f2f0e4ffef1ecd7caddd71b5]
#
# patch "src/encauth/ocb/ocb_ntz.c"
#  from [a5245424093cb4130d7af35973392317f62ff2cb]
#    to [d7e1b3355be90137006f64a2af7a34b4eacfc693]
#
# patch "src/encauth/ocb/ocb_shift_xor.c"
#  from [9e1be19958cb5271b9d8df5bb831967065a2309e]
#    to [9df2150677e0abcc57a357c69d8b344e6f97b4f3]
#
# patch "src/encauth/ocb/ocb_test.c"
#  from [bfb15bd1cd852f8f9e91e081546ee5dd1ba1bb0e]
#    to [22cf7cbe500b1b52d5825349cb578b962eb37aae]
#
# patch "src/encauth/ocb/s_ocb_done.c"
#  from [9f1445a16e27f7eef094c38110b91b1a92027cb5]
#    to [76d936faff9dbc74cbd0074835188dd56044086d]
#
# patch "src/hashes/chc/chc.c"
#  from [344dbea369ff1efd172cae215ebdebfd03d48896]
#    to [e84fa8757fd857ba0dcfcb4ffb605c4142cdb2e6]
#
# patch "src/hashes/helper/hash_file.c"
#  from [164e91fcd7b57df48ee3d9fa7c42aa7785d681c5]
#    to [5c7382f84dde857ae229cfb1880eeeab74ffe93b]
#
# patch "src/hashes/helper/hash_filehandle.c"
#  from [b362ca96f74c7b0744561c6c067b23023f8e1838]
#    to [9acb233f5fdfd4cc83accb0c6bfea04053caa53c]
#
# patch "src/hashes/helper/hash_memory.c"
#  from [5d553c4db1adbf5257a655c0e9d2ef6a20f23a5b]
#    to [54854ef926cfeb7596071b8c986d1507281b1fa9]
#
# patch "src/hashes/md2.c"
#  from [8e60ddbef9d74511f697d73e1a0e5b78dc507e54]
#    to [635eca4de00349c7fa5b9e318ad0664b3755010e]
#
# patch "src/hashes/md4.c"
#  from [225dfc5fe6bbba2cd23b5cb43c04a5f48081f95e]
#    to [ac21a62167a7c87186007e570f4e6109a5f69ae3]
#
# patch "src/hashes/md5.c"
#  from [abecf8a85d63217c556f52977f652da55d9cf253]
#    to [e80689df83c9bd087ba1b23c0784a93d931f2856]
#
# patch "src/hashes/rmd128.c"
#  from [f6c9237170b751ad4a585a6861eef50384987416]
#    to [46d2298e5b48a6d766472eb66f12ec5155bf6c0f]
#
# patch "src/hashes/rmd160.c"
#  from [3447dc2b5a7de025b5d99ab847d49472e3a2a4ca]
#    to [d5dc3993de901e20e76ceb5fb8b7326a5ec903d5]
#
# patch "src/hashes/sha1.c"
#  from [12c92c03463df7c4d67a5ab9ccc18b873ece9876]
#    to [ff29f923f6a46af956cc2fa13141dc19dc175744]
#
# patch "src/hashes/sha2/sha224.c"
#  from [16a4a1a143176c2c7cfca52d41053dc1e7267a87]
#    to [4c2aa772ad27f88b5ce05cb8f16fd7ccb2007e54]
#
# patch "src/hashes/sha2/sha256.c"
#  from [726569abfd3b2adb78e2aaccf6ff1b2832333c27]
#    to [2e4eb8930b8dd053a87c8d339825ed4bfb1dbf54]
#
# patch "src/hashes/sha2/sha384.c"
#  from [fdcc38569babb679f338f333c4bb2e56a1aaa3f2]
#    to [0a376f4f101f8fb1168d5d88fbe14630480c4807]
#
# patch "src/hashes/sha2/sha512.c"
#  from [f44af5592aebe647b9191ba7167cc148f4a3d3a6]
#    to [f3270b310e6e7991c123c6598f5266f5fc2d070a]
#
# patch "src/hashes/tiger.c"
#  from [9d2c47bc4e792af7f42e010f2bb4db20203217da]
#    to [f6cc0cbb334efa0fa5b54f5f93ace0c3ff91a6d1]
#
# patch "src/hashes/whirl/whirl.c"
#  from [77b04490d58dd99d65245daf52d7538f9a053716]
#    to [dba6eede1bab0e1d91dc9a63dd3dafb52e02a28f]
#
# patch "src/hashes/whirl/whirltab.c"
#  from [c75a4e0b7f7f4b6a994e52d650d0f77420e98d0d]
#    to [618a74a7e1d8114985486557e5258276e02dce67]
#
# patch "src/headers/ltc_tommath.h"
#  from [d7e663fdcde877eb8c7d2656af2ffe5129a42d37]
#    to [dd8f0170439f781295162b36a085638aee7e6574]
#
# patch "src/headers/tomcrypt.h"
#  from [4e674b28d20253adf5646fc566a58d0c2ec4a325]
#    to [1b11f54fefaa86a7bb79cea73864949e4f715551]
#
# patch "src/headers/tomcrypt_argchk.h"
#  from [3ec41595332c1dac42d281d5ac7e3dae9bb06099]
#    to [edb91e50137d2749e5408cd81c46c655addb7216]
#
# patch "src/headers/tomcrypt_cfg.h"
#  from [3248d70434cf0a641ec710aa62b3563c0de2359b]
#    to [00f8eeeb65e6e41e7eb82c753d5df50dd2558bb7]
#
# patch "src/headers/tomcrypt_cipher.h"
#  from [a654f2413271c3eb1e64e9fd31e56c2ba0da0b62]
#    to [f64337b619123bb38dd6d1ce6395d7edcc103cfb]
#
# patch "src/headers/tomcrypt_custom.h"
#  from [b08989ba439ba05005cace6b2e7673e5753a195b]
#    to [f9eedf13846beb77e6f8239dab91cb3ee8b489f3]
#
# patch "src/headers/tomcrypt_hash.h"
#  from [46df185acbf3b49fec53b7c772ce02102e07ec7e]
#    to [651df488cac70df27c536395f7c6dd8f32d8f7d3]
#
# patch "src/headers/tomcrypt_macros.h"
#  from [393cc0fdca833c926bd6048d31d617997d539916]
#    to [c3d4a6951627f8948958a7b52d1eec8edd63de33]
#
# patch "src/headers/tomcrypt_misc.h"
#  from [ed450b55ff37463d112c48b19208df7fb5eefcb6]
#    to [2e32eec0844c6aab3c447e344f539dae2888bf1c]
#
# patch "src/headers/tomcrypt_pk.h"
#  from [cd373d7f826907d5b389a81acb29e79b24ee12e2]
#    to [ee3d17e4ab485b9a69da6fd246ef07ad66d3eb0e]
#
# patch "src/headers/tomcrypt_prng.h"
#  from [f8a2211722e3d622ec697548d96a92fb75f0f869]
#    to [e1833b46a52910b766a378ea268c70995e76191a]
#
# patch "src/headers/tommath_class.h"
#  from [ba7e03308f00f45bb418111c13e4641666f6abbc]
#    to [a91c35ab0e5d115c16d6c6c9f6a107d22ee31d55]
#
# patch "src/headers/tommath_superclass.h"
#  from [4242a39ad4b5450020d11ee1d174116e9bc58f97]
#    to [47527ad5ee97a9524e14b307da9796293b1f586f]
#
# patch "src/mac/hmac/hmac_done.c"
#  from [e576c470f503f7a2dc06524562cd3dcbf807d1b3]
#    to [4cf1736e9f5b8eae8157a1d1ed75550862a7f9c3]
#
# patch "src/mac/hmac/hmac_file.c"
#  from [3b6ab54b554d61be3fa1e746204cce08ff8d5c89]
#    to [d0dda234c1119734c21a153e0501b484fba34b5f]
#
# patch "src/mac/hmac/hmac_init.c"
#  from [3431d5cd39efc79da1c67035cf08b50d934e6c03]
#    to [bc94183b075988f8b2c06f6e270a0da0d7c2122e]
#
# patch "src/mac/hmac/hmac_memory.c"
#  from [fca5fe554292b3fdcf85acfcfb8c36d0ec4a711c]
#    to [2d49bba01a1826af0cbefadc0e7673a2f58cff38]
#
# patch "src/mac/hmac/hmac_process.c"
#  from [596bfa1dd6b84f8b5b15b503be59933b518ed8ab]
#    to [416afc863d3ff74d528855802c3e3db76782907c]
#
# patch "src/mac/hmac/hmac_test.c"
#  from [e89e072b634be11523261b14a030c905c5f86330]
#    to [64ea8b7e74f63276f06cb23a807b786a3f890a14]
#
# patch "src/mac/omac/omac_done.c"
#  from [ef87d640e731dc8dbd03c665b102cafcb7e5316b]
#    to [0f5c7fa106f551baf73708a333819e9c06389ea5]
#
# patch "src/mac/omac/omac_file.c"
#  from [2afef1699a4fbd0a07ed0963ae488c6459b34c26]
#    to [e19e6ca6f578697660a926af09a282a84f705033]
#
# patch "src/mac/omac/omac_init.c"
#  from [62655c75960396cd8e3e6ac7f8362ac7168fbf4c]
#    to [e5494ef2fa438568140ae84c1662fece231292c1]
#
# patch "src/mac/omac/omac_memory.c"
#  from [e4ddc0f7fc6372957558b376c375089bc643e7a1]
#    to [34e98ac77e9b27fb46fc17c9ba844cae8854fa9f]
#
# patch "src/mac/omac/omac_process.c"
#  from [c0ddffaa0974c1a8e5ef343af1f6e2c105fd4302]
#    to [98e14fd297795a16d5848a35a4ae5abfb7a4e423]
#
# patch "src/mac/omac/omac_test.c"
#  from [766ccf2d772b33b204f9c307cbac9ca79f921962]
#    to [249568fe334d3d6959e328b606cd00255bfd6c59]
#
# patch "src/mac/pmac/pmac_done.c"
#  from [ef8714d92c6a7795a9193d9286134912d40862a5]
#    to [facd4596a001a3e8d0bf090fd42257772b8a749f]
#
# patch "src/mac/pmac/pmac_file.c"
#  from [5b27072710aef3a82cb40c762531cbaaead77d2a]
#    to [560d3c5982590cdc922b1b48afe2ef60c1759c13]
#
# patch "src/mac/pmac/pmac_init.c"
#  from [e30fa3ee074a8a3874125a5ea9e98f1f36d76ad1]
#    to [248a7874f5d4de42b15bee4d9d623f88e65243b9]
#
# patch "src/mac/pmac/pmac_memory.c"
#  from [fc12a2c3524e4fda9359162ee84535ce25d4d35f]
#    to [3b7fdf9029a92e8153f57e86bf190a66bb517dd5]
#
# patch "src/mac/pmac/pmac_ntz.c"
#  from [f8896e2a63d0aa5fef2d72d5df02d3bca5bd08e2]
#    to [32735d3c542079e238e82c437a2555843f09038e]
#
# patch "src/mac/pmac/pmac_process.c"
#  from [19fe9157daf818f632a849e28f9ddd7917ab6667]
#    to [911818803695bdd7640a944293294981791676b8]
#
# patch "src/mac/pmac/pmac_shift_xor.c"
#  from [5ed633d51fa3cc18e33d83648056a625e6ced735]
#    to [35150cfa2c1f46fabdec097c3a50631f9b7c646c]
#
# patch "src/mac/pmac/pmac_test.c"
#  from [9d89604d123c22b1b5d7c635cc556ec3ff7bdb0b]
#    to [43b056a1ffb3767148c33c8b69dbb670bc8f1c83]
#
# patch "src/misc/base64/base64_decode.c"
#  from [49ccbccfc3b994abf9539af29b18d0d37991e060]
#    to [1234d08a6b8e62f9404656f94cb37667a704822d]
#
# patch "src/misc/base64/base64_encode.c"
#  from [41306437f35d6fd1a1462446b9b9967237a4572d]
#    to [a0c2917fee5a620ea834bc583366fb5e76f47be0]
#
# patch "src/misc/burn_stack.c"
#  from [d0cf0fe0df8c60bbc9776df33875c42429f93401]
#    to [a612253210fe6b15297cb1e16edb7056289c4fcd]
#
# patch "src/misc/crypt/crypt.c"
#  from [42cb3b6eca442eeacff788529d56fe5013839ac1]
#    to [93b6ca9cd472e760b66c291693fc4335eae47d4c]
#
# patch "src/misc/crypt/crypt_argchk.c"
#  from [d5fc8b797f1eb724eb6dcf88d2725e9b0db01233]
#    to [d8d16e6b3218d44f631b7d4953ad16c27bdaccf5]
#
# patch "src/misc/crypt/crypt_cipher_descriptor.c"
#  from [71a8898598165f89bba6aa0223301954e46df852]
#    to [128f8116648e023b15024995f9ed4916ce9672e8]
#
# patch "src/misc/crypt/crypt_cipher_is_valid.c"
#  from [87d3564c70eebe120547085c3df7f9eca7361270]
#    to [7b797c8118241891e75a5d24a17cfbc74987b4bb]
#
# patch "src/misc/crypt/crypt_find_cipher.c"
#  from [bc923fa8169affeb2a4ab79fb2125948b46969ed]
#    to [de5cb0722faabf8c7f229296108959875f68ca28]
#
# patch "src/misc/crypt/crypt_find_cipher_any.c"
#  from [d17e11b94ba6a749254287894a91d6f9a8482e44]
#    to [e84adb7c2d8c2586dd111b918d16d191be154e13]
#
# patch "src/misc/crypt/crypt_find_cipher_id.c"
#  from [7b506d0615d6623dfe08b00cc16db7f69d005c3d]
#    to [1d07300a2f76095c916c695f2e0435cc94e36ffe]
#
# patch "src/misc/crypt/crypt_find_hash.c"
#  from [f76c18025cbcf46bc352092b97f72c028391af5e]
#    to [1a55324ea7bedb47fea8a1db9071310b8f632948]
#
# patch "src/misc/crypt/crypt_find_hash_any.c"
#  from [660c414f829cfc492b5898c1ae6dba87016bd5ab]
#    to [da3dcb6ffc03fa5126909be763c86cf5c3a6f51a]
#
# patch "src/misc/crypt/crypt_find_hash_id.c"
#  from [1780dcad9d594be07a6dbbbc132993ca5f7191db]
#    to [aa68c34f6dff090d85d7e7d0a7bbbe5ac667ef59]
#
# patch "src/misc/crypt/crypt_find_prng.c"
#  from [cbaf0bf3b07a1c03bf0c0327f3c41321d23353c4]
#    to [bf07beaf5c13dd60bf5d1ef16a585a87b8bcd975]
#
# patch "src/misc/crypt/crypt_hash_descriptor.c"
#  from [4afc0dec08ae027f08ea05a25bd3feb8d0b4f7bc]
#    to [31cbe8deb690142c3037bde1dd0e5536ea6a4b5b]
#
# patch "src/misc/crypt/crypt_hash_is_valid.c"
#  from [9c6a521e5f28f2483382d0448e1183a9a950d72e]
#    to [e0f6732986e4f9d9b6383fbe0bf451cc0bd12c3c]
#
# patch "src/misc/crypt/crypt_prng_descriptor.c"
#  from [3fd4fdec99aafe1fb56a0c42c3756f21d613d7ad]
#    to [463cc3a1c94ceb1a33d0bc26adf45723ddbf5c92]
#
# patch "src/misc/crypt/crypt_prng_is_valid.c"
#  from [796eeeffe481eb08358c2658c551d1aab0f510a1]
#    to [d668c3c1a0845bdcd3283ad30e1c6b02c7cc17b7]
#
# patch "src/misc/crypt/crypt_register_cipher.c"
#  from [23f86a39950e8d0cf45576691529835c51a8d699]
#    to [35fa0aaedf4a678f795b3f6a81c2c6432e1a1020]
#
# patch "src/misc/crypt/crypt_register_hash.c"
#  from [e6ede4efe3742c920fa5550e56d2ffd6a918ff9a]
#    to [ffe4cea6e07bd8cc2edc3ebdd480daccba064496]
#
# patch "src/misc/crypt/crypt_register_prng.c"
#  from [90b85439cbfc9662d6e0536cf8ff6c093eebb0c3]
#    to [61e163ab3ab26886f7a0d9eb2ed65f2b1f5de7bb]
#
# patch "src/misc/crypt/crypt_unregister_cipher.c"
#  from [419f32d16de0c11d5f719390fa8fdce9c8c0539f]
#    to [92980848872076139f662b987a3fafb2c538bb6e]
#
# patch "src/misc/crypt/crypt_unregister_hash.c"
#  from [2adb78fd5cdcfc7ea7a6d369ac75d31ef50f62cf]
#    to [acdbdfc8d6df9dc16ae3f48f1d4eafba334b348c]
#
# patch "src/misc/crypt/crypt_unregister_prng.c"
#  from [63be532cc3f25df9347597bdb9f8af57d3995bf8]
#    to [37a0739cc9aef8471043ccb92f73a13709cd05d2]
#
# patch "src/misc/error_to_string.c"
#  from [4b53223659cd11cfedabf2dbd1ac1f00064ec812]
#    to [44d80375b9e86aca6148c8236b34eefdbd8fcfe4]
#
# patch "src/misc/mpi/is_prime.c"
#  from [fba76e22f66b4f36cb45b84d7ba7aa45f1223b08]
#    to [f90368f0eea64fb7d8294580bb4a13f6e912717c]
#
# patch "src/misc/mpi/mpi.c"
#  from [69037564518a1c6f7fb1333417b24d57fe16460c]
#    to [ab13c07c2e96196f80fb546063e70cf4d1e6b969]
#
# patch "src/misc/mpi/mpi_to_ltc_error.c"
#  from [7d237900c806bdaf1b45494089d37020aa4051f9]
#    to [12426967cef16802c06111345a0a00ff131554cb]
#
# patch "src/misc/mpi/rand_prime.c"
#  from [716723552a2ccc6a70d253135151d4595825359a]
#    to [56895c9c59102fea0554f586507a6e5e71e98e01]
#
# patch "src/misc/pkcs5/pkcs_5_1.c"
#  from [e65797cd2e318a2977151cebb66a562f721cf7b4]
#    to [5fa7e88b321abdc133e2bb8d0906c8aedd7d0bf0]
#
# patch "src/misc/pkcs5/pkcs_5_2.c"
#  from [d70cc4da325150dcf5ab7f4a2a606107a35c54ef]
#    to [70fac0e375dcf0ab0ea3ebdd27b6c3bd4c465fb9]
#
# patch "src/misc/zeromem.c"
#  from [65274ac7cadc50f41d031543f4468c6950651218]
#    to [8d923cd228e0bd3624f95ecf70ad4c0845512d7f]
#
# patch "src/modes/cbc/cbc_decrypt.c"
#  from [290fb8f65b1037f8479d118dd94340458eeaed8d]
#    to [26c4cb70ca3990284d7c7279efa54050cebc4df1]
#
# patch "src/modes/cbc/cbc_encrypt.c"
#  from [f7a8ee79312f4ed4fdc864f7dd46eafa096a8203]
#    to [9b66bfa3b7f59a72e721ab13549d44268fd973cb]
#
# patch "src/modes/cbc/cbc_getiv.c"
#  from [f96057b9e6f0b633ce73375a06f0010297737f61]
#    to [5d66bbe0024a84042e7c40a154f3396d5117949d]
#
# patch "src/modes/cbc/cbc_setiv.c"
#  from [d1ba7758000adbdb6b0db11df4b0ff36f6e68194]
#    to [e4b7c01a6b7483ac0a088f4cf2ed05cb3fa21645]
#
# patch "src/modes/cbc/cbc_start.c"
#  from [ddec855ac3df281dd730c1b00cc6afaa261bf450]
#    to [759e39ab6e48aecdfd859d0304939fe5d99c66d3]
#
# patch "src/modes/cfb/cfb_decrypt.c"
#  from [7acd9462cff157796dd3985cab22ed034d4e4719]
#    to [11493900d8af922cd2bff4ac35736ac164221589]
#
# patch "src/modes/cfb/cfb_encrypt.c"
#  from [fd31d42c8a102268ebd31d6cab7b53756eafac91]
#    to [92a48265c262d030ddbc33a52389c96efa8e3951]
#
# patch "src/modes/cfb/cfb_getiv.c"
#  from [4d39bdf2be040bcd81678dabc3a29f35f4a4bba5]
#    to [fdc28b694bb32f3e8c4268fe0d77d21e63381038]
#
# patch "src/modes/cfb/cfb_setiv.c"
#  from [639e29970bb27da0715e6c70eb528e3b6f6aa749]
#    to [914640893997bda295b76b0b00910c8933eb1746]
#
# patch "src/modes/cfb/cfb_start.c"
#  from [26504f879ea692e9dc9a8c5740742e41b32fdb6b]
#    to [0322866d5549c92af8af4f021f3d846621c99bc1]
#
# patch "src/modes/ctr/ctr_decrypt.c"
#  from [a0963f9ecf86df5992704cc8d0df2297f7736845]
#    to [2a65bcbcd9b291e6f88214ff8b2542c9ad81b489]
#
# patch "src/modes/ctr/ctr_encrypt.c"
#  from [95d1d7c5d3a1fbaf24dc7655d10901fff1e98530]
#    to [edca09fecfa62ef9efad01f2f105e5a0ec83cf0c]
#
# patch "src/modes/ctr/ctr_getiv.c"
#  from [9667478f68a5f030b2f8eb81daea34633b1bda4e]
#    to [ed2e6a9794de7e1cb06aaee7a96de37769ac250f]
#
# patch "src/modes/ctr/ctr_setiv.c"
#  from [045b964c401f388f12e1620e7e88e47542e31935]
#    to [8e4ebee2d13ddb2cd06c87bd70779ce1a94b0fef]
#
# patch "src/modes/ctr/ctr_start.c"
#  from [e5ec03b7bb554c9bedbbdecb3e932874957fa953]
#    to [1d6d95c609864ff54af4c190143aad5f94637f38]
#
# patch "src/modes/ecb/ecb_decrypt.c"
#  from [92321c1426f8be007eac0df4caf7635cbb5e216f]
#    to [80bbc43f117ec8c86c5dda102e122f3cb53dd81e]
#
# patch "src/modes/ecb/ecb_encrypt.c"
#  from [cd87943d90f32a2fd5f8cf9b34ebd1548881a05f]
#    to [e434144bb08b2ca984a3c487a4560773b7c215fb]
#
# patch "src/modes/ecb/ecb_start.c"
#  from [06a805a4973c5fcc05301744e5a708765f7e4943]
#    to [3676c0039ec13f09585eb6c77fab54eb21fefe10]
#
# patch "src/modes/ofb/ofb_decrypt.c"
#  from [47866fd52d8724ddbfbc7808d3e6bc563c7233c1]
#    to [cee2112ed1c12ab20fd624cbfbf404dd2ee80196]
#
# patch "src/modes/ofb/ofb_encrypt.c"
#  from [933ad71fe38d0cbfdb1c9ac86fdf0d0a94c5a1c2]
#    to [09a23059e097f3b943f16cd2a5f126b2c929ef96]
#
# patch "src/modes/ofb/ofb_getiv.c"
#  from [9b63d3b82246f07db0445d621c3a579d1d7dd986]
#    to [c982e3488ce838cd4495402e1f96648d8883db44]
#
# patch "src/modes/ofb/ofb_setiv.c"
#  from [45017eac234d24e2f2f6c766f36ec6d7ff72788a]
#    to [cd3bbce4ef982638a607d43b7c4fa76321b32183]
#
# patch "src/modes/ofb/ofb_start.c"
#  from [26601c4c9223e3b3dc998464c2635dd16c637bfe]
#    to [7b18975731a61a99b95ab2228db7a1004c42b170]
#
# patch "src/pk/asn1/der/der_decode_integer.c"
#  from [01f285bda38b1644e8828881ef85b4724593e9c5]
#    to [f1b2df04c74453d994104e3ed0c796979c3a69af]
#
# patch "src/pk/asn1/der/der_encode_integer.c"
#  from [0744d9c4718e5e8c658d9b6a11c42a84d6ef48c9]
#    to [f0aab76f826af981b349afe2e95ff26bf0a6db47]
#
# patch "src/pk/asn1/der/der_get_multi_integer.c"
#  from [e86f43540e698ee6a9432e9ee36f4271e87b1b3b]
#    to [48ec1bc377bed2c583abda38f1da6d0d55c7abaa]
#
# patch "src/pk/asn1/der/der_length_integer.c"
#  from [6cb88e54e0515872301b1085a6e109bd9f2fe3b6]
#    to [2baf47016f12132663ce8e24769709b0eab49fbe]
#
# patch "src/pk/asn1/der/der_put_multi_integer.c"
#  from [7f2d94d0e43fb2f9c52ac9f5e705cb1bbac0140f]
#    to [14cef1756fc6263337b3413087fa6363fdc92289]
#
# patch "src/pk/dh/dh.c"
#  from [7d5cb8e65eb2fc8bbb74563044e6a32559dd9a1f]
#    to [7c6f8255f6978969661a050055067b82ab31e909]
#
# patch "src/pk/dh/dh_sys.c"
#  from [98ba7d64eff8904198db94c54c85dfe773262624]
#    to [43d6fd75fc5f21d48a8605cee3e9f54a48625c59]
#
# patch "src/pk/dsa/dsa_export.c"
#  from [a14e4aef007a39cc12d42c98ccdc37dc6fc6f865]
#    to [d11b05e1dc6d7f602077f3d585f394f51a15f48c]
#
# patch "src/pk/dsa/dsa_free.c"
#  from [50742e1d880adbd617bbacb07e38f69b2894d7f0]
#    to [943eb6ca3bc184fe7e0f2f79a10574dad4824bd2]
#
# patch "src/pk/dsa/dsa_import.c"
#  from [482eef5b43343cf670fc6f22ac3c5d6010bf0ec7]
#    to [f6989f91c6926568148e9ff6335762505b5865fa]
#
# patch "src/pk/dsa/dsa_make_key.c"
#  from [9a2fc822860043cd20427ef08ba3031421d96258]
#    to [d4178a39c75011f7cf705c2b3d8aad9c831372fe]
#
# patch "src/pk/dsa/dsa_sign_hash.c"
#  from [ece5c1f197c80bc2d76c87ef85de0613fb65a9ec]
#    to [f00d6b45ea5ff99aa7a0e3bf6e566f572b7cf3a5]
#
# patch "src/pk/dsa/dsa_verify_hash.c"
#  from [a83243cf6c40d2c9141f0ee59032cc1d653823b6]
#    to [e0522e3b2502e4983c1984a982e5cc623d0ded49]
#
# patch "src/pk/dsa/dsa_verify_key.c"
#  from [191b573f1390add795612313e1576d2f2304dfe3]
#    to [4e5fb1a9f1904631252bfbd31f51baa46cfa16a9]
#
# patch "src/pk/ecc/ecc.c"
#  from [604d8a62a77c1d6f97e5c5a628090305f8643140]
#    to [afabaf7220a2e8633b8e011d00ae7c4857e17941]
#
# patch "src/pk/ecc/ecc_sys.c"
#  from [3e78b75c069dcd978ba2584602ddc4b078e95439]
#    to [197b93b8b8145b88c854385f211f50f3ab02dd99]
#
# patch "src/pk/packet_store_header.c"
#  from [d0bef10d2f6c40a015d6ee2fef6ba89a08d1bc51]
#    to [d7684f999173897c0d037f1cc405b51ddddccc72]
#
# patch "src/pk/packet_valid_header.c"
#  from [21898441385ef02e45c3034e11fa5c7f6783ddf7]
#    to [f46989bf8b667c3a6b17038f56de9ca02421b0eb]
#
# patch "src/pk/pkcs1/pkcs_1_i2osp.c"
#  from [bc3dd90b27617ec61f4265f24f6896103060cab1]
#    to [aa18e58984102e19b745be170fb039cd4bfe6d83]
#
# patch "src/pk/pkcs1/pkcs_1_mgf1.c"
#  from [05f6da4d010d720248610447e345a01a3b2f7f95]
#    to [54d57d032fb514368948efbcb4f6d12bdae5a618]
#
# patch "src/pk/pkcs1/pkcs_1_oaep_decode.c"
#  from [5b966d29bf54f259b689b6262659dec55e93d3f4]
#    to [52b90d68028e365f7ba6dc7fb917d65d40bbc342]
#
# patch "src/pk/pkcs1/pkcs_1_oaep_encode.c"
#  from [ff0dca836897f710c40bc54f6312cd968ce4a43f]
#    to [7113c97a95f6f1a89c77e9524f0d8eede0297290]
#
# patch "src/pk/pkcs1/pkcs_1_os2ip.c"
#  from [c8522c7a8eba308bc9d8032aaf94c58c00fec192]
#    to [27e607937696d414d49db73821e522ef06aff249]
#
# patch "src/pk/pkcs1/pkcs_1_pss_decode.c"
#  from [24f2824d4ac9e419b581c5c6b6493dec221a0a8a]
#    to [ebdc48ff73769a3ac475f697dd9f45f5958cdb7d]
#
# patch "src/pk/pkcs1/pkcs_1_pss_encode.c"
#  from [c8acbc7b06f20ce6d874610ca47bb46ae54ad10e]
#    to [176bd5c4293d7b9e32f4120dfee812e76c8bf03e]
#
# patch "src/pk/pkcs1/pkcs_1_v15_es_decode.c"
#  from [89830b5012e7f7c83944c40b2860066b7ce54f55]
#    to [5f012474a4c08c0cf24a3b1da607ddab9070434b]
#
# patch "src/pk/pkcs1/pkcs_1_v15_es_encode.c"
#  from [35e13cc4c7ade5c8f7e1dc62ca00c79f75a55576]
#    to [f75e368f345aabaa0a48af819dd155527f9dd52b]
#
# patch "src/pk/pkcs1/pkcs_1_v15_sa_decode.c"
#  from [4f6aeaa76927807827ad5a472b8e84d600f9f6cd]
#    to [d1d340cdc403f93e4ece32e464628544c0bb608e]
#
# patch "src/pk/pkcs1/pkcs_1_v15_sa_encode.c"
#  from [0f05185ad6c209d813573788e5cf5057e9dbaf66]
#    to [6addad5032a987db2654906db8b218c9f4d9427d]
#
# patch "src/pk/rsa/rsa_decrypt_key.c"
#  from [34460b0c6f4db9a2d0440745167af88553d84405]
#    to [646a4df41a250539066b16f0358dbb0b61258136]
#
# patch "src/pk/rsa/rsa_encrypt_key.c"
#  from [ed42900b602ccab2aefc8eb2af487ed0a43d9521]
#    to [798cc56ac67a3735ff58005e0df3f6cd356a2106]
#
# patch "src/pk/rsa/rsa_export.c"
#  from [21e058aee82bed9505cc25f89f34a7cb09aa35d0]
#    to [b9649351531ce522a92472e8f9a16a14c59b9ede]
#
# patch "src/pk/rsa/rsa_exptmod.c"
#  from [f64ac8e074698d8413db95962c9cc26c68aa4fda]
#    to [dc387e2d5c44eab263e4ae5e39421fe4b68681e3]
#
# patch "src/pk/rsa/rsa_free.c"
#  from [c6567590f757829b55993914664c3a7a9799ac85]
#    to [e2424d9509d56b415994c820c150e23bcaba83f6]
#
# patch "src/pk/rsa/rsa_import.c"
#  from [019444f86e91c5ea05576188c263cf7d1298afad]
#    to [2031dc9145c417a5dd616eaa0c8dc7406a3736f8]
#
# patch "src/pk/rsa/rsa_make_key.c"
#  from [87f3bc7ed0bd5682c844b4ba00040d97e70ff9cd]
#    to [1cf56e4a08bdda254a808e561e1c30a02733e6d4]
#
# patch "src/pk/rsa/rsa_sign_hash.c"
#  from [5111533e868476b059a9cc9bb71ccf2c5b4e1513]
#    to [9b60bd6f5b606c96ea35cc982823e5e81bab3470]
#
# patch "src/pk/rsa/rsa_v15_decrypt_key.c"
#  from [a2819553dccb7708b55d18707918a8b217e69504]
#    to [9256c97322d0501e942efc3982fe7d1d88d424c8]
#
# patch "src/pk/rsa/rsa_v15_encrypt_key.c"
#  from [92330fcf380dc849c4a9e421a0b88c35b0941392]
#    to [92c1fdc05a687f59a2dec7b011408afce2547f42]
#
# patch "src/pk/rsa/rsa_v15_sign_hash.c"
#  from [889410a573bbfa04cdb680a797cf1e602cee495a]
#    to [6dbd48cecce44d454090445b48f123ddc16dbb35]
#
# patch "src/pk/rsa/rsa_v15_verify_hash.c"
#  from [66589cf49c2f1f993405e288b598aa897f284bce]
#    to [816a70242de483e83b51d5021f0fe9d2387bd7c5]
#
# patch "src/pk/rsa/rsa_verify_hash.c"
#  from [927400cd219fa71f38afe708f138f8608e6adda8]
#    to [14fd31ced67e771d6b88ff4f4999a0ebe47d4989]
#
# patch "src/prngs/fortuna.c"
#  from [2afa90ea463c38b0ee94af8a7761ba0c1fbf9408]
#    to [7e83ac6383ae2759d71517a38534ef6c6cd14e5d]
#
# patch "src/prngs/rc4.c"
#  from [920e07ee8cbb3eebd0ef662c54319847d75b5ab0]
#    to [12bfe70351575b7d7c1e22c56c1a1309d09202b5]
#
# patch "src/prngs/rng_get_bytes.c"
#  from [7376a0b634a5f07b47ef743ad91a3cb275ea44f8]
#    to [2ff93a9b8ae1fa0c2fd161a64a217c874fbfc129]
#
# patch "src/prngs/rng_make_prng.c"
#  from [77bf6290e6bfb4bce5e017b1018dee77f7015316]
#    to [0c316073d3e907ad6f07fd39c59db2e689153570]
#
# patch "src/prngs/sober128.c"
#  from [1626c777f91be4f5fa35aa863da9aa52eb6f4d00]
#    to [2cb2260e93316a2df897b4cfd95dfaf35ef0a433]
#
# patch "src/prngs/sober128tab.c"
#  from [f01c0ec2c077a1247a6773a577ec6d1b2de0fd48]
#    to [08541e7cb863e9cdf888349bd0f054d7c97f1280]
#
# patch "src/prngs/sprng.c"
#  from [8d358213c10a25827419debf811f73805dfe5f81]
#    to [d61eaa0afe4c641ff79770744713c19c33c6fae9]
#
# patch "src/prngs/yarrow.c"
#  from [7cfb8cc59bedf11bf654d4c3d7ad3e7c2b527e0e]
#    to [4dc99762d70293de5be569f537e0394cea23791b]
#
# patch "testprof/base64_test.c"
#  from [8563403c95aa7f401d28e079a11ae1546f53a819]
#    to [95cb020cf20c30055036667688d09bffec7e9f8a]
#
# patch "testprof/cipher_hash_test.c"
#  from [43c9a1b08efab44dd8594ab18ec879528495c6a4]
#    to [aa8ace5a89c62254fe9563bc6c9249cbedfe0c46]
#
# patch "testprof/der_tests.c"
#  from [2900fd3ebc9a1d44f86fb9478fe040e9ee710ed9]
#    to [860d8e3f40635d263400777698f0a2b44baa6b02]
#
# patch "testprof/dh_tests.c"
#  from [efc2df8f91db333a6421928c1e9745388e648f92]
#    to [03efe0f0f3fb14072c8bbd5e7fb91bc53db70e28]
#
# patch "testprof/dsa_test.c"
#  from [07178a7429766c445cfeb037d11547891cbebc7d]
#    to [66e05b75e3b01c06aac4c5a1d2dd8f8b093460ae]
#
# patch "testprof/ecc_test.c"
#  from [56f4c48f263f256394176caf9f1ad3fde9b0896b]
#    to [24ddb16a200e277fa7de961f07a6b2d692eec844]
#
# patch "testprof/mac_test.c"
#  from [5e98fb1138fa6f331c40f57e29601460ed037260]
#    to [b6fa28d808d448d6752bfd987e91b1b586c17052]
#
# patch "testprof/makefile"
#  from [7350f9851f066e95eebfe37998c225a3e7838e1b]
#    to [88349cb07ee42c338d1b4c3449a156b848224e43]
#
# patch "testprof/makefile.icc"
#  from [74bff1ded60c4eed8f5a572a004a4bc7536f8c0d]
#    to [f22db73701ad72390d4ae7ce6c54153952f78685]
#
# patch "testprof/makefile.msvc"
#  from [ee1b325b1398229af3126caa9e2fb84aabaf7544]
#    to [3f3f0470dee723f6a584f004ba39de572a4fa3a3]
#
# patch "testprof/makefile.shared"
#  from [bf67b9788e4cf68acfbc24bd24e5e5415b6b1d6e]
#    to [61e10b17bb77481e43f410c32fc426a64b6a2d23]
#
# patch "testprof/modes_test.c"
#  from [82f5d5a22220c23604ef85c0b6365a9dd044b165]
#    to [e157a8cf94dd19424e4858076aacade07aafd227]
#
# patch "testprof/pkcs_1_test.c"
#  from [53dbcf5be2feb312bc8d896c9fbb8362cf50fbd8]
#    to [588bdd0b33ca1aa945e4f9258ea5ce21a7e66ae7]
#
# patch "testprof/rsa_test.c"
#  from [dd33d47db72cfa7066416a0db581db1ac30c5c40]
#    to [26c6c27b14ed4b09d553729b9045f929b69a37c1]
#
# patch "testprof/store_test.c"
#  from [b3bc3cc23463d9fc1302e8f5b8be43e3d1a70d52]
#    to [0b24a24804108f4d1d20db7cae607be15b29ad44]
#
# patch "testprof/test.c"
#  from [c52f13ffc445560c828bdc676a072c8996c51948]
#    to [42b7eb2010712a015ec9001d90ca49dd80b58ee6]
#
# patch "testprof/x86_prof.c"
#  from [0f4dbf704c8449c9fcf57f6a723207f17a126b43]
#    to [18ead80a615389c7cac9363b9c9d52006a0d67a1]
#
============================================================
--- Doxyfile	f598520dc8de8639cf00b6c10068be941f3314f8
+++ Doxyfile	f598520dc8de8639cf00b6c10068be941f3314f8
@@ -0,0 +1,1155 @@
+# Doxyfile 1.3.9.1
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = LibTomCrypt
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER         = 1.02
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = doc/doxygen
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of source
+# files, where putting all generated files in the same directory would otherwise
+# cause performance problems for the file system.
+
+CREATE_SUBDIRS         = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish,
+# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese,
+# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish,
+# Swedish, and Ukrainian.
+
+OUTPUT_LANGUAGE        = English
+
+# This tag can be used to specify the encoding used in the generated output.
+# The encoding is not always determined by the language that is chosen,
+# but also whether or not the output is meant for Windows or non-Windows users.
+# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
+# forces the Windows encoding (this is the default for the Windows binary),
+# whereas setting the tag to NO uses a Unix-style encoding (the default for
+# all platforms other than Windows).
+
+USE_WINDOWS_ENCODING   = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is used
+# as the annotated text. Otherwise, the brief description is used as-is. If left
+# blank, the following values are used ("$name" is automatically replaced with the
+# name of the entity): "The $name class" "The $name widget" "The $name file"
+# "is" "provides" "specifies" "contains" "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
+# members of a class in the documentation of that class as if those members were
+# ordinary class members. Constructors, destructors and assignment operators of
+# the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH        = src
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH    = src/headers
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like the Qt-style comments (thus requiring an
+# explicit @brief command for a brief description.
+
+JAVADOC_AUTOBRIEF      = YES
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen
+# will output the detailed description near the top, like JavaDoc.
+# If set to NO, the detailed description appears after the member
+# documentation.
+
+DETAILS_AT_TOP         = YES
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS           = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 4
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = YES
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
+# only. Doxygen will then generate output that is more tailored for Java.
+# For instance, namespaces will be presented as packages, qualified scopes
+# will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING            = YES
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC         = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES  = YES
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS  = YES
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES       = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS       = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS        = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME     = YES
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text.
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE           =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT                  = src
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
+# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm
+
+FILE_PATTERNS          =
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE              = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE                =
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
+# that are symbolic links (a Unix filesystem feature) are excluded from the input.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+
+EXCLUDE_PATTERNS       =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH           =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS       =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE      = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH             =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.  If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER           =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis.  Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match.  The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS        =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER         = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = YES
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = NO
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default)
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES (the default)
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = YES
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER            = doc/header.html
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER            = doc/footer.html
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET        =
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE               =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION           =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 1
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
+# probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW      = YES
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX         = YES
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES     = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = YES
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA             =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD                =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader.  This is useful
+# if you want to understand what is going on.  On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH           = src/headers
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS  =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED             =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse the
+# parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+#   TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#   TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES               =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or
+# super classes. Setting the tag to NO turns the diagrams off. Note that this
+# option is superseded by the HAVE_DOT option below. This is only a fallback. It is
+# recommended to install and use dot, since it yields more powerful graphs.
+
+CLASS_DIAGRAMS         = YES
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = YES
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK               = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS     = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will
+# generate a call dependency graph for every global function or class method.
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable call graphs for selected
+# functions only using the \callgraph command.
+
+CALL_GRAPH             = YES
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT       = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+
+DOT_PATH               =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS           =
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_WIDTH    = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_HEIGHT   = 1024
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes that
+# lay further from the root node will be omitted. Note that setting this option to
+# 1 or 2 may greatly reduce the computation time needed for large code bases. Also
+# note that a graph may be further truncated if the graph's image dimensions are
+# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT).
+# If 0 is used for the depth value (the default), the graph is not depth-constrained.
+
+MAX_DOT_GRAPH_DEPTH    = 0
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP            = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE           = NO
============================================================
--- TODO	adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
+++ TODO	adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
@@ -0,0 +1 @@
+
============================================================
--- demos/multi.c	9fc4054e04be585b24b1d5005840528a7c1751fd
+++ demos/multi.c	9fc4054e04be585b24b1d5005840528a7c1751fd
@@ -0,0 +1,106 @@
+/* test the multi helpers... */
+#include <tomcrypt.h>
+
+int main(void)
+{
+   unsigned char key[16], buf[2][MAXBLOCKSIZE];
+   unsigned long len, len2;
+
+
+/* register algos */
+   register_hash(&sha256_desc);
+   register_cipher(&aes_desc);
+
+/* HASH testing */
+   len = sizeof(buf[0]);
+   hash_memory(find_hash("sha256"), "hello", 5, buf[0], &len);
+   len2 = sizeof(buf[0]);
+   hash_memory_multi(find_hash("sha256"), buf[1], &len2, "hello", 5, NULL);
+   if (len != len2 || memcmp(buf[0], buf[1], len)) {
+      printf("Failed: %d %lu %lu\n", __LINE__, len, len2);
+      return EXIT_FAILURE;
+   }
+   len2 = sizeof(buf[0]);
+   hash_memory_multi(find_hash("sha256"), buf[1], &len2, "he", 2, "llo", 3, NULL);
+   if (len != len2 || memcmp(buf[0], buf[1], len)) {
+      printf("Failed: %d %lu %lu\n", __LINE__, len, len2);
+      return EXIT_FAILURE;
+   }
+   len2 = sizeof(buf[0]);
+   hash_memory_multi(find_hash("sha256"), buf[1], &len2, "h", 1, "e", 1, "l", 1, "l", 1, "o", 1, NULL);
+   if (len != len2 || memcmp(buf[0], buf[1], len)) {
+      printf("Failed: %d %lu %lu\n", __LINE__, len, len2);
+      return EXIT_FAILURE;
+   }
+
+/* HMAC */
+   len = sizeof(buf[0]);
+   hmac_memory(find_hash("sha256"), key, 16, "hello", 5, buf[0], &len);
+   len2 = sizeof(buf[0]);
+   hmac_memory_multi(find_hash("sha256"), key, 16, buf[1], &len2, "hello", 5, NULL);
+   if (len != len2 || memcmp(buf[0], buf[1], len)) {
+      printf("Failed: %d %lu %lu\n", __LINE__, len, len2);
+      return EXIT_FAILURE;
+   }
+   len2 = sizeof(buf[0]);
+   hmac_memory_multi(find_hash("sha256"), key, 16, buf[1], &len2, "he", 2, "llo", 3, NULL);
+   if (len != len2 || memcmp(buf[0], buf[1], len)) {
+      printf("Failed: %d %lu %lu\n", __LINE__, len, len2);
+      return EXIT_FAILURE;
+   }
+   len2 = sizeof(buf[0]);
+   hmac_memory_multi(find_hash("sha256"), key, 16, buf[1], &len2, "h", 1, "e", 1, "l", 1, "l", 1, "o", 1, NULL);
+   if (len != len2 || memcmp(buf[0], buf[1], len)) {
+      printf("Failed: %d %lu %lu\n", __LINE__, len, len2);
+      return EXIT_FAILURE;
+   }
+
+/* OMAC */
+   len = sizeof(buf[0]);
+   omac_memory(find_cipher("aes"), key, 16, "hello", 5, buf[0], &len);
+   len2 = sizeof(buf[0]);
+   omac_memory_multi(find_cipher("aes"), key, 16, buf[1], &len2, "hello", 5, NULL);
+   if (len != len2 || memcmp(buf[0], buf[1], len)) {
+      printf("Failed: %d %lu %lu\n", __LINE__, len, len2);
+      return EXIT_FAILURE;
+   }
+   len2 = sizeof(buf[0]);
+   omac_memory_multi(find_cipher("aes"), key, 16, buf[1], &len2, "he", 2, "llo", 3, NULL);
+   if (len != len2 || memcmp(buf[0], buf[1], len)) {
+      printf("Failed: %d %lu %lu\n", __LINE__, len, len2);
+      return EXIT_FAILURE;
+   }
+   len2 = sizeof(buf[0]);
+   omac_memory_multi(find_cipher("aes"), key, 16, buf[1], &len2, "h", 1, "e", 1, "l", 1, "l", 1, "o", 1, NULL);
+   if (len != len2 || memcmp(buf[0], buf[1], len)) {
+      printf("Failed: %d %lu %lu\n", __LINE__, len, len2);
+      return EXIT_FAILURE;
+   }
+
+/* PMAC */
+   len = sizeof(buf[0]);
+   pmac_memory(find_cipher("aes"), key, 16, "hello", 5, buf[0], &len);
+   len2 = sizeof(buf[0]);
+   pmac_memory_multi(find_cipher("aes"), key, 16, buf[1], &len2, "hello", 5, NULL);
+   if (len != len2 || memcmp(buf[0], buf[1], len)) {
+      printf("Failed: %d %lu %lu\n", __LINE__, len, len2);
+      return EXIT_FAILURE;
+   }
+   len2 = sizeof(buf[0]);
+   pmac_memory_multi(find_cipher("aes"), key, 16, buf[1], &len2, "he", 2, "llo", 3, NULL);
+   if (len != len2 || memcmp(buf[0], buf[1], len)) {
+      printf("Failed: %d %lu %lu\n", __LINE__, len, len2);
+      return EXIT_FAILURE;
+   }
+   len2 = sizeof(buf[0]);
+   pmac_memory_multi(find_cipher("aes"), key, 16, buf[1], &len2, "h", 1, "e", 1, "l", 1, "l", 1, "o", 1, NULL);
+   if (len != len2 || memcmp(buf[0], buf[1], len)) {
+      printf("Failed: %d %lu %lu\n", __LINE__, len, len2);
+      return EXIT_FAILURE;
+   }
+
+
+   printf("All passed\n");
+   return EXIT_SUCCESS;
+}
+
============================================================
--- demos/test.c	71c89230248837771cc5a0534af4dbfe2f2d824d
+++ demos/test.c	71c89230248837771cc5a0534af4dbfe2f2d824d
@@ -0,0 +1,19 @@
+#include <tomcrypt_test.h>
+
+int main(void)
+{
+   reg_algs();
+   printf("build == \n%s\n", crypt_build_settings);
+   printf("\ncipher_test..."); fflush(stdout); printf(cipher_hash_test() ? "failed" : "passed");
+   printf("\nmodes_test..."); fflush(stdout); printf(modes_test() ? "failed" : "passed");
+   printf("\nmac_test..."); fflush(stdout); printf(mac_test() ? "failed" : "passed");
+   printf("\npkcs_1_test..."); fflush(stdout); printf(pkcs_1_test() ? "failed" : "passed");
+   printf("\nstore_test..."); fflush(stdout); printf(store_test() ? "failed" : "passed");
+   printf("\nrsa_test..."); fflush(stdout); printf(rsa_test() ? "failed" : "passed");
+   printf("\necc_test..."); fflush(stdout); printf(ecc_tests() ? "failed" : "passed");
+   printf("\ndsa_test..."); fflush(stdout); printf(dsa_test() ? "failed" : "passed");
+   printf("\ndh_test..."); fflush(stdout); printf(dh_tests() ? "failed" : "passed");
+   printf("\nder_test..."); fflush(stdout); printf(der_tests() ? "failed" : "passed");
+
+   return EXIT_SUCCESS;
+}
============================================================
--- demos/timing.c	5ee953004e190ea4799623e5bc9bdca0c9727f4d
+++ demos/timing.c	5ee953004e190ea4799623e5bc9bdca0c9727f4d
@@ -0,0 +1,23 @@
+#include <tomcrypt_test.h>
+
+int main(void)
+{
+init_timer();
+reg_algs();
+time_keysched();
+time_cipher();
+time_cipher2();
+time_cipher3();
+time_hash();
+time_macs();
+time_encmacs();
+time_prng();
+time_mult();
+time_sqr();
+time_rsa();
+time_ecc();
+time_dh();
+
+return EXIT_SUCCESS;
+
+}
============================================================
--- doc/footer.html	71f094156317545aaa2f4e642f05a8c91a7d8abc
+++ doc/footer.html	71f094156317545aaa2f4e642f05a8c91a7d8abc
@@ -0,0 +1,4 @@
+<hr width="80%">
+Code by <a href="http://www.libtomcrypt.org/">Tom</a><br>
+Docs using <img src="doxygen.png" alt="doxygen" align="middle" border=0>
+<a href="http://jlcooke.ca/tom/hidden_image.png">
============================================================
--- doc/header.html	5666f806e6b87ed588ac1cd9bfbb6757f3d6b034
+++ doc/header.html	5666f806e6b87ed588ac1cd9bfbb6757f3d6b034
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>LibTomCrypt: Main Page</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.8 -->
============================================================
--- genlist.sh	a298a32fb96043b8a8e7d3ed3691e7ca4a98e4b2
+++ genlist.sh	a298a32fb96043b8a8e7d3ed3691e7ca4a98e4b2
@@ -0,0 +1,6 @@
+#!/bin/bash
+# aes_tab.o is a pseudo object as it's made from aes.o and MPI is optional
+export a=`echo -n "src/ciphers/aes/aes_enc.o *(MPIOBJECT) " ; find . -type f | sort | grep "[.]/src" | grep "[.]c" | grep -v "sha224" | grep -v "sha384" | grep -v "aes_tab" | grep -v "twofish_tab" | grep -v "whirltab" | grep -v "dh_sys" | grep -v "ecc_sys" | grep -v "mpi[.]c" | grep -v "sober128tab" | sed -e 'sE\./EE' | sed -e 's/\.c/\.o/' | xargs`
+perl ./parsenames.pl OBJECTS "$a"
+export a=`find . -type f | grep [.]/src | grep [.]h | sed -e 'se\./ee' | xargs`
+perl ./parsenames.pl HEADERS "$a"
============================================================
--- notes/ccm_tv.txt	02f0ca69d572ed7be51eba2e1d925aaff7e92e83
+++ notes/ccm_tv.txt	02f0ca69d572ed7be51eba2e1d925aaff7e92e83
@@ -0,0 +1,214 @@
+CCM Test Vectors.  Uses the 00010203...NN-1 pattern for nonce/header/plaintext/key.  The outputs
+are of the form ciphertext,tag for a given NN.  The key for step N>1 is the tag of the previous
+step repeated sufficiently.  The nonce is fixed throughout at 13 bytes 000102...
+
+CCM-aes (16 byte key)
+  0: , 54C92FE45510D6B3B0D46EAC2FEE8E63
+  1: DA, 7A8984228DCF944903936CA9D7709ACF
+  2: B95E, 1056DE0CBBEEA760ED2053FFEB554EA6
+  3: 58FF3B, A42DE1A812D29BBC6C1C5AC808565437
+  4: 9D6E6FB6, 5E8E0422792999381ED669CE17601D34
+  5: 40D49E851D, B076B4ED79BF0155B39A743550593944
+  6: 015356B9A6E1, 8D62CEFC451CAE4A21C1C579C6CAA128
+  7: A2CF0A77AE0DE2, 97B9D201740FA59E863513EDACC59FFB
+  8: A44C68E52F95B48B, A461B79D4D9B8ADF6C6618E6ECDC059A
+  9: F56B8AD68AA31F22B9, C5C7D2E6FE34D94CE72B86DA55679080
+ 10: 5C17EEBF4E348CBE3278, 29FAE7B470CB652C501343FE23B25894
+ 11: 1EE960BFAE360302D834E3, 8F8F475EB9BAB29CE14A9CF42C30B148
+ 12: EFF6BA1F2B1389237C6C045E, C895302DD8E75096951EF5CA63BFDD67
+ 13: 5A1179A4047334CCD9162F36EB, 110987D37F45422625DEA402BD7580EB
+ 14: F26E2C27E7D287B182FA42879978, 530FDE90C13A01EBCA86449073A3B035
+ 15: 77BFE79B4BC87116EC5232606E890F, 280994EB0E16C7CF10F31BB60DBF52C8
+ 16: 9926A4CE1AD70B89CC0050A58B958742, A635B4272EBFA1F83DAE270452D877E7
+ 17: BAAF99CAE4753E3304D6F8F9C0CD366C68, A6F606AACD0B87923B43C3EB61AC3965
+ 18: F72453C6765352A31494FA02B388E407B1FB, 0A446D28B7C5845C3621B4D3A0FA98DB
+ 19: A7372589A86B2E137F124A96618095EB5E1435, 3C59A6A858947FEBFD32441E37309F1A
+ 20: 5683E13A4E82A1AB8B3DC2051B6DBF2E1F2BB417, 459D1B0D2CF2C30B5ED5C237D07DFC19
+ 21: 33594C4B84536C23DA5AB2117E9267258CCE5DEC3B, 6E4BB70A72343E142AC4E31CE0FE6A77
+ 22: 332EDC9A3BDB90DBCCF317AC55BE5855CA9BCA2A73C4, 9FB310E5FFF5C754EE1E5FFF865F1656
+ 23: 734618677055469335FFD574B008F2C68B78633F79010E, FAD31386E42BB4EA76A643A9004A8CB4
+ 24: BA6F6ABA2AF35895F7F966D71F4E91A0BDD1DD551826F861, 25A3EC1C91C26283BAA5975390285AB2
+ 25: FF519213E858E36AC8D92450F81CA46C8CA8AB129A997EBB36, 0D4AB2B7A5EB02242C01A81CEBF5D84E
+ 26: B1F80058C3B4316EA86E9A898CD0B9C0366DFCB2AEC0799312D5, 0F4FF2759EDDF6349F4E23F284FAAD2E
+ 27: 00BDC15012F8183112D5C3A135DC60DC9C764A04BD39A8E041F1D9, 0C68BC9E6A6BF1B01743F3183C9B7C80
+ 28: 3022FD12969D925365C553D98D59E5D1EC494540909D1FA794F41E18, 05E61844943E78DB9BD417DDDE9C98B2
+ 29: 4F4A4554BFED6BAA09E3D8843C4EA3807B8762799C1D21289A46575389, 3A59A6DC9230020FE061466A92BBCAFD
+ 30: 6AE735EB15D9B39C8AD0E54F45307AAD97DB9F8A2A66BDC9BABCCFBD54A3, 0BDB365E493A9E160EEFD7DE24101870
+ 31: 4AF19F00EAE55FED2304B94FBCA29383042F2BE711041323C1D9F14BA63383, 94561581E496553D068052BA698683D2
+ 32: C2438BC46A92A465E0DB41E638CC6C8E0029C4DA842CA4140D73F90985EABA9C, 0F5A69F52AA8D8508D09E642511E54E5
+
+CCM-rc6 (16 byte key)
+  0: , D01FACF2BB577BFA6194800E53FB4A00
+  1: 65, 92E48F7300FA2697E9E0FF80DD187237
+  2: AF5C, 332863BC515649D5BCAB6A2FE5F5250D
+  3: E7C89D, 49A641F027C65A15100009D99E79CF3F
+  4: ACB36D46, 53DE328A8B4B14CAD363BED53DACE8A1
+  5: C3ADAE6CCF, F713F5079BD77046F95D8685CDF522DC
+  6: 5A8CABC912DA, FB97B059D2BE1273497FA8D2739A1505
+  7: 27F101DD6D0894, 266ACEF34476A0E64410D209219335D0
+  8: 66164DA09BE2F46D, EFC64C01890A5B562AF39ADFC48E1CA9
+  9: 1B0018895394753995, FA894E1C882D96E35A4C238708931F3D
+ 10: D346062826187BAEFC3B, A036AE1D3C02E2AD23541DE095AC7B84
+ 11: EFB375BA1138339FA1B504, CDD4232FF4664D59D5AC6BE32CBE1B35
+ 12: AFCF494078D7D7E6D9803FD5, 07E06ED923F76150BE82C1DDCB62C4DD
+ 13: 75DF2EC91379408DA426A444E4, 440ACDF2A6567FA3A5009DDFE502A1A1
+ 14: 3B36B62B01E324E702694305DD29, 4093598607DCD9993845D1837D211FE2
+ 15: 7DF6595C9711B164C99CB246B4D57E, F364993B2C187058F466B62D11E0F94D
+ 16: D317EE9EE1746D1B89A4CC52D88F0819, 41856B0B229D38344FA718E04CA57A8B
+ 17: 85252277A97CA7553007995BD5A0DCD372, BDEEAB636BD1ACC8D5A23F658150FA30
+ 18: 36FF305AC6EF662C155A1C15A6C195D3EC88, 9AC48EF07A510E308E06E79C0C80C3A0
+ 19: 51645A614313E978F6DCE7BBDDEDC33E3284AB, E9F7723E763AD50161C0671C4034FD0A
+ 20: 3CB9E6D0730FE05F903D338708AD8E34BFBB3285, 8A12185DAD518049F0FAC945A8FB305A
+ 21: 276E37D246C40ABF32DC83007B95390EE801CDA6E3, 73FA1D310D031E0A0A3A1421661B4697
+ 22: 4444BB070EDFBD1AC59D0BF70D66F48F0830069F3562, 9DCB6A99CBCCE3C8AEF29F06AF5057FB
+ 23: D16BA084CF82EDD2E43349311140BF3A2E37DE40544BF3, CB93C5AD60C700D4EA653136101AACCC
+ 24: 3FBAEBB36E2B74014043BA7D72F899B0D8DED883F592D778, 54DEA31D7EEA863A06A16D6C9B25DC13
+ 25: 3614B5428B790793F31E23670A38A070B65DB8E51C61FEA9C9, A91B750FD7ABFF18376C982DFA0C8872
+ 26: AC15FD90A4C254BA1406BE7DBA5694BB2625F634C69F45CCCD04, E6F97BCC8526BE3C04BA139EB50E65DF
+ 27: B506E83557E48553BD8557411D2C17D64005E734BA5A5FF1CF98B1, 6FA001758A19F783A71C97AF1AA61F94
+ 28: F07721663400838947EA1B9404D9683556F2D911429A9F59E3F5AD31, 376A1165A30C919E96C3706A4AB5DB37
+ 29: 98B5EB8FE0005E515A585D8F44D838FA590054EA5201CD444366B6F71E, D8C58448F601F2C05F24ED2CC349C78B
+ 30: E36E2FC225767CC1E2C388BEBC2C81C340FEF5B504575D5FA49682E1C214, CFED56F38CA4F84E6E1E16CEF50A6154
+ 31: 7A9FDD8E481B822B3D282AAF726944101ED61DAE73782DE055D7D305E36B27, 328B10841E977041CBD13C39CD70F03F
+ 32: 48AE8B5FA027930A7BCEC27468D795D0D8E6099C5F0558361B3AD20C1ECFF89F, B180AA9353E9EB6A22710A4DE872FACB
+
+CCM-safer+ (16 byte key)
+  0: , E106F41D61402E532662213EBA471BFF
+  1: 05, 1749600C7045647DCB3293C0724E7A21
+  2: 2355, 80DD597665723F4AEFFF760C5C6C5EE2
+  3: 5F4CD8, 59AE54E63A8CF4DBAD050B42CE922013
+  4: 75F63A43, C31B6BD3125C036C99507DDEE0197201
+  5: 51D4D87B8D, 0F3872088CDEB0E958C35F343677AC24
+  6: 8CF6D81A274C, C8E688954E72A052B5F8D1CA46FB44B0
+  7: 5EB8283B299AB1, 5977CB96C8D439DE3A86AE0452A2EE34
+  8: 829B1A4EA8643EAA, 1E892D3DFB73A469035CA81DD7F937D1
+  9: 0FEEF9504CF0F4E282, EDCBED7C61E8E2D24392B4145218F0AB
+ 10: DEF7679D3073D461A94C, D7ABAE561901CBB30FD7D9467C088B3B
+ 11: 625FD679C7354A74D62893, 450E3954857640DDF4C7A95A6E202A1E
+ 12: 3C9E76E4E2D4D95FEABD5C90, CD4467F695B7ED8973AEED5A822B347A
+ 13: B1B6294ECEAE6AEE4853731CA9, 6042302DAE598822BE8554BE038119CF
+ 14: 204BF480582D4BA408BAD23CEB52, 4D6B87334E1BFB9BA2D42B89B24165B2
+ 15: 277591770E3E2DB97A3011D9616991, 75D0A4B9937748EAE7794056F7A8A7FE
+ 16: 5669F75D0C908BFF7B82095231B86DAA, 3E816776A73FB89276534A3646C0F8FB
+ 17: 37E621EF5A043A83FC98A65329891BC031, 159A823EA61B3A47B42EFCF12F304725
+ 18: 18AC6ECF3F478A0797BF813C871235A9D309, 9B415B1B3A933B22C9027E2D72764956
+ 19: 671484C7587DAAB885C7F2FAF030081B452CC6, 574A63D113A5ECEC877D5A368A3160AA
+ 20: D7AB0F7D46B7ED976C8F6E7D0C6AABE3CAAA5A6E, 266C7A025C4EDF657DD42EB82BB6616A
+ 21: D60E4CFC6500E237276A69F35AE4BBAE17371392EF, 6ED2A1673F8B4DB795547D9D93D76D8B
+ 22: FAC6E21979D8D9896C790CB883C29F84D6820AE4FD4B, 1C7B6D73200E3C2DC5C701152F38EE8E
+ 23: 39240DC2B544CA8BEBBB4EA499FD48A5EE707198AE8AC8, E7FFD169552665ADE7B9C0DFFDD04EBD
+ 24: 6BE2C24172CAA192D55CC3E640E34675DD7F441CE5DB0FC0, 760CA976355281F76E49A2856A4EC7A0
+ 25: 0E20427218D6447D6E23FA4832CB8D2A172B23FDC542B41524, 27D0F37E109252FF5E6F6F703CA784F5
+ 26: 0AF75BD89028A5691B8B7993B9CE4FD24334A312DE28212C8B2C, AFE4C6B193B0F1796FC9E6C23292C060
+ 27: 6830D8E2E6DEC1476796DA44C982D36409E268F966283A66E801ED, 9E2C92D5B30EB0943E17869ED4C789EC
+ 28: 75ED280BEECD7768F7E032071F0E06D9D6BF1C9FF8E5DEB536DCD4BA, BF0DD11D633DBA5DCD25F4172765570B
+ 29: DF1FAECC1DB24718236B18B90B354F405FD5DE1257EC43F811F4A43DCD, 48D182E572E794350BBDA91FD76B86BC
+ 30: 176681E38ACACCD3C625F554C1F7A2D7C2C474C9444EAC8929B8C36EC05E, 080E109FFC5D247F1007217DD642BBA3
+ 31: 8A8172C21D88A1FDD43089C545C308507617F7BDB02C47CF2719F1484407E2, 1A0D10B0AF5BE21BF19D570D3FDA5BCE
+ 32: 0A93CAE2B95517773A4009FD3438231A207B9D46AABAE83FC4E1057EA4E2D6B4, 717AEF2F55DC8669F7E2D0298F8A7BE9
+
+CCM-twofish (16 byte key)
+  0: , 33B3DF1B59C84DD3C15E4FEB66173303
+  1: BF, 92DCEBF1C11DD0B028DEC944A555E4C6
+  2: 8A4F, A859C7F76291326D821BB3C7519657C0
+  3: BAE755, 14D7C2EFBCA1063460FEFCEBAE3AD79A
+  4: 25695BC6, 9358BC434B14B59ED17F9C0D3F51DCB1
+  5: 1D9FC70ECE, 2A86578FA3A8C702E2E6723DB9A9893F
+  6: AC39F1DF3661, 3F9C71EE0506FD2BAFFEE7200D22CD92
+  7: D330A915EED9D0, 22DC25EDF5ACDEF8358BE2A3082112BC
+  8: EF913ADAE6380507, E87D72BB6395EEEF2AD4F546B4033DE8
+  9: 5EC16994E762BCE467, D7700F7BF4FE026A2076F161C3383A0A
+ 10: 7EEB4910B7C2B540B490, 40C88A977E1DCDDABD749ABC9A0C60F8
+ 11: E5DD32FF54D39451CC2AF8, 541B1558B5AFF6E9EFBEE496D60AD65C
+ 12: 242C2900F859966B6627FF5C, 1CED148098350F3A5D1B5634180817A3
+ 13: EEF025B9E4EB867B127EBD19D4, AD0179A07AD1418C25F40E123C2BEF47
+ 14: C5E812B0AE37098686E2C4452C12, 02FC88AAA62E34742BB8577A651E922B
+ 15: 7BCAB32D1A871A62F9C781AFCAC60C, 2CD1C11EE197D9E130359F76E7F49251
+ 16: 1E82D8B8EED9A730D1670F0DCFF17B60, B7730261560EA6CF715FF7006D5FEFE2
+ 17: 0E1966992E360DC81312B28ECA6865B811, 10C40ACD169CB0F2A6FFC99F9A5516EA
+ 18: 5F5418C1322BF7EB828CF27C1F72086515BE, 90F8ED0447171A10476DED39F7518075
+ 19: 6C552506FA167FB8AA12E9F416930031487D4E, C992009F83F31A7BF922BFAE68C4134B
+ 20: 38429D966676406B17638DB7F9F7205250408BB2, 3385A50E9789D2C63835A80EFE9CFAE4
+ 21: 56EF426315EF96BE4C60B49F41C9BDDE2E0CDB3C22, 2D51D5B4F5B04BEF3BC1A7CF1AEA70E9
+ 22: 314B075C097EE531ECCE6AD7CEF22A72AAFCEFB02029, FB7A7D84D23FF524D060871D90FAC106
+ 23: 61CCCF7E2A9B3E46CD0A94D7F4A7617BB0DBA2D989907A, B3F4D46094732F3EDD81E0755F0C52EB
+ 24: 7A812A3BCED4E0A72FB81218BD5A4E33D69CA18834FFAE61, 487F80588B41F4E1198124708987667D
+ 25: DBFAB77EF07AA4C9ED2B05500BDFA00FE3F19F15F97A74880A, 84504D9EECBC6CE11B18BD105DE55E2C
+ 26: E676D4739B01B5101E36BF8D9F4FAE8F767C028E83A6D5B39664, 3141A05669807BCA30F0934F599FD077
+ 27: D8FEBD069D87C1EE504CB8F72ADFF2166B14BA40B17B4DAA439668, 1D99A301943041C2F7A71432DA736FE0
+ 28: D98E2A1CFFAB28341F92C41971A21AD0FDDE733EA25F2607967CD0C3, 42E05A53BF4F1A6C5B7F84742ECE031B
+ 29: 13FA412B484945C1FE8291A7EB8F8FB78D2DC2C72C5132386EA82BF4A6, A1A8E8B026DD116B0F9C73EB14C1C7CD
+ 30: 10ABD2DC25C8BA594FBFA9312E69C1A2DBF326475AF2080E55E3611FBC0E, 49DF8A5171DAC3FB684BA2CF7FBB3D3B
+ 31: F401D2123619B81F54F307B783362CC40FB4FB2433CF51F5543A147BCD1FE5, ACBB670CB3722059B4B9FBEE67703E98
+ 32: 839A9BFA1D3CA37924BC6648DED2291FC61736A3638906D9C5DA28A66AA684AC, CD07B83C8E0C3E6FB4115A149BDF6FDA
+
+CCM-noekeon (16 byte key)
+  0: , FF73C6775C61DB36D9B5EEC812091FF7
+  1: 5F, 7D2AEA62A5202E3C4FBE05F33EBE4CC5
+  2: 0EA5, 312ED15FDDAB6EEEAC6AF9BE9CE698FA
+  3: 968F95, FA1AD58B85B93B5A4B5096C881F773C3
+  4: 9A8F4069, 8911063ADDF79E27D9DCEFF3F440E6D7
+  5: A5C0376E27, 9553F44B0BA8039527F8E05CD70AD8B0
+  6: 5B097736F3DA, 405B7EC685FC94903B36AC8E700558B8
+  7: 616810AE303B2C, 64C95A2DF5263F7BE6D1F9F3CF88EADE
+  8: C8D69A2E1170532C, 073A7E426266237FD73D8109F55AE5D3
+  9: 3E42CDB7DA4A72F2E0, 48675EA4302CA6BFE5992DE96CE43BB3
+ 10: 88532CC1F3E321F66D64, 528B3516C6D9A4B5390DD32C2A2E6C19
+ 11: 9216A8FC9A961E7F602F7D, B03047186B783844F5B6757057576B38
+ 12: 89B0858D4FDE6795EDE19CCC, F4530A2DCA823307AEDE5AF34E5C4191
+ 13: A676E20BB0A5E84FD0B9149BF7, 11B823B315DA93B0E15780851526D4BD
+ 14: 903AD5C108C43A80436FE2117EF0, EB1C79C7DF20CE2967A99783EA8D6EF8
+ 15: 81774C36F46F67159B7FFC24C080D7, 2E9E4812D9A92977EC34922782B6420D
+ 16: 63FD1C3F692D64B2DA3982FCD474A5D4, 04171AE84857713A9BABBD4564875D33
+ 17: B1BF6AD99F83C9173C6C021ACA74C5431C, 38D17D4F6AA3C24B8F3B465EAACE0A1E
+ 18: 0948D1ED59F07DE44A96A76E05B0B6F7C309, 1848D886FCFF35E85B0DC3CBE5BEE7FA
+ 19: 3458E5911222F9C555A1054C7D9748876DA39A, 584AFAE72FB6065A74BE016CF39D2E86
+ 20: 641F3867185D0605E9D666AB605187E75A1299EF, 6F9332E6FB5EA0CE811E3345593CD163
+ 21: 0676622D07733EF31A765AAB1E713FCE329277FB16, 88547474050FFC986930CC04BA8A03F0
+ 22: 79861EC2FD2BCC5C12B69F30A1575FC66AC1405281BB, FC68EEAC8F39ED69D312AEABF8000084
+ 23: CB2731835A576F7F8F2C2786D786FB6186E2F85D89DA3B, 3ED9E95BC51CF6368E6EF63667B35BD8
+ 24: 3CB1C02FADB6DD5483BC5D3C03D944102CFCEDF82B913402, 1C3F60C989A6FBF41A7AF4F29115C334
+ 25: E69FAEA5E3D0B76EF9E70F99C5918D934D0E9836F248DB9EEE, 7F1916B2CF7C9A5E3F5581D365ADBD31
+ 26: 36779AD755A9DF2DC3C5824DC2F7DD4FFE038628A4E1A1C33AE7, 2BDED3703468D267F8AB7EC0AF8F1E65
+ 27: E9D325646A41EE5AA7DABCDE98DE83440A7DC02714BA0AEE017E22, 972F4D7832F3371C60DCD04A6DEDEA15
+ 28: 0FAAE3F6028A28A80BBFE71FA7AA9042E538B41A0D514D6EB4EE6029, F7B3925495E260249ACC6E1CBE956BC5
+ 29: A9CC39EFFEE354C0E0579256AA85CBAA7B10E670DD3828A7A05DA0F49D, 28D9D20187AFE70AD9DD16759F0EFEB5
+ 30: 032F4BBB4EBF2E65758C541FDAFF2107DDBED399739849F8EBB41AF9711F, A3436981ED637CE5EEE01B380C46ACAD
+ 31: 7B321ED831CE96A603668E3E74BBC7453749A03D04A1B38E95966E6CC488F0, 88D1DADF2C1EE0BA579D0A8A90C1E62A
+ 32: D862B0BD0E2178AE05AEFB14F34C791547C5956F1F3B5BD525926578DE383A94, BF32CFE059F27222DC55D3E7CE7C5F10
+
+CCM-anubis (16 byte key)
+  0: , C85F41475E06F25682F855C3D45A6523
+  1: 25, 437BD73ECB8CFFAD9B2876F08D4BDA36
+  2: 5ADC, 5C762058A5EF71278B69F567F18CBE51
+  3: 95E541, DF099E8218AEDE8087791B38298334E9
+  4: 2DAA84E4, 7437094198E4AD2647C2618248769A26
+  5: B9641C5855, 91B02EC44D22460BFF22BB40C799E20C
+  6: 102012BCEFA5, E60488DA65D683182F0EFDF9DA52A78C
+  7: 8F14972CA4F8EA, C26B51F20ACDEC7DCA911500CF1241ED
+  8: ED2714B652972256, 8BA29459D5D370FC608EE362B55B7633
+  9: BF58A269A4F59CE0A4, D69080820F836E5B5CA8F393E61ED009
+ 10: 44AF1F715ADAF26C6EF0, FEFBC7DB75ECDDBA4A13CBF9A57873D8
+ 11: 77CDE1B951F0803893642D, FBF8B80B061703504D8D3A7718366B6E
+ 12: DE599BAAC9D3EFD9FCD47E44, F636EC35D172D661F01746FF86688B95
+ 13: A792B8359050C4866572977415, AE67D4EED92E63A14003FBC936EEF43E
+ 14: 62D5A7A4DFB78A175831627987CB, 25F7B440DBE9902C28B28E50BF02C516
+ 15: B6F289459F924C76586F4EEA0C1CAA, 54266B4424C3AF6E81F6CC4F2437F54E
+ 16: 884B7DF3395F063DCA26BDF9F2FEF4EA, E3C2BFA1964EFDF78FDB9559C8031C50
+ 17: 774962377B8731F2F301B930487518801F, F35B54264711D843D23636BA6CFA3E4C
+ 18: E9C8D1164F2B196C7305406179B232E45F1F, 2A13E034A136EBC0ED3361737EAD214C
+ 19: D3DCD242C952C5589E00B65CD826CA87691B8F, 9D624D482042798DB896B55D801EAD98
+ 20: 57065B2655D4799C0478FE7E8463A2215E758875, C8FB052F14F9DF6731A9C8B566E71D53
+ 21: FF736FDBD23593D9BC9A0D8CA7D819F550EF969322, 5CC3023029790BFD43204B27D52D7D7E
+ 22: C562B7387B8F1D3DBA22DD1636C9C4AB443F2FF15F70, 195C928EAF88BB4ACBA8A01B4EBAEE6E
+ 23: D0AC6EA8A804DC261304D4821E6AD7FCC2F0DC1A299B9A, 34FE2034CCF09A98DD50581DA8BCBE39
+ 24: B65933A7D7C8EF19C1BDEAABE2B4CE5E821459D953565EF8, 42B20EF142EB228803D6AF47C6482BEB
+ 25: F1F4FCE842EFEF563F6F047956E6706DC9B178D00D82776D74, 3ECE3050D8C80319821D5F57A7CA7066
+ 26: 4A3F10F4E34210A5CA1B81AD4269CBC3FD