From b15f54e39cb36540408e374edcda8871e6e71295 Mon Sep 17 00:00:00 2001
From: Matt Johnston <matt@ucc.asn.au>
Date: Wed, 6 Jul 2005 03:53:40 +0000
Subject: [PATCH] Import of libtomcrypt 1.05

--HG--
branch : libtomcrypt-orig
extra : convert_revision : 42edf60b8235e6aa06e306688266188818e41c03
---
 Doxyfile                                      |   2 +-
 TODO                                          |   9 +
 build.sh                                      |  20 +
 changes                                       |  81 +++
 crypt.tex                                     | 592 +++++++++++++-----
 demos/encrypt.c                               |   4 +
 demos/hashsum.c                               |   4 +
 demos/multi.c                                 |   4 +
 demos/small.c                                 |   4 +
 demos/test.c                                  |  27 +-
 demos/timing.c                                |   5 +-
 demos/tv_gen.c                                |   4 +
 doc/crypt.pdf                                 | Bin 457121 -> 484454 bytes
 doc/footer.html                               |   6 +
 doc/header.html                               |   6 +
 genlist.sh                                    |   4 +
 makefile                                      | 105 +++-
 makefile.icc                                  |  71 ++-
 makefile.msvc                                 |  60 +-
 makefile.shared                               | 101 +--
 mess.sh                                       |   4 +
 notes/etc/saferp_optimizer.c                  |   4 +
 notes/etc/whirlgen.c                          |   4 +
 notes/etc/whirltest.c                         |   4 +
 notes/tech0005.txt                            |  18 +
 notes/tech0006.txt                            |  91 +++
 parsenames.pl                                 |   4 +
 run.sh                                        |  35 ++
 src/ciphers/aes/aes.c                         |   6 +-
 src/ciphers/aes/aes_tab.c                     |   4 +
 src/ciphers/anubis.c                          |   4 +
 src/ciphers/blowfish.c                        |   4 +
 src/ciphers/cast5.c                           |   4 +
 src/ciphers/des.c                             |   4 +
 src/ciphers/khazad.c                          |   4 +
 src/ciphers/noekeon.c                         |   4 +
 src/ciphers/rc2.c                             |   4 +
 src/ciphers/rc5.c                             |   4 +
 src/ciphers/rc6.c                             |   4 +
 src/ciphers/safer/safer.c                     |   4 +
 src/ciphers/safer/safer_tab.c                 |   4 +
 src/ciphers/safer/saferp.c                    |   4 +
 src/ciphers/skipjack.c                        |   4 +
 src/ciphers/twofish/twofish.c                 |   6 +-
 src/ciphers/twofish/twofish_tab.c             |   4 +
 src/ciphers/xtea.c                            |   4 +
 src/encauth/ccm/ccm_memory.c                  |   5 +-
 src/encauth/ccm/ccm_test.c                    |   4 +
 src/encauth/eax/eax_addheader.c               |   4 +
 src/encauth/eax/eax_decrypt.c                 |   4 +
 src/encauth/eax/eax_decrypt_verify_memory.c   |   4 +
 src/encauth/eax/eax_done.c                    |   4 +
 src/encauth/eax/eax_encrypt.c                 |   4 +
 .../eax/eax_encrypt_authenticate_memory.c     |   4 +
 src/encauth/eax/eax_init.c                    |   8 +-
 src/encauth/eax/eax_test.c                    |   4 +
 src/encauth/gcm/gcm_add_aad.c                 |   9 +-
 src/encauth/gcm/gcm_add_iv.c                  |   4 +
 src/encauth/gcm/gcm_done.c                    |   4 +
 src/encauth/gcm/gcm_gf_mult.c                 |   5 +
 src/encauth/gcm/gcm_init.c                    |  71 ++-
 src/encauth/gcm/gcm_memory.c                  |   4 +
 src/encauth/gcm/gcm_process.c                 |   4 +
 src/encauth/gcm/gcm_reset.c                   |   4 +
 src/encauth/gcm/gcm_test.c                    |   5 +-
 src/encauth/ocb/ocb_decrypt.c                 |   4 +
 src/encauth/ocb/ocb_decrypt_verify_memory.c   |   4 +
 src/encauth/ocb/ocb_done_decrypt.c            |   4 +
 src/encauth/ocb/ocb_done_encrypt.c            |   4 +
 src/encauth/ocb/ocb_encrypt.c                 |   4 +
 .../ocb/ocb_encrypt_authenticate_memory.c     |   4 +
 src/encauth/ocb/ocb_init.c                    |   4 +
 src/encauth/ocb/ocb_ntz.c                     |   4 +
 src/encauth/ocb/ocb_shift_xor.c               |   4 +
 src/encauth/ocb/ocb_test.c                    |   4 +
 src/encauth/ocb/s_ocb_done.c                  |   4 +
 src/hashes/chc/chc.c                          |   4 +
 src/hashes/helper/hash_file.c                 |   4 +
 src/hashes/helper/hash_filehandle.c           |   4 +
 src/hashes/helper/hash_memory.c               |   4 +
 src/hashes/helper/hash_memory_multi.c         |   4 +
 src/hashes/md2.c                              |  12 +-
 src/hashes/md4.c                              |  10 +-
 src/hashes/md5.c                              |  12 +-
 src/hashes/rmd128.c                           |  10 +-
 src/hashes/rmd160.c                           |  11 +-
 src/hashes/sha1.c                             |  11 +-
 src/hashes/sha2/sha224.c                      |  10 +-
 src/hashes/sha2/sha256.c                      |  12 +-
 src/hashes/sha2/sha384.c                      |  12 +-
 src/hashes/sha2/sha512.c                      |  12 +-
 src/hashes/tiger.c                            |  12 +-
 src/hashes/whirl/whirl.c                      |  10 +-
 src/hashes/whirl/whirltab.c                   |   4 +
 src/headers/ltc_tommath.h                     |   4 +
 src/headers/tomcrypt.h                        |   8 +-
 src/headers/tomcrypt_argchk.h                 |   4 +
 src/headers/tomcrypt_cfg.h                    |   4 +
 src/headers/tomcrypt_cipher.h                 |  20 +-
 src/headers/tomcrypt_custom.h                 |  76 ++-
 src/headers/tomcrypt_hash.h                   |  45 +-
 src/headers/tomcrypt_mac.h                    |   4 +
 src/headers/tomcrypt_macros.h                 |  12 +-
 src/headers/tomcrypt_misc.h                   |   4 +
 src/headers/tomcrypt_pk.h                     | 163 ++++-
 src/headers/tomcrypt_pkcs.h                   |  32 +-
 src/headers/tomcrypt_prng.h                   |   5 +
 src/headers/tommath_class.h                   |   4 +
 src/headers/tommath_superclass.h              |  10 +-
 src/mac/hmac/hmac_done.c                      |   4 +
 src/mac/hmac/hmac_file.c                      |   4 +
 src/mac/hmac/hmac_init.c                      |   4 +
 src/mac/hmac/hmac_memory.c                    |   4 +
 src/mac/hmac/hmac_memory_multi.c              |   4 +
 src/mac/hmac/hmac_process.c                   |   4 +
 src/mac/hmac/hmac_test.c                      |   4 +
 src/mac/omac/omac_done.c                      |   4 +
 src/mac/omac/omac_file.c                      |   4 +
 src/mac/omac/omac_init.c                      |   6 +-
 src/mac/omac/omac_memory.c                    |   4 +
 src/mac/omac/omac_memory_multi.c              |   4 +
 src/mac/omac/omac_process.c                   |   9 +-
 src/mac/omac/omac_test.c                      |   4 +
 src/mac/pelican/pelican.c                     |  16 +
 src/mac/pelican/pelican_memory.c              |   4 +
 src/mac/pelican/pelican_test.c                |   4 +
 src/mac/pmac/pmac_done.c                      |   4 +
 src/mac/pmac/pmac_file.c                      |   4 +
 src/mac/pmac/pmac_init.c                      |   4 +
 src/mac/pmac/pmac_memory.c                    |   4 +
 src/mac/pmac/pmac_memory_multi.c              |   4 +
 src/mac/pmac/pmac_ntz.c                       |   4 +
 src/mac/pmac/pmac_process.c                   |   4 +
 src/mac/pmac/pmac_shift_xor.c                 |   4 +
 src/mac/pmac/pmac_test.c                      |   4 +
 src/misc/base64/base64_decode.c               |   4 +
 src/misc/base64/base64_encode.c               |   4 +
 src/misc/burn_stack.c                         |   4 +
 src/misc/crypt/crypt.c                        |  13 +
 src/misc/crypt/crypt_argchk.c                 |   4 +
 src/misc/crypt/crypt_cipher_descriptor.c      |   6 +
 src/misc/crypt/crypt_cipher_is_valid.c        |   7 +
 src/misc/crypt/crypt_find_cipher.c            |   7 +
 src/misc/crypt/crypt_find_cipher_any.c        |   7 +
 src/misc/crypt/crypt_find_cipher_id.c         |  10 +-
 src/misc/crypt/crypt_find_hash.c              |   7 +
 src/misc/crypt/crypt_find_hash_any.c          |   6 +
 src/misc/crypt/crypt_find_hash_id.c           |  14 +-
 src/misc/crypt/crypt_find_prng.c              |   7 +
 src/misc/crypt/crypt_hash_descriptor.c        |   7 +
 src/misc/crypt/crypt_hash_is_valid.c          |   7 +
 src/misc/crypt/crypt_prng_descriptor.c        |   7 +
 src/misc/crypt/crypt_prng_is_valid.c          |   7 +
 src/misc/crypt/crypt_register_cipher.c        |   8 +
 src/misc/crypt/crypt_register_hash.c          |   8 +
 src/misc/crypt/crypt_register_prng.c          |   8 +
 src/misc/crypt/crypt_unregister_cipher.c      |   7 +
 src/misc/crypt/crypt_unregister_hash.c        |   7 +
 src/misc/crypt/crypt_unregister_prng.c        |   9 +-
 src/misc/error_to_string.c                    |   4 +
 src/misc/mpi/is_prime.c                       |   4 +
 src/misc/mpi/mpi.c                            |   4 +
 src/misc/mpi/mpi_to_ltc_error.c               |   4 +
 src/misc/mpi/rand_prime.c                     |   4 +
 src/misc/pkcs5/pkcs_5_1.c                     |   4 +
 src/misc/pkcs5/pkcs_5_2.c                     |   4 +
 src/misc/zeromem.c                            |   4 +
 src/modes/cbc/cbc_decrypt.c                   |   4 +
 src/modes/cbc/cbc_done.c                      |   4 +
 src/modes/cbc/cbc_encrypt.c                   |   4 +
 src/modes/cbc/cbc_getiv.c                     |   4 +
 src/modes/cbc/cbc_setiv.c                     |   4 +
 src/modes/cbc/cbc_start.c                     |   4 +
 src/modes/cfb/cfb_decrypt.c                   |   4 +
 src/modes/cfb/cfb_done.c                      |   4 +
 src/modes/cfb/cfb_encrypt.c                   |   4 +
 src/modes/cfb/cfb_getiv.c                     |   4 +
 src/modes/cfb/cfb_setiv.c                     |   4 +
 src/modes/cfb/cfb_start.c                     |   4 +
 src/modes/ctr/ctr_decrypt.c                   |   4 +
 src/modes/ctr/ctr_done.c                      |   4 +
 src/modes/ctr/ctr_encrypt.c                   |   6 +-
 src/modes/ctr/ctr_getiv.c                     |   4 +
 src/modes/ctr/ctr_setiv.c                     |   4 +
 src/modes/ctr/ctr_start.c                     |  20 +-
 src/modes/ecb/ecb_decrypt.c                   |   4 +
 src/modes/ecb/ecb_done.c                      |   6 +-
 src/modes/ecb/ecb_encrypt.c                   |   4 +
 src/modes/ecb/ecb_start.c                     |   4 +
 src/modes/ofb/ofb_decrypt.c                   |   4 +
 src/modes/ofb/ofb_done.c                      |   4 +
 src/modes/ofb/ofb_encrypt.c                   |   4 +
 src/modes/ofb/ofb_getiv.c                     |   4 +
 src/modes/ofb/ofb_setiv.c                     |   4 +
 src/modes/ofb/ofb_start.c                     |   4 +
 src/pk/asn1/der/bit/der_decode_bit_string.c   | 101 +++
 src/pk/asn1/der/bit/der_encode_bit_string.c   |  87 +++
 src/pk/asn1/der/bit/der_length_bit_string.c   |  54 ++
 src/pk/asn1/der/choice/der_decode_choice.c    | 168 +++++
 src/pk/asn1/der/der_get_multi_integer.c       |  67 --
 src/pk/asn1/der/der_put_multi_integer.c       |  67 --
 src/pk/asn1/der/ia5/der_decode_ia5_string.c   |  95 +++
 src/pk/asn1/der/ia5/der_encode_ia5_string.c   |  84 +++
 src/pk/asn1/der/ia5/der_length_ia5_string.c   | 194 ++++++
 .../der/{ => integer}/der_decode_integer.c    |  68 +-
 .../der/{ => integer}/der_encode_integer.c    |  87 ++-
 .../der/{ => integer}/der_length_integer.c    |  36 +-
 .../der_decode_object_identifier.c            |  99 +++
 .../der_encode_object_identifier.c            | 103 +++
 .../der_length_object_identifier.c            |  84 +++
 .../asn1/der/octet/der_decode_octet_string.c  |  90 +++
 .../asn1/der/octet/der_encode_octet_string.c  |  85 +++
 .../asn1/der/octet/der_length_octet_string.c  |  53 ++
 .../der_decode_printable_string.c             |  95 +++
 .../der_encode_printable_string.c             |  84 +++
 .../der_length_printable_string.c             | 166 +++++
 .../asn1/der/sequence/der_decode_sequence.c   | 234 +++++++
 .../der/sequence/der_decode_sequence_multi.c  | 124 ++++
 .../asn1/der/sequence/der_encode_sequence.c   | 281 +++++++++
 .../der/sequence/der_encode_sequence_multi.c  | 123 ++++
 .../asn1/der/sequence/der_length_sequence.c   | 144 +++++
 .../short_integer/der_decode_short_integer.c  |  68 ++
 .../short_integer/der_encode_short_integer.c  |  97 +++
 .../short_integer/der_length_short_integer.c  |  69 ++
 src/pk/asn1/der/utctime/der_decode_utctime.c  | 120 ++++
 src/pk/asn1/der/utctime/der_encode_utctime.c  |  80 +++
 src/pk/asn1/der/utctime/der_length_utctime.c  |  45 ++
 src/pk/dh/dh.c                                |   4 +
 src/pk/dh/dh_sys.c                            |   4 +
 src/pk/dsa/dsa_export.c                       |  47 +-
 src/pk/dsa/dsa_free.c                         |   4 +
 src/pk/dsa/dsa_import.c                       |  66 +-
 src/pk/dsa/dsa_make_key.c                     |  12 +-
 src/pk/dsa/dsa_sign_hash.c                    |  99 ++-
 src/pk/dsa/dsa_verify_hash.c                  |  72 ++-
 src/pk/dsa/dsa_verify_key.c                   |   4 +
 src/pk/ecc/ecc.c                              | 480 +++++---------
 src/pk/ecc/ecc_sys.c                          | 426 +++++--------
 src/pk/packet_store_header.c                  |   4 +
 src/pk/packet_valid_header.c                  |   4 +
 src/pk/pkcs1/pkcs_1_i2osp.c                   |   4 +
 src/pk/pkcs1/pkcs_1_mgf1.c                    |   4 +
 src/pk/pkcs1/pkcs_1_oaep_decode.c             |  24 +-
 src/pk/pkcs1/pkcs_1_oaep_encode.c             |  34 +-
 src/pk/pkcs1/pkcs_1_os2ip.c                   |   4 +
 src/pk/pkcs1/pkcs_1_pss_decode.c              |  15 +-
 src/pk/pkcs1/pkcs_1_pss_encode.c              |  30 +-
 src/pk/pkcs1/pkcs_1_v15_es_decode.c           |  74 ---
 src/pk/pkcs1/pkcs_1_v15_es_encode.c           |  69 --
 src/pk/pkcs1/pkcs_1_v15_sa_decode.c           |  91 ---
 src/pk/pkcs1/pkcs_1_v15_sa_encode.c           |  84 ---
 src/pk/rsa/rsa_decrypt_key.c                  |   4 +
 src/pk/rsa/rsa_encrypt_key.c                  |   4 +
 src/pk/rsa/rsa_export.c                       |  64 +-
 src/pk/rsa/rsa_exptmod.c                      |  10 +
 src/pk/rsa/rsa_free.c                         |   4 +
 src/pk/rsa/rsa_import.c                       |  76 +--
 src/pk/rsa/rsa_make_key.c                     |   4 +
 src/pk/rsa/rsa_sign_hash.c                    |   4 +
 src/pk/rsa/rsa_v15_decrypt_key.c              |  73 ---
 src/pk/rsa/rsa_v15_encrypt_key.c              |  68 --
 src/pk/rsa/rsa_v15_sign_hash.c                |  66 --
 src/pk/rsa/rsa_v15_verify_hash.c              |  81 ---
 src/pk/rsa/rsa_verify_hash.c                  |   4 +
 src/prngs/fortuna.c                           |   4 +
 src/prngs/rc4.c                               |   4 +
 src/prngs/rng_get_bytes.c                     |   4 +
 src/prngs/rng_make_prng.c                     |   4 +
 src/prngs/sober128.c                          |   4 +
 src/prngs/sober128tab.c                       |   8 +-
 src/prngs/sprng.c                             |   4 +
 src/prngs/yarrow.c                            |   5 +
 testbuild.sh                                  |  11 +
 testme.sh                                     |  52 ++
 testprof/base64_test.c                        |   6 +-
 testprof/cipher_hash_test.c                   |   4 +
 testprof/der_tests.c                          | 364 +++++++++--
 testprof/dh_tests.c                           |  20 +-
 testprof/dsa_test.c                           |  15 +-
 testprof/ecc_test.c                           | 201 +++---
 testprof/mac_test.c                           |   4 +
 testprof/makefile.icc                         |   2 +-
 testprof/modes_test.c                         |  24 +-
 testprof/pkcs_1_test.c                        |  46 +-
 testprof/rsa_test.c                           | 210 +++++--
 testprof/store_test.c                         |  40 +-
 testprof/test.c                               |   4 +
 testprof/test.key                             |  15 +
 testprof/tomcrypt_test.h                      |   4 +
 testprof/x86_prof.c                           | 112 ++--
 290 files changed, 6829 insertions(+), 2378 deletions(-)
 create mode 100644 build.sh
 create mode 100644 mess.sh
 create mode 100644 notes/tech0005.txt
 create mode 100644 notes/tech0006.txt
 create mode 100644 run.sh
 create mode 100644 src/pk/asn1/der/bit/der_decode_bit_string.c
 create mode 100644 src/pk/asn1/der/bit/der_encode_bit_string.c
 create mode 100644 src/pk/asn1/der/bit/der_length_bit_string.c
 create mode 100644 src/pk/asn1/der/choice/der_decode_choice.c
 delete mode 100644 src/pk/asn1/der/der_get_multi_integer.c
 delete mode 100644 src/pk/asn1/der/der_put_multi_integer.c
 create mode 100644 src/pk/asn1/der/ia5/der_decode_ia5_string.c
 create mode 100644 src/pk/asn1/der/ia5/der_encode_ia5_string.c
 create mode 100644 src/pk/asn1/der/ia5/der_length_ia5_string.c
 rename src/pk/asn1/der/{ => integer}/der_decode_integer.c (52%)
 rename src/pk/asn1/der/{ => integer}/der_encode_integer.c (53%)
 rename src/pk/asn1/der/{ => integer}/der_length_integer.c (57%)
 create mode 100644 src/pk/asn1/der/object_identifier/der_decode_object_identifier.c
 create mode 100644 src/pk/asn1/der/object_identifier/der_encode_object_identifier.c
 create mode 100644 src/pk/asn1/der/object_identifier/der_length_object_identifier.c
 create mode 100644 src/pk/asn1/der/octet/der_decode_octet_string.c
 create mode 100644 src/pk/asn1/der/octet/der_encode_octet_string.c
 create mode 100644 src/pk/asn1/der/octet/der_length_octet_string.c
 create mode 100644 src/pk/asn1/der/printable_string/der_decode_printable_string.c
 create mode 100644 src/pk/asn1/der/printable_string/der_encode_printable_string.c
 create mode 100644 src/pk/asn1/der/printable_string/der_length_printable_string.c
 create mode 100644 src/pk/asn1/der/sequence/der_decode_sequence.c
 create mode 100644 src/pk/asn1/der/sequence/der_decode_sequence_multi.c
 create mode 100644 src/pk/asn1/der/sequence/der_encode_sequence.c
 create mode 100644 src/pk/asn1/der/sequence/der_encode_sequence_multi.c
 create mode 100644 src/pk/asn1/der/sequence/der_length_sequence.c
 create mode 100644 src/pk/asn1/der/short_integer/der_decode_short_integer.c
 create mode 100644 src/pk/asn1/der/short_integer/der_encode_short_integer.c
 create mode 100644 src/pk/asn1/der/short_integer/der_length_short_integer.c
 create mode 100644 src/pk/asn1/der/utctime/der_decode_utctime.c
 create mode 100644 src/pk/asn1/der/utctime/der_encode_utctime.c
 create mode 100644 src/pk/asn1/der/utctime/der_length_utctime.c
 delete mode 100644 src/pk/pkcs1/pkcs_1_v15_es_decode.c
 delete mode 100644 src/pk/pkcs1/pkcs_1_v15_es_encode.c
 delete mode 100644 src/pk/pkcs1/pkcs_1_v15_sa_decode.c
 delete mode 100644 src/pk/pkcs1/pkcs_1_v15_sa_encode.c
 delete mode 100644 src/pk/rsa/rsa_v15_decrypt_key.c
 delete mode 100644 src/pk/rsa/rsa_v15_encrypt_key.c
 delete mode 100644 src/pk/rsa/rsa_v15_sign_hash.c
 delete mode 100644 src/pk/rsa/rsa_v15_verify_hash.c
 create mode 100644 testbuild.sh
 create mode 100644 testme.sh
 create mode 100644 testprof/test.key

diff --git a/Doxyfile b/Doxyfile
index d42b778d..a8de8a9f 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -23,7 +23,7 @@ PROJECT_NAME           = LibTomCrypt
 # This could be handy for archiving the generated documentation or 
 # if some version control system is used.
 
-PROJECT_NUMBER         = 1.02
+PROJECT_NUMBER         = 1.05
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
 # base path where the generated documentation will be put. 
diff --git a/TODO b/TODO
index 8b137891..f4f06654 100644
--- a/TODO
+++ b/TODO
@@ -1 +1,10 @@
+For 1.06
 
+1. export ECC functions globally [e.g. mulmod and the sets]
+   - goal is tv_gen module and test vectors
+2. ASN.1 SET and T61String
+3. phase out DH code [RSA/ECC/DSA is enough]
+4. Some ASN.1 demo programs [for now read the source code!]
+5. Start working towards making the bignum code plugable
+6. Look into other ECC point muls and consider a "precomp" interface 
+7. Add OID for ciphers and PRNGs to their descriptors
diff --git a/build.sh b/build.sh
new file mode 100644
index 00000000..a018aaca
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+echo "$1 ($2, $3)..."
+make clean 1>/dev/null 2>/dev/null
+echo -n "building..."
+CFLAGS="$2 $CFLAGS" make -j3 -f $3 test tv_gen 1>gcc_1.txt 2>gcc_2.txt || (echo "build $1 failed see gcc_2.txt for more information" && cat gcc_2.txt && exit 1)
+echo -n "testing..."
+if [ -a test ] && [ -f test ] && [ -x test ]; then
+   ((./test >test_std.txt 2>test_err.txt && ./tv_gen > tv.txt) && echo "$1 test passed." && echo "y" > testok.txt) || (echo "$1 test failed" && cat test_err.txt && exit 1)
+   if find *_tv.txt -type f 1>/dev/null 2>/dev/null ; then
+      for f in *_tv.txt; do if (diff $f notes/$f) then true; else (echo "tv_gen $f failed" && rm -f testok.txt && exit 1); fi; done
+   fi
+fi
+if [ -a testok.txt ] && [ -f testok.txt ]; then
+   exit 0
+fi
+exit 1
+
+# $Source: /cvs/libtom/libtomcrypt/build.sh,v $   
+# $Revision: 1.5 $   
+# $Date: 2005/06/27 13:04:05 $ 
diff --git a/changes b/changes
index 54480cf3..65ccd164 100644
--- a/changes
+++ b/changes
@@ -1,3 +1,79 @@
+June 27th, 2005
+v1.05
+      -- Added Technote #6 which covers the current PK compliance.  
+      -- Fixed buffer overflow in OAEP decoder
+      -- Added CHOICE to the list of ASN.1 types
+      -- Added UTCTIME to the list of ASN.1 types
+      -- Added MUTEX locks around descriptor table functions [but not on the functions that are dependent on them]
+         All functions call *_is_valid() before using a descriptor index which means the respective table must be unlocked before 
+         it can be accessed.  However, during the operation [e.g. CCM] if the descriptor has been altered the results will be 
+         undefined.  
+      -- Minor updates to the manual to reflect recent changes
+      -- Added a catch to for an error that should never come up in rsa_exptmod().  Just being thorough.
+
+June 15th, 2005
+v1.04
+      -- Fixed off by one [bit] error in dsa_make_key() it was too high by one bit [not a security problem just inconsistent]
+      -- ECC-224 curve was wrong [it was an ok curve just not NIST, so no security flaw just interoperability].
+      -- Removed point compression since it slows down ECC ops to save a measly couple bytes.
+         This makes the ecc export format incompatible with 1.03 [it shouldn't change in the future]
+      -- Removed ECC-160 from timing and added the other curves
+
+June 9th, 2005
+v1.03
+      -- Users may want to note that on a P4/GCC3.4 platform "-fno-regmove" greatly accelerates the ciphers/hashes.
+      --------------------------------------------------------------------------------------------------------------
+      -- Made it install the testing library in the icc/static makefiles
+      -- Found bug in ccm_memory.c which would fail to compile when LTC_CLEAN_STACK was enabled
+      -- Simon Johnson proposed I do a fully automated test suite.  Hence "testme.sh" was born
+      -- Added LTC_NO_TEST which forces test vectors off (regardless of what tomcrypt_custom.h has)
+      -- Added LTC_NO_TABLES which disables large tables (where possible, regardless of what tomcrypt_custom.h has)
+      -- New test script found a bug in twofish.c when TABLES was disabled.  Yeah testing!
+      -- Added a LTC_FAST specific test to the testing software.
+      -- Updated test driver to actually halt on errors and just print them out (useful for say... automated testing...)
+      -- Added bounds checking to Pelican MAC
+      -- Added BIT and OCTET STRING to the ASN.1 side of things.  
+      -- Pekka Riikonen pointed out that my ctr_start() function should accept the counter mode. 
+      -- Cleaned up warnings in testprof
+      -- Removed redundant mu and point mapping in ecc_verify_hash() so it should be a bit faster now
+      -- Pekka pointed out that the AES key structure was using 32 bytes more than it ought to.
+      -- Added quick defines to remove entire classes of algorithms.  This makes it easier if you want to build with just 
+         one algorithm (say AES or SHA-256).  Defines are LTC_NO_CIPHERS, LTC_NO_MODES, LTC_NO_HASHES, LTC_NO_MACS,
+         LTC_NO_PRNGS, LTC_NO_PK, LTC_NO_PKCS
+      -- As part of the move for ECC to X9.62 I've changed the signature algorithm to EC DSA.  No API changes.
+      -- Pekka helped me clean up the PKCS #1 v2.1 [OAEP/PSS] code
+      -- Wrote new DER SEQUENCE coder/decoder
+      -- RSA, DSA and ECDSA now use the DER SEQUENCE code (saves a lot of code!)
+      -- DSA output is now a DER SEQUENCE (so not compatible with previous releases).  
+      -- Added Technote #5 which shows how to build LTC on an AMD64 to have a variety of algorithms in only ~80KB of code.
+      -- Changed temp variable in LOAD/STORE macros to "ulong32" for 32-bit ops.  Makes it safer on Big endian platforms
+      -- Added INSTALL_GROUP and INSTALL_USER which you can specify on the build to override the default USER/GROUP the library 
+         is to be installed as
+      -- Removed "testprof" from the default build.  
+      -- Added IA5, NULL and Object Identifier to the list of ASN.1 DER supported types
+      -- The "no_oops" target (part of zipup) now scans for non-cvs files.  This helps prevent temp/scratch files from appearing in releases ;-)
+      -- Added DERs for missing hashes, but just the OID not the PKCS #1 v1.5 additions. 
+      -- Removed PKCS #1 v1.5 from the tree since it's taking up space and you ought to use v2.1 anyways
+      -- Kevin Kenny pointed out a few stray // comments
+      -- INTEGER code properly supports negatives and zero padding [Pekka!]
+      -- Sorted asn1/der/ directory ... less of a mess now ;-)
+      -- Added PRINTABLE STRING type
+      -- Removed ECC-160 as it wasn't a standard curve
+      -- Made ecc_shared_secret() ANSI X9.63 compliant
+      -- Changed "printf" to "fprintf(stderr, " in the testbench... ;-)
+      -- Optimized the GCM table creation.  On 1KB packets [with key switching] the new GCM is 12.7x faster than before.
+      -- Changed OID representation for hashes to be just a list of unsigned longs (so you can compare against them nicely after decoding a sequence)
+      -- ECC code now uses Montgomery reduction ... it's even faster [ECC-256 make key down from 37.4M to 4.6M cycles on an Athlon64]
+      -- Added SHORT_INTEGER so users can easily store DER encoded INTEGER types without using the bignum math library
+      -- Fixed OMAC code so that with LTC_FAST it doesn't require that LTC_FAST_TYPE divides 16 [it has to divide the block size instead]
+      -- ECC key export is now a simple [and documented] SEQUENCE, the "encrypt_key" also uses a new SEQUENCE format.
+      -- Thanks goes to the following testers
+            Michael Brown             - Solaris 10/uSPARCII
+            Richard Outerbridge       - MacOS
+            Martin Carpenter          - Solaris 8/uSPARCII [Thanks for cleaning up the scripts]
+            Greg Rose                 -  ... SunOS 5.8/SPARC [... what's with the SPARCS?]
+            Matt Johnston             - MacOS X  [Thanks for pointing out GCC 4 problems with -Os]
+
 April 19th, 2005
 v1.02
       -- Added LTC_TEST support to gcm_test()
@@ -1243,3 +1319,8 @@ v0.02  -- Changed RC5 to only allow 12 to 24 rounds
        -- Added more to the manual.
 
 v0.01  -- We will call this the first version.
+
+/* $Source: /cvs/libtom/libtomcrypt/changes,v $ */
+/* $Revision: 1.106 $ */
+/* $Date: 2005/06/27 12:37:06 $ */
+
diff --git a/crypt.tex b/crypt.tex
index c785e83a..cf1c37ed 100644
--- a/crypt.tex
+++ b/crypt.tex
@@ -47,7 +47,7 @@
 \def\gap{\vspace{0.5ex}}
 \makeindex
 \begin{document}
-\title{LibTomCrypt \\ Version 1.02}
+\title{LibTomCrypt \\ Version 1.05}
 \author{Tom St Denis \\
 \\
 tomstdenis@gmail.com \\
@@ -57,7 +57,7 @@ http://libtomcrypt.org
 This text and source code library are both hereby placed in the public domain.  This book has been 
 formatted for A4 paper using the \LaTeX{} {\em book} macro package.
 
-\vspace{10cm}
+\vspace{15cm}
 
 \begin{flushright}Open Source.  Open Academia.  Open Minds.
 
@@ -771,13 +771,19 @@ other modes.
 \index{OFB Mode} \index{CFB Mode}
 The library provides simple support routines for handling CBC, CTR, CFB, OFB and ECB encoded messages.  Assuming the mode 
 you want is XXX there is a structure called ``symmetric\_XXX'' that will contain the information required to
-use that mode.  They have identical setup routines (except ECB mode for obvious reasons):
+use that mode.  They have identical setup routines (except CTR and ECB mode):
 \index{ecb\_start()} \index{cfb\_start()} \index{cbc\_start()} \index{ofb\_start()} \index{ctr\_start()}
 \begin{verbatim}
 int XXX_start(int cipher, const unsigned char *IV, 
               const unsigned char *key, int keylen, 
               int num_rounds, symmetric_XXX *XXX);
 
+int ctr_start(               int   cipher,
+              const unsigned char *IV,
+              const unsigned char *key,       int keylen,
+                             int  num_rounds, int ctr_mode,
+                   symmetric_CTR *ctr);
+
 int ecb_start(int cipher, const unsigned char *key, int keylen, 
               int num_rounds, symmetric_ECB *ecb);
 \end{verbatim}
@@ -789,7 +795,12 @@ of the cipher you choose.  It is important that the IV  be random for each uniqu
 parameters ``key'', ``keylen'' and ``num\_rounds'' are the same as in the XXX\_setup() function call.  The final parameter 
 is a pointer to the structure you want to hold the information for the mode of operation.
 
-Both routines return {\bf CRYPT\_OK} if the cipher initialized correctly, otherwise they return an error code.  
+
+In the case of CTR mode there is an additional parameter ``ctr\_mode'' which specifies the mode that the counter is to be used in.
+If \textbf{CTR\_COUNTER\_LITTLE\_ENDIAN} was specified then the counter will be treated as a little endian value.  Otherwise, if 
+\textbf{CTR\_COUNTER\_BIG\_ENDIAN} was specified the counter will be treated as a big endian value.
+
+The routines return {\bf CRYPT\_OK} if the cipher initialized correctly, otherwise they return an error code.  
 
 \subsection{Encryption and Decryption}
 To actually encrypt or decrypt the following routines are provided:
@@ -867,6 +878,7 @@ int main(void)
                            key, /* the secret key */
                             16, /* length of secret key (16 bytes, 128 bits) */
                              0, /* 0 == default # of rounds */
+     CTR_COUNTER_LITTLE_ENDIAN, /* Little endian counter */
                          &ctr)  /* where to store initialized CTR state */
       ) != CRYPT_OK) {
       printf("ctr_start error: %s\n", error_to_string(err));
@@ -1349,7 +1361,7 @@ int send_packet(const unsigned char *pt,  unsigned long ptlen,
    }
 
    /* process the plaintext */
-   if ((err = gcm_add_process(gcm, pt, ptlen, pt, GCM_ENCRYPT)) != CRYPT_OK) {
+   if ((err = gcm_process(gcm, pt, ptlen, pt, GCM_ENCRYPT)) != CRYPT_OK) {
       return err;
    }
 
@@ -1359,6 +1371,8 @@ int send_packet(const unsigned char *pt,  unsigned long ptlen,
       return err;
    }
 
+   /* ... send a header describing the lengths ... */
+
    /* depending on the protocol and how IV is generated you may have to send it too... */
    send(socket, iv, ivlen, 0);
 
@@ -2452,8 +2466,8 @@ int main(void)
 
 \section{Introduction}
 RSA wrote the PKCS \#1 specifications which detail RSA Public Key Cryptography.  In the specifications are
-padding algorithms for encryption and signatures.  The standard includes ``v1.5'' and ``v2.0'' algorithms.
-To simplify matters a little the v2.0 encryption and signature padding algorithms are called OAEP and PSS 
+padding algorithms for encryption and signatures.  The standard includes the ``v2.1'' algorithms.
+To simplify matters a little the v2.1 encryption and signature padding algorithms are called OAEP and PSS 
 respectively.  
 
 \section{PKCS \#1 Encryption}
@@ -2509,33 +2523,6 @@ If the function succeeds it decodes the OAEP encoded message into ``out'' of len
 $1$ in ``res''.  If the packet is invalid it stores $0$ in ``res'' and if the function fails for another reason
 it returns an error code.  
 
-\subsection{PKCS \#1 v1.5 Encoding}
-
-\index{pkcs\_1\_v15\_es\_encode()}
-\begin{verbatim}
-int pkcs_1_v15_es_encode(const unsigned char *msg,    unsigned long msglen,
-                               unsigned long  modulus_bitlen, 
-                               prng_state    *prng,   int           prng_idx,
-                               unsigned char *out,    unsigned long *outlen);
-\end{verbatim}
-
-This will PKCS v1.5 encode the data in ``msg'' of length ``msglen''.  Pass the length (in bits) of your
-RSA modulus in ``modulus\_bitlen''.  The encoded data will be stored in ``out'' of length ``outlen''.
-
-\subsection{PKCS \#1 v1.5 Decoding}
-\index{pkcs\_1\_v15\_es\_decode()}
-\begin{verbatim}
-int pkcs_1_v15_es_decode(const unsigned char *msg,  unsigned long msglen,
-                               unsigned long modulus_bitlen,
-                               unsigned char *out,  unsigned long outlen,
-                               int           *res);
-\end{verbatim}
-
-This will PKCS v1.5 decode the message in ``msg'' of length ``msglen''.  It will store the output in ``out''. Note
-that the length of the output ``outlen'' is a constant.  This decoder cannot determine the original message 
-length.  If the data in ``msg'' is a valid packet then a $1$ is stored in ``res'', otherwise a $0$ is 
-stored.
-
 \section{PKCS \#1 Digital Signatures}
 
 \subsection{PSS Encoding}
@@ -2577,34 +2564,6 @@ it is set to zero.  The rest of the parameters are as in the PSS encode call.
 
 It's important to use the same ``saltlen'' and hash for both encoding and decoding as otherwise the procedure will not work.
 
-\subsection{PKCS \#1 v1.5 Encoding}
-
-\index{pkcs\_1\_v15\_sa\_encode()}
-\begin{verbatim}
-int pkcs_1_v15_sa_encode(const unsigned char *msghash,  unsigned long msghashlen,
-                               int            hash_idx, unsigned long modulus_bitlen,
-                               unsigned char *out,      unsigned long *outlen);
-\end{verbatim}
-
-This will PKCS \#1 v1.5 signature encode the message hash ``msghash''  of length ``msghashlen''.  You have
-to tell this routine which hash produced the message hash in ``hash\_idx''.  The encoded hash is stored
-in ``out'' of length ``outlen''.
-
-\subsection{PKCS \#1 v1.5 Decoding}
-
-\index{pkcs\_1\_v15\_sa\_decode()}
-\begin{verbatim}
-int pkcs_1_v15_sa_decode(const unsigned char *msghash, unsigned long msghashlen,
-                         const unsigned char *sig,     unsigned long siglen,
-                               int           hash_idx, unsigned long modulus_bitlen, 
-                               int          *res);
-\end{verbatim}
-
-This will PKCS \#1 v1.5 signature decode the data in ``sig'' of length ``siglen'' and compare the extracted
-hash against ``msghash'' of length ``msghashlen''.  You have to tell this routine which hash produced the
-message digest in ``hash\_idx''.  If the packet is valid and the hashes match ``res'' is set to $1$.  Otherwise,
-it is set to $0$.
-
 \section{RSA Operations}
 \subsection{Background}
 
@@ -2698,15 +2657,14 @@ to pkcs\_1\_oaep\_encode().
 int rsa_decrypt_key(const unsigned char *in,  unsigned long inlen,
                           unsigned char *out, unsigned long *outlen, 
                     const unsigned char *lparam, unsigned long lparamlen,
-                          prng_state    *prng,   int           prng_idx,
-                          int            hash_idx, int *res,
+                          int            hash_idx, int *stat,
                           rsa_key       *key);
 \end{verbatim}
 This function will RSA decrypt ``in'' of length ``inlen'' then OAEP depad the resulting data and store it in
 ``out'' of length ``outlen''.  The ``lparam'' and ``lparamlen'' are the same parameters you would pass
 to pkcs\_1\_oaep\_decode().
 
-If the RSA decrypted data isn't a valid OAEP packet then ``res'' is set to $0$.  Otherwise, it is set to $1$.
+If the RSA decrypted data isn't a valid OAEP packet then ``stat'' is set to $0$.  Otherwise, it is set to $1$.
 
 \subsection{RSA Hash Signatures}
 Similar to RSA key encryption RSA is also used to ``digitally sign'' message digests (hashes).  To facilitate this
@@ -2729,7 +2687,6 @@ the output is stored in ``out'' of length ``outlen''.
 \begin{verbatim}
 int rsa_verify_hash(const unsigned char *sig,      unsigned long siglen,
                     const unsigned char *msghash,  unsigned long msghashlen,
-                          prng_state    *prng,     int           prng_idx,
                           int            hash_idx, unsigned long saltlen,
                           int           *stat,     rsa_key      *key);
 \end{verbatim}
@@ -2799,8 +2756,6 @@ int main(void)
                               &l2, /* plaintext length */
                         "TestApp", /* lparam for this program */
                                 7, /* lparam is 7 bytes long */
-                             NULL, /* PRNG state */
-                         prng_idx, /* prng idx */
                          hash_idx, /* hash idx */
                              &res, /* validity of data */
                              &key) /* our RSA key */ 
@@ -3060,6 +3015,33 @@ provided are very close to $p$ that is $\vert \vert \phi(\beta) \vert \vert \app
 range in order from $\approx 2^{192}$ points to $\approx 2^{521}$.  According to the source document any key size greater
 than or equal to 256-bits is sufficient for long term security.  
 
+\section{Key Format}
+LibTomCrypt uses it's own format for ECC public and private keys.  While ANSI X9.62 partially specifies key formats (it covers public keys) it does it in a less
+than ideally simple manner.  In the case of LibTomCrypt it is meant \textbf{solely} for NIST $GF(p)$ curves.  The format of the keys is as follows:
+
+\begin{small}
+\begin{verbatim}
+ECCPublicKey ::= SEQUENCE {
+    flags       BIT STRING(1), -- public/private flag (always zero), 
+    keySize     INTEGER,       -- Curve size (in bits) divided by eight 
+                               -- and rounded down, e.g. 521 => 65
+    pubkey.x    INTEGER,       -- The X co-ordinate of the public key point
+    pubkey.y    INTEGER,       -- The Y co-ordinate of the public key point
+}
+
+ECCPrivateKey ::= SEQUENCE {
+    flags       BIT STRING(1), -- public/private flag (always one), 
+    keySize     INTEGER,       -- Curve size (in bits) divided by eight 
+                               -- and rounded down, e.g. 521 => 65
+    pubkey.x    INTEGER,       -- The X co-ordinate of the public key point
+    pubkey.y    INTEGER,       -- The Y co-ordinate of the public key point
+    secret.k    INTEGER,       -- The secret key scalar
+}
+\end{verbatim}
+\end{small}
+
+The first flags bit denotes whether the key is public (zero) or private (one).  
+
 \section{Core Functions}
 
 Like the DH routines there is a key structure ``ecc\_key'' used by the functions.  There is a function to make a key:
@@ -3069,8 +3051,8 @@ int ecc_make_key(prng_state *prng, int wprng,
                  int keysize, ecc_key *key);
 \end{verbatim}
 
-The ``keysize'' is the size of the modulus in bytes desired.  Currently directly supported values are 20, 24, 28, 32, 48 and 65 bytes which
-correspond to key sizes of 160, 192, 224, 256, 384 and 521 bits respectively.  If you pass a key size that is between any key size
+The ``keysize'' is the size of the modulus in bytes desired.  Currently directly supported values are 24, 28, 32, 48 and 65 bytes which
+correspond to key sizes of 192, 224, 256, 384 and 521 bits respectively.  If you pass a key size that is between any key size
 it will round the keysize up to the next available one.  The rest of the parameters work like they do in the ``dh\_make\_key()'' function.  
 To free the ram allocated by a key call:
 \index{ecc\_free()}
@@ -3129,11 +3111,23 @@ int ecc_decrypt_key(const unsigned char *in,  unsigned long  inlen,
                           ecc_key *key);
 \end{verbatim}
 
-Where ``in'' is an input symmetric key of no more than 32 bytes.  Essentially these routines created a random public key
+Where ``in'' is an input symmetric key of no more than 64 bytes.  Essentially these routines created a random public key
 and find the hash of the shared secret.  The message digest is than XOR'ed against the symmetric key.  All of the required
 data is placed in ``out'' by ``ecc\_encrypt\_key()''.   The hash chosen must produce a message digest at least as large
 as the symmetric key you are trying to share.
 
+\subsection{Encrypt Packet Format}
+
+The packet format for the encrypted keys is the following ASN.1 SEQUENCE:
+
+\begin{verbatim}
+ECCEncrypt ::= SEQUENCE {
+   hashID        OBJECT IDENTIFIER, -- OID of hash used
+   pubkey        OCTET STRING     , -- Encapsulated ECCPublicKey (see above)
+   skey          OCTET STRING       -- xor of plaintext and "hash of shared secret"
+}
+\end{verbatim}
+
 There are also functions to sign and verify the hash of a message.
 \index{ecc\_sign\_hash()} \index{ecc\_verify\_hash()}
 \begin{verbatim}
@@ -3150,12 +3144,14 @@ The ``ecc\_sign\_hash'' function signs the message hash in ``in'' of length ``in
 The ``ecc\_verify\_hash'' function verifies the ECC signature in ``sig'' against the hash in ``hash''.  It sets ``stat''
 to non-zero if the signature passes or zero if it fails.
 
+\subsection{Signature Format}
+The signature code is an implementation of X9.62 EC-DSA and the output is comformant for GF(p) curves.
 
 \section{ECC Keysizes}
 With ECC if you try and sign a hash that is bigger than your ECC key you can run into problems.  The math will still work
 and in effect the signature will still work.  With ECC keys the strength of the signature is limited by the size of
-the hash or the size of they key, whichever is smaller.  For example, if you sign with SHA256 and a ECC-160 key in effect
-you have 160-bits of security (e.g. as if you signed with SHA-1).  
+the hash or the size of they key, whichever is smaller.  For example, if you sign with SHA256 and an ECC-192 key in effect
+you have 192-bits of security.  
 
 The library will not warn you if you make this mistake so it is important to check yourself before using the 
 signatures.
@@ -3170,6 +3166,38 @@ would require at least 256 bytes where as the DSA signature would require only a
 The API for the DSA is essentially the same as the other PK algorithms.  Except in the case of DSA no encryption or
 decryption routines are provided.  
 
+\section{Key Format}
+Since no useful public standard for DSA key storage was presented to me during the course of this development I made my own ASN.1 SEQUENCE which I document
+now so that others can interoperate with this library.
+
+\begin{verbatim}
+DSAPublicKey ::= SEQUENCE {
+    publicFlags    BIT STRING(1), -- must be 0
+    g              INTEGER      , -- base generator, check that g^q mod p == 1
+                                  -- and that 1 < g < p - 1
+    p              INTEGER      , -- prime modulus 
+    q              INTEGER      , -- order of sub-group (must be prime)
+    y              INTEGER      , -- public key, specifically, g^x mod p, 
+                                  -- check that y^q mod p == 1
+                                  -- and that 1 < y < p - 1
+}
+
+DSAPrivateKey ::= SEQUENCE {
+    publicFlags    BIT STRING(1), -- must be 1
+    g              INTEGER      , -- base generator, check that g^q mod p == 1
+                                  -- and that 1 < g < p - 1
+    p              INTEGER      , -- prime modulus 
+    q              INTEGER      , -- order of sub-group (must be prime)
+    y              INTEGER      , -- public key, specifically, g^x mod p, 
+                                  -- check that y^q mod p == 1
+                                  -- and that 1 < y < p - 1
+    x              INTEGER        -- private key
+}
+\end{verbatim}
+
+The leading BIT STRING has a single bit in it which is zero for public keys and one for private keys.  This makes the structure uniquely decodable and easy
+to work with.
+
 \section{Key Generation}
 To make a DSA key you must call the following function
 \begin{verbatim}
@@ -3291,79 +3319,351 @@ This will import the DSA key from the buffer ``in'' of length ``inlen'' to the `
 will automatically free all of the heap allocated in the process (you don't have to call dsa\_free()).  
 
 \chapter{Standards Support}
-\section{DER Support}
-DER or ``Distinguished Encoding Rules'' is a subset of the ASN.1 encoding rules that is fully deterministic and
-ideal for cryptography.  In particular ASN.1 specifies an INTEGER type for storing arbitrary sized integers.  DER
-further limits the ASN.1 specifications to a deterministic encoding.
+\section{ASN.1 Formats}
+LibTomCrypt supports a variety of ASN.1 data types encoded with the Distinguished Encoding Rules (DER) suitable for various cryptographic protocols.  The data types
+are all provided with three basic functions with \textit{similar} prototypes.  One function has been dedicated to calculate the length in octets of a given
+format and two functions have been dedicated to encoding and decoding the format.  
 
-\subsection{Storing INTEGER types}
-\index{der\_encode\_integer()}
-\begin{alltt}
-int der_encode_integer(mp_int *num, unsigned char *out, unsigned long *outlen);
-\end{alltt}
+On top of the basic data types are the SEQUENCE and\footnote{Planned for LTC 1.06} SET data types which are collections of other ASN.1 types.  They are provided 
+in the same manner as the other data types except they use list of objects known as the \textbf{ltc\_asn1\_list} structure.  It is defined as 
+
+\index{ltc\_asn1\_list structure}
+\begin{verbatim}
+typedef struct {
+   int           type;
+   void         *data;
+   unsigned long size;
+   int           used;
+} ltc_asn1_list;
+\end{verbatim}
 
-This will store the integer in ``num'' to the output buffer ``out'' of length ``outlen''.  It only stores
-non--negative numbers.  It stores the number of octets used back in ``outlen''.
+The ``type'' field is one of the following ASN.1 field definitions.  The ``data'' pointer is a void pointer to the data to be encoded (or the destination) and the 
+``size'' field is specific to what you are encoding (e.g. number of bits in the BIT STRING data type).  The ``used'' field is primarily for the CHOICE decoder
+and reflects if the particular member of a list was the decoded data type.  To help build the lists in an orderly fashion the macro
+``LTC\_SET\_ASN1(list, index, Type, Data, Size)'' has been provided.
 
-\subsection{Reading INTEGER types}
-\index{der\_decode\_integer()}
-\begin{alltt}
-int der_decode_integer(const unsigned char *in, unsigned long *inlen, mp_int *num);
-\end{alltt}
-This will decode the DER encoded INTEGER in ``in'' of length ``inlen'' and store the resulting integer
-in ``num''.  It will store the bytes read in ``inlen'' which is handy if you have to parse multiple
-data items out of a binary packet.
+It will assign to the ``index''th position in the ``list'' the tripplet (Type, Data, Size).  An example usage would be:
+
+\begin{small}
+\begin{verbatim}
+...
+ltc_asn1_list   sequence[3];
+unsigned long   three=3;
+
+LTC_SET_ASN1(sequence, 0, LTC_ASN1_IA5_STRING,    "hello", 5);
+LTC_SET_ASN1(sequence, 1, LTC_ASN1_SHORT_INTEGER, &three,  1);
+LTC_SET_ASN1(sequence, 2, LTC_ASN1_NULL,           NULL,   0);
+\end{verbatim}
+\end{small}
+
+The macro is relatively safe with respect to modifying variables, for instance the following code is equivalent.
+
+\begin{small}
+\begin{verbatim}
+...
+ltc_asn1_list   sequence[3];
+unsigned long   three=3;
+int             x=0;
+LTC_SET_ASN1(sequence, x++, LTC_ASN1_IA5_STRING,    "hello", 5);
+LTC_SET_ASN1(sequence, x++, LTC_ASN1_SHORT_INTEGER, &three,  1);
+LTC_SET_ASN1(sequence, x++, LTC_ASN1_NULL,           NULL,   0);
+\end{verbatim}
+\end{small}
+
+\begin{figure}[here]
+\begin{center}
+\begin{small}
+\begin{tabular}{|l|l|}
+\hline \textbf{Definition}           & \textbf{ASN.1 Type} \\
+\hline LTC\_ASN1\_EOL                & End of a ASN.1 list structure. \\
+\hline LTC\_ASN1\_INTEGER            & INTEGER (uses mp\_int) \\
+\hline LTC\_ASN1\_SHORT\_INTEGER     & INTEGER (32--bit using unsigned long) \\
+\hline LTC\_ASN1\_BIT\_STRING        & BIT STRING (one bit per char) \\
+\hline LTC\_ASN1\_OCTET\_STRING      & OCTET STRING (one octet per char) \\
+\hline LTC\_ASN1\_NULL               & NULL \\
+\hline LTC\_ASN1\_OBJECT\_IDENTIFIER & OBJECT IDENTIFIER (words are in unsigned long) \\
+\hline LTC\_ASN1\_IA5\_STRING        & IA5 STRING (one octet per char) \\
+\hline LTC\_ASN1\_PRINTABLE\_STRING  & PRINTABLE STIRNG (one octet per char) \\
+\hline LTC\_ASN1\_UTCTIME            & UTCTIME (see ltc\_utctime structure) \\
+\hline LTC\_ASN1\_SEQUENCE           & SEQUENCE OF \\
+\hline LTC\_ASN1\_CHOICE             & CHOICE \\
+\hline
+\end{tabular}
+\caption{List of ASN.1 Supported Types}
+\end{small}
+\end{center}
+\end{figure}
+
+\subsection{SEQUENCE Type}
+The SEQUENCE data type is a collection of other ASN.1 data types encapsulated with a small header which is a useful way of sending multiple data types in one packet.
+
+\subsubsection{SEUQNECE Encoding}
+To encode a sequence a \textbf{ltc\_asn1\_list} array must be initialized with the members of the sequence and their respective pointers.  The encoding is performed
+with the following function.
+
+\index{der\_encode\_sequence()}
+\begin{verbatim}
+int der_encode_sequence(ltc_asn1_list *list, unsigned long inlen,
+                        unsigned char *out,  unsigned long *outlen);
+\end{verbatim}
+This encodes a sequence of items pointed to by ``list'' where the list has ``inlen'' items in it.  The SEQUENCE will be encoded to ``out'' and of length ``outlen''.  The
+function will terminate when it reads all the items out of the list (upto ``inlen'') or it encounters an item in the list with a type of \textbf{LTC\_ASN1\_EOL}.
+
+The ``data'' pointer in the list would be the same pointer you would pass to the respective ASN.1 encoder (e.g. der\_encode\_bit\_string()) and it is simply passed on
+verbatim to the dependent encoder.  The list can contain other SEQUENCE or SET types which enables you to have nested SEQUENCE and SET definitions.  In these cases
+the ``data'' pointer is simply a pointer to another \textbf{ltc\_asn1\_list}.
+
+\subsubsection{SEQUENCE Decoding}
+
+\index{der\_decode\_sequence()}
+
+Decoding a SEQUENCE is similar to encoding.  You set up an array of \textbf{ltc\_asn1\_list} where in this case the ``size'' member is the maximum size 
+(in certain cases).  For types such as IA5 STRING, BIT STRING, OCTET STRING (etc) the ``size'' field is updated after successful decoding to reflect how many
+units of the respective type has been loaded.  
+
+\begin{verbatim}
+int der_decode_sequence(const unsigned char *in,   unsigned long  inlen,
+                              ltc_asn1_list *list, unsigned long  outlen);
+\end{verbatim}
+
+This will decode upto ``outlen'' items from the input buffer ``in'' of length ``inlen'' octets.  The function will stop (gracefully) when it runs out of items to decode.
+It will fail (for among other reasons) when it runs out of input bytes to read, a data type is invalid or a heap failure occured.
+
+For the following types the ``size'' field will be updated to reflect the number of units read of the given type.
+\begin{enumerate}
+   \item BIT STRING
+   \item OCTET STRING
+   \item OBJECT IDENTIFIER
+   \item IA5 STRING
+   \item PRINTABLE STRING
+\end{enumerate}
 
-\subsection{INTEGER length}
+\subsubsection{SEQUENCE Length}
+
+The length of a SEQUENCE can be determined with the following function.
+
+\index{der\_length\_sequence()}
+\begin{verbatim}
+int der_length_sequence(ltc_asn1_list *list, unsigned long inlen,
+                        unsigned long *outlen);
+\end{verbatim}
+
+This will get the encoding size for the given ``list'' of length ``inlen'' and store it in ``outlen''.  
+
+\subsubsection{SEQUENCE Multiple Argument Lists}
+
+For small or simple sequences an encoding or decoding can be performed with one of the following two functions.
+
+\index{der\_encode\_sequence\_multi()}
+\index{der\_decode\_sequence\_multi()}
+
+\begin{verbatim}
+int der_encode_sequence_multi(unsigned char *out, unsigned long *outlen, ...);
+int der_decode_sequence_multi(const unsigned char *in, unsigned long inlen, ...);
+\end{verbatim}
+
+These either encode or decode (respectively) a SEQUENCE data type where the items in the sequence are specified after the length parameter.
+
+The list of items are specified as a triple of the form ``(type, size, data)''  where ``type'' is an \textbf{int}, ``size'' is a \textbf{unsigned long}
+and ``data'' is \textbf{void} pointer.  The list of items must be terminated with an item with the type \textbf{LTC\_ASN1\_EOL}.
+
+It's ideal that you cast the ``size'' values to unsigned long to ensure that the proper data type is passed to the function.  Constants such as ``1'' without
+a cast or prototype are of type \textbf{int} by default.  Appending \textit{UL} or prepending \textit{(unsigned long)} is enough to cast it to the correct type.
+
+\subsection{ASN.1 INTEGER}
+
+To encode or decode INTEGER data types use the following functions.
+
+\index{der\_encode\_integer()}
+\index{der\_decode\_integer()}
 \index{der\_length\_integer()}
-\begin{alltt}
+\begin{verbatim}
+int der_encode_integer(mp_int *num, unsigned char *out, unsigned long *outlen);
+int der_decode_integer(const unsigned char *in, unsigned long inlen, mp_int *num);
 int der_length_integer(mp_int *num, unsigned long *len);
-\end{alltt}
-This will determine the length of the DER encoding of the integer ``num'' and store it in ``len''.
+\end{verbatim}
 
-\subsection{Multiple INTEGER types}
-To simplify the DER encoding/decoding there are two functions two handle multple types at once.
+These will encode or decode a signed INTEGER data type using the ``mp\_int'' data type to store the large INTEGER.  To encode smaller values without allocating
+an mp\_int to store the value the ``short'' INTEGER functions were made available.
 
-\index{der\_put\_multi\_integer()}
-\index{der\_get\_multi\_integer()}
-\begin{alltt}
-int der_put_multi_integer(unsigned char *dst, unsigned long *outlen, mp_int *num, ...);
-int der_get_multi_integer(const unsigned char *src, unsigned long *inlen,  mp_int *num, ...);
-\end{alltt}
+\index{der\_encode\_short\_integer()}
+\index{der\_decode\_short\_integer()}
+\index{der\_length\_short\_integer()}
+\begin{verbatim}
+int der_encode_short_integer(unsigned long  num, 
+                             unsigned char *out, unsigned long *outlen);
+
+int der_decode_short_integer(const unsigned char *in,  unsigned long inlen, 
+                                   unsigned long *num);
+
+int der_length_short_integer(unsigned long num, unsigned long *outlen);
+\end{verbatim}
 
-These will handle multiple encodings/decodings at once.  They work like their single operand counterparts
-except they handle a \textbf{NULL} terminated list of operands.
+These will encode or decode an unsigned \textbf{unsigned long} type (only reads upto 32--bits).  For values in the range $0 \dots 2^{32} - 1$ the integer 
+and short integer functions can encode and decode each others outputs.  
 
+\subsection{ASN.1 BIT STRING}
+
+\index{der\_encode\_bit\_string()}
+\index{der\_decode\_bit\_string()}
+\index{der\_length\_bit\_string()}
 \begin{verbatim}
-#include <tomcrypt.h>
-int main(void)
-{
-   mp_int        a, b, c, d;
-   unsigned char buffer[1000];
-   unsigned long len;
-   int           err;
+int der_encode_bit_string(const unsigned char *in, unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen);
 
-   /* init a,b,c,d with some values ... */
+int der_decode_bit_string(const unsigned char *in, unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen);
 
-   /* ok we want to store them now... */
-   len = sizeof(buffer);
-   if ((err = der_put_multi_integer(buffer, &len, 
-                                    &a, &b, &c, &d, NULL)) != CRYPT_OK) {
-      // error
-   }
-   printf("I stored %lu bytes in buf\n", len);
+int der_length_bit_string(unsigned long nbits, unsigned long *outlen);
+\end{verbatim}
 
-   /* ok say we want to get them back for fun */
-   /* len set previously...otherwise set it to the size of the packet */
-   if ((err = der_get_multi_integer(buffer, &len,
-                                    &a, &b, &c, &d, NULL)) != CRYPT_OK) {
-      // error
-   }
-   printf("I read %lu bytes from buf\n", len);
-}
+These will encode or decode a BIT STRING data type.  The bits are passed in (or read out) using one \textbf{char} per bit.  A non--zero value will be interpretted
+as a one bit and a zero value a zero bit.
+
+\subsection{ASN.1 OCTET STRING}
+
+\index{der\_encode\_octet\_string()}
+\index{der\_decode\_octet\_string()}
+\index{der\_length\_octet\_string()}
+\begin{verbatim}
+int der_encode_octet_string(const unsigned char *in, unsigned long inlen,
+                                  unsigned char *out, unsigned long *outlen);
+
+int der_decode_octet_string(const unsigned char *in, unsigned long inlen,
+                                  unsigned char *out, unsigned long *outlen);
+
+int der_length_octet_string(unsigned long noctets, unsigned long *outlen);
 \end{verbatim}
+
+These will encode or decode an OCTET STRING data type.  The octets are stored using one \textbf{char} each.  
+
+\subsection{ASN.1 OBJECT IDENTIFIER}
+
+\index{der\_encode\_object\_identifier()}
+\index{der\_decode\_object\_identifier()}
+\index{der\_length\_object\_identifier()}
+\begin{verbatim}
+int der_encode_object_identifier(unsigned long *words, unsigned long  nwords,
+                                 unsigned char *out,   unsigned long *outlen);
+
+int der_decode_object_identifier(const unsigned char *in,    unsigned long  inlen,
+                                       unsigned long *words, unsigned long *outlen);
+
+int der_length_object_identifier(unsigned long *words, unsigned long nwords, 
+                                 unsigned long *outlen);
+\end{verbatim}
+
+These will encode or decode an OBJECT IDENTIFIER object.  The words of the OID are stored in individual \textbf{unsigned long} elements and must be in the range
+$0 \ldots 2^{32} - 1$.  
+
+\subsection{ASN.1 IA5 STRING}
+
+\index{der\_encode\_ia5\_string()}
+\index{der\_decode\_ia5\_string()}
+\index{der\_length\_ia5\_string()}
+\begin{verbatim}
+int der_encode_ia5_string(const unsigned char *in, unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen);
+
+int der_decode_ia5_string(const unsigned char *in, unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen);
+
+int der_length_ia5_string(const unsigned char *octets, unsigned long noctets, 
+                                unsigned long *outlen);
+\end{verbatim}
+
+These will encode or decode an IA5 STRING.  The characters are read or stored in individual \textbf{char} elements.  This functions performs internal character
+to numerical conversions based on the conventions of the compiler being used.  For instance, on an x86\_32 machine 'A' == 65 but the same may not be true on 
+say a SPARC machine.  Internally these functions have a table of literal characters and their numerical ASCII values.  This provides a stable conversion provided
+that the build platform honours the runtime platforms character conventions.
+
+If you're worried try building the test suite and running it.  It has hard coded test vectors to ensure it is operating properly. 
+
+\subsection{ASN.1 PRINTABLE STRING}
+
+\index{der\_encode\_printable\_string()}
+\index{der\_decode\_printable\_string()}
+\index{der\_length\_printable\_string()}
+\begin{verbatim}
+int der_encode_printable_string(const unsigned char *in, unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen);
+
+int der_decode_printable_string(const unsigned char *in, unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen);
+
+int der_length_printable_string(const unsigned char *octets, unsigned long noctets, 
+                                unsigned long *outlen);
+\end{verbatim}
+
+These will encode or decode an PRINTABLE STRING.  The characters are read or stored in individual \textbf{char} elements.  This functions performs internal character
+to numerical conversions based on the conventions of the compiler being used.  For instance, on an x86\_32 machine 'A' == 65 but the same may not be true on 
+say a SPARC machine.  Internally these functions have a table of literal characters and their numerical ASCII values.  This provides a stable conversion provided
+that the build platform honours the runtime platforms character conventions.
+
+If you're worried try building the test suite and running it.  It has hard coded test vectors to ensure it is operating properly. 
+
+\subsection{ASN.1 UTCTIME}
+
+The UTCTIME type is to store a date and time in ASN.1 format.  It uses the following structure to organize the time.
+
+\begin{verbatim}
+typedef struct {
+   unsigned YY, /* year    00--99 */
+            MM, /* month   01--12 */
+            DD, /* day     01--31 */
+            hh, /* hour    00--23 */
+            mm, /* minute  00--59 */
+            ss, /* second  00--59 */
+            off_dir, /* timezone offset direction 0 == +, 1 == - */
+            off_hh, /* timezone offset hours */
+            off_mm; /* timezone offset minutes */
+} ltc_utctime;
+\end{verbatim}
+
+The time can be offset plus or minus a set amount of hours (off\_hh) and minutes (off\_mm).  When ``off\_dir'' is zero the time will be added otherwise it 
+will be subtracted.  
+
+For instance, the array $\lbrace 5, 6, 20, 22, 4, 00, 0, 5, 0 \rbrace$ represents the current time of 2005, June 20th, 22:04:00 with a time offset of +05h00.  
+
+\index{der\_encode\_utctime()}
+\index{der\_decode\_utctime()}
+\index{der\_length\_utctime()}
+\begin{verbatim}
+int der_encode_utctime(ltc_utctime *utctime, 
+                       unsigned char *out,   unsigned long *outlen);
+
+int der_decode_utctime(const unsigned char *in, unsigned long *inlen,
+                             ltc_utctime   *out);
+
+int der_length_utctime(ltc_utctime *utctime, unsigned long *outlen);
+\end{verbatim}
+
+The encoder will store time in one of the two ASN.1 formats, either ``YYMMDDhhmmssZ'' or ``YYMMDDhhmmss$\pm$hhmm'' and perform minimal error checking on the 
+input.  The decoder will read all valid ASN.1 formats and perform range checking on the values (not complete but rational) useful for catching packet errors.
+
+It is suggested that decoded data be further scrutinized (e.g. days of month in particular).
+
+\subsection{ASN.1 CHOICE}
+
+The CHOICE ASN.1 type represents a union of ASN.1 types all of which are stored in a ``ltc\_asn1\_list''.  There is no encoder for the CHOICE type, only a 
+decoder.  The decoder will scan through the provided list attempting to use the appropriate decoder on the input packet.  The list can contain any ASN.1 data
+type\footnote{Except it cannot have LTC\_ASN1\_INTEGER and LTC\_ASN1\_SHORT\_INTEGER simultaneously.} except for other CHOICE types.  
+
+There is no encoder for the CHOICE type as the actual DER encoding is the encoding of the chosen type.  
+
+\index{der\_decode\_choice()}
+\begin{verbatim}
+int der_decode_choice(const unsigned char *in,   unsigned long *inlen,
+                            ltc_asn1_list *list, unsigned long  outlen);
+\end{verbatim}
+
+This will decode the input in the ``in'' field of length ``inlen''.  It uses the provided ASN.1 list specified in the ``list'' field which has ``outlen'' elements.  
+The ``inlen'' field will be updated with the length of the decoded data type as well as the respective entry in the ``list'' field will have the ``used'' flag 
+set to non--zero to reflect it was the data type decoded.
+
 \section{Password Based Cryptography}
 \subsection{PKCS \#5}
+\index{PKCS \#5}
 In order to securely handle user passwords for the purposes of creating session keys and chaining IVs the PKCS \#5 was drafted.   PKCS \#5
 is made up of two algorithms, Algorithm One and Algorithm Two.  Algorithm One is the older fairly limited algorithm which has been implemented
 for completeness.  Algorithm Two is a bit more modern and more flexible to work with.
@@ -3436,7 +3736,6 @@ int main(void)
 \}
 \end{alltt}
 
-
 \chapter{Miscellaneous}
 \section{Base64 Encoding and Decoding}
 The library provides functions to encode and decode a RFC1521 base64 coding scheme.  This means that it can decode what it 
@@ -3634,7 +3933,6 @@ $n$ it requires $\sqrt n$ work.  The following table sumarizes the work required
 \begin{center}
 \begin{tabular}{|c|c|}
     \hline ECC Key Size (bits) & Work Factor ($log_2$) \\
-    \hline 160 & 80  \\
     \hline 192 & 96  \\
     \hline 224 & 112 \\
     \hline 256 & 128 \\
@@ -3792,8 +4090,8 @@ will increase by approximately 500 bytes.  If this is defined but TWOFISH\_SMALL
 it will not speed up the encryption or decryption functions.
 
 \subsection{GCM\_TABLES}
-When defined GCM will use a 64KB table (per GCM state) which will greatly lower up the per--packet latency.  
-It also increases the initialization time.  
+When defined GCM will use a 64KB table (per GCM state) which will greatly speed up the per--packet latency.  
+It also increases the initialization time and isn't suitable when you are going to use a key a few times only.  
 
 \subsection{SMALL\_CODE}
 When this is defined some of the code such as the Rijndael and SAFER+ ciphers are replaced with smaller code variants.
@@ -3824,6 +4122,13 @@ data type you can perform integer operations with.  Ideally it should be four or
 of your block cipher (e.g. 16 bytes for AES).  This means sadly if you're on a platform with 57--bit words (or something) you can't 
 use this mode.  So sad.
 
+\subsection{LTC\_PTHREAD}
+When this is activated all of the descriptor table functions will use pthread locking to ensure thread safe updates to the tables.  Note that 
+it doesn't prevent a thread that is passively using a table from being messed up by another thread that updates the table.
+
+Generally the rule of thumb is to setup the tables once at startup and then leave them be.  This added build flag simply makes updating
+the tables safer.
+
 \section{MPI Tweaks}
 \subsection{RSA Only Tweak}
 If you plan on only using RSA with moduli in the range of 1024 to 2560 bits you can enable a series of tweaks
@@ -4030,8 +4335,8 @@ To initialize a cipher (for ECB mode) the function setup() was provided.  It acc
 can specify the number of rounds they want through ``num\_rounds'' where $num\_rounds = 0$ means use the default.  The destination of a scheduled key is stored
 in ``skey''.
 
-This is where things get tricky.  Currently there is no provision to allocate memory during initialization since there is no ``cipher done'' function.  So you have
-to either use an existing member of the symmetric\_key union or alias your own structure over top of it provided symmetric\_key is not smaller.
+Inside the ``symmetric\_key'' union there is a ``void *data'' which you can use to allocate data if you need a data structure that doesn't fit with the existing
+ones provided.  Just make sure in your ``done()'' function that you free the allocated memory.
 
 \subsection{Single block ECB}
 To process a single block in ECB mode the ecb\_encrypt() and ecb\_decrypt() functions were provided.  The plaintext and ciphertext buffers are allowed to overlap so you 
@@ -4062,7 +4367,8 @@ updated by the function before returning.
 \subsubsection{Accelerated CTR}
 This function is meant for accelerated CTR encryption.  It is accessible through the accel\_ctr\_encrypt pointer.
 The ``blocks'' value is the number of complete blocks to process.  The ``IV'' is the CTR counter vector.  It is an input upon calling this function and must be
-updated by the function before returning.  The ``mode'' value indicates whether the counter is big ($mode = 1$) or little ($mode = 0$) endian.
+updated by the function before returning.  The ``mode'' value indicates whether the counter is big (mode = CTR\_COUNTER\_BIG\_ENDIAN) or 
+little (mode = CTR\_COUNTER\_LITTLE\_ENDIAN) endian.
 
 This function (and the way it's called) differs from the other two since ctr\_encrypt() allows any size input plaintext.  The accelerator will only be
 called if the following conditions are met.
@@ -4101,10 +4407,10 @@ struct ltc_hash_descriptor {
     unsigned long hashsize;
     /** Input block size in octets */
     unsigned long blocksize;
-    /** ASN.1 DER identifier */
-    unsigned char DER[64];
+    /** ASN.1 OID */
+    unsigned long OID[16];
     /** Length of DER encoding */
-    unsigned long DERlen;
+    unsigned long OIDlen;
     /** Init a hash state
       @param hash   The hash to initialize
       @return CRYPT_OK if successful
@@ -4144,8 +4450,8 @@ The ``hashsize'' variable indicates the length of the output in octets.
 The `blocksize'' variable indicates the length of input (in octets) that the hash processes in a given
 invokation.
 
-\subsection{DER Identifier}
-This is the DER identifier (including the SEQUENCE header).  This is used solely for PKCS \#1 style signatures.  
+\subsection{OID Identifier}
+This is the universal ASN.1 Object Identifier for the hash.
 
 \subsection{Initialization}
 The init function initializes the hash and prepares it to process message bytes.
@@ -4251,3 +4557,7 @@ but should at least maintain the same level of state entropy.
 \input{crypt.ind}
 
 \end{document}
+
+% $Source: /cvs/libtom/libtomcrypt/crypt.tex,v $   
+% $Revision: 1.39 $   
+% $Date: 2005/06/27 13:08:28 $ 
diff --git a/demos/encrypt.c b/demos/encrypt.c
index 67627f7b..d8eb2934 100644
--- a/demos/encrypt.c
+++ b/demos/encrypt.c
@@ -235,3 +235,7 @@ int main(int argc, char *argv[])
    }
    return 0;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/demos/encrypt.c,v $ */
+/* $Revision: 1.2 $ */
+/* $Date: 2005/05/05 14:35:56 $ */
diff --git a/demos/hashsum.c b/demos/hashsum.c
index 23946ccc..653b6efd 100644
--- a/demos/hashsum.c
+++ b/demos/hashsum.c
@@ -113,3 +113,7 @@ void register_algs(void)
 #endif
 
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/demos/hashsum.c,v $ */
+/* $Revision: 1.2 $ */
+/* $Date: 2005/05/05 14:35:56 $ */
diff --git a/demos/multi.c b/demos/multi.c
index fdc8dc6b..af4d6b6f 100644
--- a/demos/multi.c
+++ b/demos/multi.c
@@ -104,3 +104,7 @@ int main(void)
    return EXIT_SUCCESS;
 }
 
+
+/* $Source: /cvs/libtom/libtomcrypt/demos/multi.c,v $ */
+/* $Revision: 1.2 $ */
+/* $Date: 2005/05/05 14:35:56 $ */
diff --git a/demos/small.c b/demos/small.c
index bc9793bc..6bdd8421 100644
--- a/demos/small.c
+++ b/demos/small.c
@@ -8,3 +8,7 @@ int main(void)
    register_hash(&sha256_desc);
    return 0;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/demos/small.c,v $ */
+/* $Revision: 1.2 $ */
+/* $Date: 2005/05/05 14:35:56 $ */
diff --git a/demos/test.c b/demos/test.c
index 290861d9..f6c71704 100644
--- a/demos/test.c
+++ b/demos/test.c
@@ -2,18 +2,23 @@
 
 int main(void)
 {
+   int x;
    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");
-
+   printf("\nstore_test...."); fflush(stdout); x = store_test();       printf(x ? "failed" : "passed");if (x) exit(EXIT_FAILURE);
+   printf("\ncipher_test..."); fflush(stdout); x = cipher_hash_test(); printf(x ? "failed" : "passed");if (x) exit(EXIT_FAILURE);
+   printf("\nmodes_test...."); fflush(stdout); x = modes_test();       printf(x ? "failed" : "passed");if (x) exit(EXIT_FAILURE);
+   printf("\nder_test......"); fflush(stdout); x = der_tests();        printf(x ? "failed" : "passed");if (x) exit(EXIT_FAILURE);
+   printf("\nmac_test......"); fflush(stdout); x = mac_test();         printf(x ? "failed" : "passed");if (x) exit(EXIT_FAILURE);
+   printf("\npkcs_1_test..."); fflush(stdout); x = pkcs_1_test();      printf(x ? "failed" : "passed");if (x) exit(EXIT_FAILURE);
+   printf("\nrsa_test......"); fflush(stdout); x = rsa_test();         printf(x ? "failed" : "passed");if (x) exit(EXIT_FAILURE);
+   printf("\necc_test......"); fflush(stdout); x = ecc_tests();        printf(x ? "failed" : "passed");if (x) exit(EXIT_FAILURE);
+   printf("\ndsa_test......"); fflush(stdout); x = dsa_test();         printf(x ? "failed" : "passed");if (x) exit(EXIT_FAILURE);
+   printf("\ndh_test......."); fflush(stdout); x = dh_tests();         printf(x ? "failed" : "passed");if (x) exit(EXIT_FAILURE);
+   printf("\n");
    return EXIT_SUCCESS;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/demos/test.c,v $ */
+/* $Revision: 1.12 $ */
+/* $Date: 2005/06/19 12:06:58 $ */
diff --git a/demos/timing.c b/demos/timing.c
index 54c0462d..368d6e40 100644
--- a/demos/timing.c
+++ b/demos/timing.c
@@ -17,7 +17,10 @@ time_sqr();
 time_rsa();
 time_ecc();
 time_dh();
-
 return EXIT_SUCCESS;
 
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/demos/timing.c,v $ */
+/* $Revision: 1.17 $ */
+/* $Date: 2005/06/23 02:16:26 $ */
diff --git a/demos/tv_gen.c b/demos/tv_gen.c
index c37d1af6..edaae3ef 100644
--- a/demos/tv_gen.c
+++ b/demos/tv_gen.c
@@ -664,3 +664,7 @@ int main(void)
       
     
    
+
+/* $Source: /cvs/libtom/libtomcrypt/demos/tv_gen.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:56 $ */
diff --git a/doc/crypt.pdf b/doc/crypt.pdf
index 9eb60c6cbab9ccb3269caec6440559309afe833b..1c56c51f7ffe88024566a020536d618f51d4539b 100644
GIT binary patch
delta 395450
zcmZU)Q*b6;^eh@1Uu@gv#I|i~l1%L6i|tHo+qP}nHYdjYopb-^-iPzFtJYKRRkil&
z?&_WYh<7qZ5HAIkRUBjn1mAvRc+;b<dwp?I4IKuyfnd64qyU!4?a+`uy}J|wed_qw
za=w}@<E4n-=-sy?8rOPott1?wXji<J3AT!DPpCZA%n*wdS$@crCWv|J$d#d_ve)=p
zJ6)1{LRO^ahqGk7>v1|hCU31x3RMWRUzBJD&LTf%ylQ}ToNdR0`>ZXZvmNzT(?FE`
zrYZ|!#J_k|>IiD-;S<{M$@ADUO-3H<I>%#?%9O)f*w+Q!7__X|h1#Wp`0sA?bu$Iz
zr~c(w8`ftd*0T|tB_CFCTC>fbndqiB)l#Nv6d%K(rh`n&i!L4O_HoyYt4m#I_>A%-
z4%kIYo+@NQ{6Bv0=g79^Az;-G6NafieL^f%1z9f-X?x;#Z{UBh9VwE2gW`d*C53_N
z@=?Ot!bzvt#%}<3?={^t)i5G8==kF-ce=O^u?DCCm_47n2$`wV@B!h;y%xk+|4yzj
z=^dA>YbeTzIFks$h`~2+2a|-saKX0}Ym*GXaDmQ1!H+jZxxR7~xxY5fkt<8Q<e7aR
zAT&0A4?~ulY)$c7%w*SEGCM!EQckKIBGu`eLxuC3yr1Q<Hc^Gz7sUhoqNPED>>~7A
z^lOUJ7}(uwUuJ!iK28HM;I7pm>rnBJQ8Uy?Qez~8ZY6QowJ*{bWU4gs5Zsy%3<;>h
z@qi!(d8JiViNsMbe!1s5)!$@Bt1&z?W2n!}(?NzQMbS%IlLQJT>?^0@tIp{plj6or
zkDa!;MwfLi&KekD6?%T#FNdaAx~e0^USyoBm1|s}yq(91R`_xOJPt=Z%_<J^+~xy3
z>Da}6i`(&PCjNu>f{|58#BlfxLuhl+#lYn@8LCA5AVD^8=LVNH%05N>q`x>fOZBFS
zw2(#$_}+~@fvoxn_&#ik*5OJ}PaOk>3oYZ5wnfyO0>!u+dEw?Egq_@$fM<g4>Y`}R
zf%R7XbnIccM?RQ9xIJ^!n*+a5_SY0{@ZqQzO71^Cn~2?UG~~}0D-pmyk+olIH$ZEH
z(s+<L8s!xl-f+_rq(7tVN9&>-G6$U$(!z*UOdF~8S1-9HCWADROp!yot&3~EvHFK=
zeI2n%)_`OTT>g3b9fS&OAJbS)d=L|sC?0Xg!+|(cLf3#lfoLJuc9{=rb^aE`4%d>s
zuVV^Ya1Qa+QbS1F41PC@RYE>$NaWdikC~qp{@STXjN))3*{aXM9~3EezTDjv<8kt@
z-(dfmfq6;k5cu${aOU=Ae@txP*w|8)tHIEc79l8slTMqQ=-ZccO>&qb_kLBZe$9v0
z2J-CISnG4>cJ&EjAqAAK?~jn6VCXbr4d`)n+W1UYpu&5oFLzts$U?wtQUCY4&vL)f
z#huliRRLDJ8%@6JTx9QFAL6n&8h}dP_g#zSA0gjj|03U5Na8lZtY-r~v&PiHUT-xp
zSejL!Z)o986e&xL7?>Q6V@y<oJTm<|9Ca)Y12mx&D6x8l;GWixu~$I@S%DA@e`@#J
z20}P7@fc#NWl02RG))bz<Yb#vwYV0nP<aI-^)If(n0D9^A?Yn5Vgx{oGdP>KCn%}=
zOYUJAb2S(>so8Qy2K2%q3$5O)Nfve`gpeArg9@0vgD`y!kYd~>HD8SS^fTz9tz|AE
zif$JcS||5cicGRV!-`z2?tbpMXYnRzK=J9u(y<dkwMu<Zze0cs7HY~j=@$XS!$rjy
z!Gf74?i?xm{Tb==hdE=^1F~n=a|X4e*f)MAi=v=il@U0UNkAwOXHfS+I1I>Ot6>BC
zNIJ^WBH)fB*cDRV4bIwW33$Yq&v9!fDUrzcXZm*^nwaPM5ts+~-?R?q=xN#kv(w1g
zC^ecv6@Fu~yknf<uwmin@){(eQa5?LItm3_c~RiP=WZIFDN#NJ61Ipz5X>k0p?SlZ
zQ2BtS2(AW&z}iLbbOr=x6u7#;hce)51>3<~42;k!3y}zi3x$nHYK`biH{yVt@<AVw
zIz<d&0PL{^)76y{b8e?$Nt8z-LrS}F4`UQI*(ZcXFB>U-eI|NGplGJp3b)xMH-2p4
zI+m)LiawrfM68!SFB#HAc(qG=$r3=s<tX(lK%!i{y4*KIWO{C;y+e*PuoDP6d-5oa
zE2)sN&&!a^v3attPbgn{el??28fBnwu8sxXp_sTUQ9n&5mj2cuEzryD4g7j5K96&e
z3EYMVUmLZK66|;gl)r}#8zTB02%(aCV0Rw@GNzm@>wO==+&2$C(SSB$XgMSb22~Co
zdb8?pBjn+MHtcBuCXwzWy96xW%0~IoM9AlG5|1(iUp}ZcN24p|*e|L(o|-EUX{59d
zB*^M59&W=8bl%@dR-|k?t0Ew?wE0^)KRq-8hXC;$@o{P9W;r^?B2U^Yd2g>hl}cGz
z3J@w$P)pbyl4>?=x9Q+elD<A#8Gt?I#Yq{H=ax-WPFBwIVxwtbNe5CNVXV9m?R;B6
z9h+aJQtg!lX+~>JgTi=D<A>Q~OA1XmDgUW|^-XQ$<I?H}5FgOpd$W~6G38G&NVxsp
z0Q7D3zT6&=)_<h%uKrEr!z98NM0GPmJiIp&&&Tm8E?~~j*H-rF%2h}rRWuC(z!E=a
z5}zhjJ#dRoO`E?f+X2ZR9QS0`i`ZcxU0V%`9vu^z=mFyGiq~=&D@#Jn{uvEau<Gzw
z+Ba~-<6TcZklSiZ8ZkF$LDLbqC;(^9ZXu{-@G9*1;3g&PjjK2Q_F5}Nz=dJ)S~twv
z>dB#5Q<hpYm$;CUOCJ0RPQ4|%K?st)D0Hpp>BYg8P}s%U8PMIX#=_B4r+9%Y4Jr~<
zU^-_#+ZK}g8M4oOp)CMJ{FsJ$Yi9<fi$LEtf5~NL)XeFlmS3J6L~SZ0$xK;|iDkuJ
z>04~ck<r9*D90f&a{$8EDov_aQ;XCKKQ_)A@)wyOq3rLep_P0yHk-v*P{|%JF0<m_
zP7<H@E#$c+Y`|WEz9(@7!ruhQ>!4vaLnTAbkdWBT#(m(RwAnM=M=efUcB){G>2j_V
zYDa{qV3#D2e)h7xhwxeicdROS_YbhJG(Um|_h$7u6OfC|t&`Rq{wi~b4yJmL5UM@g
z&40LQ;UUjuPU4*&NOWf;G<fzw$iADrjYpA_w<koqoPeD04JW#|N}Jo13=jwncAviK
z^ap&|Sn2ArX%b{5amnLEy@f~v;oITGB2oJ;YjD@(<dj|0aI)mVATp5r)8aSLYe`ue
z3j7=|(Nb2kW#um-+p9oLbiRJugmtwqUop~#m50+E_A^4_dYUja<Ko~rSFm@ryt>UA
zX38ATV4&474X#Pf<5(ZaIsO225tF-Tx*m3}us_9RPl#uW1RsK|%3*Oxv44#x%gn->
zCZ$q!!m!Lcu0_TKOvs&qq?h7a95hkk8eEzbo*XE_vsVhHHM?~0YALR@C;q;5?$_(K
zOPPc%X%0qJd^0g7KpW_G8=SlwedC&UtcKra3j7+pq!&AA0S8|=`A0>B_<6edr$C$6
zP~l=V7xaCI>Ir$B4BB`omL)GVguDqcDt<}(NZQPd?J)$;(euo0SQnY<*YJmsab1I9
z?8=!w#MxJF+21ZZ6q<m6*LB#{Y!tx|3Oe693|K)2u!ad#gr1@r#o)|t1r(Sknt}BO
zY@p_kIb@Jme8K0`NMz@R0S%YmhdvDzsuE+4#vH#N{#8p<sCu?zlPfaj0)NfSH>*OC
z5K6oDH>(|(Q9$c$J^p%RP8rHCC%G5~X=OZJP=X_U*B)6zwHz}}qbO*II5OS&neZ=<
zDC}1RrE<G7k@DbZJEqLq&@Vx+<5^(lDi|+9k_`er7z;~MID!Z;OI8(+2jG8;|IF29
z!?X?_xf4eQirS(A!SuY6L*Naz<1ZiGo&5E(xgeDhCho8%Wab?SuHGQA$o9UpePKVH
zN+?kjcAfhp*u($obXP2?r~As)bKQ+Y*wsVcVHuyG_ONreDC`M(juMbiz&{Kz(81Nk
z?=cL-`$pX6sdWdI>X49Li4TtVR~|+o4=y4P3a>Zv+>snZv7C8HVKjAoBft*XT1v!o
zs)ZQG&f1YBOUYsv+4ALXat@#@F1)r#?{7dH&>BSBCW)xvwEZcR#vxl*_2PdU$VL~b
z(WjoG>{b~}`ezVPkJ}9+L?(xw!$XT)jw0ne|BJk72GbB|d6{h~OJWf7fY`#lK%o0E
zwQ?z2g6kE{5=vg0H+ltJO_Ee|0UViV;C~<AfkWz8k0scl=CR6qyaVl`gfnOe)wb^s
zb~}$hZCE-wb7Hg0P{*Q0b7O952?n78<b*d`Tck-Ru#rS-Ee?-e1Ui|L$;))42Mg1S
zA}z#7XkCE5IF4dl-Fcu%ci*w6@U6Uih*l_?qni)w<Y<wU<a>7=5X(G9DUg>;Oc2_C
zyjqH%_OxPtwP0oyqEatO!LAg=*QjEz1_&*c3GGWe3L3~6f6?Q+`gix~-S%Hukci!c
zJL-{)a1)PYd0zrdVa2(+I~g$*VpQAu&Rn0uBhP>YK_$A38Vbiec5?AW7v}4eI7n}z
zluwc!kQDgF-`tgZAP~6kVYP$z#ywfF*#u^Hzc5`^Pb$$&I>+QYD@2y`)%O|g+bT|n
zzrM~U0;c+PWH9Yrnsf}X6p~m%nB&~RuOx*>9oO_7F+zD`@n{MMGPBW(!7JDg9IqXe
z;j(~ELh7bOR4Pbk>u(9a&7>Uh3z2U)v3F$KT!Acxyb;urb&v=uv8P-$3B>uH118t_
zJ=!n{U%03ot3sX-pf#ui!9Sk+Bu6lK)r7$gbse3LSl~PTQd3y6tE!|05$lSiP8g(>
z)DW5&DRsbF&nnX6`sYFm@~lwH4+Clpy)B^d8(PSiAD;SVxoB@_yMo7r?<RQyb5;mS
zB%T9l7PK(ORell7%vgeE6hdVi{G$S-y0)AG)lkcs!oHqlE`gC<(v4{5^k?7s>iqS#
z{5b-e*c)5ucdM;MBj8~DY15*t<j#v&*l0o@i*4jzvO(DLv;NnI2}e4SL99j6TQ%@Y
z8$R<cdOsxjH^hs|Ss9^VN`@MW^Z>KD4;*<?!-Nw?qX`Qfi&6o_0Xw$m{!3(eHP)ZE
z?uMxE+h{=h2RcP+af3zG%^6q-jk>S)RxD=jZBT^;p1{nEye+1PnWAR3l0Sz@XA0v6
z511~cm_e)%gA2L*W-z6Q<kuwfEk4i*od&m2=CWLtVY7TPJ8McopI_*&s-_mlGKM^k
zsO;au(0+km9Z_H6IPq9}q6c&Ta?gv>xG9AZ<OpXK-Lj4*BdXYu3*{A1=ll0v&)ZGO
z>tOg0BJV4n&OmAUwa%_w(L?f+0p85(?QjX2a^jj95fvqwGb$P9ooTXoBfCJ$7Wu&w
z?K9$y1}z`lx2MkQ=v*`E#`MFkPaH$SG#J~pZC{4$t3<Tvx{>3(F+8jqllX$(cMsJS
zR@OaA>ZF&DO1~m}6nxb&_4~pvc~&~x*Lhbe6;k{t`y%84@&OzKy}AquwQ?f~RE9qs
z0avv6Y~>eTdnn|}Hr{&|!DB#`<dn0L25Q=NYmZwjyv6#JGmpKmUt}gNx0)(7sBP+1
zG2GcP*BuWa@LF&Z_tiP$saT{hU{KnVZh-9p8uN6f31iSCts)PXjThW>4NQ!^bZ`9n
zIneHL7q?>_VLa8xSA=U8p7vYPi=#P-v*pAjm{>cR8R`9T5~&N1PFx_5T&5ls13XCs
zRhR~4bVSLFw0h|$GMXD}cLt+mjZ>VqKp_@Sn!&V$?3zMw8IFYoQN?>pFk+?pU+eq?
z1Y<-f15E(xP9IsxD7l>CjA}|HK>J$Y_m<Vn<{o*~e*-2-AII>u-S=R-&hEx*6;r&C
zfTRm!_+pD1VngC)d<mQwjA6VvsGG-JKZw*Z56WwcitC97tltjUm?NlhG;1~-TuobD
zWoOgwy}jA67*6XYhMIb}NL_8PpU{dKq}*lFQ_ve1_mU%mg%H!VP!Wn2G6CT4i397F
z^c`0kD<i4IVJjyv%&qVOhfY;h09k$v)oCI+BW9C68aX#$>_98mi{CskdTSyQqFh0~
zr)^_9&E@Ls#@kMID!BsdT0BjG!z->f&{3T@KR9d#OmHN2^2D5(_fMK=IxOf8YEuS7
zN)0cRUp(t-5j-jX<f>#Rx!CHd77Zf@8xKxSTKKFB$x*o{&{G6NB{VGxp2V9G4??*-
z_%o7AgCgeZ?0`s#zK3Y6F;;O3#rj0fUUtLBP#je29thsFV$ZmZ-{LqsMXU+N*9x4r
z#ejCzG6(b4Oe#DVUY1S1^*%BDuBWj*FI9}GPaJ`rzOt_Y%>&S9^r$Vn&WeT_hp-eU
znVXwl=%|XT*z<}jd(MBSJ&*%3P{r!Orn@>9M8k@ldq8uHdF3uvsV0uo2%q!e1)$#q
z#{Pqm-$rb9)A(YVlJAs(@=)%wfvdz`eL7VY&trt#(0Do?m|qh8l==a-@3{n?!>Z@!
z$kD0OH_PDtRH@+}HtcuNEU#H(+KXEFwf~39+Q(tv_ZPGfBk8aI)VQ;Ylew|o|Iy{_
zNfYRBU@TloE9jy?UFS_s%pJ?=Z<y&D*>@v|mr2vAvhtSZ!;Pz(D>(!7^!oPY;rybe
z9m8H|5KtA;YMC7~8EyPoEj9p%AD95X&ndot?gw^)KnrmA)NJKr>tl<mhTccc;_I>K
z<vruEM_58-{A0W{=a10)2=VksBy6y&VER7;#2rJ*!O0`wN#~K^T=<y{*$BIe67oyZ
z<__I{C9`_96Xr#hGGuX0K|Kbn<Vatk&*r{M27gsU#8;@W^Mpukkn8twib~lmB#n%!
zt{K2QE!6AnaL~pvHIC@!+C7oPT<+|9o?lrQyf~7SBExSUhYSv7_`@=IBf!A{#Sw&>
zH7%{+?QIQcOo6J5miO(I%Cz#Rt2+Z*pcj4sZx;0zl6>7FK~3VJR_zkceK+8hmRPDg
zr3w=zG?+PmtPx!cHcHAvBUC)tDmz)QB=#JgY}mv9wVMG|iZy@0MEj`mexjNK%(m1H
zJ5@tY0op`z(ARo`(|Y29oq*oSvX4eoXU-@A&!YpFqo}cN(&Ivjkuz2%FkLUG41mU!
zePf6B%nljs&jVoU9e~_VL_m`xSmx{YE(UcM7k|GlJ7WZW!|2Ip3x`;$*laMnRj2hK
z4Y46sIH{FL5F@&56g8|C*17&hi#c@=s0Ul~%}*Gj6?*N3MU>IF=sU~S0mDRnGi7iz
zOIiZL0X|s7X&TR49cody(w&mFr$;NBcLR7NBX7viX`U>2^Vetr4F*wH#F32dlFX2J
zl;T(IzXE~vQ{S0h{GkaN!C5DB?!-AX^Z2lMfno?WNQsDiVCU6X{WZ-osN=-%yB6;2
zHhiv}^4bldOq{kEAkJZqeg7=HTE`lfzovkydL%Vu*oXb>A^uHwC4X^L`y!Ny?FN{m
zPg<k~c>%n9f0CIZb7Rc)<XV59j&koA8A(TrxPG1s@hxU$E@Z*0r#Tz>3a<e0X~#E)
zLwNx}PUSZV7&I%~KvAI3qWd}D^k{!DoQ-}WBdW^*F)lY&i+YUgjB@)hPY==Qw>2=T
z>QGLaTITVpHc3hp$xYR_Is0=Asu$dm8gUsDF=$qOfw@BK)(~ed`2_D>lgWuw0e#3=
zw}Fy^Dc^v?0;20L$A3E=xdzz-{V-rNYAXzy;#FpT7U$!NizR%&4KB1d>_msPaaoT<
zc?3V!`RW&7)-3-~Il~l`Q%F4mk{j4#KLTd2A=KjNcWGO^2Xnbsu~kKczh5RK<J>O&
z-y25z;xWw^90~){Y^gyDAH@Fp^T(dil-_`uFf!Mv0$=U!heH!lISFet6iLj=Lo0eJ
zsbTEPHXLftDE(vpK748V?$j_eH7LI@J5)Syu)lB!Q`!t-5Ok%GYXrjBLkOsRGGMXt
z6!ghIjblR>uFt+tA@7h))ijetHMM-kiqnH<@awtHULnn9km=9xT`SlSBebXnci(S(
zBX8$DpCdWQ5RG}2E%MdEN%xjCRdS9Wok9<@!CfyLbtfSl{X>x5Oz>Oi@ws~c0H4yV
z73)0PhSzYYhH7Fr?SC@7y_7&9-zlTsalW5XhdqlV=b_;6k?-p}Rvcf!hi3ygv)A&Q
zH)zJji6IyjT??n5>*ttE@w<fb2+2{psA#gC^$jwuY>6eQyl2XO3^{kyNb4!7UY?)v
za*xmiN|dosNT{)D?BbPLO?`#rs!7xC7qzcMgv9v}_nIm`jT82;UJM{H(o>Nvl9gVn
zgvB2u1V0bKhi{J6aFoYpr?^o;5<AHHD2(J__RU1Cf2L^ir<SRcyO9ifc!Yt}QCp)u
zc4E506{m;h7m?+{!NW-@x~a>-LWv`J)25*7fUWG3FXy&>H^iQ6rNxrH&E>cnEWo<X
zP-pl}3pr@zpq2lVdoA$Y-x)%XuH4-$$ftl9X)8~r!@B2MZEghH;2$^HnDF#r|ILdt
zupF-JRo=JbFt<p<pId20BTeK|&N}jmfBNrH>wrZ9EB}cMGwF#g;km%K_HVjy0*R3}
zRcgf}?U2dFftlknF?fSC)>*Fv2C8!x-kj2?W<{foBdfLZsaPNc?K<DR2p(#g2B9=j
zzS-TR*sJm2+kc+N2q~r8pT@UrI>_^x!|m^fDbP|D=5J00USg>WZq$14&?a`KSnz6)
z`lxV$dh3u@HLoaq*W>K1k1qsWVFJo$6MlVjWL2OiEE#=aU&q9vbPIyzV;&hkQz1vr
zqT=mB*BX;NP5|(Y<|8f6nX2EnM8M@|e|dQMY|uR<JK5wHf`i#&6Ir?0#Ajncv$f4a
z-|0GEG)@R-ClfqllyI#cosN$aHH?)N8ZPj4PmusI>3g<&*7wBFz-c7mMiq8NWRPkV
z7j$5}%3a{1n^6Br^Nshq`&%>j$>7K6C)*Hl&-AI~Cl$EkaP)5Nhc!|126roxuR=<?
z?F`@sKHE`i_md+?fxj>B;(K}DYlgDea`W-dG~SO|JGLNW2YUvAd9?rTozkFV<m$5D
zsB)=&u;t9Ls5GI$#b8s3^FvDOXP;~1KI@}}CRjM8P4m9=e!QU+trWti1Wv0mVVQiJ
z*&SD5R|0>hRc?*wSTqJAN0J)wp4_gi+wo4HSR1EttIQ{GT}XS1KArSSuMq#SUyydB
znhrrb+#jtp@91%T4|e=eiMpe!6`rKeGHAUOq8$`Zz0|Hp!$pfZk^G~Nv6goC>njw>
zP0f*@KzevNLi`4KBA_zQ&_K&NbziyoY%fz2R12uu#-!MbZYmEMRh#K#u}ds2gGN*h
zzw}o*mmRx+?<4U|HVU0n6lE8VW9rdF1G~(;n}C-aLv#)f0IgF9SBkKHp!OxR=<1cq
zplNLYfLbAb-Om32t|tGd+E(lNnF+|o=d)if*X)6_lVZ)DxH_N*bpV58cpW=O<Jn3H
zF5tdGw>mBUWeSoUbb&fCQj>PF9(Cn?)4kUHp>0Zy(~pV-Xph@@Jwij+2m6h_(}#Fi
zDJ%GYV>#JgJLezH06B@rhBSF>8Ujsh=Go<~dmJFP=EBFFVOROUiQQq2c)^91^ub5a
z$xO#hzY%}77cKbKDyEzlvY?C9q0wBak6y}(LlACxqry0SY~uHP3v>vXgG{O=!~<tz
zVNRMR6ai-cZ-(UmQFR_SXX;)e;n2&s(U53$p;c3yep5+W&)JHaJho)J`2BVuqC^h4
zY_l>Eh&jqOj{pM}HZ<ytgoG47>kFeql+k<O-gDu5<9kD<djdSE{9bN)IUyYH0gE(M
z_*gXbzJXejL;wr;2xJB^2X<V1_5E;s#nmVPt($pMz=$pEGZ?)D5k^`U_pe<JY*3Y}
zJ@+dOjPhmee8uGD#RAav-Z@v+UywKDGx*bf<AWn%FxE^rgwPCO6Nh*xdo;_ZMiuZL
zgU}skP7tAO_JBEQdL;R6O>r7tK_Y>YiSq=GMd$;GupmhK>dp*_^~MmCNP^YAPn0cy
zkwtz;lwXr$T)#JALF38P(HUDF`Sdq8-lv_&#T-G?NI`>DviNj|LKYT$Cv`08A$FNW
z44n&WhL>2HMeLTn{`#X0YZK@p(t;)~2@QMatq5Skz=-uUrvJu)5B@ym9Jlo3ZMBmk
zhWJ;dAwUud8cG`J7^xl(LJx|d5c)R=Slkb%p>#>BZaQ4f5$OMSh;9<uy%3Cqq@CzH
zV9`(t1S+Cb>33&wb;UB7Siql>?Vz>tY~SV}cN=Kum_(A%MX_(m=|}EO@|6`dFlJPP
zjmQ%c9g!XD9JdEBNA-Vm{8|tHY<k`vXt=OK7r$pWJSk>=chAk35SfZc>rRvdfG3(C
zt(t{9ne$<OJ?oU+T)j`qx6|H_v&-8;KhZTGyZ=JTHfIDK16k%zVvHA&`<A@=9}S86
z3X?TKNm&FG*9rh&*I2%g#Z1--cr7gz#MT%dEzqA!^6GUt@j@CbO%}9fwMtOo8o>sF
zGhF2#yf6@d58aT>&_#x71;=MxfvT=qA~l=6)o~?M_i!H?n&US5*ov@a=sgz}-P4Qo
zp0qUp#@yWG9C*xmx^y^<24P5n$jG;aVVXJ(@+SHwUT9+R30<IbHe2<o5(s`pa~2<1
z7Mn%6I&BFo+IrZzo6nda8Kphdhg><@hb5d5y`12Vp!cs1985Q5K_mfiU_}9-K-@-U
zpLflL=&FDE?%^4*8NC_7m_(K1%?ue2rS)>So+DRXu(Az*6?VM9FR<{w)tk_-7~&1<
z`6gC>k6H<EguJXEGz`*dQM`_!S%}nWJ%`LfLQ<B?htN``U$drJu@8vfdOD=ZK_VCp
z1`+wo4PM5pczDZ)7$QahwCjm`KAN;iKEi9o7RJbn_rifXFC8^|d@Agg1{0p3JEU)a
ztyK>}6_WULp33@7hfd3Jg7t%6r&s1J=<OvJseuD%^FeffX}!GyqeAgFJ|=3=$`I25
z)2iXvu@hv>p2Av_yQZMYeJUMttB`FTGKg)xfj<d`y=}K;>oht8>e)h(4>a&&OOS|V
z>Y*(-bPRu&GJg#_mB<Se_t<{Av3mlg7M-{2=AVv+dfJ5g5MarQnFQV(Je^g2XyFD}
zcMShK09qG6z;`V%80%7ODnEMCX{^Y~IP+>O=wK8rFJnzE(OUF)tBR?g)|%p9TwvwA
zMovU^?m@`V*-*exe?o###jAG}Ysx<*xrICJHS)1Or^;4ES|Qvx@uM`egKM;Fb5XQ=
zq#ovIS&b|fr?zK9JB&&G*1u~$?)Q*JRv8I}L5nIHw`-^4szoMng+0$`FqYiE)t%X;
z6a*#FT5?$<PlnBo;XaBpo70c@WzK(tGr*A)yr@;yO+o>$&diNUy?9?4j8?xq)^1B~
zZ^KeoHMEe*{AULpM&d_qxz^^=^xam~EB|iviP)|CrtX#)rSEb!3xg+}>V~2wuK#g^
zibX7>C00T|bSM!Sx+Sj@RRBY--r7~PRU$&GlfA;Wl*M9N=xB+CfZ%C12U8O7Y+id7
zZETGSG{OTuxAm26iS@%F&}LGP<UY70f3whuhPhz{ZD~90<04<XmO;><Tt4$=B?In(
z7zOM%&D}`!b*uSWILycB;AL8sVI^n>APM*KNkcPRXa=V2W;cH<=`#1FVe+E8mu4cK
zk)8jWwV8}477R~@iWwc^FD9$bBzaC}Z}%%kre5F!cLSSAQIm8km7KGnX<I>Si+Ts3
zd=X;|8llE|mwa9H`%G1gCny_7fXU%v4Wi+?CKAF7jfJUs))96LiE)!0TCOe?H=E6Z
zj#x}h+Oe!5NPV1FFQBOH;~%Fk_jM46#b@xF1q0qPb#OQa!*ZQlepVCtu3y9OhT|zo
zeId|eFdH!6C~;W@nb<>V{aokr3j(9Bv+i!RIIfcgDtEVY5ccWWmAkEBTG^lFs$od?
z+E$%`w5Ab#>=v#_g+kG@o-J3YvAu3{d28Pd!QKMR7_n8zK*K?WTl(j&k0sB{`N!!)
zl0}20pgEvSScTg2!bw0eW!&OKGZ`CNj{_J7;+Z_S0x5u8cc_3?&U5)8IUC)0q?l=-
zz^>VLbv7pv?-kx}2SKBTvA^r#!V7jtQP=QGaVdpVx^-%il|*Mq$22|6Ws<KR9;H{(
zaQw2G=`nteb=LJgk1D!lYflR<FWU>Nz(`1H#qNsVJH=>_w&!X?F#>Plh11bHIS5D;
z0;r~Bt`lN+gHlq&c1U02*CAgCB()Q%r;p>7?^Wb%sp0I%g768&L^MSgX^NuI_;t9n
zhpvTzYi^x0lOldo-9AG@4A<<PR{$XOqUwf&ucgcB%b3wmV4H3}Mf4?mJUTDG%Z~?)
zMm$|W@oJD9z~yLUyQ!5j)Ll4t&j7oeXK=g)py@JFcVHcz3f=K1fTp<hRgYL&P!}dI
z+4;74rlv1tEk@ly)Yom*2K}m^u3Yn|e-kY;prl)h7=Kz@0KZ|>J^Q94;jsa7$zc>c
zqxzkH0#m*}JIUFEYPSEg6hH$0%kPjC?$heH8Yzg^##&<`{z(VSU&c-NZ2-O4vqB5@
z2Y2l<2vLO|9?;wVjYu$8zv$m+(TmEoMH%JPQdZuqoVa#?&EH82I8$rSX1JHT{MYSn
zx5HoGQUtw1Aih@J*1@16Lv&R>jc&NJ_=OtZxxC``;L4qV_hXX;uduD+Q9+`mtFeeI
zeDAi{w-5OGxqHR`*EdSKr^Enf<z`DYGJr&fl{2@ubg?4l;7sbjBL`k5Pb&PE$r6A0
zhGUv62pT<HwGE(OLs$L;S0{ogDuSr@?;S;g&4&|F$D&RqWun*L{T)|b=*WPPr{>x8
z*n!?$M!~7WRW0j@F?_s$J>IAAi|kOr2U3YulzAZu62pvs`0CvrB}&|<Eqs<Hc;7Od
z+FwzC;!tABr)5f-<_<_Q*8V)cMxO@>&RL5p0<#2}vblUxm;f8?Sd&a5OPF=)G7)f;
zPLO@T%fpRvA1A&y=h`O*66Fh+=jgN6h<6x_)`-jeAZV?!fuD&z98pCnq#Z!i_aOI=
zL<{UVokf1@T-V(E^Ib(S7$SLpp^5^8h_myzSpypc^dEdtL;=r8xDPb8dVBcQ;}Fvk
zHZC*_)a6^npj57O?^~`o9n3zBz-4~;&Kv#i*xsHasc*#zbL;If8vZXsj)Rk!nfQMv
zW>{GMk4eYD^FK8{KBoWaIw$jgB^4$KYg-p{Ct@avq`Y=apnMbyQV=r$;=_A5rHIET
zHs%^rOcuS3$X`XwY5#|72$Y<CSgLXzY!FP9r`v*7jriw!A!DAdxlxQ<A^RHtNpw`0
zc*mg*Msb!>gpK1qf7kG4i@%kn?$v7{CS#xDocmm5Qu)4Q0tv;QApZYC&Pn;dF#Rv+
zEdM`r&i`|r{~vlP=sGB6k_?p*sB%&zl>rd)zqDI2%DvVgon@6ieKX?o@QWt?Y#AiZ
zzsnMw!HNZp%J$)9H<;gB{;<tcl(s%ilNt&-VNrsuM1KzR8%$=f^{(A+-%AHyPt9;@
zv5=xs_IizQR%;F%>WlZ*8+_o}S~>r%)6DZKr|VRxUTRUaPrO(SsOVcG{WzQhQe1%M
z&1jyQt8vq#c3oj=7^=L6H}8W?R{j<)G48Lpmk%xK%w^tZnS&+zA%-zkO@G(%HlIy*
zpA_#sl(okrZxd4olOeg7woFem(fu6Ch&vAlF`upFWl;e5MwW6&o1>F>A4gb}#aUi9
zH0A^#okvE>{5$}Y!RYCno0cG=d3>O?de5mZ*8a3B1x!BL>Z^dkln{6HMCw<=`P^WQ
zSi?C#*tAuud(GFJz}4oLXmnRq6%Txa3&q%Z^WY-$yFSKl1+67b6<LVV5mo5nzJH1q
zgQxI_e`U1p#z&Jbr8}$;vGX2NfHCezFbJ%*Ib!<a$Yt+%#7LueN4KG0e-{u_A>us7
zA8}7&ok|gBJX&steQ@M3A5KqPg9r+!=RVo9UfZeP#c!tb?U*}94CfQ)hzvbtBXh|!
zRdn_cAHDt!-TUIp=H|hL*jl6AGra%mnAt_L_Z53A<tJmwHqM>>6?~VphcEh_l}9B&
zwzoZ%?KLFjwZDBi+S2bJEenM8er&bko--mDcPC;^=1I8yl#KnoQh!zbLevw-h2}3#
z@)#lbiSE9VY~BzrHQwcO5O=%tb+@?P8m>h~Aneu~+o@li+*r!Z+2F9e5|>#MCn%*!
zQ~a=VLl|TXLGVr=Jm0ER4E8T|>!$N??dD6VxQU{5m$Y<HKX~R(Rs%4t0-Xvo>XjpT
zF=Q<Rlz#@}jr6$IkjycNC-lmI1SFvG!JPAN!A&3|XnFLR(`~OFZWQbbXYtr(=F873
zT|))r;$tBlxq8`S<iRVxu7tfy3%PfrLFuNysVhTxmqZtW9&_d*(aRYC20_`i^U))F
zL(4fbnwSQH1U!l!L;*-Eqx{oMAaNwh9K(_<`u#P{(NPq96sr)rhg0Ez*UP^*Kapta
zGt!{?_rf`Bhv-H5H$u20-V$U2b^|wc%)mkW44A8pl&hb%&0ckv#|`(9Xd1DtnR~Ff
zljI0!WiSao`5YpQ&OS9=#^Ks^M!i1Arrl6es9A~_j`|2Y3_4IRut*9EHNGIDj90=~
z2$no#@-k?5he=awJEk!OzlXM+g<=SoI^EIzMq3WcL48Mmg5HvcyC)xgp=f{;VpBTe
zz3n>uI^tNPe8+(bHanMbjpJCY<Wb}?WKvDoR;sHCVB_jXcf>Xq%JZB0Sw!jT%a5Bf
zRg}YAC)JjC-3$ni3__j5isB%0U9m}^^Vh9pL8CIY>e=w?g1cl}2sBIVG|MwwM5v(>
zK@dg0{sHu{N?FvoM8O(hJ;)8W;vmI4=~PTzQTd#yj%Ex1E$0Zww}2;(ps~=#ZIU)V
zxA<jNJY4K6jPOAS(t<Z<TGcYlLnc<_D|QPbEl7?77YGc5JIX)D1Bk*h%7ShKRymC4
zUVH}}_DH|@pe&ssahRZbsn642@x6Y+mrl&4Vb#`WlcY-EnJb&gJdC~)0G+24Yd=gS
z(Zp3M@>nD0zYJ>dN!8>?uWQ5XR%3abT+5-!<@<iA@rxj!R^`e5h4-jl<aLb@%EQoe
zgpDpi%>xRr7IP~18_Hh@v_>oh#wJ)k;b($h;86Cd&6(a$5w2>7^GIyLg7}n3vnwU)
z0ce$Ar?oMcPSWYiIQGr%zQ|ILq)XoRRn`gu1KeWLlQ7T4a;Lc@b2k?7=LbWYIl9ea
zKtgtkFnJFAHVNj2q-BGr(fDrADGcm$xYb<Jk%8Onsbju!AP~b0W%d+PzZlP@Wk~f^
zZ4kDfSt?C_D-bGNAIcS`vj3pUusQtDFg+72{pbf~gKaFa>%JayFX%s|Pe6|6Q<Ftv
z9$Xb8T%zX6d6(7F=xiiId|%@PRiPI$SN%#XzCsY_w?kj|<tj)>F}oo_{4GLDCy%;>
z+z#xAh>5R$zuUKT33Xd)Aoee)n|k>^7P1xnbbDOQR7({Zp!;R55SH)R7mDJfgvId}
z1ipCA=KewbrIxiNK<44F`_D>|i&Iw506eL=|6CAzo_56TsMd1gCJ00yr==K%Rzl5d
z@gG(3Q0KIglAn{&-opaaVxt>P0u5IX6hz>V3PGq5jP&p6H8FG%Q>sbo07~#ZzV8CE
zoxC<M+sFkTJ6^Ax=b0x-np=ITP15#VVqW&jVMwz+Y0p#B&gV0`^6*IE(F2V!r-K4L
zW%kZ7BD}=MCO-o?&v>WcypFYx+0mBK9%z%%CrEE8bxOrix6Tn};almA*Y!|jnP#9f
zsbJ2rNuxXnWE}|fF;<C=N;zz~x^@J2;H)!j4m7tCb-)TGzIZxvgM!uDroMgGy=^M|
zgj^#$EYH8$Xy&$~<8+b}ePmxr9PJ0zU~dhOnaY!0&*~}5xk=?X_7;KG3cZBb?9LN-
z6PpD?e~Vzht2VnttH049<!4*;;i15)$i;XJSy@bWOVdAFaQ8J$LgHi%N*S@;C{=Sp
zS=ew&ko)q&_KU-IX+KBtdZrc9k}s4OV9REZ=0+b^F!+)5>~O{q_DRV<GW(!DN+_4H
zX{RMeZ#BYX>BTuWuxwrh8o5Lem#|wF#PipyJ<$8vvSAgEkM8cRZ#x|ShPHt>h@gWQ
z^?`j#DU|kBh1A4Ct6+0gl(;?}f0>RT`AKvt(4oAt9`7COcp_$kDW*_HtfmB{3C|v=
z*lJ+txMJ9;4eZJ|xi*!+9m8=hQtA7?b|KR1i=!@{d)`Gu^wd(*2W!XeP?yk#QO*rR
zCpfGl=F_{PWBTSme>n(ztvCXaG00_6D$5M*UbHWlZ;CDW|A7kE&MkQ(Nu4vZ#6U^~
zgw_1{x+^^sum_cOghIe(POE$sn50p!ecTT%t6k4m;h=!GfY)U;dG9vb{5+-6gsnE{
zIORg-PV&FvitXAUU=!A{Q4g~}B?;D|%_g=!ZVdu*9Cegg!#sRVyM_QS;BW(drv6oO
ztQeO^B)?l^A($de`=1VQK)39!Lf$eW({)W-{^d+g=67nVu~9#opSwZYG~-lb(Cp~r
z(}U2UbfQMX9p5_UQ%W1>tHY^;AjEvi3r8gN6GwO6OMe4-QlZFtns%=ZtCt_g6lXqG
zj1pCn>W@(JAr|J|uR#aKS)*1ZX_iiPi5%&a!0cc0eFBv7sma57K+~HZ&cI+T`ah`N
zlDv=Z(i6PsloAkgDAwO3my|}9mb%*(F^(Ow<xWyztp-O4Gvf1{9Ms<ed82(l(x_JB
zC1i5Tp{Z9PQ@aIiGt~(v9P=$Rh%`oit^ERR7apEDRk<ySDv1D!)PCG_V#nlhOpRO2
zJu8{YzhPs%h=z>4(Z8*q8~ZDr&>dC`MCsC+t=2Y#5s!x#yqDsy<Z;i2!k;g}i=(j1
zSnK9YF1FqlXUjw{;;<bkb!1SA8$LTvKwNPoUS*@tDhZuLT9#EL&682EvY87-t0J*Y
z+XI0^jy_Ar>{Y;Bw{hXT-2soEC-8rI37N7d11d}iPaQ14Qi0=TrnJZW!qO@`q_CaZ
z4JdI!@}R;-V6C?PPx$~h8<|i+C{zDE7FG(dOaJqc_Vb5nO^Orc|7ONq|3i#fdD#Cy
zQqT22%s8n`nI(yw&0lT|*zqaYW_UUNRXm}_xX+cE+1Ppt{JJ}SSkwd-DyO#;^a+Mf
z8KObe9Ann%e|quk(8yED5~RL<o&vKB4Sc>i_-s4c-4`aRn2(cg*(`uyKMrTltzXNE
zheUfkBU<mnZH0WQU4<X>b=pW!ajh}GnzW6R7oKihnR6PFk{Z(K^?c&qUu^j4H?;a=
z+BGWOMa*VmxL%eSwL~mc+5%g4kgnT8>Gxicm;?z&Vg@J27K%E9GxvrMN4WlF`W`ay
zc!jp4v$=Ssy8j~+s8s_xY?X$Q%dn2ORC69y@73stQB^!2itn>#E}p-L@+l=_*e=O)
zsCi5kH#mk^#GNpO6e2?C;*p&RbJ?|4Lh*GE9L4(elq0`ZHB24Cap>(7w!)PbQj9|G
z(5PGJ=rVWV*S2t3NmWidd9^r*-BnrD47T8YN(55KTSO)@;2Z!!T1bfT?=Na<0>LZ!
zoCijRGw%ZcEXAt#8)Th&KBv#z_QD@g83wl7{DgrdkyQ@jpM#<Zijdz%hw#9ymNp3z
z*R9LJOo50at8uqDcQDfPC*nQZq@dS_V|;!IYZS#U9O_WHuKM2JahvkY+<OU1l>eUO
zr*A>)ipD7%@mPV4S3K%nCu@M-PB3Jt)P*cuVY870ly7Z!h7NniGy2YFFWuXBhZIO+
zvhHb$9Da`o@-!`QbdE1T7aYFSiAs@ydEZxb#K`B}F<34&yQ$%>NuB@Cte#j(dPB+=
zlgF<rBd3-}d2WDlR?b_D16nUA7xWVTJw@AFOHGF_0tQg_%xQJz{+8smv<2dkAvBym
zvMt?|Xi81Upy5UxsgzAWevl#zvYpo65^IN9vnH#nAZ$lZ?6C+|!sAnu%{eP{e#pD$
zR(C3CL^&s``(N)W`));M#|MtHNlxcklieu%ka%yX=1etxL17k_l@^R5%NtD=J9dkU
z%fjx(jX#hO!8?)*dX<5sj@-@#=52sxCaj5IQaIflX9GYSrPMKsM{xTQ@PM2x)xB+j
zUEZE}Z!<ti>^XZLU<?rP2t`Pk-D?MdAoHLk1f`MTA0|U^rqF@_f*_fWF;z0wFif)U
zbk@KUauAHqsq02tfed=&WOf+3PaB7aC4s~Au>sNU@M!&W08dC+snj@-{I7vUb~Py9
z{t-MFT%H7<TNx@NvaVAZSs(q#q6<){l;bF4rm~W;b(KAfnRoLc7|BYsJ$e{}s?7B^
ze>!c#>a5@jphojU{%%+8D~*=X8=;ki!xLn1bo^~O!q^?WSYSP3=sxq$jE|kM9KXM?
z;sPcuCKOMhJfPyoShizx1@M^!!%=#TIr)6Y4>|SteEnnEH^_wbs&?=f@I5x$yutPz
z#pUhGUth-Q@OKakV=ROR3Bo$glJvN+$vs9O$SM3wiCfBx-{OEIfG}d%Hy)*u)0R4!
zRkZzYbdV%8F@I?b5gS{aL}Bb8&93X0xGu0De-}Elhv@tzTri#*k|%B!^x9E~?L;DB
zF>W6YLTx_hrsB)4v3J;eKkrme-U=*;kiNbq!8?6m1YD;zJg|MmF+iR>!hJ#2{rn5m
z|5w*YZGZ=O;z?+H?KX5A;o;v;yG7eMzCQ2*SEfKiTGhG5_x#^Cj>?5o(yu2V`Vc@R
z7A5)b3L$x*?r_og(lrH~st`494OsZbFSqxeb%K`piulRH+w|KspA_u;gZwN(<i(Z`
z!u%~vHd5&H24Z^$0zOEEa-+E}p%*%~RA*|mby_xK*tZ<kuh9IloEw8~C~{vo^Z28y
zA_|_PzYXZNRNN_Ct)nxi!7RK1ba+5sY}z<_s-65BHxh63oUsHF(;Rla5q8lySPq)w
znmBpllfKa^;xlVx(;R$JVIITgQFQ?#Qvf<-fQ$z|HX*CWKIM7L0n6#CVc$LHP#Yv4
zu?A86cK8rSszxRp!bBnqQHGt|xWf24{Gh>G2pSdL+IWT4eee^1s9kwtYcue7dil`r
zOkCI&IZsVe${{LnW>QS>cdRV*GE~TCyqKTVM`sxrv>SX!v@HKYKjmqmC7)8C>_6Cr
z^Z)s|N2(VWjg-ooF7voNYBb{r0T+3TAP?H8dWn(TsZ8oau#b+c6jn{CRIxi1Z}Z?9
zx)X}C#IYfUvnZBZjP>YMuin5SCn5N}gV<+pVlY^a1`4r_rI)l@S$~Cs{%hl~Ie6o|
zDF`oqH?}9Fv_c3YqWV2M#i)gtPPlC5)}!FKM}Sub{l<`M%XAG67&`6oo2*Z6Wvi=O
zX1-%leupiQXdi2f#|l>cz#94EmXX><R>i-{T;}VG1g&E07iSoeLv<iXNi}o<ktzVp
zeYL@?&?k-^6ef6D@rd`edoP1zSj5hHFzYmr9y$a6rB7NJ>n}PMmVp`wl2A$|hrN6U
zpUwee;ExuPGE&FuB0m*Lc8=Z{mso#FaEPTdK_4e^D%;Tnm)7&!Uyl9vo+Wd*`DOLp
z8{^ghFA)T`$*$k_rVv1i;SbCpVK8+SJv0fMJcR}<bSng3eQ)2ZFyHN$S9VZ2&yjIN
zy10M9>P)X*zaexB92wRpG~%B7h24xxS-k-a^021PM`}51<^;3m)=DH8@SK+jR(a1Z
zJP+4{uYV3#fNPL$*+2>QDjBopo*P_xSOyTXeynuJ&zQWT%MD;GdtqRFQ6}I>Pqn4(
ze1qVf8(uO%TP``}BR&BhMg{K7uF>eMqLW{O9o!|Q=>i}g&_EvJ7S5fYHex{Z(|B`-
zA!jcIZ!Du!<edSh=lX(_y+#B=r>D7{XtdZHcVTEvbAXw|if)rO-en-2;KH)^>p0R=
zn<zl?yscV)6B)Qk&cY%fv}POs+MY<h+tU%@1=+PJUC)zPotTNvFVQwevzKDjy|d`6
zCS%7lo#fP{Waw+iJPxI(KnGS#k<ERN_i$fh9XBr>fKh~lp@?ji2u?-?5Nm4L+u%xo
zm6fNzzOeaf+fk{vhqRUogRFF6dDnIoJ(QM3{XSIs;R61GQ)h|CsCR*!YH2xg5rL~V
zr{If}gbGX>E_8D*OWOlS*HH)zCIIox_<fC6wb(URqsKminBs~l<g`;IgT8lfoxcs)
z1Sz7n1}h%NNWx97TN{@D<(!|6>CqFi2ayM7mMe7GCh-IEEoJWIpS<*a)+GQr$Korn
zr-=5gcMI(G{lH5UJ-o7}fHN9}VJ~p`c$_uu>iMx*o(PI%ak{F8g;#=Re3}uuLHLsG
zyON9c<Ari+`q?GZua5=ubKcU>*Lo?k)I8eP+w~+`9&`S!6Ck#f>I{F>ljSr?5)W1j
zIJf4@@xQk-!>u{$iaPoC04*z^_apM}8y|%{nI4!*UgA0pFb7l2AF85OfQTp^H>Z`P
zKe#6Ak+Y|+W=c{2=5BzY&~Xk)(8>{V?5q<BbQ8DHA0xhDPcDVqFJn`--&p<e>U-T|
zv>nE|EYhJ*vT-b+r|rz6hr7ukdVg=T{((IAL3?O{oOLC?xUn2_-I}Kp)ciw+FaX8g
zzX!DIuI;oD63EYYN#qetTIB{0_wR+H!QT4KPE^EriMnhq+-r!L&tC-%2liX2o@G^G
z!Y4qkGznVY8zCAkR=PpQ(RCQ^6XvYs&QcE9L&OKzCMxcw#&d9jG967#!`mj9hjS26
zxKjTdh9ECp5OMLs?PH9Jc-J<<eij9*>Ht(ma&?RArA9E8RLP~aw__yl#H1*cR_0!k
z!tS3}^DLMX#yyDz{F7}s1B6Ol{BcLb5C>7?{P#kovl=NoNX<T&2njz8u5qpE=&SF@
zFv}&1N|50SVTlN+I@6-^C6w}{b(T=%osrk9B@<)=^dCuU{sCW^9LElO&}ZQ_pa=R(
zR^?|D_g3b8-mePk*L=TRjl#WVw+i)mm9n)4c3`UH=+fB92yQj*Wczmg_sQ@61tZJP
z_xZauncMqE^GA@VH)~K33uy2)x?URPSbU69aE^2clMpN-9z-?Z%vwE)Qy?0qt%YZg
z303r<ia{P4CflC8gajhl<ArDP%?|vCF-LZcc8Jr|K-~{44S-k`UJOmUZQe|}kF&-A
zoAFZ3cS9bdDvt*#4Y$)RE*J6$ACO{<pkgQ(OX@(N>{~!#T-{2dC_|V>&8QY)E1L(U
zu<88$jWfiuyDioES3XP_z7K=T{fZ?{v^+Hxy-@aG*W@>uav#V*6LAgh5jqf*XFAT4
z!fE0s7={5|meo!UDg!+KyZfPGlnLgQBC6Z;(g>{zZ1R_W7CS_LIRsUwy=X+DBrY}=
zyl5K^WXpX*JWSh>^wN6bDEOTt?K#Q6!?(AdmKApBW~jXow)MS^c1oY%zY^rD4ztfa
z+NM}ip5l}B6EAOGv869PZNfnMfcV6z&6j<OFO;&=4nl4`wjP2g3V9_;Nkky);xWU2
zT#?ivHADAp88o*F9#g4a;=Vi;jM9dGukxM!`kk6s@*}WC#h=Nq2jops|4)I6@&zA;
z5=%b3pk`BBLslpA+GZ)NM)40bzGAT8ApY;0e8XPfzPey`Os;qSsR7_L6i2`ojg!d|
zJ&8<6zH%vYS{0m8+JTyVR`3l`0P!*YWpKg;R#hj%vQws1ApD9TIQw8Gj(qK5x*s}W
z(lc0w968uB!qEPhLJ3HI!OI|6RCgXMV0Q`m6*oSYI+}{XGRFaDOcU}la5R5iRXpP~
zmZFtNa_kXrfF{zx%?tSdkoAtifi_XQZZxrNdt%$RZB1<JNiwl*+n(5yWMbR4?VR`2
z+27e!d;jdJuI{Sts$PBfy82!Tg5&IH)F8c#r^y0B;#&n3)rS=2P6big`zDP{GaV}u
zXcL<-k3+sMjuGI$6A(ZY<}3{h)fGKx%Y;xn`3)Ewsr0F@m88i~0xQsi-R6(Fe;QhE
zEmzkhKt9#1vagq(fu+7ZNbhc3RIXF@S!o%RZo#<GPv?t;-E~_#mj?r>i2`~g2%+UB
zoAyn`xL3Cjwls?mTK^rKV)1l(Zcc0(Z<rj1b-Z-Y#Ix~hH@owk5ngze5MU{3C~<S_
zLL8SUzI8oF3KgG&Mf)+suMm@u=U}UF`?CK3eE<OP5>wQ;D{v<FK$_wngLW8Zgh4vZ
zU=w%8&X&tlm*NunMd5)ovEY(|7VjjI#N=vHeKDj^Gz$Fy3&UjpAxrf&`YMjB6`4T4
zpWSqI6fx>kP-ER26MAZa6^XgcYE%)LP82zEpTS=dQ~__VUdFg7kDwx6Zqi9sTja9u
z70!M<Eq8<KR5cqsqj=^b6<F@IGHb5|QDmiwFlT<h|Lulw)1U(6e$fz8O1S!Fg{rgT
zjVC{*qavj5&=q6i4<)7OBc4b4WWOnXOXG04{rwl1YB^L@`_<hJ2@?H#W(*SzWAyEs
z{GiZ+^f1Wc?w~8eT%0$DOCeo;<#(96sN+yk7$qR?TO4Fq_(smyMRz2~?Yt`*8|J?(
zi~!e3LeRT9Z=?$-b!-lp_3mG-7To(?&ESUocBe>~<7p%$%&%@~rGFXPWEeA@!gSH@
zFw=f(lSCAZ%~$2`sDG%ay>cCh&0_$cqsU#J3Ca6eJg<MEdFj+LISs3F!NK18e&I@N
zY&)fr3+)X{nooo^CoKa1LFZ4k%XN@fD^@VPb0ySt9cB&m4y&lWT9g(D?iyqlMwF+)
z8|$-Jq5k6VO|#;7I2Vi~k>dLHBxL0}4`YOxKzrSyD%E2Ep-GSrW+6L)ro31JDnu@x
zLXW!p+b0fuB9%1zHh+i{pPvt)vY!-)tTn#$HO&{D5op(Os9nwqReqCO3B<!<?|BkG
z{^`8=TL%vy-Y%874K_TLdfPYMOrprwU|opmcSnuNHN|JfhbPsQ&Lu<!2>5%eDAEOA
z)4{!=$7P=PBnr}eNmN?ms}2c1Y>JHPyulGwjlRO=NI}j|qwisvB?>~Vs)@=={8Wt6
z{uTy*m0O(Oh%kHB=fqGz0UiBOiIe78(WA-(>KzT_j7Br)fX|^F#&Fr@Z&dXN1&jv;
z-I@^bhlZIN*scqQ&i0WH-nA7i*0sjO;WbXOGG6p17jO3#Drs%2PZF9V=e*yBqdnmC
zR?GCL6R(h^OCv8ii_4DL3;#Bj#So9%7Ml`7AKE3d`B6?Wi61}#&h(2~{PQFt7Kv)?
zHunIi6`68L+h;zI_SEs>X(p63`XR2!lA4DnA}mu`xIi^0UCD7N>c(Rq)k{Uj1<F8m
z_kol`-oq!;GZ{`X%B3ngB@U_N9T-cMSE&${5af0kq8)MbK$^jgEqSyT=XG>R)1tsy
z(UXzm0+-;S!IY+tEAJKEo(vb)Ll_%oI0FXsofrNP$N>h?HLR^Eiw%k2=+W=ze(t&{
z`g^o{J_o2wbFGS2xWbe#Q<r;v(tDJl6N|p7GS%0^AHI%Pz_VA1?j~X8$`_T|vXs3Z
zeZhp{2srs`jFR}`z+sM|jHAtZ%JcU-fDmSE*I&!N!qV7us1xd8zNw9Qx0kVuUd7Tj
z`Gkqa?E6B%^uV!pj^cx0@ZPH>Z?GHl$E%^%VaNH|(!70t5wW~z2q)F3;zF=9v2iDj
zsR}1?OQzEoi8&E)upB*ObLpXyuoFGo1|tuet$P1O@ICcFWwyu2G{e6_d`|8xyoxOG
zN&1px1XlD}Yqd?vlWzmMzYUPbZ)%3FJNFhkuel4<ZtMM*o9&w@)v9D6H`vt=uS{^-
zB8Ly_%>AxKh$9w)LKcZC3tg&`u_IatouBzBkV8)b!kl2hXsP2U+s9c4VvuLwbbH6C
z$BUk$3K5se>FnRvQvI%%LCG_jS-*4f@Gkuy0Q>!*M%%B8n4MHhCda?NJ9h<wo{WL#
z=|;CLJKPFf%eO0js>gl}9$BmdZ833YS<S22uNl%0_Z5%47(yaLRRS2D0$oconB9B}
z?*prSyOna1X-Bg_^w7HEUpw`y4UG{JQT9xqiSZLgV_Uw$yP2=3dnk|I`2cenVtQWz
z{NQEm(9@YKE+<V}Vifco;3jXsg1nPxQ$AiFJxNk}0NDA}Pd9MWGP(XQ-aA94+6CJ9
zx7;G_mPa^uj)8`IpmTEKsx}KW52}z%sQeg!uz`RKe?!nTC~9C#Y;TXhM^;)Q^!1pg
zQ&`P*^4N9X6I@7&Vd0|+RS79Imf=TuI)F@ZO4meTl-Ga*$P^+RwpCT%t<x^ST8K5D
zi`0Nz1F-OZzzD%`zPnSbE0*DpdR7!zw|S@!ICzV#XFC|`$LSQvK0JCja%c)=lcysA
zie2duo3av!v#u&)p5zm0>?;vOFkJQyqXg~i@vs+-K~t1ZMT9uaSC#XDZe?4D^c)l8
z^Jz#{boJY;Yop5($*STAWiE6(r>MI82BT02K!uJ%Nmorg7&Smtb_1W<NF$cvUO+op
za3W|eFcTq{l5&j5ivjQ-n%EoJ2n_u<KDYmd{xG8HFmA8OzB$8CRR)h=8fYf@2odRU
z=BBlC@+fT{3a<jan1!`&gg;J6jz$dXi{9;ZX_q9Vn~vfT)p5c197~9N2a^`yL03Bj
zK-4P<JfP2-J}Dx{<OWvRT9oF3a+{|_LTQi?p{vcbJw2k3{e+-|FyU5(-T<*kf&B$g
zC!sb$I|*5wqRD`Gkz@YjbauIo5l9lI{kzP-|I+kl$VXIRL2nzAIuRWL8$cn3A4u5)
zuiO);Gr=&$F7f?V3MCIYBTp<}^A;unD1!<kVA3Fz$)U>&(P2zR-xyHwjaVhn#5+@d
z75cg7|N9lzUb)|pcP@oRTco8~Wdaxmr!(0#$x3qmVMLBENz^JsiZ5U&KuFJ|Xa>zP
zBF_&iM8kI#jlYR!A{9ol29Tp|ga3Ms_o<FEF>cRMh8*7$ieUvv8uIKFwc@M*IClO;
zGj7-kU0YD$GO@&lZyI3^=8+c9o_v@}jrj61M!GS{-nzyT#=VE<^i5z$FZe1XS!2!m
zUSKNMQsLeGl+fW5UctW;)nH{^2r;n1f4G6heaYurilbWpqf{!AtC>+T{1aC%Pk&SF
zP3v6{*hVmBO*DZy!I#jXi1E|~n7JL^qA$Rs2S!tIgT=;8Lb*OV0YthomguYpZx-Ph
z<*(dk`4gtrooIpnDX~-xY&Zyz@^DEy-Dv1{s=6X7ZD}!qr7%-&QZQ7$4Y|wxHPPm`
zR-BxEE*pR1diMQW^}lT%&FMd)O~LtELUYGTs)E_5gy1^&&mI@g4j01!w{66svqJ})
z7Vp>lm+f=I?Y_9G)^ov{E&X<vR7uKvR9s0)y=Yc=)-BQEtc;6LL|d{jA_BHWt^I~_
zax2rM{q>PRr3Lz7ZpR(1MJ!0HOjF1(vG8UK^hA)O>XP)PnGyW1B+fq7{Hb3oz6qQR
zO$1pBOPwv$^@+2xb|0)j&ZCQ_@!v{IQoDs2l_I9sTo`CiCl%JR$?SMf`P=sj+o*1=
zstIc&?LbR~%u(`^j=@MiZ*@U)wK8W$mP)>F_o;GsT9q=(08ZA&W^!!Hd!}Y(FSC5-
z2W?9slUYG*T!AMqsVdPy)(6{<xlhp?9+7b42OB1kCj~K`?W1>KFTFKS6o*;byk+PU
z#0?W7tq#iiz%?_mR?jHKG+}v5eujp1VJ`02$O>|yKD<IrA%8I%6H&jx=!t}0AgM`>
z<`$~<S4Ds?E}uDwH}$^?SnS7RftRGf^7OK&uU$P93_C;bB5siATXJjWcD2ya$1W$6
zi@3uisc9**?ZH9-JXzREWnub3$_Pp6rAyMe!)%Mp4$14Y{a#Wp9XX8fm==~TSzR{7
z20A1?PKRo-bUIKwx%u{-Nvh;Op3KS#o`#+FXsBl;%VhOH)i=r}ib+aVlA-WS7tJjG
zGoy_S+)}~65)^k3dtr{V0ZjBKiCHrT^aT!`BKM9JRK*D}r+KE_I`}CMr%liy04syd
z%?LjtOe+)&s+9nNDDDQEDjK`OHp?gB2`ay*)#eF(v{DR2R&pD+V_3POcr%??Ct_?f
z8*1T)qkElGV9ylILBE$ikr`O@;q1!|bqLn{XXVmG^mj%+NJO)u_|Ll|fe>$xofRF1
zBz<2r>L)6&B=#md^v>tdsZZULxcAnN1-=6>L(V#-b&3}D4Ge$5U!LrS4ID2@2)|IE
zUHKlm=+b3>pQ#d(4kXxP4qh{ocg>VWexLPBg8PBa+{9rWw_o9H$Kb>*sQx|(60Q?&
zSqdCT?uUJOrrjp`WaL22P1R<1%hBOFeIs#%fz|=|<F@45Jrm&ZYf<Kx#W5hYXDnut
z^%xX6aCxw3CLbugcfUCOp}`7RQLC1N9Jb*X!6TE&bA5YgXGFY1QJWkW1@D+NA<Bd|
zBN*RH#uRgatrNB(76Eo1U9M9*m#B?YOEy|jGAEgP2cloZ9H}bcBga}0<HF1^KNlWE
zI$Z%{gS4+{^gg-7Q3tT?aclmm%s@KI*uZkg77o;3*S#^aMiD0E7?{J;ac<f2BQVhJ
z^4tIPQ1_cX@6d-a8GO{Q*9Ry-9)7Z5yj^-J@M-kRdw&#F>^6nngf!I&3PK7TV*a9C
z=KbdTJ9luhBRf@`K~VV}Yf}s0eSacR?+JjCCE4iVrA5$y!=*_lLBjtJKgq?Owp#*9
zk+i041bWuQt6~pIvT%D5@_!`}x!C_#5|NFQDJ>ua;{OLQxw!vd05b_rO#p)XIh!|0
zUJV}%?@yAAT0Ahofsr%@O;q3VpBnB7`(*lh8xLWl!)pH5hU~hWZK}J?VeF<Q!jppA
zT83bM^hVgha|EJ=LEI38qh<Po3}kJ#Ip|PjznN%UbQRO*TX?`bh+|#yqs^RWoC3_#
zBP&P=a=nt_Vf<ssX~_`mfi5WnxuU{0Z{An$h=bi--4ECZb0fd_$=d9hM5;b)wB1pi
z)$+#wpuyx3ON<_7cXAn^j_8xukyxUX)0kdElv%6Dy)b98eMA#|JOO>o(8B1l_BDTs
ze1pgvN+&CXIX5Z(vX=T;fq*Pa+}6aUuHA2DS6D-EEOj8qRaBObBfZP9=+5wmFAN@b
z!=IIx-3Xu>j4wh?H5I9ZUw><_z))3@fuJOYhM2kGXZMQ|wvLiFRZ<&fp$~8BEL4=P
z$C1Q9<jR3UXtR=S``i}(otmA@^;x$lFoUDytn)F-?r`;22|*M=;pMs$YWrpK@13F2
zq7a1_wa(9PB8uR$Jr!vq*bk9YAE2|X=hJw#wG41}`kYT>to`2o_5wV>1zQ0_|Av<%
zjtMqHqUpKxv!WpLYJ_v9k*>OUL4VGlJ}~?_!7|Xk3gR`eA5$5N+$ET=cKP-OH@uEq
zzs7LLSL=FUDoaw6BMW6K8${_(6td)3-4x5>L4QEg7*p~+D&w4O<13kKNSnzgnhxu^
zlK}su+uWR_B9^#Q29Mh`4ZX|nnw{*pm{_tM=f#{?<!EfzQ}uNqDiI}Ep$r!P_2WW^
zo(o_s_G~ng1Lj<jFQvBcq|ROx#+rTX)!0eih2#t5s4&u!Ow>_nbD)G~Z*sK$%izd<
z=yeUm+b&jI@vqrz+38ZIjl)=s(u_qSV*m>6l#_eq0Y{OH0YS?bIs@8dn;>gLa@lXi
z4!M|lESq-26%tIxJ`ZziOq~c;#5n6_!YJe5z#?kF!AgriMQiHA-3RXFbcYUG0&1UM
z+znY#6R3G-9nl$qUd5$J)f<$tce~j91WD+@lhTA?ZU5j?CmbIXJ5iC)b5TAcM*sot
zAg@Bbl??Jj`>bM0-k|29;sftk9Y?N?G%Q(hl_0qX?S$Yv@KDI&Fm$3QMJq5H1z#(b
z(F(Ktsq7`QHV$%cl5(@I<lfWKnbx6#bu1bR*fAWr5AGi%9=qf@Mo2d6ps}?MN&3;p
z+z~a~6zZqaAx8?0aw|I%)lvcYg#hy{hh_eug{Ig=bQvz`qk7*%g9Bk$ip!9ggkyDG
zWwI*;%f@bj;+pfTmhSno!>?(ST9O1l39G_a-r_TAZkU#j8e%A@WBQy7vkDM}XdfsE
zyS%+0dGVe2`|>m?Xt7f$WoKU;NELyvERJ{hm*0$|yz&L-nH>)*+F{qTnLu6rc)8R^
zf?fbYxSsfjP~KGH8OccN=-a=elz6UxkD6T45?O2L4KH#<v`pH6GyYiR#dY^a;(IJo
zGU0HU9#2^v`ax0I>xDUTr2`l@$VH;IxZ}8A#9xCv#B8;nZm^Ozu>ba-uuZ*#heU<q
z?P;V_{8BWSVrL>i6|~!WOn{3<s;COC^EV!Km~tvD<nO!3Lkat<f)~E87yS#QW{kwQ
zZ<MB@{`k0iABfEd#q%o7Ylg5vJ4h|~`A9=#=SYpF)$BFr_ahc8;Bx8wZxtuw1lx&+
zpIgO_r(yaYsERz3e7#Rrb_j&A?AQzbd#t0T-5QS=Y@xf^&tYA>6d*6cs6ZzZF4GD?
zS!g~1W_J&Ft>Kt`y%++HW;DZ8y|~Ru$BUow?T{wT*N;_`p0Zrl7(=i7xN%t#zV{kS
zMAexeDrX8$<5T6JHUs~Z@;bu0?wMDLE@}?-yya{WyCQnfR65wXfO(p5s~f#Y8!C?S
z+i-Y$uOJ*{RR7lnn8CcQq~9&9gX&ahHLG8InpV)=AHs=662C_OS4fbd#+(CE4bn#m
z<tgZMhWGP=J6)!7mvS|Ah@*tdBN5j7Hu>rm7CNUWbbddMQ&j@#kQ$fsTIp_A;&ouc
zPFg`Yh?VmpT+L1YpzdaxJ54z*SC|y|<R>Zf$}3XG5sYC2$_CLb#Y(ezCW25ndZi{$
z<V$~^VaGz=3%fV^)M}cIM5FAVX{IT8aExjmWgF;oETWuzQaVX;hn-(VGHBuK#=srM
zGPu^$Lb~wzt^BJHy<>$xJ|5Rkn>G^}EpYSezyxUtng?yCe<L+laEjWM7(e0<9dG#M
zce<zW-XjtPB)-~&=bH7Hj<U)MPpf<f)51`>HNVFD`hVr4*smJ>4h6?-%3D<iJ&~4b
z>*p>*gC3fR#CD)_THC4UcZ{jsM0nGgf+FU4S5-q*V#m6>TdIblAzCkuOMo#9U|##x
zm1H(RB0^zs8#s5I0{tLCVcPxG^L7(21sxiPuDSgJ{7uHF6M4f3E+|t}X$oBz98B2F
zU6joVIE-W<HZF&4n<@H1NHZ2Wd-Vy<c$kf^AnrXIeI9|wCqW4kt;90~f1(7<0_N9!
zmBo_|-2(T{@f8uATwmuu+$4e^^shK`*1X9kXz{UCy8O2ho$%H!cv=sCm&9xDH)u;!
zD!;is_y1wG!Sz2JKMOM(`~SfG++6=FuK#aBp8Nlc=wo`n!Q}jt6!l|)fWZu$&>$QW
z;c602CR~Q^cUOUo8pX)`s8HqXk8@`y0c`_=<bw;m?^7l}KC@^oyxNSZ@q7jfjRO1Q
z{ZrqEol6sMm52g(W%QbFpLDoka!WolK6r*G=k9E%9CqbI3iA_9Pxi3>i>dD#^sYUu
zIe-ts$?OmQFL885<&;5y_vbLx5X(js8l~f-U`9w(2B|_pbCI%L$n<~?vkAHUHqNw0
z)D4AXHR~u`p|s{MVX9-u7c*|nSkfuj(HkkY9!h`4sDPfrvBQlj)KrE3*W&5}mmkl;
z6l0+XUQqe`Jy<VYcq(R&2^&ojl8Ss1TN;*eG|JfQpQv)Gl?iPip+_(`PmG;n1CuHz
z1x@hd!SY5iTu(XV0vXe|FJ>-yJrGmjtrvMC4he~num?MN+|B9crVNzV^JU`u`nHPd
z=J;m4-w-jEFx1PP1cWnHYIsM0!;_5|1oOgIFISvj2;Pc0QxZwW6-J41^~v*%l8dNG
zOgk;vATNwrw7eeRi|q%a`!_y*!ap~AKs`Rxkv$c)c;cesRSJ4bj-v8kvU~$tOWx6#
zgs+iy<L2Zx)a0fMTQN0CJ;?=WK1398Tkfm7dI2<uDI*wP^EYw3E291)68FFd;B?aL
ziS?&Nj~PC0RUAKs9k(jLIKQ!FRDDWWjii6otkI%fNOK-wNAr(Kf{oySQwbW)K(?A{
z<0I~9;?U>RR%^u5**<^(qp+L`tZXyG8W$I9OQ0PUpwXymJCZPpUwRU{=E_Y?C{vMw
z55Kk6p_5iil1VC!am0Z|%w-TmEK^La8WfKwqaUxNCNm1?zZlc80)ehwY)p?CCk@7L
zi>kiHkv|90K;?OLqm!78h#>MQnihqt*dZ?~_2}jojnBx#caZ+zOQ3=9XAgBkGJ?MR
z43urv%2ng|k;9Ga$P*{zG{qC0-k6PnL^3!qxYJ?u*KGZD)RnKU8rr6`4<y2(EQ&&m
zIRbP5Cnd{b+sykYGDs`Z0Bq@#g)G@j4^>+g_Q?y_XN96@zO!kCEBSc-E4CxVL?!n_
z7`fEMe~d6d^0iMCVWuVH9y{Fs2M*)`SFVR3VYlz6+Rbqh)OBw-FZv-1{iyjLC@OGU
zSOoiVkhpHxn#|xM0p;JD<Y+$phM;agsnQ6OTij2^1nV+DO!Q%L2P)>C-spvym3}gJ
zJu(;r$6yX1|Nc%Gb=h{+NfubZK!3N{a+V(un@$@TWx>PVDneW!We9Ieu7X~#ViAY9
z;<L{7Qv7F29g;0kfxea&!x2Bo93lM4YL`8NN>847KR!0Fz!m+kr66>@pPe>>-rtI|
zeXjm>_ET<a415LgeGfF)L=i@b3duJ!@m6RY(7nx<EXeXACT<N07C?KqAne15W`X}^
zkdbQnLD9GWy`6kAJ5iIo!_a!i9~!(0iRz=(g@Fn`b<8gu6w#v~Z5Mw76#;4{H>g%t
ze9UM{X+<r-<N08hDj`&Q)Fy4*Ou*r-R>U6@aLF*g?_Y+(kK6oT1J4ZdGV<bpx-|~4
zjb6KK{kB;M0w+oGR9Fwyxo#yMB&2kpfH<^1PA(2XP7Xuvv=Nbl+S(Kkr)yXVL*}oX
z&DH8tNIkt}ro`mWY|p`KPxua4U?NJy^}+6n!JTW^L}Hm-h(|2#(zUkyW>eM4&FvX3
zLz%vL=!Yr7ogcO%o-JD-P$W}hc<Kfe$llm2|II_E;Wh8)2Rfv81Tl)=Y8asqq0_lW
z{T>#ebodeE)JdeH6JV76LM+5IvCZIv@AQ-Sf!gigK6FadCyE7vUuOHh(_pBFuaaE4
zAR*-wlh;qm=FQK8xgZ$3if^B?GK3NQl2U`c+GCUv1Zaq1X5^NAi8yOlzBnbIo$#4A
z;bb<SV46(Nex@du&7A^dwBF9R%gu}o`NU2U^VC8&o9>C(>nBNafgg%Uzl<NWh!mbd
zr3YVJ8wSaLi@Wa?Jofm4%^F2GxiN(>=FI9a6jK|$qc|1A|KFY?RJaRHG&_pY`nPV(
z^dU$whmb4^KitL%hNKq;JJSKBJ`b?@4H(4U$*nlZu_z;Mtbuid)V3h&X2}2D5}`*r
z4IoG9Zyy`~=m={3v52PDNITXG&Ll8&9C9;RaKg|-j7=Q5V@a_HVxP;p7-C6v3Yuq$
zR97s53i|fvqpz|i{*e`~Q1B;xn#bcubPj*@JT9-ulUunpL*NoDJY6?n6_jzFC?p%*
zu7L_Ir=(>;De_5z7NFpo+hHlEM2A}i_m|^Wj-G<We7%d~{yj&vp>FcNb4PmJo(<Sh
z{ep8>WGC103vzxzPj&j_-2lCDpVNceIc&P;_pg#{(lnz&-WpZ&HJ`A0+U{^9irxI*
zyR_U7vc64V_9MQy8#$vuzzaSX#^p@X%K%&IDp)xBg-!+-UOLO*STnbI@*2~R!Lai4
zGt~~~L;q;#^TfT@E^!wVFb(jPhwc+Ojtu!XT;q1*7LZ?t_tp)uPv>=_Qd-b36O}<1
zW8Yk$hN8ZU#SPOd_+Sh@MoxUa5FobL@*JORCB&KlaX~Hi)fpR*s?^T}{@N^^?kF*&
z4Pn#N3&#KaxTb-s71t*qWwbi=$FMU2WCe<viH{%LMy#K_0R#+Rr9CS*?TGF~J`fWV
zBnO?GH3O0;;0M}@{Md*@6vd*Z{RP{S`g2J5S62ZzirVqg1abob$(;FfJhD%EZwm6-
zW??xi6~sZlN7hdOnhUkhu3T`m8D)<hEC^L$R=ovO%;C<19B$zNb|cKJpjZ8xIB<n&
z-3`_EUS1xIe<cipGblhmW``0vy+4MyZ7gX$&<N?gHAv`Gw@YzSIG=X8jTbrKBc4_&
zX{(YmC|?2NW4iuD{)aX<jJIn3Pj#bq$Y(C~lWDvTl^?l)ZqqKC6F5l=m;8q`OheeK
zE)2=xlnXl=m;%u1EfARCy&f?m>%fb$<`Wm8b4mYl87$)SZrHYcIL~qT@emZH_OjyX
zIggrfu|xJ@cgZ1jCI9>BK#nJ)%8@9s>1(O`cembw#koM~X5N8Z6y9uS*rTp;-v<2_
z`ysWF!p14!l6}+3+pmQM$;6%nhDx$g)VeF=u-95<@pb8-vO{=m{>d%Eizg({b|`uO
zVFAZ-Vf?PaqSSP+H))pNnbv<H5vmm2m-ATGx@4-GLoOwgZqi8((`_}ALVkd|5r$vT
zYkoa~vJ$!~ka@p~Nxky-!;X4K;quERixS<D>YWylvlbSn4m;K;a~{S-mun>DFh4|$
z5CLdiDPT#LcfXEc`QJn}YxA9L{OORq93%z>mK?-`4|%_Ndc7z(@x1h{_(xJ?J~fSu
z|3&~sIm;f4dpb3?mxE~4F|%LtFtT}FS*gFAU}YPAZS)4QD(zvnK;tu(?eACW=j;tq
zSK9zS1{2$AF4Q-__UEt+YR9A8R+}Y6Yx}DPjYe=HYSMDi$DR3x?0s<^d@`f1@Fr+n
zrx$sWL7A}^C~G{C2Zcd+azpDspi(<(S9tW*E{A-}XfJ9syNL1(Cn6&QzCP5T{#rKc
z#jrYz@lL~Nchl^AF`p9Teg|&{wcS2T*VzD(&+5l)hNYp4yiw-d-b`;FP0*}X4F&sI
zr|XvR<MSr}QY|;217p@JOLclcpt6kU9r=yXcJRkb$C{kP<rUJ!UF3hyhA~mBqzO+b
zfBVk@s1P@~A`S17N4kBqKO0)t=w39egDo6W;)2Nj(*D})r=<_B@|o19i)u}<R?q^}
zJPg{yjq#&C$E?H56i7~Emw}iP|5WTMHGe$hp+znqUE@Rx47(v`^v(fcolv}qPW5Km
zW$cW!<=!qW$yWD2x6?l_%SUv6)T$hF?bmnj4S6mukkv%r!oxc2wJba$7Ng)jAs#{E
z;^7-+huYx8ga4svz#<4nPI*Nwx+Da8LfMxFaeBXBYLs7(v5Kw1$1+zyZdtKQe{Qj3
zVJ;Q2YDZ~xQc-2j<2p8J>%sh-+i@~?OHwW@*8_P8QQmo9!k{AW=&I5E^3(LwhYP8J
z#;njb)-c7kN*rs>7_HI>tH%`M-d<Y(y&1sbz%3e3i`}*Q(lK3lak6+^!CnM@jxq6f
zEMcd-irll=*+#>fqEp^(LRc*hp=&)~8%9+g7vCPq-S-<U60sxv0<$fa!P`?b(HDGn
zt7r=(s#8>qI-G_Vx{+n4xqyTGTDPCOD1%!qzV00(o(#Sv^sp<lNW9wct^2VckOl(9
zc_t&xbw4Sej(n<>+C}ihKSBy1JR;fqo<UeVuUCL8-s}nb8Di!;8AS$g!_#Vz9|c~7
zXP6&);Ky=Dn%<Azn3Ki~X75y|4??%-l%4y>{AVK?Cb#ka(^+>Qc@TE(wJ`c5h)aA>
zGJcGXjnQIX8U=JPqe7GCPk~vqgUYCA%~v<M#7{0T(Mn@4_wEF78;}rSmObl$TR-hQ
z9QiaNy;dKy$)qdt(wQIY+#)4vM5Z#vD!zGKZeNBvg}uca?U`bdq9-xJ2m0X9GAb!j
z0E}%AFB^RyT1%FE#RPi`{09gn4$1t`aAnl0EsA^@9m7XwIy|oMxqsRC(A%W87zNkf
zq8@U<V0EgeSA&dfB>@A|X%;&)*Zt)$7|87JXF(L?QMLc;eU|%w#2qUq3tLi_mt<0>
z4F>=**teC)%X>e;It_pCFTuh?_Qd$nsg>6y=p|TWPyf}VHJz)Uo2?JcJl>?oOkt6>
zO!WoIGk!l2o^ixNX5rp0@ET-J>f`%bhc?VwS{^K)HlD<2@b&QadiaV|2Q&-P<ib$8
zzMS5zm)Q$WVlVPBtWn6Yg#4^C?0Q*aa3;>o$R2tYKzMhZvefc+xqZXy^mZ4X>@z_q
z9g<fIrB_Rex7`Auu-%r~aZ=uP^1oK)b-NyKBg5J))A>wAhUh-;|52Hyb-i9)X65B}
z^8i==No?~f=`SE+ZeN~Xo)`6ke(WvJuS0^{dOe@JyuF6hLilmSpNcnRlWlu`g7$bL
z@;5U@Sm7M<EF@BFxO_^S072MMle@q+pEt`_KmScj)i%&V(Dgq2I%7ckl3NuGuKXZp
zIcC3XJIu&a@`X~sDl<W>*9+0oWP3YyxNr<Ll@4nuD77UGyOn-^a@ARwBlKb4K)wFt
z-3oiFjK2?#y&c_T43_D!XwAOmsq33ARr>vFE97Hu$AoNxoB>Q!=EtLiIF}b=sw@;+
zDrjw?EG5w11fFRB&+B2;+4gI(=O<cYDDfAz@L+h5b%}s@RnkOPc0SMe<tBZAo9~hS
z;-&zTL>@77Wk41+k_4JJ`um{a!d#%!%)h=57VR{bXV&6@*WuD2a}+DY=szfIw+2HP
z8h%04PRn5!GW&B-Sntt}U=MgE*Qijme8;G}O4UH?&u4JX)LTetOO{+b|C5eDc9g9h
zC7E*E0X+2Ru{Z%jrm?;d&y33}Yjye!XT*H6+mdTa`vVd<E(<>U&imF0ihm+RE1=X1
zMx@o}!^b5chvw+G+O|Q$DkE)asFVYh#H4RmW9xri37=QtZ>&bmQjc*9rw44Rq?Fo6
z$b<pIYmTVeO3wawQq8?D-i6LZ7RNFrZVg5;k{8-#9-j5>prFu#;<B|fO0(dIG_8f)
zdo~nOfiAk=n(XG#;ggLz==u|EZG^1K3YfJ|Tn|GfRhvZPT0lhN-STd82B({&=D>6g
zr`nNin`>QGu`uT*CTJYLNAd3jFj*o##6Liul;)pkY4>#{RooaoI(K<h1_DKxL}?2X
zt?9a3CNU+5-o-rVFX4}Z3n_ML{li8C#$TaBhL!docP-#_lBr8Fm8M~}W0Nsd5()v}
z2r46PBPjF|G`ybu`J{)TVqtn1QGL@oj&!uS648`uWQiZRyOff$=R01Y(ZbAjNB2Nn
z92jEpaBW!)^Qros!>sYj=?bV?{%4fQA6TYPdl~10R+CPB?&$Y$kl%2*|JKC`KuRqK
z`#NJd#Rm$gJFi3nAT$csy`y_>Yu!e)=b^5)-ethRjjcCjdEu?Wuq3&PZApKii8t(9
zgGWv?ust+`tq~6C@s2oylEPVIuUIA>J7xpNALpw?3I^Go&vHm)h~&ZBV8?w{N;$#e
zna=y+Znq3Zkx{`x?-$9#G9}yF3T2z}+f$=+_9Z>C0ClNMevr-BbLSX%#=RUZJ4iH6
z{6kjDhSw@|PXd0`s(6F;(s^I47-?tER*fj>p>$ku@VRK;GRFuUOeIyytHYT5Dmsu;
z*O)&+k-FM0di~MBh!s%3P^!O`YKKG1l@ufomZDoiSR+X?!G_yjvELO?Xk;yn-{u6{
z<cA#vrO@at$KXigYReDWVL!eIwGf7yHJ%Oul8VASPTu6(4W<})<>9>IGxi@dO`vun
z+IgYS3<tZ8$rwsuIj^C)SSiAg;02IJ_|Y+FrPbG?a1@C9NFu<2FKS^Ux@Hz?mHmAf
z!jw-r(_K^_qCGJQWAwhzdf-Ej6q^2TU>+F_M83Gk=3h@V;X%=>pazKy9Kk&qi6@^V
zydtNWLV;2(=v7%Af%evyL6p)G1!O#fg~e!E=rYFms!Om+v$Ua9W_DX>alrj+%Pm%>
z5zW+}`int~gQ%BJEm&yQA|ZIkSpMNgwRH^rS86G$pu<{Adv_Z_h5CE((8S894y{7+
zEMRuHv)!m78Fe|ALl1DB$raxkAt^@>8zhudxHZxtbR#I@(Cl+d{HU!pb%Z*a&Tu98
zh2)Y$z%6y~>4pvgF=!^Z4%jI&B})Dtj37-mO=_cG;|NEzbP@7Ew0>XxvHUwK5SB#B
zst)jew3Z1IVrGK9yg5D0q|QcwM~9qB1QQ0cniZa()!3Y>m~~gl)mDBQi)49yx&Q8_
zTo1`KTW^J~Et6LjODpm2id##fp<@nop$8?l`mR42sP`q`Ne{5m1~&5q$b1c3^~*oS
z&i=-7S8`UIqW256VWZ0Z33M+(m?^5*d(?qsh?j>;9#Nu4XLySe9bJ$XyVzGF;dEXQ
zpLN1wH~KW6ZP#2&09$NE@<C>ASA)K_qcv<qvK+y(G*H>Q&Zpk89WX<JXc*AqnTd!#
zg86P0zo)+MYkDp#1(3S(9AxWPqp&T5;6*U96f<RA9inWw^yy8O6S=xK>z2)zU)o~>
zNUf#1Cc9k-qKukfA{>6TO)xhee?$L~WX9hS!%P9;_v+>5Ps^VRi^Lum<jXNdYN-{S
zlZhBalOT6TxJ6d5;1D%UpQjrSit~S)x{<N=W^*%C^t-Xe0)z@zm^2JLA1RfScCB@d
zcFp5|sukg1m4s7v%XQLZ9#-0}gRt+s{q84PAZK9~4~U^&!V<Et(vo#iv*A*lu#2OO
z>v9kFq$ows8(8Oqg(+iK(dpK{{7WmX#$L~*(^6@=l<=_G|J!-R)YPUg{i;k|dvl}k
zW*Ej6>qpffDd4Z}mY`~tiOJ9fLSRBN#`XT0z6(d!ZdOnd(1tJuW{Jqa&O2z!;GGAZ
zed3AAg^7w$a`~sOmD@Ga$xcwhv^&acbTq+AEZqZsn3R7sSTp)m5<PS>^?D??;sRrf
zXKmbtQe7<RzlktB;a7qq!_0~~X!P8iS9bI?`!97SfM(HQR){7**)Gs<U8%}Bm(pvc
zfu@RL&n?S)Sv`w7*Bp17$VEVU%1|=8q<^k9Mqq}!5w`=wTE|+6N*h2!owHQqyk}~3
zf(TE*9dGD}{Ck?4cs@3=J~O{(aw+(<Duv=6kkyZHT``mJg48S5_JGd)*T@M|?##<s
zj46>Hh&Lkt_YU0PrBKqX>R@OJ<ypB#%LBd4;OsQ@%y7^*@eMIt3R%bHv{21=eeH{J
ziiSOHFS0LJ@VP4CvkcL(o)+;zl&)ddQ~G3a6>1E$ikHL;!35vW+Kwpbm`$R@<QwVg
zY!#CgyZ-kK8)^qyo2~NQ;y)s{nZ}0Ec+Gl%1FI2&gynbl7JUqYa>(tCAY^q2LuU^>
z%2MLrByKCn0l!;6-0P_`B%tgLGy^k#a?GzyVecJY)sf>S(mu+yBtm3B(G$r}9(|Vd
zoguktL4!J-W^KAJi-p-l%&&IPlX*zR%#oto%fj&UD-GQZqqS%(s;jcS_eF@rM*fG)
zg+DjmCh?ru;3)q7{bJXwsq$2C>l#9|9eMA2!_gulk0SuiYGlq|E3|{dKL~<u%KZU*
z-ita!v3?)i`P4JDs7$spo6?t$k5GjT8!VMt5g>mQm3Q%Xu|oK&2j5}C;U}-e-4@iM
zDHm_oaUHSlMIhB;KJUIUeJs6p#fl%TVux64kxipo(^Ve)gQC?l-ZX0M{b1Phx%crZ
z77uCU%kcMTpMT$Q@Uz127ZwlSxX;***kiO>(=*QYDeLlut4~OG=RPM<^7m)MQjBW5
zB>xaR2v!zmj-;Fr(WEj@P0)>`Z%=QC{znDrq@H;Eqzo^(q@#GAq%ALFu%G-%!rm^x
z?;oRX1+ElD@G5NsDTHQ@;u&U2A<(+&>Rh9(y_;_GdTx%59Bpr+T0!8n`{WFl>qGTh
ze>}4sSq(kwvtnDh_0=@OS4)yZDr8W4Uz|R7d0_Piglh*}+}B$-_dk)<F^ztS!)|$W
znq`Y<gt`NIj9H!(E1GyVPVEi?!`+p@Opx7@>my}tN8w#=^aDu-Rtv6bWP_I*NtcSf
ztzmr%t@OS)N1aLtdT6Y#7E%>;65ZHXV!2z?GqrM}!u3{<aI5wt<u_e~?XEbD)$-F|
z+W3he3EWTe(MEe|ykluh=$$O@S@i!tcGC`~);Gz%oT_;0As9;Phx{=9sYqo9T<@Ex
zYdKgsEh9+lD#=kxyW=GG>EMXQ;<{7gLr~UqpS%U`55)gj-<-);E}0goJ8Q-oOb%M`
zftRIxixk+tWcD;l5V+Fp{ItONq#`C;t*4iW3yn|9ErL=-G)b8=+UB%GQPufJI$Jna
zAr-q6GJ4{;rppgZN-`|#H(_%CaVMFm0_A<|&ekHzjWAj6!qO0@dL5B!21}v@{B%EW
z9K^Bo{(R0XjG`O0;^!;sst8NuwG^k05#dOkph40e!hny$3vik$fr7XO=|}6pIilEf
z*IYC8rZAlDQ2xkamYMD0`Oym@wx@UWFn184-fh2pNniH+Db~)Pa+-J#=q}E3*MExP
z`IV%<o_|t!z_qcNAB%c(mVKKWJWSDnTkI;CdB;yC-~T@6=+2Ll|HC4in%;cCBMV_5
z;6?<f{ZJ*Z;UlxkiA2J;Nv0Yi?095iqvwHS!ZgF%RohIO>EMZG0RNL+bPf+qscfrE
zBO3I4?moLiQUu#eC?z=#D5*Oj_ai`%N?wS@*$g|)lH0V2Xxhfq8h<oJo}=TU8Flfo
z939+W`*(<Bvt=fv;a5=n8n=^-TGE;O4)hFBLHpU?y~WkRNg2-=jkRZcxax4m&`xt!
z$PL(^`Ty|JCuUb}iXRykvnKU>IEYJ#2cdZ7xdAaI4_On;f|fxAR49t>8R5EmCSdBV
zg+QXuO(jU-^dTik`EH3KcX!-lcbzOD%?@TRpv)vl%H=ZPRGO|Fah!AIW*JqgVJ@Qy
z$J12MS5m6cVf;PdJ0{6eemLa#Y_WR>+ab5NW<lB=@j=Oy{}98ip^#Rc1=-GwOeMT#
zrj<Dzg_ECy@<fjUx&zuI2X8|fG3;`t-$(2jRjHF55y?S9z?`={mYV=@1kDJ*@N7U>
zPN*@U5!TbXK;P)hp_akG@Y9CF_5En?5wO_XdlVc19Q?iE1Z#WpJ`eXc)%lLua`J{j
zX1z#6)MKB6ZNLfyPXl`~wF>g3;*sh!&vS9`*Kcq@l-7Wl{GjqsM#UlgW`rgDl7_Jo
ze+)n9Y$LIsg1N|ouW)xd8Tggqge;;?h7NdixJs;2uGCC_?fcxOn|I}mq8TgKDfV!P
z=~W+;zp&l11p{!9R}A6`K5b2sGfqum!mAU}ZO)C65QIpT`zX2&{&Sc76wo)1Nz;pc
z_y06bf@T4X0$H;+@qe(edmXI%hk3&dRp}??qn?#<*zTwjp3k<Gx`r_{fnZ%Uw)9u4
z7JST~Avnh&+dsVCHPp1yY_m1z8X#NS3YR0En!`L)G-l@&X%RACh!c2fH$!-`KZ~7M
zgQ#ce`*9Eu_qp(7lU=dQ%a?XhCiPMs+ODi|6RQHzI!VHJL)VsKCuBb}3ht2%2-$~-
zo(xOeK>})%hw(EuQZ3Mr25SP=4o<K&gQbULu!4yCLi13+ehh0-;ID?!;-v4nQh-A!
zA89{Hk&C%p`rV@R51&{KtV>bf|6^8V;wvU5BDnLib7re{eA*2xJVec~E%q&4$UsdE
zrP&2O4lm!x7=9x*Zzu)2M(P?~Var+)yu3YMZ<Aq4Pfx1IoGHounatx1S0J_|&qdu0
zaY7pid;Qjigs;tG*?Fz%rDy~jCP=~nS6DXILK|2yzWhaRYt@9=`!reKo7bxskg|^m
zRXpu-aJ}yDw_b`o4?2behFLYZC<IC(tMdsQ)p~t!yeS7@ap~S&PTgGAyUjN{d8BU~
z7+fA)*|$2R`E4Lrdj*WZL|t1EKb`CE`Czu?P`LQb|2_Ly+*VZKMKM>O)j7#I$CyM6
zAX=-KR%Axn*H5327P{|4?8Uw>CuRfX-OUv_8{wPryVuk*=TmiITB%pCGpQ6fnEwyZ
zm3dY&<R{bQqPjQpLG}glKNP+xNQ<#x`qiPV4&Ou+dv21{C>FzGd*TGcp<XJ^hXp6^
zpBq&&{RtgSlVKikC(U38Rs*d+%cZtPp4hzc^Rkt?jk)@Orr)Z#2wzicN~?g|RJB~<
z9Yk_u`M^X|<IAW`iPk<QcgZ4Bj%pVmXkAV0$8f&jSVgJ-GvVs5@EJf8Fq>JiMz+s~
zC@%=88`)xy63a+~xr)0a`r_<^8TwAOMd1<<1_v7i1w2)NG%L}&{0O>{)W!aXMo@~t
z;?WPV5hSoVEM~+^M>k4n_1M~<eOgG>YYV^bvrb`h|8hwv8rzRKDmb&7=P(7ps)92^
zH#~FQI{%9BTc{k2b=gUaQRAVV`DY><$Pma#UMvKl3>zA3lDFscCcpJTD#^1HE0x4?
zI2tdEFhTY${8`w5&eA>jG?{()oFr6di^ta>WZ8xdr`Sflr{$whrjy^Su_+`Jw#~f|
z!txGdD?{JN644ApTrg<LLRJDmDG<QVjvusDIb5TmO|Sm#4})JF4>m0z{Z>036}GJ`
z|FN7ANX8P(4XX&dBr1Gk&rW|AFX(yypE;v(5r}7csj6qqp4yI64|E)}<o*W?H!o)}
zp_eI3Fs4^_uZ^luzj{$SQ(E~=ZE6|O%4pzu_f+@U>#6)*+Qj~DS$7H0SA9WW8%Enj
zgwHg=1?xUfv$0#<I0VDEAf`{yC5r(qh}#DLwHHRNQ4(#=>rRdN@W#jd-MzKtkm-Q(
zOK)_@$nQ6|lFsu794NWP)j1a1>5b{~#PP!lMzgt=x94nKZoWl6kc}j>yXSZ!tITSo
zB5uULn}crXm60hv5&#L{8U;({@S0H>TaZv)kWb2+j8E++cU&`*iu<2TB5NKVeYN)+
zvnzZnibX(-t5WadvwJnO<$1u}2NM-Hj3U*4%Bq-Y3xm`8wS`eTH@(~>D=i7tyb3~_
zi<&c`70gBH!pDJ)r!5}y-c8IFWK7EMM=-3)4cNl^U>h}%VGIC*f^8%l^e(#T$AU`L
zZvLJdejyp~pXaym)`MOe@_unjM-r;nv*!$gv301=F+B4b$H-g1)LpI(54V8-wAg%=
zq{Ge3AVIPTyLTH`8mmE-VudgnOv0aGDk+I}!ZRwtt+Sh%eg&P{ckxa71O%)8yD|?7
zB13V{_^(D9dpKah?LiKT&`V7Jk5OZectWE1E8A07k)V2g4_~ntTI;iDci-ad{0Kn{
zRv061TH)Pp0}PLg;tlqery2aiC>fH#3TQTNKgGNL7;|w7=2(0+;;)GrX1H7{-|c8Y
zE<$uQw!gca`R9WM`Dur`9-{&zX3o#4dCUFjiNAd$<rNK6mQyFuvTRs<1zx7Vna5~C
z)4n?f)u%sZK_Nd*6vg_s`SKVM;yx5(w~ZXmV)yo;ulaA2AL1|0<1TqQ{t7?m-%Hsy
z1kPnp?x!J#DFyvX8%ul+J{&;)`a~LG-!n>@PRD~_;pXH@x=I&K+6nOowMa4yRROJN
zY7Aup2N&UoN;-_N0Mf4#NTJeEfNXuzaoU*r&s)2jkypzbMoU2uRt{Gz(QiT0wBd1u
zp>DF8Yvo+S>}-QBLbfbBFXy+<fSl}}n{ThLC-^VD57V2@r2DA)`CSQ%Wgc5IF?+wy
z02dHW7FQMr1H!v}Mm3oox5}&$fidj{#RQPQsblMApuh+Rpp7Zc+W$s{&qIVxYByW7
zRnK^RoXnrBI`QNTOIsL{w<gxJT8#+<Qc0!ij%udkEgaLTWH+>JFkK}b=&8*2yZ(<Y
zmfykrk9!d9^@^5eJuJ86vv~2f*^G6!Jrn!#mD<$RU9sjbv-Z63#=LOGqF5;HA6>sO
zyQ=(4={Cmk00bi}8TY0e&rJ}7t)-a8baI*!-LT0IvQDyu*jX!4RAlR1EEavFAnfs&
z!C&GVDOvt5@saVYcDU1((ju`-GFP}3G5b<<Ig|q`c6li-=-)YCpFihJVsTn+Qclz`
z<BH_rTLNkmX<V1yTd<MYx2W=XXl}AQ-r7Izg<Bv70Uvd&HTr)<7P2R69}=c|#w22L
z#3H$S)BkWg@guWh!=<!%>&~4sib>3%N>qMOoCt)(^Bz8-f(LW%HtyT@K_;GC;}M*9
zg3$1eNYP~8|EA5ri`4wrpl1H}ajs>9Ht}IR*>ONQkAtvRvdxOpgTphqa71sN%_M8v
zisdRb0(e0vDy`QpNy=XQ9N1`IVEJQ%U;L+me0BMJ(mI_Qfp6TG$r=9rznW9>8Fvvs
zU-PL{LS=fu8|a1-50e#hOhyl|(8sr{8Ng13W+3~Zcds2Zu-Kb@j1nFa=6n71FT_j*
zv58GO`=tg+x&OZWyZsF=CLJ+7CjF>Rn!166TMj^%%t1AdGc68DGiM~9mj+z1$^MZ&
zM4WtAiTzfiTXHEThxDUUs#(hC_#O0Hj7iQlV=r#enPpqyZ^_5VuyW3qO_NS=E@{>$
zeR{N@hn#{hh6D|&LmS9q%o<}?xZrz(Az|DnzQO(H&F*D$(Ix7;Ulv_*wK{5+d^Wr_
zWCl<mK9gvb>ix!+12P)oWLSIkwzQ=|gr@%HEv}|L7!JEwd%%rLZ#91Yp1kTWC+VAM
z;nE4Uxf@^%(3r@0@}bJhYnpEw3Uughsy$Zse$;9auJGTk#bUL%y*@Xi;(Apxmqm0t
zTQ<sbQg%XCX5)7JniZXM<wxJ&mCUw4q5(MlWQT8%OjbO;ntJZDJa1dnz9K43aF2yE
z8ej`<!+w2g<>-UO>34hKEQc{y_l-mFA#x{+o6BL93vG=bS$rJKzFMH6DfoO9M0)CS
ztT0_d9uPxHF<fl@r=|G}1Yn`D@YTT8JLibJ7prT}ATQbwuI{jg1Gya0&b`|yyntPE
z*h^M3J0m*2%dWd?wbu_nL$|9aDIZ^x<h<26HCG=WIF(-3aY`yoKQa7A5u&Q9EdP<7
zTtcUbTJoSiuUI!p{aG*8Ywv+4zS;L4^u_fmHAkZNvAXr6=G>Z=`;j|3IKHSk^Rsni
z8N7b?aC6PzFHUK47u-DxD&dGGHh`nDN>Lt%8-5`!8MoxnZ37FJGa9*GJ%_v;#krOI
zlGYRUe)kKKT;b?(*#Ibd`<%paLqlyYFFNCqp$}?_l{vCdrjK%OYbbNc$pdAbzx3_N
zOId)h4ty36NQV3cJ*I@;EP`~Vx6TD}qPiJM)Mg!qFd40uKHC}J8Wgm83e=Iva3d`C
z%#=%KMs+e|mL48kYkNKB3Ke|BXPaOg`pk?%B>z1syaRo-uW-q$O*J<I`dZK~18|4T
zmQVmW5P}<xFXj`o53XPuEXsoK&JR;QqJTFxiPapWE~SHALU=P2>inBP&H@OvuE0m`
zV34Kp|0+)nAqA5qdJk0Q0^##BV#rFG#pt^2k~I}XA#<**TuZ=PWAS0xA?^?<Nr9e%
z&0J*hU(J<;^#6)C?3wb^v^(r%Uj&T<fb#=CSs+}dlISt<o*xD!#-GRSc9w_3*y{q1
zkf0M?*>28i!3&ptD8T~jJt$o8ZWixunncl$UudFTfGE$BbmjIr;FZuJcz(N%m?6L}
zDHp;3kx6+Z&(1eZ7BnP!6a>>(&|kCi9VEL-;!;93uH#bBxlNG4XOx3#Fj;P??<p=|
znfWxho93rkHXpErf^9sqXiT$&I9)W)M}o8ZYM^9?dhRl*tJ05xYc$G}`Twx>PSL$Y
zU6gNZo!EAAV%xTD+d1Jswr$(CZQI6)?c|=@-Cy_Z@!hu?^-xt0tM=YwuJxM}s1`P;
zp`O%vLUy~s@8^Yp6z7}2<-a<cjLiROZ8EWQ{O`F{Mi!?38eC;$Vg4U13Sm47NTf|7
zYrF!WamcFX*ruNE0dj3h%jk&qSA+ty_T|hBxZ%<HL9V$DQcZe*Y~=F#+i>TLeTQm)
zxP%3=+Rx+S3r1vb*T=W;%lWXE**p8~5R%wDP@`|G>KCsw5tyV1Q|1HMKf(K=LW2`1
zgF()g<LB;hbW&CIWb)y}taWm;<Lntz+Jx9(Fy-=Ix^)C~o=s@Vek+4?MPci;>MdcH
zHn%5Bh}T>x@DLjb%c$MGaT7`{Sn3ah;_^%tp^Ejdl?~ZzbQGhe{^1g>R^Vi&U(5B{
z3q#a`j>cMtmNkUPzIV<WM|_wei6#kbfF>wUAIip-vMvu;!4)RG&TX#S6v|*CYML7k
z!qq>A6@ODYs%B53ei?UN%#ap})TI?>&cxG<itLprB8T6an+G@!v?IBPGWTAu_~C2q
z9eaH7I0z~RQX<M;D~)6QVj{n)+qH)!@R(m$2<+=Lg#n@z?!70kjP%idE25M_h98+v
z){W4SJOCb*5=KrWPb9`@WQ4btR}JGNiC_-nMtosi&Y!v8BauziPb9-kqMU>;8N4YF
z2*KR3f^?LRH(YZ1JiwJs%t|Bzq+ICrkvNNX*<CK_+F0B_*S!crf;&<wU_NRi7f?W7
zF<_5ONXX{O!52idEZQoATPmg0F`C4I3-O_mk{e(7b=?fAxhcWsbs(4(9~a~n1f7Y9
z{L1z|nd5XRvRBU(-jpaZXkB1@erdY{JB(OcBkiGzG)t@vqn`>-175a~R9Ea6n2IJ;
z%UH)<_<JF?TG1rU0*W9~<4x%&iV&5gAVUJYlccGB4T1|Vnk#1b!?+7<xxqC&d)SkQ
zI*0fO+Ho!SnGZK^n35Qr#0RJ+Za9wQAJ3N{%BaaUINq-p=t6+Vf4J3Pirr<&jFX4>
z4FRhZj=ynskQupZN3tbHWw#}3pmSVrHxl>OW0K!B0R}I(oC5Ug%$Rh88$ypUjONj8
z+Y-kd$<*9=|1|a{f@u@~^SFVg9j^MjrrIq=$mGF`!v2#dGy%sfxBxIzW1hz2>Q|uC
z(Qo#)gf}$X9r!a~RHAELlw%s&Kvg5P8@|V8N0MffxZ<z0Kp8dM^VRt_`oK``ujRno
zX^aO!^m@Ax_}45%<VkS93cN6xponEiQ`^LVUHq-F?OTELzQdO@3W$Lh&X+#N5Q<dX
zJ1DL`-p{n{EFHL%Di%=Ms@egg>%HgNvAeq5L$|=TE7yjm!3}hOj<WTB6y6Aq7C#!p
z9DchFdrEpUVzr4lQRs7-7rU70`3&p20d+sq6Z9*d!V$A(<<Q}>wQrE^XI<VKTISO+
zAcF3t1@PWvA2=F#wtd0Kf&{Dj<ln@GmGm~qMzDzOwK52e$PUoz+nWC4b5cFZPPY#^
zh5<6H0=HDjKtUcDhrc=(PNz$v@3#6e{;Q;#bcR6LmlywwkpL2R^vrO^P^f#+gWPZ-
zsY0I-u43!V;t$N<LQxZP5SPXG9cH-Wd!5O*(*j%X<iOA*-fpTERS&eRMHa45UrY<l
zgr`Iaf^$eb=>ys2%Da|v%9?vu&$Sj~MF2aSmTX)_4Z?ASVAj^weS|W?Jwa3G?rW(z
zW_2^$OFIN}0sskaa7*p5`eRU}KHG#u%AQqj-iHYVRf@DR5k3_M-~l2WD3Rcsm&cWQ
z<>~Q#1&Lb{%8K2jv)qe^QL4{AY5I2c;3&7{KiSd|M1`oAQiDyK8?p=1wo`fpBnXeO
zdb~E5^+u9SG6F|@f5Xs$^?ItEx=7J_pY(y{GSxP&^JMK63#9R8Fa#Fz3_LWEY@SO$
zs4I;L<Nfvz^LLB`#0FiM{>69M#{dbOFgejBO0%eS&EDC9&g^t_$a|Us1;d8=m7NQ+
z)(4A&HgD|)?4G+QQK!05Vtk~i5x9&mkStU7Ocqddx6cBOoU?qWa((gHQHBtm%P#N{
zo^WC(88Iq>EN1a!Q2D#^a7}0>#?Zdvssd}&Eg|g%?31e&fa84!&%weO-(=iZ|Hn!J
z&;1(9qtvVN6F^bsu!{WlUYB<*_@a-t^o;>Sz4zUlhfh;h?r4{&XDs81GRvDkO}>Pb
z=`(vv+FaSuMm^!ejb9#W{IfSwo;u@`!NM>{dYKRP``!~$fhRE(Lr&=C3*YwDqMF!7
zA(ks1tW-?YA{_IUdSdxUT`<=S_<nP3EqALUI;15BNo;y={$%4lbNF(!@%og1aN*a;
ze{W<g%>Qf4V&r7w{11S^$nxJA1&l25L}ZDK={%^|pz*x8Gg%kzJ<esT%qe$R&VYkN
z|8#l)xR=8{^QF2~lm1wh0>}<$I>8p;{VJ7SE(fnOTFY$0358&6s@f6W+CfL-<NRh9
z@N;?edRFdbB4bw7cO{?m^ZLl$N*gHyV|w>mh_TDZ{Y^DyC@7OGX&RJxsDSE`a%$v8
zNh^UtkM<3hs5x>Qb@P{|7s_a|KtK`w<}V#!$K0v%(5XG=Lo|nRP+^pyg{HTR={Ky7
z_jwA;oE)=vyIuE09?)u;lk@ee6H?}Qo7<Mn>I2;w%kywP&>@qqpB%{4o;%>&J>Vci
zlPBLr+GB+ElyX+IyJph~3;bB@{xxr#?t(H^HbSiZ4>{a=Q7;^qV~xc0zrs&nX~zXr
z<d{Q5`CH9owoRkU3^%(jeu%;*6lS*S;;p9Dy*jx!Yc2b9mTi%Mmmr%gsPok^k*5oU
z|E)AYx~-qSgJQ6#>ly2Jh7cXoM2*A}T%dnP_!@$NOBnW0sGxKTe{S38?OGoJjV9x*
zbh<MBQh<Rc5Ag$Q3^2J~kG&}72j2o%Dc^d$tjkEo$Z^%~igh{^zpaVWDjV$;a#_)1
zaTaOW&|R<vHIBhl-U+sD+k8I7ZDbG^Sbn5sDmn7BX(vyb))ARRNOjt~055WC-9CO-
z=!m!i3p-WMg`dje2y2|Qt*q)2Fbiwn4`jMv(EW241Y6e0fDOl|U!CVjNTdMN1pE?(
zuw;=!19u#U&Zy~Fggj%+)GX{bCR&X-VbuWM7s@2=r9#zG`F8?vX<w(sP+h0Trq2nX
zrK3#km^ACm5~mjwDEMbdJy<RGrV?raRw~IdRN>vMp)YcQPW3s#7eYD<f33S>%22D2
z?q?G-DU^x%wk73Fa8JagEa?hx-Z5oNf}g#+N}Lo81x7fFU0)JCMb*id`i0PUB0ADW
zm?>|mpZtpw7m3E!{(hjlB_;!%Nt|B?<yH4;8gY+ntc)B2-rS`3f(PW+Sg{C+?L><X
zdt^I%WPnsD)N|~+mo7+eCN8f^G7j$uN$7BUmnf1DCJoF0#wfoxO5qd$24;V<VRIK7
zHazHZ4;9gngk!=4#OeoV1}eTu%7867tY1R`4h(;j=x^Izp@5`A30VJn1yL%D939zK
zNRvbxZ+NJ(+x17sG;x%L^o4$Cwb%f5zcFnzlH4DoFX{FT+6(cWMFp1Ro!_|kYQdm$
znu*DDlRlH(>wsk%i#<_*Bu1A7^chUl2tY)rU))BPgGNE;$2P)+<7ERk_8Y`HhIC`(
zCtPn;q@o9k0-6<cylT)@9zMUynh~_5I8tJ~ZS(cg<k>v0Fv7ImJTnyLyPzsSC~?+L
zTm!?PPcs)6kB9HwccpdneeX`+{B!TF^%@|r#}iB-u0PGk{l^V(B%eXv!o4731p8vL
z(8r1}4_XgD0Lp+k1w=L}^pwk)j_JTk@o7(C3llb*E*hBKk|-l5WkBr51LbU=FSM%s
z0%FXV@%lK+{zvg@tBr<VLDATbM?CNd9Q-MlywLE-6FoqCO@xK$aOIasbAuV%jIj76
zCE`a3V${+qT);lS2^?&V9u!>yqzwO1$GYhXRT{n(H2pZ>pu;{>b_ildVu9u#1v{x(
zb?Bd=JoJN9h|>`t<e!LJpUGksf2_1VZ`s-7538y4$SxrX<Fsm?NZ|$6tg^&gVlLp1
ztfDJZOawK=*>)QzENKMvyXScnhXrTHV2^-mi$9YK{$K*YFrqudwBaGF28!bZU-avl
zKXVy-L7|To_r29nEp~7nqz!#f5E^N($zkBfa6&X#*vv}OPD<D-k|l}zG^(0T=K|#Q
z45`4cuOx3R89##$u_$yfJH8`eJyNmuP8mg$O`eQgr8GQFl`Xl_5{!m$0Xe6um{`Qt
zW{6q8ld2!E#@Ys|Fm^Z0FQ>~M!jVr>4sJ4Jzz=T&9udWK6jbAj;!Z8MZIB>SvgF=%
z@+f$Omhx*z6b7uCMUilCJTx9%m>wQ1>7D9K2^8|B%qP$>?i^G~=q04mz5LbRIw6Vv
zFf$OMbKNLV7fBifIZ}5#?0_T-OV|Ou4-F>S4Fv;0t>QkS&S~J$GXefhscS77?cJ^~
z(Ka?dp+JylnAOlgX=iR~uud>gN!!<x^hY%Cii<QkPrE6KXyl=s3gp$@MoAuz;vzYx
zsT6lZx&3}}{)%WdI9R(Y)X(GnDRGizk%$^wORkP_c(Zvi6VE9s3d8DU#?M0JNgG>7
z&>9$!UhMXgp;DqQdnwT09FSnkQ67gyL)j=~8|+l6OeG6SD&{<}X4}_U4r<4?W-oo)
z&f;w``?7dTonxshFBbrze@hHLYTDjY)>ziv1eVKj=pO?8Ik>>G&jE(n81Oz&%4OtY
zhdQ5s%tY9lJF3v+uBd42bf*_g$c92U6oU?cF`n4-=X+DgO*5rsoLf?~6cv29%O76$
zwSXTW3sS42Lq#?6ldmc0&+8V_WiwsfrvzIFR(9#G)UM@n`C^)u>NJ7pEG~Ry;qoMO
z{j})ScSEzL4)1FR*M%_js~}fLcmNL|Kc3ta-9jKsLP9I8wA+wTfpF1ns=oyGHCzHr
zUpzQ<4q=y)H6IaNSOK?Qc6bf|^)JU%9K5p|2H+(~V#Ntuy1e<inaE_|MemDPGRaHA
z`Ds%Vsy2Ra54XTG6M`R0I#6?NMl3|rx`#hiV?rU1*eVbLwYg^!fLh3)V`HzuoARgo
z>#{dl8$fO^GW=%ge=HFVp+t7~XiNjFGMZN*tJIu6UD&RRS27<%3=H;N|Fzl-*|<ta
zB8Wco4wT6P8tu(v%Ff*o%@H^;x(gwO(yu|;Nkq}3!)d@6j79-^p&m0L^%)P(bsw?a
zKB_{Q3?hELLB9cczwrq>=<thy)aVc{RLITW4pU%zMM8^gi44gKxGYCBqz?eNlm%bt
zFY7MTv2lFvWYV|II!qM{y(_sOLnYuM7byf>8uYm9sYM<a#LlSN2}q%}Zaq&|Tpp%k
z3W(Q03NF*HxE8pvyp|^L<Y}93rp))NDc$u5>1754TKUUHl@lilbXbodn?%bL^x+2Q
z$x$FfnJy|EZ1^D-{URK>l!pMcm5lcxx#^e@UvA}X|Jicz%y0?cZh)JvzDWkB(IDR<
zog$krJxea-zk*3^6R6$Kk$KbOOuv8OD`9m&w94(#5obxv0&37(sl*Ot3yC%RhsXu*
zd>wEe^!a>BF_=xZvK=0sc_ItV;E*a8(%0D6=Q^0MT-g$>)MJ5zP4)wvAdu%`Z!m|L
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%0DnM$zgi41R&b)DH9oZaP+CyQ=z*g?
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

delta 369671
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%0A)z&kBg#Vf#{g_(!7EbWjJOFI2j=?T
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

diff --git a/doc/footer.html b/doc/footer.html
index fe5338c1..a1895ac8 100644
--- a/doc/footer.html
+++ b/doc/footer.html
@@ -2,3 +2,9 @@
 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">
+
+<!--
+/* $Source: /cvs/libtom/libtomcrypt/doc/footer.html,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/07 10:09:20 $ */
+-->
diff --git a/doc/header.html b/doc/header.html
index 426d4e3c..231475d1 100644
--- a/doc/header.html
+++ b/doc/header.html
@@ -4,3 +4,9 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 </head><body>
 <!-- Generated by Doxygen 1.3.8 -->
+
+<!--
+/* $Source: /cvs/libtom/libtomcrypt/doc/header.html,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/07 10:09:20 $ */
+-->
diff --git a/genlist.sh b/genlist.sh
index 73daa1d6..832e8e79 100644
--- a/genlist.sh
+++ b/genlist.sh
@@ -4,3 +4,7 @@ export a=`echo -n "src/ciphers/aes/aes_enc.o *(MPIOBJECT) " ; find . -type f | s
 perl ./parsenames.pl OBJECTS "$a"
 export a=`find . -type f | grep [.]/src | grep [.]h | sed -e 'se\./ee' | xargs`
 perl ./parsenames.pl HEADERS "$a"
+
+# $Source: /cvs/libtom/libtomcrypt/genlist.sh,v $   
+# $Revision: 1.3 $   
+# $Date: 2005/05/05 14:49:27 $ 
diff --git a/makefile b/makefile
index b38aa17c..fba5f73b 100644
--- a/makefile
+++ b/makefile
@@ -4,7 +4,7 @@
 # Modified by Clay Culver
 
 # The version
-VERSION=1.02
+VERSION=1.05
 
 # Compiler and Linker Names
 #CC=gcc
@@ -21,6 +21,8 @@ CFLAGS += -c -I./testprof/ -I./src/headers/ -Wall -Wsign-compare -W -Wshadow -Wn
 #CFLAGS += -Wsystem-headers -Wdeclaration-after-statement -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wmissing-prototypes \
 #		  -Wmissing-declarations -Wpointer-arith 
 
+ifndef IGNORE_SPEED
+
 # optimize for SPEED
 CFLAGS += -O3 -funroll-loops
 
@@ -30,6 +32,8 @@ CFLAGS += -fomit-frame-pointer
 # optimize for SIZE
 #CFLAGS += -Os -DLTC_SMALL_CODE
 
+endif
+
 # older GCCs can't handle the "rotate with immediate" ROLc/RORc/etc macros
 # define this to help
 #CFLAGS += -DLTC_NO_ROLC
@@ -58,13 +62,24 @@ INCPATH=/usr/include
 DATAPATH=/usr/share/doc/libtomcrypt/pdf
 
 #Who do we install as?
+ifdef INSTALL_USER
+USER=$(INSTALL_USER)
+else
 USER=root
+endif
+
+ifdef INSTALL_GROUP
+GROUP=$(INSTALL_GROUP)
+else
 GROUP=wheel
+endif
 
 #List of objects to compile.
 
 #Leave MPI built-in or force developer to link against libtommath?
+ifndef IGNORE_MPI
 MPIOBJECT=src/misc/mpi/mpi.o
+endif
 
 OBJECTS=src/ciphers/aes/aes_enc.o $(MPIOBJECT) src/ciphers/aes/aes.o src/ciphers/anubis.o \
 src/ciphers/blowfish.o src/ciphers/cast5.o src/ciphers/des.o src/ciphers/khazad.o src/ciphers/noekeon.o \
@@ -115,29 +130,43 @@ src/modes/ctr/ctr_getiv.o src/modes/ctr/ctr_setiv.o src/modes/ctr/ctr_start.o \
 src/modes/ecb/ecb_decrypt.o src/modes/ecb/ecb_done.o src/modes/ecb/ecb_encrypt.o \
 src/modes/ecb/ecb_start.o src/modes/ofb/ofb_decrypt.o src/modes/ofb/ofb_done.o \
 src/modes/ofb/ofb_encrypt.o src/modes/ofb/ofb_getiv.o src/modes/ofb/ofb_setiv.o \
-src/modes/ofb/ofb_start.o src/pk/asn1/der/der_decode_integer.o src/pk/asn1/der/der_encode_integer.o \
-src/pk/asn1/der/der_get_multi_integer.o src/pk/asn1/der/der_length_integer.o \
-src/pk/asn1/der/der_put_multi_integer.o src/pk/dh/dh.o src/pk/dsa/dsa_export.o src/pk/dsa/dsa_free.o \
-src/pk/dsa/dsa_import.o src/pk/dsa/dsa_make_key.o src/pk/dsa/dsa_sign_hash.o \
-src/pk/dsa/dsa_verify_hash.o src/pk/dsa/dsa_verify_key.o src/pk/ecc/ecc.o src/pk/packet_store_header.o \
-src/pk/packet_valid_header.o src/pk/pkcs1/pkcs_1_i2osp.o src/pk/pkcs1/pkcs_1_mgf1.o \
-src/pk/pkcs1/pkcs_1_oaep_decode.o src/pk/pkcs1/pkcs_1_oaep_encode.o src/pk/pkcs1/pkcs_1_os2ip.o \
-src/pk/pkcs1/pkcs_1_pss_decode.o src/pk/pkcs1/pkcs_1_pss_encode.o src/pk/pkcs1/pkcs_1_v15_es_decode.o \
-src/pk/pkcs1/pkcs_1_v15_es_encode.o src/pk/pkcs1/pkcs_1_v15_sa_decode.o \
-src/pk/pkcs1/pkcs_1_v15_sa_encode.o src/pk/rsa/rsa_decrypt_key.o src/pk/rsa/rsa_encrypt_key.o \
+src/modes/ofb/ofb_start.o src/pk/asn1/der/bit/der_decode_bit_string.o \
+src/pk/asn1/der/bit/der_encode_bit_string.o src/pk/asn1/der/bit/der_length_bit_string.o \
+src/pk/asn1/der/choice/der_decode_choice.o src/pk/asn1/der/ia5/der_decode_ia5_string.o \
+src/pk/asn1/der/ia5/der_encode_ia5_string.o src/pk/asn1/der/ia5/der_length_ia5_string.o \
+src/pk/asn1/der/integer/der_decode_integer.o src/pk/asn1/der/integer/der_encode_integer.o \
+src/pk/asn1/der/integer/der_length_integer.o \
+src/pk/asn1/der/object_identifier/der_decode_object_identifier.o \
+src/pk/asn1/der/object_identifier/der_encode_object_identifier.o \
+src/pk/asn1/der/object_identifier/der_length_object_identifier.o \
+src/pk/asn1/der/octet/der_decode_octet_string.o src/pk/asn1/der/octet/der_encode_octet_string.o \
+src/pk/asn1/der/octet/der_length_octet_string.o \
+src/pk/asn1/der/printable_string/der_decode_printable_string.o \
+src/pk/asn1/der/printable_string/der_encode_printable_string.o \
+src/pk/asn1/der/printable_string/der_length_printable_string.o \
+src/pk/asn1/der/sequence/der_decode_sequence.o src/pk/asn1/der/sequence/der_decode_sequence_multi.o \
+src/pk/asn1/der/sequence/der_encode_sequence.o src/pk/asn1/der/sequence/der_encode_sequence_multi.o \
+src/pk/asn1/der/sequence/der_length_sequence.o \
+src/pk/asn1/der/short_integer/der_decode_short_integer.o \
+src/pk/asn1/der/short_integer/der_encode_short_integer.o \
+src/pk/asn1/der/short_integer/der_length_short_integer.o src/pk/asn1/der/utctime/der_decode_utctime.o \
+src/pk/asn1/der/utctime/der_encode_utctime.o src/pk/asn1/der/utctime/der_length_utctime.o \
+src/pk/dh/dh.o src/pk/dsa/dsa_export.o src/pk/dsa/dsa_free.o src/pk/dsa/dsa_import.o \
+src/pk/dsa/dsa_make_key.o src/pk/dsa/dsa_sign_hash.o src/pk/dsa/dsa_verify_hash.o \
+src/pk/dsa/dsa_verify_key.o src/pk/ecc/ecc.o src/pk/packet_store_header.o src/pk/packet_valid_header.o \
+src/pk/pkcs1/pkcs_1_i2osp.o src/pk/pkcs1/pkcs_1_mgf1.o src/pk/pkcs1/pkcs_1_oaep_decode.o \
+src/pk/pkcs1/pkcs_1_oaep_encode.o src/pk/pkcs1/pkcs_1_os2ip.o src/pk/pkcs1/pkcs_1_pss_decode.o \
+src/pk/pkcs1/pkcs_1_pss_encode.o src/pk/rsa/rsa_decrypt_key.o src/pk/rsa/rsa_encrypt_key.o \
 src/pk/rsa/rsa_export.o src/pk/rsa/rsa_exptmod.o src/pk/rsa/rsa_free.o src/pk/rsa/rsa_import.o \
-src/pk/rsa/rsa_make_key.o src/pk/rsa/rsa_sign_hash.o src/pk/rsa/rsa_v15_decrypt_key.o \
-src/pk/rsa/rsa_v15_encrypt_key.o src/pk/rsa/rsa_v15_sign_hash.o src/pk/rsa/rsa_v15_verify_hash.o \
-src/pk/rsa/rsa_verify_hash.o src/prngs/fortuna.o src/prngs/rc4.o src/prngs/rng_get_bytes.o \
-src/prngs/rng_make_prng.o src/prngs/sober128.o src/prngs/sprng.o src/prngs/yarrow.o 
-
-HEADERS=src/headers/tommath_superclass.h src/headers/tomcrypt_cfg.h \
-src/headers/tomcrypt_mac.h src/headers/tomcrypt_macros.h \
-src/headers/tomcrypt_custom.h src/headers/tomcrypt_argchk.h \
-src/headers/tomcrypt_cipher.h src/headers/tomcrypt_pk.h \
-src/headers/tommath_class.h src/headers/ltc_tommath.h src/headers/tomcrypt_hash.h \
-src/headers/tomcrypt_misc.h src/headers/tomcrypt.h src/headers/tomcrypt_pkcs.h \
-src/headers/tomcrypt_prng.h testprof/tomcrypt_test.h
+src/pk/rsa/rsa_make_key.o src/pk/rsa/rsa_sign_hash.o src/pk/rsa/rsa_verify_hash.o src/prngs/fortuna.o \
+src/prngs/rc4.o src/prngs/rng_get_bytes.o src/prngs/rng_make_prng.o src/prngs/sober128.o \
+src/prngs/sprng.o src/prngs/yarrow.o 
+
+HEADERS=src/headers/tommath_superclass.h src/headers/tomcrypt_cfg.h src/headers/tomcrypt_mac.h \
+src/headers/tomcrypt_macros.h src/headers/tomcrypt_custom.h src/headers/tomcrypt_argchk.h \
+src/headers/tomcrypt_cipher.h src/headers/tomcrypt_pk.h src/headers/tommath_class.h \
+src/headers/ltc_tommath.h src/headers/tomcrypt_hash.h src/headers/tomcrypt_misc.h \
+src/headers/tomcrypt.h src/headers/tomcrypt_pkcs.h src/headers/tomcrypt_prng.h testprof/tomcrypt_test.h
 
 TESTOBJECTS=demos/test.o
 HASHOBJECTS=demos/hashsum.o
@@ -171,7 +200,7 @@ src/hashes/sha2/sha512.o: src/hashes/sha2/sha512.c src/hashes/sha2/sha384.c
 src/hashes/sha2/sha256.o: src/hashes/sha2/sha256.c src/hashes/sha2/sha224.c
 
 #This rule makes the libtomcrypt library.
-library: $(LIBTEST) $(LIBNAME)
+library: $(LIBNAME)
 
 $(LIBTEST): 
 	cd testprof ; CFLAGS="$(CFLAGS)" make 
@@ -193,15 +222,15 @@ small: library $(SMALLOBJECTS)
 	$(CC) $(SMALLOBJECTS) $(LIBNAME) -o $(SMALL) $(WARN)
 	
 tv_gen: library $(TVS)
-	$(CC) $(TVS) $(LIBNAME) $(EXTRALIBS) -o $(TV)
+	$(CC) $(TVS) $(LIBNAME) -o $(TV)
 
 multi: library $(MULTIS)
 	$(CC) $(MULTIS) $(LIBNAME) -o $(MULTI)
 
-timing: library $(TIMINGS)
-	$(CC) $(TIMINGS) $(LIBTEST) $(LIBNAME) -o $(TIMING)
+timing: library $(LIBTEST) $(TIMINGS)
+	$(CC) $(TIMINGS) $(LIBTEST) $(LIBNAME) $(EXTRALIBS) -o $(TIMING)
 
-test: library $(TESTS)
+test: library $(LIBTEST) $(TESTS)
 	$(CC) $(TESTS) $(LIBTEST) $(LIBNAME) -o $(TEST)
 
 
@@ -216,11 +245,17 @@ install: library docs
 	install -g $(GROUP) -o $(USER) $(HEADERS) $(DESTDIR)$(INCPATH)
 	install -g $(GROUP) -o $(USER) doc/crypt.pdf $(DESTDIR)$(DATAPATH)
 
-install_lib: library
+install_test: $(LIBTEST)
 	install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(LIBPATH)
 	install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(INCPATH)
-	install -g $(GROUP) -o $(USER) $(LIBNAME) $(DESTDIR)$(LIBPATH)
-	install -g $(GROUP) -o $(USER) $(HEADERS) $(DESTDIR)$(INCPATH)
+	install -g $(GROUP) -o $(USER) $(LIBTEST) $(DESTDIR)$(LIBPATH)
+
+profile:
+	CFLAGS="$(CFLAGS) -fprofile-generate" make timing EXTRALIBS=-lgcov
+	./timing
+	rm -f timing `find . -type f | grep [.][ao] | xargs`
+	CFLAGS="$(CFLAGS) -fprofile-use" make timing EXTRALIBS=-lgcov
+
 
 #This rule cleans the source tree of all compiled code, not including the pdf
 #documentation.
@@ -242,6 +277,7 @@ clean:
 	rm -f $(TV) $(PROF) $(SMALL) $(CRYPT) $(HASHSUM) $(MULTI) $(TIMING) $(TEST)
 	rm -rf doc/doxygen
 	rm -f doc/*.pdf
+	rm -f *.txt
 
 #build the doxy files (requires Doxygen, tetex and patience)
 doxy:
@@ -274,6 +310,8 @@ docdvi: crypt.tex
 #zipup the project (take that!)
 no_oops: clean
 	cd .. ; cvs commit 
+	echo Scanning for scratch/dirty files
+	find . -type f | grep -v CVS | xargs -n 1 bash mess.sh
 
 zipup: no_oops docs
 	cd .. ; rm -rf crypt* libtomcrypt-$(VERSION) ; mkdir libtomcrypt-$(VERSION) ; \
@@ -283,3 +321,8 @@ zipup: no_oops docs
 	zip -9r crypt-$(VERSION).zip libtomcrypt-$(VERSION) ; \
 	gpg -b -a crypt-$(VERSION).tar.bz2 ; gpg -b -a crypt-$(VERSION).zip ; \
 	mv -fv crypt* ~ ; rm -rf libtomcrypt-$(VERSION)
+
+
+# $Source: /cvs/libtom/libtomcrypt/makefile,v $ 
+# $Revision: 1.70 $ 
+# $Date: 2005/06/19 18:03:24 $ 
diff --git a/makefile.icc b/makefile.icc
index 41848dcc..a9ab38fb 100644
--- a/makefile.icc
+++ b/makefile.icc
@@ -22,7 +22,7 @@ CC=icc
 #ARFLAGS=r
 
 # Compilation flags. Note the += does not write over the user's CFLAGS!
-CFLAGS += -c -I./src/headers/ -DINTEL_CC
+CFLAGS += -c -Isrc/headers/ -Itestprof/ -DINTEL_CC
 
 #The default rule for make builds the libtomcrypt library.
 default:library
@@ -41,7 +41,13 @@ default:library
 #	B - Blend of P4 and PM [mobile]
 #
 # Default to just generic max opts
+ifdef LTC_SMALL
+CFLAGS += -O2 -xP -ip
+endif
+
+ifndef IGNORE_SPEED
 CFLAGS += -O3 -xP -ip 
+endif
 
 # want to see stuff?
 #CFLAGS += -opt_report
@@ -122,29 +128,43 @@ src/modes/ctr/ctr_getiv.o src/modes/ctr/ctr_setiv.o src/modes/ctr/ctr_start.o \
 src/modes/ecb/ecb_decrypt.o src/modes/ecb/ecb_done.o src/modes/ecb/ecb_encrypt.o \
 src/modes/ecb/ecb_start.o src/modes/ofb/ofb_decrypt.o src/modes/ofb/ofb_done.o \
 src/modes/ofb/ofb_encrypt.o src/modes/ofb/ofb_getiv.o src/modes/ofb/ofb_setiv.o \
-src/modes/ofb/ofb_start.o src/pk/asn1/der/der_decode_integer.o src/pk/asn1/der/der_encode_integer.o \
-src/pk/asn1/der/der_get_multi_integer.o src/pk/asn1/der/der_length_integer.o \
-src/pk/asn1/der/der_put_multi_integer.o src/pk/dh/dh.o src/pk/dsa/dsa_export.o src/pk/dsa/dsa_free.o \
-src/pk/dsa/dsa_import.o src/pk/dsa/dsa_make_key.o src/pk/dsa/dsa_sign_hash.o \
-src/pk/dsa/dsa_verify_hash.o src/pk/dsa/dsa_verify_key.o src/pk/ecc/ecc.o src/pk/packet_store_header.o \
-src/pk/packet_valid_header.o src/pk/pkcs1/pkcs_1_i2osp.o src/pk/pkcs1/pkcs_1_mgf1.o \
-src/pk/pkcs1/pkcs_1_oaep_decode.o src/pk/pkcs1/pkcs_1_oaep_encode.o src/pk/pkcs1/pkcs_1_os2ip.o \
-src/pk/pkcs1/pkcs_1_pss_decode.o src/pk/pkcs1/pkcs_1_pss_encode.o src/pk/pkcs1/pkcs_1_v15_es_decode.o \
-src/pk/pkcs1/pkcs_1_v15_es_encode.o src/pk/pkcs1/pkcs_1_v15_sa_decode.o \
-src/pk/pkcs1/pkcs_1_v15_sa_encode.o src/pk/rsa/rsa_decrypt_key.o src/pk/rsa/rsa_encrypt_key.o \
+src/modes/ofb/ofb_start.o src/pk/asn1/der/bit/der_decode_bit_string.o \
+src/pk/asn1/der/bit/der_encode_bit_string.o src/pk/asn1/der/bit/der_length_bit_string.o \
+src/pk/asn1/der/choice/der_decode_choice.o src/pk/asn1/der/ia5/der_decode_ia5_string.o \
+src/pk/asn1/der/ia5/der_encode_ia5_string.o src/pk/asn1/der/ia5/der_length_ia5_string.o \
+src/pk/asn1/der/integer/der_decode_integer.o src/pk/asn1/der/integer/der_encode_integer.o \
+src/pk/asn1/der/integer/der_length_integer.o \
+src/pk/asn1/der/object_identifier/der_decode_object_identifier.o \
+src/pk/asn1/der/object_identifier/der_encode_object_identifier.o \
+src/pk/asn1/der/object_identifier/der_length_object_identifier.o \
+src/pk/asn1/der/octet/der_decode_octet_string.o src/pk/asn1/der/octet/der_encode_octet_string.o \
+src/pk/asn1/der/octet/der_length_octet_string.o \
+src/pk/asn1/der/printable_string/der_decode_printable_string.o \
+src/pk/asn1/der/printable_string/der_encode_printable_string.o \
+src/pk/asn1/der/printable_string/der_length_printable_string.o \
+src/pk/asn1/der/sequence/der_decode_sequence.o src/pk/asn1/der/sequence/der_decode_sequence_multi.o \
+src/pk/asn1/der/sequence/der_encode_sequence.o src/pk/asn1/der/sequence/der_encode_sequence_multi.o \
+src/pk/asn1/der/sequence/der_length_sequence.o \
+src/pk/asn1/der/short_integer/der_decode_short_integer.o \
+src/pk/asn1/der/short_integer/der_encode_short_integer.o \
+src/pk/asn1/der/short_integer/der_length_short_integer.o src/pk/asn1/der/utctime/der_decode_utctime.o \
+src/pk/asn1/der/utctime/der_encode_utctime.o src/pk/asn1/der/utctime/der_length_utctime.o \
+src/pk/dh/dh.o src/pk/dsa/dsa_export.o src/pk/dsa/dsa_free.o src/pk/dsa/dsa_import.o \
+src/pk/dsa/dsa_make_key.o src/pk/dsa/dsa_sign_hash.o src/pk/dsa/dsa_verify_hash.o \
+src/pk/dsa/dsa_verify_key.o src/pk/ecc/ecc.o src/pk/packet_store_header.o src/pk/packet_valid_header.o \
+src/pk/pkcs1/pkcs_1_i2osp.o src/pk/pkcs1/pkcs_1_mgf1.o src/pk/pkcs1/pkcs_1_oaep_decode.o \
+src/pk/pkcs1/pkcs_1_oaep_encode.o src/pk/pkcs1/pkcs_1_os2ip.o src/pk/pkcs1/pkcs_1_pss_decode.o \
+src/pk/pkcs1/pkcs_1_pss_encode.o src/pk/rsa/rsa_decrypt_key.o src/pk/rsa/rsa_encrypt_key.o \
 src/pk/rsa/rsa_export.o src/pk/rsa/rsa_exptmod.o src/pk/rsa/rsa_free.o src/pk/rsa/rsa_import.o \
-src/pk/rsa/rsa_make_key.o src/pk/rsa/rsa_sign_hash.o src/pk/rsa/rsa_v15_decrypt_key.o \
-src/pk/rsa/rsa_v15_encrypt_key.o src/pk/rsa/rsa_v15_sign_hash.o src/pk/rsa/rsa_v15_verify_hash.o \
-src/pk/rsa/rsa_verify_hash.o src/prngs/fortuna.o src/prngs/rc4.o src/prngs/rng_get_bytes.o \
-src/prngs/rng_make_prng.o src/prngs/sober128.o src/prngs/sprng.o src/prngs/yarrow.o 
-
-HEADERS=src/headers/tommath_superclass.h src/headers/tomcrypt_cfg.h \
-src/headers/tomcrypt_mac.h src/headers/tomcrypt_macros.h \
-src/headers/tomcrypt_custom.h src/headers/tomcrypt_argchk.h \
-src/headers/tomcrypt_cipher.h src/headers/tomcrypt_pk.h \
-src/headers/tommath_class.h src/headers/ltc_tommath.h src/headers/tomcrypt_hash.h \
-src/headers/tomcrypt_misc.h src/headers/tomcrypt.h src/headers/tomcrypt_pkcs.h \
-src/headers/tomcrypt_prng.h  testprof/tomcrypt_test.h
+src/pk/rsa/rsa_make_key.o src/pk/rsa/rsa_sign_hash.o src/pk/rsa/rsa_verify_hash.o src/prngs/fortuna.o \
+src/prngs/rc4.o src/prngs/rng_get_bytes.o src/prngs/rng_make_prng.o src/prngs/sober128.o \
+src/prngs/sprng.o src/prngs/yarrow.o 
+
+HEADERS=src/headers/tommath_superclass.h src/headers/tomcrypt_cfg.h src/headers/tomcrypt_mac.h \
+src/headers/tomcrypt_macros.h src/headers/tomcrypt_custom.h src/headers/tomcrypt_argchk.h \
+src/headers/tomcrypt_cipher.h src/headers/tomcrypt_pk.h src/headers/tommath_class.h \
+src/headers/ltc_tommath.h src/headers/tomcrypt_hash.h src/headers/tomcrypt_misc.h \
+src/headers/tomcrypt.h src/headers/tomcrypt_pkcs.h src/headers/tomcrypt_prng.h testprof/tomcrypt_test.h
 
 #ciphers come in two flavours... enc+dec and enc 
 aes_enc.o: aes.c aes_tab.c
@@ -214,4 +234,9 @@ install: library
 	install -d -g root -o root $(DESTDIR)$(LIBPATH)
 	install -d -g root -o root $(DESTDIR)$(INCPATH)
 	install -g root -o root $(LIBNAME) $(DESTDIR)$(LIBPATH)
+	install -g root -o root $(LIBTEST) $(DESTDIR)$(LIBPATH)
 	install -g root -o root $(HEADERS) $(DESTDIR)$(INCPATH)
+
+# $Source: /cvs/libtom/libtomcrypt/makefile.icc,v $   
+# $Revision: 1.33 $   
+# $Date: 2005/06/19 18:22:31 $ 
diff --git a/makefile.msvc b/makefile.msvc
index 16d4b8d2..ae010794 100644
--- a/makefile.msvc
+++ b/makefile.msvc
@@ -57,29 +57,43 @@ src/modes/ctr/ctr_getiv.obj src/modes/ctr/ctr_setiv.obj src/modes/ctr/ctr_start.
 src/modes/ecb/ecb_decrypt.obj src/modes/ecb/ecb_done.obj src/modes/ecb/ecb_encrypt.obj \
 src/modes/ecb/ecb_start.obj src/modes/ofb/ofb_decrypt.obj src/modes/ofb/ofb_done.obj \
 src/modes/ofb/ofb_encrypt.obj src/modes/ofb/ofb_getiv.obj src/modes/ofb/ofb_setiv.obj \
-src/modes/ofb/ofb_start.obj src/pk/asn1/der/der_decode_integer.obj src/pk/asn1/der/der_encode_integer.obj \
-src/pk/asn1/der/der_get_multi_integer.obj src/pk/asn1/der/der_length_integer.obj \
-src/pk/asn1/der/der_put_multi_integer.obj src/pk/dh/dh.obj src/pk/dsa/dsa_export.obj src/pk/dsa/dsa_free.obj \
-src/pk/dsa/dsa_import.obj src/pk/dsa/dsa_make_key.obj src/pk/dsa/dsa_sign_hash.obj \
-src/pk/dsa/dsa_verify_hash.obj src/pk/dsa/dsa_verify_key.obj src/pk/ecc/ecc.obj src/pk/packet_store_header.obj \
-src/pk/packet_valid_header.obj src/pk/pkcs1/pkcs_1_i2osp.obj src/pk/pkcs1/pkcs_1_mgf1.obj \
-src/pk/pkcs1/pkcs_1_oaep_decode.obj src/pk/pkcs1/pkcs_1_oaep_encode.obj src/pk/pkcs1/pkcs_1_os2ip.obj \
-src/pk/pkcs1/pkcs_1_pss_decode.obj src/pk/pkcs1/pkcs_1_pss_encode.obj src/pk/pkcs1/pkcs_1_v15_es_decode.obj \
-src/pk/pkcs1/pkcs_1_v15_es_encode.obj src/pk/pkcs1/pkcs_1_v15_sa_decode.obj \
-src/pk/pkcs1/pkcs_1_v15_sa_encode.obj src/pk/rsa/rsa_decrypt_key.obj src/pk/rsa/rsa_encrypt_key.obj \
+src/modes/ofb/ofb_start.obj src/pk/asn1/der/bit/der_decode_bit_string.obj \
+src/pk/asn1/der/bit/der_encode_bit_string.obj src/pk/asn1/der/bit/der_length_bit_string.obj \
+src/pk/asn1/der/choice/der_decode_choice.obj src/pk/asn1/der/ia5/der_decode_ia5_string.obj \
+src/pk/asn1/der/ia5/der_encode_ia5_string.obj src/pk/asn1/der/ia5/der_length_ia5_string.obj \
+src/pk/asn1/der/integer/der_decode_integer.obj src/pk/asn1/der/integer/der_encode_integer.obj \
+src/pk/asn1/der/integer/der_length_integer.obj \
+src/pk/asn1/der/object_identifier/der_decode_object_identifier.obj \
+src/pk/asn1/der/object_identifier/der_encode_object_identifier.obj \
+src/pk/asn1/der/object_identifier/der_length_object_identifier.obj \
+src/pk/asn1/der/octet/der_decode_octet_string.obj src/pk/asn1/der/octet/der_encode_octet_string.obj \
+src/pk/asn1/der/octet/der_length_octet_string.obj \
+src/pk/asn1/der/printable_string/der_decode_printable_string.obj \
+src/pk/asn1/der/printable_string/der_encode_printable_string.obj \
+src/pk/asn1/der/printable_string/der_length_printable_string.obj \
+src/pk/asn1/der/sequence/der_decode_sequence.obj src/pk/asn1/der/sequence/der_decode_sequence_multi.obj \
+src/pk/asn1/der/sequence/der_encode_sequence.obj src/pk/asn1/der/sequence/der_encode_sequence_multi.obj \
+src/pk/asn1/der/sequence/der_length_sequence.obj \
+src/pk/asn1/der/short_integer/der_decode_short_integer.obj \
+src/pk/asn1/der/short_integer/der_encode_short_integer.obj \
+src/pk/asn1/der/short_integer/der_length_short_integer.obj src/pk/asn1/der/utctime/der_decode_utctime.obj \
+src/pk/asn1/der/utctime/der_encode_utctime.obj src/pk/asn1/der/utctime/der_length_utctime.obj \
+src/pk/dh/dh.obj src/pk/dsa/dsa_export.obj src/pk/dsa/dsa_free.obj src/pk/dsa/dsa_import.obj \
+src/pk/dsa/dsa_make_key.obj src/pk/dsa/dsa_sign_hash.obj src/pk/dsa/dsa_verify_hash.obj \
+src/pk/dsa/dsa_verify_key.obj src/pk/ecc/ecc.obj src/pk/packet_store_header.obj src/pk/packet_valid_header.obj \
+src/pk/pkcs1/pkcs_1_i2osp.obj src/pk/pkcs1/pkcs_1_mgf1.obj src/pk/pkcs1/pkcs_1_oaep_decode.obj \
+src/pk/pkcs1/pkcs_1_oaep_encode.obj src/pk/pkcs1/pkcs_1_os2ip.obj src/pk/pkcs1/pkcs_1_pss_decode.obj \
+src/pk/pkcs1/pkcs_1_pss_encode.obj src/pk/rsa/rsa_decrypt_key.obj src/pk/rsa/rsa_encrypt_key.obj \
 src/pk/rsa/rsa_export.obj src/pk/rsa/rsa_exptmod.obj src/pk/rsa/rsa_free.obj src/pk/rsa/rsa_import.obj \
-src/pk/rsa/rsa_make_key.obj src/pk/rsa/rsa_sign_hash.obj src/pk/rsa/rsa_v15_decrypt_key.obj \
-src/pk/rsa/rsa_v15_encrypt_key.obj src/pk/rsa/rsa_v15_sign_hash.obj src/pk/rsa/rsa_v15_verify_hash.obj \
-src/pk/rsa/rsa_verify_hash.obj src/prngs/fortuna.obj src/prngs/rc4.obj src/prngs/rng_get_bytes.obj \
-src/prngs/rng_make_prng.obj src/prngs/sober128.obj src/prngs/sprng.obj src/prngs/yarrow.obj 
+src/pk/rsa/rsa_make_key.obj src/pk/rsa/rsa_sign_hash.obj src/pk/rsa/rsa_verify_hash.obj src/prngs/fortuna.obj \
+src/prngs/rc4.obj src/prngs/rng_get_bytes.obj src/prngs/rng_make_prng.obj src/prngs/sober128.obj \
+src/prngs/sprng.obj src/prngs/yarrow.obj 
 
-HEADERS=src/headers/tommath_superclass.h src/headers/tomcrypt_cfg.h \
-src/headers/tomcrypt_mac.h src/headers/tomcrypt_macros.h \
-src/headers/tomcrypt_custom.h src/headers/tomcrypt_argchk.h \
-src/headers/tomcrypt_cipher.h src/headers/tomcrypt_pk.h \
-src/headers/tommath_class.h src/headers/ltc_tommath.h src/headers/tomcrypt_hash.h \
-src/headers/tomcrypt_misc.h src/headers/tomcrypt.h src/headers/tomcrypt_pkcs.h \
-src/headers/tomcrypt_prng.h testprof/tomcrypt_test.h
+HEADERS=src/headers/tommath_superclass.h src/headers/tomcrypt_cfg.h src/headers/tomcrypt_mac.h \
+src/headers/tomcrypt_macros.h src/headers/tomcrypt_custom.h src/headers/tomcrypt_argchk.h \
+src/headers/tomcrypt_cipher.h src/headers/tomcrypt_pk.h src/headers/tommath_class.h \
+src/headers/ltc_tommath.h src/headers/tomcrypt_hash.h src/headers/tomcrypt_misc.h \
+src/headers/tomcrypt.h src/headers/tomcrypt_pkcs.h src/headers/tomcrypt_prng.h testprof/tomcrypt_test.h
 
 #ciphers come in two flavours... enc+dec and enc
 src/ciphers/aes/aes_enc.obj: src/ciphers/aes/aes.c src/ciphers/aes/aes_tab.c
@@ -102,3 +116,7 @@ test: demos/test.c library
 
 timing: demos/timing.c library
 	cl $(CFLAGS) demos/timing.c testprof/tomcrypt_prof.lib tomcrypt.lib advapi32.lib
+
+# $Source: /cvs/libtom/libtomcrypt/makefile.msvc,v $   
+# $Revision: 1.15 $   
+# $Date: 2005/06/27 12:37:06 $ 
diff --git a/makefile.shared b/makefile.shared
index 207ceeaa..62cc87bb 100644
--- a/makefile.shared
+++ b/makefile.shared
@@ -6,7 +6,7 @@
 # Tom St Denis
 
 # The version
-VERSION=0:102
+VERSION=0:105
 
 # Compiler and Linker Names
 CC=libtool --mode=compile gcc
@@ -18,14 +18,18 @@ CFLAGS += -c -I./src/headers/ -Wall -Wsign-compare -W -Wshadow
 #CFLAGS += -Wsystem-headers -Wdeclaration-after-statement -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wmissing-prototypes \
 #			 -Wmissing-declarations -Wpointer-arith 
 
+ifndef IGNORE_SPEED
+
 # optimize for SPEED
-CFLAGS += -O3 -funroll-all-loops
+CFLAGS += -O3 -funroll-loops
 
 # add -fomit-frame-pointer.  hinders debugging!
 CFLAGS += -fomit-frame-pointer
 
 # optimize for SIZE
-#CFLAGS += -Os
+#CFLAGS += -Os -DLTC_SMALL_CODE
+
+endif
 
 # compile for DEBUGING (required for ccmalloc checking!!!)
 #CFLAGS += -g3
@@ -45,7 +49,6 @@ TV=tv_gen
 TEST=test
 TIMING=timing
 
-
 #LIBPATH-The directory for libtomcrypt to be installed to.
 #INCPATH-The directory to install the header files for libtomcrypt.
 #DATAPATH-The directory to install the pdf docs.
@@ -55,16 +58,27 @@ INCPATH=/usr/include
 DATAPATH=/usr/share/doc/libtomcrypt/pdf
 
 #Who do we install as?
+ifdef INSTALL_USER
+USER=$(INSTALL_USER)
+else
 USER=root
-GROUP=wheel
+endif
+
+ifdef INSTALL_GROUP
+GROUP=$(INSTALL_GROUP)   
+else
+GROUP=wheel  
+endif
 
 #List of objects to compile.
 
 #Leave MPI built-in or force developer to link against libtommath?
+ifndef IGNORE_MPI
 MPIOBJECT=src/misc/mpi/mpi.o
-
+else 
 #If you don't want mpi.o then add this
-#MPISHARED=$(LIBPATH)/libtommath.la
+MPISHARED=$(LIBPATH)/libtommath.la
+endif
 
 OBJECTS=src/ciphers/aes/aes_enc.o $(MPIOBJECT) src/ciphers/aes/aes.o src/ciphers/anubis.o \
 src/ciphers/blowfish.o src/ciphers/cast5.o src/ciphers/des.o src/ciphers/khazad.o src/ciphers/noekeon.o \
@@ -115,29 +129,43 @@ src/modes/ctr/ctr_getiv.o src/modes/ctr/ctr_setiv.o src/modes/ctr/ctr_start.o \
 src/modes/ecb/ecb_decrypt.o src/modes/ecb/ecb_done.o src/modes/ecb/ecb_encrypt.o \
 src/modes/ecb/ecb_start.o src/modes/ofb/ofb_decrypt.o src/modes/ofb/ofb_done.o \
 src/modes/ofb/ofb_encrypt.o src/modes/ofb/ofb_getiv.o src/modes/ofb/ofb_setiv.o \
-src/modes/ofb/ofb_start.o src/pk/asn1/der/der_decode_integer.o src/pk/asn1/der/der_encode_integer.o \
-src/pk/asn1/der/der_get_multi_integer.o src/pk/asn1/der/der_length_integer.o \
-src/pk/asn1/der/der_put_multi_integer.o src/pk/dh/dh.o src/pk/dsa/dsa_export.o src/pk/dsa/dsa_free.o \
-src/pk/dsa/dsa_import.o src/pk/dsa/dsa_make_key.o src/pk/dsa/dsa_sign_hash.o \
-src/pk/dsa/dsa_verify_hash.o src/pk/dsa/dsa_verify_key.o src/pk/ecc/ecc.o src/pk/packet_store_header.o \
-src/pk/packet_valid_header.o src/pk/pkcs1/pkcs_1_i2osp.o src/pk/pkcs1/pkcs_1_mgf1.o \
-src/pk/pkcs1/pkcs_1_oaep_decode.o src/pk/pkcs1/pkcs_1_oaep_encode.o src/pk/pkcs1/pkcs_1_os2ip.o \
-src/pk/pkcs1/pkcs_1_pss_decode.o src/pk/pkcs1/pkcs_1_pss_encode.o src/pk/pkcs1/pkcs_1_v15_es_decode.o \
-src/pk/pkcs1/pkcs_1_v15_es_encode.o src/pk/pkcs1/pkcs_1_v15_sa_decode.o \
-src/pk/pkcs1/pkcs_1_v15_sa_encode.o src/pk/rsa/rsa_decrypt_key.o src/pk/rsa/rsa_encrypt_key.o \
+src/modes/ofb/ofb_start.o src/pk/asn1/der/bit/der_decode_bit_string.o \
+src/pk/asn1/der/bit/der_encode_bit_string.o src/pk/asn1/der/bit/der_length_bit_string.o \
+src/pk/asn1/der/choice/der_decode_choice.o src/pk/asn1/der/ia5/der_decode_ia5_string.o \
+src/pk/asn1/der/ia5/der_encode_ia5_string.o src/pk/asn1/der/ia5/der_length_ia5_string.o \
+src/pk/asn1/der/integer/der_decode_integer.o src/pk/asn1/der/integer/der_encode_integer.o \
+src/pk/asn1/der/integer/der_length_integer.o \
+src/pk/asn1/der/object_identifier/der_decode_object_identifier.o \
+src/pk/asn1/der/object_identifier/der_encode_object_identifier.o \
+src/pk/asn1/der/object_identifier/der_length_object_identifier.o \
+src/pk/asn1/der/octet/der_decode_octet_string.o src/pk/asn1/der/octet/der_encode_octet_string.o \
+src/pk/asn1/der/octet/der_length_octet_string.o \
+src/pk/asn1/der/printable_string/der_decode_printable_string.o \
+src/pk/asn1/der/printable_string/der_encode_printable_string.o \
+src/pk/asn1/der/printable_string/der_length_printable_string.o \
+src/pk/asn1/der/sequence/der_decode_sequence.o src/pk/asn1/der/sequence/der_decode_sequence_multi.o \
+src/pk/asn1/der/sequence/der_encode_sequence.o src/pk/asn1/der/sequence/der_encode_sequence_multi.o \
+src/pk/asn1/der/sequence/der_length_sequence.o \
+src/pk/asn1/der/short_integer/der_decode_short_integer.o \
+src/pk/asn1/der/short_integer/der_encode_short_integer.o \
+src/pk/asn1/der/short_integer/der_length_short_integer.o src/pk/asn1/der/utctime/der_decode_utctime.o \
+src/pk/asn1/der/utctime/der_encode_utctime.o src/pk/asn1/der/utctime/der_length_utctime.o \
+src/pk/dh/dh.o src/pk/dsa/dsa_export.o src/pk/dsa/dsa_free.o src/pk/dsa/dsa_import.o \
+src/pk/dsa/dsa_make_key.o src/pk/dsa/dsa_sign_hash.o src/pk/dsa/dsa_verify_hash.o \
+src/pk/dsa/dsa_verify_key.o src/pk/ecc/ecc.o src/pk/packet_store_header.o src/pk/packet_valid_header.o \
+src/pk/pkcs1/pkcs_1_i2osp.o src/pk/pkcs1/pkcs_1_mgf1.o src/pk/pkcs1/pkcs_1_oaep_decode.o \
+src/pk/pkcs1/pkcs_1_oaep_encode.o src/pk/pkcs1/pkcs_1_os2ip.o src/pk/pkcs1/pkcs_1_pss_decode.o \
+src/pk/pkcs1/pkcs_1_pss_encode.o src/pk/rsa/rsa_decrypt_key.o src/pk/rsa/rsa_encrypt_key.o \
 src/pk/rsa/rsa_export.o src/pk/rsa/rsa_exptmod.o src/pk/rsa/rsa_free.o src/pk/rsa/rsa_import.o \
-src/pk/rsa/rsa_make_key.o src/pk/rsa/rsa_sign_hash.o src/pk/rsa/rsa_v15_decrypt_key.o \
-src/pk/rsa/rsa_v15_encrypt_key.o src/pk/rsa/rsa_v15_sign_hash.o src/pk/rsa/rsa_v15_verify_hash.o \
-src/pk/rsa/rsa_verify_hash.o src/prngs/fortuna.o src/prngs/rc4.o src/prngs/rng_get_bytes.o \
-src/prngs/rng_make_prng.o src/prngs/sober128.o src/prngs/sprng.o src/prngs/yarrow.o 
-
-HEADERS=src/headers/tommath_superclass.h src/headers/tomcrypt_cfg.h \
-src/headers/tomcrypt_mac.h src/headers/tomcrypt_macros.h \
-src/headers/tomcrypt_custom.h src/headers/tomcrypt_argchk.h \
-src/headers/tomcrypt_cipher.h src/headers/tomcrypt_pk.h \
-src/headers/tommath_class.h src/headers/ltc_tommath.h src/headers/tomcrypt_hash.h \
-src/headers/tomcrypt_misc.h src/headers/tomcrypt.h src/headers/tomcrypt_pkcs.h \
-src/headers/tomcrypt_prng.h testprof/tomcrypt_test.h
+src/pk/rsa/rsa_make_key.o src/pk/rsa/rsa_sign_hash.o src/pk/rsa/rsa_verify_hash.o src/prngs/fortuna.o \
+src/prngs/rc4.o src/prngs/rng_get_bytes.o src/prngs/rng_make_prng.o src/prngs/sober128.o \
+src/prngs/sprng.o src/prngs/yarrow.o 
+
+HEADERS=src/headers/tommath_superclass.h src/headers/tomcrypt_cfg.h src/headers/tomcrypt_mac.h \
+src/headers/tomcrypt_macros.h src/headers/tomcrypt_custom.h src/headers/tomcrypt_argchk.h \
+src/headers/tomcrypt_cipher.h src/headers/tomcrypt_pk.h src/headers/tommath_class.h \
+src/headers/ltc_tommath.h src/headers/tomcrypt_hash.h src/headers/tomcrypt_misc.h \
+src/headers/tomcrypt.h src/headers/tomcrypt_pkcs.h src/headers/tomcrypt_prng.h testprof/tomcrypt_test.h
 
 TESTOBJECTS=demos/test.o
 HASHOBJECTS=demos/hashsum.o
@@ -164,7 +192,7 @@ src/hashes/sha2/sha512.o: src/hashes/sha2/sha512.c src/hashes/sha2/sha384.c
 src/hashes/sha2/sha256.o: src/hashes/sha2/sha256.c src/hashes/sha2/sha224.c
 
 #This rule makes the libtomcrypt library.
-library: $(LIBTEST) $(LIBNAME)
+library: $(LIBNAME)
 
 $(LIBTEST):
 	cd testprof ; CFLAGS="$(CFLAGS)" GROUP=$(GROUP) USER=$(USER) VERSION=$(VERSION) LIBPATH=$(LIBPATH) LIBNAME=$(LIBTEST) make -f makefile.shared
@@ -180,19 +208,22 @@ $(LIBNAME): $(OBJECTS)
 #This rule makes the hash program included with libtomcrypt
 hashsum: library
 	gcc $(CFLAGS) demos/hashsum.c -o hashsum.o
-	gcc -o hashsum hashsum.o -ltomcrypt_prof -ltomcrypt $(MPISHARED)
+	gcc -o hashsum hashsum.o -ltomcrypt $(MPISHARED)
 
 #makes the crypt program
 crypt: library 
 	gcc $(CFLAGS) demos/encrypt.c -o encrypt.o
-	gcc -o crypt encrypt.o -ltomcrypt_prof -ltomcrypt $(MPISHARED)
+	gcc -o crypt encrypt.o -ltomcrypt $(MPISHARED)
 
 tv_gen: library $(TVS)
-	gcc -o tv_gen $(TVS) -ltomcrypt_prof -ltomcrypt $(MPISHARED)
+	gcc -o tv_gen $(TVS) -ltomcrypt $(MPISHARED)
 
-test: library $(TESTS)
+test: library $(LIBTEST) $(TESTS)
 	gcc -o $(TEST) $(TESTS) -ltomcrypt_prof -ltomcrypt $(MPISHARED)
 
-timing: library $(TIMINGS)
+timing: library $(LIBTEST) $(TIMINGS)
 	gcc -o $(TIMING) $(TIMINGS) -ltomcrypt_prof -ltomcrypt $(MPISHARED)
 
+# $Source: /cvs/libtom/libtomcrypt/makefile.shared,v $   
+# $Revision: 1.19 $   
+# $Date: 2005/06/27 12:37:06 $ 
diff --git a/mess.sh b/mess.sh
new file mode 100644
index 00000000..bf639ce3
--- /dev/null
+++ b/mess.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+if cvs log $1 >/dev/null 2>/dev/null; then exit 0; else echo "$1 shouldn't be here" ; exit 1; fi
+
+
diff --git a/notes/etc/saferp_optimizer.c b/notes/etc/saferp_optimizer.c
index 664661ad..32de878b 100644
--- a/notes/etc/saferp_optimizer.c
+++ b/notes/etc/saferp_optimizer.c
@@ -171,3 +171,7 @@ printf("   }\n}\n\n");
    return 0;
 }
 
+
+/* $Source: /cvs/libtom/libtomcrypt/notes/etc/saferp_optimizer.c,v $ */
+/* $Revision: 1.2 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/notes/etc/whirlgen.c b/notes/etc/whirlgen.c
index 2880d3f5..c06687e3 100644
--- a/notes/etc/whirlgen.c
+++ b/notes/etc/whirlgen.c
@@ -89,3 +89,7 @@ int main(void)
 }
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/notes/etc/whirlgen.c,v $ */
+/* $Revision: 1.2 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/notes/etc/whirltest.c b/notes/etc/whirltest.c
index 9184f770..226e0129 100644
--- a/notes/etc/whirltest.c
+++ b/notes/etc/whirltest.c
@@ -13,3 +13,7 @@ int main(void)
    }
 }
 
+
+/* $Source: /cvs/libtom/libtomcrypt/notes/etc/whirltest.c,v $ */
+/* $Revision: 1.2 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/notes/tech0005.txt b/notes/tech0005.txt
new file mode 100644
index 00000000..8f393d50
--- /dev/null
+++ b/notes/tech0005.txt
@@ -0,0 +1,18 @@
+Tech Note 0005
+Minimizing Code Space
+Tom St Denis
+
+Introduction
+------------
+
+Tweaking...
+
+You can disable whole classes of algorithms on the command line with the LTC_NO_* defines.  From there you can manually turn on what you want to enable.  
+
+The following build with GCC 3.4.3 on an AMD64 box gets you AES, CTR mode, SHA-256, HMAC, Yarrow, full RSA PKCS #1, PKCS #5, ASN.1 DER and MPI in 
+roughly 80KB of code.
+
+CFLAGS="-DSC_RSA_1 -DLTC_NO_CIPHERS -DLTC_NO_HASHES -DLTC_NO_PRNGS -DLTC_NO_MACS -DLTC_NO_MODES -DLTC_NO_PK -DRIJNDAEL -DCTR -DSHA256 \
+-DHMAC -DYARROW -DMRSA -DMPI -Os -fomit-frame-pointer" make IGNORE_SPEED=1
+
+Neato eh?
diff --git a/notes/tech0006.txt b/notes/tech0006.txt
new file mode 100644
index 00000000..ecbe8b08
--- /dev/null
+++ b/notes/tech0006.txt
@@ -0,0 +1,91 @@
+Tech Note 0006
+PK Standards Compliance
+Tom St Denis
+
+RSA
+----
+
+PKCS #1 compliance.
+
+Key Format:  RSAPublicKey and RSAPrivateKey as per PKCS #1 v2.1
+Encryption:  OAEP as per PKCS #1
+Signature :  PSS  as per PKCS #1
+
+DSA
+----
+
+The NIST DSA algorithm
+
+Key Format:  HomeBrew [see below]
+Signature :  ANSI X9.62 format [see below].
+
+Keys are stored as 
+
+DSAPublicKey ::= SEQUENCE {
+    publicFlags    BIT STRING(1), -- must be 0
+    g              INTEGER      , -- base generator, check that g^q mod p == 1
+                                  -- and that 1 < g < p - 1
+    p              INTEGER      , -- prime modulus 
+    q              INTEGER      , -- order of sub-group (must be prime)
+    y              INTEGER      , -- public key, specifically, g^x mod p, 
+                                  -- check that y^q mod p == 1
+                                  -- and that 1 < y < p - 1
+}
+
+DSAPrivateKey ::= SEQUENCE {
+    publicFlags    BIT STRING(1), -- must be 1
+    g              INTEGER      , -- base generator, check that g^q mod p == 1
+                                  -- and that 1 < g < p - 1
+    p              INTEGER      , -- prime modulus 
+    q              INTEGER      , -- order of sub-group (must be prime)
+    y              INTEGER      , -- public key, specifically, g^x mod p, 
+                                  -- check that y^q mod p == 1
+                                  -- and that 1 < y < p - 1
+    x              INTEGER        -- private key
+}
+
+Signatures are stored as 
+
+DSASignature ::= SEQUENCE {
+    r, s           INTEGER        -- signature parameters
+}
+
+ECC
+----
+
+The ANSI X9.62 and X9.63 algorithms [partial].  Supports all NIST GF(p) curves.
+
+Key Format   :  Homebrew [see below, only GF(p) NIST curves supported]
+Signature    :  X9.62 compliant
+Encryption   :  Homebrew [based on X9.63, differs in that the public point is stored as an ECCPublicKey]
+Shared Secret:  X9.63 compliant
+
+ECCPublicKey ::= SEQUENCE {
+    flags       BIT STRING(1), -- public/private flag (always zero), 
+    keySize     INTEGER,       -- Curve size (in bits) divided by eight 
+                               -- and rounded down, e.g. 521 => 65
+    pubkey.x    INTEGER,       -- The X co-ordinate of the public key point
+    pubkey.y    INTEGER,       -- The Y co-ordinate of the public key point
+}
+
+ECCPrivateKey ::= SEQUENCE {
+    flags       BIT STRING(1), -- public/private flag (always one), 
+    keySize     INTEGER,       -- Curve size (in bits) divided by eight 
+                               -- and rounded down, e.g. 521 => 65
+    pubkey.x    INTEGER,       -- The X co-ordinate of the public key point
+    pubkey.y    INTEGER,       -- The Y co-ordinate of the public key point
+    secret.k    INTEGER,       -- The secret key scalar
+}
+
+The encryption works by finding the X9.63 shared secret and hashing it.  The hash is then simply XOR'ed against the message [which must be at most the size
+of the hash digest].  The format of the encrypted text is as follows
+
+ECCEncrypted ::= SEQUENCE {
+    hashOID     OBJECT IDENTIFIER,   -- The OID of the hash used
+    pubkey      OCTET STRING     ,   -- Encapsulation of a random ECCPublicKey
+    skey        OCTET STRING         -- The encrypted text (which the hash was XOR'ed against)
+}
+
+% $Source: /cvs/libtom/libtomcrypt/notes/tech0006.txt,v $   
+% $Revision: 1.2 $   
+% $Date: 2005/06/18 02:26:27 $ 
diff --git a/parsenames.pl b/parsenames.pl
index d6466c5b..761f0362 100644
--- a/parsenames.pl
+++ b/parsenames.pl
@@ -20,3 +20,7 @@ foreach my $obj (@a) {
 if ($ARGV[0] eq "HEADERS") { print "testprof/tomcrypt_test.h"; }
 
 print "\n\n";
+
+# $Source: /cvs/libtom/libtomcrypt/parsenames.pl,v $   
+# $Revision: 1.3 $   
+# $Date: 2005/05/05 14:49:27 $ 
diff --git a/run.sh b/run.sh
new file mode 100644
index 00000000..b652110f
--- /dev/null
+++ b/run.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+bash build.sh " $1" "$2 -O2" "$3 IGNORE_SPEED=1"
+if [ -a testok.txt ] && [ -f testok.txt ]; then
+   echo
+else
+	echo
+	echo "Test failed"
+	exit 1
+fi
+
+rm -f testok.txt
+bash build.sh " $1" "$2 -Os" " $3 IGNORE_SPEED=1 LTC_SMALL=1"
+if [ -a testok.txt ] && [ -f testok.txt ]; then
+   echo
+else
+	echo
+	echo "Test failed"
+	exit 1
+fi
+
+rm -f testok.txt
+bash build.sh " $1" " $2" " $3"
+if [ -a testok.txt ] && [ -f testok.txt ]; then
+   echo
+else
+	echo
+	echo "Test failed"
+	exit 1
+fi
+
+exit 0
+
+# $Source: /cvs/libtom/libtomcrypt/run.sh,v $   
+# $Revision: 1.13 $   
+# $Date: 2005/05/11 18:59:53 $ 
diff --git a/src/ciphers/aes/aes.c b/src/ciphers/aes/aes.c
index e698efd7..8c95215c 100644
--- a/src/ciphers/aes/aes.c
+++ b/src/ciphers/aes/aes.c
@@ -127,7 +127,7 @@ int SETUP(const unsigned char *key, int keylen, int num_rounds, symmetric_key *s
 #endif    
     LTC_ARGCHK(key  != NULL);
     LTC_ARGCHK(skey != NULL);
-    
+  
     if (keylen != 16 && keylen != 24 && keylen != 32) {
        return CRYPT_INVALID_KEYSIZE;
     }
@@ -747,3 +747,7 @@ int ECB_KS(int *keysize)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/aes/aes.c,v $ */
+/* $Revision: 1.8 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/ciphers/aes/aes_tab.c b/src/ciphers/aes/aes_tab.c
index 0ad1dfe0..31d276e9 100644
--- a/src/ciphers/aes/aes_tab.c
+++ b/src/ciphers/aes/aes_tab.c
@@ -1018,3 +1018,7 @@ static const ulong32 rcon[] = {
     0x10000000UL, 0x20000000UL, 0x40000000UL, 0x80000000UL,
     0x1B000000UL, 0x36000000UL, /* for 128-bit blocks, Rijndael never uses more than 10 rcon values */
 };
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/aes/aes_tab.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/ciphers/anubis.c b/src/ciphers/anubis.c
index 7e2af60b..511eac2a 100644
--- a/src/ciphers/anubis.c
+++ b/src/ciphers/anubis.c
@@ -1548,3 +1548,7 @@ int anubis_keysize(int *keysize)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/anubis.c,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/ciphers/blowfish.c b/src/ciphers/blowfish.c
index 2f0385d4..35029835 100644
--- a/src/ciphers/blowfish.c
+++ b/src/ciphers/blowfish.c
@@ -581,3 +581,7 @@ int blowfish_keysize(int *keysize)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/blowfish.c,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/ciphers/cast5.c b/src/ciphers/cast5.c
index 2b8e4a56..f4b045c5 100644
--- a/src/ciphers/cast5.c
+++ b/src/ciphers/cast5.c
@@ -709,3 +709,7 @@ int cast5_keysize(int *keysize)
 } 
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/cast5.c,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/ciphers/des.c b/src/ciphers/des.c
index d42c5faa..9c5b59b0 100644
--- a/src/ciphers/des.c
+++ b/src/ciphers/des.c
@@ -1888,3 +1888,7 @@ int des3_keysize(int *keysize)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/des.c,v $ */
+/* $Revision: 1.8 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/ciphers/khazad.c b/src/ciphers/khazad.c
index 46269237..d07134ce 100644
--- a/src/ciphers/khazad.c
+++ b/src/ciphers/khazad.c
@@ -845,3 +845,7 @@ int khazad_keysize(int *keysize)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/khazad.c,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/ciphers/noekeon.c b/src/ciphers/noekeon.c
index 194cdbe6..e502dfe5 100644
--- a/src/ciphers/noekeon.c
+++ b/src/ciphers/noekeon.c
@@ -290,3 +290,7 @@ int noekeon_keysize(int *keysize)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/noekeon.c,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/ciphers/rc2.c b/src/ciphers/rc2.c
index 6382941b..e91f83a2 100644
--- a/src/ciphers/rc2.c
+++ b/src/ciphers/rc2.c
@@ -348,3 +348,7 @@ int rc2_keysize(int *keysize)
 
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/rc2.c,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/ciphers/rc5.c b/src/ciphers/rc5.c
index 32f666fe..9465ac86 100644
--- a/src/ciphers/rc5.c
+++ b/src/ciphers/rc5.c
@@ -308,3 +308,7 @@ int rc5_keysize(int *keysize)
 
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/rc5.c,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/ciphers/rc6.c b/src/ciphers/rc6.c
index 996c0153..ae6f1143 100644
--- a/src/ciphers/rc6.c
+++ b/src/ciphers/rc6.c
@@ -337,3 +337,7 @@ int rc6_keysize(int *keysize)
 #endif /*RC6*/
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/rc6.c,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/ciphers/safer/safer.c b/src/ciphers/safer/safer.c
index e6e073ad..bad00a04 100644
--- a/src/ciphers/safer/safer.c
+++ b/src/ciphers/safer/safer.c
@@ -481,3 +481,7 @@ int safer_sk128_test(void)
 
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/safer/safer.c,v $ */
+/* $Revision: 1.8 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/ciphers/safer/safer_tab.c b/src/ciphers/safer/safer_tab.c
index f63ba6cf..47fbd1c1 100644
--- a/src/ciphers/safer/safer_tab.c
+++ b/src/ciphers/safer/safer_tab.c
@@ -62,3 +62,7 @@ const unsigned char safer_lbox[256] = {
 #endif
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/safer/safer_tab.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/ciphers/safer/saferp.c b/src/ciphers/safer/saferp.c
index 17112f43..6d0d5893 100644
--- a/src/ciphers/safer/saferp.c
+++ b/src/ciphers/safer/saferp.c
@@ -549,3 +549,7 @@ int saferp_keysize(int *keysize)
 #endif
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/safer/saferp.c,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/ciphers/skipjack.c b/src/ciphers/skipjack.c
index e2431afb..4cb3bf26 100644
--- a/src/ciphers/skipjack.c
+++ b/src/ciphers/skipjack.c
@@ -329,3 +329,7 @@ int skipjack_keysize(int *keysize)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/skipjack.c,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/ciphers/twofish/twofish.c b/src/ciphers/twofish/twofish.c
index 7dbe9b75..61aa9502 100644
--- a/src/ciphers/twofish/twofish.c
+++ b/src/ciphers/twofish/twofish.c
@@ -576,7 +576,7 @@ void twofish_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_k
         b = RORc(b ^ (t2 + t1 + k[3]), 1);
 
         t2 = g1_func(b, skey);
-        t1 = g_func(a, key) + t2;
+        t1 = g_func(a, skey) + t2;
         c = ROLc(c, 1) ^ (t1 + k[0]);
         d = RORc(d ^ (t2 +  t1 + k[1]), 1);
         k -= 4;
@@ -700,3 +700,7 @@ int twofish_keysize(int *keysize)
 
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/twofish/twofish.c,v $ */
+/* $Revision: 1.8 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/ciphers/twofish/twofish_tab.c b/src/ciphers/twofish/twofish_tab.c
index 0bffade7..47d4717f 100644
--- a/src/ciphers/twofish/twofish_tab.c
+++ b/src/ciphers/twofish/twofish_tab.c
@@ -490,3 +490,7 @@ static const ulong32 rs_tab7[256] = {
 #endif /* TWOFISH_ALL_TABLES */
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/twofish/twofish_tab.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/ciphers/xtea.c b/src/ciphers/xtea.c
index 98546df8..a45a13a9 100644
--- a/src/ciphers/xtea.c
+++ b/src/ciphers/xtea.c
@@ -201,3 +201,7 @@ int xtea_keysize(int *keysize)
 
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/ciphers/xtea.c,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/ccm/ccm_memory.c b/src/encauth/ccm/ccm_memory.c
index 34a254d9..48dc4b72 100644
--- a/src/encauth/ccm/ccm_memory.c
+++ b/src/encauth/ccm/ccm_memory.c
@@ -293,7 +293,6 @@ int ccm_memory(int cipher,
 
 #ifdef LTC_CLEAN_STACK
    zeromem(skey,   sizeof(*skey));
-   zeromem(B,      sizeof(B));
    zeromem(PAD,    sizeof(PAD));
    zeromem(CTRPAD, sizeof(CTRPAD));
 #endif
@@ -304,3 +303,7 @@ int ccm_memory(int cipher,
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/ccm/ccm_memory.c,v $ */
+/* $Revision: 1.9 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/ccm/ccm_test.c b/src/encauth/ccm/ccm_test.c
index ee78523c..c33502a4 100644
--- a/src/encauth/ccm/ccm_test.c
+++ b/src/encauth/ccm/ccm_test.c
@@ -168,3 +168,7 @@ int ccm_test(void)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/ccm/ccm_test.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/eax/eax_addheader.c b/src/encauth/eax/eax_addheader.c
index 30040252..cfb325df 100644
--- a/src/encauth/eax/eax_addheader.c
+++ b/src/encauth/eax/eax_addheader.c
@@ -32,3 +32,7 @@ int eax_addheader(eax_state *eax, const unsigned char *header,
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/eax/eax_addheader.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/eax/eax_decrypt.c b/src/encauth/eax/eax_decrypt.c
index 8711d2d1..13e23cc6 100644
--- a/src/encauth/eax/eax_decrypt.c
+++ b/src/encauth/eax/eax_decrypt.c
@@ -44,3 +44,7 @@ int eax_decrypt(eax_state *eax, const unsigned char *ct, unsigned char *pt,
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/eax/eax_decrypt.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/eax/eax_decrypt_verify_memory.c b/src/encauth/eax/eax_decrypt_verify_memory.c
index 3fcab46b..d6d72ab8 100644
--- a/src/encauth/eax/eax_decrypt_verify_memory.c
+++ b/src/encauth/eax/eax_decrypt_verify_memory.c
@@ -102,3 +102,7 @@ LBL_ERR:
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/eax/eax_decrypt_verify_memory.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/eax/eax_done.c b/src/encauth/eax/eax_done.c
index 1d436517..10e2c231 100644
--- a/src/encauth/eax/eax_done.c
+++ b/src/encauth/eax/eax_done.c
@@ -88,3 +88,7 @@ LBL_ERR:
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/eax/eax_done.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/eax/eax_encrypt.c b/src/encauth/eax/eax_encrypt.c
index da23a8ce..a6465887 100644
--- a/src/encauth/eax/eax_encrypt.c
+++ b/src/encauth/eax/eax_encrypt.c
@@ -45,3 +45,7 @@ int eax_encrypt(eax_state *eax, const unsigned char *pt, unsigned char *ct,
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/eax/eax_encrypt.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/eax/eax_encrypt_authenticate_memory.c b/src/encauth/eax/eax_encrypt_authenticate_memory.c
index 8a601cf8..97606165 100644
--- a/src/encauth/eax/eax_encrypt_authenticate_memory.c
+++ b/src/encauth/eax/eax_encrypt_authenticate_memory.c
@@ -76,3 +76,7 @@ LBL_ERR:
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/eax/eax_encrypt_authenticate_memory.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/eax/eax_init.c b/src/encauth/eax/eax_init.c
index 5a20db04..942b25f4 100644
--- a/src/encauth/eax/eax_init.c
+++ b/src/encauth/eax/eax_init.c
@@ -108,11 +108,9 @@ int eax_init(eax_state *eax, int cipher,
    /* note we don't finish the headeromac, this allows us to add more header later */
 
    /* setup the CTR mode */
-   if ((err = ctr_start(cipher, eax->N, key, keylen, 0, &eax->ctr)) != CRYPT_OK) {
+   if ((err = ctr_start(cipher, eax->N, key, keylen, 0, CTR_COUNTER_BIG_ENDIAN, &eax->ctr)) != CRYPT_OK) {
       goto LBL_ERR; 
    }
-   /* use big-endian counter */
-   eax->ctr.mode = 1;
 
    /* setup the OMAC for the ciphertext */
    if ((err = omac_init(&eax->ctomac, cipher, key, keylen)) != CRYPT_OK) { 
@@ -140,3 +138,7 @@ LBL_ERR:
 }
 
 #endif 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/eax/eax_init.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/eax/eax_test.c b/src/encauth/eax/eax_test.c
index 777dea1a..b08f5ab7 100644
--- a/src/encauth/eax/eax_test.c
+++ b/src/encauth/eax/eax_test.c
@@ -276,3 +276,7 @@ int eax_test(void)
 }
 
 #endif /* EAX_MODE */
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/eax/eax_test.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/gcm/gcm_add_aad.c b/src/encauth/gcm/gcm_add_aad.c
index cdcc0d90..03cb279c 100644
--- a/src/encauth/gcm/gcm_add_aad.c
+++ b/src/encauth/gcm/gcm_add_aad.c
@@ -27,8 +27,11 @@
 int gcm_add_aad(gcm_state *gcm,
                const unsigned char *adata,  unsigned long adatalen)
 {
-   unsigned long x, y;
+   unsigned long x;
    int           err;
+#ifdef LTC_FAST
+   unsigned long y;
+#endif
 
    LTC_ARGCHK(gcm    != NULL);
    if (adatalen > 0) {
@@ -115,3 +118,7 @@ int gcm_add_aad(gcm_state *gcm,
 }
 #endif
    
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/gcm/gcm_add_aad.c,v $ */
+/* $Revision: 1.14 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/gcm/gcm_add_iv.c b/src/encauth/gcm/gcm_add_iv.c
index 7faf4c02..107cf357 100644
--- a/src/encauth/gcm/gcm_add_iv.c
+++ b/src/encauth/gcm/gcm_add_iv.c
@@ -88,3 +88,7 @@ int gcm_add_iv(gcm_state *gcm,
 
 #endif
    
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/gcm/gcm_add_iv.c,v $ */
+/* $Revision: 1.6 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/gcm/gcm_done.c b/src/encauth/gcm/gcm_done.c
index 8b3a6ddd..96ef7f34 100644
--- a/src/encauth/gcm/gcm_done.c
+++ b/src/encauth/gcm/gcm_done.c
@@ -75,3 +75,7 @@ int gcm_done(gcm_state *gcm,
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/gcm/gcm_done.c,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/gcm/gcm_gf_mult.c b/src/encauth/gcm/gcm_gf_mult.c
index a870c910..06db22b6 100644
--- a/src/encauth/gcm/gcm_gf_mult.c
+++ b/src/encauth/gcm/gcm_gf_mult.c
@@ -31,6 +31,7 @@ static void gcm_rightshift(unsigned char *a)
 static const unsigned char mask[] = { 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 };
 static const unsigned char poly[] = { 0x00, 0xE1 };
 
+     
 /**
   GCM GF multiplier (internal use only) 
   @param a   First value
@@ -87,3 +88,7 @@ void gcm_mult_h(gcm_state *gcm, unsigned char *I)
 
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/gcm/gcm_gf_mult.c,v $ */
+/* $Revision: 1.16 $ */
+/* $Date: 2005/05/21 14:33:42 $ */
diff --git a/src/encauth/gcm/gcm_init.c b/src/encauth/gcm/gcm_init.c
index 35a5ab8f..249b61da 100644
--- a/src/encauth/gcm/gcm_init.c
+++ b/src/encauth/gcm/gcm_init.c
@@ -17,6 +17,46 @@
 
 #ifdef GCM_MODE
 
+#ifdef GCM_TABLES
+
+/* this is x*2^128 mod p(x) ... the results are 16 bytes each stored in a packed format.  Since only the 
+ * lower 16 bits are not zero'ed I removed the upper 14 bytes */
+static const unsigned char gcm_shift_table[256*2] = {
+0x00, 0x00, 0x01, 0xc2, 0x03, 0x84, 0x02, 0x46, 0x07, 0x08, 0x06, 0xca, 0x04, 0x8c, 0x05, 0x4e,
+0x0e, 0x10, 0x0f, 0xd2, 0x0d, 0x94, 0x0c, 0x56, 0x09, 0x18, 0x08, 0xda, 0x0a, 0x9c, 0x0b, 0x5e,
+0x1c, 0x20, 0x1d, 0xe2, 0x1f, 0xa4, 0x1e, 0x66, 0x1b, 0x28, 0x1a, 0xea, 0x18, 0xac, 0x19, 0x6e,
+0x12, 0x30, 0x13, 0xf2, 0x11, 0xb4, 0x10, 0x76, 0x15, 0x38, 0x14, 0xfa, 0x16, 0xbc, 0x17, 0x7e,
+0x38, 0x40, 0x39, 0x82, 0x3b, 0xc4, 0x3a, 0x06, 0x3f, 0x48, 0x3e, 0x8a, 0x3c, 0xcc, 0x3d, 0x0e,
+0x36, 0x50, 0x37, 0x92, 0x35, 0xd4, 0x34, 0x16, 0x31, 0x58, 0x30, 0x9a, 0x32, 0xdc, 0x33, 0x1e,
+0x24, 0x60, 0x25, 0xa2, 0x27, 0xe4, 0x26, 0x26, 0x23, 0x68, 0x22, 0xaa, 0x20, 0xec, 0x21, 0x2e,
+0x2a, 0x70, 0x2b, 0xb2, 0x29, 0xf4, 0x28, 0x36, 0x2d, 0x78, 0x2c, 0xba, 0x2e, 0xfc, 0x2f, 0x3e,
+0x70, 0x80, 0x71, 0x42, 0x73, 0x04, 0x72, 0xc6, 0x77, 0x88, 0x76, 0x4a, 0x74, 0x0c, 0x75, 0xce,
+0x7e, 0x90, 0x7f, 0x52, 0x7d, 0x14, 0x7c, 0xd6, 0x79, 0x98, 0x78, 0x5a, 0x7a, 0x1c, 0x7b, 0xde,
+0x6c, 0xa0, 0x6d, 0x62, 0x6f, 0x24, 0x6e, 0xe6, 0x6b, 0xa8, 0x6a, 0x6a, 0x68, 0x2c, 0x69, 0xee,
+0x62, 0xb0, 0x63, 0x72, 0x61, 0x34, 0x60, 0xf6, 0x65, 0xb8, 0x64, 0x7a, 0x66, 0x3c, 0x67, 0xfe,
+0x48, 0xc0, 0x49, 0x02, 0x4b, 0x44, 0x4a, 0x86, 0x4f, 0xc8, 0x4e, 0x0a, 0x4c, 0x4c, 0x4d, 0x8e,
+0x46, 0xd0, 0x47, 0x12, 0x45, 0x54, 0x44, 0x96, 0x41, 0xd8, 0x40, 0x1a, 0x42, 0x5c, 0x43, 0x9e,
+0x54, 0xe0, 0x55, 0x22, 0x57, 0x64, 0x56, 0xa6, 0x53, 0xe8, 0x52, 0x2a, 0x50, 0x6c, 0x51, 0xae,
+0x5a, 0xf0, 0x5b, 0x32, 0x59, 0x74, 0x58, 0xb6, 0x5d, 0xf8, 0x5c, 0x3a, 0x5e, 0x7c, 0x5f, 0xbe,
+0xe1, 0x00, 0xe0, 0xc2, 0xe2, 0x84, 0xe3, 0x46, 0xe6, 0x08, 0xe7, 0xca, 0xe5, 0x8c, 0xe4, 0x4e,
+0xef, 0x10, 0xee, 0xd2, 0xec, 0x94, 0xed, 0x56, 0xe8, 0x18, 0xe9, 0xda, 0xeb, 0x9c, 0xea, 0x5e,
+0xfd, 0x20, 0xfc, 0xe2, 0xfe, 0xa4, 0xff, 0x66, 0xfa, 0x28, 0xfb, 0xea, 0xf9, 0xac, 0xf8, 0x6e,
+0xf3, 0x30, 0xf2, 0xf2, 0xf0, 0xb4, 0xf1, 0x76, 0xf4, 0x38, 0xf5, 0xfa, 0xf7, 0xbc, 0xf6, 0x7e,
+0xd9, 0x40, 0xd8, 0x82, 0xda, 0xc4, 0xdb, 0x06, 0xde, 0x48, 0xdf, 0x8a, 0xdd, 0xcc, 0xdc, 0x0e,
+0xd7, 0x50, 0xd6, 0x92, 0xd4, 0xd4, 0xd5, 0x16, 0xd0, 0x58, 0xd1, 0x9a, 0xd3, 0xdc, 0xd2, 0x1e,
+0xc5, 0x60, 0xc4, 0xa2, 0xc6, 0xe4, 0xc7, 0x26, 0xc2, 0x68, 0xc3, 0xaa, 0xc1, 0xec, 0xc0, 0x2e,
+0xcb, 0x70, 0xca, 0xb2, 0xc8, 0xf4, 0xc9, 0x36, 0xcc, 0x78, 0xcd, 0xba, 0xcf, 0xfc, 0xce, 0x3e,
+0x91, 0x80, 0x90, 0x42, 0x92, 0x04, 0x93, 0xc6, 0x96, 0x88, 0x97, 0x4a, 0x95, 0x0c, 0x94, 0xce,
+0x9f, 0x90, 0x9e, 0x52, 0x9c, 0x14, 0x9d, 0xd6, 0x98, 0x98, 0x99, 0x5a, 0x9b, 0x1c, 0x9a, 0xde,
+0x8d, 0xa0, 0x8c, 0x62, 0x8e, 0x24, 0x8f, 0xe6, 0x8a, 0xa8, 0x8b, 0x6a, 0x89, 0x2c, 0x88, 0xee,
+0x83, 0xb0, 0x82, 0x72, 0x80, 0x34, 0x81, 0xf6, 0x84, 0xb8, 0x85, 0x7a, 0x87, 0x3c, 0x86, 0xfe,
+0xa9, 0xc0, 0xa8, 0x02, 0xaa, 0x44, 0xab, 0x86, 0xae, 0xc8, 0xaf, 0x0a, 0xad, 0x4c, 0xac, 0x8e,
+0xa7, 0xd0, 0xa6, 0x12, 0xa4, 0x54, 0xa5, 0x96, 0xa0, 0xd8, 0xa1, 0x1a, 0xa3, 0x5c, 0xa2, 0x9e,
+0xb5, 0xe0, 0xb4, 0x22, 0xb6, 0x64, 0xb7, 0xa6, 0xb2, 0xe8, 0xb3, 0x2a, 0xb1, 0x6c, 0xb0, 0xae,
+0xbb, 0xf0, 0xba, 0x32, 0xb8, 0x74, 0xb9, 0xb6, 0xbc, 0xf8, 0xbd, 0x3a, 0xbf, 0x7c, 0xbe, 0xbe };
+
+#endif
+
 /**
   Initialize a GCM state
   @param gcm     The GCM state to initialize
@@ -31,7 +71,7 @@ int gcm_init(gcm_state *gcm, int cipher,
    int           err;
    unsigned char B[16];
 #ifdef GCM_TABLES
-   int           x, y;
+   int           x, y, z, t;
 #endif
 
    LTC_ARGCHK(gcm != NULL);
@@ -72,17 +112,34 @@ int gcm_init(gcm_state *gcm, int cipher,
 
 #ifdef GCM_TABLES
    /* setup tables */
+
+   /* generate the first table as it has no shifting (from which we make the other tables) */
    zeromem(B, 16);
-   for (x = 0; x < 16; x++) {
-       for (y = 0; y < 256; y++) {
-            B[x] = y;
-            gcm_gf_mult(gcm->H, B, &gcm->PC[x][y][0]);
-       }
-       B[x] = 0;
+   for (y = 0; y < 256; y++) {
+        B[0] = y;
+        gcm_gf_mult(gcm->H, B, &gcm->PC[0][y][0]);
    }
+
+   /* now generate the rest of the tables based the previous table */
+   for (x = 1; x < 16; x++) {
+      for (y = 0; y < 256; y++) {
+         /* now shift it right by 8 bits */
+         t = gcm->PC[x-1][y][15];
+         for (z = 15; z > 0; z--) {
+             gcm->PC[x][y][z] = gcm->PC[x-1][y][z-1];
+         }
+         gcm->PC[x][y][0] = gcm_shift_table[t<<1];
+         gcm->PC[x][y][1] ^= gcm_shift_table[(t<<1)+1];
+     }
+  }
+
 #endif
 
    return CRYPT_OK;
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/gcm/gcm_init.c,v $ */
+/* $Revision: 1.15 $ */
+/* $Date: 2005/05/21 15:05:19 $ */
diff --git a/src/encauth/gcm/gcm_memory.c b/src/encauth/gcm/gcm_memory.c
index e062413d..ee10d3f5 100644
--- a/src/encauth/gcm/gcm_memory.c
+++ b/src/encauth/gcm/gcm_memory.c
@@ -87,3 +87,7 @@ LTC_ERR:
 }
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/gcm/gcm_memory.c,v $ */
+/* $Revision: 1.19 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/gcm/gcm_process.c b/src/encauth/gcm/gcm_process.c
index 577967bb..f512e283 100644
--- a/src/encauth/gcm/gcm_process.c
+++ b/src/encauth/gcm/gcm_process.c
@@ -141,3 +141,7 @@ int gcm_process(gcm_state *gcm,
 
 #endif
    
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/gcm/gcm_process.c,v $ */
+/* $Revision: 1.8 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/gcm/gcm_reset.c b/src/encauth/gcm/gcm_reset.c
index e73bf66c..b336a929 100644
--- a/src/encauth/gcm/gcm_reset.c
+++ b/src/encauth/gcm/gcm_reset.c
@@ -38,3 +38,7 @@ int gcm_reset(gcm_state *gcm)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/gcm/gcm_reset.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/gcm/gcm_test.c b/src/encauth/gcm/gcm_test.c
index bc6ad7e3..7106188b 100644
--- a/src/encauth/gcm/gcm_test.c
+++ b/src/encauth/gcm/gcm_test.c
@@ -281,7 +281,6 @@ int gcm_test(void)
 };
    int           idx, err;
    unsigned long x, y;
-   gcm_state     gcm;
    unsigned char out[2][64], T[2][16];
 
    /* find aes */
@@ -363,3 +362,7 @@ int gcm_test(void)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/gcm/gcm_test.c,v $ */
+/* $Revision: 1.15 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/ocb/ocb_decrypt.c b/src/encauth/ocb/ocb_decrypt.c
index d3bf4802..a0f27548 100644
--- a/src/encauth/ocb/ocb_decrypt.c
+++ b/src/encauth/ocb/ocb_decrypt.c
@@ -71,3 +71,7 @@ int ocb_decrypt(ocb_state *ocb, const unsigned char *ct, unsigned char *pt)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/ocb/ocb_decrypt.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/ocb/ocb_decrypt_verify_memory.c b/src/encauth/ocb/ocb_decrypt_verify_memory.c
index 378a8af4..0173eff1 100644
--- a/src/encauth/ocb/ocb_decrypt_verify_memory.c
+++ b/src/encauth/ocb/ocb_decrypt_verify_memory.c
@@ -80,3 +80,7 @@ LBL_ERR:
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/ocb/ocb_decrypt_verify_memory.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/ocb/ocb_done_decrypt.c b/src/encauth/ocb/ocb_done_decrypt.c
index 9f8b1b9f..fb149bdd 100644
--- a/src/encauth/ocb/ocb_done_decrypt.c
+++ b/src/encauth/ocb/ocb_done_decrypt.c
@@ -74,3 +74,7 @@ LBL_ERR:
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/ocb/ocb_done_decrypt.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/ocb/ocb_done_encrypt.c b/src/encauth/ocb/ocb_done_encrypt.c
index 1a075691..27126e74 100644
--- a/src/encauth/ocb/ocb_done_encrypt.c
+++ b/src/encauth/ocb/ocb_done_encrypt.c
@@ -40,3 +40,7 @@ int ocb_done_encrypt(ocb_state *ocb, const unsigned char *pt, unsigned long ptle
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/ocb/ocb_done_encrypt.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/ocb/ocb_encrypt.c b/src/encauth/ocb/ocb_encrypt.c
index ba39c60f..2a48551d 100644
--- a/src/encauth/ocb/ocb_encrypt.c
+++ b/src/encauth/ocb/ocb_encrypt.c
@@ -64,3 +64,7 @@ int ocb_encrypt(ocb_state *ocb, const unsigned char *pt, unsigned char *ct)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/ocb/ocb_encrypt.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/ocb/ocb_encrypt_authenticate_memory.c b/src/encauth/ocb/ocb_encrypt_authenticate_memory.c
index bcc9cfbc..beb72c8d 100644
--- a/src/encauth/ocb/ocb_encrypt_authenticate_memory.c
+++ b/src/encauth/ocb/ocb_encrypt_authenticate_memory.c
@@ -78,3 +78,7 @@ LBL_ERR:
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/ocb/ocb_encrypt_authenticate_memory.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/ocb/ocb_init.c b/src/encauth/ocb/ocb_init.c
index 57e04afc..9266d5c4 100644
--- a/src/encauth/ocb/ocb_init.c
+++ b/src/encauth/ocb/ocb_init.c
@@ -127,3 +127,7 @@ int ocb_init(ocb_state *ocb, int cipher,
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/ocb/ocb_init.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/ocb/ocb_ntz.c b/src/encauth/ocb/ocb_ntz.c
index 4ffe7e8a..9b83c53c 100644
--- a/src/encauth/ocb/ocb_ntz.c
+++ b/src/encauth/ocb/ocb_ntz.c
@@ -36,3 +36,7 @@ int ocb_ntz(unsigned long x)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/ocb/ocb_ntz.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/ocb/ocb_shift_xor.c b/src/encauth/ocb/ocb_shift_xor.c
index b63b0227..b03de4b8 100644
--- a/src/encauth/ocb/ocb_shift_xor.c
+++ b/src/encauth/ocb/ocb_shift_xor.c
@@ -33,3 +33,7 @@ void ocb_shift_xor(ocb_state *ocb, unsigned char *Z)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/ocb/ocb_shift_xor.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/ocb/ocb_test.c b/src/encauth/ocb/ocb_test.c
index d6cb14b4..7a7fc771 100644
--- a/src/encauth/ocb/ocb_test.c
+++ b/src/encauth/ocb/ocb_test.c
@@ -231,3 +231,7 @@ int ocb_test(void)
    -- hard to stream [you can't emit ciphertext until full block]
    -- The setup is somewhat complicated...
 */
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/ocb/ocb_test.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/encauth/ocb/s_ocb_done.c b/src/encauth/ocb/s_ocb_done.c
index 6f6e63dd..7399b54f 100644
--- a/src/encauth/ocb/s_ocb_done.c
+++ b/src/encauth/ocb/s_ocb_done.c
@@ -138,3 +138,7 @@ int s_ocb_done(ocb_state *ocb, const unsigned char *pt, unsigned long ptlen,
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/encauth/ocb/s_ocb_done.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/hashes/chc/chc.c b/src/hashes/chc/chc.c
index 67dd0902..4ff39f0b 100644
--- a/src/hashes/chc/chc.c
+++ b/src/hashes/chc/chc.c
@@ -291,3 +291,7 @@ int chc_test(void)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/chc/chc.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/hashes/helper/hash_file.c b/src/hashes/helper/hash_file.c
index 78c290a3..50f726ab 100644
--- a/src/hashes/helper/hash_file.c
+++ b/src/hashes/helper/hash_file.c
@@ -51,3 +51,7 @@ int hash_file(int hash, const char *fname, unsigned char *out, unsigned long *ou
 #endif
 }
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/helper/hash_file.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/hashes/helper/hash_filehandle.c b/src/hashes/helper/hash_filehandle.c
index c02c5a78..201ef837 100644
--- a/src/hashes/helper/hash_filehandle.c
+++ b/src/hashes/helper/hash_filehandle.c
@@ -64,3 +64,7 @@ int hash_filehandle(int hash, FILE *in, unsigned char *out, unsigned long *outle
 #endif
 }
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/helper/hash_filehandle.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/hashes/helper/hash_memory.c b/src/hashes/helper/hash_memory.c
index 9786948f..7e849b45 100644
--- a/src/hashes/helper/hash_memory.c
+++ b/src/hashes/helper/hash_memory.c
@@ -62,3 +62,7 @@ LBL_ERR:
 
     return err;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/helper/hash_memory.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/hashes/helper/hash_memory_multi.c b/src/hashes/helper/hash_memory_multi.c
index ce22283f..8fcb8e92 100644
--- a/src/hashes/helper/hash_memory_multi.c
+++ b/src/hashes/helper/hash_memory_multi.c
@@ -80,3 +80,7 @@ LBL_ERR:
     va_end(args);
     return err;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/helper/hash_memory_multi.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/hashes/md2.c b/src/hashes/md2.c
index 5381771f..db60fbde 100644
--- a/src/hashes/md2.c
+++ b/src/hashes/md2.c
@@ -24,11 +24,9 @@ const struct ltc_hash_descriptor md2_desc =
     16,
     16,
 
-    /* DER encoding */
-    { 0x30, 0x20, 0x30, 0x0C, 0x06, 0x08, 0x2A, 0x86, 
-      0x48, 0x86, 0xF7, 0x0D, 0x02, 0x02, 0x05, 0x00, 
-      0x04, 0x10 },
-    18,
+    /* OID */
+   { 1, 2, 840, 113549, 2, 2,  },
+   6,
 
     &md2_init,
     &md2_process,
@@ -246,3 +244,7 @@ int md2_test(void)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/md2.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/23 02:42:07 $ */
diff --git a/src/hashes/md4.c b/src/hashes/md4.c
index 477f5b08..17ef35ea 100644
--- a/src/hashes/md4.c
+++ b/src/hashes/md4.c
@@ -24,9 +24,9 @@ const struct ltc_hash_descriptor md4_desc =
     16,
     64,
  
-    /* DER encoding (not yet supported) */
-    { 0x00 },
-    0,    
+    /* OID */
+   { 1, 2, 840, 113549, 2, 4,  },
+   6,
 
     &md4_init,
     &md4_process,
@@ -300,3 +300,7 @@ int md4_test(void)
 #endif
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/md4.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/23 02:42:07 $ */
diff --git a/src/hashes/md5.c b/src/hashes/md5.c
index e2e5c741..fb8ff31f 100644
--- a/src/hashes/md5.c
+++ b/src/hashes/md5.c
@@ -25,11 +25,9 @@ const struct ltc_hash_descriptor md5_desc =
     16,
     64,
 
-    /* DER identifier */
-    { 0x30, 0x20, 0x30, 0x0C, 0x06, 0x08, 0x2A, 0x86, 
-      0x48, 0x86, 0xF7, 0x0D, 0x02, 0x05, 0x05, 0x00, 
-      0x04, 0x10 },
-    18,
+    /* OID */
+   { 1, 2, 840, 113549, 2, 5,  },
+   6,
 
     &md5_init,
     &md5_process,
@@ -363,3 +361,7 @@ int  md5_test(void)
 #endif
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/md5.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/23 02:42:07 $ */
diff --git a/src/hashes/rmd128.c b/src/hashes/rmd128.c
index 1c304a1c..1c663e46 100644
--- a/src/hashes/rmd128.c
+++ b/src/hashes/rmd128.c
@@ -30,9 +30,9 @@ const struct ltc_hash_descriptor rmd128_desc =
     16,
     64,
 
-    /* DER identifier (not supported) */
-    { 0x00 },
-    0,
+    /* OID */
+   { 1, 0, 10118, 3, 0, 50 },
+   6,
 
     &rmd128_init,
     &rmd128_process,
@@ -403,3 +403,7 @@ int rmd128_test(void)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/rmd128.c,v $ */
+/* $Revision: 1.6 $ */
+/* $Date: 2005/05/23 02:42:07 $ */
diff --git a/src/hashes/rmd160.c b/src/hashes/rmd160.c
index a6171529..6124f592 100644
--- a/src/hashes/rmd160.c
+++ b/src/hashes/rmd160.c
@@ -30,10 +30,9 @@ const struct ltc_hash_descriptor rmd160_desc =
     20,
     64,
 
-    /* DER identifier */
-    { 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x24, 
-      0x03, 0x02, 0x01, 0x05, 0x00, 0x04, 0x14 },
-    15,
+    /* OID */
+   { 1, 3, 36, 3, 2, 1,  },
+   6,
 
     &rmd160_init,
     &rmd160_process,
@@ -463,3 +462,7 @@ int rmd160_test(void)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/rmd160.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/23 02:42:07 $ */
diff --git a/src/hashes/sha1.c b/src/hashes/sha1.c
index 267729bc..a75d04d9 100644
--- a/src/hashes/sha1.c
+++ b/src/hashes/sha1.c
@@ -25,10 +25,9 @@ const struct ltc_hash_descriptor sha1_desc =
     20,
     64,
 
-    /* DER identifier */
-    { 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 
-      0x03, 0x02, 0x1A, 0x05, 0x00, 0x04, 0x14 },
-    15,
+    /* OID */
+   { 1, 3, 14, 3, 2, 26,  },
+   6,
 
     &sha1_init,
     &sha1_process,
@@ -282,3 +281,7 @@ int  sha1_test(void)
 #endif
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/sha1.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/23 02:42:07 $ */
diff --git a/src/hashes/sha2/sha224.c b/src/hashes/sha2/sha224.c
index 8c0dcde4..bff2fdf6 100644
--- a/src/hashes/sha2/sha224.c
+++ b/src/hashes/sha2/sha224.c
@@ -20,9 +20,9 @@ const struct ltc_hash_descriptor sha224_desc =
     28,
     64,
 
-    /* DER identifier (not supported) */
-    { 0x00 },
-    0,
+    /* OID */
+   { 2, 16, 840, 1, 101, 3, 4, 2, 4,  },
+   9,
 
     &sha224_init,
     &sha256_process,
@@ -118,3 +118,7 @@ int  sha224_test(void)
  #endif
 }
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/sha2/sha224.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/23 02:42:07 $ */
diff --git a/src/hashes/sha2/sha256.c b/src/hashes/sha2/sha256.c
index 85eba2a3..c48c0f69 100644
--- a/src/hashes/sha2/sha256.c
+++ b/src/hashes/sha2/sha256.c
@@ -24,11 +24,9 @@ const struct ltc_hash_descriptor sha256_desc =
     32,
     64,
 
-    /* DER identifier */
-    { 0x30, 0x31, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 
-      0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 
-      0x00, 0x04, 0x20 },
-    19,
+    /* OID */
+   { 2, 16, 840, 1, 101, 3, 4, 2, 1,  },
+   9,
     
     &sha256_init,
     &sha256_process,
@@ -335,3 +333,7 @@ int  sha256_test(void)
 #endif
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/sha2/sha256.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/23 02:42:07 $ */
diff --git a/src/hashes/sha2/sha384.c b/src/hashes/sha2/sha384.c
index 912145c3..43f8fb61 100644
--- a/src/hashes/sha2/sha384.c
+++ b/src/hashes/sha2/sha384.c
@@ -20,11 +20,9 @@ const struct ltc_hash_descriptor sha384_desc =
     48,
     128,
 
-    /* DER identifier */
-    { 0x30, 0x41, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 
-      0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05, 
-      0x00, 0x04, 0x30 },
-    19,
+    /* OID */
+   { 2, 16, 840, 1, 101, 3, 4, 2, 2,  },
+   9,
 
     &sha384_init,
     &sha512_process,
@@ -130,3 +128,7 @@ int  sha384_test(void)
 
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/sha2/sha384.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/23 02:42:07 $ */
diff --git a/src/hashes/sha2/sha512.c b/src/hashes/sha2/sha512.c
index 3238f2b0..7b6805ba 100644
--- a/src/hashes/sha2/sha512.c
+++ b/src/hashes/sha2/sha512.c
@@ -24,11 +24,9 @@ const struct ltc_hash_descriptor sha512_desc =
     64,
     128,
 
-    /* DER identifier */
-    { 0x30, 0x51, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 
-      0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05, 
-      0x00, 0x04, 0x40 },
-    19,
+    /* OID */
+   { 2, 16, 840, 1, 101, 3, 4, 2, 3,  },
+   9,
 
     &sha512_init,
     &sha512_process,
@@ -314,3 +312,7 @@ int  sha512_test(void)
 
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/sha2/sha512.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/23 02:42:07 $ */
diff --git a/src/hashes/tiger.c b/src/hashes/tiger.c
index a1cd8883..250c1860 100644
--- a/src/hashes/tiger.c
+++ b/src/hashes/tiger.c
@@ -25,11 +25,9 @@ const struct ltc_hash_descriptor tiger_desc =
     24,
     64,
 
-    /* DER identifier */
-    { 0x30, 0x29, 0x30, 0x0D, 0x06, 0x09, 0x2B, 0x06, 
-      0x01, 0x04, 0x01, 0xDA, 0x47, 0x0C, 0x02, 0x05, 
-      0x00, 0x04, 0x18 },
-    19,
+    /* OID */
+   { 1, 3, 6, 1, 4, 1, 11591, 12, 2,  },
+   9,
 
     &tiger_init,
     &tiger_process,
@@ -809,3 +807,7 @@ Hash of "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-ABCDEFG
 
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/tiger.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/23 02:42:07 $ */
diff --git a/src/hashes/whirl/whirl.c b/src/hashes/whirl/whirl.c
index ff0b4367..1bd7983b 100644
--- a/src/hashes/whirl/whirl.c
+++ b/src/hashes/whirl/whirl.c
@@ -25,9 +25,9 @@ const struct ltc_hash_descriptor whirlpool_desc =
     64,
     64,
 
-    /* DER encoding (not yet supported) */
-    { 0x00 },
-    0,
+   /* OID */
+   { 1, 0, 10118, 3, 0, 55 },
+   6,
 
     &whirlpool_init,
     &whirlpool_process,
@@ -307,3 +307,7 @@ int  whirlpool_test(void)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/whirl/whirl.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/23 02:42:07 $ */
diff --git a/src/hashes/whirl/whirltab.c b/src/hashes/whirl/whirltab.c
index fb99bea8..c83d0b2f 100644
--- a/src/hashes/whirl/whirltab.c
+++ b/src/hashes/whirl/whirltab.c
@@ -577,3 +577,7 @@ CONST64(0xca2dbf07ad5a8333),
 CONST64(0x6302aa71c81949d9),
 };
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/hashes/whirl/whirltab.c,v $ */
+/* $Revision: 1.2 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/headers/ltc_tommath.h b/src/headers/ltc_tommath.h
index 05212e51..2d62b4e9 100644
--- a/src/headers/ltc_tommath.h
+++ b/src/headers/ltc_tommath.h
@@ -575,3 +575,7 @@ extern const char *mp_s_rmap;
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/headers/ltc_tommath.h,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/headers/tomcrypt.h b/src/headers/tomcrypt.h
index 0d34c745..8369c74d 100644
--- a/src/headers/tomcrypt.h
+++ b/src/headers/tomcrypt.h
@@ -16,8 +16,8 @@ extern "C" {
 #endif
 
 /* version */
-#define CRYPT   0x0102
-#define SCRYPT  "1.02"
+#define CRYPT   0x0105
+#define SCRYPT  "1.05"
 
 /* max size of either a cipher/hash block or symmetric key [largest of the two] */
 #define MAXBLOCKSIZE  128
@@ -79,3 +79,7 @@ enum {
 
 #endif /* TOMCRYPT_H_ */
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt.h,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/06/19 18:03:25 $ */
diff --git a/src/headers/tomcrypt_argchk.h b/src/headers/tomcrypt_argchk.h
index 5c8759db..ef344ee5 100644
--- a/src/headers/tomcrypt_argchk.h
+++ b/src/headers/tomcrypt_argchk.h
@@ -19,3 +19,7 @@ void crypt_argchk(char *v, char *s, int d);
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt_argchk.h,v $ */
+/* $Revision: 1.2 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/headers/tomcrypt_cfg.h b/src/headers/tomcrypt_cfg.h
index a0022d13..1d5bc6c1 100644
--- a/src/headers/tomcrypt_cfg.h
+++ b/src/headers/tomcrypt_cfg.h
@@ -106,3 +106,7 @@ int   XMEMCMP(const void *s1, const void *s2, size_t n);
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt_cfg.h,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/headers/tomcrypt_cipher.h b/src/headers/tomcrypt_cipher.h
index af184c28..4f003022 100644
--- a/src/headers/tomcrypt_cipher.h
+++ b/src/headers/tomcrypt_cipher.h
@@ -32,7 +32,7 @@ struct saferp_key {
 
 #ifdef RIJNDAEL
 struct rijndael_key {
-   ulong32 eK[64], dK[64];
+   ulong32 eK[60], dK[60];
    int Nr;
 };
 #endif
@@ -599,8 +599,15 @@ int cbc_done(symmetric_CBC *cbc);
 #endif
 
 #ifdef CTR
-int ctr_start(int cipher, const unsigned char *IV, const unsigned char *key, 
-              int keylen, int num_rounds, symmetric_CTR *ctr);
+
+#define CTR_COUNTER_LITTLE_ENDIAN    0
+#define CTR_COUNTER_BIG_ENDIAN       1
+
+int ctr_start(               int   cipher,
+              const unsigned char *IV,
+              const unsigned char *key,       int keylen,
+                             int  num_rounds, int ctr_mode,
+                   symmetric_CTR *ctr);
 int ctr_encrypt(const unsigned char *pt, unsigned char *ct, unsigned long len, symmetric_CTR *ctr);
 int ctr_decrypt(const unsigned char *ct, unsigned char *pt, unsigned long len, symmetric_CTR *ctr);
 int ctr_getiv(unsigned char *IV, unsigned long *len, symmetric_CTR *ctr);
@@ -611,9 +618,12 @@ int ctr_done(symmetric_CTR *ctr);
 int find_cipher(const char *name);
 int find_cipher_any(const char *name, int blocklen, int keylen);
 int find_cipher_id(unsigned char ID);
-
 int register_cipher(const struct ltc_cipher_descriptor *cipher);
 int unregister_cipher(const struct ltc_cipher_descriptor *cipher);
-
 int cipher_is_valid(int idx);
 
+LTC_MUTEX_PROTO(ltc_cipher_mutex);
+
+/* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt_cipher.h,v $ */
+/* $Revision: 1.16 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/headers/tomcrypt_custom.h b/src/headers/tomcrypt_custom.h
index d786f0bf..db900480 100644
--- a/src/headers/tomcrypt_custom.h
+++ b/src/headers/tomcrypt_custom.h
@@ -1,6 +1,3 @@
-/* This header is meant to be included before mycrypt.h in projects where
- * you don't want to throw all the defines in a makefile. 
- */
 #ifndef TOMCRYPT_CUSTOM_H_
 #define TOMCRYPT_CUSTOM_H_
 
@@ -20,7 +17,9 @@
 /* #define LTC_SMALL_CODE */
 
 /* Enable self-test test vector checking */
-#define LTC_TEST
+#ifndef LTC_NO_TEST
+   #define LTC_TEST
+#endif
 
 /* clean the stack of functions which put private information on stack */
 /* #define LTC_CLEAN_STACK */
@@ -38,6 +37,8 @@
 /* #define LTC_NO_BSWAP */
 
 /* ---> Symmetric Block Ciphers <--- */
+#ifndef LTC_NO_CIPHERS
+
 #define BLOWFISH
 #define RC2
 #define RC5
@@ -48,8 +49,12 @@
 /* _TABLES tells it to use tables during setup, _SMALL means to use the smaller scheduled key format
  * (saves 4KB of ram), _ALL_TABLES enables all tables during setup */
 #define TWOFISH
-#define TWOFISH_TABLES
-/* #define TWOFISH_ALL_TABLES */
+#ifndef LTC_NO_TABLES
+   #define TWOFISH_TABLES
+   /* #define TWOFISH_ALL_TABLES */
+#else
+   #define TWOFISH_SMALL
+#endif
 /* #define TWOFISH_SMALL */
 /* DES includes EDE triple-DES */
 #define DES
@@ -61,15 +66,23 @@
 #define ANUBIS
 #define ANUBIS_TWEAK
 
+#endif /* LTC_NO_CIPHERS */
+
 
 /* ---> Block Cipher Modes of Operation <--- */
+#ifndef LTC_NO_MODES
+
 #define CFB
 #define OFB
 #define ECB
 #define CBC
 #define CTR
 
+#endif /* LTC_NO_MODES */
+
 /* ---> One-Way Hash Functions <--- */
+#ifndef LTC_NO_HASHES 
+
 #define CHC_HASH
 #define WHIRLPOOL
 #define SHA512
@@ -84,7 +97,11 @@
 #define RIPEMD128
 #define RIPEMD160
 
+#endif /* LTC_NO_HASHES */
+
 /* ---> MAC functions <--- */
+#ifndef LTC_NO_MACS
+
 #define HMAC
 #define OMAC
 #define PMAC
@@ -95,6 +112,7 @@
 #endif
 
 /* ---> Encrypt + Authenticate Modes <--- */
+
 #define EAX_MODE
 #if defined(EAX_MODE) && !(defined(CTR) && defined(OMAC))
    #error EAX_MODE requires CTR and OMAC mode
@@ -104,13 +122,20 @@
 #define CCM_MODE
 
 #define GCM_MODE
+
 /* Use 64KiB tables */
-#define GCM_TABLES 
+#ifndef LTC_NO_TABLES
+   #define GCM_TABLES 
+#endif
+
+#endif /* LTC_NO_MACS */
 
 /* Various tidbits of modern neatoness */
 #define BASE64
 
 /* --> Pseudo Random Number Generators <--- */
+#ifndef LTC_NO_PRNGS
+
 /* Yarrow */
 #define YARROW
 /* which descriptor of AES to use?  */
@@ -142,7 +167,11 @@
 /* try /dev/urandom before trying /dev/random */
 #define TRY_URANDOM_FIRST
 
+#endif /* LTC_NO_PRNGS */
+
 /* ---> Public Key Crypto <--- */
+#ifndef LTC_NO_PK
+
 #define MRSA
 
 /* Digital Signature Algorithm */
@@ -168,7 +197,6 @@
 /* ECC */
 #define MECC
 /* Supported Key Sizes */
-#define ECC160
 #define ECC192
 #define ECC224
 #define ECC256
@@ -178,7 +206,11 @@
 /* Include the MPI functionality?  (required by the PK algorithms) */
 #define MPI
 
+#endif /* LTC_NO_PK */
+
 /* PKCS #1 (RSA) and #5 (Password Handling) stuff */
+#ifndef LTC_NO_PKCS
+
 #define PKCS_1
 #define PKCS_5
 
@@ -192,5 +224,33 @@
    #error RSA/DSA requires ASN.1 DER functionality, make sure LTC_DER is enabled
 #endif
 
+#endif /* LTC_NO_PKCS */
+
+#endif
+
+
+/* THREAD management */
+
+#ifdef LTC_PTHREAD
+
+#include <pthread.h>
+
+#define LTC_MUTEX_GLOBAL(x)   pthread_mutex_t x = PTHREAD_MUTEX_INITIALIZER;
+#define LTC_MUTEX_PROTO(x)    extern pthread_mutex_t x;
+#define LTC_MUTEX_LOCK(x)     pthread_mutex_lock(x);
+#define LTC_MUTEX_UNLOCK(x)   pthread_mutex_unlock(x);
+
+#else 
+
+/* default no functions */
+#define LTC_MUTEX_GLOBAL(x)
+#define LTC_MUTEX_PROTO(x)
+#define LTC_MUTEX_LOCK(x)
+#define LTC_MUTEX_UNLOCK(x)
+
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt_custom.h,v $ */
+/* $Revision: 1.17 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/headers/tomcrypt_hash.h b/src/headers/tomcrypt_hash.h
index d295a598..a0534f97 100644
--- a/src/headers/tomcrypt_hash.h
+++ b/src/headers/tomcrypt_hash.h
@@ -132,10 +132,11 @@ extern  struct ltc_hash_descriptor {
     unsigned long hashsize;
     /** Input block size in octets */
     unsigned long blocksize;
-    /** ASN.1 DER identifier */
-    unsigned char DER[64];
+    /** ASN.1 OID */
+    unsigned long OID[16];
     /** Length of DER encoding */
-    unsigned long DERlen;
+    unsigned long OIDlen;
+
     /** Init a hash state
       @param hash   The hash to initialize
       @return CRYPT_OK if successful
@@ -278,6 +279,8 @@ int register_hash(const struct ltc_hash_descriptor *hash);
 int unregister_hash(const struct ltc_hash_descriptor *hash);
 int hash_is_valid(int idx);
 
+LTC_MUTEX_PROTO(ltc_hash_mutex);
+
 int hash_memory(int hash, 
                 const unsigned char *in,  unsigned long inlen, 
                       unsigned char *out, unsigned long *outlen);
@@ -292,29 +295,29 @@ int func_name (hash_state * md, const unsigned char *in, unsigned long inlen)
 {                                                                                           \
     unsigned long n;                                                                        \
     int           err;                                                                      \
-    LTC_ARGCHK(md != NULL);                                                                    \
-    LTC_ARGCHK(in != NULL);                                                                   \
+    LTC_ARGCHK(md != NULL);                                                                 \
+    LTC_ARGCHK(in != NULL);                                                                 \
     if (md-> state_var .curlen > sizeof(md-> state_var .buf)) {                             \
        return CRYPT_INVALID_ARG;                                                            \
     }                                                                                       \
-    while (inlen > 0) {                                                                       \
-        if (md-> state_var .curlen == 0 && inlen >= block_size) {                             \
-           if ((err = compress_name (md, (unsigned char *)in)) != CRYPT_OK) { \
-              return err;         \
-           }                                        \
+    while (inlen > 0) {                                                                     \
+        if (md-> state_var .curlen == 0 && inlen >= block_size) {                           \
+           if ((err = compress_name (md, (unsigned char *)in)) != CRYPT_OK) {               \
+              return err;                                                                   \
+           }                                                                                \
            md-> state_var .length += block_size * 8;                                        \
-           in             += block_size;                                                   \
-           inlen          -= block_size;                                                   \
+           in             += block_size;                                                    \
+           inlen          -= block_size;                                                    \
         } else {                                                                            \
-           n = MIN(inlen, (block_size - md-> state_var .curlen));                             \
-           memcpy(md-> state_var .buf + md-> state_var.curlen, in, (size_t)n);             \
+           n = MIN(inlen, (block_size - md-> state_var .curlen));                           \
+           memcpy(md-> state_var .buf + md-> state_var.curlen, in, (size_t)n);              \
            md-> state_var .curlen += n;                                                     \
-           in             += n;                                                            \
-           inlen          -= n;                                                            \
+           in             += n;                                                             \
+           inlen          -= n;                                                             \
            if (md-> state_var .curlen == block_size) {                                      \
-              if ((err = compress_name (md, md-> state_var .buf)) != CRYPT_OK) {\
-                 return err;                                      \
-              } \
+              if ((err = compress_name (md, md-> state_var .buf)) != CRYPT_OK) {            \
+                 return err;                                                                \
+              }                                                                             \
               md-> state_var .length += 8*block_size;                                       \
               md-> state_var .curlen = 0;                                                   \
            }                                                                                \
@@ -322,3 +325,7 @@ int func_name (hash_state * md, const unsigned char *in, unsigned long inlen)
     }                                                                                       \
     return CRYPT_OK;                                                                        \
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt_hash.h,v $ */
+/* $Revision: 1.12 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/headers/tomcrypt_mac.h b/src/headers/tomcrypt_mac.h
index 6b5e1ce5..411b1bce 100644
--- a/src/headers/tomcrypt_mac.h
+++ b/src/headers/tomcrypt_mac.h
@@ -295,3 +295,7 @@ int pelican_memory(const unsigned char *key, unsigned long keylen,
                          unsigned char *out);
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt_mac.h,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/headers/tomcrypt_macros.h b/src/headers/tomcrypt_macros.h
index f083984a..488931fd 100644
--- a/src/headers/tomcrypt_macros.h
+++ b/src/headers/tomcrypt_macros.h
@@ -132,7 +132,7 @@ asm __volatile__ (             \
 #ifdef ENDIAN_32BITWORD 
 
 #define STORE32L(x, y)        \
-     { unsigned long __t = (x); memcpy(y, &__t, 4); }
+     { ulong32  __t = (x); memcpy(y, &__t, 4); }
 
 #define LOAD32L(x, y)         \
      memcpy(&(x), y, 4);
@@ -152,7 +152,7 @@ asm __volatile__ (             \
 #else /* 64-bit words then  */
 
 #define STORE32L(x, y)        \
-     { unsigned long __t = (x); memcpy(y, &__t, 4); }
+     { ulong32 __t = (x); memcpy(y, &__t, 4); }
 
 #define LOAD32L(x, y)         \
      { memcpy(&(x), y, 4); x &= 0xFFFFFFFF; }
@@ -193,7 +193,7 @@ asm __volatile__ (             \
 #ifdef ENDIAN_32BITWORD 
 
 #define STORE32H(x, y)        \
-     { unsigned long __t = (x); memcpy(y, &__t, 4); }
+     { ulong32 __t = (x); memcpy(y, &__t, 4); }
 
 #define LOAD32H(x, y)         \
      memcpy(&(x), y, 4);
@@ -213,7 +213,7 @@ asm __volatile__ (             \
 #else /* 64-bit words then  */
 
 #define STORE32H(x, y)        \
-     { unsigned long __t = (x); memcpy(y, &__t, 4); }
+     { ulong32 __t = (x); memcpy(y, &__t, 4); }
 
 #define LOAD32H(x, y)         \
      { memcpy(&(x), y, 4); x &= 0xFFFFFFFF; }
@@ -371,3 +371,7 @@ static inline unsigned long ROR64c(unsigned long word, const int i)
 #else
    #define byte(x, n) (((x) >> (8 * (n))) & 255)
 #endif   
+
+/* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt_macros.h,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/headers/tomcrypt_misc.h b/src/headers/tomcrypt_misc.h
index bed5015f..3b447952 100644
--- a/src/headers/tomcrypt_misc.h
+++ b/src/headers/tomcrypt_misc.h
@@ -15,3 +15,7 @@ const char *error_to_string(int err);
 int mpi_to_ltc_error(int err);
 
 extern const char *crypt_build_settings;
+
+/* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt_misc.h,v $ */
+/* $Revision: 1.2 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/headers/tomcrypt_pk.h b/src/headers/tomcrypt_pk.h
index 065ca996..4f047def 100644
--- a/src/headers/tomcrypt_pk.h
+++ b/src/headers/tomcrypt_pk.h
@@ -84,9 +84,6 @@ int packet_valid_header(unsigned char *src, int section, int subsection);
 #define MIN_RSA_SIZE 1024
 #define MAX_RSA_SIZE 4096
 
-/* Stack required for temps (plus padding) */
-// #define RSA_STACK    (8 + (MAX_RSA_SIZE/8))
-
 typedef struct Rsa_key {
     int type;
     mp_int e, d, N, p, q, qP, dP, dQ;
@@ -123,26 +120,6 @@ int rsa_verify_hash(const unsigned char *sig,      unsigned long siglen,
                           int            hash_idx, unsigned long saltlen,
                           int           *stat,     rsa_key      *key);
 
-/* these use PKCS #1 v1.5 padding */
-int rsa_v15_encrypt_key(const unsigned char *in,    unsigned long  inlen,
-                              unsigned char *out,   unsigned long *outlen,
-                              prng_state    *prng,     int            prng_idx, 
-                              rsa_key       *key);
-         
-int rsa_v15_decrypt_key(const unsigned char *in,     unsigned long  inlen,
-                              unsigned char *out,    unsigned long  outlen, 
-                              int           *stat,   rsa_key       *key);
-
-int rsa_v15_sign_hash(const unsigned char *in,       unsigned long  inlen, 
-                            unsigned char *out,      unsigned long *siglen, 
-                            int            hash_idx, rsa_key       *key);
-
-int rsa_v15_verify_hash(const unsigned char *sig,      unsigned long siglen,
-                        const unsigned char *hash,     unsigned long hashlen,
-                              int            hash_idx, int          *stat,     
-                              rsa_key       *key);
-
-
 /* PKCS #1 import/export */
 int rsa_export(unsigned char *out, unsigned long *outlen, int type, rsa_key *key);
 int rsa_import(const unsigned char *in, unsigned long inlen, rsa_key *key);
@@ -244,10 +221,19 @@ typedef struct {
 int dsa_make_key(prng_state *prng, int wprng, int group_size, int modulus_size, dsa_key *key);
 void dsa_free(dsa_key *key);
 
+
+int dsa_sign_hash_raw(const unsigned char *in,  unsigned long inlen,
+                                   mp_int *r,   mp_int *s,
+                               prng_state *prng, int wprng, dsa_key *key);
+
 int dsa_sign_hash(const unsigned char *in,  unsigned long inlen,
                         unsigned char *out, unsigned long *outlen,
                         prng_state *prng, int wprng, dsa_key *key);
 
+int dsa_verify_hash_raw(         mp_int *r,          mp_int *s,
+                    const unsigned char *hash, unsigned long hashlen, 
+                                    int *stat,      dsa_key *key);
+
 int dsa_verify_hash(const unsigned char *sig,  unsigned long siglen,
                     const unsigned char *hash, unsigned long hashlen, 
                           int           *stat, dsa_key       *key);
@@ -262,9 +248,134 @@ int dsa_verify_key(dsa_key *key, int *stat);
 
 #ifdef LTC_DER
 /* DER handling */
+
+enum {
+ LTC_ASN1_EOL,
+ LTC_ASN1_INTEGER,
+ LTC_ASN1_SHORT_INTEGER,
+ LTC_ASN1_BIT_STRING,
+ LTC_ASN1_OCTET_STRING,
+ LTC_ASN1_NULL,
+ LTC_ASN1_OBJECT_IDENTIFIER,
+ LTC_ASN1_IA5_STRING,
+ LTC_ASN1_PRINTABLE_STRING,
+ LTC_ASN1_UTCTIME,
+
+ LTC_ASN1_CHOICE,
+ LTC_ASN1_SEQUENCE
+};
+
+typedef struct {
+   int           type;
+   void         *data;
+   unsigned long size;
+   int           used;
+} ltc_asn1_list;
+
+#define LTC_SET_ASN1(list, index, Type, Data, Size)  \
+   do {                                              \
+      int LTC_MACRO_temp            = (index);       \
+      ltc_asn1_list *LTC_MACRO_list = (list);        \
+      LTC_MACRO_list[LTC_MACRO_temp].type = (Type);  \
+      LTC_MACRO_list[LTC_MACRO_temp].data = (Data);  \
+      LTC_MACRO_list[LTC_MACRO_temp].size = (Size);  \
+      LTC_MACRO_list[LTC_MACRO_temp].used = 0;       \
+   } while (0);
+
+/* SEQUENCE */
+int der_encode_sequence(ltc_asn1_list *list, unsigned long inlen,
+                        unsigned char *out,  unsigned long *outlen);
+
+int der_decode_sequence(const unsigned char *in,   unsigned long  inlen,
+                              ltc_asn1_list *list, unsigned long  outlen);
+
+int der_length_sequence(ltc_asn1_list *list, unsigned long inlen,
+                        unsigned long *outlen);
+
+/* VA list handy helpers */
+int der_encode_sequence_multi(unsigned char *out, unsigned long *outlen, ...);
+int der_decode_sequence_multi(const unsigned char *in, unsigned long inlen, ...);
+
+/* INTEGER */
 int der_encode_integer(mp_int *num, unsigned char *out, unsigned long *outlen);
-int der_decode_integer(const unsigned char *in, unsigned long *inlen, mp_int *num);
+int der_decode_integer(const unsigned char *in, unsigned long inlen, mp_int *num);
 int der_length_integer(mp_int *num, unsigned long *len);
-int der_put_multi_integer(unsigned char *dst, unsigned long *outlen, mp_int *num, ...);
-int der_get_multi_integer(const unsigned char *src, unsigned long *inlen,  mp_int *num, ...);
+
+/* INTEGER -- handy for 0..2^32-1 values */
+int der_decode_short_integer(const unsigned char *in, unsigned long inlen, unsigned long *num);
+int der_encode_short_integer(unsigned long num, unsigned char *out, unsigned long *outlen);
+int der_length_short_integer(unsigned long num, unsigned long *outlen);
+
+/* BIT STRING */
+int der_encode_bit_string(const unsigned char *in, unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen);
+int der_decode_bit_string(const unsigned char *in, unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen);
+int der_length_bit_string(unsigned long nbits, unsigned long *outlen);
+
+/* OCTET STRING */
+int der_encode_octet_string(const unsigned char *in, unsigned long inlen,
+                                  unsigned char *out, unsigned long *outlen);
+int der_decode_octet_string(const unsigned char *in, unsigned long inlen,
+                                  unsigned char *out, unsigned long *outlen);
+int der_length_octet_string(unsigned long noctets, unsigned long *outlen);
+
+/* OBJECT IDENTIFIER */
+int der_encode_object_identifier(unsigned long *words, unsigned long  nwords,
+                                 unsigned char *out,   unsigned long *outlen);
+int der_decode_object_identifier(const unsigned char *in,    unsigned long  inlen,
+                                       unsigned long *words, unsigned long *outlen);
+int der_length_object_identifier(unsigned long *words, unsigned long nwords, unsigned long *outlen);
+unsigned long der_object_identifier_bits(unsigned long x);
+
+/* IA5 STRING */
+int der_encode_ia5_string(const unsigned char *in, unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen);
+int der_decode_ia5_string(const unsigned char *in, unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen);
+int der_length_ia5_string(const unsigned char *octets, unsigned long noctets, unsigned long *outlen);
+
+int der_ia5_char_encode(int c);
+int der_ia5_value_decode(int v);
+
+/* Printable STRING */
+int der_encode_printable_string(const unsigned char *in, unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen);
+int der_decode_printable_string(const unsigned char *in, unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen);
+int der_length_printable_string(const unsigned char *octets, unsigned long noctets, unsigned long *outlen);
+
+int der_printable_char_encode(int c);
+int der_printable_value_decode(int v);
+
+/* CHOICE */
+int der_decode_choice(const unsigned char *in,   unsigned long *inlen,
+                            ltc_asn1_list *list, unsigned long  outlen);
+
+/* UTCTime */
+typedef struct {
+   unsigned YY, /* year */
+            MM, /* month */
+            DD, /* day */
+            hh, /* hour */
+            mm, /* minute */
+            ss, /* second */
+            off_dir, /* timezone offset direction 0 == +, 1 == - */
+            off_hh, /* timezone offset hours */
+            off_mm; /* timezone offset minutes */
+} ltc_utctime;
+
+int der_encode_utctime(ltc_utctime *utctime, 
+                       unsigned char *out,   unsigned long *outlen);
+
+int der_decode_utctime(const unsigned char *in, unsigned long *inlen,
+                             ltc_utctime   *out);
+
+int der_length_utctime(ltc_utctime *utctime, unsigned long *outlen);
+
+
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt_pk.h,v $ */
+/* $Revision: 1.30 $ */
+/* $Date: 2005/06/19 11:23:03 $ */
diff --git a/src/headers/tomcrypt_pkcs.h b/src/headers/tomcrypt_pkcs.h
index 9fd0581a..8d850de3 100644
--- a/src/headers/tomcrypt_pkcs.h
+++ b/src/headers/tomcrypt_pkcs.h
@@ -10,7 +10,7 @@ int pkcs_1_mgf1(const unsigned char *seed, unsigned long seedlen,
 int pkcs_1_i2osp(mp_int *n, unsigned long modulus_len, unsigned char *out);
 int pkcs_1_os2ip(mp_int *n, unsigned char *in, unsigned long inlen);
 
-/* *** v2.0 padding */
+/* *** v2.1 padding */
 int pkcs_1_oaep_encode(const unsigned char *msg,    unsigned long msglen,
                        const unsigned char *lparam, unsigned long lparamlen,
                              unsigned long modulus_bitlen, prng_state *prng,
@@ -34,32 +34,6 @@ int pkcs_1_pss_decode(const unsigned char *msghash, unsigned long msghashlen,
                             unsigned long saltlen,  int           hash_idx,
                             unsigned long modulus_bitlen, int    *res);
 
-/* *** v1.5 padding */
-/* encryption padding */
-int pkcs_1_v15_es_encode(const unsigned char *msg,    unsigned long msglen,
-                               unsigned long  modulus_bitlen, 
-                               prng_state    *prng,   int           prng_idx,
-                               unsigned char *out,    unsigned long *outlen);
-
-/* note "outlen" is fixed, you have to tell this decoder how big
- * the original message was.  Unlike the OAEP decoder it cannot auto-detect it.
- */
-int pkcs_1_v15_es_decode(const unsigned char *msg,  unsigned long msglen,
-                               unsigned long modulus_bitlen,
-                               unsigned char *out,  unsigned long outlen,
-                               int           *res);
-
-/* signature padding */
-int pkcs_1_v15_sa_encode(const unsigned char *msghash,  unsigned long msghashlen,
-                               int            hash_idx, unsigned long modulus_bitlen,
-                               unsigned char *out,      unsigned long *outlen);
-
-int pkcs_1_v15_sa_decode(const unsigned char *msghash, unsigned long msghashlen,
-                         const unsigned char *sig,     unsigned long siglen,
-                               int           hash_idx, unsigned long modulus_bitlen, 
-                               int          *res);
-
-
 #endif /* PKCS_1 */
 
 /* ===> PKCS #5 -- Password Based Cryptography <=== */
@@ -78,3 +52,7 @@ int pkcs_5_alg2(const unsigned char *password, unsigned long password_len,
                 unsigned char *out,            unsigned long *outlen);
 
 #endif  /* PKCS_5 */
+
+/* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt_pkcs.h,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/14 11:46:08 $ */
diff --git a/src/headers/tomcrypt_prng.h b/src/headers/tomcrypt_prng.h
index 2ae5749e..f96d4083 100644
--- a/src/headers/tomcrypt_prng.h
+++ b/src/headers/tomcrypt_prng.h
@@ -178,6 +178,7 @@ int find_prng(const char *name);
 int register_prng(const struct ltc_prng_descriptor *prng);
 int unregister_prng(const struct ltc_prng_descriptor *prng);
 int prng_is_valid(int idx);
+LTC_MUTEX_PROTO(ltc_prng_mutex);
 
 /* Slow RNG you **might** be able to use to seed a PRNG with.  Be careful as this
  * might not work on all platforms as planned
@@ -188,3 +189,7 @@ unsigned long rng_get_bytes(unsigned char *out,
 
 int rng_make_prng(int bits, int wprng, prng_state *prng, void (*callback)(void));
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt_prng.h,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/headers/tommath_class.h b/src/headers/tommath_class.h
index 6d05b7b7..02dd7cf7 100644
--- a/src/headers/tommath_class.h
+++ b/src/headers/tommath_class.h
@@ -992,3 +992,7 @@
 #else
 #define LTM_LAST
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/headers/tommath_class.h,v $ */
+/* $Revision: 1.2 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/headers/tommath_superclass.h b/src/headers/tommath_superclass.h
index b50ecb09..89f3f574 100644
--- a/src/headers/tommath_superclass.h
+++ b/src/headers/tommath_superclass.h
@@ -1,10 +1,14 @@
 /* super class file for PK algos */
 
 /* default ... include all MPI */
+#ifndef SC_RSA_1
+
 #define LTM_ALL
 
+#endif
+
 /* RSA only (does not support DH/DSA/ECC) */
-// #define SC_RSA_1
+/* #define SC_RSA_1 */
 
 /* For reference.... On an Athlon64 optimizing for speed...
 
@@ -70,3 +74,7 @@
 #endif
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/headers/tommath_superclass.h,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/14 13:27:20 $ */
diff --git a/src/mac/hmac/hmac_done.c b/src/mac/hmac/hmac_done.c
index fdf20be9..f64d0449 100644
--- a/src/mac/hmac/hmac_done.c
+++ b/src/mac/hmac/hmac_done.c
@@ -103,3 +103,7 @@ LBL_ERR:
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/hmac/hmac_done.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/mac/hmac/hmac_file.c b/src/mac/hmac/hmac_file.c
index edbb6a60..f88d692e 100644
--- a/src/mac/hmac/hmac_file.c
+++ b/src/mac/hmac/hmac_file.c
@@ -87,3 +87,7 @@ int hmac_file(int hash, const char *fname,
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/hmac/hmac_file.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/mac/hmac/hmac_init.c b/src/mac/hmac/hmac_init.c
index d060a5b4..e64d47f4 100644
--- a/src/mac/hmac/hmac_init.c
+++ b/src/mac/hmac/hmac_init.c
@@ -106,3 +106,7 @@ done:
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/hmac/hmac_init.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/mac/hmac/hmac_memory.c b/src/mac/hmac/hmac_memory.c
index 036ee369..99959f49 100644
--- a/src/mac/hmac/hmac_memory.c
+++ b/src/mac/hmac/hmac_memory.c
@@ -71,3 +71,7 @@ LBL_ERR:
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/hmac/hmac_memory.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/mac/hmac/hmac_memory_multi.c b/src/mac/hmac/hmac_memory_multi.c
index 4a5b9be6..b7a6d96b 100644
--- a/src/mac/hmac/hmac_memory_multi.c
+++ b/src/mac/hmac/hmac_memory_multi.c
@@ -86,3 +86,7 @@ LBL_ERR:
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/hmac/hmac_memory_multi.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/mac/hmac/hmac_process.c b/src/mac/hmac/hmac_process.c
index 30e64c37..29192820 100644
--- a/src/mac/hmac/hmac_process.c
+++ b/src/mac/hmac/hmac_process.c
@@ -37,3 +37,7 @@ int hmac_process(hmac_state *hmac, const unsigned char *in, unsigned long inlen)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/hmac/hmac_process.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/mac/hmac/hmac_test.c b/src/mac/hmac/hmac_test.c
index 0d542d43..87758f57 100644
--- a/src/mac/hmac/hmac_test.c
+++ b/src/mac/hmac/hmac_test.c
@@ -310,3 +310,7 @@ Key First"
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/hmac/hmac_test.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/mac/omac/omac_done.c b/src/mac/omac/omac_done.c
index 0a91a141..37292d54 100644
--- a/src/mac/omac/omac_done.c
+++ b/src/mac/omac/omac_done.c
@@ -78,3 +78,7 @@ int omac_done(omac_state *omac, unsigned char *out, unsigned long *outlen)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/omac/omac_done.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/mac/omac/omac_file.c b/src/mac/omac/omac_file.c
index 1e3d2f6b..63784b01 100644
--- a/src/mac/omac/omac_file.c
+++ b/src/mac/omac/omac_file.c
@@ -77,3 +77,7 @@ int omac_file(int cipher,
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/omac/omac_file.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/mac/omac/omac_init.c b/src/mac/omac/omac_init.c
index d39219d8..8866772a 100644
--- a/src/mac/omac/omac_init.c
+++ b/src/mac/omac/omac_init.c
@@ -39,7 +39,7 @@ int omac_init(omac_state *omac, int cipher, const unsigned char *key, unsigned l
    }
 
 #ifdef LTC_FAST
-   if (16 % sizeof(LTC_FAST_TYPE)) {
+   if (cipher_descriptor[cipher].block_length % sizeof(LTC_FAST_TYPE)) {
        return CRYPT_INVALID_ARG;
    }
 #endif
@@ -93,3 +93,7 @@ int omac_init(omac_state *omac, int cipher, const unsigned char *key, unsigned l
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/omac/omac_init.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/06/06 10:22:44 $ */
diff --git a/src/mac/omac/omac_memory.c b/src/mac/omac/omac_memory.c
index 51d0ce24..3b1521c3 100644
--- a/src/mac/omac/omac_memory.c
+++ b/src/mac/omac/omac_memory.c
@@ -69,3 +69,7 @@ LBL_ERR:
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/omac/omac_memory.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/mac/omac/omac_memory_multi.c b/src/mac/omac/omac_memory_multi.c
index 76e4eb08..52f7323f 100644
--- a/src/mac/omac/omac_memory_multi.c
+++ b/src/mac/omac/omac_memory_multi.c
@@ -84,3 +84,7 @@ LBL_ERR:
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/omac/omac_memory_multi.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/mac/omac/omac_process.c b/src/mac/omac/omac_process.c
index 6b603f79..ca3ec6be 100644
--- a/src/mac/omac/omac_process.c
+++ b/src/mac/omac/omac_process.c
@@ -27,7 +27,8 @@
 */
 int omac_process(omac_state *omac, const unsigned char *in, unsigned long inlen)
 {
-   int err, n, x;
+   unsigned long n, x;
+   int           err;
 
    LTC_ARGCHK(omac  != NULL);
    LTC_ARGCHK(in    != NULL);
@@ -57,7 +58,7 @@ int omac_process(omac_state *omac, const unsigned char *in, unsigned long inlen)
    while (inlen != 0) { 
        /* ok if the block is full we xor in prev, encrypt and replace prev */
        if (omac->buflen == omac->blklen) {
-          for (x = 0; x < omac->blklen; x++) {
+          for (x = 0; x < (unsigned long)omac->blklen; x++) {
               omac->block[x] ^= omac->prev[x];
           }
           cipher_descriptor[omac->cipher_idx].ecb_encrypt(omac->block, omac->prev, &omac->key);
@@ -77,3 +78,7 @@ int omac_process(omac_state *omac, const unsigned char *in, unsigned long inlen)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/omac/omac_process.c,v $ */
+/* $Revision: 1.6 $ */
+/* $Date: 2005/05/05 14:35:58 $ */
diff --git a/src/mac/omac/omac_test.c b/src/mac/omac/omac_test.c
index 42e42bd1..1bc9ead5 100644
--- a/src/mac/omac/omac_test.c
+++ b/src/mac/omac/omac_test.c
@@ -104,3 +104,7 @@ int omac_test(void)
 }   
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/omac/omac_test.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/mac/pelican/pelican.c b/src/mac/pelican/pelican.c
index fb7ce58c..85bf9ee2 100644
--- a/src/mac/pelican/pelican.c
+++ b/src/mac/pelican/pelican.c
@@ -102,6 +102,12 @@ int pelican_process(pelican_state *pelmac, const unsigned char *in, unsigned lon
 
    LTC_ARGCHK(pelmac != NULL);
    LTC_ARGCHK(in     != NULL);
+
+   /* check range */
+   if (pelmac->buflen < 0 || pelmac->buflen > 15) {
+      return CRYPT_INVALID_ARG;
+   }
+
 #ifdef LTC_FAST
    if (pelmac->buflen == 0) {
       while (inlen & ~15) {
@@ -136,6 +142,12 @@ int pelican_done(pelican_state *pelmac, unsigned char *out)
 {
    LTC_ARGCHK(pelmac  != NULL);
    LTC_ARGCHK(out     != NULL);
+
+   /* check range */
+   if (pelmac->buflen < 0 || pelmac->buflen > 16) {
+      return CRYPT_INVALID_ARG;
+   }
+
    if  (pelmac->buflen == 16) {
        four_rounds(pelmac);
        pelmac->buflen = 0;
@@ -147,3 +159,7 @@ int pelican_done(pelican_state *pelmac, unsigned char *out)
 }                        
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/pelican/pelican.c,v $ */
+/* $Revision: 1.16 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/mac/pelican/pelican_memory.c b/src/mac/pelican/pelican_memory.c
index 9e0fc7b3..093340d7 100644
--- a/src/mac/pelican/pelican_memory.c
+++ b/src/mac/pelican/pelican_memory.c
@@ -53,3 +53,7 @@ int pelican_memory(const unsigned char *key, unsigned long keylen,
 
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/pelican/pelican_memory.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/mac/pelican/pelican_test.c b/src/mac/pelican/pelican_test.c
index e694f61a..06ec3f07 100644
--- a/src/mac/pelican/pelican_test.c
+++ b/src/mac/pelican/pelican_test.c
@@ -114,3 +114,7 @@ int pelican_test(void)
 
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/pelican/pelican_test.c,v $ */
+/* $Revision: 1.9 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/mac/pmac/pmac_done.c b/src/mac/pmac/pmac_done.c
index 610e433a..09c430c0 100644
--- a/src/mac/pmac/pmac_done.c
+++ b/src/mac/pmac/pmac_done.c
@@ -66,3 +66,7 @@ int pmac_done(pmac_state *state, unsigned char *out, unsigned long *outlen)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/pmac/pmac_done.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/mac/pmac/pmac_file.c b/src/mac/pmac/pmac_file.c
index 5b7dd242..1034c6ff 100644
--- a/src/mac/pmac/pmac_file.c
+++ b/src/mac/pmac/pmac_file.c
@@ -78,3 +78,7 @@ int pmac_file(int cipher,
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/pmac/pmac_file.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/mac/pmac/pmac_init.c b/src/mac/pmac/pmac_init.c
index a02b20c5..5bd94a01 100644
--- a/src/mac/pmac/pmac_init.c
+++ b/src/mac/pmac/pmac_init.c
@@ -138,3 +138,7 @@ int pmac_init(pmac_state *pmac, int cipher, const unsigned char *key, unsigned l
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/pmac/pmac_init.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/mac/pmac/pmac_memory.c b/src/mac/pmac/pmac_memory.c
index a04cd78f..fcdef999 100644
--- a/src/mac/pmac/pmac_memory.c
+++ b/src/mac/pmac/pmac_memory.c
@@ -68,3 +68,7 @@ LBL_ERR:
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/pmac/pmac_memory.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/mac/pmac/pmac_memory_multi.c b/src/mac/pmac/pmac_memory_multi.c
index 289d2e0c..2cc8572d 100644
--- a/src/mac/pmac/pmac_memory_multi.c
+++ b/src/mac/pmac/pmac_memory_multi.c
@@ -83,3 +83,7 @@ LBL_ERR:
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/pmac/pmac_memory_multi.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/mac/pmac/pmac_ntz.c b/src/mac/pmac/pmac_ntz.c
index 97f0a15a..7ec45509 100644
--- a/src/mac/pmac/pmac_ntz.c
+++ b/src/mac/pmac/pmac_ntz.c
@@ -33,3 +33,7 @@ int pmac_ntz(unsigned long x)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/pmac/pmac_ntz.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/mac/pmac/pmac_process.c b/src/mac/pmac/pmac_process.c
index 5cee5ecc..9ebd44ec 100644
--- a/src/mac/pmac/pmac_process.c
+++ b/src/mac/pmac/pmac_process.c
@@ -90,3 +90,7 @@ int pmac_process(pmac_state *pmac, const unsigned char *in, unsigned long inlen)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/pmac/pmac_process.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/mac/pmac/pmac_shift_xor.c b/src/mac/pmac/pmac_shift_xor.c
index 18c6141e..f24c22b4 100644
--- a/src/mac/pmac/pmac_shift_xor.c
+++ b/src/mac/pmac/pmac_shift_xor.c
@@ -38,3 +38,7 @@ void pmac_shift_xor(pmac_state *pmac)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/pmac/pmac_shift_xor.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/mac/pmac/pmac_test.c b/src/mac/pmac/pmac_test.c
index 6c610f9f..6d88703b 100644
--- a/src/mac/pmac/pmac_test.c
+++ b/src/mac/pmac/pmac_test.c
@@ -159,3 +159,7 @@ int pmac_test(void)
 
 
  
+
+/* $Source: /cvs/libtom/libtomcrypt/src/mac/pmac/pmac_test.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/misc/base64/base64_decode.c b/src/misc/base64/base64_decode.c
index ac6db57e..551add18 100644
--- a/src/misc/base64/base64_decode.c
+++ b/src/misc/base64/base64_decode.c
@@ -98,3 +98,7 @@ int base64_decode(const unsigned char *in,  unsigned long inlen,
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/base64/base64_decode.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/misc/base64/base64_encode.c b/src/misc/base64/base64_encode.c
index 047980c9..59786438 100644
--- a/src/misc/base64/base64_encode.c
+++ b/src/misc/base64/base64_encode.c
@@ -74,3 +74,7 @@ int base64_encode(const unsigned char *in,  unsigned long inlen,
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/base64/base64_encode.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/misc/burn_stack.c b/src/misc/burn_stack.c
index 3bc69ab1..7ac65185 100644
--- a/src/misc/burn_stack.c
+++ b/src/misc/burn_stack.c
@@ -28,3 +28,7 @@ void burn_stack(unsigned long len)
 }
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/burn_stack.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/misc/crypt/crypt.c b/src/misc/crypt/crypt.c
index 83f1414a..6d85ceb1 100644
--- a/src/misc/crypt/crypt.c
+++ b/src/misc/crypt/crypt.c
@@ -295,8 +295,21 @@ const char *crypt_build_settings =
 #endif
 #if defined(LTC_NO_ASM)
     " LTC_NO_ASM "
+#endif
+#if defined(LTC_NO_TEST)
+    " LTC_NO_TEST "
+#endif
+#if defined(LTC_NO_TABLES)
+    " LTC_NO_TABLES "
+#endif
+#if defined(LTC_PTHREAD)
+    " LTC_PTHREAD "
 #endif
     "\n"
     "\n\n\n"
     ;
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt.c,v $ */
+/* $Revision: 1.11 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_argchk.c b/src/misc/crypt/crypt_argchk.c
index d345c8d0..699c6cf2 100644
--- a/src/misc/crypt/crypt_argchk.c
+++ b/src/misc/crypt/crypt_argchk.c
@@ -24,3 +24,7 @@ void crypt_argchk(char *v, char *s, int d)
  (void)raise(SIGABRT);
 }
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_argchk.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/misc/crypt/crypt_cipher_descriptor.c b/src/misc/crypt/crypt_cipher_descriptor.c
index e2744496..127e85c0 100644
--- a/src/misc/crypt/crypt_cipher_descriptor.c
+++ b/src/misc/crypt/crypt_cipher_descriptor.c
@@ -19,3 +19,9 @@ struct ltc_cipher_descriptor cipher_descriptor[TAB_SIZE] = {
 { NULL, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
  };
 
+LTC_MUTEX_GLOBAL(ltc_cipher_mutex);
+
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_cipher_descriptor.c,v $ */
+/* $Revision: 1.8 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_cipher_is_valid.c b/src/misc/crypt/crypt_cipher_is_valid.c
index b1794025..7830303e 100644
--- a/src/misc/crypt/crypt_cipher_is_valid.c
+++ b/src/misc/crypt/crypt_cipher_is_valid.c
@@ -22,8 +22,15 @@
 */
 int cipher_is_valid(int idx)
 {
+   LTC_MUTEX_LOCK(&ltc_cipher_mutex);
    if (idx < 0 || idx >= TAB_SIZE || cipher_descriptor[idx].name == NULL) {
+      LTC_MUTEX_UNLOCK(&ltc_cipher_mutex);
       return CRYPT_INVALID_CIPHER;
    }
+   LTC_MUTEX_UNLOCK(&ltc_cipher_mutex);
    return CRYPT_OK;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_cipher_is_valid.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_find_cipher.c b/src/misc/crypt/crypt_find_cipher.c
index b83109c1..e7fba732 100644
--- a/src/misc/crypt/crypt_find_cipher.c
+++ b/src/misc/crypt/crypt_find_cipher.c
@@ -24,11 +24,18 @@ int find_cipher(const char *name)
 {
    int x;
    LTC_ARGCHK(name != NULL);
+   LTC_MUTEX_LOCK(&ltc_cipher_mutex);
    for (x = 0; x < TAB_SIZE; x++) {
        if (cipher_descriptor[x].name != NULL && !strcmp(cipher_descriptor[x].name, name)) {
+          LTC_MUTEX_UNLOCK(&ltc_cipher_mutex);
           return x;
        }
    }
+   LTC_MUTEX_UNLOCK(&ltc_cipher_mutex);
    return -1;
 }
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_find_cipher.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_find_cipher_any.c b/src/misc/crypt/crypt_find_cipher_any.c
index 42e59c05..6dd0e6dc 100644
--- a/src/misc/crypt/crypt_find_cipher_any.c
+++ b/src/misc/crypt/crypt_find_cipher_any.c
@@ -31,13 +31,20 @@ int find_cipher_any(const char *name, int blocklen, int keylen)
    x = find_cipher(name);
    if (x != -1) return x;
 
+   LTC_MUTEX_LOCK(&ltc_cipher_mutex);
    for (x = 0; x < TAB_SIZE; x++) {
        if (cipher_descriptor[x].name == NULL) {
           continue;
        }
        if (blocklen <= (int)cipher_descriptor[x].block_length && keylen <= (int)cipher_descriptor[x].max_key_length) {
+          LTC_MUTEX_UNLOCK(&ltc_cipher_mutex);
           return x;
        }
    }
+   LTC_MUTEX_UNLOCK(&ltc_cipher_mutex);
    return -1;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_find_cipher_any.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_find_cipher_id.c b/src/misc/crypt/crypt_find_cipher_id.c
index 986baf58..5f5f8743 100644
--- a/src/misc/crypt/crypt_find_cipher_id.c
+++ b/src/misc/crypt/crypt_find_cipher_id.c
@@ -23,10 +23,18 @@
 int find_cipher_id(unsigned char ID)
 {
    int x;
+   LTC_MUTEX_LOCK(&ltc_cipher_mutex);
    for (x = 0; x < TAB_SIZE; x++) {
        if (cipher_descriptor[x].ID == ID) {
-          return (cipher_descriptor[x].name == NULL) ? -1 : x;
+          x = (cipher_descriptor[x].name == NULL) ? -1 : x;
+          LTC_MUTEX_UNLOCK(&ltc_cipher_mutex);
+          return x;
        }
    }
+   LTC_MUTEX_UNLOCK(&ltc_cipher_mutex);
    return -1;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_find_cipher_id.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_find_hash.c b/src/misc/crypt/crypt_find_hash.c
index d66201c1..d02a449e 100644
--- a/src/misc/crypt/crypt_find_hash.c
+++ b/src/misc/crypt/crypt_find_hash.c
@@ -24,10 +24,17 @@ int find_hash(const char *name)
 {
    int x;
    LTC_ARGCHK(name != NULL);
+   LTC_MUTEX_LOCK(&ltc_hash_mutex);
    for (x = 0; x < TAB_SIZE; x++) {
        if (hash_descriptor[x].name != NULL && strcmp(hash_descriptor[x].name, name) == 0) {
+          LTC_MUTEX_UNLOCK(&ltc_hash_mutex);
           return x;
        }
    }
+   LTC_MUTEX_UNLOCK(&ltc_hash_mutex);
    return -1;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_find_hash.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_find_hash_any.c b/src/misc/crypt/crypt_find_hash_any.c
index 0d6d430f..1172f22c 100644
--- a/src/misc/crypt/crypt_find_hash_any.c
+++ b/src/misc/crypt/crypt_find_hash_any.c
@@ -28,6 +28,7 @@
    x = find_hash(name);
    if (x != -1) return x;
 
+   LTC_MUTEX_LOCK(&ltc_hash_mutex);
    y = MAXBLOCKSIZE+1;
    z = -1;
    for (x = 0; x < TAB_SIZE; x++) {
@@ -39,5 +40,10 @@
           y = hash_descriptor[x].hashsize;
        }
    }
+   LTC_MUTEX_UNLOCK(&ltc_hash_mutex);
    return z;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_find_hash_any.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_find_hash_id.c b/src/misc/crypt/crypt_find_hash_id.c
index 8628d537..8cd0d388 100644
--- a/src/misc/crypt/crypt_find_hash_id.c
+++ b/src/misc/crypt/crypt_find_hash_id.c
@@ -23,10 +23,18 @@
 int find_hash_id(unsigned char ID)
 {
    int x;
+   LTC_MUTEX_LOCK(&ltc_hash_mutex);
    for (x = 0; x < TAB_SIZE; x++) {
-       if (hash_descriptor[x].ID == ID) {
-          return (hash_descriptor[x].name == NULL) ? -1 : x;
-       }
+      if (hash_descriptor[x].ID == ID) {
+          x = (hash_descriptor[x].name == NULL) ? -1 : x;
+          LTC_MUTEX_UNLOCK(&ltc_hash_mutex);
+          return x;
+      }
    }
+   LTC_MUTEX_UNLOCK(&ltc_hash_mutex);
    return -1;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_find_hash_id.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/06/19 18:03:25 $ */
diff --git a/src/misc/crypt/crypt_find_prng.c b/src/misc/crypt/crypt_find_prng.c
index c01a023a..503813df 100644
--- a/src/misc/crypt/crypt_find_prng.c
+++ b/src/misc/crypt/crypt_find_prng.c
@@ -24,11 +24,18 @@ int find_prng(const char *name)
 {
    int x;
    LTC_ARGCHK(name != NULL);
+   LTC_MUTEX_LOCK(&ltc_prng_mutex);
    for (x = 0; x < TAB_SIZE; x++) {
        if ((prng_descriptor[x].name != NULL) && strcmp(prng_descriptor[x].name, name) == 0) {
+          LTC_MUTEX_UNLOCK(&ltc_prng_mutex);
           return x;
        }
    }
+   LTC_MUTEX_UNLOCK(&ltc_prng_mutex);
    return -1;
 }
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_find_prng.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_hash_descriptor.c b/src/misc/crypt/crypt_hash_descriptor.c
index cbd6d03e..f8583d8f 100644
--- a/src/misc/crypt/crypt_hash_descriptor.c
+++ b/src/misc/crypt/crypt_hash_descriptor.c
@@ -18,3 +18,10 @@
 struct ltc_hash_descriptor hash_descriptor[TAB_SIZE] = {
 { NULL, 0, 0, 0, { 0 }, 0, NULL, NULL, NULL, NULL }
 };
+
+LTC_MUTEX_GLOBAL(ltc_hash_mutex);
+
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_hash_descriptor.c,v $ */
+/* $Revision: 1.6 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_hash_is_valid.c b/src/misc/crypt/crypt_hash_is_valid.c
index c9784b84..a8130d46 100644
--- a/src/misc/crypt/crypt_hash_is_valid.c
+++ b/src/misc/crypt/crypt_hash_is_valid.c
@@ -22,8 +22,15 @@
 */
 int hash_is_valid(int idx)
 {
+   LTC_MUTEX_LOCK(&ltc_hash_mutex);
    if (idx < 0 || idx >= TAB_SIZE || hash_descriptor[idx].name == NULL) {
+      LTC_MUTEX_UNLOCK(&ltc_hash_mutex);
       return CRYPT_INVALID_HASH;
    }
+   LTC_MUTEX_UNLOCK(&ltc_hash_mutex);
    return CRYPT_OK;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_hash_is_valid.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_prng_descriptor.c b/src/misc/crypt/crypt_prng_descriptor.c
index 8a995104..7335f5db 100644
--- a/src/misc/crypt/crypt_prng_descriptor.c
+++ b/src/misc/crypt/crypt_prng_descriptor.c
@@ -17,3 +17,10 @@
 struct ltc_prng_descriptor prng_descriptor[TAB_SIZE] = {
 { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
 };
+
+LTC_MUTEX_GLOBAL(ltc_prng_mutex);
+
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_prng_descriptor.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_prng_is_valid.c b/src/misc/crypt/crypt_prng_is_valid.c
index 7795bbb9..a7a7ed69 100644
--- a/src/misc/crypt/crypt_prng_is_valid.c
+++ b/src/misc/crypt/crypt_prng_is_valid.c
@@ -22,8 +22,15 @@
 */
 int prng_is_valid(int idx)
 {
+   LTC_MUTEX_LOCK(&ltc_prng_mutex);
    if (idx < 0 || idx >= TAB_SIZE || prng_descriptor[idx].name == NULL) {
+      LTC_MUTEX_UNLOCK(&ltc_prng_mutex);
       return CRYPT_INVALID_PRNG;
    }
+   LTC_MUTEX_UNLOCK(&ltc_prng_mutex);
    return CRYPT_OK;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_prng_is_valid.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_register_cipher.c b/src/misc/crypt/crypt_register_cipher.c
index 74349e66..c55d7c0d 100644
--- a/src/misc/crypt/crypt_register_cipher.c
+++ b/src/misc/crypt/crypt_register_cipher.c
@@ -27,8 +27,10 @@ int register_cipher(const struct ltc_cipher_descriptor *cipher)
    LTC_ARGCHK(cipher != NULL);
 
    /* is it already registered? */
+   LTC_MUTEX_LOCK(&ltc_cipher_mutex);
    for (x = 0; x < TAB_SIZE; x++) {
        if (cipher_descriptor[x].name != NULL && cipher_descriptor[x].ID == cipher->ID) {
+          LTC_MUTEX_UNLOCK(&ltc_cipher_mutex);
           return x;
        }
    }
@@ -37,10 +39,16 @@ int register_cipher(const struct ltc_cipher_descriptor *cipher)
    for (x = 0; x < TAB_SIZE; x++) {
        if (cipher_descriptor[x].name == NULL) {
           XMEMCPY(&cipher_descriptor[x], cipher, sizeof(struct ltc_cipher_descriptor));
+          LTC_MUTEX_UNLOCK(&ltc_cipher_mutex);
           return x;
        }
    }
 
    /* no spot */
+   LTC_MUTEX_UNLOCK(&ltc_cipher_mutex);
    return -1;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_register_cipher.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_register_hash.c b/src/misc/crypt/crypt_register_hash.c
index d5cf5b83..0ff521fc 100644
--- a/src/misc/crypt/crypt_register_hash.c
+++ b/src/misc/crypt/crypt_register_hash.c
@@ -27,8 +27,10 @@ int register_hash(const struct ltc_hash_descriptor *hash)
    LTC_ARGCHK(hash != NULL);
 
    /* is it already registered? */
+   LTC_MUTEX_LOCK(&ltc_hash_mutex);
    for (x = 0; x < TAB_SIZE; x++) {
        if (memcmp(&hash_descriptor[x], hash, sizeof(struct ltc_hash_descriptor)) == 0) {
+          LTC_MUTEX_UNLOCK(&ltc_hash_mutex);
           return x;
        }
    }
@@ -37,10 +39,16 @@ int register_hash(const struct ltc_hash_descriptor *hash)
    for (x = 0; x < TAB_SIZE; x++) {
        if (hash_descriptor[x].name == NULL) {
           XMEMCPY(&hash_descriptor[x], hash, sizeof(struct ltc_hash_descriptor));
+          LTC_MUTEX_UNLOCK(&ltc_hash_mutex);
           return x;
        }
    }
 
    /* no spot */
+   LTC_MUTEX_UNLOCK(&ltc_hash_mutex);
    return -1;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_register_hash.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_register_prng.c b/src/misc/crypt/crypt_register_prng.c
index 6a1be779..5ab4a499 100644
--- a/src/misc/crypt/crypt_register_prng.c
+++ b/src/misc/crypt/crypt_register_prng.c
@@ -27,8 +27,10 @@ int register_prng(const struct ltc_prng_descriptor *prng)
    LTC_ARGCHK(prng != NULL);
 
    /* is it already registered? */
+   LTC_MUTEX_LOCK(&ltc_prng_mutex);
    for (x = 0; x < TAB_SIZE; x++) {
        if (memcmp(&prng_descriptor[x], prng, sizeof(struct ltc_prng_descriptor)) == 0) {
+          LTC_MUTEX_UNLOCK(&ltc_prng_mutex);
           return x;
        }
    }
@@ -37,10 +39,16 @@ int register_prng(const struct ltc_prng_descriptor *prng)
    for (x = 0; x < TAB_SIZE; x++) {
        if (prng_descriptor[x].name == NULL) {
           XMEMCPY(&prng_descriptor[x], prng, sizeof(struct ltc_prng_descriptor));
+          LTC_MUTEX_UNLOCK(&ltc_prng_mutex);
           return x;
        }
    }
 
    /* no spot */
+   LTC_MUTEX_UNLOCK(&ltc_prng_mutex);
    return -1;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_register_prng.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_unregister_cipher.c b/src/misc/crypt/crypt_unregister_cipher.c
index 0511de54..4081ca88 100644
--- a/src/misc/crypt/crypt_unregister_cipher.c
+++ b/src/misc/crypt/crypt_unregister_cipher.c
@@ -27,12 +27,19 @@ int unregister_cipher(const struct ltc_cipher_descriptor *cipher)
    LTC_ARGCHK(cipher != NULL);
 
    /* is it already registered? */
+   LTC_MUTEX_LOCK(&ltc_cipher_mutex);
    for (x = 0; x < TAB_SIZE; x++) {
        if (memcmp(&cipher_descriptor[x], cipher, sizeof(struct ltc_cipher_descriptor)) == 0) {
           cipher_descriptor[x].name = NULL;
           cipher_descriptor[x].ID   = 255;
+          LTC_MUTEX_UNLOCK(&ltc_cipher_mutex);
           return CRYPT_OK;
        }
    }
+   LTC_MUTEX_UNLOCK(&ltc_cipher_mutex);
    return CRYPT_ERROR;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_unregister_cipher.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_unregister_hash.c b/src/misc/crypt/crypt_unregister_hash.c
index 25e36f20..fdd25b29 100644
--- a/src/misc/crypt/crypt_unregister_hash.c
+++ b/src/misc/crypt/crypt_unregister_hash.c
@@ -27,11 +27,18 @@ int unregister_hash(const struct ltc_hash_descriptor *hash)
    LTC_ARGCHK(hash != NULL);
 
    /* is it already registered? */
+   LTC_MUTEX_LOCK(&ltc_hash_mutex);
    for (x = 0; x < TAB_SIZE; x++) {
        if (memcmp(&hash_descriptor[x], hash, sizeof(struct ltc_hash_descriptor)) == 0) {
           hash_descriptor[x].name = NULL;
+          LTC_MUTEX_UNLOCK(&ltc_hash_mutex);
           return CRYPT_OK;
        }
    }
+   LTC_MUTEX_UNLOCK(&ltc_hash_mutex);
    return CRYPT_ERROR;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_unregister_hash.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/crypt/crypt_unregister_prng.c b/src/misc/crypt/crypt_unregister_prng.c
index 55cc5543..4aff6de1 100644
--- a/src/misc/crypt/crypt_unregister_prng.c
+++ b/src/misc/crypt/crypt_unregister_prng.c
@@ -25,13 +25,20 @@ int unregister_prng(const struct ltc_prng_descriptor *prng)
    int x;
 
    LTC_ARGCHK(prng != NULL);
-
+ 
    /* is it already registered? */
+   LTC_MUTEX_LOCK(&ltc_prng_mutex);
    for (x = 0; x < TAB_SIZE; x++) {
        if (memcmp(&prng_descriptor[x], prng, sizeof(struct ltc_prng_descriptor)) != 0) {
           prng_descriptor[x].name = NULL;
+          LTC_MUTEX_UNLOCK(&ltc_prng_mutex);
           return CRYPT_OK;
        }
    }
+   LTC_MUTEX_UNLOCK(&ltc_prng_mutex);
    return CRYPT_ERROR;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_unregister_prng.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/06/19 18:00:28 $ */
diff --git a/src/misc/error_to_string.c b/src/misc/error_to_string.c
index 3a325a29..6167a708 100644
--- a/src/misc/error_to_string.c
+++ b/src/misc/error_to_string.c
@@ -68,3 +68,7 @@ const char *error_to_string(int err)
    }   
 }
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/error_to_string.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/misc/mpi/is_prime.c b/src/misc/mpi/is_prime.c
index f58391fc..9ee4ed25 100644
--- a/src/misc/mpi/is_prime.c
+++ b/src/misc/mpi/is_prime.c
@@ -30,3 +30,7 @@ int is_prime(mp_int *N, int *result)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/mpi/is_prime.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/misc/mpi/mpi.c b/src/misc/mpi/mpi.c
index ba3a7ed5..56dfa02c 100644
--- a/src/misc/mpi/mpi.c
+++ b/src/misc/mpi/mpi.c
@@ -9042,3 +9042,7 @@ int     KARATSUBA_MUL_CUTOFF = 74,      /* Min. number of digits before Karatsub
 
 
 /* EOF */
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/mpi/mpi.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/misc/mpi/mpi_to_ltc_error.c b/src/misc/mpi/mpi_to_ltc_error.c
index 3a4ea176..bc39ea17 100644
--- a/src/misc/mpi/mpi_to_ltc_error.c
+++ b/src/misc/mpi/mpi_to_ltc_error.c
@@ -42,3 +42,7 @@ int mpi_to_ltc_error(int err)
 }
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/mpi/mpi_to_ltc_error.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/misc/mpi/rand_prime.c b/src/misc/mpi/rand_prime.c
index 97ddf731..9c5921a2 100644
--- a/src/misc/mpi/rand_prime.c
+++ b/src/misc/mpi/rand_prime.c
@@ -64,3 +64,7 @@ int rand_prime(mp_int *N, long len, prng_state *prng, int wprng)
       
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/mpi/rand_prime.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/misc/pkcs5/pkcs_5_1.c b/src/misc/pkcs5/pkcs_5_1.c
index ec473721..90411b7f 100644
--- a/src/misc/pkcs5/pkcs_5_1.c
+++ b/src/misc/pkcs5/pkcs_5_1.c
@@ -100,3 +100,7 @@ LBL_ERR:
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/pkcs5/pkcs_5_1.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/misc/pkcs5/pkcs_5_2.c b/src/misc/pkcs5/pkcs_5_2.c
index aac811ba..08d8a18c 100644
--- a/src/misc/pkcs5/pkcs_5_2.c
+++ b/src/misc/pkcs5/pkcs_5_2.c
@@ -123,3 +123,7 @@ LBL_ERR:
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/pkcs5/pkcs_5_2.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/misc/zeromem.c b/src/misc/zeromem.c
index c640bb4d..1ab07dcf 100644
--- a/src/misc/zeromem.c
+++ b/src/misc/zeromem.c
@@ -28,3 +28,7 @@ void zeromem(void *out, size_t outlen)
       *mem++ = 0;
    }
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/misc/zeromem.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/cbc/cbc_decrypt.c b/src/modes/cbc/cbc_decrypt.c
index c79631c3..fc3fdd58 100644
--- a/src/modes/cbc/cbc_decrypt.c
+++ b/src/modes/cbc/cbc_decrypt.c
@@ -89,3 +89,7 @@ int cbc_decrypt(const unsigned char *ct, unsigned char *pt, unsigned long len, s
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/cbc/cbc_decrypt.c,v $ */
+/* $Revision: 1.9 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/cbc/cbc_done.c b/src/modes/cbc/cbc_done.c
index daa91103..afaa9bb9 100644
--- a/src/modes/cbc/cbc_done.c
+++ b/src/modes/cbc/cbc_done.c
@@ -36,3 +36,7 @@ int cbc_done(symmetric_CBC *cbc)
    
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/cbc/cbc_done.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/cbc/cbc_encrypt.c b/src/modes/cbc/cbc_encrypt.c
index 00ca05f1..a6b41b10 100644
--- a/src/modes/cbc/cbc_encrypt.c
+++ b/src/modes/cbc/cbc_encrypt.c
@@ -90,3 +90,7 @@ int cbc_encrypt(const unsigned char *pt, unsigned char *ct, unsigned long len, s
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/cbc/cbc_encrypt.c,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/cbc/cbc_getiv.c b/src/modes/cbc/cbc_getiv.c
index 0f5c3e43..ab418b19 100644
--- a/src/modes/cbc/cbc_getiv.c
+++ b/src/modes/cbc/cbc_getiv.c
@@ -39,3 +39,7 @@ int cbc_getiv(unsigned char *IV, unsigned long *len, symmetric_CBC *cbc)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/cbc/cbc_getiv.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/cbc/cbc_setiv.c b/src/modes/cbc/cbc_setiv.c
index f2e8b31c..c38e7132 100644
--- a/src/modes/cbc/cbc_setiv.c
+++ b/src/modes/cbc/cbc_setiv.c
@@ -38,3 +38,7 @@ int cbc_setiv(const unsigned char *IV, unsigned long len, symmetric_CBC *cbc)
 
 #endif 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/cbc/cbc_setiv.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/cbc/cbc_start.c b/src/modes/cbc/cbc_start.c
index 680faabe..833bb876 100644
--- a/src/modes/cbc/cbc_start.c
+++ b/src/modes/cbc/cbc_start.c
@@ -56,3 +56,7 @@ int cbc_start(int cipher, const unsigned char *IV, const unsigned char *key,
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/cbc/cbc_start.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/cfb/cfb_decrypt.c b/src/modes/cfb/cfb_decrypt.c
index 8b788986..3d51ba58 100644
--- a/src/modes/cfb/cfb_decrypt.c
+++ b/src/modes/cfb/cfb_decrypt.c
@@ -59,3 +59,7 @@ int cfb_decrypt(const unsigned char *ct, unsigned char *pt, unsigned long len, s
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/cfb/cfb_decrypt.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/cfb/cfb_done.c b/src/modes/cfb/cfb_done.c
index 04e775c3..89247618 100644
--- a/src/modes/cfb/cfb_done.c
+++ b/src/modes/cfb/cfb_done.c
@@ -36,3 +36,7 @@ int cfb_done(symmetric_CFB *cfb)
    
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/cfb/cfb_done.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/cfb/cfb_encrypt.c b/src/modes/cfb/cfb_encrypt.c
index b9603687..cca01164 100644
--- a/src/modes/cfb/cfb_encrypt.c
+++ b/src/modes/cfb/cfb_encrypt.c
@@ -57,3 +57,7 @@ int cfb_encrypt(const unsigned char *pt, unsigned char *ct, unsigned long len, s
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/cfb/cfb_encrypt.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/cfb/cfb_getiv.c b/src/modes/cfb/cfb_getiv.c
index e59c1e4a..5c5b4c42 100644
--- a/src/modes/cfb/cfb_getiv.c
+++ b/src/modes/cfb/cfb_getiv.c
@@ -39,3 +39,7 @@ int cfb_getiv(unsigned char *IV, unsigned long *len, symmetric_CFB *cfb)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/cfb/cfb_getiv.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/cfb/cfb_setiv.c b/src/modes/cfb/cfb_setiv.c
index e475ad9e..d075a0d4 100644
--- a/src/modes/cfb/cfb_setiv.c
+++ b/src/modes/cfb/cfb_setiv.c
@@ -47,3 +47,7 @@ int cfb_setiv(const unsigned char *IV, unsigned long len, symmetric_CFB *cfb)
 
 #endif 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/cfb/cfb_setiv.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/cfb/cfb_start.c b/src/modes/cfb/cfb_start.c
index 7157fc38..755e1739 100644
--- a/src/modes/cfb/cfb_start.c
+++ b/src/modes/cfb/cfb_start.c
@@ -61,3 +61,7 @@ int cfb_start(int cipher, const unsigned char *IV, const unsigned char *key,
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/cfb/cfb_start.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/ctr/ctr_decrypt.c b/src/modes/ctr/ctr_decrypt.c
index daa78a80..e1d1d510 100644
--- a/src/modes/ctr/ctr_decrypt.c
+++ b/src/modes/ctr/ctr_decrypt.c
@@ -36,3 +36,7 @@ int ctr_decrypt(const unsigned char *ct, unsigned char *pt, unsigned long len, s
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/ctr/ctr_decrypt.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/ctr/ctr_done.c b/src/modes/ctr/ctr_done.c
index 88508baa..f2e79bae 100644
--- a/src/modes/ctr/ctr_done.c
+++ b/src/modes/ctr/ctr_done.c
@@ -36,3 +36,7 @@ int ctr_done(symmetric_CTR *ctr)
    
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/ctr/ctr_done.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/ctr/ctr_encrypt.c b/src/modes/ctr/ctr_encrypt.c
index a96b8068..79795aeb 100644
--- a/src/modes/ctr/ctr_encrypt.c
+++ b/src/modes/ctr/ctr_encrypt.c
@@ -60,7 +60,7 @@ int ctr_encrypt(const unsigned char *pt, unsigned char *ct, unsigned long len, s
       /* is the pad empty? */
       if (ctr->padlen == ctr->blocklen) {
          /* increment counter */
-         if (ctr->mode == 0) {
+         if (ctr->mode == CTR_COUNTER_LITTLE_ENDIAN) {
             /* little-endian */
             for (x = 0; x < ctr->blocklen; x++) {
                ctr->ctr[x] = (ctr->ctr[x] + (unsigned char)1) & (unsigned char)255;
@@ -102,3 +102,7 @@ int ctr_encrypt(const unsigned char *pt, unsigned char *ct, unsigned long len, s
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/ctr/ctr_encrypt.c,v $ */
+/* $Revision: 1.13 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/ctr/ctr_getiv.c b/src/modes/ctr/ctr_getiv.c
index 3997033d..50ce6a07 100644
--- a/src/modes/ctr/ctr_getiv.c
+++ b/src/modes/ctr/ctr_getiv.c
@@ -39,3 +39,7 @@ int ctr_getiv(unsigned char *IV, unsigned long *len, symmetric_CTR *ctr)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/ctr/ctr_getiv.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/ctr/ctr_setiv.c b/src/modes/ctr/ctr_setiv.c
index 2aab190d..64d4c431 100644
--- a/src/modes/ctr/ctr_setiv.c
+++ b/src/modes/ctr/ctr_setiv.c
@@ -52,3 +52,7 @@ int ctr_setiv(const unsigned char *IV, unsigned long len, symmetric_CTR *ctr)
 
 #endif 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/ctr/ctr_setiv.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/ctr/ctr_start.c b/src/modes/ctr/ctr_start.c
index db8c464e..7c7eebb8 100644
--- a/src/modes/ctr/ctr_start.c
+++ b/src/modes/ctr/ctr_start.c
@@ -21,19 +21,23 @@
 /**
    Initialize a CTR context
    @param cipher      The index of the cipher desired
-   @param count       The initial vector
+   @param IV          The initial vector
    @param key         The secret key 
    @param keylen      The length of the secret key (octets)
    @param num_rounds  Number of rounds in the cipher desired (0 for default)
+   @param ctr_mode    The counter mode (CTR_COUNTER_LITTLE_ENDIAN or CTR_COUNTER_BIG_ENDIAN)
    @param ctr         The CTR state to initialize
    @return CRYPT_OK if successful
 */
-int ctr_start(int cipher, const unsigned char *count, const unsigned char *key, int keylen, 
-              int num_rounds, symmetric_CTR *ctr)
+int ctr_start(               int   cipher, 
+              const unsigned char *IV, 
+              const unsigned char *key,       int keylen, 
+                             int  num_rounds, int ctr_mode,
+                   symmetric_CTR *ctr)
 {
    int x, err;
 
-   LTC_ARGCHK(count != NULL);
+   LTC_ARGCHK(IV  != NULL);
    LTC_ARGCHK(key != NULL);
    LTC_ARGCHK(ctr != NULL);
 
@@ -51,12 +55,16 @@ int ctr_start(int cipher, const unsigned char *count, const unsigned char *key,
    ctr->blocklen = cipher_descriptor[cipher].block_length;
    ctr->cipher   = cipher;
    ctr->padlen   = 0;
-   ctr->mode     = 0;
+   ctr->mode     = ctr_mode;
    for (x = 0; x < ctr->blocklen; x++) {
-       ctr->ctr[x] = count[x];
+       ctr->ctr[x] = IV[x];
    }
    cipher_descriptor[ctr->cipher].ecb_encrypt(ctr->ctr, ctr->pad, &ctr->key);
    return CRYPT_OK;
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/ctr/ctr_start.c,v $ */
+/* $Revision: 1.6 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/ecb/ecb_decrypt.c b/src/modes/ecb/ecb_decrypt.c
index 8db4d370..aa836615 100644
--- a/src/modes/ecb/ecb_decrypt.c
+++ b/src/modes/ecb/ecb_decrypt.c
@@ -53,3 +53,7 @@ int ecb_decrypt(const unsigned char *ct, unsigned char *pt, unsigned long len, s
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/ecb/ecb_decrypt.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/ecb/ecb_done.c b/src/modes/ecb/ecb_done.c
index 31a42fae..a0726152 100644
--- a/src/modes/ecb/ecb_done.c
+++ b/src/modes/ecb/ecb_done.c
@@ -18,7 +18,7 @@
 #ifdef ECB
 
 /** Terminate the chain
-  @param rcb    The ECB chain to terminate
+  @param ecb    The ECB chain to terminate
   @return CRYPT_OK on success
 */
 int ecb_done(symmetric_ECB *ecb)
@@ -36,3 +36,7 @@ int ecb_done(symmetric_ECB *ecb)
    
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/ecb/ecb_done.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/ecb/ecb_encrypt.c b/src/modes/ecb/ecb_encrypt.c
index dc045e9d..21e03851 100644
--- a/src/modes/ecb/ecb_encrypt.c
+++ b/src/modes/ecb/ecb_encrypt.c
@@ -53,3 +53,7 @@ int ecb_encrypt(const unsigned char *pt, unsigned char *ct, unsigned long len, s
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/ecb/ecb_encrypt.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/ecb/ecb_start.c b/src/modes/ecb/ecb_start.c
index a8b6d450..f7baa81b 100644
--- a/src/modes/ecb/ecb_start.c
+++ b/src/modes/ecb/ecb_start.c
@@ -42,3 +42,7 @@ int ecb_start(int cipher, const unsigned char *key, int keylen, int num_rounds,
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/ecb/ecb_start.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/ofb/ofb_decrypt.c b/src/modes/ofb/ofb_decrypt.c
index f7254102..cf5f19d2 100644
--- a/src/modes/ofb/ofb_decrypt.c
+++ b/src/modes/ofb/ofb_decrypt.c
@@ -37,3 +37,7 @@ int ofb_decrypt(const unsigned char *ct, unsigned char *pt, unsigned long len, s
 #endif
 
  
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/ofb/ofb_decrypt.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/ofb/ofb_done.c b/src/modes/ofb/ofb_done.c
index ff72ddc1..5e114f4e 100644
--- a/src/modes/ofb/ofb_done.c
+++ b/src/modes/ofb/ofb_done.c
@@ -36,3 +36,7 @@ int ofb_done(symmetric_OFB *ofb)
    
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/ofb/ofb_done.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/ofb/ofb_encrypt.c b/src/modes/ofb/ofb_encrypt.c
index 4409ac8d..d66979a2 100644
--- a/src/modes/ofb/ofb_encrypt.c
+++ b/src/modes/ofb/ofb_encrypt.c
@@ -52,3 +52,7 @@ int ofb_encrypt(const unsigned char *pt, unsigned char *ct, unsigned long len, s
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/ofb/ofb_encrypt.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/ofb/ofb_getiv.c b/src/modes/ofb/ofb_getiv.c
index eb8ef1e4..f945fff2 100644
--- a/src/modes/ofb/ofb_getiv.c
+++ b/src/modes/ofb/ofb_getiv.c
@@ -39,3 +39,7 @@ int ofb_getiv(unsigned char *IV, unsigned long *len, symmetric_OFB *ofb)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/ofb/ofb_getiv.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/ofb/ofb_setiv.c b/src/modes/ofb/ofb_setiv.c
index 96b3f1cb..f6786015 100644
--- a/src/modes/ofb/ofb_setiv.c
+++ b/src/modes/ofb/ofb_setiv.c
@@ -47,3 +47,7 @@ int ofb_setiv(const unsigned char *IV, unsigned long len, symmetric_OFB *ofb)
 
 #endif 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/ofb/ofb_setiv.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/modes/ofb/ofb_start.c b/src/modes/ofb/ofb_start.c
index 977e6a3a..083e381e 100644
--- a/src/modes/ofb/ofb_start.c
+++ b/src/modes/ofb/ofb_start.c
@@ -54,3 +54,7 @@ int ofb_start(int cipher, const unsigned char *IV, const unsigned char *key,
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/modes/ofb/ofb_start.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/asn1/der/bit/der_decode_bit_string.c b/src/pk/asn1/der/bit/der_decode_bit_string.c
new file mode 100644
index 00000000..da5b989d
--- /dev/null
+++ b/src/pk/asn1/der/bit/der_decode_bit_string.c
@@ -0,0 +1,101 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_decode_bit_string.c
+  ASN.1 DER, encode a BIT STRING, Tom St Denis
+*/
+
+
+#ifdef LTC_DER
+
+/**
+  Store a BIT STRING
+  @param in      The DER encoded BIT STRING
+  @param inlen   The size of the DER BIT STRING
+  @param out     [out] The array of bits stored (one per char)
+  @param outlen  [in/out] The number of bits stored
+  @return CRYPT_OK if successful
+*/
+int der_decode_bit_string(const unsigned char *in,  unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen)
+{
+   unsigned long dlen, blen, x, y;
+
+   LTC_ARGCHK(in     != NULL);
+   LTC_ARGCHK(out    != NULL);
+   LTC_ARGCHK(outlen != NULL);
+
+   /* packet must be at least 4 bytes */
+   if (inlen < 4) {
+       return CRYPT_INVALID_ARG;
+   }
+
+   /* check for 0x03 */
+   if ((in[0]&0x1F) != 0x03) {
+      return CRYPT_INVALID_PACKET;
+   }
+
+    /* offset in the data */
+    x = 1;
+
+   /* get the length of the data */
+   if (in[x] & 0x80) {
+      /* long format get number of length bytes */
+      y = in[x++] & 127;
+
+      /* invalid if 0 or > 2 */
+      if (y == 0 || y > 2) {
+         return CRYPT_INVALID_PACKET;
+      }
+
+      /* read the data len */
+      dlen = 0;
+      while (y--) {
+         dlen = (dlen << 8) | (unsigned long)in[x++];
+      }
+   } else {
+      /* short format */
+      dlen = in[x++] & 127;
+   }
+  
+   /* is the data len too long or too short? */
+   if ((dlen == 0) || (dlen + x > inlen)) {
+       return CRYPT_INVALID_PACKET;
+   }
+
+   /* get padding count */
+   blen = ((dlen - 1) << 3) - (in[x++] & 7);
+
+   /* too many bits? */
+   if (blen > *outlen) {
+      return CRYPT_BUFFER_OVERFLOW;
+   }
+
+   /* decode/store the bits */
+   for (y = 0; y < blen; y++) {
+       out[y] = (in[x] & (1 << (7 - (y & 7)))) ? 1 : 0;
+       if ((y & 7) == 7) {
+          ++x;
+       }
+   }
+
+   /* we done */
+   *outlen = blen;
+   return CRYPT_OK;
+}
+
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/bit/der_decode_bit_string.c,v $ */
+/* $Revision: 1.1 $ */
+/* $Date: 2005/05/16 15:08:11 $ */
diff --git a/src/pk/asn1/der/bit/der_encode_bit_string.c b/src/pk/asn1/der/bit/der_encode_bit_string.c
new file mode 100644
index 00000000..569c15b2
--- /dev/null
+++ b/src/pk/asn1/der/bit/der_encode_bit_string.c
@@ -0,0 +1,87 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_encode_bit_string.c
+  ASN.1 DER, encode a BIT STRING, Tom St Denis
+*/
+
+
+#ifdef LTC_DER
+
+/**
+  Store a BIT STRING
+  @param in       The array of bits to store (one per char)
+  @param inlen    The number of bits tostore
+  @param out      [out] The destination for the DER encoded BIT STRING
+  @param outlen   [in/out] The max size and resulting size of the DER BIT STRING
+  @return CRYPT_OK if successful
+*/
+int der_encode_bit_string(const unsigned char *in, unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen)
+{
+   unsigned long len, x, y, buf;
+   int           err;
+
+   LTC_ARGCHK(in     != NULL);
+   LTC_ARGCHK(out    != NULL);
+   LTC_ARGCHK(outlen != NULL);
+
+   /* avoid overflows */
+   if ((err = der_length_bit_string(inlen, &len)) != CRYPT_OK) {
+      return err;
+   }
+
+   if (len > *outlen) {
+      return CRYPT_BUFFER_OVERFLOW;
+   }
+
+   /* store header (include bit padding count in length) */
+   x = 0;
+   y = (inlen >> 3) + ((inlen&7) ? 1 : 0) + 1;
+
+   out[x++] = 0x03;
+   if (y < 128) {
+      out[x++] = y;
+   } else if (y < 256) {
+      out[x++] = 0x81;
+      out[x++] = y;
+   } else if (y < 65536) {
+      out[x++] = 0x82;
+      out[x++] = (y>>8)&255;
+      out[x++] = y&255;
+   }
+
+   /* store number of zero padding bits */
+   out[x++] = (8 - inlen) & 7;
+
+   /* store the bits in big endian format */
+   for (y = buf = 0; y < inlen; y++) {
+       buf |= (in[y] ? 1 : 0) << (7 - (y & 7));
+       if ((y & 7) == 7) {
+          out[x++] = buf;
+          buf      = 0;
+       }
+   }
+   /* store last byte */
+   if (inlen & 7) {
+      out[x++] = buf;
+   }
+   *outlen = x;
+   return CRYPT_OK;
+}
+
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/bit/der_encode_bit_string.c,v $ */
+/* $Revision: 1.1 $ */
+/* $Date: 2005/05/16 15:08:11 $ */
diff --git a/src/pk/asn1/der/bit/der_length_bit_string.c b/src/pk/asn1/der/bit/der_length_bit_string.c
new file mode 100644
index 00000000..dd6ea6d2
--- /dev/null
+++ b/src/pk/asn1/der/bit/der_length_bit_string.c
@@ -0,0 +1,54 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_length_bit_string.c
+  ASN.1 DER, get length of BIT STRING, Tom St Denis
+*/
+
+#ifdef LTC_DER
+/**
+  Gets length of DER encoding of BIT STRING 
+  @param nbits  The number of bits in the string to encode
+  @param outlen [out] The length of the DER encoding for the given string
+  @return CRYPT_OK if successful
+*/
+int der_length_bit_string(unsigned long nbits, unsigned long *outlen)
+{
+   unsigned long nbytes;
+   LTC_ARGCHK(outlen != NULL);
+
+   /* get the number of the bytes */
+   nbytes = (nbits >> 3) + ((nbits & 7) ? 1 : 0) + 1;
+ 
+   if (nbytes < 128) {
+      /* 03 LL PP DD DD DD ... */
+      *outlen = 2 + nbytes;
+   } else if (nbytes < 256) {
+      /* 03 81 LL PP DD DD DD ... */
+      *outlen = 3 + nbytes;
+   } else if (nbytes < 65536) {
+      /* 03 82 LL LL PP DD DD DD ... */
+      *outlen = 4 + nbytes;
+   } else {
+      return CRYPT_INVALID_ARG;
+   }
+
+   return CRYPT_OK;
+}
+
+#endif
+
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/bit/der_length_bit_string.c,v $ */
+/* $Revision: 1.1 $ */
+/* $Date: 2005/05/16 15:08:11 $ */
diff --git a/src/pk/asn1/der/choice/der_decode_choice.c b/src/pk/asn1/der/choice/der_decode_choice.c
new file mode 100644
index 00000000..61cba11a
--- /dev/null
+++ b/src/pk/asn1/der/choice/der_decode_choice.c
@@ -0,0 +1,168 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_decode_choice.c
+  ASN.1 DER, decode a CHOICE, Tom St Denis
+*/
+
+#ifdef LTC_DER
+
+/**
+   Decode a CHOICE
+   @param in       The DER encoded input
+   @param inlen    [in/out] The size of the input and resulting size of read type
+   @param list     The list of items to decode
+   @param outlen   The number of items in the list
+   @return CRYPT_OK on success
+*/
+int der_decode_choice(const unsigned char *in,   unsigned long *inlen,
+                            ltc_asn1_list *list, unsigned long  outlen)
+{
+   unsigned long size, x, z;
+   void          *data;
+
+   LTC_ARGCHK(in    != NULL);
+   LTC_ARGCHK(inlen != NULL);
+   LTC_ARGCHK(list  != NULL);
+
+   /* get blk size */
+   if (*inlen < 2) {
+      return CRYPT_INVALID_PACKET;
+   }
+
+   /* set all of the "used" flags to zero */
+   for (x = 0; x < outlen; x++) {
+       list[x].used = 0;
+   }
+
+   /* now scan until we have a winner */
+   for (x = 0; x < outlen; x++) {
+       size = list[x].size;
+       data = list[x].data;
+
+       switch (list[x].type) {
+           case LTC_ASN1_INTEGER:
+               if (der_decode_integer(in, *inlen, data) == CRYPT_OK) {
+                  if (der_length_integer(data, &z) == CRYPT_OK) {
+                      list[x].used = 1;
+                      *inlen       = z;
+                      return CRYPT_OK;
+                  }
+               }
+               break;
+
+           case LTC_ASN1_SHORT_INTEGER:
+               if (der_decode_short_integer(in, *inlen, data) == CRYPT_OK) {
+                  if (der_length_short_integer(size, &z) == CRYPT_OK) {
+                      list[x].used = 1;
+                      *inlen       = z;
+                      return CRYPT_OK;
+                  }
+               }
+               break;
+
+           case LTC_ASN1_BIT_STRING:
+               if (der_decode_bit_string(in, *inlen, data, &size) == CRYPT_OK) {
+                  if (der_length_bit_string(size, &z) == CRYPT_OK) {
+                     list[x].used = 1;
+                     list[x].size = size;
+                     *inlen       = z;
+                     return CRYPT_OK;
+                  }
+               }
+               break;
+
+           case LTC_ASN1_OCTET_STRING:
+               if (der_decode_octet_string(in, *inlen, data, &size) == CRYPT_OK) {
+                  if (der_length_octet_string(size, &z) == CRYPT_OK) {
+                     list[x].used = 1;
+                     list[x].size = size;
+                     *inlen       = z;
+                     return CRYPT_OK;
+                  }
+               }
+               break;
+
+           case LTC_ASN1_NULL:
+               if (*inlen == 2 && in[x] == 0x05 && in[x+1] == 0x00) {
+                  *inlen = 2;
+                  return CRYPT_OK;
+               }
+               break;
+                  
+           case LTC_ASN1_OBJECT_IDENTIFIER:
+               if (der_decode_object_identifier(in, *inlen, data, &size) == CRYPT_OK) {
+                  if (der_length_object_identifier(data, size, &z) == CRYPT_OK) {
+                     list[x].used = 1;
+                     list[x].size = size;
+                     *inlen       = z;
+                     return CRYPT_OK;
+                  }
+               }
+               break;
+
+           case LTC_ASN1_IA5_STRING:
+               if (der_decode_ia5_string(in, *inlen, data, &size) == CRYPT_OK) {
+                  if (der_length_ia5_string(data, size, &z) == CRYPT_OK) {
+                     list[x].used = 1;
+                     list[x].size = size;
+                     *inlen       = z;
+                     return CRYPT_OK;
+                  }
+               }
+               break;
+
+
+           case LTC_ASN1_PRINTABLE_STRING:
+               if (der_decode_printable_string(in, *inlen, data, &size) == CRYPT_OK) {
+                  if (der_length_printable_string(data, size, &z) == CRYPT_OK) {
+                     list[x].used = 1;
+                     list[x].size = size;
+                     *inlen       = z;
+                     return CRYPT_OK;
+                  }
+               }
+               break;
+
+           case LTC_ASN1_UTCTIME:
+               z = *inlen;
+               if (der_decode_utctime(in, &z, data) == CRYPT_OK) {
+                  list[x].used = 1;
+                  *inlen       = z;
+                  return CRYPT_OK;
+               }
+               break;
+
+           case LTC_ASN1_SEQUENCE:
+               if (der_decode_sequence(in, *inlen, data, size) == CRYPT_OK) {
+                  if (der_length_sequence(data, size, &z) == CRYPT_OK) {
+                     list[x].used = 1;
+                     *inlen       = z;
+                     return CRYPT_OK;
+                  }
+               }
+               break;
+
+           default:
+               return CRYPT_INVALID_ARG;
+       }
+   }
+
+   return CRYPT_INVALID_PACKET;
+}
+
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/choice/der_decode_choice.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/06/19 11:25:01 $ */
diff --git a/src/pk/asn1/der/der_get_multi_integer.c b/src/pk/asn1/der/der_get_multi_integer.c
deleted file mode 100644
index 75ae0bc7..00000000
--- a/src/pk/asn1/der/der_get_multi_integer.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* LibTomCrypt, modular cryptographic library -- Tom St Denis
- *
- * LibTomCrypt is a library that provides various cryptographic
- * algorithms in a highly modular and flexible manner.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
- */
-#include <stdarg.h>
-#include "tomcrypt.h"
-
-/**
-  @file der_get_multi_integer.c
-  ASN.1 DER, read multiple integers, Tom St Denis
-*/
-
-
-#ifdef LTC_DER
-
-/* will read multiple DER INTEGER encoded mp_ints from src
- * of upto [inlen] bytes.  It will store the number of bytes
- * read back into [inlen].
- */
-/**
-  Read multiple mp_int integers one after another
-  @param src      The DER encoded integers
-  @param inlen    [in] The length of the src buffer, [out] the amount of bytes read
-  @param num      The first mp_int to decode
-  @param ...      A NULL terminated list of mp_ints to decode
-  @return CRYPT_OK if successful
-*/
-int der_get_multi_integer(const unsigned char *src, unsigned long *inlen, 
-                  mp_int *num, ...)
-{
-   va_list        args;
-   mp_int        *next;
-   unsigned long  wrote, len;
-   int            err;
-
-   LTC_ARGCHK(src    != NULL);
-   LTC_ARGCHK(inlen  != NULL);
-
-   /* setup va list */
-   next  = num;
-   len   = *inlen;
-   wrote = 0;
-   va_start(args, num);
-
-   while (next != NULL) {
-       if ((err = der_decode_integer(src, inlen, next)) != CRYPT_OK) {
-          va_end(args);
-          return err;
-       }
-       wrote += *inlen;
-       src   += *inlen;
-       len   -= *inlen;
-       *inlen = len;
-        next     = va_arg(args, mp_int*);
-   }
-   va_end(args);
-   *inlen = wrote;
-   return CRYPT_OK;
-}
-
-#endif
diff --git a/src/pk/asn1/der/der_put_multi_integer.c b/src/pk/asn1/der/der_put_multi_integer.c
deleted file mode 100644
index af2ca888..00000000
--- a/src/pk/asn1/der/der_put_multi_integer.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* LibTomCrypt, modular cryptographic library -- Tom St Denis
- *
- * LibTomCrypt is a library that provides various cryptographic
- * algorithms in a highly modular and flexible manner.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
- */
-#include <stdarg.h>
-#include "tomcrypt.h"
-
-/**
-  @file der_put_multi_integer.c
-  ASN.1 DER, store multiple integers, Tom St Denis
-*/
-
-
-#ifdef LTC_DER
-
-/* store multiple mp_ints in DER INTEGER format to the out, will not
- * overflow the length you give it [outlen] and store the number of 
- * bytes used in [outlen] 
- */
-/**
-  Store multiple mp_int integers one after another
-  @param out      [out] The destination for the DER encoded integers
-  @param outlen   [in/out] The max size and resulting size of the DER encoded integers
-  @param num      The first mp_int to encode
-  @param ...      A NULL terminated list of mp_ints to encode
-  @return CRYPT_OK if successful
-*/
-int der_put_multi_integer(unsigned char *out, unsigned long *outlen, 
-                  mp_int *num, ...)
-{
-   va_list        args;
-   mp_int        *next;
-   unsigned long  wrote, len;
-   int            err;
-
-   LTC_ARGCHK(out    != NULL);
-   LTC_ARGCHK(outlen != NULL);
-
-   /* setup va list */
-   next  = num;
-   len   = *outlen;
-   wrote = 0;
-   va_start(args, num);
-
-   while (next != NULL) {
-        if ((err = der_encode_integer(next, out, outlen)) != CRYPT_OK) {
-           va_end(args);
-           return err;
-        }
-        wrote   += *outlen;
-        out     += *outlen;
-        len     -= *outlen;
-        *outlen  = len;
-        next     = va_arg(args, mp_int*);
-   }
-   va_end(args);
-   *outlen = wrote;
-   return CRYPT_OK;
-}
-
-#endif
diff --git a/src/pk/asn1/der/ia5/der_decode_ia5_string.c b/src/pk/asn1/der/ia5/der_decode_ia5_string.c
new file mode 100644
index 00000000..ac0a4af8
--- /dev/null
+++ b/src/pk/asn1/der/ia5/der_decode_ia5_string.c
@@ -0,0 +1,95 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_decode_ia5_string.c
+  ASN.1 DER, encode a IA5 STRING, Tom St Denis
+*/
+
+
+#ifdef LTC_DER
+
+/**
+  Store a IA5 STRING
+  @param in      The DER encoded IA5 STRING
+  @param inlen   The size of the DER IA5 STRING
+  @param out     [out] The array of octets stored (one per char)
+  @param outlen  [in/out] The number of octets stored
+  @return CRYPT_OK if successful
+*/
+int der_decode_ia5_string(const unsigned char *in, unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen)
+{
+   unsigned long x, y, len;
+   int           t;
+
+   LTC_ARGCHK(in     != NULL);
+   LTC_ARGCHK(out    != NULL);
+   LTC_ARGCHK(outlen != NULL);
+
+   /* must have header at least */
+   if (inlen < 2) {
+      return CRYPT_INVALID_PACKET;
+   }
+
+   /* check for 0x16 */
+   if ((in[0] & 0x1F) != 0x16) {
+      return CRYPT_INVALID_PACKET;
+   }
+   x = 1;
+
+   /* decode the length */
+   if (in[x] & 0x80) {
+      /* valid # of bytes in length are 1,2,3 */
+      y = in[x] & 0x7F;
+      if ((y == 0) || (y > 3) || ((x + y) > inlen)) {
+         return CRYPT_INVALID_PACKET;
+      }
+
+      /* read the length in */
+      len = 0;
+      ++x;
+      while (y--) {
+         len = (len << 8) | in[x++];
+      }
+   } else {
+      len = in[x++] & 0x7F;
+   }
+
+   /* is it too long? */
+   if (len > *outlen) {
+      return CRYPT_BUFFER_OVERFLOW;
+   }
+
+   if (len + x > inlen) {
+      return CRYPT_INVALID_PACKET;
+   }
+
+   /* read the data */
+   for (y = 0; y < len; y++) {
+       t = der_ia5_value_decode(in[x++]);
+       if (t == -1) {
+           return CRYPT_INVALID_ARG;
+       }
+       out[y] = t;
+   }
+
+   *outlen = y;
+
+   return CRYPT_OK;
+}
+ 
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/ia5/der_decode_ia5_string.c,v $ */
+/* $Revision: 1.1 $ */
+/* $Date: 2005/05/16 15:08:11 $ */
diff --git a/src/pk/asn1/der/ia5/der_encode_ia5_string.c b/src/pk/asn1/der/ia5/der_encode_ia5_string.c
new file mode 100644
index 00000000..a79b46ed
--- /dev/null
+++ b/src/pk/asn1/der/ia5/der_encode_ia5_string.c
@@ -0,0 +1,84 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_encode_ia5_string.c
+  ASN.1 DER, encode a IA5 STRING, Tom St Denis
+*/
+
+#ifdef LTC_DER
+
+/**
+  Store an IA5 STRING
+  @param in       The array of IA5 to store (one per char)
+  @param inlen    The number of IA5 to store
+  @param out      [out] The destination for the DER encoded IA5 STRING
+  @param outlen   [in/out] The max size and resulting size of the DER IA5 STRING
+  @return CRYPT_OK if successful
+*/
+int der_encode_ia5_string(const unsigned char *in, unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen)
+{
+   unsigned long x, y, len;
+   int           err;
+
+   LTC_ARGCHK(in     != NULL);
+   LTC_ARGCHK(out    != NULL);
+   LTC_ARGCHK(outlen != NULL);
+
+   /* get the size */
+   if ((err = der_length_ia5_string(in, inlen, &len)) != CRYPT_OK) {
+      return err; 
+   }
+
+   /* too big? */
+   if (len > *outlen) {
+      return CRYPT_BUFFER_OVERFLOW;
+   }
+
+   /* encode the header+len */
+   x = 0;
+   out[x++] = 0x16;
+   if (inlen < 128) {
+      out[x++] = inlen;
+   } else if (inlen < 256) {
+      out[x++] = 0x81;
+      out[x++] = inlen;
+   } else if (inlen < 65536UL) {
+      out[x++] = 0x82;
+      out[x++] = (inlen>>8)&255;
+      out[x++] = inlen&255;
+   } else if (inlen < 16777216UL) {
+      out[x++] = 0x83;
+      out[x++] = (inlen>>16)&255;
+      out[x++] = (inlen>>8)&255;
+      out[x++] = inlen&255;
+   } else {
+      return CRYPT_INVALID_ARG;
+   }
+
+   /* store octets */
+   for (y = 0; y < inlen; y++) {
+       out[x++] = der_ia5_char_encode(in[y]);
+   }
+
+   /* retun length */
+   *outlen = x;
+
+   return CRYPT_OK;
+}
+
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/ia5/der_encode_ia5_string.c,v $ */
+/* $Revision: 1.1 $ */
+/* $Date: 2005/05/16 15:08:11 $ */
diff --git a/src/pk/asn1/der/ia5/der_length_ia5_string.c b/src/pk/asn1/der/ia5/der_length_ia5_string.c
new file mode 100644
index 00000000..d07d630a
--- /dev/null
+++ b/src/pk/asn1/der/ia5/der_length_ia5_string.c
@@ -0,0 +1,194 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_length_ia5_string.c
+  ASN.1 DER, get length of IA5 STRING, Tom St Denis
+*/
+
+#ifdef LTC_DER
+
+static const struct {
+   int code, value;
+} ia5_table[] = {
+{ '\0', 0 },
+{ '\a', 7 }, 
+{ '\b', 8 }, 
+{ '\t', 9 }, 
+{ '\n', 10 }, 
+{ '\f', 12 }, 
+{ '\r', 13 }, 
+{ ' ', 32 }, 
+{ '!', 33 }, 
+{ '"', 34 }, 
+{ '#', 35 }, 
+{ '$', 36 }, 
+{ '%', 37 }, 
+{ '&', 38 }, 
+{ '\'', 39 }, 
+{ '(', 40 }, 
+{ ')', 41 }, 
+{ '*', 42 }, 
+{ '+', 43 }, 
+{ ',', 44 }, 
+{ '-', 45 }, 
+{ '.', 46 }, 
+{ '/', 47 }, 
+{ '0', 48 }, 
+{ '1', 49 }, 
+{ '2', 50 }, 
+{ '3', 51 }, 
+{ '4', 52 }, 
+{ '5', 53 }, 
+{ '6', 54 }, 
+{ '7', 55 }, 
+{ '8', 56 }, 
+{ '9', 57 }, 
+{ ':', 58 }, 
+{ ';', 59 }, 
+{ '<', 60 }, 
+{ '=', 61 }, 
+{ '>', 62 }, 
+{ '?', 63 }, 
+{ '@', 64 }, 
+{ 'A', 65 }, 
+{ 'B', 66 }, 
+{ 'C', 67 }, 
+{ 'D', 68 }, 
+{ 'E', 69 }, 
+{ 'F', 70 }, 
+{ 'G', 71 }, 
+{ 'H', 72 }, 
+{ 'I', 73 }, 
+{ 'J', 74 }, 
+{ 'K', 75 }, 
+{ 'L', 76 }, 
+{ 'M', 77 }, 
+{ 'N', 78 }, 
+{ 'O', 79 }, 
+{ 'P', 80 }, 
+{ 'Q', 81 }, 
+{ 'R', 82 }, 
+{ 'S', 83 }, 
+{ 'T', 84 }, 
+{ 'U', 85 }, 
+{ 'V', 86 }, 
+{ 'W', 87 }, 
+{ 'X', 88 }, 
+{ 'Y', 89 }, 
+{ 'Z', 90 }, 
+{ '[', 91 }, 
+{ '\\', 92 }, 
+{ ']', 93 }, 
+{ '^', 94 }, 
+{ '_', 95 }, 
+{ '`', 96 }, 
+{ 'a', 97 }, 
+{ 'b', 98 }, 
+{ 'c', 99 }, 
+{ 'd', 100 }, 
+{ 'e', 101 }, 
+{ 'f', 102 }, 
+{ 'g', 103 }, 
+{ 'h', 104 }, 
+{ 'i', 105 }, 
+{ 'j', 106 }, 
+{ 'k', 107 }, 
+{ 'l', 108 }, 
+{ 'm', 109 }, 
+{ 'n', 110 }, 
+{ 'o', 111 }, 
+{ 'p', 112 }, 
+{ 'q', 113 }, 
+{ 'r', 114 }, 
+{ 's', 115 }, 
+{ 't', 116 }, 
+{ 'u', 117 }, 
+{ 'v', 118 }, 
+{ 'w', 119 }, 
+{ 'x', 120 }, 
+{ 'y', 121 }, 
+{ 'z', 122 }, 
+{ '{', 123 }, 
+{ '|', 124 }, 
+{ '}', 125 }, 
+{ '~', 126 }
+};
+
+int der_ia5_char_encode(int c)
+{
+   int x;
+   for (x = 0; x < (int)(sizeof(ia5_table)/sizeof(ia5_table[0])); x++) {
+       if (ia5_table[x].code == c) {
+          return ia5_table[x].value;
+       }
+   }
+   return -1;
+}
+
+int der_ia5_value_decode(int v)
+{
+   int x;
+   for (x = 0; x < (int)(sizeof(ia5_table)/sizeof(ia5_table[0])); x++) {
+       if (ia5_table[x].value == v) {
+          return ia5_table[x].code;
+       }
+   }
+   return -1;
+}
+   
+/**
+  Gets length of DER encoding of IA5 STRING 
+  @param octets   The values you want to encode 
+  @param noctets  The number of octets in the string to encode
+  @param outlen   [out] The length of the DER encoding for the given string
+  @return CRYPT_OK if successful
+*/
+int der_length_ia5_string(const unsigned char *octets, unsigned long noctets, unsigned long *outlen)
+{
+   unsigned long x;
+
+   LTC_ARGCHK(outlen != NULL);
+   LTC_ARGCHK(octets != NULL);
+
+   /* scan string for validity */
+   for (x = 0; x < noctets; x++) {
+       if (der_ia5_char_encode(octets[x]) == -1) {
+          return CRYPT_INVALID_ARG;
+       }
+   }
+
+   if (noctets < 128) {
+      /* 16 LL DD DD DD ... */
+      *outlen = 2 + noctets;
+   } else if (noctets < 256) {
+      /* 16 81 LL DD DD DD ... */
+      *outlen = 3 + noctets;
+   } else if (noctets < 65536UL) {
+      /* 16 82 LL LL DD DD DD ... */
+      *outlen = 4 + noctets;
+   } else if (noctets < 16777216UL) {
+      /* 16 83 LL LL LL DD DD DD ... */
+      *outlen = 5 + noctets;
+   } else {
+      return CRYPT_INVALID_ARG;
+   }
+
+   return CRYPT_OK;
+}
+
+#endif
+
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/ia5/der_length_ia5_string.c,v $ */
+/* $Revision: 1.1 $ */
+/* $Date: 2005/05/16 15:08:11 $ */
diff --git a/src/pk/asn1/der/der_decode_integer.c b/src/pk/asn1/der/integer/der_decode_integer.c
similarity index 52%
rename from src/pk/asn1/der/der_decode_integer.c
rename to src/pk/asn1/der/integer/der_decode_integer.c
index b798bd45..e68b2c95 100644
--- a/src/pk/asn1/der/der_decode_integer.c
+++ b/src/pk/asn1/der/integer/der_decode_integer.c
@@ -18,81 +18,93 @@
 
 #ifdef LTC_DER
 
-/* decodes a DER INTEGER in [in].  You have to tell this function
- * how many bytes are available [inlen].  It will then attempt to 
- * read the INTEGER.  If all goes well it stores the number of bytes
- * read in [inlen] and the number in [num].
- */
 /**
   Read a mp_int integer
   @param in       The DER encoded data
-  @param inlen    [in] Size of the in data, [out] number of bytes read
+  @param inlen    Size of DER encoded data
   @param num      The first mp_int to decode
   @return CRYPT_OK if successful
 */
-int der_decode_integer(const unsigned char *in, unsigned long *inlen, mp_int *num)
+int der_decode_integer(const unsigned char *in, unsigned long inlen, mp_int *num)
 {
-   unsigned long tmplen, y, z;
+   unsigned long x, y, z;
+   int           err;
 
    LTC_ARGCHK(num    != NULL);
    LTC_ARGCHK(in     != NULL);
-   LTC_ARGCHK(inlen  != NULL);
-
-   /* save copy of max output size */
-   tmplen = *inlen;
-   *inlen = 0;
 
    /* min DER INTEGER is 0x02 01 00 == 0 */
-   if (tmplen < (1 + 1 + 1)) {
+   if (inlen < (1 + 1 + 1)) {
       return CRYPT_INVALID_PACKET;
    }
 
-   /* ok expect 0x02 when we AND with 0011 1111 [3F] */
-   if ((*in++ & 0x3F) != 0x02) {
+   /* ok expect 0x02 when we AND with 0001 1111 [1F] */
+   x = 0;
+   if ((in[x++] & 0x1F) != 0x02) {
       return CRYPT_INVALID_PACKET;
    }
-   ++(*inlen);
 
    /* now decode the len stuff */
-   z = *in++;
-   ++(*inlen);
+   z = in[x++];
 
    if ((z & 0x80) == 0x00) {
       /* short form */
 
       /* will it overflow? */
-      if (*inlen + z > tmplen) {
+      if (x + z > inlen) {
          return CRYPT_INVALID_PACKET;
       }
      
       /* no so read it */
-      (*inlen) += z;
-      return mpi_to_ltc_error(mp_read_unsigned_bin(num, (unsigned char *)in, z));
+      if ((err = mpi_to_ltc_error(mp_read_unsigned_bin(num, (unsigned char *)in + x, z))) != CRYPT_OK) {
+         return err;
+      }
    } else {
       /* long form */
       z &= 0x7F;
       
       /* will number of length bytes overflow? (or > 4) */
-      if (((*inlen + z) > tmplen) || (z > 4)) {
+      if (((x + z) > inlen) || (z > 4) || (z == 0)) {
          return CRYPT_INVALID_PACKET;
       }
 
       /* now read it in */
       y = 0;
       while (z--) {
-         y = ((unsigned long)(*in++)) | (y << 8);
-         ++(*inlen);
+         y = ((unsigned long)(in[x++])) | (y << 8);
       }
 
       /* now will reading y bytes overrun? */
-      if ((*inlen + y) > tmplen) {
+      if ((x + y) > inlen) {
          return CRYPT_INVALID_PACKET;
       }
 
       /* no so read it */
-      (*inlen) += y;
-      return mpi_to_ltc_error(mp_read_unsigned_bin(num, (unsigned char *)in, y));
+      if ((err = mpi_to_ltc_error(mp_read_unsigned_bin(num, (unsigned char *)in + x, y))) != CRYPT_OK) {
+         return err;
+      }
    }
+
+   /* see if it's negative */
+   if (in[x] & 0x80) {
+      mp_int tmp;
+      if (mp_init(&tmp) != MP_OKAY) {
+         return CRYPT_MEM;
+      }
+
+      if (mp_2expt(&tmp, mp_count_bits(num)) != MP_OKAY || mp_sub(num, &tmp, num) != MP_OKAY) {
+         mp_clear(&tmp);
+         return CRYPT_MEM;
+      }
+      mp_clear(&tmp);
+   } 
+
+   return CRYPT_OK;
+
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/integer/der_decode_integer.c,v $ */
+/* $Revision: 1.2 $ */
+/* $Date: 2005/06/01 00:06:05 $ */
diff --git a/src/pk/asn1/der/der_encode_integer.c b/src/pk/asn1/der/integer/der_encode_integer.c
similarity index 53%
rename from src/pk/asn1/der/der_encode_integer.c
rename to src/pk/asn1/der/integer/der_encode_integer.c
index c5c5267b..f0f41be3 100644
--- a/src/pk/asn1/der/der_encode_integer.c
+++ b/src/pk/asn1/der/integer/der_encode_integer.c
@@ -28,7 +28,7 @@
 */
 int der_encode_integer(mp_int *num, unsigned char *out, unsigned long *outlen)
 {  
-   unsigned long tmplen, x, y, z;
+   unsigned long tmplen, y;
    int           err, leading_zero;
 
    LTC_ARGCHK(num    != NULL);
@@ -44,48 +44,43 @@ int der_encode_integer(mp_int *num, unsigned char *out, unsigned long *outlen)
       return CRYPT_BUFFER_OVERFLOW;
    }
 
-   /* we only need a leading zero if the msb of the first byte is one */
-   if ((mp_count_bits(num) & 7) == 7 || mp_iszero(num) == MP_YES) {
-      leading_zero = 1;
+   if (mp_cmp_d(num, 0) != MP_LT) {
+      /* we only need a leading zero if the msb of the first byte is one */
+      if ((mp_count_bits(num) & 7) == 0 || mp_iszero(num) == MP_YES) {
+         leading_zero = 1;
+      } else {
+         leading_zero = 0;
+      }
+
+      /* get length of num in bytes (plus 1 since we force the msbyte to zero) */
+      y = mp_unsigned_bin_size(num) + leading_zero;
    } else {
       leading_zero = 0;
-   }
+      y            = mp_count_bits(num);
+      y            = y + (8 - (y & 7));
+      y            = y >> 3;
 
-   /* get length of num in bytes (plus 1 since we force the msbyte to zero) */
-   y = mp_unsigned_bin_size(num) + leading_zero;
+   }
 
    /* now store initial data */
    *out++ = 0x02;
    if (y < 128) {
       /* short form */
       *out++ = (unsigned char)y;
+   } else if (y < 256) {
+      *out++ = 0x81;
+      *out++ = y;
+   } else if (y < 65536UL) {
+      *out++ = 0x82;
+      *out++ = (y>>8)&255;
+      *out++ = y;
+   } else if (y < 16777216UL) {
+      *out++ = 0x83;
+      *out++ = (y>>16)&255;
+      *out++ = (y>>8)&255;
+      *out++ = y;
    } else {
-      /* long form (relies on y != 0) */
-
-      /* get length of length... ;-) */
-      x = y;
-      z = 0;
-      while (x) {
-         ++z;
-         x >>= 8;
-      }
-      
-      /* store length of length */
-      *out++ = 0x80 | ((unsigned char)z);
-
-      /* now store length */
-      
-      /* first shift length up so msbyte != 0 */
-      x = y;
-      while ((x & 0xFF000000) == 0) {
-          x <<= 8;
-      }
-
-      /* now store length */
-      while (z--) {
-         *out++ = (unsigned char)((x >> 24) & 0xFF);
-         x <<= 8;
-      }
+      return CRYPT_INVALID_ARG;
    }
 
    /* now store msbyte of zero if num is non-zero */
@@ -94,11 +89,31 @@ int der_encode_integer(mp_int *num, unsigned char *out, unsigned long *outlen)
    }
 
    /* if it's not zero store it as big endian */
-   if (mp_iszero(num) == MP_NO) {
+   if (mp_cmp_d(num, 0) == MP_GT) {
       /* now store the mpint */
       if ((err = mp_to_unsigned_bin(num, out)) != MP_OKAY) {
           return mpi_to_ltc_error(err);
       }
+   } else if (mp_iszero(num) != MP_YES) {
+      mp_int tmp;
+      /* negative */
+      if (mp_init(&tmp) != MP_OKAY) {
+         return CRYPT_MEM;
+      }
+
+      /* 2^roundup and subtract */
+      y = mp_count_bits(num);
+      y = y + (8 - (y & 7));
+      if (mp_2expt(&tmp, y) != MP_OKAY || mp_add(&tmp, num, &tmp) != MP_OKAY) {
+         mp_clear(&tmp);
+         return CRYPT_MEM;
+      }
+
+      if ((err = mp_to_unsigned_bin(&tmp, out)) != MP_OKAY) {
+         mp_clear(&tmp);
+         return mpi_to_ltc_error(err);
+      }
+      mp_clear(&tmp);
    }
 
    /* we good */
@@ -107,3 +122,7 @@ int der_encode_integer(mp_int *num, unsigned char *out, unsigned long *outlen)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/integer/der_encode_integer.c,v $ */
+/* $Revision: 1.1 $ */
+/* $Date: 2005/05/16 15:08:11 $ */
diff --git a/src/pk/asn1/der/der_length_integer.c b/src/pk/asn1/der/integer/der_length_integer.c
similarity index 57%
rename from src/pk/asn1/der/der_length_integer.c
rename to src/pk/asn1/der/integer/der_length_integer.c
index f86738ad..1bfee458 100644
--- a/src/pk/asn1/der/der_length_integer.c
+++ b/src/pk/asn1/der/integer/der_length_integer.c
@@ -31,25 +31,33 @@ int der_length_integer(mp_int *num, unsigned long *outlen)
    LTC_ARGCHK(num     != NULL);
    LTC_ARGCHK(outlen  != NULL);
 
-   /* we only need a leading zero if the msb of the first byte is one */
-   if ((mp_count_bits(num) & 7) == 7 || mp_iszero(num) == MP_YES) {
-      leading_zero = 1;
+   if (mp_cmp_d(num, 0) != MP_LT) {
+      /* positive */
+
+      /* we only need a leading zero if the msb of the first byte is one */
+      if ((mp_count_bits(num) & 7) == 0 || mp_iszero(num) == MP_YES) {
+         leading_zero = 1;
+      } else {
+         leading_zero = 0;
+      }
+
+      /* size for bignum */
+      z = len = leading_zero + mp_unsigned_bin_size(num);
    } else {
+      /* it's negative */
+      /* find power of 2 that is a multiple of eight and greater than count bits */
       leading_zero = 0;
+      z = mp_count_bits(num);
+      z = z + (8 - (z & 7));
+      len = z = z >> 3;
    }
 
-   /* size for bignum */
-   z = len = leading_zero + mp_unsigned_bin_size(num);
-
-   /* we need a 0x02 */
-   ++len;
-
    /* now we need a length */
    if (z < 128) {
       /* short form */
       ++len;
    } else {
-      /* long form (relies on z != 0) */
+      /* long form (relies on z != 0), assumes length bytes < 128 */
       ++len;
 
       while (z) {
@@ -58,8 +66,16 @@ int der_length_integer(mp_int *num, unsigned long *outlen)
       }
    }
 
+   /* we need a 0x02 to indicate it's INTEGER */
+   ++len;
+
+   /* return length */
    *outlen = len; 
    return CRYPT_OK;
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/integer/der_length_integer.c,v $ */
+/* $Revision: 1.1 $ */
+/* $Date: 2005/05/16 15:08:11 $ */
diff --git a/src/pk/asn1/der/object_identifier/der_decode_object_identifier.c b/src/pk/asn1/der/object_identifier/der_decode_object_identifier.c
new file mode 100644
index 00000000..c69c9a3a
--- /dev/null
+++ b/src/pk/asn1/der/object_identifier/der_decode_object_identifier.c
@@ -0,0 +1,99 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_decode_object_identifier.c
+  ASN.1 DER, Decode Object Identifier, Tom St Denis
+*/
+
+#ifdef LTC_DER
+/**
+  Decode OID data and store the array of integers in words
+  @param in      The OID DER encoded data
+  @param inlen   The length of the OID data
+  @param words   [out] The destination of the OID words
+  @param outlen  [in/out] The number of OID words
+  @return CRYPT_OK if successful
+*/
+int der_decode_object_identifier(const unsigned char *in,    unsigned long  inlen,
+                                       unsigned long *words, unsigned long *outlen)
+{
+   unsigned long x, y, t, len;
+
+   LTC_ARGCHK(in     != NULL);
+   LTC_ARGCHK(words  != NULL);
+   LTC_ARGCHK(outlen != NULL);
+
+   /* header is at least 3 bytes */
+   if (inlen < 3) {
+      return CRYPT_INVALID_PACKET;
+   }
+
+   /* must be room for at least two words */
+   if (*outlen < 2) {
+      return CRYPT_BUFFER_OVERFLOW;
+   }
+
+   /* decode the packet header */
+   x = 0;
+   if ((in[x++] & 0x1F) != 0x06) {
+      return CRYPT_INVALID_PACKET;
+   }
+   
+   /* get the length */
+   if (in[x] < 128) {
+      len = in[x++]; 
+   } else {
+       if (in[x] < 0x81 || in[x] > 0x82) {
+          return CRYPT_INVALID_PACKET;
+       }
+       y   = in[x++] & 0x7F;
+       len = 0;
+       while (y--) {
+          len = (len << 8) | (unsigned long)in[x++];
+       }
+   }
+
+   if (len < 1 || (len + x) > inlen) {
+      return CRYPT_INVALID_PACKET;
+   }
+
+   /* decode word1 and word2 */
+   --len;
+   t = in[x++];
+   words[0] = t/40;
+   words[1] = t%40;
+
+   /* decode rest */
+   y = 2;
+   t = 0;
+   while (len--) {
+       t = (t << 7) | (in[x] & 0x7F);
+       if (!(in[x++] & 0x80)) {
+           /* store t */
+           if (y >= *outlen) {
+              return CRYPT_BUFFER_OVERFLOW;
+           }
+           words[y++] = t;
+           t          = 0;
+       }
+   }
+       
+   *outlen = y;
+   return CRYPT_OK;
+}
+
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/object_identifier/der_decode_object_identifier.c,v $ */
+/* $Revision: 1.1 $ */
+/* $Date: 2005/05/16 15:08:11 $ */
diff --git a/src/pk/asn1/der/object_identifier/der_encode_object_identifier.c b/src/pk/asn1/der/object_identifier/der_encode_object_identifier.c
new file mode 100644
index 00000000..16eb1126
--- /dev/null
+++ b/src/pk/asn1/der/object_identifier/der_encode_object_identifier.c
@@ -0,0 +1,103 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_encode_object_identifier.c
+  ASN.1 DER, Encode Object Identifier, Tom St Denis
+*/
+
+#ifdef LTC_DER
+/**
+  Encode an OID
+  @param words   The words to encode  (upto 32-bits each)
+  @param nwords  The number of words in the OID
+  @param out     [out] Destination of OID data
+  @param outlen  [in/out] The max and resulting size of the OID
+  @return CRYPT_OK if successful
+*/
+int der_encode_object_identifier(unsigned long *words, unsigned long  nwords,
+                                 unsigned char *out,   unsigned long *outlen)
+{
+   unsigned long i, x, y, z, t, mask;
+   int           err;
+
+   LTC_ARGCHK(words  != NULL);
+   LTC_ARGCHK(out    != NULL);
+   LTC_ARGCHK(outlen != NULL);
+
+   /* check length */
+   if ((err = der_length_object_identifier(words, nwords, &x)) != CRYPT_OK) {
+      return err;
+   }
+   if (x > *outlen) {
+      return CRYPT_BUFFER_OVERFLOW;
+   }
+
+   /* compute length to store OID data */
+   z = 1;
+   for (y = 2; y < nwords; y++) {
+       t = der_object_identifier_bits(words[y]);
+       z += t/7 + ((t%7) ? 1 : 0);
+   }
+
+   /* store header + length */
+   x = 0; 
+   out[x++] = 0x06;
+   if (z < 128) {
+      out[x++] = z;
+   } else if (z < 256) {
+      out[x++] = 0x81;
+      out[x++] = z;
+   } else if (z < 65536UL) {
+      out[x++] = 0x82;
+      out[x++] = (z>>8)&255;
+      out[x++] = z&255;
+   } else {
+      return CRYPT_INVALID_ARG;
+   }
+
+   /* store first byte */
+   out[x++] = words[0] * 40 + words[1];   
+   
+    for (i = 2; i < nwords; i++) {
+        /* store 7 bit words in little endian */
+        t    = words[i] & 0xFFFFFFFF;
+        if (t) {
+           y    = x;
+           mask = 0;
+           while (t) {
+               out[x++] = (t & 0x7F) | mask;
+               t    >>= 7;
+               mask  |= 0x80;  /* upper bit is set on all but the last byte */
+           }
+           /* now swap bytes y...x-1 */
+           z = x - 1;
+           while (y < z) {
+               t = out[y]; out[y] = out[z]; out[z] = t;
+               ++y; 
+               --z;
+           }
+       } else {
+          /* zero word */
+          out[x++] = 0x00;
+       }
+   }
+
+   *outlen = x;
+   return CRYPT_OK;
+}
+
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/object_identifier/der_encode_object_identifier.c,v $ */
+/* $Revision: 1.1 $ */
+/* $Date: 2005/05/16 15:08:11 $ */
diff --git a/src/pk/asn1/der/object_identifier/der_length_object_identifier.c b/src/pk/asn1/der/object_identifier/der_length_object_identifier.c
new file mode 100644
index 00000000..d03d1a79
--- /dev/null
+++ b/src/pk/asn1/der/object_identifier/der_length_object_identifier.c
@@ -0,0 +1,84 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_length_object_identifier.c
+  ASN.1 DER, get length of Object Identifier, Tom St Denis
+*/
+
+#ifdef LTC_DER
+
+unsigned long der_object_identifier_bits(unsigned long x)
+{
+   unsigned long c;
+   x &= 0xFFFFFFFF;
+   c  = 0;
+   while (x) {
+     ++c;
+     x >>= 1;
+   }
+   return c;
+}
+
+
+/**
+  Gets length of DER encoding of Object Identifier
+  @param nwords   The number of OID words 
+  @param words    The actual OID words to get the size of
+  @param outlen   [out] The length of the DER encoding for the given string
+  @return CRYPT_OK if successful
+*/
+int der_length_object_identifier(unsigned long *words, unsigned long nwords, unsigned long *outlen)
+{
+   unsigned long y, z, t;   
+
+   LTC_ARGCHK(words  != NULL);
+   LTC_ARGCHK(outlen != NULL);
+
+
+   /* must be >= 2 words */
+   if (nwords < 2) {
+      return CRYPT_INVALID_ARG;
+   }
+
+   /* word1 = 0,1,2 and word2 0..39 */
+   if (words[0] > 2 || words[1] > 39) {
+      return CRYPT_INVALID_ARG;
+   }
+
+   /* leading byte of first two words */
+   z = 1;
+   for (y = 2; y < nwords; y++) {
+       t = der_object_identifier_bits(words[y]);
+       z += t/7 + ((t%7) ? 1 : 0);
+   }
+
+   /* now depending on the length our length encoding changes */
+   if (z < 128) {
+      z += 2;
+   } else if (z < 256) {
+      z += 3;
+   } else if (z < 65536UL) {
+      z += 4;
+   } else {
+      return CRYPT_INVALID_ARG;
+   }
+
+   *outlen = z;
+   return CRYPT_OK;
+}
+
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/object_identifier/der_length_object_identifier.c,v $ */
+/* $Revision: 1.1 $ */
+/* $Date: 2005/05/16 15:08:11 $ */
diff --git a/src/pk/asn1/der/octet/der_decode_octet_string.c b/src/pk/asn1/der/octet/der_decode_octet_string.c
new file mode 100644
index 00000000..2d3800f1
--- /dev/null
+++ b/src/pk/asn1/der/octet/der_decode_octet_string.c
@@ -0,0 +1,90 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_decode_octet_string.c
+  ASN.1 DER, encode a OCTET STRING, Tom St Denis
+*/
+
+
+#ifdef LTC_DER
+
+/**
+  Store a OCTET STRING
+  @param in      The DER encoded OCTET STRING
+  @param inlen   The size of the DER OCTET STRING
+  @param out     [out] The array of octets stored (one per char)
+  @param outlen  [in/out] The number of octets stored
+  @return CRYPT_OK if successful
+*/
+int der_decode_octet_string(const unsigned char *in, unsigned long inlen,
+                                  unsigned char *out, unsigned long *outlen)
+{
+   unsigned long x, y, len;
+
+   LTC_ARGCHK(in     != NULL);
+   LTC_ARGCHK(out    != NULL);
+   LTC_ARGCHK(outlen != NULL);
+
+   /* must have header at least */
+   if (inlen < 2) {
+      return CRYPT_INVALID_PACKET;
+   }
+
+   /* check for 0x04 */
+   if ((in[0] & 0x1F) != 0x04) {
+      return CRYPT_INVALID_PACKET;
+   }
+   x = 1;
+
+   /* decode the length */
+   if (in[x] & 0x80) {
+      /* valid # of bytes in length are 1,2,3 */
+      y = in[x] & 0x7F;
+      if ((y == 0) || (y > 3) || ((x + y) > inlen)) {
+         return CRYPT_INVALID_PACKET;
+      }
+
+      /* read the length in */
+      len = 0;
+      ++x;
+      while (y--) {
+         len = (len << 8) | in[x++];
+      }
+   } else {
+      len = in[x++] & 0x7F;
+   }
+
+   /* is it too long? */
+   if (len > *outlen) {
+      return CRYPT_BUFFER_OVERFLOW;
+   }
+
+   if (len + x > inlen) {
+      return CRYPT_INVALID_PACKET;
+   }
+
+   /* read the data */
+   for (y = 0; y < len; y++) {
+       out[y] = in[x++];
+   }
+
+   *outlen = y;
+
+   return CRYPT_OK;
+}
+ 
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/octet/der_decode_octet_string.c,v $ */
+/* $Revision: 1.1 $ */
+/* $Date: 2005/05/16 15:08:11 $ */
diff --git a/src/pk/asn1/der/octet/der_encode_octet_string.c b/src/pk/asn1/der/octet/der_encode_octet_string.c
new file mode 100644
index 00000000..f34b708e
--- /dev/null
+++ b/src/pk/asn1/der/octet/der_encode_octet_string.c
@@ -0,0 +1,85 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_encode_octet_string.c
+  ASN.1 DER, encode a OCTET STRING, Tom St Denis
+*/
+
+
+#ifdef LTC_DER
+
+/**
+  Store an OCTET STRING
+  @param in       The array of OCTETS to store (one per char)
+  @param inlen    The number of OCTETS to store
+  @param out      [out] The destination for the DER encoded OCTET STRING
+  @param outlen   [in/out] The max size and resulting size of the DER OCTET STRING
+  @return CRYPT_OK if successful
+*/
+int der_encode_octet_string(const unsigned char *in, unsigned long inlen,
+                                  unsigned char *out, unsigned long *outlen)
+{
+   unsigned long x, y, len;
+   int           err;
+
+   LTC_ARGCHK(in     != NULL);
+   LTC_ARGCHK(out    != NULL);
+   LTC_ARGCHK(outlen != NULL);
+
+   /* get the size */
+   if ((err = der_length_octet_string(inlen, &len)) != CRYPT_OK) {
+      return err; 
+   }
+
+   /* too big? */
+   if (len > *outlen) {
+      return CRYPT_BUFFER_OVERFLOW;
+   }
+
+   /* encode the header+len */
+   x = 0;
+   out[x++] = 0x04;
+   if (inlen < 128) {
+      out[x++] = inlen;
+   } else if (inlen < 256) {
+      out[x++] = 0x81;
+      out[x++] = inlen;
+   } else if (inlen < 65536UL) {
+      out[x++] = 0x82;
+      out[x++] = (inlen>>8)&255;
+      out[x++] = inlen&255;
+   } else if (inlen < 16777216UL) {
+      out[x++] = 0x83;
+      out[x++] = (inlen>>16)&255;
+      out[x++] = (inlen>>8)&255;
+      out[x++] = inlen&255;
+   } else {
+      return CRYPT_INVALID_ARG;
+   }
+
+   /* store octets */
+   for (y = 0; y < inlen; y++) {
+       out[x++] = in[y];
+   }
+
+   /* retun length */
+   *outlen = x;
+
+   return CRYPT_OK;
+}
+
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/octet/der_encode_octet_string.c,v $ */
+/* $Revision: 1.1 $ */
+/* $Date: 2005/05/16 15:08:11 $ */
diff --git a/src/pk/asn1/der/octet/der_length_octet_string.c b/src/pk/asn1/der/octet/der_length_octet_string.c
new file mode 100644
index 00000000..9a0bed38
--- /dev/null
+++ b/src/pk/asn1/der/octet/der_length_octet_string.c
@@ -0,0 +1,53 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_length_octet_string.c
+  ASN.1 DER, get length of OCTET STRING, Tom St Denis
+*/
+
+#ifdef LTC_DER
+/**
+  Gets length of DER encoding of OCTET STRING 
+  @param noctets  The number of octets in the string to encode
+  @param outlen   [out] The length of the DER encoding for the given string
+  @return CRYPT_OK if successful
+*/
+int der_length_octet_string(unsigned long noctets, unsigned long *outlen)
+{
+   LTC_ARGCHK(outlen != NULL);
+
+   if (noctets < 128) {
+      /* 04 LL DD DD DD ... */
+      *outlen = 2 + noctets;
+   } else if (noctets < 256) {
+      /* 04 81 LL DD DD DD ... */
+      *outlen = 3 + noctets;
+   } else if (noctets < 65536UL) {
+      /* 04 82 LL LL DD DD DD ... */
+      *outlen = 4 + noctets;
+   } else if (noctets < 16777216UL) {
+      /* 04 83 LL LL LL DD DD DD ... */
+      *outlen = 5 + noctets;
+   } else {
+      return CRYPT_INVALID_ARG;
+   }
+
+   return CRYPT_OK;
+}
+
+#endif
+
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/octet/der_length_octet_string.c,v $ */
+/* $Revision: 1.1 $ */
+/* $Date: 2005/05/16 15:08:11 $ */
diff --git a/src/pk/asn1/der/printable_string/der_decode_printable_string.c b/src/pk/asn1/der/printable_string/der_decode_printable_string.c
new file mode 100644
index 00000000..cbc92392
--- /dev/null
+++ b/src/pk/asn1/der/printable_string/der_decode_printable_string.c
@@ -0,0 +1,95 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_decode_printable_string.c
+  ASN.1 DER, encode a printable STRING, Tom St Denis
+*/
+
+
+#ifdef LTC_DER
+
+/**
+  Store a printable STRING
+  @param in      The DER encoded printable STRING
+  @param inlen   The size of the DER printable STRING
+  @param out     [out] The array of octets stored (one per char)
+  @param outlen  [in/out] The number of octets stored
+  @return CRYPT_OK if successful
+*/
+int der_decode_printable_string(const unsigned char *in, unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen)
+{
+   unsigned long x, y, len;
+   int           t;
+
+   LTC_ARGCHK(in     != NULL);
+   LTC_ARGCHK(out    != NULL);
+   LTC_ARGCHK(outlen != NULL);
+
+   /* must have header at least */
+   if (inlen < 2) {
+      return CRYPT_INVALID_PACKET;
+   }
+
+   /* check for 0x13 */
+   if ((in[0] & 0x1F) != 0x13) {
+      return CRYPT_INVALID_PACKET;
+   }
+   x = 1;
+
+   /* decode the length */
+   if (in[x] & 0x80) {
+      /* valid # of bytes in length are 1,2,3 */
+      y = in[x] & 0x7F;
+      if ((y == 0) || (y > 3) || ((x + y) > inlen)) {
+         return CRYPT_INVALID_PACKET;
+      }
+
+      /* read the length in */
+      len = 0;
+      ++x;
+      while (y--) {
+         len = (len << 8) | in[x++];
+      }
+   } else {
+      len = in[x++] & 0x7F;
+   }
+
+   /* is it too long? */
+   if (len > *outlen) {
+      return CRYPT_BUFFER_OVERFLOW;
+   }
+
+   if (len + x > inlen) {
+      return CRYPT_INVALID_PACKET;
+   }
+
+   /* read the data */
+   for (y = 0; y < len; y++) {
+       t = der_printable_value_decode(in[x++]);
+       if (t == -1) {
+           return CRYPT_INVALID_ARG;
+       }
+       out[y] = t;
+   }
+
+   *outlen = y;
+
+   return CRYPT_OK;
+}
+ 
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/printable_string/der_decode_printable_string.c,v $ */
+/* $Revision: 1.1 $ */
+/* $Date: 2005/05/21 02:29:54 $ */
diff --git a/src/pk/asn1/der/printable_string/der_encode_printable_string.c b/src/pk/asn1/der/printable_string/der_encode_printable_string.c
new file mode 100644
index 00000000..ab4e8bf2
--- /dev/null
+++ b/src/pk/asn1/der/printable_string/der_encode_printable_string.c
@@ -0,0 +1,84 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_encode_printable_string.c
+  ASN.1 DER, encode a printable STRING, Tom St Denis
+*/
+
+#ifdef LTC_DER
+
+/**
+  Store an printable STRING
+  @param in       The array of printable to store (one per char)
+  @param inlen    The number of printable to store
+  @param out      [out] The destination for the DER encoded printable STRING
+  @param outlen   [in/out] The max size and resulting size of the DER printable STRING
+  @return CRYPT_OK if successful
+*/
+int der_encode_printable_string(const unsigned char *in, unsigned long inlen,
+                                unsigned char *out, unsigned long *outlen)
+{
+   unsigned long x, y, len;
+   int           err;
+
+   LTC_ARGCHK(in     != NULL);
+   LTC_ARGCHK(out    != NULL);
+   LTC_ARGCHK(outlen != NULL);
+
+   /* get the size */
+   if ((err = der_length_printable_string(in, inlen, &len)) != CRYPT_OK) {
+      return err; 
+   }
+
+   /* too big? */
+   if (len > *outlen) {
+      return CRYPT_BUFFER_OVERFLOW;
+   }
+
+   /* encode the header+len */
+   x = 0;
+   out[x++] = 0x13;
+   if (inlen < 128) {
+      out[x++] = inlen;
+   } else if (inlen < 256) {
+      out[x++] = 0x81;
+      out[x++] = inlen;
+   } else if (inlen < 65536UL) {
+      out[x++] = 0x82;
+      out[x++] = (inlen>>8)&255;
+      out[x++] = inlen&255;
+   } else if (inlen < 16777216UL) {
+      out[x++] = 0x83;
+      out[x++] = (inlen>>16)&255;
+      out[x++] = (inlen>>8)&255;
+      out[x++] = inlen&255;
+   } else {
+      return CRYPT_INVALID_ARG;
+   }
+
+   /* store octets */
+   for (y = 0; y < inlen; y++) {
+       out[x++] = der_printable_char_encode(in[y]);
+   }
+
+   /* retun length */
+   *outlen = x;
+
+   return CRYPT_OK;
+}
+
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/printable_string/der_encode_printable_string.c,v $ */
+/* $Revision: 1.1 $ */
+/* $Date: 2005/05/21 02:29:54 $ */
diff --git a/src/pk/asn1/der/printable_string/der_length_printable_string.c b/src/pk/asn1/der/printable_string/der_length_printable_string.c
new file mode 100644
index 00000000..34065f23
--- /dev/null
+++ b/src/pk/asn1/der/printable_string/der_length_printable_string.c
@@ -0,0 +1,166 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_length_printable_string.c
+  ASN.1 DER, get length of Printable STRING, Tom St Denis
+*/
+
+#ifdef LTC_DER
+
+static const struct {
+   int code, value;
+} printable_table[] = {
+{ ' ', 32 }, 
+{ '\'', 39 }, 
+{ '(', 40 }, 
+{ ')', 41 }, 
+{ '+', 43 }, 
+{ ',', 44 }, 
+{ '-', 45 }, 
+{ '.', 46 }, 
+{ '/', 47 }, 
+{ '0', 48 }, 
+{ '1', 49 }, 
+{ '2', 50 }, 
+{ '3', 51 }, 
+{ '4', 52 }, 
+{ '5', 53 }, 
+{ '6', 54 }, 
+{ '7', 55 }, 
+{ '8', 56 }, 
+{ '9', 57 }, 
+{ ':', 58 }, 
+{ '=', 61 }, 
+{ '?', 63 }, 
+{ 'A', 65 }, 
+{ 'B', 66 }, 
+{ 'C', 67 }, 
+{ 'D', 68 }, 
+{ 'E', 69 }, 
+{ 'F', 70 }, 
+{ 'G', 71 }, 
+{ 'H', 72 }, 
+{ 'I', 73 }, 
+{ 'J', 74 }, 
+{ 'K', 75 }, 
+{ 'L', 76 }, 
+{ 'M', 77 }, 
+{ 'N', 78 }, 
+{ 'O', 79 }, 
+{ 'P', 80 }, 
+{ 'Q', 81 }, 
+{ 'R', 82 }, 
+{ 'S', 83 }, 
+{ 'T', 84 }, 
+{ 'U', 85 }, 
+{ 'V', 86 }, 
+{ 'W', 87 }, 
+{ 'X', 88 }, 
+{ 'Y', 89 }, 
+{ 'Z', 90 }, 
+{ 'a', 97 }, 
+{ 'b', 98 }, 
+{ 'c', 99 }, 
+{ 'd', 100 }, 
+{ 'e', 101 }, 
+{ 'f', 102 }, 
+{ 'g', 103 }, 
+{ 'h', 104 }, 
+{ 'i', 105 }, 
+{ 'j', 106 }, 
+{ 'k', 107 }, 
+{ 'l', 108 }, 
+{ 'm', 109 }, 
+{ 'n', 110 }, 
+{ 'o', 111 }, 
+{ 'p', 112 }, 
+{ 'q', 113 }, 
+{ 'r', 114 }, 
+{ 's', 115 }, 
+{ 't', 116 }, 
+{ 'u', 117 }, 
+{ 'v', 118 }, 
+{ 'w', 119 }, 
+{ 'x', 120 }, 
+{ 'y', 121 }, 
+{ 'z', 122 }, 
+};
+
+int der_printable_char_encode(int c)
+{
+   int x;
+   for (x = 0; x < (int)(sizeof(printable_table)/sizeof(printable_table[0])); x++) {
+       if (printable_table[x].code == c) {
+          return printable_table[x].value;
+       }
+   }
+   return -1;
+}
+
+int der_printable_value_decode(int v)
+{
+   int x;
+   for (x = 0; x < (int)(sizeof(printable_table)/sizeof(printable_table[0])); x++) {
+       if (printable_table[x].value == v) {
+          return printable_table[x].code;
+       }
+   }
+   return -1;
+}
+   
+/**
+  Gets length of DER encoding of Printable STRING 
+  @param octets   The values you want to encode 
+  @param noctets  The number of octets in the string to encode
+  @param outlen   [out] The length of the DER encoding for the given string
+  @return CRYPT_OK if successful
+*/
+int der_length_printable_string(const unsigned char *octets, unsigned long noctets, unsigned long *outlen)
+{
+   unsigned long x;
+
+   LTC_ARGCHK(outlen != NULL);
+   LTC_ARGCHK(octets != NULL);
+
+   /* scan string for validity */
+   for (x = 0; x < noctets; x++) {
+       if (der_printable_char_encode(octets[x]) == -1) {
+          return CRYPT_INVALID_ARG;
+       }
+   }
+
+   if (noctets < 128) {
+      /* 16 LL DD DD DD ... */
+      *outlen = 2 + noctets;
+   } else if (noctets < 256) {
+      /* 16 81 LL DD DD DD ... */
+      *outlen = 3 + noctets;
+   } else if (noctets < 65536UL) {
+      /* 16 82 LL LL DD DD DD ... */
+      *outlen = 4 + noctets;
+   } else if (noctets < 16777216UL) {
+      /* 16 83 LL LL LL DD DD DD ... */
+      *outlen = 5 + noctets;
+   } else {
+      return CRYPT_INVALID_ARG;
+   }
+
+   return CRYPT_OK;
+}
+
+#endif
+
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/printable_string/der_length_printable_string.c,v $ */
+/* $Revision: 1.1 $ */
+/* $Date: 2005/05/21 02:29:54 $ */
diff --git a/src/pk/asn1/der/sequence/der_decode_sequence.c b/src/pk/asn1/der/sequence/der_decode_sequence.c
new file mode 100644
index 00000000..335a882b
--- /dev/null
+++ b/src/pk/asn1/der/sequence/der_decode_sequence.c
@@ -0,0 +1,234 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+#include <stdarg.h>
+
+
+/**
+  @file der_decode_sequence.c
+  ASN.1 DER, decode a SEQUENCE, Tom St Denis
+*/
+
+#ifdef LTC_DER
+
+/**
+   Decode a SEQUENCE
+   @param in       The DER encoded input
+   @param inlen    The size of the input
+   @param list     The list of items to decode
+   @param outlen   The number of items in the list
+   @return CRYPT_OK on success
+*/
+int der_decode_sequence(const unsigned char *in,   unsigned long  inlen,
+                              ltc_asn1_list *list, unsigned long  outlen)
+{
+   int           err, type;
+   unsigned long size, x, y, z, i, blksize;
+   void          *data;
+
+   LTC_ARGCHK(in   != NULL);
+   LTC_ARGCHK(list != NULL);
+
+   /* get blk size */
+   if (inlen < 2) {
+      return CRYPT_INVALID_PACKET;
+   }
+
+   /* sequence type? */
+   x = 0;
+   if (in[x++] != 0x30) {
+      return CRYPT_INVALID_PACKET;
+   }
+
+   if (in[x] < 128) {
+      blksize = in[x++];
+   } else if (in[x] & 0x80) {
+      if (in[x] < 0x81 || in[x] > 0x83) {
+         return CRYPT_INVALID_PACKET;
+      }
+      y = in[x++] & 0x7F;
+
+      /* would reading the len bytes overrun? */
+      if (x + y > inlen) {
+         return CRYPT_INVALID_PACKET;
+      }
+
+      /* read len */
+      blksize = 0;
+      while (y--) {
+          blksize = (blksize << 8) | (unsigned long)in[x++];
+      }
+  }
+
+  /* would this blksize overflow? */
+  if (x + blksize > inlen) {
+     return CRYPT_INVALID_PACKET;
+  }
+
+  /* ok read data */
+   inlen = blksize;
+   for (i = 0; i < outlen; i++) {
+       type = list[i].type;
+       size = list[i].size;
+       data = list[i].data;
+
+       if (type == LTC_ASN1_EOL) { 
+          break;
+       }
+
+       switch (type) {
+           case LTC_ASN1_INTEGER:
+               z = inlen;
+               if ((err = der_decode_integer(in + x, z, data)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               if ((err = der_length_integer(data, &z)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x     += z;
+               inlen -= z;
+               break;
+
+
+           case LTC_ASN1_SHORT_INTEGER:
+               z = inlen;
+               if ((err = der_decode_short_integer(in + x, z, data)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               if ((err = der_length_short_integer(size, &z)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x     += z;
+               inlen -= z;
+               break;
+
+           case LTC_ASN1_BIT_STRING:
+               z = inlen;
+               if ((err = der_decode_bit_string(in + x, z, data, &size)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               list[i].size = size;
+               if ((err = der_length_bit_string(size, &z)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x     += z;
+               inlen -= z;
+               break;
+
+           case LTC_ASN1_OCTET_STRING:
+               z = inlen;
+               if ((err = der_decode_octet_string(in + x, z, data, &size)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               list[i].size = size;
+               if ((err = der_length_octet_string(size, &z)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x     += z;
+               inlen -= z;
+               break;
+
+           case LTC_ASN1_NULL:
+               if (inlen < 2 || in[x] != 0x05 || in[x+1] != 0x00) {
+                  err = CRYPT_INVALID_PACKET;
+                  goto LBL_ERR;
+               }
+               x     += 2;
+               inlen -= 2;
+               break;
+                  
+           case LTC_ASN1_OBJECT_IDENTIFIER:
+               z = inlen;
+               if ((err = der_decode_object_identifier(in + x, z, data, &size)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               list[i].size = size;
+               if ((err = der_length_object_identifier(data, size, &z)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x     += z;
+               inlen -= z;
+               break;
+
+           case LTC_ASN1_IA5_STRING:
+               z = inlen;
+               if ((err = der_decode_ia5_string(in + x, z, data, &size)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               list[i].size = size;
+               if ((err = der_length_ia5_string(data, size, &z)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x     += z;
+               inlen -= z;
+               break;
+
+
+           case LTC_ASN1_PRINTABLE_STRING:
+               z = inlen;
+               if ((err = der_decode_printable_string(in + x, z, data, &size)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               list[i].size = size;
+               if ((err = der_length_printable_string(data, size, &z)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x     += z;
+               inlen -= z;
+               break;
+
+           case LTC_ASN1_UTCTIME:
+               z = inlen;
+               if ((err = der_decode_utctime(in + x, &z, data)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x     += z;
+               inlen -= z;
+               break;
+
+           case LTC_ASN1_SEQUENCE:
+               z = inlen;
+               if ((err = der_decode_sequence(in + x, z, data, size)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               if ((err = der_length_sequence(data, size, &z)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x     += z;
+               inlen -= z;
+               break;
+
+
+           case LTC_ASN1_CHOICE:
+               z = inlen;
+               if ((err = der_decode_choice(in + x, &z, data, size)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x     += z;
+               inlen -= z;
+               break;
+
+           default:
+               err = CRYPT_INVALID_ARG;
+               goto LBL_ERR;
+       }
+   }
+   err = CRYPT_OK;   
+
+LBL_ERR:
+   return err;
+}  
+ 
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/sequence/der_decode_sequence.c,v $ */
+/* $Revision: 1.8 $ */
+/* $Date: 2005/06/18 19:20:23 $ */
diff --git a/src/pk/asn1/der/sequence/der_decode_sequence_multi.c b/src/pk/asn1/der/sequence/der_decode_sequence_multi.c
new file mode 100644
index 00000000..a4a1038f
--- /dev/null
+++ b/src/pk/asn1/der/sequence/der_decode_sequence_multi.c
@@ -0,0 +1,124 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+#include <stdarg.h>
+
+
+/**
+  @file der_decode_sequence_multi.c
+  ASN.1 DER, decode a SEQUENCE, Tom St Denis
+*/
+
+#ifdef LTC_DER
+
+int der_decode_sequence_multi(const unsigned char *in, unsigned long inlen, ...)
+{
+   int           err, type;
+   unsigned long size, x;
+   void          *data;
+   va_list       args;
+   ltc_asn1_list *list;
+
+   LTC_ARGCHK(in    != NULL);
+
+   /* get size of output that will be required */
+   va_start(args, inlen);
+   x = 0;
+   for (;;) {
+       type = va_arg(args, int);
+       size = va_arg(args, unsigned long);
+       data = va_arg(args, void*);
+
+       if (type == LTC_ASN1_EOL) { 
+          break;
+       }
+
+       switch (type) {
+           case LTC_ASN1_INTEGER:
+           case LTC_ASN1_SHORT_INTEGER:
+           case LTC_ASN1_BIT_STRING:
+           case LTC_ASN1_OCTET_STRING:
+           case LTC_ASN1_NULL:
+           case LTC_ASN1_OBJECT_IDENTIFIER:
+           case LTC_ASN1_IA5_STRING:
+           case LTC_ASN1_PRINTABLE_STRING:
+           case LTC_ASN1_UTCTIME:
+           case LTC_ASN1_SEQUENCE:
+           case LTC_ASN1_CHOICE:
+                ++x; 
+                break;
+          
+           default:
+               va_end(args);
+               return CRYPT_INVALID_ARG;
+       }
+   }
+   va_end(args);
+
+   /* allocate structure for x elements */
+   if (x == 0) {
+      return CRYPT_NOP;
+   }
+
+   list = XCALLOC(sizeof(*list), x);
+   if (list == NULL) {
+      return CRYPT_MEM;
+   }
+
+   /* fill in the structure */
+   va_start(args, inlen);
+   x = 0;
+   for (;;) {
+       type = va_arg(args, int);
+       size = va_arg(args, unsigned long);
+       data = va_arg(args, void*);
+
+       if (type == LTC_ASN1_EOL) { 
+          break;
+       }
+
+       switch (type) {
+           case LTC_ASN1_INTEGER:
+           case LTC_ASN1_SHORT_INTEGER:
+           case LTC_ASN1_BIT_STRING:
+           case LTC_ASN1_OCTET_STRING:
+           case LTC_ASN1_NULL:
+           case LTC_ASN1_OBJECT_IDENTIFIER:
+           case LTC_ASN1_IA5_STRING:
+           case LTC_ASN1_PRINTABLE_STRING:
+           case LTC_ASN1_UTCTIME:
+           case LTC_ASN1_SEQUENCE:
+           case LTC_ASN1_CHOICE:
+                list[x].type   = type;
+                list[x].size   = size;
+                list[x++].data = data;
+                break;
+         
+           default:
+               va_end(args);
+               err = CRYPT_INVALID_ARG;
+               goto LBL_ERR;
+       }
+   }
+   va_end(args);
+
+   err = der_decode_sequence(in, inlen, list, x);
+LBL_ERR:
+   XFREE(list);
+   return err;
+}
+
+#endif
+
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/sequence/der_decode_sequence_multi.c,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/06/18 19:20:23 $ */
diff --git a/src/pk/asn1/der/sequence/der_encode_sequence.c b/src/pk/asn1/der/sequence/der_encode_sequence.c
new file mode 100644
index 00000000..d53153c6
--- /dev/null
+++ b/src/pk/asn1/der/sequence/der_encode_sequence.c
@@ -0,0 +1,281 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+#include <stdarg.h>
+
+
+/**
+  @file der_encode_sequence.c
+  ASN.1 DER, encode a SEQUENCE, Tom St Denis
+*/
+
+#ifdef LTC_DER
+
+/**
+   Encode a SEQUENCE
+   @param list      The list of items to encode
+   @param inlen     The number of items in the list
+   @param out       [out] The destination 
+   @param outlen    [in/out] The size of the output
+   @return CRYPT_OK on success
+*/
+int der_encode_sequence(ltc_asn1_list *list, unsigned long inlen,
+                        unsigned char *out,  unsigned long *outlen) 
+{
+   int           err, type;
+   unsigned long size, x, y, z, i;
+   void          *data;
+
+   LTC_ARGCHK(list    != NULL);
+   LTC_ARGCHK(out     != NULL);
+   LTC_ARGCHK(outlen  != NULL);
+
+   /* get size of output that will be required */
+   y = 0;
+   for (i = 0; i < inlen; i++) {
+       type = list[i].type;
+       size = list[i].size;
+       data = list[i].data;
+
+       if (type == LTC_ASN1_EOL) { 
+          break;
+       }
+
+       switch (type) {
+           case LTC_ASN1_INTEGER:
+               if ((err = der_length_integer(data, &x)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               y += x;
+               break;
+
+           case LTC_ASN1_SHORT_INTEGER:
+               if ((err = der_length_short_integer(*((unsigned long*)data), &x)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               y += x;
+               break;
+
+           case LTC_ASN1_BIT_STRING:
+               if ((err = der_length_bit_string(size, &x)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               y += x;
+               break;
+
+           case LTC_ASN1_OCTET_STRING:
+               if ((err = der_length_octet_string(size, &x)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               y += x;
+               break;
+
+           case LTC_ASN1_NULL:
+               y += 2;
+               break;
+
+           case LTC_ASN1_OBJECT_IDENTIFIER:
+               if ((err = der_length_object_identifier(data, size, &x)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               y += x;
+               break;
+
+           case LTC_ASN1_IA5_STRING:
+               if ((err = der_length_ia5_string(data, size, &x)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               y += x;
+               break;
+
+           case LTC_ASN1_PRINTABLE_STRING:
+               if ((err = der_length_printable_string(data, size, &x)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               y += x;
+               break;
+
+           case LTC_ASN1_UTCTIME:
+               if ((err = der_length_utctime(data, &x)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               y += x;
+               break;
+
+           case LTC_ASN1_SEQUENCE:
+               if ((err = der_length_sequence(data, size, &x)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               y += x;
+               break;
+
+          
+           default:
+               err = CRYPT_INVALID_ARG;
+               goto LBL_ERR;
+       }
+   }
+
+   /* calc header size */
+   z = y;
+   if (y < 128) {
+      y += 2;
+   } else if (y < 256) {
+      /* 0x30 0x81 LL */
+      y += 3;
+   } else if (y < 65536UL) {
+      /* 0x30 0x82 LL LL */
+      y += 4;
+   } else if (y < 16777216UL) {
+      /* 0x30 0x83 LL LL LL */
+      y += 5;
+   } else {
+      err = CRYPT_INVALID_ARG;
+      goto LBL_ERR;
+   }
+
+   /* too big ? */
+   if (*outlen < y) {
+      err = CRYPT_BUFFER_OVERFLOW;
+      goto LBL_ERR;
+   }
+
+   /* store header */
+   x = 0;
+   out[x++] = 0x30;
+   if (z < 128) {
+      out[x++] = z;
+   } else if (z < 256) {
+      out[x++] = 0x81;
+      out[x++] = z;
+   } else if (z < 65536UL) {
+      out[x++] = 0x82;
+      out[x++] = (z>>8UL)&255;
+      out[x++] = z&255;
+   } else if (z < 16777216UL) {
+      out[x++] = 0x83;
+      out[x++] = (z>>16UL)&255;
+      out[x++] = (z>>8UL)&255;
+      out[x++] = z&255;
+   }
+
+   /* store data */
+   *outlen -= x;
+   for (i = 0; i < inlen; i++) {
+       type = list[i].type;
+       size = list[i].size;
+       data = list[i].data;
+
+       if (type == LTC_ASN1_EOL) { 
+          break;
+       }
+
+       switch (type) {
+           case LTC_ASN1_INTEGER:
+               z = *outlen;
+               if ((err = der_encode_integer(data, out + x, &z)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x       += z;
+               *outlen -= z;
+               break;
+
+           case LTC_ASN1_SHORT_INTEGER:
+               z = *outlen;
+               if ((err = der_encode_short_integer(*((unsigned long*)data), out + x, &z)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x       += z;
+               *outlen -= z;
+               break;
+
+           case LTC_ASN1_BIT_STRING:
+               z = *outlen;
+               if ((err = der_encode_bit_string(data, size, out + x, &z)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x       += z;
+               *outlen -= z;
+               break;
+
+           case LTC_ASN1_OCTET_STRING:
+               z = *outlen;
+               if ((err = der_encode_octet_string(data, size, out + x, &z)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x       += z;
+               *outlen -= z;
+               break;
+
+           case LTC_ASN1_NULL:
+               out[x++] = 0x05;
+               out[x++] = 0x00;
+               *outlen -= 2;
+               break;
+
+           case LTC_ASN1_OBJECT_IDENTIFIER:
+               z = *outlen;
+               if ((err = der_encode_object_identifier(data, size, out + x, &z)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x       += z;
+               *outlen -= z;
+               break;
+
+           case LTC_ASN1_IA5_STRING:
+               z = *outlen;
+               if ((err = der_encode_ia5_string(data, size, out + x, &z)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x       += z;
+               *outlen -= z;
+               break;
+          
+           case LTC_ASN1_PRINTABLE_STRING:
+               z = *outlen;
+               if ((err = der_encode_printable_string(data, size, out + x, &z)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x       += z;
+               *outlen -= z;
+               break;
+
+           case LTC_ASN1_UTCTIME:
+               z = *outlen;
+               if ((err = der_encode_utctime(data, out + x, &z)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x       += z;
+               *outlen -= z;
+               break;
+
+           case LTC_ASN1_SEQUENCE:
+               z = *outlen;
+               if ((err = der_encode_sequence(data, size, out + x, &z)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               x       += z;
+               *outlen -= z;
+               break;
+
+           default:
+               err = CRYPT_INVALID_ARG;
+               goto LBL_ERR;
+       }
+   }
+   *outlen = x;
+   err = CRYPT_OK;   
+
+LBL_ERR:
+   return err;
+}
+
+#endif
diff --git a/src/pk/asn1/der/sequence/der_encode_sequence_multi.c b/src/pk/asn1/der/sequence/der_encode_sequence_multi.c
new file mode 100644
index 00000000..9ff48b9f
--- /dev/null
+++ b/src/pk/asn1/der/sequence/der_encode_sequence_multi.c
@@ -0,0 +1,123 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+#include <stdarg.h>
+
+
+/**
+  @file der_encode_sequence_multi.c
+  ASN.1 DER, encode a SEQUENCE, Tom St Denis
+*/
+
+#ifdef LTC_DER
+
+int der_encode_sequence_multi(unsigned char *out, unsigned long *outlen, ...)
+{
+   int           err, type;
+   unsigned long size, x;
+   void          *data;
+   va_list       args;
+   ltc_asn1_list *list;
+
+   LTC_ARGCHK(out    != NULL);
+   LTC_ARGCHK(outlen != NULL);
+
+   /* get size of output that will be required */
+   va_start(args, outlen);
+   x = 0;
+   for (;;) {
+       type = va_arg(args, int);
+       size = va_arg(args, unsigned long);
+       data = va_arg(args, void*);
+
+       if (type == LTC_ASN1_EOL) { 
+          break;
+       }
+
+       switch (type) {
+           case LTC_ASN1_INTEGER:
+           case LTC_ASN1_SHORT_INTEGER:
+           case LTC_ASN1_BIT_STRING:
+           case LTC_ASN1_OCTET_STRING:
+           case LTC_ASN1_NULL:
+           case LTC_ASN1_OBJECT_IDENTIFIER:
+           case LTC_ASN1_IA5_STRING:
+           case LTC_ASN1_PRINTABLE_STRING:
+           case LTC_ASN1_UTCTIME:
+           case LTC_ASN1_SEQUENCE:
+                ++x; 
+                break;
+          
+           default:
+               va_end(args);
+               return CRYPT_INVALID_ARG;
+       }
+   }
+   va_end(args);
+
+   /* allocate structure for x elements */
+   if (x == 0) {
+      return CRYPT_NOP;
+   }
+
+   list = XCALLOC(sizeof(*list), x);
+   if (list == NULL) {
+      return CRYPT_MEM;
+   }
+
+   /* fill in the structure */
+   va_start(args, outlen);
+   x = 0;
+   for (;;) {
+       type = va_arg(args, int);
+       size = va_arg(args, unsigned long);
+       data = va_arg(args, void*);
+
+       if (type == LTC_ASN1_EOL) { 
+          break;
+       }
+
+       switch (type) {
+           case LTC_ASN1_INTEGER:
+           case LTC_ASN1_SHORT_INTEGER:
+           case LTC_ASN1_BIT_STRING:
+           case LTC_ASN1_OCTET_STRING:
+           case LTC_ASN1_NULL:
+           case LTC_ASN1_OBJECT_IDENTIFIER:
+           case LTC_ASN1_IA5_STRING:
+           case LTC_ASN1_PRINTABLE_STRING:
+           case LTC_ASN1_UTCTIME:
+           case LTC_ASN1_SEQUENCE:
+                list[x].type   = type;
+                list[x].size   = size;
+                list[x++].data = data;
+                break;
+         
+           default:
+               va_end(args);
+               err = CRYPT_INVALID_ARG;
+               goto LBL_ERR;
+       }
+   }
+   va_end(args);
+
+   err = der_encode_sequence(list, x, out, outlen);   
+LBL_ERR:
+   XFREE(list);
+   return err;
+}
+
+#endif
+
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/sequence/der_encode_sequence_multi.c,v $ */
+/* $Revision: 1.6 $ */
+/* $Date: 2005/06/18 19:20:23 $ */
diff --git a/src/pk/asn1/der/sequence/der_length_sequence.c b/src/pk/asn1/der/sequence/der_length_sequence.c
new file mode 100644
index 00000000..91204519
--- /dev/null
+++ b/src/pk/asn1/der/sequence/der_length_sequence.c
@@ -0,0 +1,144 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+#include <stdarg.h>
+
+
+/**
+  @file der_length_sequence.c
+  ASN.1 DER, length a SEQUENCE, Tom St Denis
+*/
+
+#ifdef LTC_DER
+
+/**
+   Get the length of a DER sequence 
+   @param list   The sequences of items in the SEQUENCE
+   @param inlen  The number of items
+   @param outlen [out] The length required in octets to store it 
+   @return CRYPT_OK on success
+*/
+int der_length_sequence(ltc_asn1_list *list, unsigned long inlen,
+                        unsigned long *outlen) 
+{
+   int           err, type;
+   unsigned long size, x, y, z, i;
+   void          *data;
+
+   LTC_ARGCHK(list    != NULL);
+   LTC_ARGCHK(outlen  != NULL);
+
+   /* get size of output that will be required */
+   y = 0;
+   for (i = 0; i < inlen; i++) {
+       type = list[i].type;
+       size = list[i].size;
+       data = list[i].data;
+
+       if (type == LTC_ASN1_EOL) { 
+          break;
+       }
+
+       switch (type) {
+           case LTC_ASN1_INTEGER:
+               if ((err = der_length_integer(data, &x)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               y += x;
+               break;
+
+           case LTC_ASN1_SHORT_INTEGER:
+               if ((err = der_length_short_integer(*((unsigned long *)data), &x)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               y += x;
+               break;
+
+           case LTC_ASN1_BIT_STRING:
+               if ((err = der_length_bit_string(size, &x)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               y += x;
+               break;
+
+           case LTC_ASN1_OCTET_STRING:
+               if ((err = der_length_octet_string(size, &x)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               y += x;
+               break;
+
+           case LTC_ASN1_NULL:
+               y += 2;
+               break;
+
+           case LTC_ASN1_OBJECT_IDENTIFIER:
+               if ((err = der_length_object_identifier(data, size, &x)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               y += x;
+               break;
+
+           case LTC_ASN1_IA5_STRING:
+               if ((err = der_length_ia5_string(data, size, &x)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               y += x;
+               break;
+
+           case LTC_ASN1_PRINTABLE_STRING:
+               if ((err = der_length_printable_string(data, size, &x)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               y += x;
+               break;
+
+           case LTC_ASN1_SEQUENCE:
+               if ((err = der_length_sequence(data, size, &x)) != CRYPT_OK) {
+                  goto LBL_ERR;
+               }
+               y += x;
+               break;
+
+          
+           default:
+               err = CRYPT_INVALID_ARG;
+               goto LBL_ERR;
+       }
+   }
+
+   /* calc header size */
+   z = y;
+   if (y < 128) {
+      y += 2;
+   } else if (y < 256) {
+      /* 0x30 0x81 LL */
+      y += 3;
+   } else if (y < 65536UL) {
+      /* 0x30 0x82 LL LL */
+      y += 4;
+   } else if (y < 16777216UL) {
+      /* 0x30 0x83 LL LL LL */
+      y += 5;
+   } else {
+      err = CRYPT_INVALID_ARG;
+      goto LBL_ERR;
+   }
+
+   /* store size */
+   *outlen = y;
+   err     = CRYPT_OK;
+
+LBL_ERR:
+   return err;
+}
+
+#endif
diff --git a/src/pk/asn1/der/short_integer/der_decode_short_integer.c b/src/pk/asn1/der/short_integer/der_decode_short_integer.c
new file mode 100644
index 00000000..7d3d3b73
--- /dev/null
+++ b/src/pk/asn1/der/short_integer/der_decode_short_integer.c
@@ -0,0 +1,68 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_decode_short_integer.c
+  ASN.1 DER, decode an integer, Tom St Denis
+*/
+
+
+#ifdef LTC_DER
+
+/**
+  Read a mp_int integer
+  @param in       The DER encoded data
+  @param inlen    Size of data
+  @param num      [out] The integer to decode
+  @return CRYPT_OK if successful
+*/
+int der_decode_short_integer(const unsigned char *in, unsigned long inlen, unsigned long *num)
+{
+   unsigned long len, x, y;
+
+   LTC_ARGCHK(num    != NULL);
+   LTC_ARGCHK(in     != NULL);
+
+   /* check length */
+   if (inlen < 2) {
+      return CRYPT_INVALID_PACKET;
+   }
+
+   /* check header */
+   x = 0;
+   if ((in[x++] & 0x1F) != 0x02) {
+      return CRYPT_INVALID_PACKET;
+   }
+
+   /* get the packet len */
+   len = in[x++];
+
+   if (x + len > inlen) {
+      return CRYPT_INVALID_PACKET;
+   }
+
+   /* read number */
+   y = 0;
+   while (len--) {
+      y = (y<<8) | (unsigned long)in[x++];
+   }
+   *num = y;
+
+   return CRYPT_OK;
+
+}
+
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/short_integer/der_decode_short_integer.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/23 01:04:13 $ */
diff --git a/src/pk/asn1/der/short_integer/der_encode_short_integer.c b/src/pk/asn1/der/short_integer/der_encode_short_integer.c
new file mode 100644
index 00000000..eb94d38c
--- /dev/null
+++ b/src/pk/asn1/der/short_integer/der_encode_short_integer.c
@@ -0,0 +1,97 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_encode_short_integer.c
+  ASN.1 DER, encode an integer, Tom St Denis
+*/
+
+
+#ifdef LTC_DER
+
+/* Exports a positive integer as DER format (upto 32-bits in size) */
+/**
+  Store a mp_int integer
+  @param num      The integer to encode
+  @param out      [out] The destination for the DER encoded integers
+  @param outlen   [in/out] The max size and resulting size of the DER encoded integers
+  @return CRYPT_OK if successful
+*/
+int der_encode_short_integer(unsigned long num, unsigned char *out, unsigned long *outlen)
+{  
+   unsigned long len, x, y, z;
+   int           err;
+   
+   LTC_ARGCHK(out    != NULL);
+   LTC_ARGCHK(outlen != NULL);
+
+   /* force to 32 bits */
+   num &= 0xFFFFFFFFUL;
+
+   /* find out how big this will be */
+   if ((err = der_length_short_integer(num, &len)) != CRYPT_OK) {
+      return err;
+   }
+
+   if (*outlen < len) {
+      return CRYPT_BUFFER_OVERFLOW;
+   }
+
+   /* get len of output */
+   z = 0;
+   y = num;
+   while (y) {
+     ++z;
+     y >>= 8;
+   }
+
+   /* handle zero */
+   if (z == 0) {
+      z = 1;
+   }
+
+   /* see if msb is set */
+   z += (num&(1UL<<((z<<3) - 1))) ? 1 : 0;
+
+   /* adjust the number so the msB is non-zero */
+   for (x = 0; (z <= 4) && (x < (4 - z)); x++) {
+      num <<= 8;
+   }
+
+   /* store header */
+   x = 0;
+   out[x++] = 0x02;
+   out[x++] = z;
+
+   /* if 31st bit is set output a leading zero and decrement count */
+   if (z == 5) {
+      out[x++] = 0;
+      --z;
+   }
+
+   /* store values */
+   for (y = 0; y < z; y++) {
+      out[x++] = (num >> 24) & 0xFF;
+      num    <<= 8;
+   }
+
+   /* we good */
+   *outlen = x;
+ 
+   return CRYPT_OK;
+}
+
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/short_integer/der_encode_short_integer.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/23 01:27:03 $ */
diff --git a/src/pk/asn1/der/short_integer/der_length_short_integer.c b/src/pk/asn1/der/short_integer/der_length_short_integer.c
new file mode 100644
index 00000000..7324b4a2
--- /dev/null
+++ b/src/pk/asn1/der/short_integer/der_length_short_integer.c
@@ -0,0 +1,69 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_length_short_integer.c
+  ASN.1 DER, get length of encoding, Tom St Denis
+*/
+
+
+#ifdef LTC_DER
+/**
+  Gets length of DER encoding of num 
+  @param num    The integer to get the size of 
+  @param outlen [out] The length of the DER encoding for the given integer
+  @return CRYPT_OK if successful
+*/
+int der_length_short_integer(unsigned long num, unsigned long *outlen)
+{
+   unsigned long z, y, len;
+
+   LTC_ARGCHK(outlen  != NULL);
+
+   /* force to 32 bits */
+   num &= 0xFFFFFFFFUL;
+
+   /* get the number of bytes */
+   z = 0;
+   y = num;
+   while (y) {
+     ++z;
+     y >>= 8;
+   }
+
+   /* handle zero */
+   if (z == 0) {
+      z = 1;
+   }
+
+   /* we need a 0x02 to indicate it's INTEGER */
+   len = 1;
+
+   /* length byte */
+   ++len;
+
+   /* bytes in value */
+   len += z;
+
+   /* see if msb is set */
+   len += (num&(1UL<<((z<<3) - 1))) ? 1 : 0;
+
+   /* return length */
+   *outlen = len; 
+   return CRYPT_OK;
+}
+
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/short_integer/der_length_short_integer.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/23 01:35:38 $ */
diff --git a/src/pk/asn1/der/utctime/der_decode_utctime.c b/src/pk/asn1/der/utctime/der_decode_utctime.c
new file mode 100644
index 00000000..43ba033c
--- /dev/null
+++ b/src/pk/asn1/der/utctime/der_decode_utctime.c
@@ -0,0 +1,120 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_decode_utctime.c
+  ASN.1 DER, decode a  UTCTIME, Tom St Denis
+*/
+
+#ifdef LTC_DER
+
+static int char_to_int(unsigned char x)
+{
+   switch (x)  {
+      case '0': return 0;
+      case '1': return 1;
+      case '2': return 2;
+      case '3': return 3;
+      case '4': return 4;
+      case '5': return 5;
+      case '6': return 6;
+      case '7': return 7;
+      case '8': return 8;
+      case '9': return 9;
+   }
+   return 100;
+}
+
+#define DECODE_V(y, max) \
+   y  = char_to_int(buf[x])*10 + char_to_int(buf[x+1]); \
+   if (y >= max) return CRYPT_INVALID_PACKET;           \
+   x += 2;
+
+int der_decode_utctime(const unsigned char *in, unsigned long *inlen,
+                             ltc_utctime   *out)
+{
+   unsigned char buf[32];
+   unsigned long x;
+   int           y;
+
+   LTC_ARGCHK(in    != NULL);
+   LTC_ARGCHK(inlen != NULL);
+   LTC_ARGCHK(out   != NULL);
+
+   /* check header */
+   if (*inlen < 2UL || (in[1] >= sizeof(buf)) || ((in[1] + 2UL) > *inlen)) {
+      return CRYPT_INVALID_PACKET;
+   }
+
+   /* decode the string */
+   for (x = 0; x < in[1]; x++) {
+       y = der_ia5_value_decode(in[x+2]);
+       if (y == -1) {
+          return CRYPT_INVALID_PACKET;
+       }
+       buf[x] = y;
+   }
+   *inlen = 2 + x;
+
+
+   /* possible encodings are 
+YYMMDDhhmmZ
+YYMMDDhhmm+hh'mm'
+YYMMDDhhmm-hh'mm'
+YYMMDDhhmmssZ
+YYMMDDhhmmss+hh'mm'
+YYMMDDhhmmss-hh'mm'
+
+    So let's do a trivial decode upto [including] mm 
+   */
+
+    x = 0;
+    DECODE_V(out->YY, 100);
+    DECODE_V(out->MM, 13);
+    DECODE_V(out->DD, 32);
+    DECODE_V(out->hh, 24);
+    DECODE_V(out->mm, 60);
+
+    /* clear timezone and seconds info */
+    out->off_dir = out->off_hh = out->off_mm = out->ss = 0;
+
+    /* now is it Z, +, - or 0-9 */
+    if (buf[x] == 'Z') {
+       return CRYPT_OK;
+    } else if (buf[x] == '+' || buf[x] == '-') {
+       out->off_dir = (buf[x++] == '+') ? 0 : 1;
+       DECODE_V(out->off_hh, 24);
+       DECODE_V(out->off_mm, 60);
+       return CRYPT_OK;
+    }
+
+    /* decode seconds */
+    DECODE_V(out->ss, 60);
+
+    /* now is it Z, +, - */
+    if (buf[x] == 'Z') {
+       return CRYPT_OK;
+    } else if (buf[x] == '+' || buf[x] == '-') {
+       out->off_dir = (buf[x++] == '+') ? 0 : 1;
+       DECODE_V(out->off_hh, 24);
+       DECODE_V(out->off_mm, 60);
+       return CRYPT_OK;
+    } else {
+       return CRYPT_INVALID_PACKET;
+    }
+}
+
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/utctime/der_decode_utctime.c,v $ */
+/* $Revision: 1.6 $ */
+/* $Date: 2005/06/19 12:07:00 $ */
diff --git a/src/pk/asn1/der/utctime/der_encode_utctime.c b/src/pk/asn1/der/utctime/der_encode_utctime.c
new file mode 100644
index 00000000..dad8c848
--- /dev/null
+++ b/src/pk/asn1/der/utctime/der_encode_utctime.c
@@ -0,0 +1,80 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_encode_utctime.c
+  ASN.1 DER, encode a  UTCTIME, Tom St Denis
+*/
+
+#ifdef LTC_DER
+
+static const char *baseten = "0123456789";
+
+#define STORE_V(y) \
+    out[x++] = der_ia5_char_encode(baseten[(y/10) % 10]); \
+    out[x++] = der_ia5_char_encode(baseten[y % 10]);
+
+/**
+  Gets length of DER encoding of UTCTIME
+  @param outlen [out] The length of the DER encoding
+  @return CRYPT_OK if successful
+*/
+int der_encode_utctime(ltc_utctime *utctime, 
+                       unsigned char *out,   unsigned long *outlen)
+{
+    unsigned long x, tmplen;
+    int           err;
+ 
+    LTC_ARGCHK(utctime != NULL);
+    LTC_ARGCHK(out     != NULL);
+    LTC_ARGCHK(outlen  != NULL);
+
+    if ((err = der_length_utctime(utctime, &tmplen)) != CRYPT_OK) {
+       return err;
+    }
+    if (tmplen > *outlen) {
+        return CRYPT_BUFFER_OVERFLOW;
+    }
+    
+    /* store header */
+    out[0] = 0x17;
+
+    /* store values */
+    x = 2;
+    STORE_V(utctime->YY);
+    STORE_V(utctime->MM);
+    STORE_V(utctime->DD);
+    STORE_V(utctime->hh);
+    STORE_V(utctime->mm);
+    STORE_V(utctime->ss);
+
+    if (utctime->off_mm || utctime->off_hh) {
+       out[x++] = der_ia5_char_encode(utctime->off_dir ? '-' : '+');
+       STORE_V(utctime->off_hh);
+       STORE_V(utctime->off_mm);
+    } else {
+       out[x++] = der_ia5_char_encode('Z');
+    }
+
+    /* store length */
+    out[1] = x - 2;
+   
+    /* all good let's return */
+    *outlen = x;
+    return CRYPT_OK;
+}
+
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/utctime/der_encode_utctime.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/06/19 12:07:00 $ */
diff --git a/src/pk/asn1/der/utctime/der_length_utctime.c b/src/pk/asn1/der/utctime/der_length_utctime.c
new file mode 100644
index 00000000..84e654ab
--- /dev/null
+++ b/src/pk/asn1/der/utctime/der_length_utctime.c
@@ -0,0 +1,45 @@
+/* LibTomCrypt, modular cryptographic library -- Tom St Denis
+ *
+ * LibTomCrypt is a library that provides various cryptographic
+ * algorithms in a highly modular and flexible manner.
+ *
+ * The library is free for all purposes without any express
+ * guarantee it works.
+ *
+ * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
+ */
+#include "tomcrypt.h"
+
+/**
+  @file der_length_utctime.c
+  ASN.1 DER, get length of UTCTIME, Tom St Denis
+*/
+
+#ifdef LTC_DER
+
+/**
+  Gets length of DER encoding of UTCTIME
+  @param outlen [out] The length of the DER encoding
+  @return CRYPT_OK if successful
+*/
+int der_length_utctime(ltc_utctime *utctime, unsigned long *outlen)
+{
+   LTC_ARGCHK(outlen  != NULL);
+   LTC_ARGCHK(utctime != NULL);
+
+   if (utctime->off_hh == 0 && utctime->off_mm == 0) {
+      /* we encode as YYMMDDhhmmssZ */
+      *outlen = 2 + 13;
+   } else {
+      /* we encode as YYMMDDhhmmss{+|-}hh'mm' */
+      *outlen = 2 + 17;
+   }
+
+   return CRYPT_OK;
+}
+
+#endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/utctime/der_length_utctime.c,v $ */
+/* $Revision: 1.2 $ */
+/* $Date: 2005/06/19 11:23:04 $ */
diff --git a/src/pk/dh/dh.c b/src/pk/dh/dh.c
index c2085a6a..a54f29b2 100644
--- a/src/pk/dh/dh.c
+++ b/src/pk/dh/dh.c
@@ -518,3 +518,7 @@ done:
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/dh/dh.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/dh/dh_sys.c b/src/pk/dh/dh_sys.c
index 801f85ac..4f105565 100644
--- a/src/pk/dh/dh_sys.c
+++ b/src/pk/dh/dh_sys.c
@@ -493,3 +493,7 @@ done:
    return err;
 }
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/dh/dh_sys.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/dsa/dsa_export.c b/src/pk/dsa/dsa_export.c
index 773023ea..5a093d92 100644
--- a/src/pk/dsa/dsa_export.c
+++ b/src/pk/dsa/dsa_export.c
@@ -27,18 +27,13 @@
 */
 int dsa_export(unsigned char *out, unsigned long *outlen, int type, dsa_key *key)
 {
-   unsigned long y, z;
-   int err;
+   unsigned char flags[1];
 
    LTC_ARGCHK(out    != NULL);
    LTC_ARGCHK(outlen != NULL);
    LTC_ARGCHK(key    != NULL);
 
    /* can we store the static header?  */
-   if (*outlen < (PACKET_SIZE + 1 + 2)) {
-      return CRYPT_BUFFER_OVERFLOW;
-   }
-   
    if (type == PK_PRIVATE && key->type != PK_PRIVATE) {
       return CRYPT_PK_TYPE_MISMATCH;
    }
@@ -47,29 +42,31 @@ int dsa_export(unsigned char *out, unsigned long *outlen, int type, dsa_key *key
       return CRYPT_INVALID_ARG;
    }
 
-   /* store header */
-   packet_store_header(out, PACKET_SECT_DSA, PACKET_SUB_KEY);
-   y = PACKET_SIZE;
-
-   /* store g, p, q, qord */
-   out[y++] = type;
-   out[y++] = (key->qord>>8)&255;
-   out[y++] = key->qord & 255;
-
-   OUTPUT_BIGNUM(&key->g,out,y,z);
-   OUTPUT_BIGNUM(&key->p,out,y,z);
-   OUTPUT_BIGNUM(&key->q,out,y,z);
+   flags[0] = (type != PK_PUBLIC) ? 1 : 0;
 
-   /* public exponent */
-   OUTPUT_BIGNUM(&key->y,out,y,z);
-   
    if (type == PK_PRIVATE) {
-      OUTPUT_BIGNUM(&key->x,out,y,z);
+      return der_encode_sequence_multi(out, outlen,
+                                 LTC_ASN1_BIT_STRING,   1UL, flags,
+                                 LTC_ASN1_INTEGER,      1UL, &key->g,
+                                 LTC_ASN1_INTEGER,      1UL, &key->p,
+                                 LTC_ASN1_INTEGER,      1UL, &key->q,
+                                 LTC_ASN1_INTEGER,      1UL, &key->y,
+                                 LTC_ASN1_INTEGER,      1UL, &key->x,
+                                 LTC_ASN1_EOL,          0UL, NULL);
+   } else {
+      return der_encode_sequence_multi(out, outlen,
+                                 LTC_ASN1_BIT_STRING,   1UL, flags,
+                                 LTC_ASN1_INTEGER,      1UL, &key->g,
+                                 LTC_ASN1_INTEGER,      1UL, &key->p,
+                                 LTC_ASN1_INTEGER,      1UL, &key->q,
+                                 LTC_ASN1_INTEGER,      1UL, &key->y,
+                                 LTC_ASN1_EOL,          0UL, NULL);
    }
-
-   *outlen = y;
-   return CRYPT_OK;
 }
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/dsa/dsa_export.c,v $ */
+/* $Revision: 1.6 $ */
+/* $Date: 2005/06/03 19:24:31 $ */
diff --git a/src/pk/dsa/dsa_free.c b/src/pk/dsa/dsa_free.c
index 862a2dd5..9157acb9 100644
--- a/src/pk/dsa/dsa_free.c
+++ b/src/pk/dsa/dsa_free.c
@@ -28,3 +28,7 @@ void dsa_free(dsa_key *key)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/dsa/dsa_free.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/dsa/dsa_import.c b/src/pk/dsa/dsa_import.c
index 6de56e3c..e81bac80 100644
--- a/src/pk/dsa/dsa_import.c
+++ b/src/pk/dsa/dsa_import.c
@@ -26,46 +26,64 @@
 */
 int dsa_import(const unsigned char *in, unsigned long inlen, dsa_key *key)
 {
-   unsigned long x, y;
+   unsigned char flags[1];
    int           err;
 
    LTC_ARGCHK(in  != NULL);
    LTC_ARGCHK(key != NULL);
 
-   /* check length */
-   if ((1+2+PACKET_SIZE) > inlen) {
-      return CRYPT_INVALID_PACKET;
-   }
-
-   /* check type */
-   if ((err = packet_valid_header((unsigned char *)in, PACKET_SECT_DSA, PACKET_SUB_KEY)) != CRYPT_OK) {
-      return err;
-   }
-   y = PACKET_SIZE;
-
    /* init key */
    if (mp_init_multi(&key->p, &key->g, &key->q, &key->x, &key->y, NULL) != MP_OKAY) {
       return CRYPT_MEM;
    }
 
-   /* read type/qord */
-   key->type = in[y++];
-   key->qord = ((unsigned)in[y]<<8)|((unsigned)in[y+1]);
-   y += 2;
+   /* get key type */
+   if ((err = der_decode_sequence_multi(in, inlen,
+                                  LTC_ASN1_BIT_STRING, 1UL, flags,
+                                  LTC_ASN1_EOL, 0UL, NULL)) != CRYPT_OK) {
+      goto error;
+   }
+
+   if (flags[0] == 1) {
+      if ((err = der_decode_sequence_multi(in, inlen,
+                                 LTC_ASN1_BIT_STRING,   1UL, flags,
+                                 LTC_ASN1_INTEGER,      1UL, &key->g,
+                                 LTC_ASN1_INTEGER,      1UL, &key->p,
+                                 LTC_ASN1_INTEGER,      1UL, &key->q,
+                                 LTC_ASN1_INTEGER,      1UL, &key->y,
+                                 LTC_ASN1_INTEGER,      1UL, &key->x,
+                                 LTC_ASN1_EOL,          0UL, NULL)) != CRYPT_OK) {
+         goto error;
+      }
+      key->type = PK_PRIVATE;
+   } else {
+      if ((err = der_decode_sequence_multi(in, inlen,
+                                 LTC_ASN1_BIT_STRING,   1UL, flags,
+                                 LTC_ASN1_INTEGER,      1UL, &key->g,
+                                 LTC_ASN1_INTEGER,      1UL, &key->p,
+                                 LTC_ASN1_INTEGER,      1UL, &key->q,
+                                 LTC_ASN1_INTEGER,      1UL, &key->y,
+                                 LTC_ASN1_EOL,          0UL, NULL)) != CRYPT_OK) {
+         goto error;
+      }
+      key->type = PK_PUBLIC;
+  }
+  key->qord = mp_unsigned_bin_size(&key->q);
 
-   /* input publics */
-   INPUT_BIGNUM(&key->g,in,x,y, inlen);
-   INPUT_BIGNUM(&key->p,in,x,y, inlen);
-   INPUT_BIGNUM(&key->q,in,x,y, inlen);
-   INPUT_BIGNUM(&key->y,in,x,y, inlen);
-   if (key->type == PK_PRIVATE) {
-      INPUT_BIGNUM(&key->x,in,x,y, inlen);
+  if (key->qord >= MDSA_MAX_GROUP || key->qord <= 15 ||
+      key->qord >= mp_unsigned_bin_size(&key->p) || (mp_unsigned_bin_size(&key->p) - key->qord) >= MDSA_DELTA) {
+      err = CRYPT_INVALID_PACKET;
+      goto error;
    }
 
-   return CRYPT_OK;
+  return CRYPT_OK;
 error: 
    mp_clear_multi(&key->p, &key->g, &key->q, &key->x, &key->y, NULL);
    return err;
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/dsa/dsa_import.c,v $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2005/06/08 23:31:17 $ */
diff --git a/src/pk/dsa/dsa_make_key.c b/src/pk/dsa/dsa_make_key.c
index 60683a0c..02f69e00 100644
--- a/src/pk/dsa/dsa_make_key.c
+++ b/src/pk/dsa/dsa_make_key.c
@@ -70,15 +70,15 @@ int dsa_make_key(prng_state *prng, int wprng, int group_size, int modulus_size,
    }
 
    /* force magnitude */
-   buf[0] = 1;
+   buf[0] |= 0xC0;
 
    /* force even */
-   buf[modulus_size - group_size] &= ~1;
+   buf[modulus_size - group_size - 1] &= ~1;
 
-   if ((err = mp_read_unsigned_bin(&tmp2, buf, modulus_size - group_size+1)) != MP_OKAY) { goto error; }
+   if ((err = mp_read_unsigned_bin(&tmp2, buf, modulus_size - group_size)) != MP_OKAY) { goto error; }
    if ((err = mp_mul(&key->q, &tmp2, &key->p)) != MP_OKAY)                             { goto error; }
    if ((err = mp_add_d(&key->p, 1, &key->p)) != MP_OKAY)                               { goto error; }
-   
+
    /* now loop until p is prime */
    for (;;) {
        if ((err = is_prime(&key->p, &res)) != CRYPT_OK)                                { goto LBL_ERR; }
@@ -140,3 +140,7 @@ done:
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/dsa/dsa_make_key.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/06/11 05:45:35 $ */
diff --git a/src/pk/dsa/dsa_sign_hash.c b/src/pk/dsa/dsa_sign_hash.c
index da92a825..48d29a2d 100644
--- a/src/pk/dsa/dsa_sign_hash.c
+++ b/src/pk/dsa/dsa_sign_hash.c
@@ -21,26 +21,25 @@
   Sign a hash with DSA
   @param in       The hash to sign
   @param inlen    The length of the hash to sign
-  @param out      [out] Where to store the signature
-  @param outlen   [in/out] The max size and resulting size of the signature
+  @param r        The "r" integer of the signature (caller must initialize with mp_init() first)
+  @param s        The "s" integer of the signature (caller must initialize with mp_init() first)
   @param prng     An active PRNG state
   @param wprng    The index of the PRNG desired
   @param key      A private DSA key
   @return CRYPT_OK if successful
 */
-int dsa_sign_hash(const unsigned char *in,  unsigned long inlen,
-                        unsigned char *out, unsigned long *outlen,
-                        prng_state *prng, int wprng, dsa_key *key)
+int dsa_sign_hash_raw(const unsigned char *in,  unsigned long inlen,
+                                   mp_int *r,   mp_int *s,
+                               prng_state *prng, int wprng, dsa_key *key)
 {
-   mp_int         k, kinv, tmp, r, s;
+   mp_int         k, kinv, tmp;
    unsigned char *buf;
    int            err;
-   unsigned long  out1, out2;
 
-   LTC_ARGCHK(in     != NULL);
-   LTC_ARGCHK(out    != NULL);
-   LTC_ARGCHK(outlen != NULL);
-   LTC_ARGCHK(key    != NULL);
+   LTC_ARGCHK(in  != NULL);
+   LTC_ARGCHK(r   != NULL);
+   LTC_ARGCHK(s   != NULL);
+   LTC_ARGCHK(key != NULL);
 
    if ((err = prng_is_valid(wprng)) != CRYPT_OK) {
       return err;
@@ -60,7 +59,7 @@ int dsa_sign_hash(const unsigned char *in,  unsigned long inlen,
    }
 
    /* Init our temps */
-   if ((err = mp_init_multi(&k, &kinv, &r, &s, &tmp, NULL)) != MP_OKAY)               { goto error; }
+   if ((err = mp_init_multi(&k, &kinv, &tmp, NULL)) != MP_OKAY)               { goto error; }
 
 retry:
 
@@ -85,37 +84,26 @@ retry:
    if ((err = mp_invmod(&k, &key->q, &kinv)) != MP_OKAY)                              { goto error; }
 
    /* now find r = g^k mod p mod q */
-   if ((err = mp_exptmod(&key->g, &k, &key->p, &r)) != MP_OKAY)                       { goto error; }
-   if ((err = mp_mod(&r, &key->q, &r)) != MP_OKAY)                                    { goto error; }
+   if ((err = mp_exptmod(&key->g, &k, &key->p, r)) != MP_OKAY)                        { goto error; }
+   if ((err = mp_mod(r, &key->q, r)) != MP_OKAY)                                      { goto error; }
 
-   if (mp_iszero(&r) == MP_YES)                                                       { goto retry; }
+   if (mp_iszero(r) == MP_YES)                                                        { goto retry; }
 
    /* now find s = (in + xr)/k mod q */
    if ((err = mp_read_unsigned_bin(&tmp, (unsigned char *)in, inlen)) != MP_OKAY)     { goto error; }
-   if ((err = mp_mul(&key->x, &r, &s)) != MP_OKAY)                                    { goto error; }
-   if ((err = mp_add(&s, &tmp, &s)) != MP_OKAY)                                       { goto error; }
-   if ((err = mp_mulmod(&s, &kinv, &key->q, &s)) != MP_OKAY)                          { goto error; }
-
-   if (mp_iszero(&s) == MP_YES)                                                       { goto retry; }
-
-   /* now store em both */
-   
-   /* first check that we have enough room */
-   if ((err = der_length_integer(&s, &out1)) != CRYPT_OK)                             { goto LBL_ERR; }
-   if ((err = der_length_integer(&r, &out2)) != CRYPT_OK)                             { goto LBL_ERR; }
-   if (*outlen < (out1+out2)) {
-      err = CRYPT_BUFFER_OVERFLOW;
-      goto LBL_ERR;
-   }
+   if ((err = mp_mul(&key->x, r, s)) != MP_OKAY)                                      { goto error; }
+   if ((err = mp_add(s, &tmp, s)) != MP_OKAY)                                         { goto error; }
+   if ((err = mp_mulmod(s, &kinv, &key->q, s)) != MP_OKAY)                            { goto error; }
 
-   /* store ints */
-   err = der_put_multi_integer(out, outlen, &r, &s, NULL);
+   if (mp_iszero(s) == MP_YES)                                                        { goto retry; }
+
+   err = CRYPT_OK;
    goto LBL_ERR;
 
 error: 
    err = mpi_to_ltc_error(err);
 LBL_ERR: 
-   mp_clear_multi(&k, &kinv, &r, &s, &tmp, NULL);
+   mp_clear_multi(&k, &kinv, &tmp, NULL);
 #ifdef LTC_CLEAN_STACK
    zeromem(buf, MDSA_MAX_GROUP);
 #endif
@@ -123,4 +111,49 @@ LBL_ERR:
    return err;
 }
 
+/**
+  Sign a hash with DSA
+  @param in       The hash to sign
+  @param inlen    The length of the hash to sign
+  @param out      [out] Where to store the signature
+  @param outlen   [in/out] The max size and resulting size of the signature
+  @param prng     An active PRNG state
+  @param wprng    The index of the PRNG desired
+  @param key      A private DSA key
+  @return CRYPT_OK if successful
+*/
+int dsa_sign_hash(const unsigned char *in,  unsigned long inlen,
+                        unsigned char *out, unsigned long *outlen,
+                        prng_state *prng, int wprng, dsa_key *key)
+{
+   mp_int        r, s;
+   int           err;
+
+   LTC_ARGCHK(in      != NULL);
+   LTC_ARGCHK(out     != NULL);
+   LTC_ARGCHK(outlen  != NULL);
+   LTC_ARGCHK(key     != NULL);
+
+   if (mp_init_multi(&r, &s, NULL) != MP_OKAY) {
+      return CRYPT_MEM;
+   }
+
+   if ((err = dsa_sign_hash_raw(in, inlen, &r, &s, prng, wprng, key)) != CRYPT_OK) {
+      goto LBL_ERR;
+   }
+
+   err = der_encode_sequence_multi(out, outlen, 
+                             LTC_ASN1_INTEGER, 1UL, &r, 
+                             LTC_ASN1_INTEGER, 1UL, &s, 
+                             LTC_ASN1_EOL,     0UL, NULL);
+
+LBL_ERR:
+   mp_clear_multi(&r, &s, NULL);
+   return err;
+}
+
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/dsa/dsa_sign_hash.c,v $ */
+/* $Revision: 1.6 $ */
+/* $Date: 2005/05/15 21:48:59 $ */
diff --git a/src/pk/dsa/dsa_verify_hash.c b/src/pk/dsa/dsa_verify_hash.c
index 140f0e20..11e5c337 100644
--- a/src/pk/dsa/dsa_verify_hash.c
+++ b/src/pk/dsa/dsa_verify_hash.c
@@ -20,23 +20,23 @@
 
 /**
   Verify a DSA signature
-  @param sig      The signature
-  @param siglen   The length of the signature (octets)
+  @param r        DSA "r" parameter
+  @param s        DSA "s" parameter
   @param hash     The hash that was signed
   @param hashlen  The length of the hash that was signed
   @param stat     [out] The result of the signature verification, 1==valid, 0==invalid
   @param key      The corresponding public DH key
   @return CRYPT_OK if successful (even if the signature is invalid)
 */
-int dsa_verify_hash(const unsigned char *sig, unsigned long siglen,
+int dsa_verify_hash_raw(         mp_int *r,          mp_int *s,
                     const unsigned char *hash, unsigned long hashlen, 
-                    int *stat, dsa_key *key)
+                                    int *stat,      dsa_key *key)
 {
-   mp_int        r, s, w, v, u1, u2;
+   mp_int        w, v, u1, u2;
    int           err;
 
-   LTC_ARGCHK(sig  != NULL);
-   LTC_ARGCHK(hash != NULL);
+   LTC_ARGCHK(r    != NULL);
+   LTC_ARGCHK(s    != NULL);
    LTC_ARGCHK(stat != NULL);
    LTC_ARGCHK(key  != NULL);
 
@@ -44,28 +44,25 @@ int dsa_verify_hash(const unsigned char *sig, unsigned long siglen,
    *stat = 0;
 
    /* init our variables */
-   if ((err = mp_init_multi(&r, &s, &w, &v, &u1, &u2, NULL)) != MP_OKAY) {
+   if ((err = mp_init_multi(&w, &v, &u1, &u2, NULL)) != MP_OKAY) {
       return mpi_to_ltc_error(err);
    }
 
-   /* read in r followed by s */
-   if ((err = der_get_multi_integer(sig, &siglen, &r, &s, NULL)) != CRYPT_OK)              { goto done; }
-
-   /* neither r or s can be null */
-   if (mp_iszero(&r) == MP_YES || mp_iszero(&s) == MP_YES) {
+   /* neither r or s can be null or >q*/
+   if (mp_iszero(r) == MP_YES || mp_iszero(s) == MP_YES || mp_cmp(r, &key->q) != MP_LT || mp_cmp(s, &key->q) != MP_LT) {
       err = CRYPT_INVALID_PACKET;
       goto done;
    }
    
    /* w = 1/s mod q */
-   if ((err = mp_invmod(&s, &key->q, &w)) != MP_OKAY)                                      { goto error; }
+   if ((err = mp_invmod(s, &key->q, &w)) != MP_OKAY)                                      { goto error; }
 
    /* u1 = m * w mod q */
    if ((err = mp_read_unsigned_bin(&u1, (unsigned char *)hash, hashlen)) != MP_OKAY)       { goto error; }
    if ((err = mp_mulmod(&u1, &w, &key->q, &u1)) != MP_OKAY)                                { goto error; }
 
    /* u2 = r*w mod q */
-   if ((err = mp_mulmod(&r, &w, &key->q, &u2)) != MP_OKAY)                                 { goto error; } 
+   if ((err = mp_mulmod(r, &w, &key->q, &u2)) != MP_OKAY)                                 { goto error; } 
 
    /* v = g^u1 * y^u2 mod p mod q */
    if ((err = mp_exptmod(&key->g, &u1, &key->p, &u1)) != MP_OKAY)                          { goto error; }
@@ -74,7 +71,7 @@ int dsa_verify_hash(const unsigned char *sig, unsigned long siglen,
    if ((err = mp_mod(&v, &key->q, &v)) != MP_OKAY)                                         { goto error; }
 
    /* if r = v then we're set */
-   if (mp_cmp(&r, &v) == MP_EQ) {
+   if (mp_cmp(r, &v) == MP_EQ) {
       *stat = 1;
    }
 
@@ -82,9 +79,50 @@ int dsa_verify_hash(const unsigned char *sig, unsigned long siglen,
    goto done;
 
 error : err = mpi_to_ltc_error(err);
-done  : mp_clear_multi(&r, &s, &w, &v, &u1, &u2, NULL);
+done  : mp_clear_multi(&w, &v, &u1, &u2, NULL);
+   return err;
+}
+
+/**
+  Verify a DSA signature
+  @param sig      The signature
+  @param siglen   The length of the signature (octets)
+  @param hash     The hash that was signed
+  @param hashlen  The length of the hash that was signed
+  @param stat     [out] The result of the signature verification, 1==valid, 0==invalid
+  @param key      The corresponding public DH key
+  @return CRYPT_OK if successful (even if the signature is invalid)
+*/
+int dsa_verify_hash(const unsigned char *sig, unsigned long siglen,
+                    const unsigned char *hash, unsigned long hashlen, 
+                    int *stat, dsa_key *key)
+{
+   int    err;
+   mp_int r, s;
+
+   if ((err = mp_init_multi(&r, &s, NULL)) != CRYPT_OK) {
+      return CRYPT_MEM;
+   }
+
+   /* decode the sequence */
+   if ((err = der_decode_sequence_multi(sig, siglen,
+                                  LTC_ASN1_INTEGER, 1UL, &r, 
+                                  LTC_ASN1_INTEGER, 1UL, &s, 
+                                  LTC_ASN1_EOL,     0UL, NULL)) != CRYPT_OK) {
+      goto LBL_ERR;
+   }
+
+   /* do the op */
+   err = dsa_verify_hash_raw(&r, &s, hash, hashlen, stat, key);
+
+LBL_ERR:
+   mp_clear_multi(&r, &s, NULL);
    return err;
 }
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/dsa/dsa_verify_hash.c,v $ */
+/* $Revision: 1.8 $ */
+/* $Date: 2005/05/15 21:48:59 $ */
diff --git a/src/pk/dsa/dsa_verify_key.c b/src/pk/dsa/dsa_verify_key.c
index 3e842614..b7be103f 100644
--- a/src/pk/dsa/dsa_verify_key.c
+++ b/src/pk/dsa/dsa_verify_key.c
@@ -96,3 +96,7 @@ done : mp_clear_multi(&tmp, &tmp2, NULL);
    return err;
 }
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/dsa/dsa_verify_key.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/ecc/ecc.c b/src/pk/ecc/ecc.c
index b5e088b0..469d56d0 100644
--- a/src/pk/ecc/ecc.c
+++ b/src/pk/ecc/ecc.c
@@ -24,7 +24,7 @@
 #ifdef MECC
 
 /* size of our temp buffers for exported keys */
-#define ECC_BUF_SIZE 160
+#define ECC_BUF_SIZE 256
 
 /* max private key size */
 #define ECC_MAXSIZE  66
@@ -34,22 +34,6 @@ static const struct {
    int size;
    char *name, *prime, *B, *order, *Gx, *Gy;
 } sets[] = {
-#ifdef ECC160
-{
-   20,
-   "ECC-160",
-   /* prime */
-   "G00000000000000000000000007",
-   /* B */
-   "1oUV2vOaSlWbxr6",
-   /* order */
-   "G0000000000004sCQUtDxaqDUN5",
-   /* Gx */
-   "jpqOf1BHus6Yd/pyhyVpP",
-   /* Gy */
-   "D/wykuuIFfr+vPyx7kQEPu8MixO",
-},
-#endif
 #ifdef ECC192
 {
     24,
@@ -76,19 +60,20 @@ static const struct {
    "ECC-224",
 
    /* prime */
-   "400000000000000000000000000000000000BV",
+   "3/////////////////////0000000000000001",
 
    /* B */
-   "21HkWGL2CxJIp",
+   "2q1Gg530Ipg/L1CbPGHB2trx/OkYSBEKCZLV+q",
 
    /* order */
-   "4000000000000000000Kxnixk9t8MLzMiV264/",
+   "3//////////////////nQYuBZmFXFTAKLSN2ez",
 
    /* Gx */
-   "jpqOf1BHus6Yd/pyhyVpP",
+   "2t3WozQxI/Vp8JaBbA0y7JLi8H8ZGoWDOHN1qX",
+
 
    /* Gy */
-   "3FCtyo2yHA5SFjkCGbYxbOvNeChwS+j6wSIwck",
+   "2zDsE8jVSZ+qmYt+RDGtMWMWT7P4JLWPc507uq",
 },
 #endif
 #ifdef ECC256
@@ -165,70 +150,6 @@ static const struct {
 }
 };
 
-#if 0
-
-/* you plug in a prime and B value and it finds a pseudo-random base point */
-void ecc_find_base(void)
-{
-   static char *prime = "26959946667150639794667015087019630673637144422540572481103610249951";
-   static char *order = "26959946667150639794667015087019637467111563745054605861463538557247";
-   static char *b     = "9538957348957353489587";
-   mp_int pp, p, r, B, tmp1, tmp2, tx, ty, x, y;
-   char buf[4096];
-   int i;
-
-   mp_init_multi(&tx, &ty, &x, &y, &p, &pp, &r, &B, &tmp1, &tmp2, NULL);
-   mp_read_radix(&p, prime, 10);
-   mp_read_radix(&r, order, 10);
-   mp_read_radix(&B, b, 10);
-
-   /* get (p+1)/4 */
-   mp_add_d(&p, 1, &pp);
-   mp_div_2(&pp, &pp);
-   mp_div_2(&pp, &pp);
-
-   buf[0] = 0;
-   do {
-      printf("."); fflush(stdout);
-      /* make a random value of x */
-      for (i = 0; i < 16; i++) buf[i+1] = rand() & 255;
-      mp_read_raw(&x, buf, 17);
-      mp_copy(&x, &tx);
-
-      /* now compute x^3 - 3x + b */
-      mp_expt_d(&x, 3, &tmp1);
-      mp_mul_d(&x, 3, &tmp2);
-      mp_sub(&tmp1, &tmp2, &tmp1);
-      mp_add(&tmp1, &B, &tmp1);
-      mp_mod(&tmp1, &p, &tmp1);
-
-      /* now compute sqrt via x^((p+1)/4) */
-      mp_exptmod(&tmp1, &pp, &p, &tmp2);
-      mp_copy(&tmp2, &ty);
-
-      /* now square it */
-      mp_sqrmod(&tmp2, &p, &tmp2);
-
-      /* tmp2 should equal tmp1 */
-   } while (mp_cmp(&tmp1, &tmp2));
-
-   /* now output values in way that libtomcrypt wants */
-   mp_todecimal(&p, buf);
-   printf("\n\np==%s\n", buf);
-   mp_tohex(&B, buf);
-   printf("b==%s\n", buf);
-   mp_todecimal(&r, buf);
-   printf("r==%s\n", buf);
-   mp_tohex(&tx, buf);
-   printf("Gx==%s\n", buf);
-   mp_tohex(&ty, buf);
-   printf("Gy==%s\n", buf);
-
-   mp_clear_multi(&tx, &ty, &x, &y, &p, &pp, &r, &B, &tmp1, &tmp2, NULL);
-}
- 
-#endif
-
 static int is_valid_idx(int n)
 {
    int x;
@@ -263,7 +184,7 @@ static void del_point(ecc_point *p)
    }
 }
 
-static int ecc_map(ecc_point *P, mp_int *modulus, mp_int *mu)
+static int ecc_map(ecc_point *P, mp_int *modulus, mp_digit mp)
 {
    mp_int t1, t2;
    int err;
@@ -272,20 +193,23 @@ static int ecc_map(ecc_point *P, mp_int *modulus, mp_int *mu)
       return CRYPT_MEM;
    }
 
+   /* first map z back to normal */
+   if ((err = mp_montgomery_reduce(&P->z, modulus, mp)) != MP_OKAY)           { goto error; }
+
    /* get 1/z */
-   if ((err = mp_invmod(&P->z, modulus, &t1)) != MP_OKAY)                   { goto error; }
+   if ((err = mp_invmod(&P->z, modulus, &t1)) != MP_OKAY)                     { goto error; }
  
    /* get 1/z^2 and 1/z^3 */
-   if ((err = mp_sqr(&t1, &t2)) != MP_OKAY)                        { goto error; }
-   if ((err = mp_reduce(&t2, modulus, mu)) != MP_OKAY)             { goto error; }
-   if ((err = mp_mul(&t1, &t2, &t1)) != MP_OKAY)                   { goto error; }
-   if ((err = mp_reduce(&t1, modulus, mu)) != MP_OKAY)             { goto error; }
+   if ((err = mp_sqr(&t1, &t2)) != MP_OKAY)                                   { goto error; }
+   if ((err = mp_mod(&t2, modulus, &t2)) != MP_OKAY)                          { goto error; }
+   if ((err = mp_mul(&t1, &t2, &t1)) != MP_OKAY)                              { goto error; }
+   if ((err = mp_mod(&t1, modulus, &t1)) != MP_OKAY)                          { goto error; }
 
    /* multiply against x/y */
-   if ((err = mp_mul(&P->x, &t2, &P->x)) != MP_OKAY)               { goto error; }
-   if ((err = mp_reduce(&P->x, modulus, mu)) != MP_OKAY)           { goto error; }
-   if ((err = mp_mul(&P->y, &t1, &P->y)) != MP_OKAY)               { goto error; }
-   if ((err = mp_reduce(&P->y, modulus, mu)) != MP_OKAY)           { goto error; }
+   if ((err = mp_mul(&P->x, &t2, &P->x)) != MP_OKAY)                          { goto error; }
+   if ((err = mp_montgomery_reduce(&P->x, modulus, mp)) != MP_OKAY)           { goto error; }
+   if ((err = mp_mul(&P->y, &t1, &P->y)) != MP_OKAY)                          { goto error; }
+   if ((err = mp_montgomery_reduce(&P->y, modulus, mp)) != MP_OKAY)           { goto error; }
    mp_set(&P->z, 1);
 
    err = CRYPT_OK;
@@ -298,9 +222,8 @@ done:
 
 }
 
-
 /* double a point R = 2P, R can be P*/
-static int dbl_point(ecc_point *P, ecc_point *R, mp_int *modulus, mp_int *mu)
+static int dbl_point(ecc_point *P, ecc_point *R, mp_int *modulus, mp_digit mp)
 {
    mp_int t1, t2;
    int err;
@@ -315,10 +238,10 @@ static int dbl_point(ecc_point *P, ecc_point *R, mp_int *modulus, mp_int *mu)
 
    /* t1 = Z * Z */
    if ((err = mp_sqr(&R->z, &t1)) != MP_OKAY)                                      { goto error; }
-   if ((err = mp_reduce(&t1, modulus, mu)) != MP_OKAY)                             { goto error; }
+   if ((err = mp_montgomery_reduce(&t1, modulus, mp)) != MP_OKAY)                  { goto error; }
    /* Z = Y * Z */
    if ((err = mp_mul(&R->z, &R->y, &R->z)) != MP_OKAY)                             { goto error; }
-   if ((err = mp_reduce(&R->z, modulus, mu)) != MP_OKAY)                           { goto error; }
+   if ((err = mp_montgomery_reduce(&R->z, modulus, mp)) != MP_OKAY)                { goto error; }
    /* Z = 2Z */
    if ((err = mp_mul_2(&R->z, &R->z)) != MP_OKAY)                                  { goto error; }
    if (mp_cmp(&R->z, modulus) != MP_LT) {
@@ -337,7 +260,7 @@ static int dbl_point(ecc_point *P, ecc_point *R, mp_int *modulus, mp_int *mu)
    }
    /* T2 = T1 * T2 */
    if ((err = mp_mul(&t1, &t2, &t2)) != MP_OKAY)                                   { goto error; }
-   if ((err = mp_reduce(&t2, modulus, mu)) != MP_OKAY)                             { goto error; }
+   if ((err = mp_montgomery_reduce(&t2, modulus, mp)) != MP_OKAY)                  { goto error; }
    /* T1 = 2T2 */
    if ((err = mp_mul_2(&t2, &t1)) != MP_OKAY)                                      { goto error; }
    if (mp_cmp(&t1, modulus) != MP_LT) {
@@ -356,10 +279,10 @@ static int dbl_point(ecc_point *P, ecc_point *R, mp_int *modulus, mp_int *mu)
    }
    /* Y = Y * Y */
    if ((err = mp_sqr(&R->y, &R->y)) != MP_OKAY)                                    { goto error; }
-   if ((err = mp_reduce(&R->y, modulus, mu)) != MP_OKAY)                           { goto error; }
+   if ((err = mp_montgomery_reduce(&R->y, modulus, mp)) != MP_OKAY)                { goto error; }
    /* T2 = Y * Y */
    if ((err = mp_sqr(&R->y, &t2)) != MP_OKAY)                                      { goto error; }
-   if ((err = mp_reduce(&t2, modulus, mu)) != MP_OKAY)                             { goto error; }
+   if ((err = mp_montgomery_reduce(&t2, modulus, mp)) != MP_OKAY)                  { goto error; }
    /* T2 = T2/2 */
    if (mp_isodd(&t2)) {
       if ((err = mp_add(&t2, modulus, &t2)) != MP_OKAY)                            { goto error; }
@@ -367,11 +290,11 @@ static int dbl_point(ecc_point *P, ecc_point *R, mp_int *modulus, mp_int *mu)
    if ((err = mp_div_2(&t2, &t2)) != MP_OKAY)                                      { goto error; }
    /* Y = Y * X */
    if ((err = mp_mul(&R->y, &R->x, &R->y)) != MP_OKAY)                             { goto error; }
-   if ((err = mp_reduce(&R->y, modulus, mu)) != MP_OKAY)                           { goto error; }
+   if ((err = mp_montgomery_reduce(&R->y, modulus, mp)) != MP_OKAY)                { goto error; }
 
    /* X  = T1 * T1 */
    if ((err = mp_sqr(&t1, &R->x)) != MP_OKAY)                                      { goto error; }
-   if ((err = mp_reduce(&R->x, modulus, mu)) != MP_OKAY)                           { goto error; }
+   if ((err = mp_montgomery_reduce(&R->x, modulus, mp)) != MP_OKAY)                { goto error; }
    /* X = X - Y */
    if ((err = mp_sub(&R->x, &R->y, &R->x)) != MP_OKAY)                             { goto error; }
    if (mp_cmp_d(&R->x, 0) == MP_LT) {
@@ -390,7 +313,7 @@ static int dbl_point(ecc_point *P, ecc_point *R, mp_int *modulus, mp_int *mu)
    }
    /* Y = Y * T1 */
    if ((err = mp_mul(&R->y, &t1, &R->y)) != MP_OKAY)                               { goto error; }
-   if ((err = mp_reduce(&R->y, modulus, mu)) != MP_OKAY)                           { goto error; }
+   if ((err = mp_montgomery_reduce(&R->y, modulus, mp)) != MP_OKAY)                { goto error; }
    /* Y = Y - T2 */
    if ((err = mp_sub(&R->y, &t2, &R->y)) != MP_OKAY)                               { goto error; }
    if (mp_cmp_d(&R->y, 0) == MP_LT) {
@@ -407,7 +330,7 @@ done:
 }
 
 /* add two different points over Z/pZ, R = P + Q, note R can equal either P or Q */
-static int add_point(ecc_point *P, ecc_point *Q, ecc_point *R, mp_int *modulus, mp_int *mu)
+static int add_point(ecc_point *P, ecc_point *Q, ecc_point *R, mp_int *modulus, mp_digit mp)
 {
    mp_int t1, t2, x, y, z;
    int err;
@@ -420,34 +343,31 @@ static int add_point(ecc_point *P, ecc_point *Q, ecc_point *R, mp_int *modulus,
    if ((err = mp_copy(&P->y, &y)) != MP_OKAY)                                   { goto error; }
    if ((err = mp_copy(&P->z, &z)) != MP_OKAY)                                   { goto error; }
 
-   /* if Z' != 1 */
-   if (mp_cmp_d(&Q->z, 1) != MP_EQ) {
       /* T1 = Z' * Z' */
       if ((err = mp_sqr(&Q->z, &t1)) != MP_OKAY)                                { goto error; }
-      if ((err = mp_reduce(&t1, modulus, mu)) != MP_OKAY)                       { goto error; }
+      if ((err = mp_montgomery_reduce(&t1, modulus, mp)) != MP_OKAY)            { goto error; }
       /* X = X * T1 */
       if ((err = mp_mul(&t1, &x, &x)) != MP_OKAY)                               { goto error; }
-      if ((err = mp_reduce(&x, modulus, mu)) != MP_OKAY)                        { goto error; }
+      if ((err = mp_montgomery_reduce(&x, modulus, mp)) != MP_OKAY)             { goto error; }
       /* T1 = Z' * T1 */
       if ((err = mp_mul(&Q->z, &t1, &t1)) != MP_OKAY)                           { goto error; }
-      if ((err = mp_reduce(&t1, modulus, mu)) != MP_OKAY)                       { goto error; }
+      if ((err = mp_montgomery_reduce(&t1, modulus, mp)) != MP_OKAY)            { goto error; }
       /* Y = Y * T1 */
       if ((err = mp_mul(&t1, &y, &y)) != MP_OKAY)                               { goto error; }
-      if ((err = mp_reduce(&y, modulus, mu)) != MP_OKAY)                        { goto error; }
-   }
+      if ((err = mp_montgomery_reduce(&y, modulus, mp)) != MP_OKAY)             { goto error; }
 
    /* T1 = Z*Z */
    if ((err = mp_sqr(&z, &t1)) != MP_OKAY)                                      { goto error; }
-   if ((err = mp_reduce(&t1, modulus, mu)) != MP_OKAY)                          { goto error; }
+   if ((err = mp_montgomery_reduce(&t1, modulus, mp)) != MP_OKAY)               { goto error; }
    /* T2 = X' * T1 */
    if ((err = mp_mul(&Q->x, &t1, &t2)) != MP_OKAY)                              { goto error; }
-   if ((err = mp_reduce(&t2, modulus, mu)) != MP_OKAY)                          { goto error; }
+   if ((err = mp_montgomery_reduce(&t2, modulus, mp)) != MP_OKAY)               { goto error; }
    /* T1 = Z * T1 */
    if ((err = mp_mul(&z, &t1, &t1)) != MP_OKAY)                                 { goto error; }
-   if ((err = mp_reduce(&t1, modulus, mu)) != MP_OKAY)                          { goto error; }
+   if ((err = mp_montgomery_reduce(&t1, modulus, mp)) != MP_OKAY)               { goto error; }
    /* T1 = Y' * T1 */
    if ((err = mp_mul(&Q->y, &t1, &t1)) != MP_OKAY)                              { goto error; }
-   if ((err = mp_reduce(&t1, modulus, mu)) != MP_OKAY)                          { goto error; }
+   if ((err = mp_montgomery_reduce(&t1, modulus, mp)) != MP_OKAY)               { goto error; }
 
    /* Y = Y - T1 */
    if ((err = mp_sub(&y, &t1, &y)) != MP_OKAY)                                  { goto error; }
@@ -484,28 +404,28 @@ static int add_point(ecc_point *P, ecc_point *Q, ecc_point *R, mp_int *modulus,
    if (mp_cmp_d(&Q->z, 1) != MP_EQ) {
       /* Z = Z * Z' */
       if ((err = mp_mul(&z, &Q->z, &z)) != MP_OKAY)                             { goto error; }
-      if ((err = mp_reduce(&z, modulus, mu)) != MP_OKAY)                        { goto error; }
+      if ((err = mp_montgomery_reduce(&z, modulus, mp)) != MP_OKAY)             { goto error; }
    }
    /* Z = Z * X */
    if ((err = mp_mul(&z, &x, &z)) != MP_OKAY)                                   { goto error; }
-   if ((err = mp_reduce(&z, modulus, mu)) != MP_OKAY)                           { goto error; }
+   if ((err = mp_montgomery_reduce(&z, modulus, mp)) != MP_OKAY)                { goto error; }
 
    /* T1 = T1 * X  */
    if ((err = mp_mul(&t1, &x, &t1)) != MP_OKAY)                                 { goto error; }
-   if ((err = mp_reduce(&t1, modulus, mu)) != MP_OKAY)                          { goto error; }
+   if ((err = mp_montgomery_reduce(&t1, modulus, mp)) != MP_OKAY)               { goto error; }
    /* X = X * X */
    if ((err = mp_sqr(&x, &x)) != MP_OKAY)                                       { goto error; }
-   if ((err = mp_reduce(&x, modulus, mu)) != MP_OKAY)                           { goto error; }
+   if ((err = mp_montgomery_reduce(&x, modulus, mp)) != MP_OKAY)                { goto error; }
    /* T2 = T2 * x */
    if ((err = mp_mul(&t2, &x, &t2)) != MP_OKAY)                                 { goto error; }
-   if ((err = mp_reduce(&t2, modulus, mu)) != MP_OKAY)                          { goto error; }
+   if ((err = mp_montgomery_reduce(&t2, modulus, mp)) != MP_OKAY)               { goto error; }
    /* T1 = T1 * X  */
    if ((err = mp_mul(&t1, &x, &t1)) != MP_OKAY)                                 { goto error; }
-   if ((err = mp_reduce(&t1, modulus, mu)) != MP_OKAY)                          { goto error; }
+   if ((err = mp_montgomery_reduce(&t1, modulus, mp)) != MP_OKAY)               { goto error; }
  
    /* X = Y*Y */
    if ((err = mp_sqr(&y, &x)) != MP_OKAY)                                       { goto error; }
-   if ((err = mp_reduce(&x, modulus, mu)) != MP_OKAY)                           { goto error; }
+   if ((err = mp_montgomery_reduce(&x, modulus, mp)) != MP_OKAY)                { goto error; }
    /* X = X - T2 */
    if ((err = mp_sub(&x, &t2, &x)) != MP_OKAY)                                  { goto error; }
    if (mp_cmp_d(&x, 0) == MP_LT) {
@@ -524,7 +444,7 @@ static int add_point(ecc_point *P, ecc_point *Q, ecc_point *R, mp_int *modulus,
    }
    /* T2 = T2 * Y */
    if ((err = mp_mul(&t2, &y, &t2)) != MP_OKAY)                                 { goto error; }
-   if ((err = mp_reduce(&t2, modulus, mu)) != MP_OKAY)                          { goto error; }
+   if ((err = mp_montgomery_reduce(&t2, modulus, mp)) != MP_OKAY)               { goto error; }
    /* Y = T2 - T1 */
    if ((err = mp_sub(&t2, &t1, &y)) != MP_OKAY)                                 { goto error; }
    if (mp_cmp_d(&y, 0) == MP_LT) {
@@ -553,22 +473,25 @@ done:
 #define WINSIZE 4
 
 /* perform R = kG where k == integer and G == ecc_point */
-static int ecc_mulmod(mp_int *k, ecc_point *G, ecc_point *R, mp_int *modulus)
+static int ecc_mulmod(mp_int *k, ecc_point *G, ecc_point *R, mp_int *modulus, int map)
 {
    ecc_point *tG, *M[8];
    int        i, j, err;
    mp_int     mu;
-   mp_digit   buf;
+   mp_digit   buf, mp;
    int        first, bitbuf, bitcpy, bitcnt, mode, digidx;
 
-  /* init barrett reduction */
-  if ((err = mp_init(&mu)) != MP_OKAY) {
-      return mpi_to_ltc_error(err);
-  }
-  if ((err = mp_reduce_setup(&mu, modulus)) != MP_OKAY) {
+   /* init montgomery reduction */
+   if ((err = mp_montgomery_setup(modulus, &mp)) != MP_OKAY) {
+      return CRYPT_INVALID_ARG;
+   }
+   if ((err = mp_init(&mu)) != MP_OKAY) {
+      return CRYPT_MEM;
+   }
+   if ((err = mp_montgomery_calc_normalization(&mu, modulus)) != MP_OKAY) {
       mp_clear(&mu);
-      return mpi_to_ltc_error(err);
-  }
+      return CRYPT_INVALID_ARG;
+   }
 
   /* alloc ram for window temps */
   for (i = 0; i < 8; i++) {
@@ -586,20 +509,21 @@ static int ecc_mulmod(mp_int *k, ecc_point *G, ecc_point *R, mp_int *modulus)
    tG = new_point();
    if (tG == NULL)                                                            { err = CRYPT_MEM; goto done; }
 
-   /* tG = G */
-   if ((err = mp_copy(&G->x, &tG->x)) != MP_OKAY)                             { goto error; }
-   if ((err = mp_copy(&G->y, &tG->y)) != MP_OKAY)                             { goto error; }
-   if ((err = mp_copy(&G->z, &tG->z)) != MP_OKAY)                             { goto error; }
+   /* tG = G  and convert to montgomery */
+   if ((err = mp_mulmod(&G->x, &mu, modulus, &tG->x)) != MP_OKAY)             { goto error; }
+   if ((err = mp_mulmod(&G->y, &mu, modulus, &tG->y)) != MP_OKAY)             { goto error; }
+   if ((err = mp_mulmod(&G->z, &mu, modulus, &tG->z)) != MP_OKAY)             { goto error; }
+   mp_clear(&mu);
    
    /* calc the M tab, which holds kG for k==8..15 */
    /* M[0] == 8G */
-   if ((err = dbl_point(G, M[0], modulus, &mu)) != CRYPT_OK)                  { goto done; }
-   if ((err = dbl_point(M[0], M[0], modulus, &mu)) != CRYPT_OK)               { goto done; }
-   if ((err = dbl_point(M[0], M[0], modulus, &mu)) != CRYPT_OK)               { goto done; }
+   if ((err = dbl_point(tG,   M[0], modulus, mp)) != CRYPT_OK)               { goto done; }
+   if ((err = dbl_point(M[0], M[0], modulus, mp)) != CRYPT_OK)               { goto done; }
+   if ((err = dbl_point(M[0], M[0], modulus, mp)) != CRYPT_OK)               { goto done; }
 
    /* now find (8+k)G for k=1..7 */
    for (j = 9; j < 16; j++) {
-       if ((err = add_point(M[j-9], G, M[j-8], modulus, &mu)) != CRYPT_OK)    { goto done; }
+       if ((err = add_point(M[j-9], tG, M[j-8], modulus, mp)) != CRYPT_OK)   { goto done; }
    }
 
    /* setup sliding window */
@@ -621,7 +545,7 @@ static int ecc_mulmod(mp_int *k, ecc_point *G, ecc_point *R, mp_int *modulus)
        bitcnt = (int) DIGIT_BIT;
      }
 
-     /* grab the next msb from the multiplicand */
+     /* grab the next msb from the ltiplicand */
      i = (buf >> (DIGIT_BIT - 1)) & 1;
      buf <<= 1;
 
@@ -632,7 +556,7 @@ static int ecc_mulmod(mp_int *k, ecc_point *G, ecc_point *R, mp_int *modulus)
 
      /* if the bit is zero and mode == 1 then we double */
      if (mode == 1 && i == 0) {
-        if ((err = dbl_point(R, R, modulus, &mu)) != CRYPT_OK)                { goto done; }
+        if ((err = dbl_point(R, R, modulus, mp)) != CRYPT_OK)                { goto done; }
         continue;
      }
 
@@ -653,11 +577,11 @@ static int ecc_mulmod(mp_int *k, ecc_point *G, ecc_point *R, mp_int *modulus)
          /* ok window is filled so double as required and add  */
          /* double first */
          for (j = 0; j < WINSIZE; j++) {
-           if ((err = dbl_point(R, R, modulus, &mu)) != CRYPT_OK)             { goto done; }
+           if ((err = dbl_point(R, R, modulus, mp)) != CRYPT_OK)             { goto done; }
          }
 
          /* then add, bitbuf will be 8..15 [8..2^WINSIZE] guaranteed */
-         if ((err = add_point(R, M[bitbuf-8], R, modulus, &mu)) != CRYPT_OK)  { goto done; }
+         if ((err = add_point(R, M[bitbuf-8], R, modulus, mp)) != CRYPT_OK)  { goto done; }
        }
        /* empty window and reset */
        bitcpy = bitbuf = 0;
@@ -671,7 +595,7 @@ static int ecc_mulmod(mp_int *k, ecc_point *G, ecc_point *R, mp_int *modulus)
      for (j = 0; j < bitcpy; j++) {
        /* only double if we have had at least one add first */
        if (first == 0) {
-          if ((err = dbl_point(R, R, modulus, &mu)) != CRYPT_OK)               { goto done; }
+          if ((err = dbl_point(R, R, modulus, mp)) != CRYPT_OK)               { goto done; }
        }
 
        bitbuf <<= 1;
@@ -684,14 +608,19 @@ static int ecc_mulmod(mp_int *k, ecc_point *G, ecc_point *R, mp_int *modulus)
             first = 0;
          } else {
             /* then add */
-            if ((err = add_point(R, tG, R, modulus, &mu)) != CRYPT_OK)         { goto done; }
+            if ((err = add_point(R, tG, R, modulus, mp)) != CRYPT_OK)         { goto done; }
          }
        }
      }
    }
 
    /* map R back from projective space */
-   err = ecc_map(R, modulus, &mu);
+   if (map) {
+      err = ecc_map(R, modulus, mp);
+   } else {
+      err = CRYPT_OK;
+   }
+
    goto done;
 error:
    err = mpi_to_ltc_error(err);
@@ -700,7 +629,6 @@ done:
    for (i = 0; i < 8; i++) {
        del_point(M[i]);
    }
-   mp_clear(&mu);
    return err;
 }
 
@@ -756,7 +684,7 @@ int ecc_test(void)
 
        /* then we should have G == (order + 1)G */
        if ((err = mp_add_d(&order, 1, &order)) != MP_OKAY)                          { goto error; }
-       if ((err = ecc_mulmod(&order, G, GG, &modulus)) != CRYPT_OK)                 { goto done; }
+       if ((err = ecc_mulmod(&order, G, GG, &modulus, 1)) != CRYPT_OK)              { goto done; }
        if (mp_cmp(&G->x, &GG->x) != 0 || mp_cmp(&G->y, &GG->y) != 0) {
           err = CRYPT_FAIL_TESTVECTOR;
           goto done;
@@ -855,7 +783,7 @@ int ecc_make_key(prng_state *prng, int wprng, int keysize, ecc_key *key)
    if ((err = mp_read_unsigned_bin(&key->k, (unsigned char *)buf, keysize)) != MP_OKAY) { goto error; }
 
    /* make the public key */
-   if ((err = ecc_mulmod(&key->k, base, &key->pubkey, &prime)) != CRYPT_OK)             { goto LBL_ERR; }
+   if ((err = ecc_mulmod(&key->k, base, &key->pubkey, &prime, 1)) != CRYPT_OK)          { goto LBL_ERR; }
    key->type = PK_PRIVATE;
 
    /* shrink key */
@@ -892,89 +820,6 @@ void ecc_free(ecc_key *key)
    mp_clear_multi(&key->pubkey.x, &key->pubkey.y, &key->pubkey.z, &key->k, NULL);
 }
 
-static int compress_y_point(ecc_point *pt, int idx, int *result)
-{
-   mp_int tmp, tmp2, p;
-   int err;
-
-   LTC_ARGCHK(pt     != NULL);
-   LTC_ARGCHK(result != NULL);
-
-   if ((err = mp_init_multi(&tmp, &tmp2, &p, NULL)) != MP_OKAY) {
-      return mpi_to_ltc_error(err);
-   }
-
-   /* get x^3 - 3x + b */
-   if ((err = mp_read_radix(&p, (char *)sets[idx].B, 64)) != MP_OKAY) { goto error; } /* p = B */
-   if ((err = mp_expt_d(&pt->x, 3, &tmp)) != MP_OKAY)                 { goto error; } /* tmp = pX^3  */
-   if ((err = mp_mul_d(&pt->x, 3, &tmp2)) != MP_OKAY)                 { goto error; } /* tmp2 = 3*pX^3 */
-   if ((err = mp_sub(&tmp, &tmp2, &tmp)) != MP_OKAY)                  { goto error; } /* tmp = tmp - tmp2 */
-   if ((err = mp_add(&tmp, &p, &tmp)) != MP_OKAY)                     { goto error; } /* tmp = tmp + p */
-   if ((err = mp_read_radix(&p, (char *)sets[idx].prime, 64)) != MP_OKAY)  { goto error; } /* p = prime */
-   if ((err = mp_mod(&tmp, &p, &tmp)) != MP_OKAY)                     { goto error; } /* tmp = tmp mod p */
-
-   /* now find square root */
-   if ((err = mp_add_d(&p, 1, &tmp2)) != MP_OKAY)                     { goto error; } /* tmp2 = p + 1 */
-   if ((err = mp_div_2d(&tmp2, 2, &tmp2, NULL)) != MP_OKAY)           { goto error; } /* tmp2 = (p+1)/4 */
-   if ((err = mp_exptmod(&tmp, &tmp2, &p, &tmp)) != MP_OKAY)          { goto error; } /* tmp  = (x^3 - 3x + b)^((p+1)/4) mod p */
-
-   /* if tmp equals the y point give a 0, otherwise 1 */
-   if (mp_cmp(&tmp, &pt->y) == 0) {
-      *result = 0;
-   } else {
-      *result = 1;
-   }
-
-   err = CRYPT_OK;
-   goto done;
-error:
-   err = mpi_to_ltc_error(err);
-done:
-   mp_clear_multi(&p, &tmp, &tmp2, NULL);
-   return err;
-}
-
-static int expand_y_point(ecc_point *pt, int idx, int result)
-{
-   mp_int tmp, tmp2, p;
-   int err;
-
-   LTC_ARGCHK(pt != NULL);
-
-   if ((err = mp_init_multi(&tmp, &tmp2, &p, NULL)) != MP_OKAY) {
-      return CRYPT_MEM;
-   }
-
-   /* get x^3 - 3x + b */
-   if ((err = mp_read_radix(&p, (char *)sets[idx].B, 64)) != MP_OKAY) { goto error; } /* p = B */
-   if ((err = mp_expt_d(&pt->x, 3, &tmp)) != MP_OKAY)                 { goto error; } /* tmp = pX^3 */
-   if ((err = mp_mul_d(&pt->x, 3, &tmp2)) != MP_OKAY)                 { goto error; } /* tmp2 = 3*pX^3 */
-   if ((err = mp_sub(&tmp, &tmp2, &tmp)) != MP_OKAY)                  { goto error; } /* tmp = tmp - tmp2 */
-   if ((err = mp_add(&tmp, &p, &tmp)) != MP_OKAY)                     { goto error; } /* tmp = tmp + p */
-   if ((err = mp_read_radix(&p, (char *)sets[idx].prime, 64)) != MP_OKAY)  { goto error; } /* p = prime */
-   if ((err = mp_mod(&tmp, &p, &tmp)) != MP_OKAY)                     { goto error; } /* tmp = tmp mod p */
-
-   /* now find square root */
-   if ((err = mp_add_d(&p, 1, &tmp2)) != MP_OKAY)                     { goto error; } /* tmp2 = p + 1 */
-   if ((err = mp_div_2d(&tmp2, 2, &tmp2, NULL)) != MP_OKAY)           { goto error; } /* tmp2 = (p+1)/4 */
-   if ((err = mp_exptmod(&tmp, &tmp2, &p, &tmp)) != MP_OKAY)          { goto error; } /* tmp  = (x^3 - 3x + b)^((p+1)/4) mod p */
-
-   /* if result==0, then y==tmp, otherwise y==p-tmp */
-   if (result == 0) {
-      if ((err = mp_copy(&tmp, &pt->y) != MP_OKAY))                   { goto error; }
-   } else {
-      if ((err = mp_sub(&p, &tmp, &pt->y) != MP_OKAY))                { goto error; }
-   }
-
-   err = CRYPT_OK;
-   goto done;
-error:
-   err = mpi_to_ltc_error(err);
-done:
-   mp_clear_multi(&p, &tmp, &tmp2, NULL);
-   return err;
-}
-
 /**
   Export an ECC key as a binary packet
   @param out     [out] Destination for the key
@@ -985,46 +830,46 @@ done:
 */
 int ecc_export(unsigned char *out, unsigned long *outlen, int type, ecc_key *key)
 {
-   unsigned long y, z;
-   int cp, err;
+   int           err;
+   unsigned char flags[1];
+   unsigned long key_size;
 
    LTC_ARGCHK(out    != NULL);
    LTC_ARGCHK(outlen != NULL);
    LTC_ARGCHK(key    != NULL);
    
-   /* can we store the static header?  */
-   if (*outlen < (PACKET_SIZE + 3)) {
-      return CRYPT_BUFFER_OVERFLOW;
-   }
-
    /* type valid? */
    if (key->type != PK_PRIVATE && type == PK_PRIVATE) {
       return CRYPT_PK_TYPE_MISMATCH;
    }
 
-   /* output type and magic byte */
-   y = PACKET_SIZE;
-   out[y++] = (unsigned char)type;
-   out[y++] = (unsigned char)sets[key->idx].size;
-
-   /* output x coordinate */
-   OUTPUT_BIGNUM(&(key->pubkey.x), out, y, z);
-
-   /* compress y and output it  */
-   if ((err = compress_y_point(&key->pubkey, key->idx, &cp)) != CRYPT_OK) {
-      return err;
+   if (is_valid_idx(key->idx) == 0) {
+      return CRYPT_INVALID_ARG;
    }
-   out[y++] = (unsigned char)cp;
+
+   /* we store the NIST byte size */
+   key_size = sets[key->idx].size;
 
    if (type == PK_PRIVATE) {
-      OUTPUT_BIGNUM(&key->k, out, y, z);
+       flags[0] = 1;
+       err = der_encode_sequence_multi(out, outlen,
+                                 LTC_ASN1_BIT_STRING,      1UL, flags,
+                                 LTC_ASN1_SHORT_INTEGER,   1UL, &key_size,
+                                 LTC_ASN1_INTEGER,         1UL, &key->pubkey.x,
+                                 LTC_ASN1_INTEGER,         1UL, &key->pubkey.y,
+                                 LTC_ASN1_INTEGER,         1UL, &key->k,
+                                 LTC_ASN1_EOL,             0UL, NULL);
+   } else {
+       flags[0] = 0;
+       err = der_encode_sequence_multi(out, outlen,
+                                 LTC_ASN1_BIT_STRING,      1UL, flags,
+                                 LTC_ASN1_SHORT_INTEGER,   1UL, &key_size,
+                                 LTC_ASN1_INTEGER,         1UL, &key->pubkey.x,
+                                 LTC_ASN1_INTEGER,         1UL, &key->pubkey.y,
+                                 LTC_ASN1_EOL,             0UL, NULL);
    }
 
-   /* store header */
-   packet_store_header(out, PACKET_SECT_ECC, PACKET_SUB_KEY);
-   *outlen = y;
-
-   return CRYPT_OK;
+   return err;
 }
 
 /**
@@ -1036,72 +881,63 @@ int ecc_export(unsigned char *out, unsigned long *outlen, int type, ecc_key *key
 */
 int ecc_import(const unsigned char *in, unsigned long inlen, ecc_key *key)
 {
-   unsigned long x, y, s;
-   int err;
+   unsigned long key_size;
+   unsigned char flags[1];
+   int           err;
 
    LTC_ARGCHK(in  != NULL);
    LTC_ARGCHK(key != NULL);
 
-   /* check length */
-   if ((3+PACKET_SIZE) > inlen) {
-      return CRYPT_INVALID_PACKET;
-   }
-
-   /* check type */
-   if ((err = packet_valid_header((unsigned char *)in, PACKET_SECT_ECC, PACKET_SUB_KEY)) != CRYPT_OK) {
-      return err;
-   }
-
    /* init key */
    if (mp_init_multi(&key->pubkey.x, &key->pubkey.y, &key->pubkey.z, &key->k, NULL) != MP_OKAY) {
       return CRYPT_MEM;
    }
 
-   y = PACKET_SIZE;
-   key->type = (int)in[y++];
-   s = (unsigned long)in[y++];
-
-   for (x = 0; (s > (unsigned long)sets[x].size) && (sets[x].size != 0); x++);
-   if (sets[x].size == 0) {
-      err = CRYPT_INVALID_KEYSIZE;
+   /* find out what type of key it is */
+   if ((err = der_decode_sequence_multi(in, inlen, 
+                                  LTC_ASN1_BIT_STRING, 1UL, &flags,
+                                  LTC_ASN1_EOL,        0UL, NULL)) != CRYPT_OK) {
       goto error;
    }
-   key->idx = (int)x;
 
-   /* type check both values */
-   if ((key->type != PK_PUBLIC) && (key->type != PK_PRIVATE))  {
-      err = CRYPT_INVALID_PACKET;
-      goto error;
+
+   if (flags[0] == 1) {
+      /* private key */
+      key->type = PK_PRIVATE;
+      if ((err = der_decode_sequence_multi(in, inlen,
+                                     LTC_ASN1_BIT_STRING,      1UL, flags,
+                                     LTC_ASN1_SHORT_INTEGER,   1UL, &key_size,
+                                     LTC_ASN1_INTEGER,         1UL, &key->pubkey.x,
+                                     LTC_ASN1_INTEGER,         1UL, &key->pubkey.y,
+                                     LTC_ASN1_INTEGER,         1UL, &key->k,
+                                     LTC_ASN1_EOL,             0UL, NULL)) != CRYPT_OK) {
+         goto error;
+      }
+   } else {
+      /* public key */
+      /* private key */
+      key->type = PK_PUBLIC;
+      if ((err = der_decode_sequence_multi(in, inlen,
+                                     LTC_ASN1_BIT_STRING,      1UL, flags,
+                                     LTC_ASN1_SHORT_INTEGER,   1UL, &key_size,
+                                     LTC_ASN1_INTEGER,         1UL, &key->pubkey.x,
+                                     LTC_ASN1_INTEGER,         1UL, &key->pubkey.y,
+                                     LTC_ASN1_EOL,             0UL, NULL)) != CRYPT_OK) {
+         goto error;
+      }
    }
 
-   /* is the key idx valid? */
-   if (is_valid_idx(key->idx) != 1) {
+   /* find the idx */
+   for (key->idx = 0; sets[key->idx].size && (unsigned long)sets[key->idx].size != key_size; ++key->idx);
+   if (sets[key->idx].size == 0) {
       err = CRYPT_INVALID_PACKET;
       goto error;
    }
 
-   /* load x coordinate */
-   INPUT_BIGNUM(&key->pubkey.x, in, x, y, inlen);
-
-   /* load y */
-   x = (unsigned long)in[y++];
-   if ((err = expand_y_point(&key->pubkey, key->idx, (int)x)) != CRYPT_OK) {
-       goto error;
-   }
-
-   if (key->type == PK_PRIVATE) {
-      /* load private key */
-      INPUT_BIGNUM(&key->k, in, x, y, inlen);
-   }
-
-   /* eliminate private key if public */
-   if (key->type == PK_PUBLIC) {
-      mp_clear(&key->k);
-   }
-
-   /* z is always 1 */
+   /* set z */
    mp_set(&key->pubkey.z, 1);
 
+   /* we're good */
    return CRYPT_OK;
 error:
    mp_clear_multi(&key->pubkey.x, &key->pubkey.y, &key->pubkey.z, &key->k, NULL);
@@ -1112,14 +948,14 @@ error:
   Create an ECC shared secret between two keys
   @param private_key      The private ECC key
   @param public_key       The public key
-  @param out              [out] Destination of the shared secret
+  @param out              [out] Destination of the shared secret (Conforms to EC-DH from ANSI X9.63)
   @param outlen           [in/out] The max size and resulting size of the shared secret
   @return CRYPT_OK if successful
 */
 int ecc_shared_secret(ecc_key *private_key, ecc_key *public_key,
                       unsigned char *out, unsigned long *outlen)
 {
-   unsigned long x, y;
+   unsigned long x;
    ecc_point *result;
    mp_int prime;
    int err;
@@ -1134,6 +970,10 @@ int ecc_shared_secret(ecc_key *private_key, ecc_key *public_key,
       return CRYPT_PK_NOT_PRIVATE;
    }
 
+   if (is_valid_idx(private_key->idx) == 0) {
+      return CRYPT_INVALID_ARG;
+   }
+
    if (private_key->idx != public_key->idx) {
       return CRYPT_PK_TYPE_MISMATCH;
    }
@@ -1149,21 +989,19 @@ int ecc_shared_secret(ecc_key *private_key, ecc_key *public_key,
       return mpi_to_ltc_error(err);
    }
 
-   if ((err = mp_read_radix(&prime, (char *)sets[private_key->idx].prime, 64)) != MP_OKAY)   { goto error; }
-   if ((err = ecc_mulmod(&private_key->k, &public_key->pubkey, result, &prime)) != CRYPT_OK) { goto done1; }
+   if ((err = mp_read_radix(&prime, (char *)sets[private_key->idx].prime, 64)) != MP_OKAY)            { goto error; }
+   if ((err = ecc_mulmod(&private_key->k, &public_key->pubkey, result, &prime, 1)) != CRYPT_OK)       { goto done1; }
 
-   x = (unsigned long)mp_unsigned_bin_size(&result->x);
-   y = (unsigned long)mp_unsigned_bin_size(&result->y);
-
-   if (*outlen < (x+y)) {
+   x = (unsigned long)mp_unsigned_bin_size(&prime);
+   if (*outlen < x) {
       err = CRYPT_BUFFER_OVERFLOW;
       goto done1;
    }
-   *outlen = x+y;
-   if ((err = mp_to_unsigned_bin(&result->x, out))   != MP_OKAY)          { goto error; }
-   if ((err = mp_to_unsigned_bin(&result->y, out+x)) != MP_OKAY)          { goto error; }
+   zeromem(out, x);
+   if ((err = mp_to_unsigned_bin(&result->x, out + (x - mp_unsigned_bin_size(&result->x))))   != MP_OKAY)          { goto error; }
 
-   err = CRYPT_OK;
+   err     = CRYPT_OK;
+   *outlen = x;
    goto done1;
 error:
    err = mpi_to_ltc_error(err);
@@ -1192,3 +1030,7 @@ int ecc_get_size(ecc_key *key)
 #endif
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/ecc/ecc.c,v $ */
+/* $Revision: 1.20 $ */
+/* $Date: 2005/06/14 20:42:28 $ */
diff --git a/src/pk/ecc/ecc_sys.c b/src/pk/ecc/ecc_sys.c
index d5576f64..65ead319 100644
--- a/src/pk/ecc/ecc_sys.c
+++ b/src/pk/ecc/ecc_sys.c
@@ -33,7 +33,7 @@ int ecc_encrypt_key(const unsigned char *in,   unsigned long inlen,
 {
     unsigned char *pub_expt, *ecc_shared, *skey;
     ecc_key        pubkey;
-    unsigned long  x, y, z, hashsize, pubkeysize;
+    unsigned long  x, y, pubkeysize;
     int            err;
 
     LTC_ARGCHK(in      != NULL);
@@ -82,53 +82,29 @@ int ecc_encrypt_key(const unsigned char *in,   unsigned long inlen,
        goto LBL_ERR;
     }
     
-    /* now check if the out buffer is big enough */
-    if (*outlen < (9 + PACKET_SIZE + pubkeysize + hash_descriptor[hash].hashsize)) {
-       ecc_free(&pubkey);
-       err = CRYPT_BUFFER_OVERFLOW;
-       goto LBL_ERR;
-    }
-
     /* make random key */
-    hashsize  = hash_descriptor[hash].hashsize;
-    x = ECC_BUF_SIZE;
+    x        = ECC_BUF_SIZE;
     if ((err = ecc_shared_secret(&pubkey, key, ecc_shared, &x)) != CRYPT_OK) {
        ecc_free(&pubkey);
        goto LBL_ERR;
     }
     ecc_free(&pubkey);
-    z = MAXBLOCKSIZE;
-    if ((err = hash_memory(hash, ecc_shared, x, skey, &z)) != CRYPT_OK) {
+    y = MAXBLOCKSIZE;
+    if ((err = hash_memory(hash, ecc_shared, x, skey, &y)) != CRYPT_OK) {
        goto LBL_ERR;
     }
     
-    /* store header */
-    packet_store_header(out, PACKET_SECT_ECC, PACKET_SUB_ENC_KEY);    
-
-    /* output header */
-    y = PACKET_SIZE;
- 
-    /* size of hash name and the name itself */
-    out[y++] = hash_descriptor[hash].ID;
-
-    /* length of ECC pubkey and the key itself */
-    STORE32L(pubkeysize, out+y);
-    y += 4;
-
-    for (x = 0; x < pubkeysize; x++, y++) {
-        out[y] = pub_expt[x];
+    /* Encrypt key */
+    for (x = 0; x < inlen; x++) {
+      skey[x] ^= in[x];
     }
 
-    STORE32L(inlen, out+y);
-    y += 4;
-
-    /* Encrypt/Store the encrypted key */
-    for (x = 0; x < inlen; x++, y++) {
-      out[y] = skey[x] ^ in[x];
-    }
-    *outlen = y;
+    err = der_encode_sequence_multi(out, outlen,
+                                    LTC_ASN1_OBJECT_IDENTIFIER,  hash_descriptor[hash].OIDlen,   hash_descriptor[hash].OID,
+                                    LTC_ASN1_OCTET_STRING,       pubkeysize,                     pub_expt,
+                                    LTC_ASN1_OCTET_STRING,       inlen,                          skey,
+                                    LTC_ASN1_EOL,                0UL,                            NULL);
 
-    err = CRYPT_OK;
 LBL_ERR:
 #ifdef LTC_CLEAN_STACK
     /* clean up */
@@ -157,10 +133,11 @@ int ecc_decrypt_key(const unsigned char *in,  unsigned long  inlen,
                           unsigned char *out, unsigned long *outlen, 
                           ecc_key *key)
 {
-   unsigned char *shared_secret, *skey;
-   unsigned long  x, y, z, hashsize, keysize;
+   unsigned char *ecc_shared, *skey, *pub_expt;
+   unsigned long  x, y, hashOID[32];
    int            hash, err;
    ecc_key        pubkey;
+   ltc_asn1_list  decode[3];
 
    LTC_ARGCHK(in     != NULL);
    LTC_ARGCHK(out    != NULL);
@@ -172,98 +149,93 @@ int ecc_decrypt_key(const unsigned char *in,  unsigned long  inlen,
       return CRYPT_PK_NOT_PRIVATE;
    }
    
-   /* correct length ? */
-   if (inlen < PACKET_SIZE+1+4+4) {
-      return CRYPT_INVALID_PACKET;
-   } else {
-      inlen -= PACKET_SIZE+1+4+4;
-   }
-
-   /* is header correct? */
-   if ((err = packet_valid_header((unsigned char *)in, PACKET_SECT_ECC, PACKET_SUB_ENC_KEY)) != CRYPT_OK) {
+   /* decode to find out hash */
+   LTC_SET_ASN1(decode, 0, LTC_ASN1_OBJECT_IDENTIFIER, hashOID, sizeof(hashOID)/sizeof(hashOID[0]));
+ 
+   if ((err = der_decode_sequence(in, inlen, decode, 1)) != CRYPT_OK) {
       return err;
    }
+   for (hash = 0; hash_descriptor[hash].name   != NULL             && 
+                  (hash_descriptor[hash].OIDlen != decode[0].size   || 
+                   memcmp(hash_descriptor[hash].OID, hashOID, sizeof(unsigned long)*decode[0].size)); hash++);
 
-   /* now lets get the hash name */
-   y = PACKET_SIZE;
-   hash = find_hash_id(in[y++]);
-   if (hash == -1) {
-      return CRYPT_INVALID_HASH;
-   }
-
-   /* common values */
-   hashsize  = hash_descriptor[hash].hashsize;
-
-   /* get public key */
-   LOAD32L(x, in+y);
-   if (inlen < x) {
+   if (hash_descriptor[hash].name == NULL) {
       return CRYPT_INVALID_PACKET;
-   } else {
-      inlen -= x;
-   }
-   y += 4;
-   if ((err = ecc_import(in+y, x, &pubkey)) != CRYPT_OK) {
-      return err;
    }
-   y += x;
+
+   /* we now have the hash! */
 
    /* allocate memory */
-   shared_secret = XMALLOC(ECC_BUF_SIZE);
-   skey          = XMALLOC(MAXBLOCKSIZE);
-   if (shared_secret == NULL || skey == NULL) {
-      if (shared_secret != NULL) {
-         XFREE(shared_secret);
+   pub_expt   = XMALLOC(ECC_BUF_SIZE);
+   ecc_shared = XMALLOC(ECC_BUF_SIZE);
+   skey       = XMALLOC(MAXBLOCKSIZE);
+   if (pub_expt == NULL || ecc_shared == NULL || skey == NULL) {
+      if (pub_expt != NULL) {
+         XFREE(pub_expt);
+      }
+      if (ecc_shared != NULL) {
+         XFREE(ecc_shared);
       }
       if (skey != NULL) {
          XFREE(skey);
       }
-      ecc_free(&pubkey);
       return CRYPT_MEM;
    }
+   LTC_SET_ASN1(decode, 1, LTC_ASN1_OCTET_STRING,      pub_expt,  ECC_BUF_SIZE);
+   LTC_SET_ASN1(decode, 2, LTC_ASN1_OCTET_STRING,      skey,      MAXBLOCKSIZE);
+
+   /* read the structure in now */
+   if ((err = der_decode_sequence(in, inlen, decode, 3)) != CRYPT_OK) {
+      goto LBL_ERR;
+   }
+
+   /* import ECC key from packet */
+   if ((err = ecc_import(decode[1].data, decode[1].size, &pubkey)) != CRYPT_OK) {
+      goto LBL_ERR;
+   }
 
    /* make shared key */
    x = ECC_BUF_SIZE;
-   if ((err = ecc_shared_secret(key, &pubkey, shared_secret, &x)) != CRYPT_OK) {
+   if ((err = ecc_shared_secret(key, &pubkey, ecc_shared, &x)) != CRYPT_OK) {
       ecc_free(&pubkey);
       goto LBL_ERR;
    }
    ecc_free(&pubkey);
 
-   z = MAXBLOCKSIZE;
-   if ((err = hash_memory(hash, shared_secret, x, skey, &z)) != CRYPT_OK) {
+   y = MAXBLOCKSIZE;
+   if ((err = hash_memory(hash, ecc_shared, x, ecc_shared, &y)) != CRYPT_OK) {
       goto LBL_ERR;
    }
 
-   LOAD32L(keysize, in+y);
-   if (inlen < keysize) {
+   /* ensure the hash of the shared secret is at least as big as the encrypt itself */
+   if (decode[2].size > y) {
       err = CRYPT_INVALID_PACKET;
       goto LBL_ERR;
-   } else {
-      inlen -= keysize;
    }
-   y += 4;
 
-   if (*outlen < keysize) {
-       err = CRYPT_BUFFER_OVERFLOW;
-       goto LBL_ERR;
+   /* avoid buffer overflow */
+   if (*outlen < decode[2].size) {
+      err = CRYPT_BUFFER_OVERFLOW;
+      goto LBL_ERR;
    }
 
    /* Decrypt the key */
-   for (x = 0; x < keysize; x++, y++) {
-     out[x] = skey[x] ^ in[y];
+   for (x = 0; x < decode[2].size; x++) {
+     out[x] = skey[x] ^ ecc_shared[x];
    }
-
-   *outlen = keysize;
+   *outlen = x;
 
    err = CRYPT_OK;
 LBL_ERR:
 #ifdef LTC_CLEAN_STACK
-   zeromem(shared_secret, ECC_BUF_SIZE);
-   zeromem(skey,          MAXBLOCKSIZE);
+   zeromem(pub_expt,   ECC_BUF_SIZE);
+   zeromem(ecc_shared, ECC_BUF_SIZE);
+   zeromem(skey,       MAXBLOCKSIZE);
 #endif
 
+   XFREE(pub_expt);
+   XFREE(ecc_shared);
    XFREE(skey);
-   XFREE(shared_secret);
 
    return err;
 }
@@ -284,9 +256,7 @@ int ecc_sign_hash(const unsigned char *in,  unsigned long inlen,
                         prng_state *prng, int wprng, ecc_key *key)
 {
    ecc_key       pubkey;
-   mp_int        b, p;
-   unsigned char *epubkey, *er;
-   unsigned long x, y, pubkeysize, rsize;
+   mp_int        r, s, e, p;
    int           err;
 
    LTC_ARGCHK(in     != NULL);
@@ -308,116 +278,65 @@ int ecc_sign_hash(const unsigned char *in,  unsigned long inlen,
       return err;
    }
 
-   /* make up a key and export the public copy */
-   if ((err = ecc_make_key(prng, wprng, ecc_get_size(key), &pubkey)) != CRYPT_OK) {
-      return err;
-   }
-
-   /* allocate ram */
-   epubkey = XMALLOC(ECC_BUF_SIZE);
-   er      = XMALLOC(ECC_BUF_SIZE);
-   if (epubkey == NULL || er == NULL) {
-      if (epubkey != NULL) {
-         XFREE(epubkey);
-      }
-      if (er != NULL) {
-         XFREE(er);
-      }
-      ecc_free(&pubkey);
-      return CRYPT_MEM;
-   }
-
-   pubkeysize = ECC_BUF_SIZE;
-   if ((err = ecc_export(epubkey, &pubkeysize, PK_PUBLIC, &pubkey)) != CRYPT_OK) {
-      ecc_free(&pubkey);
-      goto LBL_ERR;
-   }
-
-   /* get the hash and load it as a bignum into 'b' */
+   /* get the hash and load it as a bignum into 'e' */
    /* init the bignums */
-   if ((err = mp_init_multi(&b, &p, NULL)) != MP_OKAY) { 
+   if ((err = mp_init_multi(&r, &s, &p, &e, NULL)) != MP_OKAY) { 
       ecc_free(&pubkey);
       err = mpi_to_ltc_error(err);
       goto LBL_ERR;
    }
    if ((err = mp_read_radix(&p, (char *)sets[key->idx].order, 64)) != MP_OKAY)        { goto error; }
-   if ((err = mp_read_unsigned_bin(&b, (unsigned char *)in, (int)inlen)) != MP_OKAY)  { goto error; }
-
-   /* find b = (m - x)/k */
-   if ((err = mp_invmod(&pubkey.k, &p, &pubkey.k)) != MP_OKAY)            { goto error; } /* k = 1/k */
-   if ((err = mp_submod(&b, &key->k, &p, &b)) != MP_OKAY)                 { goto error; } /* b = m - x */
-   if ((err = mp_mulmod(&b, &pubkey.k, &p, &b)) != MP_OKAY)               { goto error; } /* b = (m - x)/k */
-
-   /* export it */
-   rsize = (unsigned long)mp_unsigned_bin_size(&b);
-   if (rsize > ECC_BUF_SIZE) { 
-      err = CRYPT_BUFFER_OVERFLOW;
-      goto error; 
-   }
-   if ((err = mp_to_unsigned_bin(&b, er)) != MP_OKAY)                     { goto error; }
-
-   /* now lets check the outlen before we write */
-   if (*outlen < (12 + rsize + pubkeysize)) {
-      err = CRYPT_BUFFER_OVERFLOW;
-      goto LBL_ERR;
-   }
-
-   /* lets output */
-   y = PACKET_SIZE;
-   
-   /* size of public key */
-   STORE32L(pubkeysize, out+y);
-   y += 4;
+   if ((err = mp_read_unsigned_bin(&e, (unsigned char *)in, (int)inlen)) != MP_OKAY)  { goto error; }
 
-   /* copy the public key */
-   for (x = 0; x < pubkeysize; x++, y++) {
-       out[y] = epubkey[x];
-   }
-
-   /* size of 'r' */
-   STORE32L(rsize, out+y);
-   y += 4;
+   /* make up a key and export the public copy */
+   for (;;) {
+      if ((err = ecc_make_key(prng, wprng, ecc_get_size(key), &pubkey)) != CRYPT_OK) {
+         return err;
+      }
 
-   /* copy r */
-   for (x = 0; x < rsize; x++, y++) {
-       out[y] = er[x];
+      /* find r = x1 mod n */
+      if ((err = mp_mod(&pubkey.pubkey.x, &p, &r)) != MP_OKAY)                           { goto error; }
+
+      if (mp_iszero(&r)) {
+         ecc_free(&pubkey);
+      } else { 
+        /* find s = (e + xr)/k */
+        if ((err = mp_invmod(&pubkey.k, &p, &pubkey.k)) != MP_OKAY)            { goto error; } /* k = 1/k */
+        if ((err = mp_mulmod(&key->k, &r, &p, &s)) != MP_OKAY)                 { goto error; } /* s = xr */
+        if ((err = mp_addmod(&e, &s, &p, &s)) != MP_OKAY)                      { goto error; } /* s = e +  xr */
+        if ((err = mp_mulmod(&s, &pubkey.k, &p, &s)) != MP_OKAY)               { goto error; } /* s = (e + xr)/k */
+
+        if (mp_iszero(&s)) {
+           ecc_free(&pubkey);
+        } else {
+           break;
+        }
+      }
    }
 
-   /* store header */
-   packet_store_header(out, PACKET_SECT_ECC, PACKET_SUB_SIGNED);
-   *outlen = y;
-
-   /* all ok */
-   err = CRYPT_OK;
+   /* store as SEQUENCE { r, s -- integer } */
+   err = der_encode_sequence_multi(out, outlen,
+                             LTC_ASN1_INTEGER, 1UL, &r,
+                             LTC_ASN1_INTEGER, 1UL, &s,
+                             LTC_ASN1_EOL, 0UL, NULL);
    goto LBL_ERR;
 error:
    err = mpi_to_ltc_error(err);
 LBL_ERR:
-   mp_clear_multi(&b, &p, NULL);
+   mp_clear_multi(&r, &s, &p, &e, NULL);
    ecc_free(&pubkey);
-#ifdef LTC_CLEAN_STACK
-   zeromem(er,      ECC_BUF_SIZE);
-   zeromem(epubkey, ECC_BUF_SIZE);
-#endif
-
-   XFREE(epubkey);
-   XFREE(er);
 
    return err;   
 }
 
-/* verify that mG = (bA + Y)
- *
- * The signatures work by making up a fresh key "a" with a public key "A".  Now we want to sign so the 
- * public key Y = xG can verify it.
- *
- * b = (m - x)/k, A is the public key embedded and Y is the users public key [who signed it]
- * A = kG therefore bA == ((m-x)/k)kG == (m-x)G
+/* verify 
  *
- * Adding Y = xG to the bA gives us (m-x)G + xG == mG
- *
- * The user given only xG, kG and b cannot determine k or x which means they can't find the private key.
- * 
+ * w  = s^-1 mod n
+ * u1 = xw 
+ * u2 = rw
+ * X = u1*G + u2*Q
+ * v = X_x1 mod n
+ * accept if v == r
  */
 
 /**
@@ -434,10 +353,9 @@ int ecc_verify_hash(const unsigned char *sig,  unsigned long siglen,
                     const unsigned char *hash, unsigned long hashlen, 
                     int *stat, ecc_key *key)
 {
-   ecc_point    *mG;
-   ecc_key       pubkey;
-   mp_int        b, p, m, mu;
-   unsigned long x, y;
+   ecc_point    *mG, *mQ;
+   mp_int        r, s, v, w, u1, u2, e, p, m;
+   mp_digit      mp;
    int           err;
 
    LTC_ARGCHK(sig  != NULL);
@@ -448,89 +366,81 @@ int ecc_verify_hash(const unsigned char *sig,  unsigned long siglen,
    /* default to invalid signature */
    *stat = 0;
 
-   if (siglen < PACKET_SIZE+4+4) {
-      return CRYPT_INVALID_PACKET;
-   } else {
-      siglen -= PACKET_SIZE+4+4;
+   /* is the IDX valid ?  */
+   if (is_valid_idx(key->idx) != 1) {
+      return CRYPT_PK_INVALID_TYPE;
    }
 
-   /* is the message format correct? */
-   if ((err = packet_valid_header((unsigned char *)sig, PACKET_SECT_ECC, PACKET_SUB_SIGNED)) != CRYPT_OK) {
-      return err;
-   }     
-
-   /* get hash name */
-   y = PACKET_SIZE;
-
-   /* get size of public key */
-   LOAD32L(x, sig+y);
-   if (siglen < x) {
-      return CRYPT_INVALID_PACKET;
-   } else {
-      siglen -= x;
+   /* allocate ints */
+   if ((err = mp_init_multi(&r, &s, &v, &w, &u1, &u2, &p, &e, &m, NULL)) != MP_OKAY) {
+      return CRYPT_MEM;
    }
-   y += 4;
 
-   /* load the public key */
-   if ((err = ecc_import((unsigned char*)sig+y, x, &pubkey)) != CRYPT_OK) {
-      return err;
+   /* allocate points */
+   mG = new_point();
+   mQ = new_point();
+   if (mQ  == NULL || mG == NULL) {
+      err = CRYPT_MEM;
+      goto done;
    }
-   y += x;
 
-   /* load size of 'b' */
-   LOAD32L(x, sig+y);
-   if (siglen < x) {
-      return CRYPT_INVALID_PACKET;
-   } else {
-      siglen -= x;
+   /* parse header */
+   if ((err = der_decode_sequence_multi(sig, siglen,
+                                  LTC_ASN1_INTEGER, 1UL, &r,
+                                  LTC_ASN1_INTEGER, 1UL, &s,
+                                  LTC_ASN1_EOL, 0UL, NULL)) != CRYPT_OK) {
+      goto done;
    }
-   y += 4;
 
-   /* init values */
-   if ((err = mp_init_multi(&b, &m, &p, &mu, NULL)) != MP_OKAY) { 
-      ecc_free(&pubkey);
-      return mpi_to_ltc_error(err);
-   }
+   /* get the order */
+   if ((err = mp_read_radix(&p, (char *)sets[key->idx].order, 64)) != MP_OKAY)                  { goto error; }
 
-   mG = new_point();
-   if (mG == NULL) { 
-      mp_clear_multi(&b, &m, &p, &mu, NULL);
-      ecc_free(&pubkey);
-      return CRYPT_MEM;
-   } 
+   /* get the modulus */
+   if ((err = mp_read_radix(&m, (char *)sets[key->idx].prime, 64)) != MP_OKAY)                  { goto error; }
 
-   /* load b */
-   if ((err = mp_read_unsigned_bin(&b, (unsigned char *)sig+y, (int)x)) != MP_OKAY)        { goto error; }
-   y += x;
+   /* check for zero */
+   if (mp_iszero(&r) || mp_iszero(&s) || mp_cmp(&r, &p) != MP_LT || mp_cmp(&s, &p) != MP_LT) {
+      err = CRYPT_INVALID_PACKET;
+      goto done;
+   }
 
-   /* get m in binary a bignum */
-   if ((err = mp_read_unsigned_bin(&m, (unsigned char *)hash, (int)hashlen)) != MP_OKAY)   { goto error; }
-   
-   /* load prime */
-   if ((err = mp_read_radix(&p, (char *)sets[key->idx].prime, 64)) != MP_OKAY)             { goto error; }
-   
-   /* calculate barrett stuff */
-   mp_set(&mu, 1); 
-   mp_lshd(&mu, 2 * USED(&p));
-   if ((err = mp_div(&mu, &p, &mu, NULL)) != MP_OKAY)                                      { goto error; }
+   /* read hash */
+   if ((err = mp_read_unsigned_bin(&e, (unsigned char *)hash, (int)hashlen)) != MP_OKAY)        { goto error; }
 
-   /* get bA */
-   if ((err = ecc_mulmod(&b, &pubkey.pubkey, &pubkey.pubkey, &p)) != CRYPT_OK)                  { goto done; }
-   
-   /* get bA + Y */
-   if ((err = add_point(&pubkey.pubkey, &key->pubkey, &pubkey.pubkey, &p, &mu)) != CRYPT_OK)    { goto done; }
+   /*  w  = s^-1 mod n */
+   if ((err = mp_invmod(&s, &p, &w)) != MP_OKAY)                                                { goto error; }
 
-   /* we have to transform it */
-   if ((err = ecc_map(&pubkey.pubkey, &p, &mu)) != CRYPT_OK)                                    { goto done; }
+   /* u1 = ew */
+   if ((err = mp_mulmod(&e, &w, &p, &u1)) != MP_OKAY)                                           { goto error; }
 
-   /* get mG */
+   /* u2 = rw */
+   if ((err = mp_mulmod(&r, &w, &p, &u2)) != MP_OKAY)                                           { goto error; }
+
+   /* find mG = u1*G */
    if ((err = mp_read_radix(&mG->x, (char *)sets[key->idx].Gx, 64)) != MP_OKAY)                 { goto error; }
    if ((err = mp_read_radix(&mG->y, (char *)sets[key->idx].Gy, 64)) != MP_OKAY)                 { goto error; }
-   mp_set(&mG->z, 1);
-   if ((err = ecc_mulmod(&m, mG, mG, &p)) != CRYPT_OK)                                          { goto done; }
+   mp_set(&mG->z, 1);  
+   if ((err = ecc_mulmod(&u1, mG, mG, &m, 0)) != CRYPT_OK)                                      { goto done; }
+
+   /* find mQ = u2*Q */
+   if ((err = mp_copy(&key->pubkey.x, &mQ->x)) != MP_OKAY)                                      { goto error; }
+   if ((err = mp_copy(&key->pubkey.y, &mQ->y)) != MP_OKAY)                                      { goto error; }
+   if ((err = mp_copy(&key->pubkey.z, &mQ->z)) != MP_OKAY)                                      { goto error; }
+   if ((err = ecc_mulmod(&u2, mQ, mQ, &m, 0)) != CRYPT_OK)                                      { goto done; }
+  
+   /* find the montgomery mp */
+   if ((err = mp_montgomery_setup(&m, &mp)) != MP_OKAY)                                         { goto error; }
+   /* add them */
+   if ((err = add_point(mQ, mG, mG, &m, mp)) != CRYPT_OK)                                       { goto done; }
+   
+   /* reduce */
+   if ((err = ecc_map(mG, &m, mp)) != CRYPT_OK)                                                 { goto done; }
 
-   /* compare mG to bA + Y */
-   if (mp_cmp(&mG->x, &pubkey.pubkey.x) == MP_EQ && mp_cmp(&mG->y, &pubkey.pubkey.y) == MP_EQ) {
+   /* v = X_x1 mod n */
+   if ((err = mp_mod(&mG->x, &p, &v)) != CRYPT_OK)                                              { goto done; }
+
+   /* does v == r */
+   if (mp_cmp(&v, &r) == MP_EQ) {
       *stat = 1;
    }
 
@@ -541,8 +451,12 @@ error:
    err = mpi_to_ltc_error(err);
 done:
    del_point(mG);
-   ecc_free(&pubkey);
-   mp_clear_multi(&p, &m, &b, &mu, NULL);
+   del_point(mQ);
+   mp_clear_multi(&r, &s, &v, &w, &u1, &u2, &p, &e, &m, NULL);
    return err;
 }
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/ecc/ecc_sys.c,v $ */
+/* $Revision: 1.18 $ */
+/* $Date: 2005/06/14 20:47:55 $ */
diff --git a/src/pk/packet_store_header.c b/src/pk/packet_store_header.c
index a2442cc8..855ca706 100644
--- a/src/pk/packet_store_header.c
+++ b/src/pk/packet_store_header.c
@@ -27,3 +27,7 @@ void packet_store_header(unsigned char *dst, int section, int subsection)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/packet_store_header.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/packet_valid_header.c b/src/pk/packet_valid_header.c
index b2eb9c94..59db0f73 100644
--- a/src/pk/packet_valid_header.c
+++ b/src/pk/packet_valid_header.c
@@ -35,3 +35,7 @@ int packet_valid_header(unsigned char *src, int section, int subsection)
 #endif
 
  
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/packet_valid_header.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/pkcs1/pkcs_1_i2osp.c b/src/pk/pkcs1/pkcs_1_i2osp.c
index 7f13626c..3e68eb81 100644
--- a/src/pk/pkcs1/pkcs_1_i2osp.c
+++ b/src/pk/pkcs1/pkcs_1_i2osp.c
@@ -49,3 +49,7 @@ int pkcs_1_i2osp(mp_int *n, unsigned long modulus_len, unsigned char *out)
 
 #endif /* PKCS_1 */
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/pkcs1/pkcs_1_i2osp.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/pkcs1/pkcs_1_mgf1.c b/src/pk/pkcs1/pkcs_1_mgf1.c
index 0fe177fd..aac74941 100644
--- a/src/pk/pkcs1/pkcs_1_mgf1.c
+++ b/src/pk/pkcs1/pkcs_1_mgf1.c
@@ -102,3 +102,7 @@ LBL_ERR:
 }
 
 #endif /* PKCS_1 */
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/pkcs1/pkcs_1_mgf1.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/pkcs1/pkcs_1_oaep_decode.c b/src/pk/pkcs1/pkcs_1_oaep_decode.c
index 82862c1e..cd4931b0 100644
--- a/src/pk/pkcs1/pkcs_1_oaep_decode.c
+++ b/src/pk/pkcs1/pkcs_1_oaep_decode.c
@@ -63,7 +63,7 @@ int pkcs_1_oaep_decode(const unsigned char *msg,    unsigned long msglen,
    /* allocate ram for DB/mask/salt of size modulus_len */
    DB   = XMALLOC(modulus_len);
    mask = XMALLOC(modulus_len);
-   seed = XMALLOC(modulus_len);
+   seed = XMALLOC(hLen);
    if (DB == NULL || mask == NULL || seed == NULL) {
       if (DB != NULL) {
          XFREE(DB);
@@ -92,14 +92,13 @@ int pkcs_1_oaep_decode(const unsigned char *msg,    unsigned long msglen,
    }
 
    /* now read the masked seed */
-   for (x = 1, y = 0; y < hLen; y++) {
-      seed[y] = msg[x++];
-   }
+   x = 1;
+   XMEMCPY(seed, msg + x, hLen);
+   x += hLen;
 
    /* now read the masked DB */
-   for (y = 0; y < modulus_len - hLen - 1; y++) {
-      DB[y] = msg[x++];
-   }
+   XMEMCPY(DB, msg + x, modulus_len - hLen - 1);
+   x += modulus_len - hLen - 1;
 
    /* compute MGF1 of maskedDB (hLen) */ 
    if ((err = pkcs_1_mgf1(DB, modulus_len - hLen - 1, hash_idx, mask, hLen)) != CRYPT_OK) {
@@ -161,9 +160,8 @@ int pkcs_1_oaep_decode(const unsigned char *msg,    unsigned long msglen,
 
    /* copy message */
    *outlen = (modulus_len - hLen - 1) - x;
-   for (y = 0; x != (modulus_len - hLen - 1); ) {
-       out[y++] = DB[x++];
-   }
+   XMEMCPY(out, DB + x, modulus_len - hLen - 1 - x);
+   x += modulus_len - hLen - 1;
 
    /* valid packet */
    *res = 1;
@@ -172,7 +170,7 @@ int pkcs_1_oaep_decode(const unsigned char *msg,    unsigned long msglen,
 LBL_ERR:
 #ifdef LTC_CLEAN_STACK
    zeromem(DB,   modulus_len);
-   zeromem(seed, modulus_len);
+   zeromem(seed, hLen);
    zeromem(mask, modulus_len);
 #endif
 
@@ -184,3 +182,7 @@ LBL_ERR:
 }
 
 #endif /* PKCS_1 */
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_decode.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/06/18 02:37:06 $ */
diff --git a/src/pk/pkcs1/pkcs_1_oaep_encode.c b/src/pk/pkcs1/pkcs_1_oaep_encode.c
index 7afea602..12670b58 100644
--- a/src/pk/pkcs1/pkcs_1_oaep_encode.c
+++ b/src/pk/pkcs1/pkcs_1_oaep_encode.c
@@ -66,7 +66,7 @@ int pkcs_1_oaep_encode(const unsigned char *msg,    unsigned long msglen,
    /* allocate ram for DB/mask/salt of size modulus_len */
    DB   = XMALLOC(modulus_len);
    mask = XMALLOC(modulus_len);
-   seed = XMALLOC(modulus_len);
+   seed = XMALLOC(hLen);
    if (DB == NULL || mask == NULL || seed == NULL) {
       if (DB != NULL) {
          XFREE(DB);
@@ -97,16 +97,15 @@ int pkcs_1_oaep_encode(const unsigned char *msg,    unsigned long msglen,
    /* append PS then 0x01 (to lhash)  */
    x = hLen;
    y = modulus_len - msglen - 2*hLen - 2;
-   while (y--) {
-      DB[x++] = 0x00;
-   }
+   XMEMSET(DB+x, 0, y);
+   x += y;
+
+   /* 0x01 byte */
    DB[x++] = 0x01;
 
-   /* message */
-   y = msglen;
-   while (y--) {
-     DB[x++] = *msg++;
-   }
+   /* message (length = msglen) */
+   XMEMCPY(DB+x, msg, msglen);
+   x += msglen;
 
    /* now choose a random seed */
    if (prng_descriptor[prng_idx].read(seed, hLen, prng) != hLen) {
@@ -143,19 +142,18 @@ int pkcs_1_oaep_encode(const unsigned char *msg,    unsigned long msglen,
    /* start output which is 0x00 || maskedSeed || maskedDB */
    x = 0;
    out[x++] = 0x00;
-   for (y = 0; y < hLen; y++) {
-      out[x++] = seed[y];
-   }
-   for (y = 0; y < modulus_len - hLen - 1; y++) {
-      out[x++] = DB[y];
-   }
+   XMEMCPY(out+x, seed, hLen);
+   x += hLen;
+   XMEMCPY(out+x, DB, modulus_len - hLen - 1);
+   x += modulus_len - hLen - 1;
+
    *outlen = x;
     
    err = CRYPT_OK;
 LBL_ERR:
 #ifdef LTC_CLEAN_STACK
    zeromem(DB,   modulus_len);
-   zeromem(seed, modulus_len);
+   zeromem(seed, hLen);
    zeromem(mask, modulus_len);
 #endif
 
@@ -168,3 +166,7 @@ LBL_ERR:
 
 #endif /* PKCS_1 */
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_encode.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/pkcs1/pkcs_1_os2ip.c b/src/pk/pkcs1/pkcs_1_os2ip.c
index db6b58c7..a9a18585 100644
--- a/src/pk/pkcs1/pkcs_1_os2ip.c
+++ b/src/pk/pkcs1/pkcs_1_os2ip.c
@@ -35,3 +35,7 @@ int pkcs_1_os2ip(mp_int *n, unsigned char *in, unsigned long inlen)
 
 #endif /* PKCS_1 */
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/pkcs1/pkcs_1_os2ip.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/pkcs1/pkcs_1_pss_decode.c b/src/pk/pkcs1/pkcs_1_pss_decode.c
index a19e7d8c..e61c33f9 100644
--- a/src/pk/pkcs1/pkcs_1_pss_decode.c
+++ b/src/pk/pkcs1/pkcs_1_pss_decode.c
@@ -87,14 +87,13 @@ int pkcs_1_pss_decode(const unsigned char *msghash, unsigned long msghashlen,
    }
 
    /* copy out the DB */
-   for (x = 0; x < modulus_len - hLen - 1; x++) {
-      DB[x] = sig[x];
-   }
+   x = 0;
+   XMEMCPY(DB, sig + x, modulus_len - hLen - 1);
+   x += modulus_len - hLen - 1;
 
    /* copy out the hash */
-   for (y = 0; y < hLen; y++) {
-      hash[y] = sig[x++];
-   }
+   XMEMCPY(hash, sig + x, hLen);
+   x += hLen;
 
    /* check the MSB */
    if ((sig[0] & ~(0xFF >> ((modulus_len<<3) - (modulus_bitlen-1)))) != 0) {
@@ -172,3 +171,7 @@ LBL_ERR:
 }
 
 #endif /* PKCS_1 */
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_decode.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/pkcs1/pkcs_1_pss_encode.c b/src/pk/pkcs1/pkcs_1_pss_encode.c
index 58a03d52..899605cc 100644
--- a/src/pk/pkcs1/pkcs_1_pss_encode.c
+++ b/src/pk/pkcs1/pkcs_1_pss_encode.c
@@ -110,13 +110,12 @@ int pkcs_1_pss_encode(const unsigned char *msghash, unsigned long msghashlen,
    }
 
    /* generate DB = PS || 0x01 || salt, PS == modulus_len - saltlen - hLen - 2 zero bytes */
-   for (x = 0; x < (modulus_len - saltlen - hLen - 2); x++) {
-       DB[x] = 0x00;
-   }
+   x = 0;
+   XMEMSET(DB + x, 0, modulus_len - saltlen - hLen - 2);
+   x += modulus_len - saltlen - hLen - 2;
    DB[x++] = 0x01;
-   for (y = 0; y < saltlen; y++) {
-      DB[x++] = salt[y];
-   }
+   XMEMCPY(DB + x, salt, saltlen);
+   x += saltlen;
 
    /* generate mask of length modulus_len - hLen - 1 from hash */
    if ((err = pkcs_1_mgf1(hash, hLen, hash_idx, mask, modulus_len - hLen - 1)) != CRYPT_OK) {
@@ -134,14 +133,15 @@ int pkcs_1_pss_encode(const unsigned char *msghash, unsigned long msghashlen,
       goto LBL_ERR;
    }
 
-   /* DB */
-   for (y = x = 0; x < modulus_len - hLen - 1; x++) {
-       out[y++] = DB[x];
-   }
+   /* DB len = modulus_len - hLen - 1 */
+   y = 0;
+   XMEMCPY(out + y, DB, modulus_len - hLen - 1);
+   y += modulus_len - hLen - 1;
+
    /* hash */
-   for (x = 0; x < hLen; x++) {
-       out[y++] = hash[x];
-   }
+   XMEMCPY(out + y, hash, hLen);
+   y += hLen;
+
    /* 0xBC */
    out[y] = 0xBC;
 
@@ -168,3 +168,7 @@ LBL_ERR:
 }
 
 #endif /* PKCS_1 */
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_encode.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/pkcs1/pkcs_1_v15_es_decode.c b/src/pk/pkcs1/pkcs_1_v15_es_decode.c
deleted file mode 100644
index fc548459..00000000
--- a/src/pk/pkcs1/pkcs_1_v15_es_decode.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/* LibTomCrypt, modular cryptographic library -- Tom St Denis
- *
- * LibTomCrypt is a library that provides various cryptographic
- * algorithms in a highly modular and flexible manner.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
- */
-#include "tomcrypt.h"
-
-/** 
-  @file pkcs_1_v15_es_decode.c
-  PKCS #1 v1.5 Encryption Padding, Tom St Denis 
-*/
-
-#ifdef PKCS_1
-
-/**
-  PKCS #1 v1.5 Encryption Decoding
-  @param msg             The padded data
-  @param msglen          The length of the padded data (octets)
-  @param modulus_bitlen  The bit length of the RSA modulus
-  @param out             [out] Where to store the decoded data
-  @param outlen          The length of the decoded data
-  @param res             [out] Result of the decoding, 1==valid, 0==invalid
-  @return CRYPT_OK if successful
-*/
-int pkcs_1_v15_es_decode(const unsigned char *msg,  unsigned long msglen,
-                               unsigned long modulus_bitlen,
-                               unsigned char *out,  unsigned long outlen,
-                               int           *res)
-{
-   unsigned long x, modulus_bytelen;
-
-   LTC_ARGCHK(msg != NULL);
-   LTC_ARGCHK(out != NULL);
-   LTC_ARGCHK(res != NULL);
-   
-   /* default to failed */
-   *res = 0;
-
-   modulus_bytelen = (modulus_bitlen>>3) + (modulus_bitlen & 7 ? 1 : 0);
-
-   /* must be at least modulus_bytelen bytes long */
-   if (msglen != modulus_bytelen) {
-      return CRYPT_INVALID_ARG;
-   }
-
-   /* should start with 0x00 0x02 */
-   if (msg[0] != 0x00 || msg[1] != 0x02) {
-      return CRYPT_OK;
-   }
-   
-   /* skip over PS */
-   x = 2 + (modulus_bytelen - outlen - 3);
-
-   /* should be 0x00 */
-   if (msg[x++] != 0x00) {
-      return CRYPT_OK;
-   }
-
-   /* the message is left */
-   if (x + outlen > modulus_bytelen) {
-      return CRYPT_PK_INVALID_SIZE;
-   }
-   XMEMCPY(out, msg + x, outlen);
-   *res = 1;
-   return CRYPT_OK;
-}
-
-#endif 
-
diff --git a/src/pk/pkcs1/pkcs_1_v15_es_encode.c b/src/pk/pkcs1/pkcs_1_v15_es_encode.c
deleted file mode 100644
index b6ac4298..00000000
--- a/src/pk/pkcs1/pkcs_1_v15_es_encode.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* LibTomCrypt, modular cryptographic library -- Tom St Denis
- *
- * LibTomCrypt is a library that provides various cryptographic
- * algorithms in a highly modular and flexible manner.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
- */
-#include "tomcrypt.h"
-
-/** 
-  @file pkcs_1_v15_es_encode.c
-  v1.5 Encryption Padding for PKCS #1, Tom St Denis 
-*/
-
-#ifdef PKCS_1
-
-/**
-  PKCS #1 v1.5 Encryption Padding
-  @param msg            The data to encode
-  @param msglen         The length of the data (octets)
-  @param modulus_bitlen The bit length of the RSA modulus
-  @param prng           An active PRNG
-  @param prng_idx       The index of the PRNG desired
-  @param out            [out] The destination of the padding
-  @param outlen         [in/out] The max size and resulting size of the padding
-  @return CRYPT_OK if successful
-*/
-int pkcs_1_v15_es_encode(const unsigned char *msg,    unsigned long msglen,
-                               unsigned long  modulus_bitlen, 
-                               prng_state    *prng,   int           prng_idx,
-                               unsigned char *out,    unsigned long *outlen)
-{ 
-   unsigned long modulus_bytelen, x, y;
-
-   LTC_ARGCHK(msg    != NULL);
-   LTC_ARGCHK(out    != NULL);
-   LTC_ARGCHK(outlen != NULL);
-
-   /* get modulus len */
-   modulus_bytelen = (modulus_bitlen >> 3) + (modulus_bitlen & 7 ? 1 : 0);
-   if (modulus_bytelen < 12) {
-      return CRYPT_INVALID_ARG;
-   }
-
-   /* verify length */
-   if (msglen > (modulus_bytelen - 11) || *outlen < modulus_bytelen) {
-      return CRYPT_PK_INVALID_SIZE;
-   }
-
-   /* 0x00 0x02 PS 0x00 M */
-   x = 0;
-   out[x++] = 0x00;
-   out[x++] = 0x02;
-   y = modulus_bytelen - msglen - 3;
-   if (prng_descriptor[prng_idx].read(out+x, y, prng) != y) {
-      return CRYPT_ERROR_READPRNG;
-   }
-   x += y;
-   out[x++] = 0x00;
-   XMEMCPY(out+x, msg, msglen);
-   *outlen = modulus_bytelen;
-
-   return CRYPT_OK;
-}
-
-#endif /* PKCS_1 */
diff --git a/src/pk/pkcs1/pkcs_1_v15_sa_decode.c b/src/pk/pkcs1/pkcs_1_v15_sa_decode.c
deleted file mode 100644
index 7cad021a..00000000
--- a/src/pk/pkcs1/pkcs_1_v15_sa_decode.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/* LibTomCrypt, modular cryptographic library -- Tom St Denis
- *
- * LibTomCrypt is a library that provides various cryptographic
- * algorithms in a highly modular and flexible manner.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
- */
-#include "tomcrypt.h"
-
-/** 
-  @file pkcs_1_v15_sa_decode.c
-  PKCS #1 v1.5 Signature Padding, Tom St Denis 
-*/
-
-#ifdef PKCS_1
-
-/**
-  Perform PKCS #1 v1.5 Signature Decoding
-  @param msghash         The hash that was signed
-  @param msghashlen      The length of the hash
-  @param sig             The signature [padded data]
-  @param siglen          The length of the signature
-  @param hash_idx        The index of the hash used
-  @param modulus_bitlen  The bit length of the RSA modulus 
-  @param res             [out]  Result of comparison, 1==valid, 0==invalid
-  @return CRYPT_OK if successful
-*/
-int pkcs_1_v15_sa_decode(const unsigned char *msghash, unsigned long msghashlen,
-                         const unsigned char *sig,     unsigned long siglen,
-                               int           hash_idx, unsigned long modulus_bitlen, 
-                               int          *res)
-{
-   unsigned long x, y, modulus_bytelen, derlen;
-   int err;
-   
-   LTC_ARGCHK(msghash != NULL);
-   LTC_ARGCHK(sig     != NULL);
-   LTC_ARGCHK(res     != NULL);
-
-   /* default to invalid */
-   *res = 0;
-
-   /* valid hash ? */
-   if ((err = hash_is_valid(hash_idx)) != CRYPT_OK) {
-      return err;
-   }
-
-   /* get derlen */
-   derlen = hash_descriptor[hash_idx].DERlen;
-
-   /* get modulus len */
-   modulus_bytelen = (modulus_bitlen>>3) + (modulus_bitlen & 7 ? 1 : 0);
-
-   /* valid sizes? */
-   if ((msghashlen + 3 + derlen > modulus_bytelen) || (siglen != modulus_bytelen)) {
-      return CRYPT_PK_INVALID_SIZE;
-   }
-
-   /* packet is 0x00 0x01 PS 0x00 T, where PS == 0xFF repeated modulus_bytelen - 3 - derlen - msghashlen times, T == DER || hash */
-   x = 0;
-   if (sig[x++] != 0x00 || sig[x++] != 0x01) {
-      return CRYPT_OK;
-   }
-
-   /* now follows (modulus_bytelen - 3 - derlen - msghashlen) 0xFF bytes */
-   for (y = 0; y < (modulus_bytelen - 3 - derlen - msghashlen); y++) {
-     if (sig[x++] != 0xFF) {
-        return CRYPT_OK;
-     }
-   }
-
-   if (sig[x++] != 0x00) {
-      return CRYPT_OK;
-   }
-
-   for (y = 0; y < derlen; y++) {
-      if (sig[x++] != hash_descriptor[hash_idx].DER[y]) {
-         return CRYPT_OK;
-      }
-   }
-
-   if (memcmp(msghash, sig+x, msghashlen) == 0) {
-      *res = 1;
-   }
-   return CRYPT_OK;
-}
-
-#endif 
diff --git a/src/pk/pkcs1/pkcs_1_v15_sa_encode.c b/src/pk/pkcs1/pkcs_1_v15_sa_encode.c
deleted file mode 100644
index 60c77ef0..00000000
--- a/src/pk/pkcs1/pkcs_1_v15_sa_encode.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/* LibTomCrypt, modular cryptographic library -- Tom St Denis
- *
- * LibTomCrypt is a library that provides various cryptographic
- * algorithms in a highly modular and flexible manner.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
- */
-#include "tomcrypt.h"
-
-/** 
-  @file pkcs_1_v15_sa_encode.c
-  PKCS #1 v1.5 Signature Padding, Tom St Denis 
-*/
-
-#ifdef PKCS_1
-
-/**
-  Perform PKCS #1 v1.5 Signature Padding
-  @param msghash         The hash you wish to incorporate in the padding
-  @param msghashlen      The length of the hash
-  @param hash_idx        The index of the hash used
-  @param modulus_bitlen  The length of the RSA modulus that will sign this (bits)
-  @param out             [out] Where to store the padded data
-  @param outlen          [in/out] Max size and resulting size of the padded data
-  @return CRYPT_OK if successful
-*/
-int pkcs_1_v15_sa_encode(const unsigned char *msghash,  unsigned long msghashlen,
-                               int            hash_idx, unsigned long modulus_bitlen,
-                               unsigned char *out,      unsigned long *outlen)
-{
-  unsigned long derlen, modulus_bytelen, x, y;
-  int err;
-
-  LTC_ARGCHK(msghash != NULL)
-  LTC_ARGCHK(out     != NULL);
-  LTC_ARGCHK(outlen  != NULL);
-
-  if ((err = hash_is_valid(hash_idx)) != CRYPT_OK) {
-     return err;
-  }
-
-  /* hack, to detect any hash without a DER OID */
-  if (hash_descriptor[hash_idx].DERlen == 0) {
-     return CRYPT_INVALID_ARG; 
-  }
-
-  /* get modulus len */
-  modulus_bytelen = (modulus_bitlen>>3) + (modulus_bitlen & 7 ? 1 : 0);
-
-  /* get der len ok?  Forgive my lame German accent.... */
-  derlen = hash_descriptor[hash_idx].DERlen;
-
-  /* valid sizes? */
-  if (msghashlen + 3 + derlen > modulus_bytelen) {
-     return CRYPT_PK_INVALID_SIZE;
-  }
-
-  if (*outlen < modulus_bytelen) {
-     return CRYPT_BUFFER_OVERFLOW;
-  }
-
-  /* packet is 0x00 0x01 PS 0x00 T, where PS == 0xFF repeated modulus_bytelen - 3 - derlen - msghashlen times, T == DER || hash */
-  x = 0;
-  out[x++] = 0x00;
-  out[x++] = 0x01;
-  for (y = 0; y < (modulus_bytelen - 3 - derlen - msghashlen); y++) {
-     out[x++] = 0xFF;
-  }
-  out[x++] = 0x00;
-  for (y = 0; y < derlen; y++) {
-     out[x++] = hash_descriptor[hash_idx].DER[y];
-  }
-  for (y = 0; y < msghashlen; y++) {
-     out[x++] = msghash[y];
-  }
-
-  *outlen = modulus_bytelen;
-  return CRYPT_OK;
-}
-
-#endif /* PKCS_1 */
diff --git a/src/pk/rsa/rsa_decrypt_key.c b/src/pk/rsa/rsa_decrypt_key.c
index 3117715b..7cea8074 100644
--- a/src/pk/rsa/rsa_decrypt_key.c
+++ b/src/pk/rsa/rsa_decrypt_key.c
@@ -87,3 +87,7 @@ int rsa_decrypt_key(const unsigned char *in,       unsigned long  inlen,
 
 
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/rsa/rsa_decrypt_key.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/rsa/rsa_encrypt_key.c b/src/pk/rsa/rsa_encrypt_key.c
index 891b43e0..d29aa831 100644
--- a/src/pk/rsa/rsa_encrypt_key.c
+++ b/src/pk/rsa/rsa_encrypt_key.c
@@ -74,3 +74,7 @@ int rsa_encrypt_key(const unsigned char *in,     unsigned long inlen,
 }
 
 #endif /* MRSA */
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/rsa/rsa_encrypt_key.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/rsa/rsa_export.c b/src/pk/rsa/rsa_export.c
index 951be702..f2e324db 100644
--- a/src/pk/rsa/rsa_export.c
+++ b/src/pk/rsa/rsa_export.c
@@ -27,7 +27,8 @@
 */    
 int rsa_export(unsigned char *out, unsigned long *outlen, int type, rsa_key *key)
 {
-   int err, x;
+   int           err;
+   unsigned long zero=0;
 
    LTC_ARGCHK(out    != NULL);
    LTC_ARGCHK(outlen != NULL);
@@ -37,62 +38,39 @@ int rsa_export(unsigned char *out, unsigned long *outlen, int type, rsa_key *key
    if (!(key->type == PK_PRIVATE) && (type == PK_PRIVATE)) {
       return CRYPT_PK_INVALID_TYPE;
    }
-   if (*outlen < 4) {
-      return CRYPT_BUFFER_OVERFLOW;
-   }
-  
-   /* Mental Note: push space for the header 0x30 0x82 LL LL (LL = length of packet EXcluding 4 bytes) 
-    * we assume LL > 255 which is true since the smallest RSA key has a 128-byte modulus (1024-bit)
-    */
-   *outlen -= 4;
 
    if (type == PK_PRIVATE) {
       /* private key */
-      mp_int zero;
-
-      /* first INTEGER == 0 to signify two-prime RSA */
-      if ((err = mp_init(&zero)) != MP_OKAY) {
-         return mpi_to_ltc_error(err);
-      }
- 
       /* output is 
             Version, n, e, d, p, q, d mod (p-1), d mod (q - 1), 1/q mod p
        */
-      if ((err = der_put_multi_integer(
-                          out+4, outlen, &zero, &key->N, &key->e,
-                          &key->d, &key->p, &key->q, &key->dP,
-                          &key->dQ, &key->qP, NULL)) != CRYPT_OK) {
-         mp_clear(&zero);
+      if ((err = der_encode_sequence_multi(out, outlen, 
+                          LTC_ASN1_SHORT_INTEGER, 1UL, &zero, 
+                          LTC_ASN1_INTEGER, 1UL, &key->N, 
+                          LTC_ASN1_INTEGER, 1UL, &key->e,
+                          LTC_ASN1_INTEGER, 1UL, &key->d, 
+                          LTC_ASN1_INTEGER, 1UL, &key->p, 
+                          LTC_ASN1_INTEGER, 1UL, &key->q, 
+                          LTC_ASN1_INTEGER, 1UL, &key->dP,
+                          LTC_ASN1_INTEGER, 1UL, &key->dQ, 
+                          LTC_ASN1_INTEGER, 1UL, &key->qP, 
+                          LTC_ASN1_EOL,     0UL, NULL)) != CRYPT_OK) {
          return err;
       }
  
       /* clear zero and return */
-      mp_clear(&zero);
+      return CRYPT_OK;
    } else {
       /* public key */
-      if ((err = der_put_multi_integer(out+4, outlen, &key->N, &key->e, NULL)) != CRYPT_OK) {
-         return err;
-      }
-   }
-
-   /* store the header */
-   out[0] = 0x30;
-   if (*outlen < 256) {
-      /* shift the output up one byte if the header is only 3 bytes */
-      for (x = 0; x < *outlen; x++) {
-          out[x+3] = out[x+4];
-      }
-      out[1] = 0x81;
-      out[2] = (*outlen & 255);
-      *outlen += 3;
-   } else {
-      out[1] = 0x82;
-      out[2] = (*outlen >> 8) & 255;
-      out[3] = (*outlen & 255);
-      *outlen += 4;
+      return der_encode_sequence_multi(out, outlen, 
+                                 LTC_ASN1_INTEGER, 1UL, &key->N, 
+                                 LTC_ASN1_INTEGER, 1UL, &key->e, 
+                                 LTC_ASN1_EOL,     0UL, NULL);
    }
-   return err;
 }
 
 #endif /* MRSA */
 
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/rsa/rsa_export.c,v $ */
+/* $Revision: 1.11 $ */
+/* $Date: 2005/06/04 01:42:48 $ */
diff --git a/src/pk/rsa/rsa_exptmod.c b/src/pk/rsa/rsa_exptmod.c
index fda6cbb5..379404c5 100644
--- a/src/pk/rsa/rsa_exptmod.c
+++ b/src/pk/rsa/rsa_exptmod.c
@@ -86,6 +86,12 @@ int rsa_exptmod(const unsigned char *in,   unsigned long inlen,
       err = CRYPT_BUFFER_OVERFLOW;
       goto done;
    }
+
+   /* this should never happen ... */
+   if (mp_unsigned_bin_size(&tmp) > mp_unsigned_bin_size(&key->N)) {
+      err = CRYPT_ERROR;
+      goto done;
+   }
    *outlen = x;
 
    /* convert it */
@@ -103,3 +109,7 @@ done:
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/rsa/rsa_exptmod.c,v $ */
+/* $Revision: 1.4 $ */
+/* $Date: 2005/06/23 02:10:22 $ */
diff --git a/src/pk/rsa/rsa_free.c b/src/pk/rsa/rsa_free.c
index 85ade97d..69eeaecf 100644
--- a/src/pk/rsa/rsa_free.c
+++ b/src/pk/rsa/rsa_free.c
@@ -29,3 +29,7 @@ void rsa_free(rsa_key *key)
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/rsa/rsa_free.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/rsa/rsa_import.c b/src/pk/rsa/rsa_import.c
index 5408df06..57061343 100644
--- a/src/pk/rsa/rsa_import.c
+++ b/src/pk/rsa/rsa_import.c
@@ -18,7 +18,7 @@
 #ifdef MRSA
 
 /**
-  Import an RSAPublicKey or RSAPrivateKey [two-prime only, defined in PKCS #1 v2.1]
+  Import an RSAPublicKey or RSAPrivateKey [two-prime only, only support >= 1024-bit keys, defined in PKCS #1 v2.1]
   @param in      The packet to import from
   @param inlen   It's length (octets)
   @param key     [out] Destination for newly imported key
@@ -26,65 +26,39 @@
 */
 int rsa_import(const unsigned char *in, unsigned long inlen, rsa_key *key)
 {
-   unsigned long x, y;
-   int err;
+   int           err;
+   mp_int        zero;
 
    LTC_ARGCHK(in  != NULL);
    LTC_ARGCHK(key != NULL);
 
    /* init key */
-   if ((err = mp_init_multi(&key->e, &key->d, &key->N, &key->dQ, &key->dP, &key->qP,
-                     &key->p, &key->q, NULL)) != MP_OKAY) {
+   if ((err = mp_init_multi(&zero, &key->e, &key->d, &key->N, &key->dQ, 
+                            &key->dP, &key->qP, &key->p, &key->q, NULL)) != MP_OKAY) {
       return mpi_to_ltc_error(err);
    }
 
-   /* check the header */
-   if (inlen < 4) {
-      return CRYPT_INVALID_PACKET;
-   }
-
-   /* should be 0x30 0x8{1|2} LL LL */
-   if ((in[0] != 0x30) || ((in[1] != 0x81) && (in[1] != 0x82))) {
-      return CRYPT_INVALID_PACKET;
-   }
-
-   /* ok all the ASN.1 params are fine so far, let's move up */
-   x = ((unsigned long)in[2]);
-   y = 0;
-   if ((in[1] & ~0x80) == 2) {
-      x   = (x << 8) + ((unsigned long)in[3]) + 1;
-      in += 1;
-      y   = 1;
-   }
-   in += 3; /* advance input */
-   x  += 3; /* size of packet according to header */
-   y  += 3; /* used input */
-
-   if (x != inlen) {
-      return CRYPT_INVALID_PACKET;
-   }
-   
-   /* decrement inlen by the header size */
-   inlen -= y;
-
-   /* read first number, it's either N or 0 [0 == private key] */
-   x = inlen;
-   if ((err = der_get_multi_integer(in, &x, &key->N, NULL)) != CRYPT_OK) {
+   if ((err = der_decode_sequence_multi(in, inlen, 
+                                  LTC_ASN1_INTEGER, 1UL, &key->N, 
+                                  LTC_ASN1_EOL,     0UL, NULL)) != CRYPT_OK) {
       goto LBL_ERR;
    }
 
-   /* advance */
-   inlen -= x;
-   in    += x;
-
    if (mp_cmp_d(&key->N, 0) == MP_EQ) {
       /* it's a private key */
-      if ((err = der_get_multi_integer(in, &inlen, &key->N, &key->e,
-                          &key->d, &key->p, &key->q, &key->dP,
-                          &key->dQ, &key->qP, NULL)) != CRYPT_OK) {
+      if ((err = der_decode_sequence_multi(in, inlen, 
+                          LTC_ASN1_INTEGER, 1UL, &zero, 
+                          LTC_ASN1_INTEGER, 1UL, &key->N, 
+                          LTC_ASN1_INTEGER, 1UL, &key->e,
+                          LTC_ASN1_INTEGER, 1UL, &key->d, 
+                          LTC_ASN1_INTEGER, 1UL, &key->p, 
+                          LTC_ASN1_INTEGER, 1UL, &key->q, 
+                          LTC_ASN1_INTEGER, 1UL, &key->dP,
+                          LTC_ASN1_INTEGER, 1UL, &key->dQ, 
+                          LTC_ASN1_INTEGER, 1UL, &key->qP, 
+                          LTC_ASN1_EOL,     0UL, NULL)) != CRYPT_OK) {
          goto LBL_ERR;
       }
-
       key->type = PK_PRIVATE;
    } else if (mp_cmp_d(&key->N, 1) == MP_EQ) {
       /* we don't support multi-prime RSA */
@@ -92,21 +66,27 @@ int rsa_import(const unsigned char *in, unsigned long inlen, rsa_key *key)
       goto LBL_ERR;
    } else {
       /* it's a public key and we lack e */
-      if ((err = der_get_multi_integer(in, &inlen, &key->e, NULL)) != CRYPT_OK) {
+      if ((err = der_decode_sequence_multi(in, inlen, 
+                                     LTC_ASN1_INTEGER, 1UL, &key->N, 
+                                     LTC_ASN1_INTEGER, 1UL, &key->e, 
+                                     LTC_ASN1_EOL,     0UL, NULL)) != CRYPT_OK) {
          goto LBL_ERR;
       }
 
       /* free up some ram */
       mp_clear_multi(&key->p, &key->q, &key->qP, &key->dP, &key->dQ, NULL);
-
       key->type = PK_PUBLIC;
    }
    return CRYPT_OK;
 LBL_ERR:
-   mp_clear_multi(&key->d, &key->e, &key->N, &key->dQ, &key->dP,
+   mp_clear_multi(&zero, &key->d, &key->e, &key->N, &key->dQ, &key->dP,
                   &key->qP, &key->p, &key->q, NULL);
    return err;
 }
 
 #endif /* MRSA */
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/rsa/rsa_import.c,v $ */
+/* $Revision: 1.10 $ */
+/* $Date: 2005/06/03 18:48:28 $ */
diff --git a/src/pk/rsa/rsa_make_key.c b/src/pk/rsa/rsa_make_key.c
index 9d49e3ce..d8741063 100644
--- a/src/pk/rsa/rsa_make_key.c
+++ b/src/pk/rsa/rsa_make_key.c
@@ -119,3 +119,7 @@ done:
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/rsa/rsa_make_key.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/rsa/rsa_sign_hash.c b/src/pk/rsa/rsa_sign_hash.c
index b86ad64f..d31bda32 100644
--- a/src/pk/rsa/rsa_sign_hash.c
+++ b/src/pk/rsa/rsa_sign_hash.c
@@ -73,3 +73,7 @@ int rsa_sign_hash(const unsigned char *in,       unsigned long  inlen,
 }
 
 #endif /* MRSA */
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/rsa/rsa_sign_hash.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/pk/rsa/rsa_v15_decrypt_key.c b/src/pk/rsa/rsa_v15_decrypt_key.c
deleted file mode 100644
index eb5fe7d9..00000000
--- a/src/pk/rsa/rsa_v15_decrypt_key.c
+++ /dev/null
@@ -1,73 +0,0 @@
-   /* LibTomCrypt, modular cryptographic library -- Tom St Denis
- *
- * LibTomCrypt is a library that provides various cryptographic
- * algorithms in a highly modular and flexible manner.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
- */
-#include "tomcrypt.h"
-
-/**
-  @file rsa_v15_decrypt_key.c
-  RSA PKCS v1.5 Decryption, Tom St Denis
-*/  
-
-#ifdef MRSA
-
-/**
-   RSA decrypt then PKCS #1 v1.5 depad 
-   @param in        The ciphertext
-   @param inlen     The length of the ciphertext (octets)
-   @param out       [out] The plaintext
-   @param outlen    The length of the plaintext (you have to tell this function as it's not part of PKCS #1 v1.0 padding!)
-   @param stat      [out] Status of decryption, 1==valid, 0==invalid
-   @param key       The corresponding private RSA key
-   @return CRYPT_OK if successful (even if invalid)   
-*/
-int rsa_v15_decrypt_key(const unsigned char *in,     unsigned long  inlen,
-                              unsigned char *out,    unsigned long  outlen, 
-                              int           *stat,   rsa_key       *key)
-{
-  unsigned long modulus_bitlen, modulus_bytelen, x;
-  int           err;
-  unsigned char *tmp;
-  
-  LTC_ARGCHK(out    != NULL);
-  LTC_ARGCHK(key    != NULL);
-  LTC_ARGCHK(stat   != NULL);
- 
-  /* default to invalid */
-  *stat = 0;
-
-  /* get modulus len in bits */
-  modulus_bitlen = mp_count_bits(&(key->N));
-
-  /* outlen must be at least the size of the modulus */
-  modulus_bytelen = mp_unsigned_bin_size(&(key->N));
-  if (modulus_bytelen != inlen) {
-     return CRYPT_INVALID_PACKET;
-  }
-
-  /* allocate ram */
-  tmp = XMALLOC(inlen);
-  if (tmp == NULL) {
-     return CRYPT_MEM;
-  }
-
-  /* rsa decode the packet */
-  x = inlen;
-  if ((err = rsa_exptmod(in, inlen, tmp, &x, PK_PRIVATE, key)) != CRYPT_OK) {
-     XFREE(tmp);
-     return err;
-  }
-
-  /* PKCS #1 v1.5 depad */
-  err = pkcs_1_v15_es_decode(tmp, x, modulus_bitlen, out, outlen, stat);
-  XFREE(tmp);
-  return err;
-}
-
-#endif
diff --git a/src/pk/rsa/rsa_v15_encrypt_key.c b/src/pk/rsa/rsa_v15_encrypt_key.c
deleted file mode 100644
index d422f67b..00000000
--- a/src/pk/rsa/rsa_v15_encrypt_key.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/* LibTomCrypt, modular cryptographic library -- Tom St Denis
- *
- * LibTomCrypt is a library that provides various cryptographic
- * algorithms in a highly modular and flexible manner.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
- */
-#include "tomcrypt.h"
-
-/**
-  @file rsa_v15_encrypt_key.c
-  RSA PKCS v1.5 Encryption, Tom St Denis
-*/  
-
-#ifdef MRSA
-
-/** 
-   PKCS #1 v1.5 pad then encrypt
-   @param in          The plaintext
-   @param inlen       The length of the plaintext (octets)
-   @param out         [out] The ciphertext
-   @param outlen      [in/out] The max size and resulting size of the ciphertext 
-   @param prng        An active PRNG
-   @param prng_idx    The index of the desired PRNG
-   @param key         The public RSA key
-   @return CRYPT_OK if successful
-*/   
-int rsa_v15_encrypt_key(const unsigned char *in,    unsigned long  inlen,
-                              unsigned char *out,   unsigned long *outlen,
-                              prng_state    *prng,  int            prng_idx, 
-                              rsa_key       *key)
-{
-  unsigned long modulus_bitlen, modulus_bytelen, x;
-  int           err;
-  
-  LTC_ARGCHK(in     != NULL);
-  LTC_ARGCHK(out    != NULL);
-  LTC_ARGCHK(outlen != NULL);
-  LTC_ARGCHK(key    != NULL);
-  
-  /* valid prng? */
-  if ((err = prng_is_valid(prng_idx)) != CRYPT_OK) {
-     return err;
-  }
-  
-  /* get modulus len in bits */
-  modulus_bitlen = mp_count_bits(&(key->N));
-
-  /* outlen must be at least the size of the modulus */
-  modulus_bytelen = mp_unsigned_bin_size(&(key->N));
-  if (modulus_bytelen > *outlen) {
-     return CRYPT_BUFFER_OVERFLOW;
-  }
-  
-  /* pad it */
-  x = *outlen;
-  if ((err = pkcs_1_v15_es_encode(in, inlen, modulus_bitlen, prng, prng_idx, out, &x)) != CRYPT_OK) {
-     return err;
-  }
-  
-  /* encrypt it */
-  return rsa_exptmod(out, x, out, outlen, PK_PUBLIC, key);
-}
-
-#endif
diff --git a/src/pk/rsa/rsa_v15_sign_hash.c b/src/pk/rsa/rsa_v15_sign_hash.c
deleted file mode 100644
index 7e9b3505..00000000
--- a/src/pk/rsa/rsa_v15_sign_hash.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/* LibTomCrypt, modular cryptographic library -- Tom St Denis
- *
- * LibTomCrypt is a library that provides various cryptographic
- * algorithms in a highly modular and flexible manner.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
- */
-#include "tomcrypt.h"
-
-/**
-   @file rsa_v15_sign_hash.c
-   RSA PKCS v1.5 Signature, Tom St Denis
-*/   
-
-#ifdef MRSA
-
-/** 
-   PKCS #1 v1.5 pad then sign
-   @param in             The hash to sign
-   @param inlen          The length of the message hash (octets)
-   @param out            [out] The signature
-   @param siglen         [in/out] The max size and resulting size of the signature
-   @param hash_idx       The index of the hash desired
-   @param key            The private RSA key to perform the signature with
-   @return CRYPT_OK if successful
-*/
-int rsa_v15_sign_hash(const unsigned char *in,       unsigned long  inlen, 
-                            unsigned char *out,      unsigned long *siglen, 
-                            int            hash_idx, rsa_key       *key)
-{
-   unsigned long modulus_bitlen, modulus_bytelen, x;
-   int           err;
-   
-  LTC_ARGCHK(in  != NULL);
-  LTC_ARGCHK(out      != NULL);
-  LTC_ARGCHK(siglen   != NULL);
-  LTC_ARGCHK(key      != NULL);
-  
-  /* valid hash ? */
-  if ((err = hash_is_valid(hash_idx)) != CRYPT_OK) {
-     return err;
-  }
-  
-  /* get modulus len in bits */
-  modulus_bitlen = mp_count_bits(&(key->N));
-
-  /* outlen must be at least the size of the modulus */
-  modulus_bytelen = mp_unsigned_bin_size(&(key->N));
-  if (modulus_bytelen > *siglen) {
-     return CRYPT_BUFFER_OVERFLOW;
-  }
-      
-  /* PKCS #1 v1.5 pad the key */
-  x = *siglen;
-  if ((err = pkcs_1_v15_sa_encode(in, inlen, hash_idx, modulus_bitlen, out, &x)) != CRYPT_OK) {
-     return err;
-  }
-
-  /* RSA encode it */
-  return rsa_exptmod(out, x, out, siglen, PK_PRIVATE, key);
-}
-
-#endif
diff --git a/src/pk/rsa/rsa_v15_verify_hash.c b/src/pk/rsa/rsa_v15_verify_hash.c
deleted file mode 100644
index e742cba0..00000000
--- a/src/pk/rsa/rsa_v15_verify_hash.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/* LibTomCrypt, modular cryptographic library -- Tom St Denis
- *
- * LibTomCrypt is a library that provides various cryptographic
- * algorithms in a highly modular and flexible manner.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.org
- */
-#include "tomcrypt.h"
-
-/**
-  @file rsa_v15_verify_hash.c
-  RSA PKCS v1.5 Signature verification, Tom St Denis
-*/  
-
-#ifdef MRSA
-
-/** 
-   RSA de-sign then PKCS v1.5 signature depad
-   @param sig           The signature data
-   @param siglen        The length of the signature (octets)
-   @param hash          The hash of the message that was signed
-   @param hashlen       The length of the hash of the message that was signed (octets)
-   @param hash_idx      The index of the desired hash
-   @param stat          [out] The result of the signature comparison, 1==valid, 0==invalid
-   @param key           The corresponding public RSA key that performed the signature
-   @return CRYPT_OK if successful (even if the signature is invalid)
-*/
-int rsa_v15_verify_hash(const unsigned char *sig,      unsigned long siglen,
-                        const unsigned char *hash,  unsigned long hashlen,
-                              int            hash_idx, int          *stat,     
-                              rsa_key       *key)
-{
-   unsigned long modulus_bitlen, modulus_bytelen, x;
-   int           err;
-   unsigned char *tmpbuf;
-   
-  LTC_ARGCHK(hash  != NULL);
-  LTC_ARGCHK(sig      != NULL);
-  LTC_ARGCHK(stat     != NULL);
-  LTC_ARGCHK(key      != NULL);
-
-  /* default to invalid */
-  *stat = 0;
-  
-  /* valid hash ? */
-  if ((err = hash_is_valid(hash_idx)) != CRYPT_OK) {
-     return err;
-  }
-  
-  /* get modulus len in bits */
-  modulus_bitlen = mp_count_bits(&(key->N));
-
-  /* outlen must be at least the size of the modulus */
-  modulus_bytelen = mp_unsigned_bin_size(&(key->N));
-  if (modulus_bytelen != siglen) {
-     return CRYPT_INVALID_PACKET;
-  }
-  
-  /* allocate temp buffer for decoded sig */
-  tmpbuf = XMALLOC(siglen);
-  if (tmpbuf == NULL) {
-     return CRYPT_MEM;
-  }
-      
-  /* RSA decode it  */
-  x = siglen;
-  if ((err = rsa_exptmod(sig, siglen, tmpbuf, &x, PK_PUBLIC, key)) != CRYPT_OK) {
-     XFREE(tmpbuf);
-     return err;
-  }
-  
-  /* PSS decode it */
-  err = pkcs_1_v15_sa_decode(hash, hashlen, tmpbuf, x, hash_idx, modulus_bitlen, stat);
-  XFREE(tmpbuf);
-  return err;
-}
-
-#endif
diff --git a/src/pk/rsa/rsa_verify_hash.c b/src/pk/rsa/rsa_verify_hash.c
index 7072083d..690364dd 100644
--- a/src/pk/rsa/rsa_verify_hash.c
+++ b/src/pk/rsa/rsa_verify_hash.c
@@ -80,3 +80,7 @@ int rsa_verify_hash(const unsigned char *sig,      unsigned long siglen,
 }
 
 #endif /* MRSA */
+
+/* $Source: /cvs/libtom/libtomcrypt/src/pk/rsa/rsa_verify_hash.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/prngs/fortuna.c b/src/prngs/fortuna.c
index 4548a901..8a3b8ea9 100644
--- a/src/prngs/fortuna.c
+++ b/src/prngs/fortuna.c
@@ -384,3 +384,7 @@ int fortuna_test(void)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/prngs/fortuna.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/prngs/rc4.c b/src/prngs/rc4.c
index 750c38b5..4d29d9ad 100644
--- a/src/prngs/rc4.c
+++ b/src/prngs/rc4.c
@@ -258,3 +258,7 @@ int rc4_test(void)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/prngs/rc4.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/prngs/rng_get_bytes.c b/src/prngs/rng_get_bytes.c
index 8519e0af..a711dfa7 100644
--- a/src/prngs/rng_get_bytes.c
+++ b/src/prngs/rng_get_bytes.c
@@ -138,3 +138,7 @@ unsigned long rng_get_bytes(unsigned char *out, unsigned long outlen,
 #endif
    return 0;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/src/prngs/rng_get_bytes.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/prngs/rng_make_prng.c b/src/prngs/rng_make_prng.c
index 94132e71..51b6e6c7 100644
--- a/src/prngs/rng_make_prng.c
+++ b/src/prngs/rng_make_prng.c
@@ -63,3 +63,7 @@ int rng_make_prng(int bits, int wprng, prng_state *prng,
    return CRYPT_OK;
 }
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/prngs/rng_make_prng.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/prngs/sober128.c b/src/prngs/sober128.c
index 48667bd2..c89f01cd 100644
--- a/src/prngs/sober128.c
+++ b/src/prngs/sober128.c
@@ -489,3 +489,7 @@ int sober128_test(void)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/prngs/sober128.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/prngs/sober128tab.c b/src/prngs/sober128tab.c
index dc6f3e22..b50c77b7 100644
--- a/src/prngs/sober128tab.c
+++ b/src/prngs/sober128tab.c
@@ -2,7 +2,7 @@
    @file sober128tab.c
    SOBER-128 Tables
 */   
-/* $Id: sober128tab.c,v 1.1.1.1 2005/03/18 23:19:17 root Exp $ */
+/* $Id: sober128tab.c,v 1.2 2005/05/05 14:35:59 tom Exp $ */
 /* @(#)TuringMultab.h   1.3 (QUALCOMM) 02/09/03 */
 /* Multiplication table for Turing using 0xD02B4367 */
 static const ulong32 Multab[256] = {
@@ -72,7 +72,7 @@ static const ulong32 Multab[256] = {
     0xEF72A3F1, 0x3F59E096, 0x0224253F, 0xD20F6658,
 };
 
-/* $Id: sober128tab.c,v 1.1.1.1 2005/03/18 23:19:17 root Exp $ */
+/* $Id: sober128tab.c,v 1.2 2005/05/05 14:35:59 tom Exp $ */
 /* Sbox for SOBER-128 */
 /*
  * This is really the combination of two SBoxes; the least significant
@@ -156,3 +156,7 @@ static const ulong32 Sbox[256] = {
     0x45f0b24f, 0x51fda998, 0xc0d52d71, 0xfa0896a8,
     0xf9e6053f, 0xa4b0d300, 0xd499cbcc, 0xb95e3d40,
 };
+
+/* $Source: /cvs/libtom/libtomcrypt/src/prngs/sober128tab.c,v $ */
+/* $Revision: 1.2 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/prngs/sprng.c b/src/prngs/sprng.c
index dce83478..4e657dab 100644
--- a/src/prngs/sprng.c
+++ b/src/prngs/sprng.c
@@ -130,3 +130,7 @@ int sprng_test(void)
 
 
  
+
+/* $Source: /cvs/libtom/libtomcrypt/src/prngs/sprng.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/src/prngs/yarrow.c b/src/prngs/yarrow.c
index 1582856e..0e59c225 100644
--- a/src/prngs/yarrow.c
+++ b/src/prngs/yarrow.c
@@ -186,6 +186,7 @@ int yarrow_ready(prng_state *prng)
                         prng->yarrow.pool,       /* IV */
                         prng->yarrow.pool, ks,   /* KEY and key size */
                         0,                       /* number of rounds */
+                        CTR_COUNTER_LITTLE_ENDIAN, /* little endian counter */
                         &prng->yarrow.ctr)) != CRYPT_OK) {
       return err;
    }
@@ -310,3 +311,7 @@ int yarrow_test(void)
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/src/prngs/yarrow.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/testbuild.sh b/testbuild.sh
new file mode 100644
index 00000000..a17c6775
--- /dev/null
+++ b/testbuild.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+echo "$1 (Build Only, $2, $3)..."
+make clean 1>/dev/null 2>/dev/null
+echo -n "building..."
+touch testok.txt
+CFLAGS="$2" make -f $3 test tv_gen 1>gcc_1.txt 2>gcc_2.txt || (echo "build $1 failed see gcc_2.txt for more information" && cat gcc_2.txt && rm -f testok.txt && exit 1)
+if find testok.txt -type f 1>/dev/null 2>/dev/null ; then
+   echo "successful"
+   exit 0
+fi
+exit 1
diff --git a/testme.sh b/testme.sh
new file mode 100644
index 00000000..da0f97b1
--- /dev/null
+++ b/testme.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+# date
+echo "date="`date`
+
+# output version
+echo "Testing verion" `grep "^VERSION=" makefile | sed "s/.*=//"`
+#grep "VERSION=" makefile | perl -e "@a = split('=', <>); print @a[1];"`
+
+# get uname 
+echo "uname="`uname -a`
+echo
+
+# stock build
+bash run.sh "STOCK" " " $1 || exit 1
+
+# SMALL code
+bash run.sh "SMALL" "-DLTC_SMALL_CODE" $1 || exit 1
+
+# NOTABLES
+bash run.sh "NOTABLES" "-DLTC_NO_TABLES" $1 || exit 1
+
+# SMALL+NOTABLES
+bash run.sh "SMALL+NOTABLES" "-DLTC_SMALL_CODE -DLTC_NO_TABLES" $1 || exit 1
+
+# CLEANSTACK
+bash run.sh "CLEANSTACK" "-DLTC_CLEAN_STACK" $1 || exit 1
+
+# CLEANSTACK + SMALL
+bash run.sh "CLEANSTACK+SMALL" "-DLTC_SMALL_CODE -DLTC_CLEAN_STACK" $1 || exit 1
+
+# CLEANSTACK + NOTABLES
+bash run.sh "CLEANSTACK+NOTABLES" "-DLTC_NO_TABLES -DLTC_CLEAN_STACK" $1 || exit 1
+
+# CLEANSTACK + NOTABLES + SMALL
+bash run.sh "CLEANSTACK+NOTABLES+SMALL" "-DLTC_NO_TABLES -DLTC_CLEAN_STACK -DLTC_SMALL_CODE" $1 || exit 1
+
+# NO_FAST
+bash run.sh "NO_FAST" "-DLTC_NO_FAST" $1 || exit 1
+
+# NO_ASM
+bash run.sh "NO_ASM" "-DLTC_NO_ASM" $1 || exit 1
+
+# test build with no testing
+bash testbuild.sh "NOTEST" "-DLTC_NO_TEST" $1 || exit 1
+
+# test build with no file routines
+bash testbuild.sh "NOFILE" "-DLTC_NO_FILE" $1 || exit 1
+
+# $Source: /cvs/libtom/libtomcrypt/testme.sh,v $   
+# $Revision: 1.16 $   
+# $Date: 2005/05/11 18:59:53 $ 
diff --git a/testprof/base64_test.c b/testprof/base64_test.c
index e93ebefa..af20a674 100644
--- a/testprof/base64_test.c
+++ b/testprof/base64_test.c
@@ -12,9 +12,13 @@ int base64_test(void)
        l2 = sizeof(tmp);
        DO(base64_decode(out, l1, tmp, &l2));
        if (l2 != x || memcmp(tmp, in, x)) {
-           printf("base64  failed %lu %lu %lu", x, l1, l2);
+           fprintf(stderr, "base64  failed %lu %lu %lu", x, l1, l2);
            return 1;
        }
    }
    return 0;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/testprof/base64_test.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/21 12:51:25 $ */
diff --git a/testprof/cipher_hash_test.c b/testprof/cipher_hash_test.c
index d2f3bfca..27232e28 100644
--- a/testprof/cipher_hash_test.c
+++ b/testprof/cipher_hash_test.c
@@ -39,3 +39,7 @@ int cipher_hash_test(void)
    
    return 0;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/testprof/cipher_hash_test.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/testprof/der_tests.c b/testprof/der_tests.c
index fe8eb000..81193515 100644
--- a/testprof/der_tests.c
+++ b/testprof/der_tests.c
@@ -4,91 +4,367 @@
 
 int der_tests(void)
 {
-   printf("NOP");
+   fprintf(stderr, "NOP");
    return 0;
 }
 
 #else
 
+static int der_choice_test(void)
+{
+   ltc_asn1_list types[7], host[1];
+   unsigned char bitbuf[10], octetbuf[10], ia5buf[10], printbuf[10], outbuf[256];
+   unsigned long integer, oidbuf[10], outlen, inlen, x, y;
+   mp_int        mpinteger;
+   ltc_utctime   utctime = { 91, 5, 6, 16, 45, 40, 1, 7, 0 };
+
+   /* setup variables */
+   for (x = 0; x < sizeof(bitbuf); x++)   { bitbuf[x]   = x & 1; }
+   for (x = 0; x < sizeof(octetbuf); x++) { octetbuf[x] = x;     }
+   for (x = 0; x < sizeof(ia5buf); x++)   { ia5buf[x]   = 'a';   }
+   for (x = 0; x < sizeof(printbuf); x++) { printbuf[x] = 'a';   }
+   integer = 1;
+   for (x = 0; x < sizeof(oidbuf)/sizeof(oidbuf[0]); x++)   { oidbuf[x] = x + 1;   }
+   DO(mpi_to_ltc_error(mp_init(&mpinteger)));
+
+   for (x = 0; x < 14; x++) {
+       /* setup list */
+       LTC_SET_ASN1(types, 0, LTC_ASN1_PRINTABLE_STRING, printbuf, sizeof(printbuf));
+       LTC_SET_ASN1(types, 1, LTC_ASN1_BIT_STRING, bitbuf, sizeof(bitbuf));
+       LTC_SET_ASN1(types, 2, LTC_ASN1_OCTET_STRING, octetbuf, sizeof(octetbuf));
+       LTC_SET_ASN1(types, 3, LTC_ASN1_IA5_STRING, ia5buf, sizeof(ia5buf));
+       if (x > 7) {
+          LTC_SET_ASN1(types, 4, LTC_ASN1_SHORT_INTEGER, &integer, 1);
+       } else {
+          LTC_SET_ASN1(types, 4, LTC_ASN1_INTEGER, &mpinteger, 1);
+       }
+       LTC_SET_ASN1(types, 5, LTC_ASN1_OBJECT_IDENTIFIER, oidbuf, sizeof(oidbuf)/sizeof(oidbuf[0]));
+       LTC_SET_ASN1(types, 6, LTC_ASN1_UTCTIME, &utctime, 1);
+
+       LTC_SET_ASN1(host, 0, LTC_ASN1_CHOICE, types, 7);
+
+       
+       /* encode */
+       outlen = sizeof(outbuf);
+       DO(der_encode_sequence(&types[x>6?x-7:x], 1, outbuf, &outlen));
+
+       /* decode it */
+       inlen = outlen;
+       DO(der_decode_sequence(outbuf, inlen, &host, 1));
+
+       for (y = 0; y < 7; y++) {
+           if (types[y].used && y != (x>6?x-7:x)) {
+               fprintf(stderr, "CHOICE, flag %lu in trial %lu was incorrectly set to one\n", y, x);
+               return 1;
+           }
+           if (!types[y].used && y == (x>6?x-7:x)) {
+               fprintf(stderr, "CHOICE, flag %lu in trial %lu was incorrectly set to zero\n", y, x);
+               return 1;
+           }
+      }
+  }
+  mp_clear(&mpinteger);
+  return 0;
+}
+   
+
 int der_tests(void)
 {
-   unsigned long x, y, z, zz;
-   unsigned char buf[2][4096];
+   unsigned long x, y, z, zz, oid[2][32];
+   unsigned char buf[3][2048];
    mp_int a, b, c, d, e, f, g;
 
+   static const unsigned char rsa_oid_der[] = { 0x06, 0x06, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d };
+   static const unsigned long rsa_oid[]     = { 1, 2, 840, 113549 };
+
+   static const unsigned char rsa_ia5[]     = "test1@rsa.com";
+   static const unsigned char rsa_ia5_der[] = { 0x16, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x31,
+                                                0x40, 0x72, 0x73, 0x61, 0x2e, 0x63, 0x6f, 0x6d };
+
+   static const unsigned char rsa_printable[] = "Test User 1";
+   static const unsigned char rsa_printable_der[] = { 0x13, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x20, 0x55, 
+                                                      0x73, 0x65, 0x72, 0x20, 0x31 };
+
+   static const ltc_utctime   rsa_time1 = { 91, 5, 6, 16, 45, 40, 1, 7, 0 };
+   static const ltc_utctime   rsa_time2 = { 91, 5, 6, 23, 45, 40, 0, 0, 0 };
+   ltc_utctime                tmp_time;
+
+   static const unsigned char rsa_time1_der[] = { 0x17, 0x11, 0x39, 0x31, 0x30, 0x35, 0x30, 0x36, 0x31, 0x36, 0x34, 0x35, 0x34, 0x30, 0x2D, 0x30, 0x37, 0x30, 0x30 };
+   static const unsigned char rsa_time2_der[] = { 0x17, 0x0d, 0x39, 0x31, 0x30, 0x35, 0x30, 0x36, 0x32, 0x33, 0x34, 0x35, 0x34, 0x30, 0x5a };
+
    DO(mpi_to_ltc_error(mp_init_multi(&a, &b, &c, &d, &e, &f, &g, NULL)));
    for (zz = 0; zz < 16; zz++) {
       for (z = 0; z < 1024; z++) {
          if (yarrow_read(buf[0], z, &yarrow_prng) != z) {
-            printf("Failed to read %lu bytes from yarrow\n", z);
+            fprintf(stderr, "Failed to read %lu bytes from yarrow\n", z);
             return 1;
          }
          DO(mpi_to_ltc_error(mp_read_unsigned_bin(&a, buf[0], z)));
+         if (mp_iszero(&a) == MP_NO) { a.sign = buf[0][0] & 1 ? MP_ZPOS : MP_NEG; }
          x = sizeof(buf[0]);
          DO(der_encode_integer(&a, buf[0], &x));
-         y = x;
+         DO(der_length_integer(&a, &y));
+         if (y != x) { fprintf(stderr, "DER INTEGER size mismatch\n"); return 1; }
          mp_zero(&b);
-         DO(der_decode_integer(buf[0], &y, &b));
+         DO(der_decode_integer(buf[0], y, &b));
          if (y != x || mp_cmp(&a, &b) != MP_EQ) {
-            printf("%lu: %lu vs %lu\n", z, x, y);
+            fprintf(stderr, "%lu: %lu vs %lu\n", z, x, y);
 #ifdef BN_MP_TORADIX_C
             mp_todecimal(&a, buf[0]);
             mp_todecimal(&b, buf[1]);
-            printf("a == %s\nb == %s\n", buf[0], buf[1]);
+            fprintf(stderr, "a == %s\nb == %s\n", buf[0], buf[1]);
 #endif
             mp_clear_multi(&a, &b, &c, &d, &e, &f, &g, NULL);
             return 1;
          }
       }
    }
+
+/* test short integer */
+   for (zz = 0; zz < 256; zz++) {
+      for (z = 1; z < 4; z++) {
+         if (yarrow_read(buf[0], z, &yarrow_prng) != z) {
+            fprintf(stderr, "Failed to read %lu bytes from yarrow\n", z);
+            return 1;
+         }
+         /* encode with normal */
+         DO(mpi_to_ltc_error(mp_read_unsigned_bin(&a, buf[0], z)));
+
+         x = sizeof(buf[0]);
+         DO(der_encode_integer(&a, buf[0], &x));
+
+         /* encode with short */
+         y = sizeof(buf[1]);
+         DO(der_encode_short_integer(mp_get_int(&a), buf[1], &y));
+         if (x != y || memcmp(buf[0], buf[1], x)) {
+            fprintf(stderr, "DER INTEGER short encoding failed, %lu, %lu\n", x, y);
+            for (z = 0; z < x; z++) fprintf(stderr, "%02x ", buf[0][z]); fprintf(stderr, "\n");
+            for (z = 0; z < y; z++) fprintf(stderr, "%02x ", buf[1][z]); fprintf(stderr, "\n");
+            mp_clear_multi(&a, &b, &c, &d, &e, &f, &g, NULL);
+            return 1;
+         }
+
+         /* decode it */
+         x = 0;
+         DO(der_decode_short_integer(buf[1], y, &x));
+         if (x != mp_get_int(&a)) {
+            fprintf(stderr, "DER INTEGER short decoding failed, %lu, %lu\n", x, mp_get_int(&a));
+            mp_clear_multi(&a, &b, &c, &d, &e, &f, &g, NULL);
+            return 1;
+         }
+      }
+   } 
+   mp_clear_multi(&a, &b, &c, &d, &e, &f, &g, NULL);
+
    
+/* Test bit string */
+   for (zz = 1; zz < 1536; zz++) {
+       yarrow_read(buf[0], zz, &yarrow_prng);
+       for (z = 0; z < zz; z++) {
+           buf[0][z] &= 0x01;
+       }
+       x = sizeof(buf[1]);
+       DO(der_encode_bit_string(buf[0], zz, buf[1], &x));
+       DO(der_length_bit_string(zz, &y));
+       if (y != x) { 
+          fprintf(stderr, "\nDER BIT STRING length of encoded not match expected : %lu, %lu, %lu\n", z, x, y);
+          return 1;
+       }
 
-/* test the multi */
-   mp_set(&a, 1);
+       y = sizeof(buf[2]);
+       DO(der_decode_bit_string(buf[1], x, buf[2], &y));
+       if (y != zz || memcmp(buf[0], buf[2], zz)) {
+          fprintf(stderr, "%lu, %lu, %d\n", y, zz, memcmp(buf[0], buf[2], zz));
+          return 1;
+       }
+   }
+
+/* Test octet string */
+   for (zz = 1; zz < 1536; zz++) {
+       yarrow_read(buf[0], zz, &yarrow_prng);
+       x = sizeof(buf[1]);
+       DO(der_encode_octet_string(buf[0], zz, buf[1], &x));
+       DO(der_length_octet_string(zz, &y));
+       if (y != x) { 
+          fprintf(stderr, "\nDER OCTET STRING length of encoded not match expected : %lu, %lu, %lu\n", z, x, y);
+          return 1;
+       }
+       y = sizeof(buf[2]);
+       DO(der_decode_octet_string(buf[1], x, buf[2], &y));
+       if (y != zz || memcmp(buf[0], buf[2], zz)) {
+          fprintf(stderr, "%lu, %lu, %d\n", y, zz, memcmp(buf[0], buf[2], zz));
+          return 1;
+       }
+   }
+
+/* test OID */
    x = sizeof(buf[0]);
-   DO(der_put_multi_integer(buf[0], &x, &a, NULL));
-   y = x;
-   mp_zero(&a);
-   DO(der_get_multi_integer(buf[0], &y, &a, NULL));   
-   if (x != y || mp_cmp_d(&a, 1)) {
-      printf("%lu, %lu, %d\n", x, y, mp_cmp_d(&a, 1));
-      mp_clear_multi(&a, &b, &c, &d, &e, &f, &g, NULL);
+   DO(der_encode_object_identifier(rsa_oid, sizeof(rsa_oid)/sizeof(rsa_oid[0]), buf[0], &x));
+   if (x != sizeof(rsa_oid_der) || memcmp(rsa_oid_der, buf[0], x)) {
+      fprintf(stderr, "rsa_oid_der encode failed to match, %lu, ", x);
+      for (y = 0; y < x; y++) fprintf(stderr, "%02x ", buf[0][y]);
+      fprintf(stderr, "\n");
       return 1;
-   }   
+   }
 
-   mp_set(&a, 1);
-   mp_set(&b, 2);
+   y = sizeof(oid[0])/sizeof(oid[0][0]);
+   DO(der_decode_object_identifier(buf[0], x, oid[0], &y));
+   if (y != sizeof(rsa_oid)/sizeof(rsa_oid[0]) || memcmp(rsa_oid, oid[0], sizeof(rsa_oid))) {
+      fprintf(stderr, "rsa_oid_der decode failed to match, %lu, ", y);
+      for (z = 0; z < y; z++) fprintf(stderr, "%lu ", oid[0][z]);
+      fprintf(stderr, "\n");
+      return 1;
+   }
+
+   /* do random strings */
+   for (zz = 0; zz < 5000; zz++) {
+       /* pick a random number of words */
+       yarrow_read(buf[0], 4, &yarrow_prng);
+       LOAD32L(z, buf[0]);
+       z = 2 + (z % ((sizeof(oid[0])/sizeof(oid[0][0])) - 2));
+       
+       /* fill them in */
+       oid[0][0] = buf[0][0] % 3;
+       oid[0][1] = buf[0][1] % 40;
+
+       for (y = 2; y < z; y++) {
+          yarrow_read(buf[0], 4, &yarrow_prng);
+          LOAD32L(oid[0][y], buf[0]);
+       }
+
+       /* encode it */
+       x = sizeof(buf[0]);
+       DO(der_encode_object_identifier(oid[0], z, buf[0], &x));
+       DO(der_length_object_identifier(oid[0], z, &y));
+       if (x != y) {
+          fprintf(stderr, "Random OID %lu test failed, length mismatch: %lu, %lu\n", z, x, y);
+          for (x = 0; x < z; x++) fprintf(stderr, "%lu\n", oid[0][x]);
+          return 1;
+       }
+       
+       /* decode it */
+       y = sizeof(oid[0])/sizeof(oid[0][0]);
+       DO(der_decode_object_identifier(buf[0], x, oid[1], &y));
+       if (y != z) {
+          fprintf(stderr, "Random OID %lu test failed, decode length mismatch: %lu, %lu\n", z, x, y);
+          return 1;
+       }
+       if (memcmp(oid[0], oid[1], sizeof(oid[0][0]) * z)) {
+          fprintf(stderr, "Random OID %lu test failed, decoded values wrong\n", z);
+          for (x = 0; x < z; x++) fprintf(stderr, "%lu\n", oid[0][x]); fprintf(stderr, "\n\n Got \n\n");
+          for (x = 0; x < z; x++) fprintf(stderr, "%lu\n", oid[1][x]);
+          return 1;
+       }
+   }
+
+/* IA5 string */
    x = sizeof(buf[0]);
-   DO(der_put_multi_integer(buf[0], &x, &a, &b, NULL));
-   y = x;
-   mp_zero(&a);
-   mp_zero(&b);
-   DO(der_get_multi_integer(buf[0], &y, &a, &b, NULL));   
-   if (x != y || mp_cmp_d(&a, 1) || mp_cmp_d(&b, 2)) {
-      printf("%lu, %lu, %d, %d\n", x, y, mp_cmp_d(&a, 1), mp_cmp_d(&b, 2));
-      mp_clear_multi(&a, &b, &c, &d, &e, &f, &g, NULL);
+   DO(der_encode_ia5_string(rsa_ia5, strlen(rsa_ia5), buf[0], &x));
+   if (x != sizeof(rsa_ia5_der) || memcmp(buf[0], rsa_ia5_der, x)) {
+      fprintf(stderr, "IA5 encode failed: %lu, %lu\n", x, (unsigned long)sizeof(rsa_ia5_der));
       return 1;
-   }   
+   }
+   DO(der_length_ia5_string(rsa_ia5, strlen(rsa_ia5), &y));
+   if (y != x) {
+      fprintf(stderr, "IA5 length failed to match: %lu, %lu\n", x, y);
+      return 1;
+   }
+   y = sizeof(buf[1]);
+   DO(der_decode_ia5_string(buf[0], x, buf[1], &y));
+   if (y != strlen(rsa_ia5) || memcmp(buf[1], rsa_ia5, strlen(rsa_ia5))) {
+       fprintf(stderr, "DER IA5 failed test vector\n");
+       return 1;
+   }
 
-   mp_set(&a, 1);
-   mp_set(&b, 2);
-   mp_set(&c, 3);
+/* Printable string */
    x = sizeof(buf[0]);
-   DO(der_put_multi_integer(buf[0], &x, &a, &b, &c, NULL));
-   y = x;
-   mp_zero(&a);
-   mp_zero(&b);
-   mp_zero(&c);
-   DO(der_get_multi_integer(buf[0], &y, &a, &b, &c, NULL));   
-   if (x != y || mp_cmp_d(&a, 1) || mp_cmp_d(&b, 2) || mp_cmp_d(&c, 3)) {
-      printf("%lu, %lu, %d, %d, %d\n", x, y, mp_cmp_d(&a, 1), mp_cmp_d(&b, 2), mp_cmp_d(&c, 3));
-      mp_clear_multi(&a, &b, &c, &d, &e, &f, &g, NULL);
+   DO(der_encode_printable_string(rsa_printable, strlen(rsa_printable), buf[0], &x));
+   if (x != sizeof(rsa_printable_der) || memcmp(buf[0], rsa_printable_der, x)) {
+      fprintf(stderr, "PRINTABLE encode failed: %lu, %lu\n", x, (unsigned long)sizeof(rsa_printable_der));
+      return 1;
+   }
+   DO(der_length_printable_string(rsa_printable, strlen(rsa_printable), &y));
+   if (y != x) {
+      fprintf(stderr, "printable length failed to match: %lu, %lu\n", x, y);
       return 1;
-   }   
+   }
+   y = sizeof(buf[1]);
+   DO(der_decode_printable_string(buf[0], x, buf[1], &y));
+   if (y != strlen(rsa_printable) || memcmp(buf[1], rsa_printable, strlen(rsa_printable))) {
+       fprintf(stderr, "DER printable failed test vector\n");
+       return 1;
+   }
 
+/* Test UTC time */
+   x = sizeof(buf[0]);
+   DO(der_encode_utctime(&rsa_time1, buf[0], &x));
+   if (x != sizeof(rsa_time1_der) || memcmp(buf[0], rsa_time1_der, x)) {
+      fprintf(stderr, "UTCTIME encode of rsa_time1 failed: %lu, %lu\n", x, (unsigned long)sizeof(rsa_time1_der));
+fprintf(stderr, "\n\n");
+for (y = 0; y < x; y++) fprintf(stderr, "%02x ", buf[0][y]); printf("\n");
 
-   mp_clear_multi(&a, &b, &c, &d, &e, &f, &g, NULL);
-   return 0;
+      return 1;
+   }
+   DO(der_length_utctime(&rsa_time1, &y));
+   if (y != x) {
+      fprintf(stderr, "UTCTIME length failed to match for rsa_time1: %lu, %lu\n", x, y);
+      return 1;
+   }
+   DO(der_decode_utctime(buf[0], &y, &tmp_time));
+   if (y != x || memcmp(&rsa_time1, &tmp_time, sizeof(ltc_utctime))) {
+      fprintf(stderr, "UTCTIME decode failed for rsa_time1: %lu %lu\n", x, y);
+fprintf(stderr, "\n\n%u %u %u %u %u %u %u %u %u\n\n", 
+tmp_time.YY,
+tmp_time.MM,
+tmp_time.DD,
+tmp_time.hh,
+tmp_time.mm,
+tmp_time.ss,
+tmp_time.off_dir,
+tmp_time.off_mm,
+tmp_time.off_hh);
+      return 1;
+   }
+
+   x = sizeof(buf[0]);
+   DO(der_encode_utctime(&rsa_time2, buf[0], &x));
+   if (x != sizeof(rsa_time2_der) || memcmp(buf[0], rsa_time2_der, x)) {
+      fprintf(stderr, "UTCTIME encode of rsa_time2 failed: %lu, %lu\n", x, (unsigned long)sizeof(rsa_time1_der));
+fprintf(stderr, "\n\n");
+for (y = 0; y < x; y++) fprintf(stderr, "%02x ", buf[0][y]); printf("\n");
+
+      return 1;
+   }
+   DO(der_length_utctime(&rsa_time2, &y));
+   if (y != x) {
+      fprintf(stderr, "UTCTIME length failed to match for rsa_time2: %lu, %lu\n", x, y);
+      return 1;
+   }
+   DO(der_decode_utctime(buf[0], &y, &tmp_time));
+   if (y != x || memcmp(&rsa_time2, &tmp_time, sizeof(ltc_utctime))) {
+      fprintf(stderr, "UTCTIME decode failed for rsa_time2: %lu %lu\n", x, y);
+fprintf(stderr, "\n\n%u %u %u %u %u %u %u %u %u\n\n", 
+tmp_time.YY,
+tmp_time.MM,
+tmp_time.DD,
+tmp_time.hh,
+tmp_time.mm,
+tmp_time.ss,
+tmp_time.off_dir,
+tmp_time.off_mm,
+tmp_time.off_hh);
+
+
+      return 1;
+   }
+
+
+
+   return der_choice_test();
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/testprof/der_tests.c,v $ */
+/* $Revision: 1.25 $ */
+/* $Date: 2005/06/20 20:37:45 $ */
diff --git a/testprof/dh_tests.c b/testprof/dh_tests.c
index feb74acf..3852e474 100644
--- a/testprof/dh_tests.c
+++ b/testprof/dh_tests.c
@@ -22,11 +22,11 @@ int dh_tests (void)
   y = 4096;
   DO(dh_shared_secret (&userb, &usera, buf[1], &y));
   if (y != x) {
-    printf ("DH Shared keys are not same size.\n");
+    fprintf(stderr, "DH Shared keys are not same size.\n");
     return 1;
   }
   if (memcmp (buf[0], buf[1], x)) {
-    printf ("DH Shared keys not same contents.\n");
+    fprintf(stderr, "DH Shared keys not same contents.\n");
     return 1;
   }
 
@@ -41,11 +41,11 @@ int dh_tests (void)
   DO(dh_shared_secret (&usera, &userb, buf[2], &z));
 
   if (z != x) {
-    printf ("failed.  Size don't match?\n");
+    fprintf(stderr, "failed.  Size don't match?\n");
     return 1;
   }
   if (memcmp (buf[0], buf[2], x)) {
-    printf ("Failed.  Content didn't match.\n");
+    fprintf(stderr, "Failed.  Content didn't match.\n");
     return 1;
   }
   dh_free (&usera);
@@ -62,12 +62,12 @@ int dh_tests (void)
   x = sizeof (buf[0]);
   DO(dh_decrypt_key (buf[1], y, buf[0], &x, &usera));
   if (x != 16) {
-    printf ("Failed (length)\n");
+    fprintf(stderr, "Failed (length)\n");
     return 1;
   }
   for (x = 0; x < 16; x++)
     if (buf[0][x] != x) {
-      printf ("Failed (contents)\n");
+      fprintf(stderr, "Failed (contents)\n");
       return 1;
     }
 
@@ -81,7 +81,7 @@ int dh_tests (void)
   buf[0][0] ^= 1;
   DO(dh_verify_hash (buf[1], x, buf[0], 16, &stat2, &usera));
   if (!(stat == 1 && stat2 == 0)) { 
-     printf("dh_sign/verify_hash %d %d", stat, stat2);
+     fprintf(stderr, "dh_sign/verify_hash %d %d", stat, stat2);
      return 1;
   }
   dh_free (&usera);
@@ -92,8 +92,12 @@ int dh_tests (void)
 
 int dh_tests(void)
 {
-   printf("NOP");
+   fprintf(stderr, "NOP");
    return 0;
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/testprof/dh_tests.c,v $ */
+/* $Revision: 1.5 $ */
+/* $Date: 2005/05/21 12:51:25 $ */
diff --git a/testprof/dsa_test.c b/testprof/dsa_test.c
index cd2e89a3..aa4988c9 100644
--- a/testprof/dsa_test.c
+++ b/testprof/dsa_test.c
@@ -14,7 +14,7 @@ int dsa_test(void)
 
    /* verify it */
    DO(dsa_verify_key(&key, &stat1));
-   if (stat1 == 0) { printf("dsa_verify_key "); return 1; }
+   if (stat1 == 0) { fprintf(stderr, "dsa_verify_key "); return 1; }
 
    /* sign the message */
    x = sizeof(out);
@@ -27,7 +27,7 @@ int dsa_test(void)
    msg[0] ^= 1;
    DO(dsa_verify_hash(out, x, msg, sizeof(msg), &stat2, &key));
    msg[0] ^= 1;
-   if (!(stat1 == 1 && stat2 == 0)) { printf("dsa_verify %d %d", stat1, stat2); return 1; }
+   if (!(stat1 == 1 && stat2 == 0)) { fprintf(stderr, "dsa_verify %d %d", stat1, stat2); return 1; }
 
    /* test exporting it */
    x = sizeof(out2);
@@ -36,16 +36,17 @@ int dsa_test(void)
 
    /* verify a signature with it */
    DO(dsa_verify_hash(out, x, msg, sizeof(msg), &stat1, &key2));
-   if (stat1 == 0) { printf("dsa_verify (import private) %d ", stat1); return 1; }
+   if (stat1 == 0) { fprintf(stderr, "dsa_verify (import private) %d ", stat1); return 1; }
    dsa_free(&key2);
 
    /* export as public now */
    x = sizeof(out2);
    DO(dsa_export(out2, &x, PK_PUBLIC, &key));
+
    DO(dsa_import(out2, x, &key2));
    /* verify a signature with it */
    DO(dsa_verify_hash(out, x, msg, sizeof(msg), &stat1, &key2));
-   if (stat1 == 0) { printf("dsa_verify (import public) %d ", stat1); return 1; }
+   if (stat1 == 0) { fprintf(stderr, "dsa_verify (import public) %d ", stat1); return 1; }
    dsa_free(&key2);
    dsa_free(&key);
 
@@ -56,8 +57,12 @@ int dsa_test(void)
 
 int dsa_test(void)
 {
-  printf("NOP");
+  fprintf(stderr, "NOP");
   return 0;
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/testprof/dsa_test.c,v $ */
+/* $Revision: 1.8 $ */
+/* $Date: 2005/06/03 19:24:32 $ */
diff --git a/testprof/ecc_test.c b/testprof/ecc_test.c
index 0b37ba2f..d5f88ab7 100644
--- a/testprof/ecc_test.c
+++ b/testprof/ecc_test.c
@@ -2,102 +2,123 @@
 
 #ifdef MECC
 
+static int sizes[] = {
+#ifdef ECC192
+24,
+#endif
+#ifdef ECC224
+28,
+#endif
+#ifdef ECC256
+32,
+#endif
+#ifdef ECC384
+48,
+#endif
+#ifdef ECC512
+65
+#endif
+};
+
 int ecc_tests (void)
 {
   unsigned char buf[4][4096];
-  unsigned long x, y, z;
+  unsigned long x, y, z, s;
   int           stat, stat2;
   ecc_key usera, userb, pubKey, privKey;
 	
   DO(ecc_test ());
 
-  /* make up two keys */
-  DO(ecc_make_key (&yarrow_prng, find_prng ("yarrow"), 65, &usera));
-  DO(ecc_make_key (&yarrow_prng, find_prng ("yarrow"), 65, &userb));
-
-  /* make the shared secret */
-  x = 4096;
-  DO(ecc_shared_secret (&usera, &userb, buf[0], &x));
-
-  y = 4096;
-  DO(ecc_shared_secret (&userb, &usera, buf[1], &y));
-
-  if (y != x) {
-    printf ("ecc Shared keys are not same size.");
-    return 1;
-  }
-
-  if (memcmp (buf[0], buf[1], x)) {
-    printf ("ecc Shared keys not same contents.");
-    return 1;
+  for (s = 0; s < (int)(sizeof(sizes)/sizeof(sizes[0])); s++) {
+     /* make up two keys */
+     DO(ecc_make_key (&yarrow_prng, find_prng ("yarrow"), sizes[s], &usera));
+     DO(ecc_make_key (&yarrow_prng, find_prng ("yarrow"), sizes[s], &userb));
+
+     /* make the shared secret */
+     x = 4096;
+     DO(ecc_shared_secret (&usera, &userb, buf[0], &x));
+
+     y = 4096;
+     DO(ecc_shared_secret (&userb, &usera, buf[1], &y));
+
+     if (y != x) {
+       fprintf(stderr, "ecc Shared keys are not same size.");
+       return 1;
+     }
+
+     if (memcmp (buf[0], buf[1], x)) {
+       fprintf(stderr, "ecc Shared keys not same contents.");
+       return 1;
+     }
+
+     /* now export userb */
+     y = 4096;
+     DO(ecc_export (buf[1], &y, PK_PUBLIC, &userb));
+     ecc_free (&userb);
+
+     /* import and make the shared secret again */
+     DO(ecc_import (buf[1], y, &userb));
+
+     z = 4096;
+     DO(ecc_shared_secret (&usera, &userb, buf[2], &z));
+
+     if (z != x) {
+       fprintf(stderr, "failed.  Size don't match?");
+       return 1;
+     }
+     if (memcmp (buf[0], buf[2], x)) {
+       fprintf(stderr, "Failed.  Contents didn't match.");
+       return 1;
+     }
+     ecc_free (&usera);
+     ecc_free (&userb);
+
+     /* test encrypt_key */
+     DO(ecc_make_key (&yarrow_prng, find_prng ("yarrow"), sizes[s], &usera));
+
+     /* export key */
+     x = sizeof(buf[0]);
+     DO(ecc_export(buf[0], &x, PK_PUBLIC, &usera));
+     DO(ecc_import(buf[0], x, &pubKey));
+     x = sizeof(buf[0]);
+     DO(ecc_export(buf[0], &x, PK_PRIVATE, &usera));
+     DO(ecc_import(buf[0], x, &privKey));
+
+     for (x = 0; x < 32; x++) {
+        buf[0][x] = x;
+     }
+     y = sizeof (buf[1]);
+     DO(ecc_encrypt_key (buf[0], 32, buf[1], &y, &yarrow_prng, find_prng ("yarrow"), find_hash ("sha256"), &pubKey));
+     zeromem (buf[0], sizeof (buf[0]));
+     x = sizeof (buf[0]);
+     DO(ecc_decrypt_key (buf[1], y, buf[0], &x, &privKey));
+     if (x != 32) {
+       fprintf(stderr, "Failed (length)");
+       return 1;
+     }
+     for (x = 0; x < 32; x++) {
+        if (buf[0][x] != x) {
+           fprintf(stderr, "Failed (contents)");
+           return 1;
+        }
+     }
+     /* test sign_hash */
+     for (x = 0; x < 16; x++) {
+        buf[0][x] = x;
+     }
+     x = sizeof (buf[1]);
+     DO(ecc_sign_hash (buf[0], 16, buf[1], &x, &yarrow_prng, find_prng ("yarrow"), &privKey));
+     DO(ecc_verify_hash (buf[1], x, buf[0], 16, &stat, &pubKey));
+     buf[0][0] ^= 1;
+     DO(ecc_verify_hash (buf[1], x, buf[0], 16, &stat2, &privKey));
+     if (!(stat == 1 && stat2 == 0)) { 
+        fprintf(stderr, "ecc_verify_hash failed %d, %d, ", stat, stat2);
+        return 1;
+     }
+     ecc_free (&usera); 
+     ecc_free (&pubKey);
+     ecc_free (&privKey);
   }
-
-  /* now export userb */
-  y = 4096;
-  DO(ecc_export (buf[1], &y, PK_PUBLIC, &userb));
-  ecc_free (&userb);
-
-  /* import and make the shared secret again */
-  DO(ecc_import (buf[1], y, &userb));
-
-  z = 4096;
-  DO(ecc_shared_secret (&usera, &userb, buf[2], &z));
-
-  if (z != x) {
-    printf ("failed.  Size don't match?");
-    return 1;
-  }
-  if (memcmp (buf[0], buf[2], x)) {
-    printf ("Failed.  Content didn't match.");
-    return 1;
-  }
-  ecc_free (&usera);
-  ecc_free (&userb);
-
-/* test encrypt_key */
-  DO(ecc_make_key (&yarrow_prng, find_prng ("yarrow"), 65, &usera));
-
-/* export key */
-  x = sizeof(buf[0]);
-  DO(ecc_export(buf[0], &x, PK_PUBLIC, &usera));
-  DO(ecc_import(buf[0], x, &pubKey));
-  x = sizeof(buf[0]);
-  DO(ecc_export(buf[0], &x, PK_PRIVATE, &usera));
-  DO(ecc_import(buf[0], x, &privKey));
-
-  for (x = 0; x < 32; x++) {
-    buf[0][x] = x;
-  }
-  y = sizeof (buf[1]);
-  DO(ecc_encrypt_key (buf[0], 32, buf[1], &y, &yarrow_prng, find_prng ("yarrow"), find_hash ("sha256"), &pubKey));
-  zeromem (buf[0], sizeof (buf[0]));
-  x = sizeof (buf[0]);
-  DO(ecc_decrypt_key (buf[1], y, buf[0], &x, &privKey));
-  if (x != 32) {
-    printf ("Failed (length)");
-    return 1;
-  }
-  for (x = 0; x < 32; x++)
-    if (buf[0][x] != x) {
-      printf ("Failed (contents)");
-      return 1;
-    }
-/* test sign_hash */
-  for (x = 0; x < 16; x++) {
-    buf[0][x] = x;
-  }
-  x = sizeof (buf[1]);
-  DO(ecc_sign_hash (buf[0], 16, buf[1], &x, &yarrow_prng, find_prng ("yarrow"), &privKey));
-  DO(ecc_verify_hash (buf[1], x, buf[0], 16, &stat, &pubKey));
-  buf[0][0] ^= 1;
-  DO(ecc_verify_hash (buf[1], x, buf[0], 16, &stat2, &privKey));
-  if (!(stat == 1 && stat2 == 0)) { 
-    printf("ecc_verify_hash failed %d, %d, ", stat, stat2);
-    return 1;
-  }
-  ecc_free (&usera); 
-  ecc_free (&pubKey);
-  ecc_free (&privKey);
   return 0;
 }
 
@@ -105,8 +126,12 @@ int ecc_tests (void)
 
 int ecc_tests(void)
 {
-   printf("NOP");
+   fprintf(stderr, "NOP");
    return 0;
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/testprof/ecc_test.c,v $ */
+/* $Revision: 1.9 $ */
+/* $Date: 2005/06/14 19:43:29 $ */
diff --git a/testprof/mac_test.c b/testprof/mac_test.c
index b076d7b6..3c9e9021 100644
--- a/testprof/mac_test.c
+++ b/testprof/mac_test.c
@@ -29,3 +29,7 @@ int mac_test(void)
 #endif
    return 0;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/testprof/mac_test.c,v $ */
+/* $Revision: 1.3 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/testprof/makefile.icc b/testprof/makefile.icc
index c9226fba..ff87660f 100644
--- a/testprof/makefile.icc
+++ b/testprof/makefile.icc
@@ -1,4 +1,4 @@
-CFLAGS += -I../src/headers -I./ -O3 -xP -ip 
+CFLAGS += -I../src/headers -I./ 
 CC=icc
 
 OBJECTS = base64_test.o cipher_hash_test.o der_tests.o dh_tests.o                        \
diff --git a/testprof/modes_test.c b/testprof/modes_test.c
index 46beb8ab..d394267b 100644
--- a/testprof/modes_test.c
+++ b/testprof/modes_test.c
@@ -19,7 +19,7 @@ int modes_test(void)
    /* get idx of AES handy */
    cipher_idx = find_cipher("aes");
    if (cipher_idx == -1) {
-      printf("test requires AES");
+      fprintf(stderr, "test requires AES");
       return 1;
    }
    
@@ -30,7 +30,7 @@ int modes_test(void)
    l = sizeof(iv2);
    DO(cbc_getiv(iv2, &l, &cbc));
    if (l != 16 || memcmp(iv2, iv, 16)) {
-      printf("cbc_getiv failed");
+      fprintf(stderr, "cbc_getiv failed");
       return 1;
    }
    DO(cbc_encrypt(pt, ct, 64, &cbc));
@@ -40,7 +40,7 @@ int modes_test(void)
    zeromem(tmp, sizeof(tmp));
    DO(cbc_decrypt(ct, tmp, 64, &cbc));
    if (memcmp(tmp, pt, 64) != 0) {
-      printf("CBC failed");
+      fprintf(stderr, "CBC failed");
       return 1;
    }
 #endif
@@ -53,7 +53,7 @@ int modes_test(void)
    DO(cfb_getiv(iv2, &l, &cfb));
    /* note we don't memcmp iv2/iv since cfb_start processes the IV for the first block */
    if (l != 16) {
-      printf("cfb_getiv failed");
+      fprintf(stderr, "cfb_getiv failed");
       return 1;
    }
    DO(cfb_encrypt(pt, ct, 64, &cfb));
@@ -63,7 +63,7 @@ int modes_test(void)
    zeromem(tmp, sizeof(tmp));
    DO(cfb_decrypt(ct, tmp, 64, &cfb));
    if (memcmp(tmp, pt, 64) != 0) {
-      printf("CFB failed");
+      fprintf(stderr, "CFB failed");
       return 1;
    }
 #endif
@@ -75,7 +75,7 @@ int modes_test(void)
    l = sizeof(iv2);
    DO(ofb_getiv(iv2, &l, &ofb));
    if (l != 16 || memcmp(iv2, iv, 16)) {
-      printf("ofb_getiv failed");
+      fprintf(stderr, "ofb_getiv failed");
       return 1;
    }
    DO(ofb_encrypt(pt, ct, 64, &ofb));
@@ -85,7 +85,7 @@ int modes_test(void)
    zeromem(tmp, sizeof(tmp));
    DO(ofb_decrypt(ct, tmp, 64, &ofb));
    if (memcmp(tmp, pt, 64) != 0) {
-      printf("OFB failed");
+      fprintf(stderr, "OFB failed");
       return 1;
    }
 #endif
@@ -93,11 +93,11 @@ int modes_test(void)
 #ifdef CTR   
    /* test CTR mode */
    /* encode the block */
-   DO(ctr_start(cipher_idx, iv, key, 16, 0, &ctr));
+   DO(ctr_start(cipher_idx, iv, key, 16, 0, CTR_COUNTER_LITTLE_ENDIAN, &ctr));
    l = sizeof(iv2);
    DO(ctr_getiv(iv2, &l, &ctr));
    if (l != 16 || memcmp(iv2, iv, 16)) {
-      printf("ctr_getiv failed");
+      fprintf(stderr, "ctr_getiv failed");
       return 1;
    }
    DO(ctr_encrypt(pt, ct, 57, &ctr));
@@ -107,10 +107,14 @@ int modes_test(void)
    zeromem(tmp, sizeof(tmp));
    DO(ctr_decrypt(ct, tmp, 57, &ctr));
    if (memcmp(tmp, pt, 57) != 0) {
-      printf("CTR failed");
+      fprintf(stderr, "CTR failed");
       return 1;
    }
 #endif
          
    return 0;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/testprof/modes_test.c,v $ */
+/* $Revision: 1.6 $ */
+/* $Date: 2005/05/21 12:51:25 $ */
diff --git a/testprof/pkcs_1_test.c b/testprof/pkcs_1_test.c
index 40cf6306..1a47d85f 100644
--- a/testprof/pkcs_1_test.c
+++ b/testprof/pkcs_1_test.c
@@ -14,7 +14,7 @@ int pkcs_1_test(void)
    prng_idx = find_prng("yarrow");
    
    if (hash_idx == -1 || prng_idx == -1) {
-      printf("pkcs_1 tests require sha1/yarrow");
+      fprintf(stderr, "pkcs_1 tests require sha1/yarrow");
       return 1;
    }   
 
@@ -29,30 +29,6 @@ int pkcs_1_test(void)
       /* random modulus len (v1.5 must be multiple of 8 though arbitrary sizes seem to work) */
       modlen = 800 + 8 * (abs(rand()) % 28);
 
-      /* PKCS v1.5 testing (encryption) */
-      l1 = sizeof(buf[1]);
-      DO(pkcs_1_v15_es_encode(buf[0], l3, modlen, &yarrow_prng, prng_idx, buf[1], &l1));
-      DO(pkcs_1_v15_es_decode(buf[1], l1, modlen, buf[2], l3, &res1));
-      if (res1 != 1 || memcmp(buf[0], buf[2], l3)) {
-         printf("pkcs v1.5 encrypt failed %d, %lu, %lu ", res1, l1, l3);
-         return 1;
-      }
-
-      /* PKCS v1.5 testing (signatures) */
-      l1 = sizeof(buf[1]);
-      DO(pkcs_1_v15_sa_encode(buf[0], l3, hash_idx, modlen, buf[1], &l1));
-      DO(pkcs_1_v15_sa_decode(buf[0], l3, buf[1], l1, hash_idx, modlen, &res1));
-      buf[0][i1 = abs(rand()) % l3] ^= 1;
-      DO(pkcs_1_v15_sa_decode(buf[0], l3, buf[1], l1, hash_idx, modlen, &res2));
-      buf[0][i1] ^= 1;
-      buf[1][i2 = abs(rand()) % l1] ^= 1;
-      DO(pkcs_1_v15_sa_decode(buf[0], l3, buf[1], l1, hash_idx, modlen, &res3));
-
-      if (!(res1 == 1 && res2 == 0 && res3 == 0)) {
-         printf("pkcs v1.5 sign failed %d %d %d ", res1, res2, res3);
-         return 1;
-      }
-
       /* pick a random lparam len [0..16] */
       lparamlen = abs(rand()) % 17;
 
@@ -71,16 +47,16 @@ int pkcs_1_test(void)
       DO(pkcs_1_oaep_decode(buf[1], l1, lparam, lparamlen, modlen, hash_idx, buf[2], &l2, &res1));
 
       if (res1 != 1 || l2 != l3 || memcmp(buf[2], buf[0], l3) != 0) {
-         printf("Outsize == %lu, should have been %lu, res1 = %d, lparamlen = %lu, msg contents follow.\n", l2, l3, res1, lparamlen);
-         printf("ORIGINAL:\n");
+         fprintf(stderr, "Outsize == %lu, should have been %lu, res1 = %d, lparamlen = %lu, msg contents follow.\n", l2, l3, res1, lparamlen);
+         fprintf(stderr, "ORIGINAL:\n");
          for (x = 0; x < l3; x++) {
-             printf("%02x ", buf[0][x]);
+             fprintf(stderr, "%02x ", buf[0][x]);
          }
-         printf("\nRESULT:\n");
+         fprintf(stderr, "\nRESULT:\n");
          for (x = 0; x < l2; x++) {
-             printf("%02x ", buf[2][x]);
+             fprintf(stderr, "%02x ", buf[2][x]);
          }
-         printf("\n\n");
+         fprintf(stderr, "\n\n");
          return 1;
       }
 
@@ -97,7 +73,7 @@ int pkcs_1_test(void)
       DO(pkcs_1_pss_decode(buf[0], l3, buf[1], l1, saltlen, hash_idx, modlen, &res3));
 
       if (!(res1 == 1 && res2 == 0 && res3 == 0)) {
-         printf("PSS failed: %d, %d, %d, %lu, %lu\n", res1, res2, res3, l3, saltlen);
+         fprintf(stderr, "PSS failed: %d, %d, %d, %lu, %lu\n", res1, res2, res3, l3, saltlen);
          return 1;
       }
    }
@@ -108,9 +84,13 @@ int pkcs_1_test(void)
 
 int pkcs_1_test(void)
 {
-   printf("NOP");
+   fprintf(stderr, "NOP");
    return 0;
 }
 
 #endif
 
+
+/* $Source: /cvs/libtom/libtomcrypt/testprof/pkcs_1_test.c,v $ */
+/* $Revision: 1.6 $ */
+/* $Date: 2005/05/21 12:51:25 $ */
diff --git a/testprof/rsa_test.c b/testprof/rsa_test.c
index f114e499..4facdcde 100644
--- a/testprof/rsa_test.c
+++ b/testprof/rsa_test.c
@@ -4,18 +4,125 @@
 
 #define RSA_MSGSIZE 78
 
+/* These are test keys [see file test.key] that I use to test my import/export against */
+static const unsigned char openssl_private_rsa[] = {
+   0x30, 0x82, 0x02, 0x5e, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81, 0x00, 0xcf, 0x9a, 0xde, 0x64, 0x8a, 
+   0xda, 0xc8, 0x33, 0x20, 0xa9, 0xd7, 0x83, 0x31, 0x19, 0x54, 0xb2, 0x9a, 0x85, 0xa7, 0xa1, 0xb7, 
+   0x75, 0x33, 0xb6, 0xa9, 0xac, 0x84, 0x24, 0xb3, 0xde, 0xdb, 0x7d, 0x85, 0x2d, 0x96, 0x65, 0xe5, 
+   0x3f, 0x72, 0x95, 0x24, 0x9f, 0x28, 0x68, 0xca, 0x4f, 0xdb, 0x44, 0x1c, 0x3e, 0x60, 0x12, 0x8a, 
+   0xdd, 0x26, 0xa5, 0xeb, 0xff, 0x0b, 0x5e, 0xd4, 0x88, 0x38, 0x49, 0x2a, 0x6e, 0x5b, 0xbf, 0x12, 
+   0x37, 0x47, 0xbd, 0x05, 0x6b, 0xbc, 0xdb, 0xf3, 0xee, 0xe4, 0x11, 0x8e, 0x41, 0x68, 0x7c, 0x61, 
+   0x13, 0xd7, 0x42, 0xc8, 0x80, 0xbe, 0x36, 0x8f, 0xdc, 0x08, 0x8b, 0x4f, 0xac, 0xa4, 0xe2, 0x76, 
+   0x0c, 0xc9, 0x63, 0x6c, 0x49, 0x58, 0x93, 0xed, 0xcc, 0xaa, 0xdc, 0x25, 0x3b, 0x0a, 0x60, 0x3f, 
+   0x8b, 0x54, 0x3a, 0xc3, 0x4d, 0x31, 0xe7, 0x94, 0xa4, 0x44, 0xfd, 0x02, 0x03, 0x01, 0x00, 0x01, 
+   0x02, 0x81, 0x81, 0x00, 0xc8, 0x62, 0xb9, 0xea, 0xde, 0x44, 0x53, 0x1d, 0x56, 0x97, 0xd9, 0x97, 
+   0x9e, 0x1a, 0xcf, 0x30, 0x1e, 0x0a, 0x88, 0x45, 0x86, 0x29, 0x30, 0xa3, 0x4d, 0x9f, 0x61, 0x65, 
+   0x73, 0xe0, 0xd6, 0x87, 0x8f, 0xb6, 0xf3, 0x06, 0xa3, 0x82, 0xdc, 0x7c, 0xac, 0xfe, 0x9b, 0x28, 
+   0x9a, 0xae, 0xfd, 0xfb, 0xfe, 0x2f, 0x0e, 0xd8, 0x97, 0x04, 0xe3, 0xbb, 0x1f, 0xd1, 0xec, 0x0d, 
+   0xba, 0xa3, 0x49, 0x7f, 0x47, 0xac, 0x8a, 0x44, 0x04, 0x7e, 0x86, 0xb7, 0x39, 0x42, 0x3f, 0xad, 
+   0x1e, 0xb7, 0x0e, 0xa5, 0x51, 0xf4, 0x40, 0x63, 0x1e, 0xfd, 0xbd, 0xea, 0x9f, 0x41, 0x9f, 0xa8, 
+   0x90, 0x1d, 0x6f, 0x0a, 0x5a, 0x95, 0x13, 0x11, 0x0d, 0x80, 0xaf, 0x5f, 0x64, 0x98, 0x8a, 0x2c, 
+   0x78, 0x68, 0x65, 0xb0, 0x2b, 0x8b, 0xa2, 0x53, 0x87, 0xca, 0xf1, 0x64, 0x04, 0xab, 0xf2, 0x7b, 
+   0xdb, 0x83, 0xc8, 0x81, 0x02, 0x41, 0x00, 0xf7, 0xbe, 0x5e, 0x23, 0xc3, 0x32, 0x3f, 0xbf, 0x8b, 
+   0x8e, 0x3a, 0xee, 0xfc, 0xfc, 0xcb, 0xe5, 0xf7, 0xf1, 0x0b, 0xbc, 0x42, 0x82, 0xae, 0xd5, 0x7a, 
+   0x3e, 0xca, 0xf7, 0xd5, 0x69, 0x3f, 0x64, 0x25, 0xa2, 0x1f, 0xb7, 0x75, 0x75, 0x05, 0x92, 0x42, 
+   0xeb, 0xb8, 0xf1, 0xf3, 0x0a, 0x05, 0xe3, 0x94, 0xd1, 0x55, 0x78, 0x35, 0xa0, 0x36, 0xa0, 0x9b, 
+   0x7c, 0x92, 0x84, 0x6c, 0xdd, 0xdc, 0x4d, 0x02, 0x41, 0x00, 0xd6, 0x86, 0x0e, 0x85, 0x42, 0x0b, 
+   0x04, 0x08, 0x84, 0x21, 0x60, 0xf0, 0x0e, 0x0d, 0x88, 0xfd, 0x1e, 0x36, 0x10, 0x65, 0x4f, 0x1e, 
+   0x53, 0xb4, 0x08, 0x72, 0x80, 0x5c, 0x3f, 0x59, 0x66, 0x17, 0xe6, 0x98, 0xf2, 0xe9, 0x6c, 0x7a, 
+   0x06, 0x4c, 0xac, 0x76, 0x3d, 0xed, 0x8c, 0xa1, 0xce, 0xad, 0x1b, 0xbd, 0xb4, 0x7d, 0x28, 0xbc, 
+   0xe3, 0x0e, 0x38, 0x8d, 0x99, 0xd8, 0x05, 0xb5, 0xa3, 0x71, 0x02, 0x40, 0x6d, 0xeb, 0xc3, 0x2d, 
+   0x2e, 0xf0, 0x5e, 0xa4, 0x88, 0x31, 0x05, 0x29, 0x00, 0x8a, 0xd1, 0x95, 0x29, 0x9b, 0x83, 0xcf, 
+   0x75, 0xdb, 0x31, 0xe3, 0x7a, 0x27, 0xde, 0x3a, 0x74, 0x30, 0x0c, 0x76, 0x4c, 0xd4, 0x50, 0x2a, 
+   0x40, 0x2d, 0x39, 0xd9, 0x99, 0x63, 0xa9, 0x5d, 0x80, 0xae, 0x53, 0xca, 0x94, 0x3f, 0x05, 0x23, 
+   0x1e, 0xf8, 0x05, 0x04, 0xe1, 0xb8, 0x35, 0xf2, 0x17, 0xb3, 0xa0, 0x89, 0x02, 0x41, 0x00, 0xab, 
+   0x90, 0x88, 0xfa, 0x60, 0x08, 0x29, 0x50, 0x9a, 0x43, 0x8b, 0xa0, 0x50, 0xcc, 0xd8, 0x5a, 0xfe, 
+   0x97, 0x64, 0x63, 0x71, 0x74, 0x22, 0xa3, 0x20, 0x02, 0x5a, 0xcf, 0xeb, 0xc6, 0x16, 0x95, 0x54, 
+   0xd1, 0xcb, 0xab, 0x8d, 0x1a, 0xc6, 0x00, 0xfa, 0x08, 0x92, 0x9c, 0x71, 0xd5, 0x52, 0x52, 0x35, 
+   0x96, 0x71, 0x4b, 0x8b, 0x92, 0x0c, 0xd0, 0xe9, 0xbf, 0xad, 0x63, 0x0b, 0xa5, 0xe9, 0xb1, 0x02, 
+   0x41, 0x00, 0xdc, 0xcc, 0x27, 0xc8, 0xe4, 0xdc, 0x62, 0x48, 0xd5, 0x9b, 0xaf, 0xf5, 0xab, 0x60, 
+   0xf6, 0x21, 0xfd, 0x53, 0xe2, 0xb7, 0x5d, 0x09, 0xc9, 0x1a, 0xa1, 0x04, 0xa9, 0xfc, 0x61, 0x2c, 
+   0x5d, 0x04, 0x58, 0x3a, 0x5a, 0x39, 0xf1, 0x4a, 0x21, 0x56, 0x67, 0xfd, 0xcc, 0x20, 0xa3, 0x8f, 
+   0x78, 0x18, 0x5a, 0x79, 0x3d, 0x2e, 0x8e, 0x7e, 0x86, 0x0a, 0xe6, 0xa8, 0x33, 0xc1, 0x04, 0x17, 
+   0x4a, 0x9f,  };
+
+
+/*** NOTE:  OpenSSL seems to have more to their public key format.  I've stripped the extra headers... */
+static const unsigned char openssl_public_rsa[] = {
+   0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xcf, 0x9a, 0xde, 
+   0x64, 0x8a, 0xda, 0xc8, 0x33, 0x20, 0xa9, 0xd7, 0x83, 0x31, 0x19, 0x54, 0xb2, 0x9a, 0x85, 0xa7, 
+   0xa1, 0xb7, 0x75, 0x33, 0xb6, 0xa9, 0xac, 0x84, 0x24, 0xb3, 0xde, 0xdb, 0x7d, 0x85, 0x2d, 0x96, 
+   0x65, 0xe5, 0x3f, 0x72, 0x95, 0x24, 0x9f, 0x28, 0x68, 0xca, 0x4f, 0xdb, 0x44, 0x1c, 0x3e, 0x60, 
+   0x12, 0x8a, 0xdd, 0x26, 0xa5, 0xeb, 0xff, 0x0b, 0x5e, 0xd4, 0x88, 0x38, 0x49, 0x2a, 0x6e, 0x5b, 
+   0xbf, 0x12, 0x37, 0x47, 0xbd, 0x05, 0x6b, 0xbc, 0xdb, 0xf3, 0xee, 0xe4, 0x11, 0x8e, 0x41, 0x68, 
+   0x7c, 0x61, 0x13, 0xd7, 0x42, 0xc8, 0x80, 0xbe, 0x36, 0x8f, 0xdc, 0x08, 0x8b, 0x4f, 0xac, 0xa4, 
+   0xe2, 0x76, 0x0c, 0xc9, 0x63, 0x6c, 0x49, 0x58, 0x93, 0xed, 0xcc, 0xaa, 0xdc, 0x25, 0x3b, 0x0a, 
+   0x60, 0x3f, 0x8b, 0x54, 0x3a, 0xc3, 0x4d, 0x31, 0xe7, 0x94, 0xa4, 0x44, 0xfd, 0x02, 0x03, 0x01, 
+   0x00, 0x01,  };
+
+static int rsa_compat_test(void)
+{
+   rsa_key key;
+   unsigned char buf[1024];
+   unsigned long len;
+
+   /* try reading the key */
+   DO(rsa_import(openssl_private_rsa, sizeof(openssl_private_rsa), &key));
+
+   /* now try to export private/public and compare */
+   len = sizeof(buf);
+   DO(rsa_export(buf, &len, PK_PRIVATE, &key));
+   if (len != sizeof(openssl_private_rsa) || memcmp(buf, openssl_private_rsa, len)) {
+      fprintf(stderr, "RSA private export failed to match OpenSSL output, %lu, %lu\n", len, sizeof(openssl_private_rsa));
+
+
+{
+int x;
+printf("\n\n");
+for (x = 0; x < len; ) { if (buf[x] == openssl_private_rsa[x]) printf("-- "); else printf("%02x ", buf[x]^openssl_private_rsa[x]); if (!(++x & 15)) printf("\n"); }
+}
+printf("\n\n");
+
+      return 1;
+   }
+
+   len = sizeof(buf);
+   DO(rsa_export(buf, &len, PK_PUBLIC, &key));
+   if (len != sizeof(openssl_public_rsa) || memcmp(buf, openssl_public_rsa, len)) {
+      fprintf(stderr, "RSA(private) public export failed to match OpenSSL output\n");
+      return 1;
+   }
+   rsa_free(&key);
+
+   /* try reading the public key */
+   DO(rsa_import(openssl_public_rsa, sizeof(openssl_public_rsa), &key));
+   len = sizeof(buf);
+   DO(rsa_export(buf, &len, PK_PUBLIC, &key));
+   if (len != sizeof(openssl_public_rsa) || memcmp(buf, openssl_public_rsa, len)) {
+      fprintf(stderr, "RSA(public) public export failed to match OpenSSL output\n");
+      return 1;
+   }
+   rsa_free(&key);
+
+   return 0;
+}   
+
 int rsa_test(void)
 {
    unsigned char in[1024], out[1024], tmp[1024];
    rsa_key       key, privKey, pubKey;
-   int           hash_idx, prng_idx, stat, stat2, cnt;
-   unsigned long rsa_msgsize, len, len2;
+   int           hash_idx, prng_idx, stat, stat2;
+   unsigned long rsa_msgsize, len, len2, cnt;
    static unsigned char lparam[] = { 0x01, 0x02, 0x03, 0x04 };
+
+   if (rsa_compat_test() != 0) {
+      return 1;
+   }
       
    hash_idx = find_hash("sha1");
    prng_idx = find_prng("yarrow");
    if (hash_idx == -1 || prng_idx == -1) {
-      printf("rsa_test requires SHA1 and yarrow");
+      fprintf(stderr, "rsa_test requires SHA1 and yarrow");
       return 1;
    }
    
@@ -23,32 +130,32 @@ int rsa_test(void)
    for (cnt = 0; cnt < 10; cnt++) {
       DO(rsa_make_key(&yarrow_prng, prng_idx, 1024/8, 65537, &key));
       if (mp_count_bits(&key.N) != 1024) {
-         printf("rsa_1024 key modulus has %d bits\n", mp_count_bits(&key.N));
+         fprintf(stderr, "rsa_1024 key modulus has %d bits\n", mp_count_bits(&key.N));
 
 len = mp_unsigned_bin_size(&key.N);
 mp_to_unsigned_bin(&key.N, tmp);
-printf("N == \n");
+ fprintf(stderr, "N == \n");
 for (cnt = 0; cnt < len; ) {
-   printf("%02x ", tmp[cnt]);
-   if (!(++cnt & 15)) printf("\n");
+   fprintf(stderr, "%02x ", tmp[cnt]);
+   if (!(++cnt & 15)) fprintf(stderr, "\n");
 }
 
 len = mp_unsigned_bin_size(&key.p);
 mp_to_unsigned_bin(&key.p, tmp);
-printf("p == \n");
+ fprintf(stderr, "p == \n");
 for (cnt = 0; cnt < len; ) {
-   printf("%02x ", tmp[cnt]);
-   if (!(++cnt & 15)) printf("\n");
+   fprintf(stderr, "%02x ", tmp[cnt]);
+   if (!(++cnt & 15)) fprintf(stderr, "\n");
 }
 
 len = mp_unsigned_bin_size(&key.q);
 mp_to_unsigned_bin(&key.q, tmp);
-printf("\nq == \n");
+ fprintf(stderr, "\nq == \n");
 for (cnt = 0; cnt < len; ) {
-   printf("%02x ", tmp[cnt]);
-   if (!(++cnt & 15)) printf("\n");
+   fprintf(stderr, "%02x ", tmp[cnt]);
+   if (!(++cnt & 15)) fprintf(stderr, "\n");
 }
-printf("\n");
+ fprintf(stderr, "\n");
 
 
          return 1;
@@ -57,38 +164,7 @@ printf("\n");
          rsa_free(&key);
       }
    }
-   
-   /* test PKCS #1 v1.5 */
-   for (cnt = 0; cnt < 4; cnt++) {
-   for (rsa_msgsize = 1; rsa_msgsize <= 117; rsa_msgsize++) {
-      /* make a random key/msg */
-      yarrow_read(in, rsa_msgsize, &yarrow_prng);
-
-      len  = sizeof(out);
-      len2 = rsa_msgsize;
-
-      /* encrypt */
-      DO(rsa_v15_encrypt_key(in, rsa_msgsize, out, &len, &yarrow_prng, prng_idx, &key));
-      DO(rsa_v15_decrypt_key(out, len, tmp, rsa_msgsize, &stat, &key));
-      if (stat != 1 || memcmp(tmp, in, rsa_msgsize)) {
-         printf("PKCS #1 v1.5 encrypt/decrypt failure (rsa_msgsize: %lu, stat: %d)\n", rsa_msgsize, stat);
-         return 1;
-      }
-   }
-   }
-
-   /* signature */
-   len = sizeof(out);
-   DO(rsa_v15_sign_hash(in, 20, out, &len, hash_idx, &key));
-   in[1] ^= 1;
-   DO(rsa_v15_verify_hash(out, len, in, 20, hash_idx, &stat, &key));
-   in[1] ^= 1;
-   DO(rsa_v15_verify_hash(out, len, in, 20, hash_idx, &stat2, &key));
-   if (!(stat == 0 && stat2 == 1)) {
-      printf("PKCS #1 v1.5 sign/verify failure (stat %d, stat2 %d)\n", stat, stat2);
-      return 1;
-   }
-   
+    
    /* encrypt the key (without lparam) */
    for (cnt = 0; cnt < 4; cnt++) {
    for (rsa_msgsize = 1; rsa_msgsize <= 86; rsa_msgsize++) {
@@ -105,35 +181,35 @@ printf("\n");
       /* change a byte back */
       out[8] ^= 1;
       if (len2 != rsa_msgsize) {
-         printf("\nrsa_decrypt_key mismatch len %lu (first decrypt)", len2);
+         fprintf(stderr, "\nrsa_decrypt_key mismatch len %lu (first decrypt)", len2);
          return 1;
       }
 
       len2 = rsa_msgsize;
       DO(rsa_decrypt_key(out, len, tmp, &len2, NULL, 0, hash_idx, &stat, &key));
       if (!(stat == 1 && stat2 == 0)) {
-         printf("rsa_decrypt_key failed");
+         fprintf(stderr, "rsa_decrypt_key failed");
          return 1;
       }
       if (len2 != rsa_msgsize || memcmp(tmp, in, rsa_msgsize)) {
          unsigned long x;
-         printf("\nrsa_decrypt_key mismatch, len %lu (second decrypt)\n", len2);
-         printf("Original contents: \n"); 
+         fprintf(stderr, "\nrsa_decrypt_key mismatch, len %lu (second decrypt)\n", len2);
+         fprintf(stderr, "Original contents: \n"); 
          for (x = 0; x < rsa_msgsize; ) {
-             printf("%02x ", in[x]);
+             fprintf(stderr, "%02x ", in[x]);
              if (!(++x % 16)) {
-                printf("\n");
+                fprintf(stderr, "\n");
              }
          }
-         printf("\n");
-         printf("Output contents: \n"); 
+         fprintf(stderr, "\n");
+         fprintf(stderr, "Output contents: \n"); 
          for (x = 0; x < rsa_msgsize; ) {
-             printf("%02x ", out[x]);
+             fprintf(stderr, "%02x ", out[x]);
              if (!(++x % 16)) {
-                printf("\n");
+                fprintf(stderr, "\n");
              }
          }     
-         printf("\n");
+         fprintf(stderr, "\n");
          return 1;
       }
    }
@@ -148,7 +224,7 @@ printf("\n");
       out[8] ^= 1;
       DO(rsa_decrypt_key(out, len, tmp, &len2, lparam, sizeof(lparam), hash_idx, &stat2, &key));
       if (len2 != rsa_msgsize) {
-         printf("\nrsa_decrypt_key mismatch len %lu (first decrypt)", len2);
+         fprintf(stderr, "\nrsa_decrypt_key mismatch len %lu (first decrypt)", len2);
          return 1;
       }
       /* change a byte back */
@@ -157,11 +233,11 @@ printf("\n");
       len2 = rsa_msgsize;
       DO(rsa_decrypt_key(out, len, tmp, &len2, lparam, sizeof(lparam), hash_idx, &stat, &key));
       if (!(stat == 1 && stat2 == 0)) {
-         printf("rsa_decrypt_key failed");
+         fprintf(stderr, "rsa_decrypt_key failed");
          return 1;
       }
       if (len2 != rsa_msgsize || memcmp(tmp, in, rsa_msgsize)) {
-         printf("rsa_decrypt_key mismatch len %lu", len2);
+         fprintf(stderr, "rsa_decrypt_key mismatch len %lu", len2);
          return 1;
       }
    }
@@ -185,7 +261,7 @@ printf("\n");
    DO(rsa_verify_hash(out, len, in, 20, hash_idx, 0, &stat2, &key));
    
    if (!(stat == 1 && stat2 == 0)) {
-      printf("rsa_verify_hash (unsalted, origKey) failed, %d, %d", stat, stat2);
+      fprintf(stderr, "rsa_verify_hash (unsalted, origKey) failed, %d, %d", stat, stat2);
       rsa_free(&key);
       rsa_free(&pubKey);
       rsa_free(&privKey);
@@ -201,7 +277,7 @@ printf("\n");
    DO(rsa_verify_hash(out, len, in, 20, hash_idx, 0, &stat2, &privKey));
    
    if (!(stat == 1 && stat2 == 0)) {
-      printf("rsa_verify_hash (unsalted, privKey) failed, %d, %d", stat, stat2);
+      fprintf(stderr, "rsa_verify_hash (unsalted, privKey) failed, %d, %d", stat, stat2);
       rsa_free(&key);
       rsa_free(&pubKey);
       rsa_free(&privKey);
@@ -217,7 +293,7 @@ printf("\n");
    DO(rsa_verify_hash(out, len, in, 20, hash_idx, 0, &stat2, &pubKey));
    
    if (!(stat == 1 && stat2 == 0)) {
-      printf("rsa_verify_hash (unsalted, pubkey) failed, %d, %d", stat, stat2);
+      fprintf(stderr, "rsa_verify_hash (unsalted, pubkey) failed, %d, %d", stat, stat2);
       rsa_free(&key);
       rsa_free(&pubKey);
       rsa_free(&privKey);
@@ -233,7 +309,7 @@ printf("\n");
    DO(rsa_verify_hash(out, len, in, 20, hash_idx, 8, &stat2, &pubKey));
    
    if (!(stat == 1 && stat2 == 0)) {
-      printf("rsa_verify_hash (salted) failed, %d, %d", stat, stat2);
+      fprintf(stderr, "rsa_verify_hash (salted) failed, %d, %d", stat, stat2);
       rsa_free(&key);
       rsa_free(&pubKey);
       rsa_free(&privKey);
@@ -251,8 +327,12 @@ printf("\n");
 
 int rsa_test(void)
 {
-   printf("NOP");
+   fprintf(stderr, "NOP");
    return 0;
 }
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/testprof/rsa_test.c,v $ */
+/* $Revision: 1.10 $ */
+/* $Date: 2005/06/03 19:18:33 $ */
diff --git a/testprof/store_test.c b/testprof/store_test.c
index 41b2f927..5a38d650 100644
--- a/testprof/store_test.c
+++ b/testprof/store_test.c
@@ -3,13 +3,17 @@
 /* Test store/load macros with offsets */
 int store_test(void)
 {
-  unsigned char buf[24];
+  unsigned char buf[256];
   int y;
   ulong32 L, L1;
   ulong64 LL, LL1;
+#ifdef LTC_FAST
+  int x, z;
+#endif
 
-  L = 0x12345678UL;
   for (y = 0; y < 4; y++) {
+      L  = 0x12345678UL;
+      L1 = 0;
       STORE32L(L, buf + y);
       LOAD32L(L1, buf + y);
       if (L1 != L) {
@@ -24,8 +28,9 @@ int store_test(void)
       }
   }
 
-  LL = CONST64 (0x01020304050607);
   for (y = 0; y < 8; y++) {
+      LL = CONST64 (0x01020304050607);
+      LL1 = 0;
       STORE64L(LL, buf + y);
       LOAD64L(LL1, buf + y);
       if (LL1 != LL) {
@@ -40,5 +45,34 @@ int store_test(void)
       }
   }
 
+/* test LTC_FAST */
+#ifdef LTC_FAST
+  y = 16;
+
+  for (z = 0; z < y; z++) {
+     /* fill y bytes with random */
+     yarrow_read(buf+z,   y, &yarrow_prng);
+     yarrow_read(buf+z+y, y, &yarrow_prng);
+
+     /* now XOR it byte for byte */
+     for (x = 0; x < y; x++) {
+         buf[2*y+z+x] = buf[z+x] ^ buf[z+y+x];
+     }
+
+     /* now XOR it word for word */
+     for (x = 0; x < y; x += sizeof(LTC_FAST_TYPE)) {
+        *((LTC_FAST_TYPE*)(&buf[3*y+z+x])) = *((LTC_FAST_TYPE*)(&buf[z+x])) ^ *((LTC_FAST_TYPE*)(&buf[z+y+x]));
+     }
+
+     if (memcmp(&buf[2*y+z], &buf[3*y+z], y)) {
+        fprintf(stderr, "\nLTC_FAST failed at offset %d\n", z);
+        return 1;
+     }
+  }
+#endif
   return 0;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/testprof/store_test.c,v $ */
+/* $Revision: 1.6 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/testprof/test.c b/testprof/test.c
index 9f6df715..5a384213 100644
--- a/testprof/test.c
+++ b/testprof/test.c
@@ -7,3 +7,7 @@ void run_cmd(int res, int line, char *file, char *cmd)
       exit(EXIT_FAILURE);
    }
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/testprof/test.c,v $ */
+/* $Revision: 1.6 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/testprof/test.key b/testprof/test.key
new file mode 100644
index 00000000..e4996c35
--- /dev/null
+++ b/testprof/test.key
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXgIBAAKBgQDPmt5kitrIMyCp14MxGVSymoWnobd1M7aprIQks97bfYUtlmXl
+P3KVJJ8oaMpP20QcPmASit0mpev/C17UiDhJKm5bvxI3R70Fa7zb8+7kEY5BaHxh
+E9dCyIC+No/cCItPrKTidgzJY2xJWJPtzKrcJTsKYD+LVDrDTTHnlKRE/QIDAQAB
+AoGBAMhiuereRFMdVpfZl54azzAeCohFhikwo02fYWVz4NaHj7bzBqOC3Hys/pso
+mq79+/4vDtiXBOO7H9HsDbqjSX9HrIpEBH6GtzlCP60etw6lUfRAYx79veqfQZ+o
+kB1vClqVExENgK9fZJiKLHhoZbAri6JTh8rxZASr8nvbg8iBAkEA975eI8MyP7+L
+jjru/PzL5ffxC7xCgq7Vej7K99VpP2Qloh+3dXUFkkLruPHzCgXjlNFVeDWgNqCb
+fJKEbN3cTQJBANaGDoVCCwQIhCFg8A4NiP0eNhBlTx5TtAhygFw/WWYX5pjy6Wx6
+Bkysdj3tjKHOrRu9tH0ovOMOOI2Z2AW1o3ECQG3rwy0u8F6kiDEFKQCK0ZUpm4PP
+ddsx43on3jp0MAx2TNRQKkAtOdmZY6ldgK5TypQ/BSMe+AUE4bg18hezoIkCQQCr
+kIj6YAgpUJpDi6BQzNha/pdkY3F0IqMgAlrP68YWlVTRy6uNGsYA+giSnHHVUlI1
+lnFLi5IM0Om/rWMLpemxAkEA3MwnyOTcYkjVm6/1q2D2If1T4rddCckaoQSp/GEs
+XQRYOlo58UohVmf9zCCjj3gYWnk9Lo5+hgrmqDPBBBdKnw==
+-----END RSA PRIVATE KEY-----
diff --git a/testprof/tomcrypt_test.h b/testprof/tomcrypt_test.h
index fc284304..2c66bad9 100644
--- a/testprof/tomcrypt_test.h
+++ b/testprof/tomcrypt_test.h
@@ -71,3 +71,7 @@ void time_encmacs(void);
 
 
 #endif
+
+/* $Source: /cvs/libtom/libtomcrypt/testprof/tomcrypt_test.h,v $ */
+/* $Revision: 1.8 $ */
+/* $Date: 2005/05/05 14:35:59 $ */
diff --git a/testprof/x86_prof.c b/testprof/x86_prof.c
index bcc25f47..997180c8 100644
--- a/testprof/x86_prof.c
+++ b/testprof/x86_prof.c
@@ -21,10 +21,10 @@ void tally_results(int type)
    // qsort the results
    qsort(results, no_results, sizeof(struct list), &sorter);
 
-   printf("\n");
+   fprintf(stderr, "\n");
    if (type == 0) {
       for (x = 0; x < no_results; x++) {
-         printf("%-20s: Schedule at %6lu\n", cipher_descriptor[results[x].id].name, (unsigned long)results[x].spd1);
+         fprintf(stderr, "%-20s: Schedule at %6lu\n", cipher_descriptor[results[x].id].name, (unsigned long)results[x].spd1);
       } 
    } else if (type == 1) {
       for (x = 0; x < no_results; x++) {
@@ -42,7 +42,7 @@ void tally_results(int type)
 /* RDTSC from Scott Duplichan */
 ulong64 rdtsc (void)
    {
-   #if defined __GNUC__
+   #if defined __GNUC__ && !defined(LTC_NO_ASM)
       #ifdef INTEL_CC
 			ulong64 a;
 			asm ( " rdtsc ":"=A"(a));
@@ -62,11 +62,11 @@ ulong64 rdtsc (void)
       #endif
 
    // Microsoft and Intel Windows compilers
-   #elif defined _M_IX86
+   #elif defined _M_IX86 && !defined(LTC_NO_ASM)
      __asm rdtsc
-   #elif defined _M_AMD64
+   #elif defined _M_AMD64 && !defined(LTC_NO_ASM)
      return __rdtsc ();
-   #elif defined _M_IA64
+   #elif defined _M_IA64 && !defined(LTC_NO_ASM)
      #if defined __INTEL_COMPILER
        #include <ia64intrin.h>
      #endif
@@ -104,7 +104,7 @@ void init_timer(void)
       c2 = (t2 > c2) ? t2 : c2;
    }
    skew = c2 - c1;
-   printf("Clock Skew: %lu\n", (unsigned long)skew);
+   fprintf(stderr, "Clock Skew: %lu\n", (unsigned long)skew);
 }
 
 void reg_algs(void)
@@ -199,7 +199,7 @@ void reg_algs(void)
 #ifdef CHC_HASH
   register_hash(&chc_desc);
   if ((err = chc_register(register_cipher(&aes_desc))) != CRYPT_OK) {
-     printf("chc_register error: %s\n", error_to_string(err));
+     fprintf(stderr, "chc_register error: %s\n", error_to_string(err));
      exit(EXIT_FAILURE);
   }
 #endif
@@ -231,7 +231,7 @@ int time_keysched(void)
   int    (*func) (const unsigned char *, int , int , symmetric_key *);
   unsigned char key[MAXBLOCKSIZE];
 
-  printf ("\n\nKey Schedule Time Trials for the Symmetric Ciphers:\n(Times are cycles per key)\n");
+  fprintf(stderr, "\n\nKey Schedule Time Trials for the Symmetric Ciphers:\n(Times are cycles per key)\n");
   no_results = 0; 
  for (x = 0; cipher_descriptor[x].name != NULL; x++) {
 #define DO1(k)   func(k, kl, 0, &skey);
@@ -249,7 +249,7 @@ int time_keysched(void)
     t1 = c1 - skew;
     results[no_results].spd1 = results[no_results].avg = t1;
     results[no_results++].id = x;
-    printf("."); fflush(stdout);
+    fprintf(stderr, "."); fflush(stdout);
 
 #undef DO1
    }
@@ -266,7 +266,7 @@ int time_cipher(void)
   unsigned char key[MAXBLOCKSIZE], pt[4096];
   int err;
 
-  printf ("\n\nECB Time Trials for the Symmetric Ciphers:\n");
+  fprintf(stderr, "\n\nECB Time Trials for the Symmetric Ciphers:\n");
   no_results = 0;
   for (x = 0; cipher_descriptor[x].name != NULL; x++) {
     ecb_start(x, key, cipher_descriptor[x].min_key_length, 0, &ecb);
@@ -318,7 +318,7 @@ int time_cipher(void)
     results[no_results].spd2 = a2/(sizeof(pt)/cipher_descriptor[x].block_length);
     results[no_results].avg = (results[no_results].spd1 + results[no_results].spd2+1)/2;
     ++no_results;
-    printf("."); fflush(stdout);
+    fprintf(stderr, "."); fflush(stdout);
     
 #undef DO2
 #undef DO1
@@ -337,7 +337,7 @@ int time_cipher2(void)
   unsigned char key[MAXBLOCKSIZE], pt[4096];
   int err;
 
-  printf ("\n\nCBC Time Trials for the Symmetric Ciphers:\n");
+  fprintf(stderr, "\n\nCBC Time Trials for the Symmetric Ciphers:\n");
   no_results = 0;
   for (x = 0; cipher_descriptor[x].name != NULL; x++) {
     cbc_start(x, pt, key, cipher_descriptor[x].min_key_length, 0, &cbc);
@@ -389,7 +389,7 @@ int time_cipher2(void)
     results[no_results].spd2 = a2/(sizeof(pt)/cipher_descriptor[x].block_length);
     results[no_results].avg = (results[no_results].spd1 + results[no_results].spd2+1)/2;
     ++no_results;
-    printf("."); fflush(stdout);
+    fprintf(stderr, "."); fflush(stdout);
     
 #undef DO2
 #undef DO1
@@ -399,7 +399,7 @@ int time_cipher2(void)
    return 0;
 }
 #else
-int time_cipher2(void) { printf("NO CBC\n"); return 0; }
+int time_cipher2(void) { fprintf(stderr, "NO CBC\n"); return 0; }
 #endif
 
 #ifdef CTR
@@ -411,10 +411,10 @@ int time_cipher3(void)
   unsigned char key[MAXBLOCKSIZE], pt[4096];
   int err;
 
-  printf ("\n\nCTR Time Trials for the Symmetric Ciphers:\n");
+  fprintf(stderr, "\n\nCTR Time Trials for the Symmetric Ciphers:\n");
   no_results = 0;
   for (x = 0; cipher_descriptor[x].name != NULL; x++) {
-    ctr_start(x, pt, key, cipher_descriptor[x].min_key_length, 0, &ctr);
+    ctr_start(x, pt, key, cipher_descriptor[x].min_key_length, 0, CTR_COUNTER_LITTLE_ENDIAN, &ctr);
 
     /* sanity check on cipher */
     if ((err = cipher_descriptor[x].test()) != CRYPT_OK) {
@@ -463,7 +463,7 @@ int time_cipher3(void)
     results[no_results].spd2 = a2/(sizeof(pt)/cipher_descriptor[x].block_length);
     results[no_results].avg = (results[no_results].spd1 + results[no_results].spd2+1)/2;
     ++no_results;
-    printf("."); fflush(stdout);
+    fprintf(stderr, "."); fflush(stdout);
     
 #undef DO2
 #undef DO1
@@ -473,7 +473,7 @@ int time_cipher3(void)
    return 0;
 }
 #else
-int time_cipher3(void) { printf("NO CTR\n"); return 0; }
+int time_cipher3(void) { fprintf(stderr, "NO CTR\n"); return 0; }
 #endif
 
 int time_hash(void)
@@ -485,7 +485,7 @@ int time_hash(void)
   unsigned char pt[MAXBLOCKSIZE];
 
 
-  printf ("\n\nHASH Time Trials for:\n");
+  fprintf(stderr, "\n\nHASH Time Trials for:\n");
   no_results = 0;
   for (x = 0; hash_descriptor[x].name != NULL; x++) {
 
@@ -518,7 +518,7 @@ int time_hash(void)
     results[no_results].id = x;
     results[no_results].spd1 = results[no_results].avg = t1;
     ++no_results;
-    printf("."); fflush(stdout);
+    fprintf(stderr, "."); fflush(stdout);
 #undef DO2
 #undef DO1
    }
@@ -534,7 +534,7 @@ void time_mult(void)
    unsigned long x, y;
    mp_int  a, b, c;
 
-   printf("Timing Multiplying:\n");
+   fprintf(stderr, "Timing Multiplying:\n");
    mp_init_multi(&a,&b,&c,NULL);
    for (x = 128/DIGIT_BIT; x <= 1536/DIGIT_BIT; x += 128/DIGIT_BIT) {
        mp_rand(&a, x);
@@ -551,7 +551,7 @@ void time_mult(void)
            t1 = (t_read() - t1)>>1;
            if (t1 < t2) t2 = t1;
        }
-       printf("%4lu bits: %9llu cycles\n", x*DIGIT_BIT, t2);
+       fprintf(stderr, "%4lu bits: %9llu cycles\n", x*DIGIT_BIT, t2);
    }
    mp_clear_multi(&a,&b,&c,NULL);
 
@@ -565,7 +565,7 @@ void time_sqr(void)
    unsigned long x, y;
    mp_int  a, b;
 
-   printf("Timing Squaring:\n");
+   fprintf(stderr, "Timing Squaring:\n");
    mp_init_multi(&a,&b,NULL);
    for (x = 128/DIGIT_BIT; x <= 1536/DIGIT_BIT; x += 128/DIGIT_BIT) {
        mp_rand(&a, x);
@@ -581,7 +581,7 @@ void time_sqr(void)
            t1 = (t_read() - t1)>>1;
            if (t1 < t2) t2 = t1;
        }
-       printf("%4lu bits: %9llu cycles\n", x*DIGIT_BIT, t2);
+       fprintf(stderr, "%4lu bits: %9llu cycles\n", x*DIGIT_BIT, t2);
    }
    mp_clear_multi(&a,&b,NULL);
 
@@ -589,8 +589,8 @@ void time_sqr(void)
 #undef DO2
 }
 #else
-void time_mult(void) { printf("NO MULT\n"); }
-void time_sqr(void) { printf("NO SQR\n"); }
+void time_mult(void) { fprintf(stderr, "NO MULT\n"); }
+void time_sqr(void) { fprintf(stderr, "NO SQR\n"); }
 #endif
    
 void time_prng(void)
@@ -601,7 +601,7 @@ void time_prng(void)
    unsigned long x, y;
    int           err;
 
-   printf("Timing PRNGs (cycles/byte output, cycles add_entropy (32 bytes) :\n");
+   fprintf(stderr, "Timing PRNGs (cycles/byte output, cycles add_entropy (32 bytes) :\n");
    for (x = 0; prng_descriptor[x].name != NULL; x++) {
 
       /* sanity check on prng */
@@ -616,7 +616,7 @@ void time_prng(void)
       prng_descriptor[x].ready(&tprng);
       t2 = -1;
 
-#define DO1 if (prng_descriptor[x].read(buf, 4096, &tprng) != 4096) { printf("\n\nERROR READ != 4096\n\n"); exit(EXIT_FAILURE); }
+#define DO1 if (prng_descriptor[x].read(buf, 4096, &tprng) != 4096) { fprintf(stderr, "\n\nERROR READ != 4096\n\n"); exit(EXIT_FAILURE); }
 #define DO2 DO1 DO1
       for (y = 0; y < 10000; y++) {
          t_start();
@@ -625,7 +625,7 @@ void time_prng(void)
          t1 = (t_read() - t1)>>1;
          if (t1 < t2) t2 = t1;
       }
-      printf("%20s: %5llu ", prng_descriptor[x].name, t2>>12);
+      fprintf(stderr, "%20s: %5llu ", prng_descriptor[x].name, t2>>12);
 #undef DO2
 #undef DO1
 
@@ -638,7 +638,7 @@ void time_prng(void)
          t1 = (t_read() - t1)>>1;
          if (t1 < t2) t2 = t1;
       }
-      printf("%5llu\n", t2);
+      fprintf(stderr, "%5llu\n", t2);
 #undef DO2
 #undef DO1
 
@@ -672,7 +672,7 @@ void time_rsa(void)
            }
        }
        t2 >>= 4;
-       printf("RSA-%lu make_key    took %15llu cycles\n", x, t2);
+       fprintf(stderr, "RSA-%lu make_key    took %15llu cycles\n", x, t2);
 
        t2 = 0;
        for (y = 0; y < 16; y++) {
@@ -689,7 +689,7 @@ void time_rsa(void)
            t2 += t1;
        }
        t2 >>= 4;
-       printf("RSA-%lu encrypt_key took %15llu cycles\n", x, t2);
+       fprintf(stderr, "RSA-%lu encrypt_key took %15llu cycles\n", x, t2);
 
        t2 = 0;
        for (y = 0; y < 16; y++) {
@@ -705,14 +705,14 @@ void time_rsa(void)
            t2 += t1;
        }
        t2 >>= 4;
-       printf("RSA-%lu decrypt_key took %15llu cycles\n", x, t2);
+       fprintf(stderr, "RSA-%lu decrypt_key took %15llu cycles\n", x, t2);
 
 
        rsa_free(&key);
   }
 }
 #else
-void time_rsa(void) { printf("NO RSA\n"); }
+void time_rsa(void) { fprintf(stderr, "NO RSA\n"); }
 #endif
 
 #ifdef MECC
@@ -724,7 +724,7 @@ void time_ecc(void)
    unsigned char buf[2][4096];
    unsigned long i, x, y, z;
    int           err;
-   static unsigned long sizes[] = {160/8, 256/8, 521/8, 100000};
+   static unsigned long sizes[] = {192/8, 256/8, 384/8, 521/8, 100000};
 
    for (x = sizes[i=0]; x < 100000; x = sizes[++i]) {
        t2 = 0;
@@ -743,7 +743,7 @@ void time_ecc(void)
            }
        }
        t2 >>= 4;
-       printf("ECC-%lu make_key    took %15llu cycles\n", x*8, t2);
+       fprintf(stderr, "ECC-%lu make_key    took %15llu cycles\n", x*8, t2);
 
        t2 = 0;
        for (y = 0; y < 16; y++) {
@@ -759,12 +759,12 @@ void time_ecc(void)
            t2 += t1;
        }
        t2 >>= 4;
-       printf("ECC-%lu encrypt_key took %15llu cycles\n", x*8, t2);
+       fprintf(stderr, "ECC-%lu encrypt_key took %15llu cycles\n", x*8, t2);
        ecc_free(&key);
   }
 }
 #else
-void time_ecc(void) { printf("NO ECC\n"); }
+void time_ecc(void) { fprintf(stderr, "NO ECC\n"); }
 #endif
 
 #ifdef MDH
@@ -795,7 +795,7 @@ void time_dh(void)
            }
        }
        t2 >>= 4;
-       printf("DH-%4lu make_key    took %15llu cycles\n", x*8, t2);
+       fprintf(stderr, "DH-%4lu make_key    took %15llu cycles\n", x*8, t2);
 
        t2 = 0;
        for (y = 0; y < 16; y++) {
@@ -811,12 +811,12 @@ void time_dh(void)
            t2 += t1;
        }
        t2 >>= 4;
-       printf("DH-%4lu encrypt_key took %15llu cycles\n", x*8, t2);
+       fprintf(stderr, "DH-%4lu encrypt_key took %15llu cycles\n", x*8, t2);
        dh_free(&key);
   }
 }
 #else
-void time_dh(void) { printf("NO DH\n"); }
+void time_dh(void) { fprintf(stderr, "NO DH\n"); }
 #endif
 
 void time_macs_(unsigned long MAC_SIZE)
@@ -826,7 +826,7 @@ void time_macs_(unsigned long MAC_SIZE)
    unsigned long x, z;
    int err, cipher_idx, hash_idx;
 
-   printf("\nMAC Timings (cycles/byte on %dKB blocks):\n", MAC_SIZE);
+   fprintf(stderr, "\nMAC Timings (cycles/byte on %luKB blocks):\n", MAC_SIZE);
 
    buf = XMALLOC(MAC_SIZE*1024);
    if (buf == NULL) {
@@ -853,7 +853,7 @@ void time_macs_(unsigned long MAC_SIZE)
         t1 = t_read() - t1;
         if (t1 < t2) t2 = t1;
    }
-   printf("OMAC-AES\t\t%9llu\n", t2/(MAC_SIZE*1024));
+   fprintf(stderr, "OMAC-AES\t\t%9llu\n", t2/(ulong64)(MAC_SIZE*1024));
 #endif
 
 #ifdef PMAC
@@ -869,7 +869,7 @@ void time_macs_(unsigned long MAC_SIZE)
         t1 = t_read() - t1;
         if (t1 < t2) t2 = t1;
    }
-   printf("PMAC-AES\t\t%9llu\n", t2/(MAC_SIZE*1024));
+   fprintf(stderr, "PMAC-AES\t\t%9llu\n", t2/(ulong64)(MAC_SIZE*1024));
 #endif
 
 #ifdef PELICAN
@@ -885,7 +885,7 @@ void time_macs_(unsigned long MAC_SIZE)
         t1 = t_read() - t1;
         if (t1 < t2) t2 = t1;
    }
-   printf("PELICAN \t\t%9llu\n", t2/(MAC_SIZE*1024));
+   fprintf(stderr, "PELICAN \t\t%9llu\n", t2/(ulong64)(MAC_SIZE*1024));
 #endif
 
 #ifdef HMAC
@@ -901,7 +901,7 @@ void time_macs_(unsigned long MAC_SIZE)
         t1 = t_read() - t1;
         if (t1 < t2) t2 = t1;
    }
-   printf("HMAC-MD5\t\t%9llu\n", t2/(MAC_SIZE*1024));
+   fprintf(stderr, "HMAC-MD5\t\t%9llu\n", t2/(ulong64)(MAC_SIZE*1024));
 #endif
 
    XFREE(buf);
@@ -921,7 +921,7 @@ void time_encmacs_(unsigned long MAC_SIZE)
    unsigned long x, z;
    int err, cipher_idx;
 
-   printf("\nENC+MAC Timings (zero byte AAD, 16 byte IV, cycles/byte on %dKB blocks):\n", MAC_SIZE);
+   fprintf(stderr, "\nENC+MAC Timings (zero byte AAD, 16 byte IV, cycles/byte on %luKB blocks):\n", MAC_SIZE);
 
    buf = XMALLOC(MAC_SIZE*1024);
    if (buf == NULL) {
@@ -948,7 +948,7 @@ void time_encmacs_(unsigned long MAC_SIZE)
         t1 = t_read() - t1;
         if (t1 < t2) t2 = t1;
    }
-   printf("EAX \t\t%9llu\n", t2/(MAC_SIZE*1024));
+   fprintf(stderr, "EAX \t\t%9llu\n", t2/(ulong64)(MAC_SIZE*1024));
 #endif
 
 #ifdef OCB_MODE
@@ -964,7 +964,7 @@ void time_encmacs_(unsigned long MAC_SIZE)
         t1 = t_read() - t1;
         if (t1 < t2) t2 = t1;
    }
-   printf("OCB \t\t%9llu\n", t2/(MAC_SIZE*1024));
+   fprintf(stderr, "OCB \t\t%9llu\n", t2/(ulong64)(MAC_SIZE*1024));
 #endif
 
 #ifdef CCM_MODE
@@ -980,7 +980,7 @@ void time_encmacs_(unsigned long MAC_SIZE)
         t1 = t_read() - t1;
         if (t1 < t2) t2 = t1;
    }
-   printf("CCM \t\t%9llu\n", t2/(MAC_SIZE*1024));
+   fprintf(stderr, "CCM \t\t%9llu\n", t2/(ulong64)(MAC_SIZE*1024));
 #endif
 
 #ifdef GCM_MODE
@@ -996,12 +996,12 @@ void time_encmacs_(unsigned long MAC_SIZE)
         t1 = t_read() - t1;
         if (t1 < t2) t2 = t1;
    }
-   printf("GCM (no-precomp)\t%9llu\n", t2/(MAC_SIZE*1024));
+   fprintf(stderr, "GCM (no-precomp)\t%9llu\n", t2/(ulong64)(MAC_SIZE*1024));
 
    {
    gcm_state gcm;
 
-   if ((err = gcm_init(&gcm, cipher_idx, key, 16)) != CRYPT_OK) { printf("gcm_init: %s\n", error_to_string(err)); exit(EXIT_FAILURE); }
+   if ((err = gcm_init(&gcm, cipher_idx, key, 16)) != CRYPT_OK) { fprintf(stderr, "gcm_init: %s\n", error_to_string(err)); exit(EXIT_FAILURE); }
    t2 = -1;
    for (x = 0; x < 10000; x++) {
         t_start();
@@ -1031,7 +1031,7 @@ void time_encmacs_(unsigned long MAC_SIZE)
         t1 = t_read() - t1;
         if (t1 < t2) t2 = t1;
    }
-   printf("GCM (precomp)\t%9llu\n", t2/(MAC_SIZE*1024));
+   fprintf(stderr, "GCM (precomp)\t%9llu\n", t2/(ulong64)(MAC_SIZE*1024));
    }
 
 #endif
@@ -1044,3 +1044,7 @@ void time_encmacs(void)
    time_encmacs_(4);
    time_encmacs_(32);
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/testprof/x86_prof.c,v $ */
+/* $Revision: 1.16 $ */
+/* $Date: 2005/06/14 20:44:23 $ */
-- 
GitLab