From 33defd1f9b6c4889fe5b075e6abb0b24c00f3a59 Mon Sep 17 00:00:00 2001
From: Matt Johnston <matt@ucc.asn.au>
Date: Wed, 8 Mar 2006 13:02:58 +0000
Subject: [PATCH] Just import the Dropbear 0.47 libtomcrypt changes

--HG--
branch : libtomcrypt-dropbear
extra : convert_revision : 20dccfc09627970a312d77fb41dc2970b62689c3
---
 makefile => Makefile.in       |   74 +-
 doc/crypt.pdf                 |  Bin 484454 -> 0 bytes
 src/ciphers/aes/aes.c         |    2 +
 src/ciphers/des.c             |   12 +
 src/ciphers/twofish/twofish.c |    2 +
 src/headers/tomcrypt.h        |    3 +-
 src/headers/tomcrypt_custom.h |  224 +-
 src/misc/crypt/crypt.c        |    2 +
 src/misc/mpi/mpi.c            | 9048 ---------------------------------
 9 files changed, 66 insertions(+), 9301 deletions(-)
 rename makefile => Makefile.in (75%)
 delete mode 100644 doc/crypt.pdf
 delete mode 100644 src/misc/mpi/mpi.c

diff --git a/makefile b/Makefile.in
similarity index 75%
rename from makefile
rename to Makefile.in
index fba5f73b..e1bee572 100644
--- a/makefile
+++ b/Makefile.in
@@ -6,6 +6,9 @@
 # The version
 VERSION=1.05
 
+VPATH=@srcdir@
+srcdir=@srcdir@
+
 # Compiler and Linker Names
 #CC=gcc
 #LD=ld
@@ -15,25 +18,22 @@ VERSION=1.05
 #ARFLAGS=r
 
 # Compilation flags. Note the += does not write over the user's CFLAGS!
-CFLAGS += -c -I./testprof/ -I./src/headers/ -Wall -Wsign-compare -W -Wshadow -Wno-unused-parameter
+# The rest of the flags come from the parent Dropbear makefile
+CFLAGS += -c -I$(srcdir)/src/headers/ -I$(srcdir)/../
 
 # additional warnings (newer GCC 3.4 and higher)
 #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
+#CFLAGS += -O3 -funroll-loops
 
 # add -fomit-frame-pointer.  hinders debugging!
-CFLAGS += -fomit-frame-pointer
+#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
@@ -77,9 +77,9 @@ 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
+#MPIOBJECT=src/misc/mpi/mpi.o
+#Dropbear uses libtommath
+MPIOBJECT=
 
 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 \
@@ -130,37 +130,7 @@ 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/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_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 
+src/modes/ofb/ofb_start.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 \
@@ -207,7 +177,7 @@ $(LIBTEST):
 
 $(LIBNAME): $(OBJECTS)
 	$(AR) $(ARFLAGS) $@ $(OBJECTS) 
-	ranlib $(LIBNAME)
+	$(RANLIB) $(LIBNAME)
 
 #This rule makes the hash program included with libtomcrypt
 hashsum: library $(HASHOBJECTS)
@@ -260,24 +230,8 @@ profile:
 #This rule cleans the source tree of all compiled code, not including the pdf
 #documentation.
 clean:
-	rm -f `find . -type f | grep "[.]o" | xargs`
-	rm -f `find . -type f | grep "[.]lo"  | xargs`
-	rm -f `find . -type f | grep "[.]a" | xargs`
-	rm -f `find . -type f | grep "[.]la"  | xargs`
-	rm -f `find . -type f | grep "[.]obj" | xargs`
-	rm -f `find . -type f | grep "[.]lib" | xargs`
-	rm -f `find . -type f | grep "[.]exe" | xargs`
-	rm -f `find . -type f | grep "[.]gcda" | xargs`
-	rm -f `find . -type f | grep "[.]gcno" | xargs`
-	rm -f `find . -type f | grep "[.]il" | xargs`
-	rm -f `find . -type f | grep "[.]dyn" | xargs`
-	rm -f `find . -type f | grep "[.]dpi" | xargs`
-	rm -rf `find . -type d | grep "[.]libs" | xargs`
-	rm -f crypt.aux  crypt.dvi  crypt.idx  crypt.ilg  crypt.ind  crypt.log crypt.toc
-	rm -f $(TV) $(PROF) $(SMALL) $(CRYPT) $(HASHSUM) $(MULTI) $(TIMING) $(TEST)
-	rm -rf doc/doxygen
-	rm -f doc/*.pdf
-	rm -f *.txt
+	-rm -f $(OBJECTS)
+	-rm -f libtomcrypt.a
 
 #build the doxy files (requires Doxygen, tetex and patience)
 doxy:
diff --git a/doc/crypt.pdf b/doc/crypt.pdf
deleted file mode 100644
index 1c56c51f7ffe88024566a020536d618f51d4539b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 484454
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

diff --git a/src/ciphers/aes/aes.c b/src/ciphers/aes/aes.c
index 8c95215c..0e4933f5 100644
--- a/src/ciphers/aes/aes.c
+++ b/src/ciphers/aes/aes.c
@@ -43,6 +43,7 @@
 #define ECB_TEST rijndael_test
 #define ECB_KS   rijndael_keysize
 
+#if 0
 const struct ltc_cipher_descriptor rijndael_desc =
 {
     "rijndael",
@@ -51,6 +52,7 @@ const struct ltc_cipher_descriptor rijndael_desc =
     SETUP, ECB_ENC, ECB_DEC, ECB_TEST, ECB_DONE, ECB_KS,
     NULL, NULL, NULL, NULL, NULL, NULL, NULL
 };
+#endif
 
 const struct ltc_cipher_descriptor aes_desc =
 {
diff --git a/src/ciphers/des.c b/src/ciphers/des.c
index 9c5b59b0..84258d06 100644
--- a/src/ciphers/des.c
+++ b/src/ciphers/des.c
@@ -20,6 +20,7 @@
 #define EN0 0 
 #define DE1 1
 
+#if 0
 const struct ltc_cipher_descriptor des_desc =
 {
     "des",
@@ -33,6 +34,7 @@ const struct ltc_cipher_descriptor des_desc =
     &des_keysize,
     NULL, NULL, NULL, NULL, NULL, NULL, NULL
 };
+#endif
 
 const struct ltc_cipher_descriptor des3_desc =
 {
@@ -1518,6 +1520,7 @@ static void desfunc(ulong32 *block, const ulong32 *keys)
 }
 #endif
 
+#if 0
  /**
     Initialize the DES block cipher
     @param key The symmetric key you wish to pass
@@ -1544,6 +1547,7 @@ int des_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_ke
 
     return CRYPT_OK;
 }
+#endif
 
  /**
     Initialize the 3DES-EDE block cipher
@@ -1577,6 +1581,7 @@ int des3_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_k
     return CRYPT_OK;
 }
 
+#if 0
 /**
   Encrypts a block of text with DES
   @param pt The input plaintext (8 bytes)
@@ -1614,6 +1619,7 @@ void des_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *
     STORE32H(work[0],pt+0);
     STORE32H(work[1],pt+4);
 }
+#endif
 
 /**
   Encrypts a block of text with 3DES-EDE
@@ -1658,6 +1664,7 @@ void des3_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key
     STORE32H(work[1],pt+4);
 }
 
+#if 0
 /**
   Performs a self-test of the DES block cipher
   @return CRYPT_OK if functional, CRYPT_NOP if self-test has been disabled
@@ -1804,6 +1811,7 @@ int des_test(void)
     return CRYPT_OK;
   #endif
 }
+#endif
 
 int des3_test(void)
 {
@@ -1841,12 +1849,14 @@ int des3_test(void)
  #endif
 }
 
+#if 0
 /** Terminate the context 
    @param skey    The scheduled key
 */
 void des_done(symmetric_key *skey)
 {
 }
+#endif
 
 /** Terminate the context 
    @param skey    The scheduled key
@@ -1856,6 +1866,7 @@ void des3_done(symmetric_key *skey)
 }
 
 
+#if 0
 /**
   Gets suitable key size
   @param keysize [in/out] The length of the recommended key (in bytes).  This function will store the suitable size back in this variable.
@@ -1870,6 +1881,7 @@ int des_keysize(int *keysize)
     *keysize = 8;
     return CRYPT_OK;
 }
+#endif
 
 /**
   Gets suitable key size
diff --git a/src/ciphers/twofish/twofish.c b/src/ciphers/twofish/twofish.c
index 61aa9502..f147babf 100644
--- a/src/ciphers/twofish/twofish.c
+++ b/src/ciphers/twofish/twofish.c
@@ -43,12 +43,14 @@ const struct ltc_cipher_descriptor twofish_desc =
 #define RS_POLY           0x14D
 
 /* The 4x4 MDS Linear Transform */
+#if 0
 static const unsigned char MDS[4][4] = {
     { 0x01, 0xEF, 0x5B, 0x5B },
     { 0x5B, 0xEF, 0xEF, 0x01 },
     { 0xEF, 0x5B, 0x01, 0xEF },
     { 0xEF, 0x01, 0xEF, 0x5B }
 };
+#endif
 
 /* The 4x8 RS Linear Transform */
 static const unsigned char RS[4][8] = {
diff --git a/src/headers/tomcrypt.h b/src/headers/tomcrypt.h
index 8369c74d..4804194d 100644
--- a/src/headers/tomcrypt.h
+++ b/src/headers/tomcrypt.h
@@ -23,7 +23,8 @@ extern "C" {
 #define MAXBLOCKSIZE  128
 
 /* descriptor table size */
-#define TAB_SIZE      32
+/* Dropbear change - this should be smaller, saves some size */
+#define TAB_SIZE    4
 
 /* error codes [will be expanded in future releases] */
 enum {
diff --git a/src/headers/tomcrypt_custom.h b/src/headers/tomcrypt_custom.h
index db900480..ad61f523 100644
--- a/src/headers/tomcrypt_custom.h
+++ b/src/headers/tomcrypt_custom.h
@@ -1,6 +1,9 @@
 #ifndef TOMCRYPT_CUSTOM_H_
 #define TOMCRYPT_CUSTOM_H_
 
+/* this will sort out which stuff based on the user-config in options.h */
+#include "options.h"
+
 /* macros for various libc functions you can change for embedded targets */
 #define XMALLOC  malloc
 #define XREALLOC realloc
@@ -13,13 +16,16 @@
 #define XCLOCK   clock
 #define XCLOCKS_PER_SEC CLOCKS_PER_SEC
 
-/* Use small code where possible */
-/* #define LTC_SMALL_CODE */
+#ifdef DROPBEAR_SMALL_CODE
+#define LTC_SMALL_CODE
+#endif
+
+/* These spit out warnings etc */
+#define LTC_NO_ROLC
 
 /* Enable self-test test vector checking */
-#ifndef LTC_NO_TEST
-   #define LTC_TEST
-#endif
+/* Not for dropbear */
+//#define LTC_TEST
 
 /* clean the stack of functions which put private information on stack */
 /* #define LTC_CLEAN_STACK */
@@ -36,217 +42,51 @@
 /* disable BSWAP on x86 */
 /* #define LTC_NO_BSWAP */
 
-/* ---> Symmetric Block Ciphers <--- */
-#ifndef LTC_NO_CIPHERS
 
+#ifdef DROPBEAR_BLOWFISH_CBC
 #define BLOWFISH
-#define RC2
-#define RC5
-#define RC6
-#define SAFERP
-#define RIJNDAEL
-#define XTEA
-/* _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
-#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
-#define CAST5
-#define NOEKEON
-#define SKIPJACK
-#define SAFER
-#define KHAZAD
-#define ANUBIS
-#define ANUBIS_TWEAK
 
-#endif /* LTC_NO_CIPHERS */
+#ifdef DROPBEAR_AES_CBC
+#define RIJNDAEL
+#endif
 
+#ifdef DROPBEAR_TWOFISH_CBC
+#define TWOFISH
 
-/* ---> Block Cipher Modes of Operation <--- */
-#ifndef LTC_NO_MODES
+/* enabling just TWOFISH_SMALL will make the binary ~1kB smaller, turning on
+ * TWOFISH_TABLES will make it a few kB bigger, but perhaps reduces runtime
+ * memory usage? */
+#define TWOFISH_SMALL
+/*#define TWOFISH_TABLES*/
+#endif
 
-#define CFB
-#define OFB
-#define ECB
+#ifdef DROPBEAR_3DES_CBC
+#define DES
+#endif
 #define CBC
-#define CTR
-
-#endif /* LTC_NO_MODES */
 
-/* ---> One-Way Hash Functions <--- */
-#ifndef LTC_NO_HASHES 
-
-#define CHC_HASH
-#define WHIRLPOOL
+#if defined(DROPBEAR_DSS) && defined(DSS_PROTOK)
 #define SHA512
-#define SHA384
-#define SHA256
-#define SHA224
-#define TIGER
-#define SHA1
-#define MD5
-#define MD4
-#define MD2
-#define RIPEMD128
-#define RIPEMD160
-
-#endif /* LTC_NO_HASHES */
-
-/* ---> MAC functions <--- */
-#ifndef LTC_NO_MACS
-
-#define HMAC
-#define OMAC
-#define PMAC
-#define PELICAN
-
-#if defined(PELICAN) && !defined(RIJNDAEL)
-   #error Pelican-MAC requires RIJNDAEL
 #endif
 
-/* ---> Encrypt + Authenticate Modes <--- */
-
-#define EAX_MODE
-#if defined(EAX_MODE) && !(defined(CTR) && defined(OMAC))
-   #error EAX_MODE requires CTR and OMAC mode
-#endif
-
-#define OCB_MODE
-#define CCM_MODE
-
-#define GCM_MODE
+#define SHA1
 
-/* Use 64KiB tables */
-#ifndef LTC_NO_TABLES
-   #define GCM_TABLES 
+#ifdef DROPBEAR_MD5_HMAC
+#define MD5
 #endif
 
-#endif /* LTC_NO_MACS */
+#define HMAC
 
 /* Various tidbits of modern neatoness */
 #define BASE64
 
-/* --> Pseudo Random Number Generators <--- */
-#ifndef LTC_NO_PRNGS
-
-/* Yarrow */
-#define YARROW
-/* which descriptor of AES to use?  */
-/* 0 = rijndael_enc 1 = aes_enc, 2 = rijndael [full], 3 = aes [full] */
-#define YARROW_AES 0
-
-#if defined(YARROW) && !defined(CTR)
-   #error YARROW requires CTR chaining mode to be defined!
-#endif
-
-/* a PRNG that simply reads from an available system source */
-#define SPRNG
-
-/* The RC4 stream cipher */
-#define RC4
-
-/* Fortuna PRNG */
-#define FORTUNA
-/* reseed every N calls to the read function */
-#define FORTUNA_WD    10
-/* number of pools (4..32) can save a bit of ram by lowering the count */
-#define FORTUNA_POOLS 32
-
-/* Greg's SOBER128 PRNG ;-0 */
-#define SOBER128
-
-/* the *nix style /dev/random device */
-#define DEVRANDOM
-/* 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 */
-#define MDSA
-/* Max diff between group and modulus size in bytes */
-#define MDSA_DELTA     512
-/* Max DSA group size in bytes (default allows 4k-bit groups) */
-#define MDSA_MAX_GROUP 512
-
-/* Diffie-Hellman */
-#define MDH
-/* Supported Key Sizes */
-#define DH768
-#define DH1024
-#define DH1280
-#define DH1536
-#define DH1792
-#define DH2048
-#define DH2560
-#define DH3072
-#define DH4096
-
-/* ECC */
-#define MECC
-/* Supported Key Sizes */
-#define ECC192
-#define ECC224
-#define ECC256
-#define ECC384
-#define ECC521
-
-/* 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
-
-/* Include ASN.1 DER (required by DSA/RSA) */
-#define LTC_DER
-#if defined(LTC_DER) && !defined(MPI) 
-   #error ASN.1 DER requires MPI functionality
-#endif
-
-#if (defined(MDSA) || defined(MRSA)) && !defined(LTC_DER)
-   #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)
+#define FORTUNA_POOLS 0
 
 #endif
 
diff --git a/src/misc/crypt/crypt.c b/src/misc/crypt/crypt.c
index 6d85ceb1..eb75b8d5 100644
--- a/src/misc/crypt/crypt.c
+++ b/src/misc/crypt/crypt.c
@@ -15,6 +15,7 @@
   Build strings, Tom St Denis
 */  
 
+/*
 const char *crypt_build_settings =
    "LibTomCrypt " SCRYPT " (Tom St Denis, tomstdenis@gmail.com)\n"
    "LibTomCrypt is public domain software.\n"
@@ -308,6 +309,7 @@ const char *crypt_build_settings =
     "\n"
     "\n\n\n"
     ;
+	*/
 
 
 /* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt.c,v $ */
diff --git a/src/misc/mpi/mpi.c b/src/misc/mpi/mpi.c
deleted file mode 100644
index 56dfa02c..00000000
--- a/src/misc/mpi/mpi.c
+++ /dev/null
@@ -1,9048 +0,0 @@
-/* Start: bn_error.c */
-#include <ltc_tommath.h>
-#ifdef BN_ERROR_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-static const struct {
-     int code;
-     char *msg;
-} msgs[] = {
-     { MP_OKAY, "Successful" },
-     { MP_MEM,  "Out of heap" },
-     { MP_VAL,  "Value out of range" }
-};
-
-/* return a char * string for a given code */
-char *mp_error_to_string(int code)
-{
-   int x;
-
-   /* scan the lookup table for the given message */
-   for (x = 0; x < (int)(sizeof(msgs) / sizeof(msgs[0])); x++) {
-       if (msgs[x].code == code) {
-          return msgs[x].msg;
-       }
-   }
-
-   /* generic reply for invalid code */
-   return "Invalid error code";
-}
-
-#endif
-
-/* End: bn_error.c */
-
-/* Start: bn_fast_mp_invmod.c */
-#include <ltc_tommath.h>
-#ifdef BN_FAST_MP_INVMOD_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* computes the modular inverse via binary extended euclidean algorithm, 
- * that is c = 1/a mod b 
- *
- * Based on slow invmod except this is optimized for the case where b is 
- * odd as per HAC Note 14.64 on pp. 610
- */
-int fast_mp_invmod (mp_int * a, mp_int * b, mp_int * c)
-{
-  mp_int  x, y, u, v, B, D;
-  int     res, neg;
-
-  /* 2. [modified] b must be odd   */
-  if (mp_iseven (b) == 1) {
-    return MP_VAL;
-  }
-
-  /* init all our temps */
-  if ((res = mp_init_multi(&x, &y, &u, &v, &B, &D, NULL)) != MP_OKAY) {
-     return res;
-  }
-
-  /* x == modulus, y == value to invert */
-  if ((res = mp_copy (b, &x)) != MP_OKAY) {
-    goto LBL_ERR;
-  }
-
-  /* we need y = |a| */
-  if ((res = mp_mod (a, b, &y)) != MP_OKAY) {
-    goto LBL_ERR;
-  }
-
-  /* 3. u=x, v=y, A=1, B=0, C=0,D=1 */
-  if ((res = mp_copy (&x, &u)) != MP_OKAY) {
-    goto LBL_ERR;
-  }
-  if ((res = mp_copy (&y, &v)) != MP_OKAY) {
-    goto LBL_ERR;
-  }
-  mp_set (&D, 1);
-
-top:
-  /* 4.  while u is even do */
-  while (mp_iseven (&u) == 1) {
-    /* 4.1 u = u/2 */
-    if ((res = mp_div_2 (&u, &u)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-    /* 4.2 if B is odd then */
-    if (mp_isodd (&B) == 1) {
-      if ((res = mp_sub (&B, &x, &B)) != MP_OKAY) {
-        goto LBL_ERR;
-      }
-    }
-    /* B = B/2 */
-    if ((res = mp_div_2 (&B, &B)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-  }
-
-  /* 5.  while v is even do */
-  while (mp_iseven (&v) == 1) {
-    /* 5.1 v = v/2 */
-    if ((res = mp_div_2 (&v, &v)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-    /* 5.2 if D is odd then */
-    if (mp_isodd (&D) == 1) {
-      /* D = (D-x)/2 */
-      if ((res = mp_sub (&D, &x, &D)) != MP_OKAY) {
-        goto LBL_ERR;
-      }
-    }
-    /* D = D/2 */
-    if ((res = mp_div_2 (&D, &D)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-  }
-
-  /* 6.  if u >= v then */
-  if (mp_cmp (&u, &v) != MP_LT) {
-    /* u = u - v, B = B - D */
-    if ((res = mp_sub (&u, &v, &u)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-
-    if ((res = mp_sub (&B, &D, &B)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-  } else {
-    /* v - v - u, D = D - B */
-    if ((res = mp_sub (&v, &u, &v)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-
-    if ((res = mp_sub (&D, &B, &D)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-  }
-
-  /* if not zero goto step 4 */
-  if (mp_iszero (&u) == 0) {
-    goto top;
-  }
-
-  /* now a = C, b = D, gcd == g*v */
-
-  /* if v != 1 then there is no inverse */
-  if (mp_cmp_d (&v, 1) != MP_EQ) {
-    res = MP_VAL;
-    goto LBL_ERR;
-  }
-
-  /* b is now the inverse */
-  neg = a->sign;
-  while (D.sign == MP_NEG) {
-    if ((res = mp_add (&D, b, &D)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-  }
-  mp_exch (&D, c);
-  c->sign = neg;
-  res = MP_OKAY;
-
-LBL_ERR:mp_clear_multi (&x, &y, &u, &v, &B, &D, NULL);
-  return res;
-}
-#endif
-
-/* End: bn_fast_mp_invmod.c */
-
-/* Start: bn_fast_mp_montgomery_reduce.c */
-#include <ltc_tommath.h>
-#ifdef BN_FAST_MP_MONTGOMERY_REDUCE_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* computes xR**-1 == x (mod N) via Montgomery Reduction
- *
- * This is an optimized implementation of montgomery_reduce
- * which uses the comba method to quickly calculate the columns of the
- * reduction.
- *
- * Based on Algorithm 14.32 on pp.601 of HAC.
-*/
-int fast_mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho)
-{
-  int     ix, res, olduse;
-  mp_word W[MP_WARRAY];
-
-  /* get old used count */
-  olduse = x->used;
-
-  /* grow a as required */
-  if (x->alloc < n->used + 1) {
-    if ((res = mp_grow (x, n->used + 1)) != MP_OKAY) {
-      return res;
-    }
-  }
-
-  /* first we have to get the digits of the input into
-   * an array of double precision words W[...]
-   */
-  {
-    register mp_word *_W;
-    register mp_digit *tmpx;
-
-    /* alias for the W[] array */
-    _W   = W;
-
-    /* alias for the digits of  x*/
-    tmpx = x->dp;
-
-    /* copy the digits of a into W[0..a->used-1] */
-    for (ix = 0; ix < x->used; ix++) {
-      *_W++ = *tmpx++;
-    }
-
-    /* zero the high words of W[a->used..m->used*2] */
-    for (; ix < n->used * 2 + 1; ix++) {
-      *_W++ = 0;
-    }
-  }
-
-  /* now we proceed to zero successive digits
-   * from the least significant upwards
-   */
-  for (ix = 0; ix < n->used; ix++) {
-    /* mu = ai * m' mod b
-     *
-     * We avoid a double precision multiplication (which isn't required)
-     * by casting the value down to a mp_digit.  Note this requires
-     * that W[ix-1] have  the carry cleared (see after the inner loop)
-     */
-    register mp_digit mu;
-    mu = (mp_digit) (((W[ix] & MP_MASK) * rho) & MP_MASK);
-
-    /* a = a + mu * m * b**i
-     *
-     * This is computed in place and on the fly.  The multiplication
-     * by b**i is handled by offseting which columns the results
-     * are added to.
-     *
-     * Note the comba method normally doesn't handle carries in the
-     * inner loop In this case we fix the carry from the previous
-     * column since the Montgomery reduction requires digits of the
-     * result (so far) [see above] to work.  This is
-     * handled by fixing up one carry after the inner loop.  The
-     * carry fixups are done in order so after these loops the
-     * first m->used words of W[] have the carries fixed
-     */
-    {
-      register int iy;
-      register mp_digit *tmpn;
-      register mp_word *_W;
-
-      /* alias for the digits of the modulus */
-      tmpn = n->dp;
-
-      /* Alias for the columns set by an offset of ix */
-      _W = W + ix;
-
-      /* inner loop */
-      for (iy = 0; iy < n->used; iy++) {
-          *_W++ += ((mp_word)mu) * ((mp_word)*tmpn++);
-      }
-    }
-
-    /* now fix carry for next digit, W[ix+1] */
-    W[ix + 1] += W[ix] >> ((mp_word) DIGIT_BIT);
-  }
-
-  /* now we have to propagate the carries and
-   * shift the words downward [all those least
-   * significant digits we zeroed].
-   */
-  {
-    register mp_digit *tmpx;
-    register mp_word *_W, *_W1;
-
-    /* nox fix rest of carries */
-
-    /* alias for current word */
-    _W1 = W + ix;
-
-    /* alias for next word, where the carry goes */
-    _W = W + ++ix;
-
-    for (; ix <= n->used * 2 + 1; ix++) {
-      *_W++ += *_W1++ >> ((mp_word) DIGIT_BIT);
-    }
-
-    /* copy out, A = A/b**n
-     *
-     * The result is A/b**n but instead of converting from an
-     * array of mp_word to mp_digit than calling mp_rshd
-     * we just copy them in the right order
-     */
-
-    /* alias for destination word */
-    tmpx = x->dp;
-
-    /* alias for shifted double precision result */
-    _W = W + n->used;
-
-    for (ix = 0; ix < n->used + 1; ix++) {
-      *tmpx++ = (mp_digit)(*_W++ & ((mp_word) MP_MASK));
-    }
-
-    /* zero oldused digits, if the input a was larger than
-     * m->used+1 we'll have to clear the digits
-     */
-    for (; ix < olduse; ix++) {
-      *tmpx++ = 0;
-    }
-  }
-
-  /* set the max used and clamp */
-  x->used = n->used + 1;
-  mp_clamp (x);
-
-  /* if A >= m then A = A - m */
-  if (mp_cmp_mag (x, n) != MP_LT) {
-    return s_mp_sub (x, n, x);
-  }
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_fast_mp_montgomery_reduce.c */
-
-/* Start: bn_fast_s_mp_mul_digs.c */
-#include <ltc_tommath.h>
-#ifdef BN_FAST_S_MP_MUL_DIGS_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* Fast (comba) multiplier
- *
- * This is the fast column-array [comba] multiplier.  It is 
- * designed to compute the columns of the product first 
- * then handle the carries afterwards.  This has the effect 
- * of making the nested loops that compute the columns very
- * simple and schedulable on super-scalar processors.
- *
- * This has been modified to produce a variable number of 
- * digits of output so if say only a half-product is required 
- * you don't have to compute the upper half (a feature 
- * required for fast Barrett reduction).
- *
- * Based on Algorithm 14.12 on pp.595 of HAC.
- *
- */
-int fast_s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs)
-{
-  int     olduse, res, pa, ix, iz;
-  mp_digit W[MP_WARRAY];
-  register mp_word  _W;
-
-  /* grow the destination as required */
-  if (c->alloc < digs) {
-    if ((res = mp_grow (c, digs)) != MP_OKAY) {
-      return res;
-    }
-  }
-
-  /* number of output digits to produce */
-  pa = MIN(digs, a->used + b->used);
-
-  /* clear the carry */
-  _W = 0;
-  for (ix = 0; ix < pa; ix++) { 
-      int      tx, ty;
-      int      iy;
-      mp_digit *tmpx, *tmpy;
-
-      /* get offsets into the two bignums */
-      ty = MIN(b->used-1, ix);
-      tx = ix - ty;
-
-      /* setup temp aliases */
-      tmpx = a->dp + tx;
-      tmpy = b->dp + ty;
-
-      /* this is the number of times the loop will iterrate, essentially 
-         while (tx++ < a->used && ty-- >= 0) { ... }
-       */
-      iy = MIN(a->used-tx, ty+1);
-
-      /* execute loop */
-      for (iz = 0; iz < iy; ++iz) {
-         _W += ((mp_word)*tmpx++)*((mp_word)*tmpy--);
-      }
-
-      /* store term */
-      W[ix] = ((mp_digit)_W) & MP_MASK;
-
-      /* make next carry */
-      _W = _W >> ((mp_word)DIGIT_BIT);
-  }
-
-  /* store final carry */
-  W[ix] = (mp_digit)(_W & MP_MASK);
-
-  /* setup dest */
-  olduse  = c->used;
-  c->used = pa;
-
-  {
-    register mp_digit *tmpc;
-    tmpc = c->dp;
-    for (ix = 0; ix < pa+1; ix++) {
-      /* now extract the previous digit [below the carry] */
-      *tmpc++ = W[ix];
-    }
-
-    /* clear unused digits [that existed in the old copy of c] */
-    for (; ix < olduse; ix++) {
-      *tmpc++ = 0;
-    }
-  }
-  mp_clamp (c);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_fast_s_mp_mul_digs.c */
-
-/* Start: bn_fast_s_mp_mul_high_digs.c */
-#include <ltc_tommath.h>
-#ifdef BN_FAST_S_MP_MUL_HIGH_DIGS_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* this is a modified version of fast_s_mul_digs that only produces
- * output digits *above* digs.  See the comments for fast_s_mul_digs
- * to see how it works.
- *
- * This is used in the Barrett reduction since for one of the multiplications
- * only the higher digits were needed.  This essentially halves the work.
- *
- * Based on Algorithm 14.12 on pp.595 of HAC.
- */
-int fast_s_mp_mul_high_digs (mp_int * a, mp_int * b, mp_int * c, int digs)
-{
-  int     olduse, res, pa, ix, iz;
-  mp_digit W[MP_WARRAY];
-  mp_word  _W;
-
-  /* grow the destination as required */
-  pa = a->used + b->used;
-  if (c->alloc < pa) {
-    if ((res = mp_grow (c, pa)) != MP_OKAY) {
-      return res;
-    }
-  }
-
-  /* number of output digits to produce */
-  pa = a->used + b->used;
-  _W = 0;
-  for (ix = digs; ix < pa; ix++) { 
-      int      tx, ty, iy;
-      mp_digit *tmpx, *tmpy;
-
-      /* get offsets into the two bignums */
-      ty = MIN(b->used-1, ix);
-      tx = ix - ty;
-
-      /* setup temp aliases */
-      tmpx = a->dp + tx;
-      tmpy = b->dp + ty;
-
-      /* this is the number of times the loop will iterrate, essentially its 
-         while (tx++ < a->used && ty-- >= 0) { ... }
-       */
-      iy = MIN(a->used-tx, ty+1);
-
-      /* execute loop */
-      for (iz = 0; iz < iy; iz++) {
-         _W += ((mp_word)*tmpx++)*((mp_word)*tmpy--);
-      }
-
-      /* store term */
-      W[ix] = ((mp_digit)_W) & MP_MASK;
-
-      /* make next carry */
-      _W = _W >> ((mp_word)DIGIT_BIT);
-  }
-  
-  /* store final carry */
-  W[ix] = (mp_digit)(_W & MP_MASK);
-
-  /* setup dest */
-  olduse  = c->used;
-  c->used = pa;
-
-  {
-    register mp_digit *tmpc;
-
-    tmpc = c->dp + digs;
-    for (ix = digs; ix <= pa; ix++) {
-      /* now extract the previous digit [below the carry] */
-      *tmpc++ = W[ix];
-    }
-
-    /* clear unused digits [that existed in the old copy of c] */
-    for (; ix < olduse; ix++) {
-      *tmpc++ = 0;
-    }
-  }
-  mp_clamp (c);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_fast_s_mp_mul_high_digs.c */
-
-/* Start: bn_fast_s_mp_sqr.c */
-#include <ltc_tommath.h>
-#ifdef BN_FAST_S_MP_SQR_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* the jist of squaring...
- * you do like mult except the offset of the tmpx [one that 
- * starts closer to zero] can't equal the offset of tmpy.  
- * So basically you set up iy like before then you min it with
- * (ty-tx) so that it never happens.  You double all those 
- * you add in the inner loop
-
-After that loop you do the squares and add them in.
-*/
-
-int fast_s_mp_sqr (mp_int * a, mp_int * b)
-{
-  int       olduse, res, pa, ix, iz;
-  mp_digit   W[MP_WARRAY], *tmpx;
-  mp_word   W1;
-
-  /* grow the destination as required */
-  pa = a->used + a->used;
-  if (b->alloc < pa) {
-    if ((res = mp_grow (b, pa)) != MP_OKAY) {
-      return res;
-    }
-  }
-
-  /* number of output digits to produce */
-  W1 = 0;
-  for (ix = 0; ix < pa; ix++) { 
-      int      tx, ty, iy;
-      mp_word  _W;
-      mp_digit *tmpy;
-
-      /* clear counter */
-      _W = 0;
-
-      /* get offsets into the two bignums */
-      ty = MIN(a->used-1, ix);
-      tx = ix - ty;
-
-      /* setup temp aliases */
-      tmpx = a->dp + tx;
-      tmpy = a->dp + ty;
-
-      /* this is the number of times the loop will iterrate, essentially
-         while (tx++ < a->used && ty-- >= 0) { ... }
-       */
-      iy = MIN(a->used-tx, ty+1);
-
-      /* now for squaring tx can never equal ty 
-       * we halve the distance since they approach at a rate of 2x
-       * and we have to round because odd cases need to be executed
-       */
-      iy = MIN(iy, (ty-tx+1)>>1);
-
-      /* execute loop */
-      for (iz = 0; iz < iy; iz++) {
-         _W += ((mp_word)*tmpx++)*((mp_word)*tmpy--);
-      }
-
-      /* double the inner product and add carry */
-      _W = _W + _W + W1;
-
-      /* even columns have the square term in them */
-      if ((ix&1) == 0) {
-         _W += ((mp_word)a->dp[ix>>1])*((mp_word)a->dp[ix>>1]);
-      }
-
-      /* store it */
-      W[ix] = (mp_digit)(_W & MP_MASK);
-
-      /* make next carry */
-      W1 = _W >> ((mp_word)DIGIT_BIT);
-  }
-
-  /* setup dest */
-  olduse  = b->used;
-  b->used = a->used+a->used;
-
-  {
-    mp_digit *tmpb;
-    tmpb = b->dp;
-    for (ix = 0; ix < pa; ix++) {
-      *tmpb++ = W[ix] & MP_MASK;
-    }
-
-    /* clear unused digits [that existed in the old copy of c] */
-    for (; ix < olduse; ix++) {
-      *tmpb++ = 0;
-    }
-  }
-  mp_clamp (b);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_fast_s_mp_sqr.c */
-
-/* Start: bn_mp_2expt.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_2EXPT_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* computes a = 2**b 
- *
- * Simple algorithm which zeroes the int, grows it then just sets one bit
- * as required.
- */
-int
-mp_2expt (mp_int * a, int b)
-{
-  int     res;
-
-  /* zero a as per default */
-  mp_zero (a);
-
-  /* grow a to accomodate the single bit */
-  if ((res = mp_grow (a, b / DIGIT_BIT + 1)) != MP_OKAY) {
-    return res;
-  }
-
-  /* set the used count of where the bit will go */
-  a->used = b / DIGIT_BIT + 1;
-
-  /* put the single bit in its place */
-  a->dp[b / DIGIT_BIT] = ((mp_digit)1) << (b % DIGIT_BIT);
-
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_2expt.c */
-
-/* Start: bn_mp_abs.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_ABS_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* b = |a| 
- *
- * Simple function copies the input and fixes the sign to positive
- */
-int
-mp_abs (mp_int * a, mp_int * b)
-{
-  int     res;
-
-  /* copy a to b */
-  if (a != b) {
-     if ((res = mp_copy (a, b)) != MP_OKAY) {
-       return res;
-     }
-  }
-
-  /* force the sign of b to positive */
-  b->sign = MP_ZPOS;
-
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_abs.c */
-
-/* Start: bn_mp_add.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_ADD_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* high level addition (handles signs) */
-int mp_add (mp_int * a, mp_int * b, mp_int * c)
-{
-  int     sa, sb, res;
-
-  /* get sign of both inputs */
-  sa = a->sign;
-  sb = b->sign;
-
-  /* handle two cases, not four */
-  if (sa == sb) {
-    /* both positive or both negative */
-    /* add their magnitudes, copy the sign */
-    c->sign = sa;
-    res = s_mp_add (a, b, c);
-  } else {
-    /* one positive, the other negative */
-    /* subtract the one with the greater magnitude from */
-    /* the one of the lesser magnitude.  The result gets */
-    /* the sign of the one with the greater magnitude. */
-    if (mp_cmp_mag (a, b) == MP_LT) {
-      c->sign = sb;
-      res = s_mp_sub (b, a, c);
-    } else {
-      c->sign = sa;
-      res = s_mp_sub (a, b, c);
-    }
-  }
-  return res;
-}
-
-#endif
-
-/* End: bn_mp_add.c */
-
-/* Start: bn_mp_add_d.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_ADD_D_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* single digit addition */
-int
-mp_add_d (mp_int * a, mp_digit b, mp_int * c)
-{
-  int     res, ix, oldused;
-  mp_digit *tmpa, *tmpc, mu;
-
-  /* grow c as required */
-  if (c->alloc < a->used + 1) {
-     if ((res = mp_grow(c, a->used + 1)) != MP_OKAY) {
-        return res;
-     }
-  }
-
-  /* if a is negative and |a| >= b, call c = |a| - b */
-  if (a->sign == MP_NEG && (a->used > 1 || a->dp[0] >= b)) {
-     /* temporarily fix sign of a */
-     a->sign = MP_ZPOS;
-
-     /* c = |a| - b */
-     res = mp_sub_d(a, b, c);
-
-     /* fix sign  */
-     a->sign = c->sign = MP_NEG;
-
-     return res;
-  }
-
-  /* old number of used digits in c */
-  oldused = c->used;
-
-  /* sign always positive */
-  c->sign = MP_ZPOS;
-
-  /* source alias */
-  tmpa    = a->dp;
-
-  /* destination alias */
-  tmpc    = c->dp;
-
-  /* if a is positive */
-  if (a->sign == MP_ZPOS) {
-     /* add digit, after this we're propagating
-      * the carry.
-      */
-     *tmpc   = *tmpa++ + b;
-     mu      = *tmpc >> DIGIT_BIT;
-     *tmpc++ &= MP_MASK;
-
-     /* now handle rest of the digits */
-     for (ix = 1; ix < a->used; ix++) {
-        *tmpc   = *tmpa++ + mu;
-        mu      = *tmpc >> DIGIT_BIT;
-        *tmpc++ &= MP_MASK;
-     }
-     /* set final carry */
-     ix++;
-     *tmpc++  = mu;
-
-     /* setup size */
-     c->used = a->used + 1;
-  } else {
-     /* a was negative and |a| < b */
-     c->used  = 1;
-
-     /* the result is a single digit */
-     if (a->used == 1) {
-        *tmpc++  =  b - a->dp[0];
-     } else {
-        *tmpc++  =  b;
-     }
-
-     /* setup count so the clearing of oldused
-      * can fall through correctly
-      */
-     ix       = 1;
-  }
-
-  /* now zero to oldused */
-  while (ix++ < oldused) {
-     *tmpc++ = 0;
-  }
-  mp_clamp(c);
-
-  return MP_OKAY;
-}
-
-#endif
-
-/* End: bn_mp_add_d.c */
-
-/* Start: bn_mp_addmod.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_ADDMOD_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* d = a + b (mod c) */
-int
-mp_addmod (mp_int * a, mp_int * b, mp_int * c, mp_int * d)
-{
-  int     res;
-  mp_int  t;
-
-  if ((res = mp_init (&t)) != MP_OKAY) {
-    return res;
-  }
-
-  if ((res = mp_add (a, b, &t)) != MP_OKAY) {
-    mp_clear (&t);
-    return res;
-  }
-  res = mp_mod (&t, c, d);
-  mp_clear (&t);
-  return res;
-}
-#endif
-
-/* End: bn_mp_addmod.c */
-
-/* Start: bn_mp_and.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_AND_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* AND two ints together */
-int
-mp_and (mp_int * a, mp_int * b, mp_int * c)
-{
-  int     res, ix, px;
-  mp_int  t, *x;
-
-  if (a->used > b->used) {
-    if ((res = mp_init_copy (&t, a)) != MP_OKAY) {
-      return res;
-    }
-    px = b->used;
-    x = b;
-  } else {
-    if ((res = mp_init_copy (&t, b)) != MP_OKAY) {
-      return res;
-    }
-    px = a->used;
-    x = a;
-  }
-
-  for (ix = 0; ix < px; ix++) {
-    t.dp[ix] &= x->dp[ix];
-  }
-
-  /* zero digits above the last from the smallest mp_int */
-  for (; ix < t.used; ix++) {
-    t.dp[ix] = 0;
-  }
-
-  mp_clamp (&t);
-  mp_exch (c, &t);
-  mp_clear (&t);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_and.c */
-
-/* Start: bn_mp_clamp.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_CLAMP_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* trim unused digits 
- *
- * This is used to ensure that leading zero digits are
- * trimed and the leading "used" digit will be non-zero
- * Typically very fast.  Also fixes the sign if there
- * are no more leading digits
- */
-void
-mp_clamp (mp_int * a)
-{
-  /* decrease used while the most significant digit is
-   * zero.
-   */
-  while (a->used > 0 && a->dp[a->used - 1] == 0) {
-    --(a->used);
-  }
-
-  /* reset the sign flag if used == 0 */
-  if (a->used == 0) {
-    a->sign = MP_ZPOS;
-  }
-}
-#endif
-
-/* End: bn_mp_clamp.c */
-
-/* Start: bn_mp_clear.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_CLEAR_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* clear one (frees)  */
-void
-mp_clear (mp_int * a)
-{
-  int i;
-
-  /* only do anything if a hasn't been freed previously */
-  if (a->dp != NULL) {
-    /* first zero the digits */
-    for (i = 0; i < a->used; i++) {
-        a->dp[i] = 0;
-    }
-
-    /* free ram */
-    XFREE(a->dp);
-
-    /* reset members to make debugging easier */
-    a->dp    = NULL;
-    a->alloc = a->used = 0;
-    a->sign  = MP_ZPOS;
-  }
-}
-#endif
-
-/* End: bn_mp_clear.c */
-
-/* Start: bn_mp_clear_multi.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_CLEAR_MULTI_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-#include <stdarg.h>
-
-void mp_clear_multi(mp_int *mp, ...) 
-{
-    mp_int* next_mp = mp;
-    va_list args;
-    va_start(args, mp);
-    while (next_mp != NULL) {
-        mp_clear(next_mp);
-        next_mp = va_arg(args, mp_int*);
-    }
-    va_end(args);
-}
-#endif
-
-/* End: bn_mp_clear_multi.c */
-
-/* Start: bn_mp_cmp.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_CMP_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* compare two ints (signed)*/
-int
-mp_cmp (mp_int * a, mp_int * b)
-{
-  /* compare based on sign */
-  if (a->sign != b->sign) {
-     if (a->sign == MP_NEG) {
-        return MP_LT;
-     } else {
-        return MP_GT;
-     }
-  }
-  
-  /* compare digits */
-  if (a->sign == MP_NEG) {
-     /* if negative compare opposite direction */
-     return mp_cmp_mag(b, a);
-  } else {
-     return mp_cmp_mag(a, b);
-  }
-}
-#endif
-
-/* End: bn_mp_cmp.c */
-
-/* Start: bn_mp_cmp_d.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_CMP_D_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* compare a digit */
-int mp_cmp_d(mp_int * a, mp_digit b)
-{
-  /* compare based on sign */
-  if (a->sign == MP_NEG) {
-    return MP_LT;
-  }
-
-  /* compare based on magnitude */
-  if (a->used > 1) {
-    return MP_GT;
-  }
-
-  /* compare the only digit of a to b */
-  if (a->dp[0] > b) {
-    return MP_GT;
-  } else if (a->dp[0] < b) {
-    return MP_LT;
-  } else {
-    return MP_EQ;
-  }
-}
-#endif
-
-/* End: bn_mp_cmp_d.c */
-
-/* Start: bn_mp_cmp_mag.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_CMP_MAG_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* compare maginitude of two ints (unsigned) */
-int mp_cmp_mag (mp_int * a, mp_int * b)
-{
-  int     n;
-  mp_digit *tmpa, *tmpb;
-
-  /* compare based on # of non-zero digits */
-  if (a->used > b->used) {
-    return MP_GT;
-  }
-  
-  if (a->used < b->used) {
-    return MP_LT;
-  }
-
-  /* alias for a */
-  tmpa = a->dp + (a->used - 1);
-
-  /* alias for b */
-  tmpb = b->dp + (a->used - 1);
-
-  /* compare based on digits  */
-  for (n = 0; n < a->used; ++n, --tmpa, --tmpb) {
-    if (*tmpa > *tmpb) {
-      return MP_GT;
-    }
-
-    if (*tmpa < *tmpb) {
-      return MP_LT;
-    }
-  }
-  return MP_EQ;
-}
-#endif
-
-/* End: bn_mp_cmp_mag.c */
-
-/* Start: bn_mp_cnt_lsb.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_CNT_LSB_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-static const int lnz[16] = { 
-   4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0
-};
-
-/* Counts the number of lsbs which are zero before the first zero bit */
-int mp_cnt_lsb(mp_int *a)
-{
-   int x;
-   mp_digit q, qq;
-
-   /* easy out */
-   if (mp_iszero(a) == 1) {
-      return 0;
-   }
-
-   /* scan lower digits until non-zero */
-   for (x = 0; x < a->used && a->dp[x] == 0; x++);
-   q = a->dp[x];
-   x *= DIGIT_BIT;
-
-   /* now scan this digit until a 1 is found */
-   if ((q & 1) == 0) {
-      do {
-         qq  = q & 15;
-         x  += lnz[qq];
-         q >>= 4;
-      } while (qq == 0);
-   }
-   return x;
-}
-
-#endif
-
-/* End: bn_mp_cnt_lsb.c */
-
-/* Start: bn_mp_copy.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_COPY_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* copy, b = a */
-int
-mp_copy (mp_int * a, mp_int * b)
-{
-  int     res, n;
-
-  /* if dst == src do nothing */
-  if (a == b) {
-    return MP_OKAY;
-  }
-
-  /* grow dest */
-  if (b->alloc < a->used) {
-     if ((res = mp_grow (b, a->used)) != MP_OKAY) {
-        return res;
-     }
-  }
-
-  /* zero b and copy the parameters over */
-  {
-    register mp_digit *tmpa, *tmpb;
-
-    /* pointer aliases */
-
-    /* source */
-    tmpa = a->dp;
-
-    /* destination */
-    tmpb = b->dp;
-
-    /* copy all the digits */
-    for (n = 0; n < a->used; n++) {
-      *tmpb++ = *tmpa++;
-    }
-
-    /* clear high digits */
-    for (; n < b->used; n++) {
-      *tmpb++ = 0;
-    }
-  }
-
-  /* copy used count and sign */
-  b->used = a->used;
-  b->sign = a->sign;
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_copy.c */
-
-/* Start: bn_mp_count_bits.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_COUNT_BITS_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* returns the number of bits in an int */
-int
-mp_count_bits (mp_int * a)
-{
-  int     r;
-  mp_digit q;
-
-  /* shortcut */
-  if (a->used == 0) {
-    return 0;
-  }
-
-  /* get number of digits and add that */
-  r = (a->used - 1) * DIGIT_BIT;
-  
-  /* take the last digit and count the bits in it */
-  q = a->dp[a->used - 1];
-  while (q > ((mp_digit) 0)) {
-    ++r;
-    q >>= ((mp_digit) 1);
-  }
-  return r;
-}
-#endif
-
-/* End: bn_mp_count_bits.c */
-
-/* Start: bn_mp_div.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_DIV_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-#ifdef BN_MP_DIV_SMALL
-
-/* slower bit-bang division... also smaller */
-int mp_div(mp_int * a, mp_int * b, mp_int * c, mp_int * d)
-{
-   mp_int ta, tb, tq, q;
-   int    res, n, n2;
-
-  /* is divisor zero ? */
-  if (mp_iszero (b) == 1) {
-    return MP_VAL;
-  }
-
-  /* if a < b then q=0, r = a */
-  if (mp_cmp_mag (a, b) == MP_LT) {
-    if (d != NULL) {
-      res = mp_copy (a, d);
-    } else {
-      res = MP_OKAY;
-    }
-    if (c != NULL) {
-      mp_zero (c);
-    }
-    return res;
-  }
-	
-  /* init our temps */
-  if ((res = mp_init_multi(&ta, &tb, &tq, &q, NULL) != MP_OKAY)) {
-     return res;
-  }
-
-
-  mp_set(&tq, 1);
-  n = mp_count_bits(a) - mp_count_bits(b);
-  if (((res = mp_abs(a, &ta)) != MP_OKAY) ||
-      ((res = mp_abs(b, &tb)) != MP_OKAY) || 
-      ((res = mp_mul_2d(&tb, n, &tb)) != MP_OKAY) ||
-      ((res = mp_mul_2d(&tq, n, &tq)) != MP_OKAY)) {
-      goto LBL_ERR;
-  }
-
-  while (n-- >= 0) {
-     if (mp_cmp(&tb, &ta) != MP_GT) {
-        if (((res = mp_sub(&ta, &tb, &ta)) != MP_OKAY) ||
-            ((res = mp_add(&q, &tq, &q)) != MP_OKAY)) {
-           goto LBL_ERR;
-        }
-     }
-     if (((res = mp_div_2d(&tb, 1, &tb, NULL)) != MP_OKAY) ||
-         ((res = mp_div_2d(&tq, 1, &tq, NULL)) != MP_OKAY)) {
-           goto LBL_ERR;
-     }
-  }
-
-  /* now q == quotient and ta == remainder */
-  n  = a->sign;
-  n2 = (a->sign == b->sign ? MP_ZPOS : MP_NEG);
-  if (c != NULL) {
-     mp_exch(c, &q);
-     c->sign  = (mp_iszero(c) == MP_YES) ? MP_ZPOS : n2;
-  }
-  if (d != NULL) {
-     mp_exch(d, &ta);
-     d->sign = (mp_iszero(d) == MP_YES) ? MP_ZPOS : n;
-  }
-LBL_ERR:
-   mp_clear_multi(&ta, &tb, &tq, &q, NULL);
-   return res;
-}
-
-#else
-
-/* integer signed division. 
- * c*b + d == a [e.g. a/b, c=quotient, d=remainder]
- * HAC pp.598 Algorithm 14.20
- *
- * Note that the description in HAC is horribly 
- * incomplete.  For example, it doesn't consider 
- * the case where digits are removed from 'x' in 
- * the inner loop.  It also doesn't consider the 
- * case that y has fewer than three digits, etc..
- *
- * The overall algorithm is as described as 
- * 14.20 from HAC but fixed to treat these cases.
-*/
-int mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d)
-{
-  mp_int  q, x, y, t1, t2;
-  int     res, n, t, i, norm, neg;
-
-  /* is divisor zero ? */
-  if (mp_iszero (b) == 1) {
-    return MP_VAL;
-  }
-
-  /* if a < b then q=0, r = a */
-  if (mp_cmp_mag (a, b) == MP_LT) {
-    if (d != NULL) {
-      res = mp_copy (a, d);
-    } else {
-      res = MP_OKAY;
-    }
-    if (c != NULL) {
-      mp_zero (c);
-    }
-    return res;
-  }
-
-  if ((res = mp_init_size (&q, a->used + 2)) != MP_OKAY) {
-    return res;
-  }
-  q.used = a->used + 2;
-
-  if ((res = mp_init (&t1)) != MP_OKAY) {
-    goto LBL_Q;
-  }
-
-  if ((res = mp_init (&t2)) != MP_OKAY) {
-    goto LBL_T1;
-  }
-
-  if ((res = mp_init_copy (&x, a)) != MP_OKAY) {
-    goto LBL_T2;
-  }
-
-  if ((res = mp_init_copy (&y, b)) != MP_OKAY) {
-    goto LBL_X;
-  }
-
-  /* fix the sign */
-  neg = (a->sign == b->sign) ? MP_ZPOS : MP_NEG;
-  x.sign = y.sign = MP_ZPOS;
-
-  /* normalize both x and y, ensure that y >= b/2, [b == 2**DIGIT_BIT] */
-  norm = mp_count_bits(&y) % DIGIT_BIT;
-  if (norm < (int)(DIGIT_BIT-1)) {
-     norm = (DIGIT_BIT-1) - norm;
-     if ((res = mp_mul_2d (&x, norm, &x)) != MP_OKAY) {
-       goto LBL_Y;
-     }
-     if ((res = mp_mul_2d (&y, norm, &y)) != MP_OKAY) {
-       goto LBL_Y;
-     }
-  } else {
-     norm = 0;
-  }
-
-  /* note hac does 0 based, so if used==5 then its 0,1,2,3,4, e.g. use 4 */
-  n = x.used - 1;
-  t = y.used - 1;
-
-  /* while (x >= y*b**n-t) do { q[n-t] += 1; x -= y*b**{n-t} } */
-  if ((res = mp_lshd (&y, n - t)) != MP_OKAY) { /* y = y*b**{n-t} */
-    goto LBL_Y;
-  }
-
-  while (mp_cmp (&x, &y) != MP_LT) {
-    ++(q.dp[n - t]);
-    if ((res = mp_sub (&x, &y, &x)) != MP_OKAY) {
-      goto LBL_Y;
-    }
-  }
-
-  /* reset y by shifting it back down */
-  mp_rshd (&y, n - t);
-
-  /* step 3. for i from n down to (t + 1) */
-  for (i = n; i >= (t + 1); i--) {
-    if (i > x.used) {
-      continue;
-    }
-
-    /* step 3.1 if xi == yt then set q{i-t-1} to b-1, 
-     * otherwise set q{i-t-1} to (xi*b + x{i-1})/yt */
-    if (x.dp[i] == y.dp[t]) {
-      q.dp[i - t - 1] = ((((mp_digit)1) << DIGIT_BIT) - 1);
-    } else {
-      mp_word tmp;
-      tmp = ((mp_word) x.dp[i]) << ((mp_word) DIGIT_BIT);
-      tmp |= ((mp_word) x.dp[i - 1]);
-      tmp /= ((mp_word) y.dp[t]);
-      if (tmp > (mp_word) MP_MASK)
-        tmp = MP_MASK;
-      q.dp[i - t - 1] = (mp_digit) (tmp & (mp_word) (MP_MASK));
-    }
-
-    /* while (q{i-t-1} * (yt * b + y{t-1})) > 
-             xi * b**2 + xi-1 * b + xi-2 
-     
-       do q{i-t-1} -= 1; 
-    */
-    q.dp[i - t - 1] = (q.dp[i - t - 1] + 1) & MP_MASK;
-    do {
-      q.dp[i - t - 1] = (q.dp[i - t - 1] - 1) & MP_MASK;
-
-      /* find left hand */
-      mp_zero (&t1);
-      t1.dp[0] = (t - 1 < 0) ? 0 : y.dp[t - 1];
-      t1.dp[1] = y.dp[t];
-      t1.used = 2;
-      if ((res = mp_mul_d (&t1, q.dp[i - t - 1], &t1)) != MP_OKAY) {
-        goto LBL_Y;
-      }
-
-      /* find right hand */
-      t2.dp[0] = (i - 2 < 0) ? 0 : x.dp[i - 2];
-      t2.dp[1] = (i - 1 < 0) ? 0 : x.dp[i - 1];
-      t2.dp[2] = x.dp[i];
-      t2.used = 3;
-    } while (mp_cmp_mag(&t1, &t2) == MP_GT);
-
-    /* step 3.3 x = x - q{i-t-1} * y * b**{i-t-1} */
-    if ((res = mp_mul_d (&y, q.dp[i - t - 1], &t1)) != MP_OKAY) {
-      goto LBL_Y;
-    }
-
-    if ((res = mp_lshd (&t1, i - t - 1)) != MP_OKAY) {
-      goto LBL_Y;
-    }
-
-    if ((res = mp_sub (&x, &t1, &x)) != MP_OKAY) {
-      goto LBL_Y;
-    }
-
-    /* if x < 0 then { x = x + y*b**{i-t-1}; q{i-t-1} -= 1; } */
-    if (x.sign == MP_NEG) {
-      if ((res = mp_copy (&y, &t1)) != MP_OKAY) {
-        goto LBL_Y;
-      }
-      if ((res = mp_lshd (&t1, i - t - 1)) != MP_OKAY) {
-        goto LBL_Y;
-      }
-      if ((res = mp_add (&x, &t1, &x)) != MP_OKAY) {
-        goto LBL_Y;
-      }
-
-      q.dp[i - t - 1] = (q.dp[i - t - 1] - 1UL) & MP_MASK;
-    }
-  }
-
-  /* now q is the quotient and x is the remainder 
-   * [which we have to normalize] 
-   */
-  
-  /* get sign before writing to c */
-  x.sign = x.used == 0 ? MP_ZPOS : a->sign;
-
-  if (c != NULL) {
-    mp_clamp (&q);
-    mp_exch (&q, c);
-    c->sign = neg;
-  }
-
-  if (d != NULL) {
-    mp_div_2d (&x, norm, &x, NULL);
-    mp_exch (&x, d);
-  }
-
-  res = MP_OKAY;
-
-LBL_Y:mp_clear (&y);
-LBL_X:mp_clear (&x);
-LBL_T2:mp_clear (&t2);
-LBL_T1:mp_clear (&t1);
-LBL_Q:mp_clear (&q);
-  return res;
-}
-
-#endif
-
-#endif
-
-/* End: bn_mp_div.c */
-
-/* Start: bn_mp_div_2.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_DIV_2_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* b = a/2 */
-int mp_div_2(mp_int * a, mp_int * b)
-{
-  int     x, res, oldused;
-
-  /* copy */
-  if (b->alloc < a->used) {
-    if ((res = mp_grow (b, a->used)) != MP_OKAY) {
-      return res;
-    }
-  }
-
-  oldused = b->used;
-  b->used = a->used;
-  {
-    register mp_digit r, rr, *tmpa, *tmpb;
-
-    /* source alias */
-    tmpa = a->dp + b->used - 1;
-
-    /* dest alias */
-    tmpb = b->dp + b->used - 1;
-
-    /* carry */
-    r = 0;
-    for (x = b->used - 1; x >= 0; x--) {
-      /* get the carry for the next iteration */
-      rr = *tmpa & 1;
-
-      /* shift the current digit, add in carry and store */
-      *tmpb-- = (*tmpa-- >> 1) | (r << (DIGIT_BIT - 1));
-
-      /* forward carry to next iteration */
-      r = rr;
-    }
-
-    /* zero excess digits */
-    tmpb = b->dp + b->used;
-    for (x = b->used; x < oldused; x++) {
-      *tmpb++ = 0;
-    }
-  }
-  b->sign = a->sign;
-  mp_clamp (b);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_div_2.c */
-
-/* Start: bn_mp_div_2d.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_DIV_2D_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* shift right by a certain bit count (store quotient in c, optional remainder in d) */
-int mp_div_2d (mp_int * a, int b, mp_int * c, mp_int * d)
-{
-  mp_digit D, r, rr;
-  int     x, res;
-  mp_int  t;
-
-
-  /* if the shift count is <= 0 then we do no work */
-  if (b <= 0) {
-    res = mp_copy (a, c);
-    if (d != NULL) {
-      mp_zero (d);
-    }
-    return res;
-  }
-
-  if ((res = mp_init (&t)) != MP_OKAY) {
-    return res;
-  }
-
-  /* get the remainder */
-  if (d != NULL) {
-    if ((res = mp_mod_2d (a, b, &t)) != MP_OKAY) {
-      mp_clear (&t);
-      return res;
-    }
-  }
-
-  /* copy */
-  if ((res = mp_copy (a, c)) != MP_OKAY) {
-    mp_clear (&t);
-    return res;
-  }
-
-  /* shift by as many digits in the bit count */
-  if (b >= (int)DIGIT_BIT) {
-    mp_rshd (c, b / DIGIT_BIT);
-  }
-
-  /* shift any bit count < DIGIT_BIT */
-  D = (mp_digit) (b % DIGIT_BIT);
-  if (D != 0) {
-    register mp_digit *tmpc, mask, shift;
-
-    /* mask */
-    mask = (((mp_digit)1) << D) - 1;
-
-    /* shift for lsb */
-    shift = DIGIT_BIT - D;
-
-    /* alias */
-    tmpc = c->dp + (c->used - 1);
-
-    /* carry */
-    r = 0;
-    for (x = c->used - 1; x >= 0; x--) {
-      /* get the lower  bits of this word in a temp */
-      rr = *tmpc & mask;
-
-      /* shift the current word and mix in the carry bits from the previous word */
-      *tmpc = (*tmpc >> D) | (r << shift);
-      --tmpc;
-
-      /* set the carry to the carry bits of the current word found above */
-      r = rr;
-    }
-  }
-  mp_clamp (c);
-  if (d != NULL) {
-    mp_exch (&t, d);
-  }
-  mp_clear (&t);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_div_2d.c */
-
-/* Start: bn_mp_div_3.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_DIV_3_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* divide by three (based on routine from MPI and the GMP manual) */
-int
-mp_div_3 (mp_int * a, mp_int *c, mp_digit * d)
-{
-  mp_int   q;
-  mp_word  w, t;
-  mp_digit b;
-  int      res, ix;
-  
-  /* b = 2**DIGIT_BIT / 3 */
-  b = (((mp_word)1) << ((mp_word)DIGIT_BIT)) / ((mp_word)3);
-
-  if ((res = mp_init_size(&q, a->used)) != MP_OKAY) {
-     return res;
-  }
-  
-  q.used = a->used;
-  q.sign = a->sign;
-  w = 0;
-  for (ix = a->used - 1; ix >= 0; ix--) {
-     w = (w << ((mp_word)DIGIT_BIT)) | ((mp_word)a->dp[ix]);
-
-     if (w >= 3) {
-        /* multiply w by [1/3] */
-        t = (w * ((mp_word)b)) >> ((mp_word)DIGIT_BIT);
-
-        /* now subtract 3 * [w/3] from w, to get the remainder */
-        w -= t+t+t;
-
-        /* fixup the remainder as required since
-         * the optimization is not exact.
-         */
-        while (w >= 3) {
-           t += 1;
-           w -= 3;
-        }
-      } else {
-        t = 0;
-      }
-      q.dp[ix] = (mp_digit)t;
-  }
-
-  /* [optional] store the remainder */
-  if (d != NULL) {
-     *d = (mp_digit)w;
-  }
-
-  /* [optional] store the quotient */
-  if (c != NULL) {
-     mp_clamp(&q);
-     mp_exch(&q, c);
-  }
-  mp_clear(&q);
-  
-  return res;
-}
-
-#endif
-
-/* End: bn_mp_div_3.c */
-
-/* Start: bn_mp_div_d.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_DIV_D_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-static int s_is_power_of_two(mp_digit b, int *p)
-{
-   int x;
-
-   for (x = 1; x < DIGIT_BIT; x++) {
-      if (b == (((mp_digit)1)<<x)) {
-         *p = x;
-         return 1;
-      }
-   }
-   return 0;
-}
-
-/* single digit division (based on routine from MPI) */
-int mp_div_d (mp_int * a, mp_digit b, mp_int * c, mp_digit * d)
-{
-  mp_int  q;
-  mp_word w;
-  mp_digit t;
-  int     res, ix;
-
-  /* cannot divide by zero */
-  if (b == 0) {
-     return MP_VAL;
-  }
-
-  /* quick outs */
-  if (b == 1 || mp_iszero(a) == 1) {
-     if (d != NULL) {
-        *d = 0;
-     }
-     if (c != NULL) {
-        return mp_copy(a, c);
-     }
-     return MP_OKAY;
-  }
-
-  /* power of two ? */
-  if (s_is_power_of_two(b, &ix) == 1) {
-     if (d != NULL) {
-        *d = a->dp[0] & ((((mp_digit)1)<<ix) - 1);
-     }
-     if (c != NULL) {
-        return mp_div_2d(a, ix, c, NULL);
-     }
-     return MP_OKAY;
-  }
-
-#ifdef BN_MP_DIV_3_C
-  /* three? */
-  if (b == 3) {
-     return mp_div_3(a, c, d);
-  }
-#endif
-
-  /* no easy answer [c'est la vie].  Just division */
-  if ((res = mp_init_size(&q, a->used)) != MP_OKAY) {
-     return res;
-  }
-  
-  q.used = a->used;
-  q.sign = a->sign;
-  w = 0;
-  for (ix = a->used - 1; ix >= 0; ix--) {
-     w = (w << ((mp_word)DIGIT_BIT)) | ((mp_word)a->dp[ix]);
-     
-     if (w >= b) {
-        t = (mp_digit)(w / b);
-        w -= ((mp_word)t) * ((mp_word)b);
-      } else {
-        t = 0;
-      }
-      q.dp[ix] = (mp_digit)t;
-  }
-  
-  if (d != NULL) {
-     *d = (mp_digit)w;
-  }
-  
-  if (c != NULL) {
-     mp_clamp(&q);
-     mp_exch(&q, c);
-  }
-  mp_clear(&q);
-  
-  return res;
-}
-
-#endif
-
-/* End: bn_mp_div_d.c */
-
-/* Start: bn_mp_dr_is_modulus.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_DR_IS_MODULUS_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* determines if a number is a valid DR modulus */
-int mp_dr_is_modulus(mp_int *a)
-{
-   int ix;
-
-   /* must be at least two digits */
-   if (a->used < 2) {
-      return 0;
-   }
-
-   /* must be of the form b**k - a [a <= b] so all
-    * but the first digit must be equal to -1 (mod b).
-    */
-   for (ix = 1; ix < a->used; ix++) {
-       if (a->dp[ix] != MP_MASK) {
-          return 0;
-       }
-   }
-   return 1;
-}
-
-#endif
-
-/* End: bn_mp_dr_is_modulus.c */
-
-/* Start: bn_mp_dr_reduce.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_DR_REDUCE_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* reduce "x" in place modulo "n" using the Diminished Radix algorithm.
- *
- * Based on algorithm from the paper
- *
- * "Generating Efficient Primes for Discrete Log Cryptosystems"
- *                 Chae Hoon Lim, Pil Joong Lee,
- *          POSTECH Information Research Laboratories
- *
- * The modulus must be of a special format [see manual]
- *
- * Has been modified to use algorithm 7.10 from the LTM book instead
- *
- * Input x must be in the range 0 <= x <= (n-1)**2
- */
-int
-mp_dr_reduce (mp_int * x, mp_int * n, mp_digit k)
-{
-  int      err, i, m;
-  mp_word  r;
-  mp_digit mu, *tmpx1, *tmpx2;
-
-  /* m = digits in modulus */
-  m = n->used;
-
-  /* ensure that "x" has at least 2m digits */
-  if (x->alloc < m + m) {
-    if ((err = mp_grow (x, m + m)) != MP_OKAY) {
-      return err;
-    }
-  }
-
-/* top of loop, this is where the code resumes if
- * another reduction pass is required.
- */
-top:
-  /* aliases for digits */
-  /* alias for lower half of x */
-  tmpx1 = x->dp;
-
-  /* alias for upper half of x, or x/B**m */
-  tmpx2 = x->dp + m;
-
-  /* set carry to zero */
-  mu = 0;
-
-  /* compute (x mod B**m) + k * [x/B**m] inline and inplace */
-  for (i = 0; i < m; i++) {
-      r         = ((mp_word)*tmpx2++) * ((mp_word)k) + *tmpx1 + mu;
-      *tmpx1++  = (mp_digit)(r & MP_MASK);
-      mu        = (mp_digit)(r >> ((mp_word)DIGIT_BIT));
-  }
-
-  /* set final carry */
-  *tmpx1++ = mu;
-
-  /* zero words above m */
-  for (i = m + 1; i < x->used; i++) {
-      *tmpx1++ = 0;
-  }
-
-  /* clamp, sub and return */
-  mp_clamp (x);
-
-  /* if x >= n then subtract and reduce again
-   * Each successive "recursion" makes the input smaller and smaller.
-   */
-  if (mp_cmp_mag (x, n) != MP_LT) {
-    s_mp_sub(x, n, x);
-    goto top;
-  }
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_dr_reduce.c */
-
-/* Start: bn_mp_dr_setup.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_DR_SETUP_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* determines the setup value */
-void mp_dr_setup(mp_int *a, mp_digit *d)
-{
-   /* the casts are required if DIGIT_BIT is one less than
-    * the number of bits in a mp_digit [e.g. DIGIT_BIT==31]
-    */
-   *d = (mp_digit)((((mp_word)1) << ((mp_word)DIGIT_BIT)) - 
-        ((mp_word)a->dp[0]));
-}
-
-#endif
-
-/* End: bn_mp_dr_setup.c */
-
-/* Start: bn_mp_exch.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_EXCH_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* swap the elements of two integers, for cases where you can't simply swap the 
- * mp_int pointers around
- */
-void
-mp_exch (mp_int * a, mp_int * b)
-{
-  mp_int  t;
-
-  t  = *a;
-  *a = *b;
-  *b = t;
-}
-#endif
-
-/* End: bn_mp_exch.c */
-
-/* Start: bn_mp_expt_d.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_EXPT_D_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* calculate c = a**b  using a square-multiply algorithm */
-int mp_expt_d (mp_int * a, mp_digit b, mp_int * c)
-{
-  int     res, x;
-  mp_int  g;
-
-  if ((res = mp_init_copy (&g, a)) != MP_OKAY) {
-    return res;
-  }
-
-  /* set initial result */
-  mp_set (c, 1);
-
-  for (x = 0; x < (int) DIGIT_BIT; x++) {
-    /* square */
-    if ((res = mp_sqr (c, c)) != MP_OKAY) {
-      mp_clear (&g);
-      return res;
-    }
-
-    /* if the bit is set multiply */
-    if ((b & (mp_digit) (((mp_digit)1) << (DIGIT_BIT - 1))) != 0) {
-      if ((res = mp_mul (c, &g, c)) != MP_OKAY) {
-         mp_clear (&g);
-         return res;
-      }
-    }
-
-    /* shift to next bit */
-    b <<= 1;
-  }
-
-  mp_clear (&g);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_expt_d.c */
-
-/* Start: bn_mp_exptmod.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_EXPTMOD_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-
-/* this is a shell function that calls either the normal or Montgomery
- * exptmod functions.  Originally the call to the montgomery code was
- * embedded in the normal function but that wasted alot of stack space
- * for nothing (since 99% of the time the Montgomery code would be called)
- */
-int mp_exptmod (mp_int * G, mp_int * X, mp_int * P, mp_int * Y)
-{
-  int dr;
-
-  /* modulus P must be positive */
-  if (P->sign == MP_NEG) {
-     return MP_VAL;
-  }
-
-  /* if exponent X is negative we have to recurse */
-  if (X->sign == MP_NEG) {
-#ifdef BN_MP_INVMOD_C
-     mp_int tmpG, tmpX;
-     int err;
-
-     /* first compute 1/G mod P */
-     if ((err = mp_init(&tmpG)) != MP_OKAY) {
-        return err;
-     }
-     if ((err = mp_invmod(G, P, &tmpG)) != MP_OKAY) {
-        mp_clear(&tmpG);
-        return err;
-     }
-
-     /* now get |X| */
-     if ((err = mp_init(&tmpX)) != MP_OKAY) {
-        mp_clear(&tmpG);
-        return err;
-     }
-     if ((err = mp_abs(X, &tmpX)) != MP_OKAY) {
-        mp_clear_multi(&tmpG, &tmpX, NULL);
-        return err;
-     }
-
-     /* and now compute (1/G)**|X| instead of G**X [X < 0] */
-     err = mp_exptmod(&tmpG, &tmpX, P, Y);
-     mp_clear_multi(&tmpG, &tmpX, NULL);
-     return err;
-#else 
-     /* no invmod */
-     return MP_VAL;
-#endif
-  }
-
-/* modified diminished radix reduction */
-#if defined(BN_MP_REDUCE_IS_2K_L_C) && defined(BN_MP_REDUCE_2K_L_C)
-  if (mp_reduce_is_2k_l(P) == MP_YES) {
-     return s_mp_exptmod(G, X, P, Y, 1);
-  }
-#endif
-
-#ifdef BN_MP_DR_IS_MODULUS_C
-  /* is it a DR modulus? */
-  dr = mp_dr_is_modulus(P);
-#else
-  /* default to no */
-  dr = 0;
-#endif
-
-#ifdef BN_MP_REDUCE_IS_2K_C
-  /* if not, is it a unrestricted DR modulus? */
-  if (dr == 0) {
-     dr = mp_reduce_is_2k(P) << 1;
-  }
-#endif
-    
-  /* if the modulus is odd or dr != 0 use the montgomery method */
-#ifdef BN_MP_EXPTMOD_FAST_C
-  if (mp_isodd (P) == 1 || dr !=  0) {
-    return mp_exptmod_fast (G, X, P, Y, dr);
-  } else {
-#endif
-#ifdef BN_S_MP_EXPTMOD_C
-    /* otherwise use the generic Barrett reduction technique */
-    return s_mp_exptmod (G, X, P, Y, 0);
-#else
-    /* no exptmod for evens */
-    return MP_VAL;
-#endif
-#ifdef BN_MP_EXPTMOD_FAST_C
-  }
-#endif
-}
-
-#endif
-
-/* End: bn_mp_exptmod.c */
-
-/* Start: bn_mp_exptmod_fast.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_EXPTMOD_FAST_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* computes Y == G**X mod P, HAC pp.616, Algorithm 14.85
- *
- * Uses a left-to-right k-ary sliding window to compute the modular exponentiation.
- * The value of k changes based on the size of the exponent.
- *
- * Uses Montgomery or Diminished Radix reduction [whichever appropriate]
- */
-
-#ifdef MP_LOW_MEM
-   #define TAB_SIZE 32
-#else
-   #define TAB_SIZE 256
-#endif
-
-int mp_exptmod_fast (mp_int * G, mp_int * X, mp_int * P, mp_int * Y, int redmode)
-{
-  mp_int  M[TAB_SIZE], res;
-  mp_digit buf, mp;
-  int     err, bitbuf, bitcpy, bitcnt, mode, digidx, x, y, winsize;
-
-  /* use a pointer to the reduction algorithm.  This allows us to use
-   * one of many reduction algorithms without modding the guts of
-   * the code with if statements everywhere.
-   */
-  int     (*redux)(mp_int*,mp_int*,mp_digit);
-
-  /* find window size */
-  x = mp_count_bits (X);
-  if (x <= 7) {
-    winsize = 2;
-  } else if (x <= 36) {
-    winsize = 3;
-  } else if (x <= 140) {
-    winsize = 4;
-  } else if (x <= 450) {
-    winsize = 5;
-  } else if (x <= 1303) {
-    winsize = 6;
-  } else if (x <= 3529) {
-    winsize = 7;
-  } else {
-    winsize = 8;
-  }
-
-#ifdef MP_LOW_MEM
-  if (winsize > 5) {
-     winsize = 5;
-  }
-#endif
-
-  /* init M array */
-  /* init first cell */
-  if ((err = mp_init(&M[1])) != MP_OKAY) {
-     return err;
-  }
-
-  /* now init the second half of the array */
-  for (x = 1<<(winsize-1); x < (1 << winsize); x++) {
-    if ((err = mp_init(&M[x])) != MP_OKAY) {
-      for (y = 1<<(winsize-1); y < x; y++) {
-        mp_clear (&M[y]);
-      }
-      mp_clear(&M[1]);
-      return err;
-    }
-  }
-
-  /* determine and setup reduction code */
-  if (redmode == 0) {
-#ifdef BN_MP_MONTGOMERY_SETUP_C     
-     /* now setup montgomery  */
-     if ((err = mp_montgomery_setup (P, &mp)) != MP_OKAY) {
-        goto LBL_M;
-     }
-#else
-     err = MP_VAL;
-     goto LBL_M;
-#endif
-
-     /* automatically pick the comba one if available (saves quite a few calls/ifs) */
-#ifdef BN_FAST_MP_MONTGOMERY_REDUCE_C
-     if (((P->used * 2 + 1) < MP_WARRAY) &&
-          P->used < (1 << ((CHAR_BIT * sizeof (mp_word)) - (2 * DIGIT_BIT)))) {
-        redux = fast_mp_montgomery_reduce;
-     } else 
-#endif
-     {
-#ifdef BN_MP_MONTGOMERY_REDUCE_C
-        /* use slower baseline Montgomery method */
-        redux = mp_montgomery_reduce;
-#else
-        err = MP_VAL;
-        goto LBL_M;
-#endif
-     }
-  } else if (redmode == 1) {
-#if defined(BN_MP_DR_SETUP_C) && defined(BN_MP_DR_REDUCE_C)
-     /* setup DR reduction for moduli of the form B**k - b */
-     mp_dr_setup(P, &mp);
-     redux = mp_dr_reduce;
-#else
-     err = MP_VAL;
-     goto LBL_M;
-#endif
-  } else {
-#if defined(BN_MP_REDUCE_2K_SETUP_C) && defined(BN_MP_REDUCE_2K_C)
-     /* setup DR reduction for moduli of the form 2**k - b */
-     if ((err = mp_reduce_2k_setup(P, &mp)) != MP_OKAY) {
-        goto LBL_M;
-     }
-     redux = mp_reduce_2k;
-#else
-     err = MP_VAL;
-     goto LBL_M;
-#endif
-  }
-
-  /* setup result */
-  if ((err = mp_init (&res)) != MP_OKAY) {
-    goto LBL_M;
-  }
-
-  /* create M table
-   *
-
-   *
-   * The first half of the table is not computed though accept for M[0] and M[1]
-   */
-
-  if (redmode == 0) {
-#ifdef BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
-     /* now we need R mod m */
-     if ((err = mp_montgomery_calc_normalization (&res, P)) != MP_OKAY) {
-       goto LBL_RES;
-     }
-#else 
-     err = MP_VAL;
-     goto LBL_RES;
-#endif
-
-     /* now set M[1] to G * R mod m */
-     if ((err = mp_mulmod (G, &res, P, &M[1])) != MP_OKAY) {
-       goto LBL_RES;
-     }
-  } else {
-     mp_set(&res, 1);
-     if ((err = mp_mod(G, P, &M[1])) != MP_OKAY) {
-        goto LBL_RES;
-     }
-  }
-
-  /* compute the value at M[1<<(winsize-1)] by squaring M[1] (winsize-1) times */
-  if ((err = mp_copy (&M[1], &M[1 << (winsize - 1)])) != MP_OKAY) {
-    goto LBL_RES;
-  }
-
-  for (x = 0; x < (winsize - 1); x++) {
-    if ((err = mp_sqr (&M[1 << (winsize - 1)], &M[1 << (winsize - 1)])) != MP_OKAY) {
-      goto LBL_RES;
-    }
-    if ((err = redux (&M[1 << (winsize - 1)], P, mp)) != MP_OKAY) {
-      goto LBL_RES;
-    }
-  }
-
-  /* create upper table */
-  for (x = (1 << (winsize - 1)) + 1; x < (1 << winsize); x++) {
-    if ((err = mp_mul (&M[x - 1], &M[1], &M[x])) != MP_OKAY) {
-      goto LBL_RES;
-    }
-    if ((err = redux (&M[x], P, mp)) != MP_OKAY) {
-      goto LBL_RES;
-    }
-  }
-
-  /* set initial mode and bit cnt */
-  mode   = 0;
-  bitcnt = 1;
-  buf    = 0;
-  digidx = X->used - 1;
-  bitcpy = 0;
-  bitbuf = 0;
-
-  for (;;) {
-    /* grab next digit as required */
-    if (--bitcnt == 0) {
-      /* if digidx == -1 we are out of digits so break */
-      if (digidx == -1) {
-        break;
-      }
-      /* read next digit and reset bitcnt */
-      buf    = X->dp[digidx--];
-      bitcnt = (int)DIGIT_BIT;
-    }
-
-    /* grab the next msb from the exponent */
-    y     = (mp_digit)(buf >> (DIGIT_BIT - 1)) & 1;
-    buf <<= (mp_digit)1;
-
-    /* if the bit is zero and mode == 0 then we ignore it
-     * These represent the leading zero bits before the first 1 bit
-     * in the exponent.  Technically this opt is not required but it
-     * does lower the # of trivial squaring/reductions used
-     */
-    if (mode == 0 && y == 0) {
-      continue;
-    }
-
-    /* if the bit is zero and mode == 1 then we square */
-    if (mode == 1 && y == 0) {
-      if ((err = mp_sqr (&res, &res)) != MP_OKAY) {
-        goto LBL_RES;
-      }
-      if ((err = redux (&res, P, mp)) != MP_OKAY) {
-        goto LBL_RES;
-      }
-      continue;
-    }
-
-    /* else we add it to the window */
-    bitbuf |= (y << (winsize - ++bitcpy));
-    mode    = 2;
-
-    if (bitcpy == winsize) {
-      /* ok window is filled so square as required and multiply  */
-      /* square first */
-      for (x = 0; x < winsize; x++) {
-        if ((err = mp_sqr (&res, &res)) != MP_OKAY) {
-          goto LBL_RES;
-        }
-        if ((err = redux (&res, P, mp)) != MP_OKAY) {
-          goto LBL_RES;
-        }
-      }
-
-      /* then multiply */
-      if ((err = mp_mul (&res, &M[bitbuf], &res)) != MP_OKAY) {
-        goto LBL_RES;
-      }
-      if ((err = redux (&res, P, mp)) != MP_OKAY) {
-        goto LBL_RES;
-      }
-
-      /* empty window and reset */
-      bitcpy = 0;
-      bitbuf = 0;
-      mode   = 1;
-    }
-  }
-
-  /* if bits remain then square/multiply */
-  if (mode == 2 && bitcpy > 0) {
-    /* square then multiply if the bit is set */
-    for (x = 0; x < bitcpy; x++) {
-      if ((err = mp_sqr (&res, &res)) != MP_OKAY) {
-        goto LBL_RES;
-      }
-      if ((err = redux (&res, P, mp)) != MP_OKAY) {
-        goto LBL_RES;
-      }
-
-      /* get next bit of the window */
-      bitbuf <<= 1;
-      if ((bitbuf & (1 << winsize)) != 0) {
-        /* then multiply */
-        if ((err = mp_mul (&res, &M[1], &res)) != MP_OKAY) {
-          goto LBL_RES;
-        }
-        if ((err = redux (&res, P, mp)) != MP_OKAY) {
-          goto LBL_RES;
-        }
-      }
-    }
-  }
-
-  if (redmode == 0) {
-     /* fixup result if Montgomery reduction is used
-      * recall that any value in a Montgomery system is
-      * actually multiplied by R mod n.  So we have
-      * to reduce one more time to cancel out the factor
-      * of R.
-      */
-     if ((err = redux(&res, P, mp)) != MP_OKAY) {
-       goto LBL_RES;
-     }
-  }
-
-  /* swap res with Y */
-  mp_exch (&res, Y);
-  err = MP_OKAY;
-LBL_RES:mp_clear (&res);
-LBL_M:
-  mp_clear(&M[1]);
-  for (x = 1<<(winsize-1); x < (1 << winsize); x++) {
-    mp_clear (&M[x]);
-  }
-  return err;
-}
-#endif
-
-
-/* End: bn_mp_exptmod_fast.c */
-
-/* Start: bn_mp_exteuclid.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_EXTEUCLID_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* Extended euclidean algorithm of (a, b) produces 
-   a*u1 + b*u2 = u3
- */
-int mp_exteuclid(mp_int *a, mp_int *b, mp_int *U1, mp_int *U2, mp_int *U3)
-{
-   mp_int u1,u2,u3,v1,v2,v3,t1,t2,t3,q,tmp;
-   int err;
-
-   if ((err = mp_init_multi(&u1, &u2, &u3, &v1, &v2, &v3, &t1, &t2, &t3, &q, &tmp, NULL)) != MP_OKAY) {
-      return err;
-   }
-
-   /* initialize, (u1,u2,u3) = (1,0,a) */
-   mp_set(&u1, 1);
-   if ((err = mp_copy(a, &u3)) != MP_OKAY)                                        { goto _ERR; }
-
-   /* initialize, (v1,v2,v3) = (0,1,b) */
-   mp_set(&v2, 1);
-   if ((err = mp_copy(b, &v3)) != MP_OKAY)                                        { goto _ERR; }
-
-   /* loop while v3 != 0 */
-   while (mp_iszero(&v3) == MP_NO) {
-       /* q = u3/v3 */
-       if ((err = mp_div(&u3, &v3, &q, NULL)) != MP_OKAY)                         { goto _ERR; }
-
-       /* (t1,t2,t3) = (u1,u2,u3) - (v1,v2,v3)q */
-       if ((err = mp_mul(&v1, &q, &tmp)) != MP_OKAY)                              { goto _ERR; }
-       if ((err = mp_sub(&u1, &tmp, &t1)) != MP_OKAY)                             { goto _ERR; }
-       if ((err = mp_mul(&v2, &q, &tmp)) != MP_OKAY)                              { goto _ERR; }
-       if ((err = mp_sub(&u2, &tmp, &t2)) != MP_OKAY)                             { goto _ERR; }
-       if ((err = mp_mul(&v3, &q, &tmp)) != MP_OKAY)                              { goto _ERR; }
-       if ((err = mp_sub(&u3, &tmp, &t3)) != MP_OKAY)                             { goto _ERR; }
-
-       /* (u1,u2,u3) = (v1,v2,v3) */
-       if ((err = mp_copy(&v1, &u1)) != MP_OKAY)                                  { goto _ERR; }
-       if ((err = mp_copy(&v2, &u2)) != MP_OKAY)                                  { goto _ERR; }
-       if ((err = mp_copy(&v3, &u3)) != MP_OKAY)                                  { goto _ERR; }
-
-       /* (v1,v2,v3) = (t1,t2,t3) */
-       if ((err = mp_copy(&t1, &v1)) != MP_OKAY)                                  { goto _ERR; }
-       if ((err = mp_copy(&t2, &v2)) != MP_OKAY)                                  { goto _ERR; }
-       if ((err = mp_copy(&t3, &v3)) != MP_OKAY)                                  { goto _ERR; }
-   }
-
-   /* make sure U3 >= 0 */
-   if (u3.sign == MP_NEG) {
-      mp_neg(&u1, &u1);
-      mp_neg(&u2, &u2);
-      mp_neg(&u3, &u3);
-   }
-
-   /* copy result out */
-   if (U1 != NULL) { mp_exch(U1, &u1); }
-   if (U2 != NULL) { mp_exch(U2, &u2); }
-   if (U3 != NULL) { mp_exch(U3, &u3); }
-
-   err = MP_OKAY;
-_ERR: mp_clear_multi(&u1, &u2, &u3, &v1, &v2, &v3, &t1, &t2, &t3, &q, &tmp, NULL);
-   return err;
-}
-#endif
-
-/* End: bn_mp_exteuclid.c */
-
-/* Start: bn_mp_fread.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_FREAD_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* read a bigint from a file stream in ASCII */
-int mp_fread(mp_int *a, int radix, FILE *stream)
-{
-   int err, ch, neg, y;
-   
-   /* clear a */
-   mp_zero(a);
-   
-   /* if first digit is - then set negative */
-   ch = fgetc(stream);
-   if (ch == '-') {
-      neg = MP_NEG;
-      ch = fgetc(stream);
-   } else {
-      neg = MP_ZPOS;
-   }
-   
-   for (;;) {
-      /* find y in the radix map */
-      for (y = 0; y < radix; y++) {
-          if (mp_s_rmap[y] == ch) {
-             break;
-          }
-      }
-      if (y == radix) {
-         break;
-      }
-      
-      /* shift up and add */
-      if ((err = mp_mul_d(a, radix, a)) != MP_OKAY) {
-         return err;
-      }
-      if ((err = mp_add_d(a, y, a)) != MP_OKAY) {
-         return err;
-      }
-      
-      ch = fgetc(stream);
-   }
-   if (mp_cmp_d(a, 0) != MP_EQ) {
-      a->sign = neg;
-   }
-   
-   return MP_OKAY;
-}
-
-#endif
-
-/* End: bn_mp_fread.c */
-
-/* Start: bn_mp_fwrite.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_FWRITE_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-int mp_fwrite(mp_int *a, int radix, FILE *stream)
-{
-   char *buf;
-   int err, len, x;
-   
-   if ((err = mp_radix_size(a, radix, &len)) != MP_OKAY) {
-      return err;
-   }
-
-   buf = OPT_CAST(char) XMALLOC (len);
-   if (buf == NULL) {
-      return MP_MEM;
-   }
-   
-   if ((err = mp_toradix(a, buf, radix)) != MP_OKAY) {
-      XFREE (buf);
-      return err;
-   }
-   
-   for (x = 0; x < len; x++) {
-       if (fputc(buf[x], stream) == EOF) {
-          XFREE (buf);
-          return MP_VAL;
-       }
-   }
-   
-   XFREE (buf);
-   return MP_OKAY;
-}
-
-#endif
-
-/* End: bn_mp_fwrite.c */
-
-/* Start: bn_mp_gcd.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_GCD_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* Greatest Common Divisor using the binary method */
-int mp_gcd (mp_int * a, mp_int * b, mp_int * c)
-{
-  mp_int  u, v;
-  int     k, u_lsb, v_lsb, res;
-
-  /* either zero than gcd is the largest */
-  if (mp_iszero (a) == 1 && mp_iszero (b) == 0) {
-    return mp_abs (b, c);
-  }
-  if (mp_iszero (a) == 0 && mp_iszero (b) == 1) {
-    return mp_abs (a, c);
-  }
-
-  /* optimized.  At this point if a == 0 then
-   * b must equal zero too
-   */
-  if (mp_iszero (a) == 1) {
-    mp_zero(c);
-    return MP_OKAY;
-  }
-
-  /* get copies of a and b we can modify */
-  if ((res = mp_init_copy (&u, a)) != MP_OKAY) {
-    return res;
-  }
-
-  if ((res = mp_init_copy (&v, b)) != MP_OKAY) {
-    goto LBL_U;
-  }
-
-  /* must be positive for the remainder of the algorithm */
-  u.sign = v.sign = MP_ZPOS;
-
-  /* B1.  Find the common power of two for u and v */
-  u_lsb = mp_cnt_lsb(&u);
-  v_lsb = mp_cnt_lsb(&v);
-  k     = MIN(u_lsb, v_lsb);
-
-  if (k > 0) {
-     /* divide the power of two out */
-     if ((res = mp_div_2d(&u, k, &u, NULL)) != MP_OKAY) {
-        goto LBL_V;
-     }
-
-     if ((res = mp_div_2d(&v, k, &v, NULL)) != MP_OKAY) {
-        goto LBL_V;
-     }
-  }
-
-  /* divide any remaining factors of two out */
-  if (u_lsb != k) {
-     if ((res = mp_div_2d(&u, u_lsb - k, &u, NULL)) != MP_OKAY) {
-        goto LBL_V;
-     }
-  }
-
-  if (v_lsb != k) {
-     if ((res = mp_div_2d(&v, v_lsb - k, &v, NULL)) != MP_OKAY) {
-        goto LBL_V;
-     }
-  }
-
-  while (mp_iszero(&v) == 0) {
-     /* make sure v is the largest */
-     if (mp_cmp_mag(&u, &v) == MP_GT) {
-        /* swap u and v to make sure v is >= u */
-        mp_exch(&u, &v);
-     }
-     
-     /* subtract smallest from largest */
-     if ((res = s_mp_sub(&v, &u, &v)) != MP_OKAY) {
-        goto LBL_V;
-     }
-     
-     /* Divide out all factors of two */
-     if ((res = mp_div_2d(&v, mp_cnt_lsb(&v), &v, NULL)) != MP_OKAY) {
-        goto LBL_V;
-     } 
-  } 
-
-  /* multiply by 2**k which we divided out at the beginning */
-  if ((res = mp_mul_2d (&u, k, c)) != MP_OKAY) {
-     goto LBL_V;
-  }
-  c->sign = MP_ZPOS;
-  res = MP_OKAY;
-LBL_V:mp_clear (&u);
-LBL_U:mp_clear (&v);
-  return res;
-}
-#endif
-
-/* End: bn_mp_gcd.c */
-
-/* Start: bn_mp_get_int.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_GET_INT_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* get the lower 32-bits of an mp_int */
-unsigned long mp_get_int(mp_int * a) 
-{
-  int i;
-  unsigned long res;
-
-  if (a->used == 0) {
-     return 0;
-  }
-
-  /* get number of digits of the lsb we have to read */
-  i = MIN(a->used,(int)((sizeof(unsigned long)*CHAR_BIT+DIGIT_BIT-1)/DIGIT_BIT))-1;
-
-  /* get most significant digit of result */
-  res = DIGIT(a,i);
-   
-  while (--i >= 0) {
-    res = (res << DIGIT_BIT) | DIGIT(a,i);
-  }
-
-  /* force result to 32-bits always so it is consistent on non 32-bit platforms */
-  return res & 0xFFFFFFFFUL;
-}
-#endif
-
-/* End: bn_mp_get_int.c */
-
-/* Start: bn_mp_grow.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_GROW_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* grow as required */
-int mp_grow (mp_int * a, int size)
-{
-  int     i;
-  mp_digit *tmp;
-
-  /* if the alloc size is smaller alloc more ram */
-  if (a->alloc < size) {
-    /* ensure there are always at least MP_PREC digits extra on top */
-    size += (MP_PREC * 2) - (size % MP_PREC);
-
-    /* reallocate the array a->dp
-     *
-     * We store the return in a temporary variable
-     * in case the operation failed we don't want
-     * to overwrite the dp member of a.
-     */
-    tmp = OPT_CAST(mp_digit) XREALLOC (a->dp, sizeof (mp_digit) * size);
-    if (tmp == NULL) {
-      /* reallocation failed but "a" is still valid [can be freed] */
-      return MP_MEM;
-    }
-
-    /* reallocation succeeded so set a->dp */
-    a->dp = tmp;
-
-    /* zero excess digits */
-    i        = a->alloc;
-    a->alloc = size;
-    for (; i < a->alloc; i++) {
-      a->dp[i] = 0;
-    }
-  }
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_grow.c */
-
-/* Start: bn_mp_init.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_INIT_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* init a new mp_int */
-int mp_init (mp_int * a)
-{
-  int i;
-
-  /* allocate memory required and clear it */
-  a->dp = OPT_CAST(mp_digit) XMALLOC (sizeof (mp_digit) * MP_PREC);
-  if (a->dp == NULL) {
-    return MP_MEM;
-  }
-
-  /* set the digits to zero */
-  for (i = 0; i < MP_PREC; i++) {
-      a->dp[i] = 0;
-  }
-
-  /* set the used to zero, allocated digits to the default precision
-   * and sign to positive */
-  a->used  = 0;
-  a->alloc = MP_PREC;
-  a->sign  = MP_ZPOS;
-
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_init.c */
-
-/* Start: bn_mp_init_copy.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_INIT_COPY_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* creates "a" then copies b into it */
-int mp_init_copy (mp_int * a, mp_int * b)
-{
-  int     res;
-
-  if ((res = mp_init (a)) != MP_OKAY) {
-    return res;
-  }
-  return mp_copy (b, a);
-}
-#endif
-
-/* End: bn_mp_init_copy.c */
-
-/* Start: bn_mp_init_multi.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_INIT_MULTI_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-#include <stdarg.h>
-
-int mp_init_multi(mp_int *mp, ...) 
-{
-    mp_err res = MP_OKAY;      /* Assume ok until proven otherwise */
-    int n = 0;                 /* Number of ok inits */
-    mp_int* cur_arg = mp;
-    va_list args;
-
-    va_start(args, mp);        /* init args to next argument from caller */
-    while (cur_arg != NULL) {
-        if (mp_init(cur_arg) != MP_OKAY) {
-            /* Oops - error! Back-track and mp_clear what we already
-               succeeded in init-ing, then return error.
-            */
-            va_list clean_args;
-            
-            /* end the current list */
-            va_end(args);
-            
-            /* now start cleaning up */            
-            cur_arg = mp;
-            va_start(clean_args, mp);
-            while (n--) {
-                mp_clear(cur_arg);
-                cur_arg = va_arg(clean_args, mp_int*);
-            }
-            va_end(clean_args);
-            res = MP_MEM;
-            break;
-        }
-        n++;
-        cur_arg = va_arg(args, mp_int*);
-    }
-    va_end(args);
-    return res;                /* Assumed ok, if error flagged above. */
-}
-
-#endif
-
-/* End: bn_mp_init_multi.c */
-
-/* Start: bn_mp_init_set.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_INIT_SET_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* initialize and set a digit */
-int mp_init_set (mp_int * a, mp_digit b)
-{
-  int err;
-  if ((err = mp_init(a)) != MP_OKAY) {
-     return err;
-  }
-  mp_set(a, b);
-  return err;
-}
-#endif
-
-/* End: bn_mp_init_set.c */
-
-/* Start: bn_mp_init_set_int.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_INIT_SET_INT_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* initialize and set a digit */
-int mp_init_set_int (mp_int * a, unsigned long b)
-{
-  int err;
-  if ((err = mp_init(a)) != MP_OKAY) {
-     return err;
-  }
-  return mp_set_int(a, b);
-}
-#endif
-
-/* End: bn_mp_init_set_int.c */
-
-/* Start: bn_mp_init_size.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_INIT_SIZE_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* init an mp_init for a given size */
-int mp_init_size (mp_int * a, int size)
-{
-  int x;
-
-  /* pad size so there are always extra digits */
-  size += (MP_PREC * 2) - (size % MP_PREC);	
-  
-  /* alloc mem */
-  a->dp = OPT_CAST(mp_digit) XMALLOC (sizeof (mp_digit) * size);
-  if (a->dp == NULL) {
-    return MP_MEM;
-  }
-
-  /* set the members */
-  a->used  = 0;
-  a->alloc = size;
-  a->sign  = MP_ZPOS;
-
-  /* zero the digits */
-  for (x = 0; x < size; x++) {
-      a->dp[x] = 0;
-  }
-
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_init_size.c */
-
-/* Start: bn_mp_invmod.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_INVMOD_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* hac 14.61, pp608 */
-int mp_invmod (mp_int * a, mp_int * b, mp_int * c)
-{
-  /* b cannot be negative */
-  if (b->sign == MP_NEG || mp_iszero(b) == 1) {
-    return MP_VAL;
-  }
-
-#ifdef BN_FAST_MP_INVMOD_C
-  /* if the modulus is odd we can use a faster routine instead */
-  if (mp_isodd (b) == 1) {
-    return fast_mp_invmod (a, b, c);
-  }
-#endif
-
-#ifdef BN_MP_INVMOD_SLOW_C
-  return mp_invmod_slow(a, b, c);
-#endif
-
-  return MP_VAL;
-}
-#endif
-
-/* End: bn_mp_invmod.c */
-
-/* Start: bn_mp_invmod_slow.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_INVMOD_SLOW_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* hac 14.61, pp608 */
-int mp_invmod_slow (mp_int * a, mp_int * b, mp_int * c)
-{
-  mp_int  x, y, u, v, A, B, C, D;
-  int     res;
-
-  /* b cannot be negative */
-  if (b->sign == MP_NEG || mp_iszero(b) == 1) {
-    return MP_VAL;
-  }
-
-  /* init temps */
-  if ((res = mp_init_multi(&x, &y, &u, &v, 
-                           &A, &B, &C, &D, NULL)) != MP_OKAY) {
-     return res;
-  }
-
-  /* x = a, y = b */
-  if ((res = mp_mod(a, b, &x)) != MP_OKAY) {
-      goto LBL_ERR;
-  }
-  if ((res = mp_copy (b, &y)) != MP_OKAY) {
-    goto LBL_ERR;
-  }
-
-  /* 2. [modified] if x,y are both even then return an error! */
-  if (mp_iseven (&x) == 1 && mp_iseven (&y) == 1) {
-    res = MP_VAL;
-    goto LBL_ERR;
-  }
-
-  /* 3. u=x, v=y, A=1, B=0, C=0,D=1 */
-  if ((res = mp_copy (&x, &u)) != MP_OKAY) {
-    goto LBL_ERR;
-  }
-  if ((res = mp_copy (&y, &v)) != MP_OKAY) {
-    goto LBL_ERR;
-  }
-  mp_set (&A, 1);
-  mp_set (&D, 1);
-
-top:
-  /* 4.  while u is even do */
-  while (mp_iseven (&u) == 1) {
-    /* 4.1 u = u/2 */
-    if ((res = mp_div_2 (&u, &u)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-    /* 4.2 if A or B is odd then */
-    if (mp_isodd (&A) == 1 || mp_isodd (&B) == 1) {
-      /* A = (A+y)/2, B = (B-x)/2 */
-      if ((res = mp_add (&A, &y, &A)) != MP_OKAY) {
-         goto LBL_ERR;
-      }
-      if ((res = mp_sub (&B, &x, &B)) != MP_OKAY) {
-         goto LBL_ERR;
-      }
-    }
-    /* A = A/2, B = B/2 */
-    if ((res = mp_div_2 (&A, &A)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-    if ((res = mp_div_2 (&B, &B)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-  }
-
-  /* 5.  while v is even do */
-  while (mp_iseven (&v) == 1) {
-    /* 5.1 v = v/2 */
-    if ((res = mp_div_2 (&v, &v)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-    /* 5.2 if C or D is odd then */
-    if (mp_isodd (&C) == 1 || mp_isodd (&D) == 1) {
-      /* C = (C+y)/2, D = (D-x)/2 */
-      if ((res = mp_add (&C, &y, &C)) != MP_OKAY) {
-         goto LBL_ERR;
-      }
-      if ((res = mp_sub (&D, &x, &D)) != MP_OKAY) {
-         goto LBL_ERR;
-      }
-    }
-    /* C = C/2, D = D/2 */
-    if ((res = mp_div_2 (&C, &C)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-    if ((res = mp_div_2 (&D, &D)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-  }
-
-  /* 6.  if u >= v then */
-  if (mp_cmp (&u, &v) != MP_LT) {
-    /* u = u - v, A = A - C, B = B - D */
-    if ((res = mp_sub (&u, &v, &u)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-
-    if ((res = mp_sub (&A, &C, &A)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-
-    if ((res = mp_sub (&B, &D, &B)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-  } else {
-    /* v - v - u, C = C - A, D = D - B */
-    if ((res = mp_sub (&v, &u, &v)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-
-    if ((res = mp_sub (&C, &A, &C)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-
-    if ((res = mp_sub (&D, &B, &D)) != MP_OKAY) {
-      goto LBL_ERR;
-    }
-  }
-
-  /* if not zero goto step 4 */
-  if (mp_iszero (&u) == 0)
-    goto top;
-
-  /* now a = C, b = D, gcd == g*v */
-
-  /* if v != 1 then there is no inverse */
-  if (mp_cmp_d (&v, 1) != MP_EQ) {
-    res = MP_VAL;
-    goto LBL_ERR;
-  }
-
-  /* if its too low */
-  while (mp_cmp_d(&C, 0) == MP_LT) {
-      if ((res = mp_add(&C, b, &C)) != MP_OKAY) {
-         goto LBL_ERR;
-      }
-  }
-  
-  /* too big */
-  while (mp_cmp_mag(&C, b) != MP_LT) {
-      if ((res = mp_sub(&C, b, &C)) != MP_OKAY) {
-         goto LBL_ERR;
-      }
-  }
-  
-  /* C is now the inverse */
-  mp_exch (&C, c);
-  res = MP_OKAY;
-LBL_ERR:mp_clear_multi (&x, &y, &u, &v, &A, &B, &C, &D, NULL);
-  return res;
-}
-#endif
-
-/* End: bn_mp_invmod_slow.c */
-
-/* Start: bn_mp_is_square.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_IS_SQUARE_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* Check if remainders are possible squares - fast exclude non-squares */
-static const char rem_128[128] = {
- 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
- 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
- 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
- 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
- 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
- 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
- 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
- 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1
-};
-
-static const char rem_105[105] = {
- 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1,
- 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1,
- 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1,
- 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
- 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
- 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1,
- 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1
-};
-
-/* Store non-zero to ret if arg is square, and zero if not */
-int mp_is_square(mp_int *arg,int *ret) 
-{
-  int           res;
-  mp_digit      c;
-  mp_int        t;
-  unsigned long r;
-
-  /* Default to Non-square :) */
-  *ret = MP_NO; 
-
-  if (arg->sign == MP_NEG) {
-    return MP_VAL;
-  }
-
-  /* digits used?  (TSD) */
-  if (arg->used == 0) {
-     return MP_OKAY;
-  }
-
-  /* First check mod 128 (suppose that DIGIT_BIT is at least 7) */
-  if (rem_128[127 & DIGIT(arg,0)] == 1) {
-     return MP_OKAY;
-  }
-
-  /* Next check mod 105 (3*5*7) */
-  if ((res = mp_mod_d(arg,105,&c)) != MP_OKAY) {
-     return res;
-  }
-  if (rem_105[c] == 1) {
-     return MP_OKAY;
-  }
-
-
-  if ((res = mp_init_set_int(&t,11L*13L*17L*19L*23L*29L*31L)) != MP_OKAY) {
-     return res;
-  }
-  if ((res = mp_mod(arg,&t,&t)) != MP_OKAY) {
-     goto ERR;
-  }
-  r = mp_get_int(&t);
-  /* Check for other prime modules, note it's not an ERROR but we must
-   * free "t" so the easiest way is to goto ERR.  We know that res
-   * is already equal to MP_OKAY from the mp_mod call 
-   */ 
-  if ( (1L<<(r%11)) & 0x5C4L )             goto ERR;
-  if ( (1L<<(r%13)) & 0x9E4L )             goto ERR;
-  if ( (1L<<(r%17)) & 0x5CE8L )            goto ERR;
-  if ( (1L<<(r%19)) & 0x4F50CL )           goto ERR;
-  if ( (1L<<(r%23)) & 0x7ACCA0L )          goto ERR;
-  if ( (1L<<(r%29)) & 0xC2EDD0CL )         goto ERR;
-  if ( (1L<<(r%31)) & 0x6DE2B848L )        goto ERR;
-
-  /* Final check - is sqr(sqrt(arg)) == arg ? */
-  if ((res = mp_sqrt(arg,&t)) != MP_OKAY) {
-     goto ERR;
-  }
-  if ((res = mp_sqr(&t,&t)) != MP_OKAY) {
-     goto ERR;
-  }
-
-  *ret = (mp_cmp_mag(&t,arg) == MP_EQ) ? MP_YES : MP_NO;
-ERR:mp_clear(&t);
-  return res;
-}
-#endif
-
-/* End: bn_mp_is_square.c */
-
-/* Start: bn_mp_jacobi.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_JACOBI_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* computes the jacobi c = (a | n) (or Legendre if n is prime)
- * HAC pp. 73 Algorithm 2.149
- */
-int mp_jacobi (mp_int * a, mp_int * p, int *c)
-{
-  mp_int  a1, p1;
-  int     k, s, r, res;
-  mp_digit residue;
-
-  /* if p <= 0 return MP_VAL */
-  if (mp_cmp_d(p, 0) != MP_GT) {
-     return MP_VAL;
-  }
-
-  /* step 1.  if a == 0, return 0 */
-  if (mp_iszero (a) == 1) {
-    *c = 0;
-    return MP_OKAY;
-  }
-
-  /* step 2.  if a == 1, return 1 */
-  if (mp_cmp_d (a, 1) == MP_EQ) {
-    *c = 1;
-    return MP_OKAY;
-  }
-
-  /* default */
-  s = 0;
-
-  /* step 3.  write a = a1 * 2**k  */
-  if ((res = mp_init_copy (&a1, a)) != MP_OKAY) {
-    return res;
-  }
-
-  if ((res = mp_init (&p1)) != MP_OKAY) {
-    goto LBL_A1;
-  }
-
-  /* divide out larger power of two */
-  k = mp_cnt_lsb(&a1);
-  if ((res = mp_div_2d(&a1, k, &a1, NULL)) != MP_OKAY) {
-     goto LBL_P1;
-  }
-
-  /* step 4.  if e is even set s=1 */
-  if ((k & 1) == 0) {
-    s = 1;
-  } else {
-    /* else set s=1 if p = 1/7 (mod 8) or s=-1 if p = 3/5 (mod 8) */
-    residue = p->dp[0] & 7;
-
-    if (residue == 1 || residue == 7) {
-      s = 1;
-    } else if (residue == 3 || residue == 5) {
-      s = -1;
-    }
-  }
-
-  /* step 5.  if p == 3 (mod 4) *and* a1 == 3 (mod 4) then s = -s */
-  if ( ((p->dp[0] & 3) == 3) && ((a1.dp[0] & 3) == 3)) {
-    s = -s;
-  }
-
-  /* if a1 == 1 we're done */
-  if (mp_cmp_d (&a1, 1) == MP_EQ) {
-    *c = s;
-  } else {
-    /* n1 = n mod a1 */
-    if ((res = mp_mod (p, &a1, &p1)) != MP_OKAY) {
-      goto LBL_P1;
-    }
-    if ((res = mp_jacobi (&p1, &a1, &r)) != MP_OKAY) {
-      goto LBL_P1;
-    }
-    *c = s * r;
-  }
-
-  /* done */
-  res = MP_OKAY;
-LBL_P1:mp_clear (&p1);
-LBL_A1:mp_clear (&a1);
-  return res;
-}
-#endif
-
-/* End: bn_mp_jacobi.c */
-
-/* Start: bn_mp_karatsuba_mul.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_KARATSUBA_MUL_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* c = |a| * |b| using Karatsuba Multiplication using 
- * three half size multiplications
- *
- * Let B represent the radix [e.g. 2**DIGIT_BIT] and 
- * let n represent half of the number of digits in 
- * the min(a,b)
- *
- * a = a1 * B**n + a0
- * b = b1 * B**n + b0
- *
- * Then, a * b => 
-   a1b1 * B**2n + ((a1 - a0)(b1 - b0) + a0b0 + a1b1) * B + a0b0
- *
- * Note that a1b1 and a0b0 are used twice and only need to be 
- * computed once.  So in total three half size (half # of 
- * digit) multiplications are performed, a0b0, a1b1 and 
- * (a1-b1)(a0-b0)
- *
- * Note that a multiplication of half the digits requires
- * 1/4th the number of single precision multiplications so in 
- * total after one call 25% of the single precision multiplications 
- * are saved.  Note also that the call to mp_mul can end up back 
- * in this function if the a0, a1, b0, or b1 are above the threshold.  
- * This is known as divide-and-conquer and leads to the famous 
- * O(N**lg(3)) or O(N**1.584) work which is asymptopically lower than 
- * the standard O(N**2) that the baseline/comba methods use.  
- * Generally though the overhead of this method doesn't pay off 
- * until a certain size (N ~ 80) is reached.
- */
-int mp_karatsuba_mul (mp_int * a, mp_int * b, mp_int * c)
-{
-  mp_int  x0, x1, y0, y1, t1, x0y0, x1y1;
-  int     B, err;
-
-  /* default the return code to an error */
-  err = MP_MEM;
-
-  /* min # of digits */
-  B = MIN (a->used, b->used);
-
-  /* now divide in two */
-  B = B >> 1;
-
-  /* init copy all the temps */
-  if (mp_init_size (&x0, B) != MP_OKAY)
-    goto ERR;
-  if (mp_init_size (&x1, a->used - B) != MP_OKAY)
-    goto X0;
-  if (mp_init_size (&y0, B) != MP_OKAY)
-    goto X1;
-  if (mp_init_size (&y1, b->used - B) != MP_OKAY)
-    goto Y0;
-
-  /* init temps */
-  if (mp_init_size (&t1, B * 2) != MP_OKAY)
-    goto Y1;
-  if (mp_init_size (&x0y0, B * 2) != MP_OKAY)
-    goto T1;
-  if (mp_init_size (&x1y1, B * 2) != MP_OKAY)
-    goto X0Y0;
-
-  /* now shift the digits */
-  x0.used = y0.used = B;
-  x1.used = a->used - B;
-  y1.used = b->used - B;
-
-  {
-    register int x;
-    register mp_digit *tmpa, *tmpb, *tmpx, *tmpy;
-
-    /* we copy the digits directly instead of using higher level functions
-     * since we also need to shift the digits
-     */
-    tmpa = a->dp;
-    tmpb = b->dp;
-
-    tmpx = x0.dp;
-    tmpy = y0.dp;
-    for (x = 0; x < B; x++) {
-      *tmpx++ = *tmpa++;
-      *tmpy++ = *tmpb++;
-    }
-
-    tmpx = x1.dp;
-    for (x = B; x < a->used; x++) {
-      *tmpx++ = *tmpa++;
-    }
-
-    tmpy = y1.dp;
-    for (x = B; x < b->used; x++) {
-      *tmpy++ = *tmpb++;
-    }
-  }
-
-  /* only need to clamp the lower words since by definition the 
-   * upper words x1/y1 must have a known number of digits
-   */
-  mp_clamp (&x0);
-  mp_clamp (&y0);
-
-  /* now calc the products x0y0 and x1y1 */
-  /* after this x0 is no longer required, free temp [x0==t2]! */
-  if (mp_mul (&x0, &y0, &x0y0) != MP_OKAY)  
-    goto X1Y1;          /* x0y0 = x0*y0 */
-  if (mp_mul (&x1, &y1, &x1y1) != MP_OKAY)
-    goto X1Y1;          /* x1y1 = x1*y1 */
-
-  /* now calc x1-x0 and y1-y0 */
-  if (mp_sub (&x1, &x0, &t1) != MP_OKAY)
-    goto X1Y1;          /* t1 = x1 - x0 */
-  if (mp_sub (&y1, &y0, &x0) != MP_OKAY)
-    goto X1Y1;          /* t2 = y1 - y0 */
-  if (mp_mul (&t1, &x0, &t1) != MP_OKAY)
-    goto X1Y1;          /* t1 = (x1 - x0) * (y1 - y0) */
-
-  /* add x0y0 */
-  if (mp_add (&x0y0, &x1y1, &x0) != MP_OKAY)
-    goto X1Y1;          /* t2 = x0y0 + x1y1 */
-  if (mp_sub (&x0, &t1, &t1) != MP_OKAY)
-    goto X1Y1;          /* t1 = x0y0 + x1y1 - (x1-x0)*(y1-y0) */
-
-  /* shift by B */
-  if (mp_lshd (&t1, B) != MP_OKAY)
-    goto X1Y1;          /* t1 = (x0y0 + x1y1 - (x1-x0)*(y1-y0))<<B */
-  if (mp_lshd (&x1y1, B * 2) != MP_OKAY)
-    goto X1Y1;          /* x1y1 = x1y1 << 2*B */
-
-  if (mp_add (&x0y0, &t1, &t1) != MP_OKAY)
-    goto X1Y1;          /* t1 = x0y0 + t1 */
-  if (mp_add (&t1, &x1y1, c) != MP_OKAY)
-    goto X1Y1;          /* t1 = x0y0 + t1 + x1y1 */
-
-  /* Algorithm succeeded set the return code to MP_OKAY */
-  err = MP_OKAY;
-
-X1Y1:mp_clear (&x1y1);
-X0Y0:mp_clear (&x0y0);
-T1:mp_clear (&t1);
-Y1:mp_clear (&y1);
-Y0:mp_clear (&y0);
-X1:mp_clear (&x1);
-X0:mp_clear (&x0);
-ERR:
-  return err;
-}
-#endif
-
-/* End: bn_mp_karatsuba_mul.c */
-
-/* Start: bn_mp_karatsuba_sqr.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_KARATSUBA_SQR_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* Karatsuba squaring, computes b = a*a using three 
- * half size squarings
- *
- * See comments of karatsuba_mul for details.  It 
- * is essentially the same algorithm but merely 
- * tuned to perform recursive squarings.
- */
-int mp_karatsuba_sqr (mp_int * a, mp_int * b)
-{
-  mp_int  x0, x1, t1, t2, x0x0, x1x1;
-  int     B, err;
-
-  err = MP_MEM;
-
-  /* min # of digits */
-  B = a->used;
-
-  /* now divide in two */
-  B = B >> 1;
-
-  /* init copy all the temps */
-  if (mp_init_size (&x0, B) != MP_OKAY)
-    goto ERR;
-  if (mp_init_size (&x1, a->used - B) != MP_OKAY)
-    goto X0;
-
-  /* init temps */
-  if (mp_init_size (&t1, a->used * 2) != MP_OKAY)
-    goto X1;
-  if (mp_init_size (&t2, a->used * 2) != MP_OKAY)
-    goto T1;
-  if (mp_init_size (&x0x0, B * 2) != MP_OKAY)
-    goto T2;
-  if (mp_init_size (&x1x1, (a->used - B) * 2) != MP_OKAY)
-    goto X0X0;
-
-  {
-    register int x;
-    register mp_digit *dst, *src;
-
-    src = a->dp;
-
-    /* now shift the digits */
-    dst = x0.dp;
-    for (x = 0; x < B; x++) {
-      *dst++ = *src++;
-    }
-
-    dst = x1.dp;
-    for (x = B; x < a->used; x++) {
-      *dst++ = *src++;
-    }
-  }
-
-  x0.used = B;
-  x1.used = a->used - B;
-
-  mp_clamp (&x0);
-
-  /* now calc the products x0*x0 and x1*x1 */
-  if (mp_sqr (&x0, &x0x0) != MP_OKAY)
-    goto X1X1;           /* x0x0 = x0*x0 */
-  if (mp_sqr (&x1, &x1x1) != MP_OKAY)
-    goto X1X1;           /* x1x1 = x1*x1 */
-
-  /* now calc (x1-x0)**2 */
-  if (mp_sub (&x1, &x0, &t1) != MP_OKAY)
-    goto X1X1;           /* t1 = x1 - x0 */
-  if (mp_sqr (&t1, &t1) != MP_OKAY)
-    goto X1X1;           /* t1 = (x1 - x0) * (x1 - x0) */
-
-  /* add x0y0 */
-  if (s_mp_add (&x0x0, &x1x1, &t2) != MP_OKAY)
-    goto X1X1;           /* t2 = x0x0 + x1x1 */
-  if (mp_sub (&t2, &t1, &t1) != MP_OKAY)
-    goto X1X1;           /* t1 = x0x0 + x1x1 - (x1-x0)*(x1-x0) */
-
-  /* shift by B */
-  if (mp_lshd (&t1, B) != MP_OKAY)
-    goto X1X1;           /* t1 = (x0x0 + x1x1 - (x1-x0)*(x1-x0))<<B */
-  if (mp_lshd (&x1x1, B * 2) != MP_OKAY)
-    goto X1X1;           /* x1x1 = x1x1 << 2*B */
-
-  if (mp_add (&x0x0, &t1, &t1) != MP_OKAY)
-    goto X1X1;           /* t1 = x0x0 + t1 */
-  if (mp_add (&t1, &x1x1, b) != MP_OKAY)
-    goto X1X1;           /* t1 = x0x0 + t1 + x1x1 */
-
-  err = MP_OKAY;
-
-X1X1:mp_clear (&x1x1);
-X0X0:mp_clear (&x0x0);
-T2:mp_clear (&t2);
-T1:mp_clear (&t1);
-X1:mp_clear (&x1);
-X0:mp_clear (&x0);
-ERR:
-  return err;
-}
-#endif
-
-/* End: bn_mp_karatsuba_sqr.c */
-
-/* Start: bn_mp_lcm.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_LCM_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* computes least common multiple as |a*b|/(a, b) */
-int mp_lcm (mp_int * a, mp_int * b, mp_int * c)
-{
-  int     res;
-  mp_int  t1, t2;
-
-
-  if ((res = mp_init_multi (&t1, &t2, NULL)) != MP_OKAY) {
-    return res;
-  }
-
-  /* t1 = get the GCD of the two inputs */
-  if ((res = mp_gcd (a, b, &t1)) != MP_OKAY) {
-    goto LBL_T;
-  }
-
-  /* divide the smallest by the GCD */
-  if (mp_cmp_mag(a, b) == MP_LT) {
-     /* store quotient in t2 such that t2 * b is the LCM */
-     if ((res = mp_div(a, &t1, &t2, NULL)) != MP_OKAY) {
-        goto LBL_T;
-     }
-     res = mp_mul(b, &t2, c);
-  } else {
-     /* store quotient in t2 such that t2 * a is the LCM */
-     if ((res = mp_div(b, &t1, &t2, NULL)) != MP_OKAY) {
-        goto LBL_T;
-     }
-     res = mp_mul(a, &t2, c);
-  }
-
-  /* fix the sign to positive */
-  c->sign = MP_ZPOS;
-
-LBL_T:
-  mp_clear_multi (&t1, &t2, NULL);
-  return res;
-}
-#endif
-
-/* End: bn_mp_lcm.c */
-
-/* Start: bn_mp_lshd.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_LSHD_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* shift left a certain amount of digits */
-int mp_lshd (mp_int * a, int b)
-{
-  int     x, res;
-
-  /* if its less than zero return */
-  if (b <= 0) {
-    return MP_OKAY;
-  }
-
-  /* grow to fit the new digits */
-  if (a->alloc < a->used + b) {
-     if ((res = mp_grow (a, a->used + b)) != MP_OKAY) {
-       return res;
-     }
-  }
-
-  {
-    register mp_digit *top, *bottom;
-
-    /* increment the used by the shift amount then copy upwards */
-    a->used += b;
-
-    /* top */
-    top = a->dp + a->used - 1;
-
-    /* base */
-    bottom = a->dp + a->used - 1 - b;
-
-    /* much like mp_rshd this is implemented using a sliding window
-     * except the window goes the otherway around.  Copying from
-     * the bottom to the top.  see bn_mp_rshd.c for more info.
-     */
-    for (x = a->used - 1; x >= b; x--) {
-      *top-- = *bottom--;
-    }
-
-    /* zero the lower digits */
-    top = a->dp;
-    for (x = 0; x < b; x++) {
-      *top++ = 0;
-    }
-  }
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_lshd.c */
-
-/* Start: bn_mp_mod.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_MOD_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* c = a mod b, 0 <= c < b */
-int
-mp_mod (mp_int * a, mp_int * b, mp_int * c)
-{
-  mp_int  t;
-  int     res;
-
-  if ((res = mp_init (&t)) != MP_OKAY) {
-    return res;
-  }
-
-  if ((res = mp_div (a, b, NULL, &t)) != MP_OKAY) {
-    mp_clear (&t);
-    return res;
-  }
-
-  if (t.sign != b->sign) {
-    res = mp_add (b, &t, c);
-  } else {
-    res = MP_OKAY;
-    mp_exch (&t, c);
-  }
-
-  mp_clear (&t);
-  return res;
-}
-#endif
-
-/* End: bn_mp_mod.c */
-
-/* Start: bn_mp_mod_2d.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_MOD_2D_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* calc a value mod 2**b */
-int
-mp_mod_2d (mp_int * a, int b, mp_int * c)
-{
-  int     x, res;
-
-  /* if b is <= 0 then zero the int */
-  if (b <= 0) {
-    mp_zero (c);
-    return MP_OKAY;
-  }
-
-  /* if the modulus is larger than the value than return */
-  if (b >= (int) (a->used * DIGIT_BIT)) {
-    res = mp_copy (a, c);
-    return res;
-  }
-
-  /* copy */
-  if ((res = mp_copy (a, c)) != MP_OKAY) {
-    return res;
-  }
-
-  /* zero digits above the last digit of the modulus */
-  for (x = (b / DIGIT_BIT) + ((b % DIGIT_BIT) == 0 ? 0 : 1); x < c->used; x++) {
-    c->dp[x] = 0;
-  }
-  /* clear the digit that is not completely outside/inside the modulus */
-  c->dp[b / DIGIT_BIT] &=
-    (mp_digit) ((((mp_digit) 1) << (((mp_digit) b) % DIGIT_BIT)) - ((mp_digit) 1));
-  mp_clamp (c);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_mod_2d.c */
-
-/* Start: bn_mp_mod_d.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_MOD_D_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-int
-mp_mod_d (mp_int * a, mp_digit b, mp_digit * c)
-{
-  return mp_div_d(a, b, NULL, c);
-}
-#endif
-
-/* End: bn_mp_mod_d.c */
-
-/* Start: bn_mp_montgomery_calc_normalization.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/*
- * shifts with subtractions when the result is greater than b.
- *
- * The method is slightly modified to shift B unconditionally upto just under
- * the leading bit of b.  This saves alot of multiple precision shifting.
- */
-int mp_montgomery_calc_normalization (mp_int * a, mp_int * b)
-{
-  int     x, bits, res;
-
-  /* how many bits of last digit does b use */
-  bits = mp_count_bits (b) % DIGIT_BIT;
-
-  if (b->used > 1) {
-     if ((res = mp_2expt (a, (b->used - 1) * DIGIT_BIT + bits - 1)) != MP_OKAY) {
-        return res;
-     }
-  } else {
-     mp_set(a, 1);
-     bits = 1;
-  }
-
-
-  /* now compute C = A * B mod b */
-  for (x = bits - 1; x < (int)DIGIT_BIT; x++) {
-    if ((res = mp_mul_2 (a, a)) != MP_OKAY) {
-      return res;
-    }
-    if (mp_cmp_mag (a, b) != MP_LT) {
-      if ((res = s_mp_sub (a, b, a)) != MP_OKAY) {
-        return res;
-      }
-    }
-  }
-
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_montgomery_calc_normalization.c */
-
-/* Start: bn_mp_montgomery_reduce.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_MONTGOMERY_REDUCE_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* computes xR**-1 == x (mod N) via Montgomery Reduction */
-int
-mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho)
-{
-  int     ix, res, digs;
-  mp_digit mu;
-
-  /* can the fast reduction [comba] method be used?
-   *
-   * Note that unlike in mul you're safely allowed *less*
-   * than the available columns [255 per default] since carries
-   * are fixed up in the inner loop.
-   */
-  digs = n->used * 2 + 1;
-  if ((digs < MP_WARRAY) &&
-      n->used <
-      (1 << ((CHAR_BIT * sizeof (mp_word)) - (2 * DIGIT_BIT)))) {
-    return fast_mp_montgomery_reduce (x, n, rho);
-  }
-
-  /* grow the input as required */
-  if (x->alloc < digs) {
-    if ((res = mp_grow (x, digs)) != MP_OKAY) {
-      return res;
-    }
-  }
-  x->used = digs;
-
-  for (ix = 0; ix < n->used; ix++) {
-    /* mu = ai * rho mod b
-     *
-     * The value of rho must be precalculated via
-     * montgomery_setup() such that
-     * it equals -1/n0 mod b this allows the
-     * following inner loop to reduce the
-     * input one digit at a time
-     */
-    mu = (mp_digit) (((mp_word)x->dp[ix]) * ((mp_word)rho) & MP_MASK);
-
-    /* a = a + mu * m * b**i */
-    {
-      register int iy;
-      register mp_digit *tmpn, *tmpx, u;
-      register mp_word r;
-
-      /* alias for digits of the modulus */
-      tmpn = n->dp;
-
-      /* alias for the digits of x [the input] */
-      tmpx = x->dp + ix;
-
-      /* set the carry to zero */
-      u = 0;
-
-      /* Multiply and add in place */
-      for (iy = 0; iy < n->used; iy++) {
-        /* compute product and sum */
-        r       = ((mp_word)mu) * ((mp_word)*tmpn++) +
-                  ((mp_word) u) + ((mp_word) * tmpx);
-
-        /* get carry */
-        u       = (mp_digit)(r >> ((mp_word) DIGIT_BIT));
-
-        /* fix digit */
-        *tmpx++ = (mp_digit)(r & ((mp_word) MP_MASK));
-      }
-      /* At this point the ix'th digit of x should be zero */
-
-
-      /* propagate carries upwards as required*/
-      while (u) {
-        *tmpx   += u;
-        u        = *tmpx >> DIGIT_BIT;
-        *tmpx++ &= MP_MASK;
-      }
-    }
-  }
-
-  /* at this point the n.used'th least
-   * significant digits of x are all zero
-   * which means we can shift x to the
-   * right by n.used digits and the
-   * residue is unchanged.
-   */
-
-  /* x = x/b**n.used */
-  mp_clamp(x);
-  mp_rshd (x, n->used);
-
-  /* if x >= n then x = x - n */
-  if (mp_cmp_mag (x, n) != MP_LT) {
-    return s_mp_sub (x, n, x);
-  }
-
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_montgomery_reduce.c */
-
-/* Start: bn_mp_montgomery_setup.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_MONTGOMERY_SETUP_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* setups the montgomery reduction stuff */
-int
-mp_montgomery_setup (mp_int * n, mp_digit * rho)
-{
-  mp_digit x, b;
-
-/* fast inversion mod 2**k
- *
- * Based on the fact that
- *
- * XA = 1 (mod 2**n)  =>  (X(2-XA)) A = 1 (mod 2**2n)
- *                    =>  2*X*A - X*X*A*A = 1
- *                    =>  2*(1) - (1)     = 1
- */
-  b = n->dp[0];
-
-  if ((b & 1) == 0) {
-    return MP_VAL;
-  }
-
-  x = (((b + 2) & 4) << 1) + b; /* here x*a==1 mod 2**4 */
-  x *= 2 - b * x;               /* here x*a==1 mod 2**8 */
-#if !defined(MP_8BIT)
-  x *= 2 - b * x;               /* here x*a==1 mod 2**16 */
-#endif
-#if defined(MP_64BIT) || !(defined(MP_8BIT) || defined(MP_16BIT))
-  x *= 2 - b * x;               /* here x*a==1 mod 2**32 */
-#endif
-#ifdef MP_64BIT
-  x *= 2 - b * x;               /* here x*a==1 mod 2**64 */
-#endif
-
-  /* rho = -1/m mod b */
-  *rho = (((mp_word)1 << ((mp_word) DIGIT_BIT)) - x) & MP_MASK;
-
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_montgomery_setup.c */
-
-/* Start: bn_mp_mul.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_MUL_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* high level multiplication (handles sign) */
-int mp_mul (mp_int * a, mp_int * b, mp_int * c)
-{
-  int     res, neg;
-  neg = (a->sign == b->sign) ? MP_ZPOS : MP_NEG;
-
-  /* use Toom-Cook? */
-#ifdef BN_MP_TOOM_MUL_C
-  if (MIN (a->used, b->used) >= TOOM_MUL_CUTOFF) {
-    res = mp_toom_mul(a, b, c);
-  } else 
-#endif
-#ifdef BN_MP_KARATSUBA_MUL_C
-  /* use Karatsuba? */
-  if (MIN (a->used, b->used) >= KARATSUBA_MUL_CUTOFF) {
-    res = mp_karatsuba_mul (a, b, c);
-  } else 
-#endif
-  {
-    /* can we use the fast multiplier?
-     *
-     * The fast multiplier can be used if the output will 
-     * have less than MP_WARRAY digits and the number of 
-     * digits won't affect carry propagation
-     */
-    int     digs = a->used + b->used + 1;
-
-#ifdef BN_FAST_S_MP_MUL_DIGS_C
-    if ((digs < MP_WARRAY) &&
-        MIN(a->used, b->used) <= 
-        (1 << ((CHAR_BIT * sizeof (mp_word)) - (2 * DIGIT_BIT)))) {
-      res = fast_s_mp_mul_digs (a, b, c, digs);
-    } else 
-#endif
-#ifdef BN_S_MP_MUL_DIGS_C
-      res = s_mp_mul (a, b, c); /* uses s_mp_mul_digs */
-#else
-      res = MP_VAL;
-#endif
-
-  }
-  c->sign = (c->used > 0) ? neg : MP_ZPOS;
-  return res;
-}
-#endif
-
-/* End: bn_mp_mul.c */
-
-/* Start: bn_mp_mul_2.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_MUL_2_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* b = a*2 */
-int mp_mul_2(mp_int * a, mp_int * b)
-{
-  int     x, res, oldused;
-
-  /* grow to accomodate result */
-  if (b->alloc < a->used + 1) {
-    if ((res = mp_grow (b, a->used + 1)) != MP_OKAY) {
-      return res;
-    }
-  }
-
-  oldused = b->used;
-  b->used = a->used;
-
-  {
-    register mp_digit r, rr, *tmpa, *tmpb;
-
-    /* alias for source */
-    tmpa = a->dp;
-    
-    /* alias for dest */
-    tmpb = b->dp;
-
-    /* carry */
-    r = 0;
-    for (x = 0; x < a->used; x++) {
-    
-      /* get what will be the *next* carry bit from the 
-       * MSB of the current digit 
-       */
-      rr = *tmpa >> ((mp_digit)(DIGIT_BIT - 1));
-      
-      /* now shift up this digit, add in the carry [from the previous] */
-      *tmpb++ = ((*tmpa++ << ((mp_digit)1)) | r) & MP_MASK;
-      
-      /* copy the carry that would be from the source 
-       * digit into the next iteration 
-       */
-      r = rr;
-    }
-
-    /* new leading digit? */
-    if (r != 0) {
-      /* add a MSB which is always 1 at this point */
-      *tmpb = 1;
-      ++(b->used);
-    }
-
-    /* now zero any excess digits on the destination 
-     * that we didn't write to 
-     */
-    tmpb = b->dp + b->used;
-    for (x = b->used; x < oldused; x++) {
-      *tmpb++ = 0;
-    }
-  }
-  b->sign = a->sign;
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_mul_2.c */
-
-/* Start: bn_mp_mul_2d.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_MUL_2D_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* shift left by a certain bit count */
-int mp_mul_2d (mp_int * a, int b, mp_int * c)
-{
-  mp_digit d;
-  int      res;
-
-  /* copy */
-  if (a != c) {
-     if ((res = mp_copy (a, c)) != MP_OKAY) {
-       return res;
-     }
-  }
-
-  if (c->alloc < (int)(c->used + b/DIGIT_BIT + 1)) {
-     if ((res = mp_grow (c, c->used + b / DIGIT_BIT + 1)) != MP_OKAY) {
-       return res;
-     }
-  }
-
-  /* shift by as many digits in the bit count */
-  if (b >= (int)DIGIT_BIT) {
-    if ((res = mp_lshd (c, b / DIGIT_BIT)) != MP_OKAY) {
-      return res;
-    }
-  }
-
-  /* shift any bit count < DIGIT_BIT */
-  d = (mp_digit) (b % DIGIT_BIT);
-  if (d != 0) {
-    register mp_digit *tmpc, shift, mask, r, rr;
-    register int x;
-
-    /* bitmask for carries */
-    mask = (((mp_digit)1) << d) - 1;
-
-    /* shift for msbs */
-    shift = DIGIT_BIT - d;
-
-    /* alias */
-    tmpc = c->dp;
-
-    /* carry */
-    r    = 0;
-    for (x = 0; x < c->used; x++) {
-      /* get the higher bits of the current word */
-      rr = (*tmpc >> shift) & mask;
-
-      /* shift the current word and OR in the carry */
-      *tmpc = ((*tmpc << d) | r) & MP_MASK;
-      ++tmpc;
-
-      /* set the carry to the carry bits of the current word */
-      r = rr;
-    }
-    
-    /* set final carry */
-    if (r != 0) {
-       c->dp[(c->used)++] = r;
-    }
-  }
-  mp_clamp (c);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_mul_2d.c */
-
-/* Start: bn_mp_mul_d.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_MUL_D_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* multiply by a digit */
-int
-mp_mul_d (mp_int * a, mp_digit b, mp_int * c)
-{
-  mp_digit u, *tmpa, *tmpc;
-  mp_word  r;
-  int      ix, res, olduse;
-
-  /* make sure c is big enough to hold a*b */
-  if (c->alloc < a->used + 1) {
-    if ((res = mp_grow (c, a->used + 1)) != MP_OKAY) {
-      return res;
-    }
-  }
-
-  /* get the original destinations used count */
-  olduse = c->used;
-
-  /* set the sign */
-  c->sign = a->sign;
-
-  /* alias for a->dp [source] */
-  tmpa = a->dp;
-
-  /* alias for c->dp [dest] */
-  tmpc = c->dp;
-
-  /* zero carry */
-  u = 0;
-
-  /* compute columns */
-  for (ix = 0; ix < a->used; ix++) {
-    /* compute product and carry sum for this term */
-    r       = ((mp_word) u) + ((mp_word)*tmpa++) * ((mp_word)b);
-
-    /* mask off higher bits to get a single digit */
-    *tmpc++ = (mp_digit) (r & ((mp_word) MP_MASK));
-
-    /* send carry into next iteration */
-    u       = (mp_digit) (r >> ((mp_word) DIGIT_BIT));
-  }
-
-  /* store final carry [if any] and increment ix offset  */
-  *tmpc++ = u;
-  ++ix;
-
-  /* now zero digits above the top */
-  while (ix++ < olduse) {
-     *tmpc++ = 0;
-  }
-
-  /* set used count */
-  c->used = a->used + 1;
-  mp_clamp(c);
-
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_mul_d.c */
-
-/* Start: bn_mp_mulmod.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_MULMOD_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* d = a * b (mod c) */
-int
-mp_mulmod (mp_int * a, mp_int * b, mp_int * c, mp_int * d)
-{
-  int     res;
-  mp_int  t;
-
-  if ((res = mp_init (&t)) != MP_OKAY) {
-    return res;
-  }
-
-  if ((res = mp_mul (a, b, &t)) != MP_OKAY) {
-    mp_clear (&t);
-    return res;
-  }
-  res = mp_mod (&t, c, d);
-  mp_clear (&t);
-  return res;
-}
-#endif
-
-/* End: bn_mp_mulmod.c */
-
-/* Start: bn_mp_n_root.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_N_ROOT_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* find the n'th root of an integer 
- *
- * Result found such that (c)**b <= a and (c+1)**b > a 
- *
- * This algorithm uses Newton's approximation 
- * x[i+1] = x[i] - f(x[i])/f'(x[i]) 
- * which will find the root in log(N) time where 
- * each step involves a fair bit.  This is not meant to 
- * find huge roots [square and cube, etc].
- */
-int mp_n_root (mp_int * a, mp_digit b, mp_int * c)
-{
-  mp_int  t1, t2, t3;
-  int     res, neg;
-
-  /* input must be positive if b is even */
-  if ((b & 1) == 0 && a->sign == MP_NEG) {
-    return MP_VAL;
-  }
-
-  if ((res = mp_init (&t1)) != MP_OKAY) {
-    return res;
-  }
-
-  if ((res = mp_init (&t2)) != MP_OKAY) {
-    goto LBL_T1;
-  }
-
-  if ((res = mp_init (&t3)) != MP_OKAY) {
-    goto LBL_T2;
-  }
-
-  /* if a is negative fudge the sign but keep track */
-  neg     = a->sign;
-  a->sign = MP_ZPOS;
-
-  /* t2 = 2 */
-  mp_set (&t2, 2);
-
-  do {
-    /* t1 = t2 */
-    if ((res = mp_copy (&t2, &t1)) != MP_OKAY) {
-      goto LBL_T3;
-    }
-
-    /* t2 = t1 - ((t1**b - a) / (b * t1**(b-1))) */
-    
-    /* t3 = t1**(b-1) */
-    if ((res = mp_expt_d (&t1, b - 1, &t3)) != MP_OKAY) {   
-      goto LBL_T3;
-    }
-
-    /* numerator */
-    /* t2 = t1**b */
-    if ((res = mp_mul (&t3, &t1, &t2)) != MP_OKAY) {    
-      goto LBL_T3;
-    }
-
-    /* t2 = t1**b - a */
-    if ((res = mp_sub (&t2, a, &t2)) != MP_OKAY) {  
-      goto LBL_T3;
-    }
-
-    /* denominator */
-    /* t3 = t1**(b-1) * b  */
-    if ((res = mp_mul_d (&t3, b, &t3)) != MP_OKAY) {    
-      goto LBL_T3;
-    }
-
-    /* t3 = (t1**b - a)/(b * t1**(b-1)) */
-    if ((res = mp_div (&t2, &t3, &t3, NULL)) != MP_OKAY) {  
-      goto LBL_T3;
-    }
-
-    if ((res = mp_sub (&t1, &t3, &t2)) != MP_OKAY) {
-      goto LBL_T3;
-    }
-  }  while (mp_cmp (&t1, &t2) != MP_EQ);
-
-  /* result can be off by a few so check */
-  for (;;) {
-    if ((res = mp_expt_d (&t1, b, &t2)) != MP_OKAY) {
-      goto LBL_T3;
-    }
-
-    if (mp_cmp (&t2, a) == MP_GT) {
-      if ((res = mp_sub_d (&t1, 1, &t1)) != MP_OKAY) {
-         goto LBL_T3;
-      }
-    } else {
-      break;
-    }
-  }
-
-  /* reset the sign of a first */
-  a->sign = neg;
-
-  /* set the result */
-  mp_exch (&t1, c);
-
-  /* set the sign of the result */
-  c->sign = neg;
-
-  res = MP_OKAY;
-
-LBL_T3:mp_clear (&t3);
-LBL_T2:mp_clear (&t2);
-LBL_T1:mp_clear (&t1);
-  return res;
-}
-#endif
-
-/* End: bn_mp_n_root.c */
-
-/* Start: bn_mp_neg.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_NEG_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* b = -a */
-int mp_neg (mp_int * a, mp_int * b)
-{
-  int     res;
-  if (a != b) {
-     if ((res = mp_copy (a, b)) != MP_OKAY) {
-        return res;
-     }
-  }
-
-  if (mp_iszero(b) != MP_YES) {
-     b->sign = (a->sign == MP_ZPOS) ? MP_NEG : MP_ZPOS;
-  } else {
-     b->sign = MP_ZPOS;
-  }
-
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_neg.c */
-
-/* Start: bn_mp_or.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_OR_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* OR two ints together */
-int mp_or (mp_int * a, mp_int * b, mp_int * c)
-{
-  int     res, ix, px;
-  mp_int  t, *x;
-
-  if (a->used > b->used) {
-    if ((res = mp_init_copy (&t, a)) != MP_OKAY) {
-      return res;
-    }
-    px = b->used;
-    x = b;
-  } else {
-    if ((res = mp_init_copy (&t, b)) != MP_OKAY) {
-      return res;
-    }
-    px = a->used;
-    x = a;
-  }
-
-  for (ix = 0; ix < px; ix++) {
-    t.dp[ix] |= x->dp[ix];
-  }
-  mp_clamp (&t);
-  mp_exch (c, &t);
-  mp_clear (&t);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_or.c */
-
-/* Start: bn_mp_prime_fermat.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_PRIME_FERMAT_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* performs one Fermat test.
- * 
- * If "a" were prime then b**a == b (mod a) since the order of
- * the multiplicative sub-group would be phi(a) = a-1.  That means
- * it would be the same as b**(a mod (a-1)) == b**1 == b (mod a).
- *
- * Sets result to 1 if the congruence holds, or zero otherwise.
- */
-int mp_prime_fermat (mp_int * a, mp_int * b, int *result)
-{
-  mp_int  t;
-  int     err;
-
-  /* default to composite  */
-  *result = MP_NO;
-
-  /* ensure b > 1 */
-  if (mp_cmp_d(b, 1) != MP_GT) {
-     return MP_VAL;
-  }
-
-  /* init t */
-  if ((err = mp_init (&t)) != MP_OKAY) {
-    return err;
-  }
-
-  /* compute t = b**a mod a */
-  if ((err = mp_exptmod (b, a, a, &t)) != MP_OKAY) {
-    goto LBL_T;
-  }
-
-  /* is it equal to b? */
-  if (mp_cmp (&t, b) == MP_EQ) {
-    *result = MP_YES;
-  }
-
-  err = MP_OKAY;
-LBL_T:mp_clear (&t);
-  return err;
-}
-#endif
-
-/* End: bn_mp_prime_fermat.c */
-
-/* Start: bn_mp_prime_is_divisible.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_PRIME_IS_DIVISIBLE_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* determines if an integers is divisible by one 
- * of the first PRIME_SIZE primes or not
- *
- * sets result to 0 if not, 1 if yes
- */
-int mp_prime_is_divisible (mp_int * a, int *result)
-{
-  int     err, ix;
-  mp_digit res;
-
-  /* default to not */
-  *result = MP_NO;
-
-  for (ix = 0; ix < PRIME_SIZE; ix++) {
-    /* what is a mod LBL_prime_tab[ix] */
-    if ((err = mp_mod_d (a, ltm_prime_tab[ix], &res)) != MP_OKAY) {
-      return err;
-    }
-
-    /* is the residue zero? */
-    if (res == 0) {
-      *result = MP_YES;
-      return MP_OKAY;
-    }
-  }
-
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_prime_is_divisible.c */
-
-/* Start: bn_mp_prime_is_prime.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_PRIME_IS_PRIME_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* performs a variable number of rounds of Miller-Rabin
- *
- * Probability of error after t rounds is no more than
-
- *
- * Sets result to 1 if probably prime, 0 otherwise
- */
-int mp_prime_is_prime (mp_int * a, int t, int *result)
-{
-  mp_int  b;
-  int     ix, err, res;
-
-  /* default to no */
-  *result = MP_NO;
-
-  /* valid value of t? */
-  if (t <= 0 || t > PRIME_SIZE) {
-    return MP_VAL;
-  }
-
-  /* is the input equal to one of the primes in the table? */
-  for (ix = 0; ix < PRIME_SIZE; ix++) {
-      if (mp_cmp_d(a, ltm_prime_tab[ix]) == MP_EQ) {
-         *result = 1;
-         return MP_OKAY;
-      }
-  }
-
-  /* first perform trial division */
-  if ((err = mp_prime_is_divisible (a, &res)) != MP_OKAY) {
-    return err;
-  }
-
-  /* return if it was trivially divisible */
-  if (res == MP_YES) {
-    return MP_OKAY;
-  }
-
-  /* now perform the miller-rabin rounds */
-  if ((err = mp_init (&b)) != MP_OKAY) {
-    return err;
-  }
-
-  for (ix = 0; ix < t; ix++) {
-    /* set the prime */
-    mp_set (&b, ltm_prime_tab[ix]);
-
-    if ((err = mp_prime_miller_rabin (a, &b, &res)) != MP_OKAY) {
-      goto LBL_B;
-    }
-
-    if (res == MP_NO) {
-      goto LBL_B;
-    }
-  }
-
-  /* passed the test */
-  *result = MP_YES;
-LBL_B:mp_clear (&b);
-  return err;
-}
-#endif
-
-/* End: bn_mp_prime_is_prime.c */
-
-/* Start: bn_mp_prime_miller_rabin.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_PRIME_MILLER_RABIN_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* Miller-Rabin test of "a" to the base of "b" as described in 
- * HAC pp. 139 Algorithm 4.24
- *
- * Sets result to 0 if definitely composite or 1 if probably prime.
- * Randomly the chance of error is no more than 1/4 and often 
- * very much lower.
- */
-int mp_prime_miller_rabin (mp_int * a, mp_int * b, int *result)
-{
-  mp_int  n1, y, r;
-  int     s, j, err;
-
-  /* default */
-  *result = MP_NO;
-
-  /* ensure b > 1 */
-  if (mp_cmp_d(b, 1) != MP_GT) {
-     return MP_VAL;
-  }     
-
-  /* get n1 = a - 1 */
-  if ((err = mp_init_copy (&n1, a)) != MP_OKAY) {
-    return err;
-  }
-  if ((err = mp_sub_d (&n1, 1, &n1)) != MP_OKAY) {
-    goto LBL_N1;
-  }
-
-  /* set 2**s * r = n1 */
-  if ((err = mp_init_copy (&r, &n1)) != MP_OKAY) {
-    goto LBL_N1;
-  }
-
-  /* count the number of least significant bits
-   * which are zero
-   */
-  s = mp_cnt_lsb(&r);
-
-  /* now divide n - 1 by 2**s */
-  if ((err = mp_div_2d (&r, s, &r, NULL)) != MP_OKAY) {
-    goto LBL_R;
-  }
-
-  /* compute y = b**r mod a */
-  if ((err = mp_init (&y)) != MP_OKAY) {
-    goto LBL_R;
-  }
-  if ((err = mp_exptmod (b, &r, a, &y)) != MP_OKAY) {
-    goto LBL_Y;
-  }
-
-  /* if y != 1 and y != n1 do */
-  if (mp_cmp_d (&y, 1) != MP_EQ && mp_cmp (&y, &n1) != MP_EQ) {
-    j = 1;
-    /* while j <= s-1 and y != n1 */
-    while ((j <= (s - 1)) && mp_cmp (&y, &n1) != MP_EQ) {
-      if ((err = mp_sqrmod (&y, a, &y)) != MP_OKAY) {
-         goto LBL_Y;
-      }
-
-      /* if y == 1 then composite */
-      if (mp_cmp_d (&y, 1) == MP_EQ) {
-         goto LBL_Y;
-      }
-
-      ++j;
-    }
-
-    /* if y != n1 then composite */
-    if (mp_cmp (&y, &n1) != MP_EQ) {
-      goto LBL_Y;
-    }
-  }
-
-  /* probably prime now */
-  *result = MP_YES;
-LBL_Y:mp_clear (&y);
-LBL_R:mp_clear (&r);
-LBL_N1:mp_clear (&n1);
-  return err;
-}
-#endif
-
-/* End: bn_mp_prime_miller_rabin.c */
-
-/* Start: bn_mp_prime_next_prime.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_PRIME_NEXT_PRIME_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* finds the next prime after the number "a" using "t" trials
- * of Miller-Rabin.
- *
- * bbs_style = 1 means the prime must be congruent to 3 mod 4
- */
-int mp_prime_next_prime(mp_int *a, int t, int bbs_style)
-{
-   int      err, res, x, y;
-   mp_digit res_tab[PRIME_SIZE], step, kstep;
-   mp_int   b;
-
-   /* ensure t is valid */
-   if (t <= 0 || t > PRIME_SIZE) {
-      return MP_VAL;
-   }
-
-   /* force positive */
-   a->sign = MP_ZPOS;
-
-   /* simple algo if a is less than the largest prime in the table */
-   if (mp_cmp_d(a, ltm_prime_tab[PRIME_SIZE-1]) == MP_LT) {
-      /* find which prime it is bigger than */
-      for (x = PRIME_SIZE - 2; x >= 0; x--) {
-          if (mp_cmp_d(a, ltm_prime_tab[x]) != MP_LT) {
-             if (bbs_style == 1) {
-                /* ok we found a prime smaller or
-                 * equal [so the next is larger]
-                 *
-                 * however, the prime must be
-                 * congruent to 3 mod 4
-                 */
-                if ((ltm_prime_tab[x + 1] & 3) != 3) {
-                   /* scan upwards for a prime congruent to 3 mod 4 */
-                   for (y = x + 1; y < PRIME_SIZE; y++) {
-                       if ((ltm_prime_tab[y] & 3) == 3) {
-                          mp_set(a, ltm_prime_tab[y]);
-                          return MP_OKAY;
-                       }
-                   }
-                }
-             } else {
-                mp_set(a, ltm_prime_tab[x + 1]);
-                return MP_OKAY;
-             }
-          }
-      }
-      /* at this point a maybe 1 */
-      if (mp_cmp_d(a, 1) == MP_EQ) {
-         mp_set(a, 2);
-         return MP_OKAY;
-      }
-      /* fall through to the sieve */
-   }
-
-   /* generate a prime congruent to 3 mod 4 or 1/3 mod 4? */
-   if (bbs_style == 1) {
-      kstep   = 4;
-   } else {
-      kstep   = 2;
-   }
-
-   /* at this point we will use a combination of a sieve and Miller-Rabin */
-
-   if (bbs_style == 1) {
-      /* if a mod 4 != 3 subtract the correct value to make it so */
-      if ((a->dp[0] & 3) != 3) {
-         if ((err = mp_sub_d(a, (a->dp[0] & 3) + 1, a)) != MP_OKAY) { return err; };
-      }
-   } else {
-      if (mp_iseven(a) == 1) {
-         /* force odd */
-         if ((err = mp_sub_d(a, 1, a)) != MP_OKAY) {
-            return err;
-         }
-      }
-   }
-
-   /* generate the restable */
-   for (x = 1; x < PRIME_SIZE; x++) {
-      if ((err = mp_mod_d(a, ltm_prime_tab[x], res_tab + x)) != MP_OKAY) {
-         return err;
-      }
-   }
-
-   /* init temp used for Miller-Rabin Testing */
-   if ((err = mp_init(&b)) != MP_OKAY) {
-      return err;
-   }
-
-   for (;;) {
-      /* skip to the next non-trivially divisible candidate */
-      step = 0;
-      do {
-         /* y == 1 if any residue was zero [e.g. cannot be prime] */
-         y     =  0;
-
-         /* increase step to next candidate */
-         step += kstep;
-
-         /* compute the new residue without using division */
-         for (x = 1; x < PRIME_SIZE; x++) {
-             /* add the step to each residue */
-             res_tab[x] += kstep;
-
-             /* subtract the modulus [instead of using division] */
-             if (res_tab[x] >= ltm_prime_tab[x]) {
-                res_tab[x]  -= ltm_prime_tab[x];
-             }
-
-             /* set flag if zero */
-             if (res_tab[x] == 0) {
-                y = 1;
-             }
-         }
-      } while (y == 1 && step < ((((mp_digit)1)<<DIGIT_BIT) - kstep));
-
-      /* add the step */
-      if ((err = mp_add_d(a, step, a)) != MP_OKAY) {
-         goto LBL_ERR;
-      }
-
-      /* if didn't pass sieve and step == MAX then skip test */
-      if (y == 1 && step >= ((((mp_digit)1)<<DIGIT_BIT) - kstep)) {
-         continue;
-      }
-
-      /* is this prime? */
-      for (x = 0; x < t; x++) {
-          mp_set(&b, ltm_prime_tab[t]);
-          if ((err = mp_prime_miller_rabin(a, &b, &res)) != MP_OKAY) {
-             goto LBL_ERR;
-          }
-          if (res == MP_NO) {
-             break;
-          }
-      }
-
-      if (res == MP_YES) {
-         break;
-      }
-   }
-
-   err = MP_OKAY;
-LBL_ERR:
-   mp_clear(&b);
-   return err;
-}
-
-#endif
-
-/* End: bn_mp_prime_next_prime.c */
-
-/* Start: bn_mp_prime_rabin_miller_trials.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_PRIME_RABIN_MILLER_TRIALS_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-
-static const struct {
-   int k, t;
-} sizes[] = {
-{   128,    28 },
-{   256,    16 },
-{   384,    10 },
-{   512,     7 },
-{   640,     6 },
-{   768,     5 },
-{   896,     4 },
-{  1024,     4 }
-};
-
-/* returns # of RM trials required for a given bit size */
-int mp_prime_rabin_miller_trials(int size)
-{
-   int x;
-
-   for (x = 0; x < (int)(sizeof(sizes)/(sizeof(sizes[0]))); x++) {
-       if (sizes[x].k == size) {
-          return sizes[x].t;
-       } else if (sizes[x].k > size) {
-          return (x == 0) ? sizes[0].t : sizes[x - 1].t;
-       }
-   }
-   return sizes[x-1].t + 1;
-}
-
-
-#endif
-
-/* End: bn_mp_prime_rabin_miller_trials.c */
-
-/* Start: bn_mp_prime_random_ex.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_PRIME_RANDOM_EX_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* makes a truly random prime of a given size (bits),
- *
- * Flags are as follows:
- * 
- *   LTM_PRIME_BBS      - make prime congruent to 3 mod 4
- *   LTM_PRIME_SAFE     - make sure (p-1)/2 is prime as well (implies LTM_PRIME_BBS)
- *   LTM_PRIME_2MSB_OFF - make the 2nd highest bit zero
- *   LTM_PRIME_2MSB_ON  - make the 2nd highest bit one
- *
- * You have to supply a callback which fills in a buffer with random bytes.  "dat" is a parameter you can
- * have passed to the callback (e.g. a state or something).  This function doesn't use "dat" itself
- * so it can be NULL
- *
- */
-
-/* This is possibly the mother of all prime generation functions, muahahahahaha! */
-int mp_prime_random_ex(mp_int *a, int t, int size, int flags, ltm_prime_callback cb, void *dat)
-{
-   unsigned char *tmp, maskAND, maskOR_msb, maskOR_lsb;
-   int res, err, bsize, maskOR_msb_offset;
-
-   /* sanity check the input */
-   if (size <= 1 || t <= 0) {
-      return MP_VAL;
-   }
-
-   /* LTM_PRIME_SAFE implies LTM_PRIME_BBS */
-   if (flags & LTM_PRIME_SAFE) {
-      flags |= LTM_PRIME_BBS;
-   }
-
-   /* calc the byte size */
-   bsize = (size>>3) + ((size&7)?1:0);
-
-   /* we need a buffer of bsize bytes */
-   tmp = OPT_CAST(unsigned char) XMALLOC(bsize);
-   if (tmp == NULL) {
-      return MP_MEM;
-   }
-
-   /* calc the maskAND value for the MSbyte*/
-   maskAND = ((size&7) == 0) ? 0xFF : (0xFF >> (8 - (size & 7)));
-
-   /* calc the maskOR_msb */
-   maskOR_msb        = 0;
-   maskOR_msb_offset = ((size & 7) == 1) ? 1 : 0;
-   if (flags & LTM_PRIME_2MSB_ON) {
-      maskOR_msb       |= 0x80 >> ((9 - size) & 7);
-   }  
-
-   /* get the maskOR_lsb */
-   maskOR_lsb         = 1;
-   if (flags & LTM_PRIME_BBS) {
-      maskOR_lsb     |= 3;
-   }
-
-   do {
-      /* read the bytes */
-      if (cb(tmp, bsize, dat) != bsize) {
-         err = MP_VAL;
-         goto error;
-      }
- 
-      /* work over the MSbyte */
-      tmp[0]    &= maskAND;
-      tmp[0]    |= 1 << ((size - 1) & 7);
-
-      /* mix in the maskORs */
-      tmp[maskOR_msb_offset]   |= maskOR_msb;
-      tmp[bsize-1]             |= maskOR_lsb;
-
-      /* read it in */
-      if ((err = mp_read_unsigned_bin(a, tmp, bsize)) != MP_OKAY)     { goto error; }
-
-      /* is it prime? */
-      if ((err = mp_prime_is_prime(a, t, &res)) != MP_OKAY)           { goto error; }
-      if (res == MP_NO) {  
-         continue;
-      }
-
-      if (flags & LTM_PRIME_SAFE) {
-         /* see if (a-1)/2 is prime */
-         if ((err = mp_sub_d(a, 1, a)) != MP_OKAY)                    { goto error; }
-         if ((err = mp_div_2(a, a)) != MP_OKAY)                       { goto error; }
- 
-         /* is it prime? */
-         if ((err = mp_prime_is_prime(a, t, &res)) != MP_OKAY)        { goto error; }
-      }
-   } while (res == MP_NO);
-
-   if (flags & LTM_PRIME_SAFE) {
-      /* restore a to the original value */
-      if ((err = mp_mul_2(a, a)) != MP_OKAY)                          { goto error; }
-      if ((err = mp_add_d(a, 1, a)) != MP_OKAY)                       { goto error; }
-   }
-
-   err = MP_OKAY;
-error:
-   XFREE(tmp);
-   return err;
-}
-
-
-#endif
-
-/* End: bn_mp_prime_random_ex.c */
-
-/* Start: bn_mp_radix_size.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_RADIX_SIZE_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* returns size of ASCII reprensentation */
-int mp_radix_size (mp_int * a, int radix, int *size)
-{
-  int     res, digs;
-  mp_int  t;
-  mp_digit d;
-
-  *size = 0;
-
-  /* special case for binary */
-  if (radix == 2) {
-    *size = mp_count_bits (a) + (a->sign == MP_NEG ? 1 : 0) + 1;
-    return MP_OKAY;
-  }
-
-  /* make sure the radix is in range */
-  if (radix < 2 || radix > 64) {
-    return MP_VAL;
-  }
-
-  if (mp_iszero(a) == MP_YES) {
-     *size = 2;
-    return MP_OKAY;
-  }
-
-  /* digs is the digit count */
-  digs = 0;
-
-  /* if it's negative add one for the sign */
-  if (a->sign == MP_NEG) {
-    ++digs;
-  }
-
-  /* init a copy of the input */
-  if ((res = mp_init_copy (&t, a)) != MP_OKAY) {
-    return res;
-  }
-
-  /* force temp to positive */
-  t.sign = MP_ZPOS; 
-
-  /* fetch out all of the digits */
-  while (mp_iszero (&t) == MP_NO) {
-    if ((res = mp_div_d (&t, (mp_digit) radix, &t, &d)) != MP_OKAY) {
-      mp_clear (&t);
-      return res;
-    }
-    ++digs;
-  }
-  mp_clear (&t);
-
-  /* return digs + 1, the 1 is for the NULL byte that would be required. */
-  *size = digs + 1;
-  return MP_OKAY;
-}
-
-#endif
-
-/* End: bn_mp_radix_size.c */
-
-/* Start: bn_mp_radix_smap.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_RADIX_SMAP_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* chars used in radix conversions */
-const char *mp_s_rmap = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/";
-#endif
-
-/* End: bn_mp_radix_smap.c */
-
-/* Start: bn_mp_rand.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_RAND_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* makes a pseudo-random int of a given size */
-int
-mp_rand (mp_int * a, int digits)
-{
-  int     res;
-  mp_digit d;
-
-  mp_zero (a);
-  if (digits <= 0) {
-    return MP_OKAY;
-  }
-
-  /* first place a random non-zero digit */
-  do {
-    d = ((mp_digit) abs (rand ())) & MP_MASK;
-  } while (d == 0);
-
-  if ((res = mp_add_d (a, d, a)) != MP_OKAY) {
-    return res;
-  }
-
-  while (--digits > 0) {
-    if ((res = mp_lshd (a, 1)) != MP_OKAY) {
-      return res;
-    }
-
-    if ((res = mp_add_d (a, ((mp_digit) abs (rand ())), a)) != MP_OKAY) {
-      return res;
-    }
-  }
-
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_rand.c */
-
-/* Start: bn_mp_read_radix.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_READ_RADIX_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* read a string [ASCII] in a given radix */
-int mp_read_radix (mp_int * a, const char *str, int radix)
-{
-  int     y, res, neg;
-  char    ch;
-
-  /* make sure the radix is ok */
-  if (radix < 2 || radix > 64) {
-    return MP_VAL;
-  }
-
-  /* if the leading digit is a 
-   * minus set the sign to negative. 
-   */
-  if (*str == '-') {
-    ++str;
-    neg = MP_NEG;
-  } else {
-    neg = MP_ZPOS;
-  }
-
-  /* set the integer to the default of zero */
-  mp_zero (a);
-  
-  /* process each digit of the string */
-  while (*str) {
-    /* if the radix < 36 the conversion is case insensitive
-     * this allows numbers like 1AB and 1ab to represent the same  value
-     * [e.g. in hex]
-     */
-    ch = (char) ((radix < 36) ? toupper (*str) : *str);
-    for (y = 0; y < 64; y++) {
-      if (ch == mp_s_rmap[y]) {
-         break;
-      }
-    }
-
-    /* if the char was found in the map 
-     * and is less than the given radix add it
-     * to the number, otherwise exit the loop. 
-     */
-    if (y < radix) {
-      if ((res = mp_mul_d (a, (mp_digit) radix, a)) != MP_OKAY) {
-         return res;
-      }
-      if ((res = mp_add_d (a, (mp_digit) y, a)) != MP_OKAY) {
-         return res;
-      }
-    } else {
-      break;
-    }
-    ++str;
-  }
-  
-  /* set the sign only if a != 0 */
-  if (mp_iszero(a) != 1) {
-     a->sign = neg;
-  }
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_read_radix.c */
-
-/* Start: bn_mp_read_signed_bin.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_READ_SIGNED_BIN_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* read signed bin, big endian, first byte is 0==positive or 1==negative */
-int mp_read_signed_bin (mp_int * a, const unsigned char *b, int c)
-{
-  int     res;
-
-  /* read magnitude */
-  if ((res = mp_read_unsigned_bin (a, b + 1, c - 1)) != MP_OKAY) {
-    return res;
-  }
-
-  /* first byte is 0 for positive, non-zero for negative */
-  if (b[0] == 0) {
-     a->sign = MP_ZPOS;
-  } else {
-     a->sign = MP_NEG;
-  }
-
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_read_signed_bin.c */
-
-/* Start: bn_mp_read_unsigned_bin.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_READ_UNSIGNED_BIN_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* reads a unsigned char array, assumes the msb is stored first [big endian] */
-int mp_read_unsigned_bin (mp_int * a, const unsigned char *b, int c)
-{
-  int     res;
-
-  /* make sure there are at least two digits */
-  if (a->alloc < 2) {
-     if ((res = mp_grow(a, 2)) != MP_OKAY) {
-        return res;
-     }
-  }
-
-  /* zero the int */
-  mp_zero (a);
-
-  /* read the bytes in */
-  while (c-- > 0) {
-    if ((res = mp_mul_2d (a, 8, a)) != MP_OKAY) {
-      return res;
-    }
-
-#ifndef MP_8BIT
-      a->dp[0] |= *b++;
-      a->used += 1;
-#else
-      a->dp[0] = (*b & MP_MASK);
-      a->dp[1] |= ((*b++ >> 7U) & 1);
-      a->used += 2;
-#endif
-  }
-  mp_clamp (a);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_read_unsigned_bin.c */
-
-/* Start: bn_mp_reduce.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_REDUCE_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* reduces x mod m, assumes 0 < x < m**2, mu is 
- * precomputed via mp_reduce_setup.
- * From HAC pp.604 Algorithm 14.42
- */
-int mp_reduce (mp_int * x, mp_int * m, mp_int * mu)
-{
-  mp_int  q;
-  int     res, um = m->used;
-
-  /* q = x */
-  if ((res = mp_init_copy (&q, x)) != MP_OKAY) {
-    return res;
-  }
-
-  /* q1 = x / b**(k-1)  */
-  mp_rshd (&q, um - 1);         
-
-  /* according to HAC this optimization is ok */
-  if (((unsigned long) um) > (((mp_digit)1) << (DIGIT_BIT - 1))) {
-    if ((res = mp_mul (&q, mu, &q)) != MP_OKAY) {
-      goto CLEANUP;
-    }
-  } else {
-#ifdef BN_S_MP_MUL_HIGH_DIGS_C
-    if ((res = s_mp_mul_high_digs (&q, mu, &q, um)) != MP_OKAY) {
-      goto CLEANUP;
-    }
-#elif defined(BN_FAST_S_MP_MUL_HIGH_DIGS_C)
-    if ((res = fast_s_mp_mul_high_digs (&q, mu, &q, um)) != MP_OKAY) {
-      goto CLEANUP;
-    }
-#else 
-    { 
-      res = MP_VAL;
-      goto CLEANUP;
-    }
-#endif
-  }
-
-  /* q3 = q2 / b**(k+1) */
-  mp_rshd (&q, um + 1);         
-
-  /* x = x mod b**(k+1), quick (no division) */
-  if ((res = mp_mod_2d (x, DIGIT_BIT * (um + 1), x)) != MP_OKAY) {
-    goto CLEANUP;
-  }
-
-  /* q = q * m mod b**(k+1), quick (no division) */
-  if ((res = s_mp_mul_digs (&q, m, &q, um + 1)) != MP_OKAY) {
-    goto CLEANUP;
-  }
-
-  /* x = x - q */
-  if ((res = mp_sub (x, &q, x)) != MP_OKAY) {
-    goto CLEANUP;
-  }
-
-  /* If x < 0, add b**(k+1) to it */
-  if (mp_cmp_d (x, 0) == MP_LT) {
-    mp_set (&q, 1);
-    if ((res = mp_lshd (&q, um + 1)) != MP_OKAY)
-      goto CLEANUP;
-    if ((res = mp_add (x, &q, x)) != MP_OKAY)
-      goto CLEANUP;
-  }
-
-  /* Back off if it's too big */
-  while (mp_cmp (x, m) != MP_LT) {
-    if ((res = s_mp_sub (x, m, x)) != MP_OKAY) {
-      goto CLEANUP;
-    }
-  }
-  
-CLEANUP:
-  mp_clear (&q);
-
-  return res;
-}
-#endif
-
-/* End: bn_mp_reduce.c */
-
-/* Start: bn_mp_reduce_2k.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_REDUCE_2K_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* reduces a modulo n where n is of the form 2**p - d */
-int mp_reduce_2k(mp_int *a, mp_int *n, mp_digit d)
-{
-   mp_int q;
-   int    p, res;
-   
-   if ((res = mp_init(&q)) != MP_OKAY) {
-      return res;
-   }
-   
-   p = mp_count_bits(n);    
-top:
-   /* q = a/2**p, a = a mod 2**p */
-   if ((res = mp_div_2d(a, p, &q, a)) != MP_OKAY) {
-      goto ERR;
-   }
-   
-   if (d != 1) {
-      /* q = q * d */
-      if ((res = mp_mul_d(&q, d, &q)) != MP_OKAY) { 
-         goto ERR;
-      }
-   }
-   
-   /* a = a + q */
-   if ((res = s_mp_add(a, &q, a)) != MP_OKAY) {
-      goto ERR;
-   }
-   
-   if (mp_cmp_mag(a, n) != MP_LT) {
-      s_mp_sub(a, n, a);
-      goto top;
-   }
-   
-ERR:
-   mp_clear(&q);
-   return res;
-}
-
-#endif
-
-/* End: bn_mp_reduce_2k.c */
-
-/* Start: bn_mp_reduce_2k_l.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_REDUCE_2K_L_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* reduces a modulo n where n is of the form 2**p - d 
-   This differs from reduce_2k since "d" can be larger
-   than a single digit.
-*/
-int mp_reduce_2k_l(mp_int *a, mp_int *n, mp_int *d)
-{
-   mp_int q;
-   int    p, res;
-   
-   if ((res = mp_init(&q)) != MP_OKAY) {
-      return res;
-   }
-   
-   p = mp_count_bits(n);    
-top:
-   /* q = a/2**p, a = a mod 2**p */
-   if ((res = mp_div_2d(a, p, &q, a)) != MP_OKAY) {
-      goto ERR;
-   }
-   
-   /* q = q * d */
-   if ((res = mp_mul(&q, d, &q)) != MP_OKAY) { 
-      goto ERR;
-   }
-   
-   /* a = a + q */
-   if ((res = s_mp_add(a, &q, a)) != MP_OKAY) {
-      goto ERR;
-   }
-   
-   if (mp_cmp_mag(a, n) != MP_LT) {
-      s_mp_sub(a, n, a);
-      goto top;
-   }
-   
-ERR:
-   mp_clear(&q);
-   return res;
-}
-
-#endif
-
-/* End: bn_mp_reduce_2k_l.c */
-
-/* Start: bn_mp_reduce_2k_setup.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_REDUCE_2K_SETUP_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* determines the setup value */
-int mp_reduce_2k_setup(mp_int *a, mp_digit *d)
-{
-   int res, p;
-   mp_int tmp;
-   
-   if ((res = mp_init(&tmp)) != MP_OKAY) {
-      return res;
-   }
-   
-   p = mp_count_bits(a);
-   if ((res = mp_2expt(&tmp, p)) != MP_OKAY) {
-      mp_clear(&tmp);
-      return res;
-   }
-   
-   if ((res = s_mp_sub(&tmp, a, &tmp)) != MP_OKAY) {
-      mp_clear(&tmp);
-      return res;
-   }
-   
-   *d = tmp.dp[0];
-   mp_clear(&tmp);
-   return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_reduce_2k_setup.c */
-
-/* Start: bn_mp_reduce_2k_setup_l.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_REDUCE_2K_SETUP_L_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* determines the setup value */
-int mp_reduce_2k_setup_l(mp_int *a, mp_int *d)
-{
-   int    res;
-   mp_int tmp;
-   
-   if ((res = mp_init(&tmp)) != MP_OKAY) {
-      return res;
-   }
-   
-   if ((res = mp_2expt(&tmp, mp_count_bits(a))) != MP_OKAY) {
-      goto ERR;
-   }
-   
-   if ((res = s_mp_sub(&tmp, a, d)) != MP_OKAY) {
-      goto ERR;
-   }
-   
-ERR:
-   mp_clear(&tmp);
-   return res;
-}
-#endif
-
-/* End: bn_mp_reduce_2k_setup_l.c */
-
-/* Start: bn_mp_reduce_is_2k.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_REDUCE_IS_2K_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* determines if mp_reduce_2k can be used */
-int mp_reduce_is_2k(mp_int *a)
-{
-   int ix, iy, iw;
-   mp_digit iz;
-   
-   if (a->used == 0) {
-      return MP_NO;
-   } else if (a->used == 1) {
-      return MP_YES;
-   } else if (a->used > 1) {
-      iy = mp_count_bits(a);
-      iz = 1;
-      iw = 1;
-    
-      /* Test every bit from the second digit up, must be 1 */
-      for (ix = DIGIT_BIT; ix < iy; ix++) {
-          if ((a->dp[iw] & iz) == 0) {
-             return MP_NO;
-          }
-          iz <<= 1;
-          if (iz > (mp_digit)MP_MASK) {
-             ++iw;
-             iz = 1;
-          }
-      }
-   }
-   return MP_YES;
-}
-
-#endif
-
-/* End: bn_mp_reduce_is_2k.c */
-
-/* Start: bn_mp_reduce_is_2k_l.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_REDUCE_IS_2K_L_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* determines if reduce_2k_l can be used */
-int mp_reduce_is_2k_l(mp_int *a)
-{
-   int ix, iy;
-   
-   if (a->used == 0) {
-      return MP_NO;
-   } else if (a->used == 1) {
-      return MP_YES;
-   } else if (a->used > 1) {
-      /* if more than half of the digits are -1 we're sold */
-      for (iy = ix = 0; ix < a->used; ix++) {
-          if (a->dp[ix] == MP_MASK) {
-              ++iy;
-          }
-      }
-      return (iy >= (a->used/2)) ? MP_YES : MP_NO;
-      
-   }
-   return MP_NO;
-}
-
-#endif
-
-/* End: bn_mp_reduce_is_2k_l.c */
-
-/* Start: bn_mp_reduce_setup.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_REDUCE_SETUP_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* pre-calculate the value required for Barrett reduction
- * For a given modulus "b" it calulates the value required in "a"
- */
-int mp_reduce_setup (mp_int * a, mp_int * b)
-{
-  int     res;
-  
-  if ((res = mp_2expt (a, b->used * 2 * DIGIT_BIT)) != MP_OKAY) {
-    return res;
-  }
-  return mp_div (a, b, a, NULL);
-}
-#endif
-
-/* End: bn_mp_reduce_setup.c */
-
-/* Start: bn_mp_rshd.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_RSHD_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* shift right a certain amount of digits */
-void mp_rshd (mp_int * a, int b)
-{
-  int     x;
-
-  /* if b <= 0 then ignore it */
-  if (b <= 0) {
-    return;
-  }
-
-  /* if b > used then simply zero it and return */
-  if (a->used <= b) {
-    mp_zero (a);
-    return;
-  }
-
-  {
-    register mp_digit *bottom, *top;
-
-    /* shift the digits down */
-
-    /* bottom */
-    bottom = a->dp;
-
-    /* top [offset into digits] */
-    top = a->dp + b;
-
-    /* this is implemented as a sliding window where 
-     * the window is b-digits long and digits from 
-     * the top of the window are copied to the bottom
-     *
-     * e.g.
-
-     b-2 | b-1 | b0 | b1 | b2 | ... | bb |   ---->
-                 /\                   |      ---->
-                  \-------------------/      ---->
-     */
-    for (x = 0; x < (a->used - b); x++) {
-      *bottom++ = *top++;
-    }
-
-    /* zero the top digits */
-    for (; x < a->used; x++) {
-      *bottom++ = 0;
-    }
-  }
-  
-  /* remove excess digits */
-  a->used -= b;
-}
-#endif
-
-/* End: bn_mp_rshd.c */
-
-/* Start: bn_mp_set.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_SET_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* set to a digit */
-void mp_set (mp_int * a, mp_digit b)
-{
-  mp_zero (a);
-  a->dp[0] = b & MP_MASK;
-  a->used  = (a->dp[0] != 0) ? 1 : 0;
-}
-#endif
-
-/* End: bn_mp_set.c */
-
-/* Start: bn_mp_set_int.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_SET_INT_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* set a 32-bit const */
-int mp_set_int (mp_int * a, unsigned long b)
-{
-  int     x, res;
-
-  mp_zero (a);
-  
-  /* set four bits at a time */
-  for (x = 0; x < 8; x++) {
-    /* shift the number up four bits */
-    if ((res = mp_mul_2d (a, 4, a)) != MP_OKAY) {
-      return res;
-    }
-
-    /* OR in the top four bits of the source */
-    a->dp[0] |= (b >> 28) & 15;
-
-    /* shift the source up to the next four bits */
-    b <<= 4;
-
-    /* ensure that digits are not clamped off */
-    a->used += 1;
-  }
-  mp_clamp (a);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_set_int.c */
-
-/* Start: bn_mp_shrink.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_SHRINK_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* shrink a bignum */
-int mp_shrink (mp_int * a)
-{
-  mp_digit *tmp;
-  if (a->alloc != a->used && a->used > 0) {
-    if ((tmp = OPT_CAST(mp_digit) XREALLOC (a->dp, sizeof (mp_digit) * a->used)) == NULL) {
-      return MP_MEM;
-    }
-    a->dp    = tmp;
-    a->alloc = a->used;
-  }
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_shrink.c */
-
-/* Start: bn_mp_signed_bin_size.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_SIGNED_BIN_SIZE_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* get the size for an signed equivalent */
-int mp_signed_bin_size (mp_int * a)
-{
-  return 1 + mp_unsigned_bin_size (a);
-}
-#endif
-
-/* End: bn_mp_signed_bin_size.c */
-
-/* Start: bn_mp_sqr.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_SQR_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* computes b = a*a */
-int
-mp_sqr (mp_int * a, mp_int * b)
-{
-  int     res;
-
-#ifdef BN_MP_TOOM_SQR_C
-  /* use Toom-Cook? */
-  if (a->used >= TOOM_SQR_CUTOFF) {
-    res = mp_toom_sqr(a, b);
-  /* Karatsuba? */
-  } else 
-#endif
-#ifdef BN_MP_KARATSUBA_SQR_C
-if (a->used >= KARATSUBA_SQR_CUTOFF) {
-    res = mp_karatsuba_sqr (a, b);
-  } else 
-#endif
-  {
-#ifdef BN_FAST_S_MP_SQR_C
-    /* can we use the fast comba multiplier? */
-    if ((a->used * 2 + 1) < MP_WARRAY && 
-         a->used < 
-         (1 << (sizeof(mp_word) * CHAR_BIT - 2*DIGIT_BIT - 1))) {
-      res = fast_s_mp_sqr (a, b);
-    } else
-#endif
-#ifdef BN_S_MP_SQR_C
-      res = s_mp_sqr (a, b);
-#else
-      res = MP_VAL;
-#endif
-  }
-  b->sign = MP_ZPOS;
-  return res;
-}
-#endif
-
-/* End: bn_mp_sqr.c */
-
-/* Start: bn_mp_sqrmod.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_SQRMOD_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* c = a * a (mod b) */
-int
-mp_sqrmod (mp_int * a, mp_int * b, mp_int * c)
-{
-  int     res;
-  mp_int  t;
-
-  if ((res = mp_init (&t)) != MP_OKAY) {
-    return res;
-  }
-
-  if ((res = mp_sqr (a, &t)) != MP_OKAY) {
-    mp_clear (&t);
-    return res;
-  }
-  res = mp_mod (&t, b, c);
-  mp_clear (&t);
-  return res;
-}
-#endif
-
-/* End: bn_mp_sqrmod.c */
-
-/* Start: bn_mp_sqrt.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_SQRT_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* this function is less generic than mp_n_root, simpler and faster */
-int mp_sqrt(mp_int *arg, mp_int *ret) 
-{
-  int res;
-  mp_int t1,t2;
-
-  /* must be positive */
-  if (arg->sign == MP_NEG) {
-    return MP_VAL;
-  }
-
-  /* easy out */
-  if (mp_iszero(arg) == MP_YES) {
-    mp_zero(ret);
-    return MP_OKAY;
-  }
-
-  if ((res = mp_init_copy(&t1, arg)) != MP_OKAY) {
-    return res;
-  }
-
-  if ((res = mp_init(&t2)) != MP_OKAY) {
-    goto E2;
-  }
-
-  /* First approx. (not very bad for large arg) */
-  mp_rshd (&t1,t1.used/2);
-
-  /* t1 > 0  */ 
-  if ((res = mp_div(arg,&t1,&t2,NULL)) != MP_OKAY) {
-    goto E1;
-  }
-  if ((res = mp_add(&t1,&t2,&t1)) != MP_OKAY) {
-    goto E1;
-  }
-  if ((res = mp_div_2(&t1,&t1)) != MP_OKAY) {
-    goto E1;
-  }
-  /* And now t1 > sqrt(arg) */
-  do { 
-    if ((res = mp_div(arg,&t1,&t2,NULL)) != MP_OKAY) {
-      goto E1;
-    }
-    if ((res = mp_add(&t1,&t2,&t1)) != MP_OKAY) {
-      goto E1;
-    }
-    if ((res = mp_div_2(&t1,&t1)) != MP_OKAY) {
-      goto E1;
-    }
-    /* t1 >= sqrt(arg) >= t2 at this point */
-  } while (mp_cmp_mag(&t1,&t2) == MP_GT);
-
-  mp_exch(&t1,ret);
-
-E1: mp_clear(&t2);
-E2: mp_clear(&t1);
-  return res;
-}
-
-#endif
-
-/* End: bn_mp_sqrt.c */
-
-/* Start: bn_mp_sub.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_SUB_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* high level subtraction (handles signs) */
-int
-mp_sub (mp_int * a, mp_int * b, mp_int * c)
-{
-  int     sa, sb, res;
-
-  sa = a->sign;
-  sb = b->sign;
-
-  if (sa != sb) {
-    /* subtract a negative from a positive, OR */
-    /* subtract a positive from a negative. */
-    /* In either case, ADD their magnitudes, */
-    /* and use the sign of the first number. */
-    c->sign = sa;
-    res = s_mp_add (a, b, c);
-  } else {
-    /* subtract a positive from a positive, OR */
-    /* subtract a negative from a negative. */
-    /* First, take the difference between their */
-    /* magnitudes, then... */
-    if (mp_cmp_mag (a, b) != MP_LT) {
-      /* Copy the sign from the first */
-      c->sign = sa;
-      /* The first has a larger or equal magnitude */
-      res = s_mp_sub (a, b, c);
-    } else {
-      /* The result has the *opposite* sign from */
-      /* the first number. */
-      c->sign = (sa == MP_ZPOS) ? MP_NEG : MP_ZPOS;
-      /* The second has a larger magnitude */
-      res = s_mp_sub (b, a, c);
-    }
-  }
-  return res;
-}
-
-#endif
-
-/* End: bn_mp_sub.c */
-
-/* Start: bn_mp_sub_d.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_SUB_D_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* single digit subtraction */
-int
-mp_sub_d (mp_int * a, mp_digit b, mp_int * c)
-{
-  mp_digit *tmpa, *tmpc, mu;
-  int       res, ix, oldused;
-
-  /* grow c as required */
-  if (c->alloc < a->used + 1) {
-     if ((res = mp_grow(c, a->used + 1)) != MP_OKAY) {
-        return res;
-     }
-  }
-
-  /* if a is negative just do an unsigned
-   * addition [with fudged signs]
-   */
-  if (a->sign == MP_NEG) {
-     a->sign = MP_ZPOS;
-     res     = mp_add_d(a, b, c);
-     a->sign = c->sign = MP_NEG;
-     return res;
-  }
-
-  /* setup regs */
-  oldused = c->used;
-  tmpa    = a->dp;
-  tmpc    = c->dp;
-
-  /* if a <= b simply fix the single digit */
-  if ((a->used == 1 && a->dp[0] <= b) || a->used == 0) {
-     if (a->used == 1) {
-        *tmpc++ = b - *tmpa;
-     } else {
-        *tmpc++ = b;
-     }
-     ix      = 1;
-
-     /* negative/1digit */
-     c->sign = MP_NEG;
-     c->used = 1;
-  } else {
-     /* positive/size */
-     c->sign = MP_ZPOS;
-     c->used = a->used;
-
-     /* subtract first digit */
-     *tmpc    = *tmpa++ - b;
-     mu       = *tmpc >> (sizeof(mp_digit) * CHAR_BIT - 1);
-     *tmpc++ &= MP_MASK;
-
-     /* handle rest of the digits */
-     for (ix = 1; ix < a->used; ix++) {
-        *tmpc    = *tmpa++ - mu;
-        mu       = *tmpc >> (sizeof(mp_digit) * CHAR_BIT - 1);
-        *tmpc++ &= MP_MASK;
-     }
-  }
-
-  /* zero excess digits */
-  while (ix++ < oldused) {
-     *tmpc++ = 0;
-  }
-  mp_clamp(c);
-  return MP_OKAY;
-}
-
-#endif
-
-/* End: bn_mp_sub_d.c */
-
-/* Start: bn_mp_submod.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_SUBMOD_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* d = a - b (mod c) */
-int
-mp_submod (mp_int * a, mp_int * b, mp_int * c, mp_int * d)
-{
-  int     res;
-  mp_int  t;
-
-
-  if ((res = mp_init (&t)) != MP_OKAY) {
-    return res;
-  }
-
-  if ((res = mp_sub (a, b, &t)) != MP_OKAY) {
-    mp_clear (&t);
-    return res;
-  }
-  res = mp_mod (&t, c, d);
-  mp_clear (&t);
-  return res;
-}
-#endif
-
-/* End: bn_mp_submod.c */
-
-/* Start: bn_mp_to_signed_bin.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_TO_SIGNED_BIN_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* store in signed [big endian] format */
-int mp_to_signed_bin (mp_int * a, unsigned char *b)
-{
-  int     res;
-
-  if ((res = mp_to_unsigned_bin (a, b + 1)) != MP_OKAY) {
-    return res;
-  }
-  b[0] = (unsigned char) ((a->sign == MP_ZPOS) ? 0 : 1);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_to_signed_bin.c */
-
-/* Start: bn_mp_to_signed_bin_n.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_TO_SIGNED_BIN_N_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* store in signed [big endian] format */
-int mp_to_signed_bin_n (mp_int * a, unsigned char *b, unsigned long *outlen)
-{
-   if (*outlen < (unsigned long)mp_signed_bin_size(a)) {
-      return MP_VAL;
-   }
-   *outlen = mp_signed_bin_size(a);
-   return mp_to_signed_bin(a, b);
-}
-#endif
-
-/* End: bn_mp_to_signed_bin_n.c */
-
-/* Start: bn_mp_to_unsigned_bin.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_TO_UNSIGNED_BIN_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* store in unsigned [big endian] format */
-int mp_to_unsigned_bin (mp_int * a, unsigned char *b)
-{
-  int     x, res;
-  mp_int  t;
-
-  if ((res = mp_init_copy (&t, a)) != MP_OKAY) {
-    return res;
-  }
-
-  x = 0;
-  while (mp_iszero (&t) == 0) {
-#ifndef MP_8BIT
-      b[x++] = (unsigned char) (t.dp[0] & 255);
-#else
-      b[x++] = (unsigned char) (t.dp[0] | ((t.dp[1] & 0x01) << 7));
-#endif
-    if ((res = mp_div_2d (&t, 8, &t, NULL)) != MP_OKAY) {
-      mp_clear (&t);
-      return res;
-    }
-  }
-  bn_reverse (b, x);
-  mp_clear (&t);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_to_unsigned_bin.c */
-
-/* Start: bn_mp_to_unsigned_bin_n.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_TO_UNSIGNED_BIN_N_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* store in unsigned [big endian] format */
-int mp_to_unsigned_bin_n (mp_int * a, unsigned char *b, unsigned long *outlen)
-{
-   if (*outlen < (unsigned long)mp_unsigned_bin_size(a)) {
-      return MP_VAL;
-   }
-   *outlen = mp_unsigned_bin_size(a);
-   return mp_to_unsigned_bin(a, b);
-}
-#endif
-
-/* End: bn_mp_to_unsigned_bin_n.c */
-
-/* Start: bn_mp_toom_mul.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_TOOM_MUL_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* multiplication using the Toom-Cook 3-way algorithm 
- *
- * Much more complicated than Karatsuba but has a lower 
- * asymptotic running time of O(N**1.464).  This algorithm is 
- * only particularly useful on VERY large inputs 
- * (we're talking 1000s of digits here...).
-*/
-int mp_toom_mul(mp_int *a, mp_int *b, mp_int *c)
-{
-    mp_int w0, w1, w2, w3, w4, tmp1, tmp2, a0, a1, a2, b0, b1, b2;
-    int res, B;
-        
-    /* init temps */
-    if ((res = mp_init_multi(&w0, &w1, &w2, &w3, &w4, 
-                             &a0, &a1, &a2, &b0, &b1, 
-                             &b2, &tmp1, &tmp2, NULL)) != MP_OKAY) {
-       return res;
-    }
-    
-    /* B */
-    B = MIN(a->used, b->used) / 3;
-    
-    /* a = a2 * B**2 + a1 * B + a0 */
-    if ((res = mp_mod_2d(a, DIGIT_BIT * B, &a0)) != MP_OKAY) {
-       goto ERR;
-    }
-
-    if ((res = mp_copy(a, &a1)) != MP_OKAY) {
-       goto ERR;
-    }
-    mp_rshd(&a1, B);
-    mp_mod_2d(&a1, DIGIT_BIT * B, &a1);
-
-    if ((res = mp_copy(a, &a2)) != MP_OKAY) {
-       goto ERR;
-    }
-    mp_rshd(&a2, B*2);
-    
-    /* b = b2 * B**2 + b1 * B + b0 */
-    if ((res = mp_mod_2d(b, DIGIT_BIT * B, &b0)) != MP_OKAY) {
-       goto ERR;
-    }
-
-    if ((res = mp_copy(b, &b1)) != MP_OKAY) {
-       goto ERR;
-    }
-    mp_rshd(&b1, B);
-    mp_mod_2d(&b1, DIGIT_BIT * B, &b1);
-
-    if ((res = mp_copy(b, &b2)) != MP_OKAY) {
-       goto ERR;
-    }
-    mp_rshd(&b2, B*2);
-    
-    /* w0 = a0*b0 */
-    if ((res = mp_mul(&a0, &b0, &w0)) != MP_OKAY) {
-       goto ERR;
-    }
-    
-    /* w4 = a2 * b2 */
-    if ((res = mp_mul(&a2, &b2, &w4)) != MP_OKAY) {
-       goto ERR;
-    }
-    
-    /* w1 = (a2 + 2(a1 + 2a0))(b2 + 2(b1 + 2b0)) */
-    if ((res = mp_mul_2(&a0, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_add(&tmp1, &a1, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_mul_2(&tmp1, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_add(&tmp1, &a2, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    
-    if ((res = mp_mul_2(&b0, &tmp2)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_add(&tmp2, &b1, &tmp2)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_mul_2(&tmp2, &tmp2)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_add(&tmp2, &b2, &tmp2)) != MP_OKAY) {
-       goto ERR;
-    }
-    
-    if ((res = mp_mul(&tmp1, &tmp2, &w1)) != MP_OKAY) {
-       goto ERR;
-    }
-    
-    /* w3 = (a0 + 2(a1 + 2a2))(b0 + 2(b1 + 2b2)) */
-    if ((res = mp_mul_2(&a2, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_add(&tmp1, &a1, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_mul_2(&tmp1, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_add(&tmp1, &a0, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    
-    if ((res = mp_mul_2(&b2, &tmp2)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_add(&tmp2, &b1, &tmp2)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_mul_2(&tmp2, &tmp2)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_add(&tmp2, &b0, &tmp2)) != MP_OKAY) {
-       goto ERR;
-    }
-    
-    if ((res = mp_mul(&tmp1, &tmp2, &w3)) != MP_OKAY) {
-       goto ERR;
-    }
-    
-
-    /* w2 = (a2 + a1 + a0)(b2 + b1 + b0) */
-    if ((res = mp_add(&a2, &a1, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_add(&tmp1, &a0, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_add(&b2, &b1, &tmp2)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_add(&tmp2, &b0, &tmp2)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_mul(&tmp1, &tmp2, &w2)) != MP_OKAY) {
-       goto ERR;
-    }
-    
-    /* now solve the matrix 
-    
-       0  0  0  0  1
-       1  2  4  8  16
-       1  1  1  1  1
-       16 8  4  2  1
-       1  0  0  0  0
-       
-       using 12 subtractions, 4 shifts, 
-              2 small divisions and 1 small multiplication 
-     */
-     
-     /* r1 - r4 */
-     if ((res = mp_sub(&w1, &w4, &w1)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r3 - r0 */
-     if ((res = mp_sub(&w3, &w0, &w3)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r1/2 */
-     if ((res = mp_div_2(&w1, &w1)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r3/2 */
-     if ((res = mp_div_2(&w3, &w3)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r2 - r0 - r4 */
-     if ((res = mp_sub(&w2, &w0, &w2)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_sub(&w2, &w4, &w2)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r1 - r2 */
-     if ((res = mp_sub(&w1, &w2, &w1)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r3 - r2 */
-     if ((res = mp_sub(&w3, &w2, &w3)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r1 - 8r0 */
-     if ((res = mp_mul_2d(&w0, 3, &tmp1)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_sub(&w1, &tmp1, &w1)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r3 - 8r4 */
-     if ((res = mp_mul_2d(&w4, 3, &tmp1)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_sub(&w3, &tmp1, &w3)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* 3r2 - r1 - r3 */
-     if ((res = mp_mul_d(&w2, 3, &w2)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_sub(&w2, &w1, &w2)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_sub(&w2, &w3, &w2)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r1 - r2 */
-     if ((res = mp_sub(&w1, &w2, &w1)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r3 - r2 */
-     if ((res = mp_sub(&w3, &w2, &w3)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r1/3 */
-     if ((res = mp_div_3(&w1, &w1, NULL)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r3/3 */
-     if ((res = mp_div_3(&w3, &w3, NULL)) != MP_OKAY) {
-        goto ERR;
-     }
-     
-     /* at this point shift W[n] by B*n */
-     if ((res = mp_lshd(&w1, 1*B)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_lshd(&w2, 2*B)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_lshd(&w3, 3*B)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_lshd(&w4, 4*B)) != MP_OKAY) {
-        goto ERR;
-     }     
-     
-     if ((res = mp_add(&w0, &w1, c)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_add(&w2, &w3, &tmp1)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_add(&w4, &tmp1, &tmp1)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_add(&tmp1, c, c)) != MP_OKAY) {
-        goto ERR;
-     }     
-     
-ERR:
-     mp_clear_multi(&w0, &w1, &w2, &w3, &w4, 
-                    &a0, &a1, &a2, &b0, &b1, 
-                    &b2, &tmp1, &tmp2, NULL);
-     return res;
-}     
-     
-#endif
-
-/* End: bn_mp_toom_mul.c */
-
-/* Start: bn_mp_toom_sqr.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_TOOM_SQR_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* squaring using Toom-Cook 3-way algorithm */
-int
-mp_toom_sqr(mp_int *a, mp_int *b)
-{
-    mp_int w0, w1, w2, w3, w4, tmp1, a0, a1, a2;
-    int res, B;
-
-    /* init temps */
-    if ((res = mp_init_multi(&w0, &w1, &w2, &w3, &w4, &a0, &a1, &a2, &tmp1, NULL)) != MP_OKAY) {
-       return res;
-    }
-
-    /* B */
-    B = a->used / 3;
-
-    /* a = a2 * B**2 + a1 * B + a0 */
-    if ((res = mp_mod_2d(a, DIGIT_BIT * B, &a0)) != MP_OKAY) {
-       goto ERR;
-    }
-
-    if ((res = mp_copy(a, &a1)) != MP_OKAY) {
-       goto ERR;
-    }
-    mp_rshd(&a1, B);
-    mp_mod_2d(&a1, DIGIT_BIT * B, &a1);
-
-    if ((res = mp_copy(a, &a2)) != MP_OKAY) {
-       goto ERR;
-    }
-    mp_rshd(&a2, B*2);
-
-    /* w0 = a0*a0 */
-    if ((res = mp_sqr(&a0, &w0)) != MP_OKAY) {
-       goto ERR;
-    }
-
-    /* w4 = a2 * a2 */
-    if ((res = mp_sqr(&a2, &w4)) != MP_OKAY) {
-       goto ERR;
-    }
-
-    /* w1 = (a2 + 2(a1 + 2a0))**2 */
-    if ((res = mp_mul_2(&a0, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_add(&tmp1, &a1, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_mul_2(&tmp1, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_add(&tmp1, &a2, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-
-    if ((res = mp_sqr(&tmp1, &w1)) != MP_OKAY) {
-       goto ERR;
-    }
-
-    /* w3 = (a0 + 2(a1 + 2a2))**2 */
-    if ((res = mp_mul_2(&a2, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_add(&tmp1, &a1, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_mul_2(&tmp1, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_add(&tmp1, &a0, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-
-    if ((res = mp_sqr(&tmp1, &w3)) != MP_OKAY) {
-       goto ERR;
-    }
-
-
-    /* w2 = (a2 + a1 + a0)**2 */
-    if ((res = mp_add(&a2, &a1, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_add(&tmp1, &a0, &tmp1)) != MP_OKAY) {
-       goto ERR;
-    }
-    if ((res = mp_sqr(&tmp1, &w2)) != MP_OKAY) {
-       goto ERR;
-    }
-
-    /* now solve the matrix
-
-       0  0  0  0  1
-       1  2  4  8  16
-       1  1  1  1  1
-       16 8  4  2  1
-       1  0  0  0  0
-
-       using 12 subtractions, 4 shifts, 2 small divisions and 1 small multiplication.
-     */
-
-     /* r1 - r4 */
-     if ((res = mp_sub(&w1, &w4, &w1)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r3 - r0 */
-     if ((res = mp_sub(&w3, &w0, &w3)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r1/2 */
-     if ((res = mp_div_2(&w1, &w1)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r3/2 */
-     if ((res = mp_div_2(&w3, &w3)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r2 - r0 - r4 */
-     if ((res = mp_sub(&w2, &w0, &w2)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_sub(&w2, &w4, &w2)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r1 - r2 */
-     if ((res = mp_sub(&w1, &w2, &w1)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r3 - r2 */
-     if ((res = mp_sub(&w3, &w2, &w3)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r1 - 8r0 */
-     if ((res = mp_mul_2d(&w0, 3, &tmp1)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_sub(&w1, &tmp1, &w1)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r3 - 8r4 */
-     if ((res = mp_mul_2d(&w4, 3, &tmp1)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_sub(&w3, &tmp1, &w3)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* 3r2 - r1 - r3 */
-     if ((res = mp_mul_d(&w2, 3, &w2)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_sub(&w2, &w1, &w2)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_sub(&w2, &w3, &w2)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r1 - r2 */
-     if ((res = mp_sub(&w1, &w2, &w1)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r3 - r2 */
-     if ((res = mp_sub(&w3, &w2, &w3)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r1/3 */
-     if ((res = mp_div_3(&w1, &w1, NULL)) != MP_OKAY) {
-        goto ERR;
-     }
-     /* r3/3 */
-     if ((res = mp_div_3(&w3, &w3, NULL)) != MP_OKAY) {
-        goto ERR;
-     }
-
-     /* at this point shift W[n] by B*n */
-     if ((res = mp_lshd(&w1, 1*B)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_lshd(&w2, 2*B)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_lshd(&w3, 3*B)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_lshd(&w4, 4*B)) != MP_OKAY) {
-        goto ERR;
-     }
-
-     if ((res = mp_add(&w0, &w1, b)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_add(&w2, &w3, &tmp1)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_add(&w4, &tmp1, &tmp1)) != MP_OKAY) {
-        goto ERR;
-     }
-     if ((res = mp_add(&tmp1, b, b)) != MP_OKAY) {
-        goto ERR;
-     }
-
-ERR:
-     mp_clear_multi(&w0, &w1, &w2, &w3, &w4, &a0, &a1, &a2, &tmp1, NULL);
-     return res;
-}
-
-#endif
-
-/* End: bn_mp_toom_sqr.c */
-
-/* Start: bn_mp_toradix.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_TORADIX_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* stores a bignum as a ASCII string in a given radix (2..64) */
-int mp_toradix (mp_int * a, char *str, int radix)
-{
-  int     res, digs;
-  mp_int  t;
-  mp_digit d;
-  char   *_s = str;
-
-  /* check range of the radix */
-  if (radix < 2 || radix > 64) {
-    return MP_VAL;
-  }
-
-  /* quick out if its zero */
-  if (mp_iszero(a) == 1) {
-     *str++ = '0';
-     *str = '\0';
-     return MP_OKAY;
-  }
-
-  if ((res = mp_init_copy (&t, a)) != MP_OKAY) {
-    return res;
-  }
-
-  /* if it is negative output a - */
-  if (t.sign == MP_NEG) {
-    ++_s;
-    *str++ = '-';
-    t.sign = MP_ZPOS;
-  }
-
-  digs = 0;
-  while (mp_iszero (&t) == 0) {
-    if ((res = mp_div_d (&t, (mp_digit) radix, &t, &d)) != MP_OKAY) {
-      mp_clear (&t);
-      return res;
-    }
-    *str++ = mp_s_rmap[d];
-    ++digs;
-  }
-
-  /* reverse the digits of the string.  In this case _s points
-   * to the first digit [exluding the sign] of the number]
-   */
-  bn_reverse ((unsigned char *)_s, digs);
-
-  /* append a NULL so the string is properly terminated */
-  *str = '\0';
-
-  mp_clear (&t);
-  return MP_OKAY;
-}
-
-#endif
-
-/* End: bn_mp_toradix.c */
-
-/* Start: bn_mp_toradix_n.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_TORADIX_N_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* stores a bignum as a ASCII string in a given radix (2..64) 
- *
- * Stores upto maxlen-1 chars and always a NULL byte 
- */
-int mp_toradix_n(mp_int * a, char *str, int radix, int maxlen)
-{
-  int     res, digs;
-  mp_int  t;
-  mp_digit d;
-  char   *_s = str;
-
-  /* check range of the maxlen, radix */
-  if (maxlen < 3 || radix < 2 || radix > 64) {
-    return MP_VAL;
-  }
-
-  /* quick out if its zero */
-  if (mp_iszero(a) == 1) {
-     *str++ = '0';
-     *str = '\0';
-     return MP_OKAY;
-  }
-
-  if ((res = mp_init_copy (&t, a)) != MP_OKAY) {
-    return res;
-  }
-
-  /* if it is negative output a - */
-  if (t.sign == MP_NEG) {
-    /* we have to reverse our digits later... but not the - sign!! */
-    ++_s;
-
-    /* store the flag and mark the number as positive */
-    *str++ = '-';
-    t.sign = MP_ZPOS;
- 
-    /* subtract a char */
-    --maxlen;
-  }
-
-  digs = 0;
-  while (mp_iszero (&t) == 0) {
-    if ((res = mp_div_d (&t, (mp_digit) radix, &t, &d)) != MP_OKAY) {
-      mp_clear (&t);
-      return res;
-    }
-    *str++ = mp_s_rmap[d];
-    ++digs;
-
-    if (--maxlen == 1) {
-       /* no more room */
-       break;
-    }
-  }
-
-  /* reverse the digits of the string.  In this case _s points
-   * to the first digit [exluding the sign] of the number]
-   */
-  bn_reverse ((unsigned char *)_s, digs);
-
-  /* append a NULL so the string is properly terminated */
-  *str = '\0';
-
-  mp_clear (&t);
-  return MP_OKAY;
-}
-
-#endif
-
-/* End: bn_mp_toradix_n.c */
-
-/* Start: bn_mp_unsigned_bin_size.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_UNSIGNED_BIN_SIZE_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* get the size for an unsigned equivalent */
-int mp_unsigned_bin_size (mp_int * a)
-{
-  int     size = mp_count_bits (a);
-  return (size / 8 + ((size & 7) != 0 ? 1 : 0));
-}
-#endif
-
-/* End: bn_mp_unsigned_bin_size.c */
-
-/* Start: bn_mp_xor.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_XOR_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* XOR two ints together */
-int
-mp_xor (mp_int * a, mp_int * b, mp_int * c)
-{
-  int     res, ix, px;
-  mp_int  t, *x;
-
-  if (a->used > b->used) {
-    if ((res = mp_init_copy (&t, a)) != MP_OKAY) {
-      return res;
-    }
-    px = b->used;
-    x = b;
-  } else {
-    if ((res = mp_init_copy (&t, b)) != MP_OKAY) {
-      return res;
-    }
-    px = a->used;
-    x = a;
-  }
-
-  for (ix = 0; ix < px; ix++) {
-     t.dp[ix] ^= x->dp[ix];
-  }
-  mp_clamp (&t);
-  mp_exch (c, &t);
-  mp_clear (&t);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_mp_xor.c */
-
-/* Start: bn_mp_zero.c */
-#include <ltc_tommath.h>
-#ifdef BN_MP_ZERO_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* set to zero */
-void mp_zero (mp_int * a)
-{
-  int       n;
-  mp_digit *tmp;
-
-  a->sign = MP_ZPOS;
-  a->used = 0;
-
-  tmp = a->dp;
-  for (n = 0; n < a->alloc; n++) {
-     *tmp++ = 0;
-  }
-}
-#endif
-
-/* End: bn_mp_zero.c */
-
-/* Start: bn_prime_tab.c */
-#include <ltc_tommath.h>
-#ifdef BN_PRIME_TAB_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-const mp_digit ltm_prime_tab[] = {
-  0x0002, 0x0003, 0x0005, 0x0007, 0x000B, 0x000D, 0x0011, 0x0013,
-  0x0017, 0x001D, 0x001F, 0x0025, 0x0029, 0x002B, 0x002F, 0x0035,
-  0x003B, 0x003D, 0x0043, 0x0047, 0x0049, 0x004F, 0x0053, 0x0059,
-  0x0061, 0x0065, 0x0067, 0x006B, 0x006D, 0x0071, 0x007F,
-#ifndef MP_8BIT
-  0x0083,
-  0x0089, 0x008B, 0x0095, 0x0097, 0x009D, 0x00A3, 0x00A7, 0x00AD,
-  0x00B3, 0x00B5, 0x00BF, 0x00C1, 0x00C5, 0x00C7, 0x00D3, 0x00DF,
-  0x00E3, 0x00E5, 0x00E9, 0x00EF, 0x00F1, 0x00FB, 0x0101, 0x0107,
-  0x010D, 0x010F, 0x0115, 0x0119, 0x011B, 0x0125, 0x0133, 0x0137,
-
-  0x0139, 0x013D, 0x014B, 0x0151, 0x015B, 0x015D, 0x0161, 0x0167,
-  0x016F, 0x0175, 0x017B, 0x017F, 0x0185, 0x018D, 0x0191, 0x0199,
-  0x01A3, 0x01A5, 0x01AF, 0x01B1, 0x01B7, 0x01BB, 0x01C1, 0x01C9,
-  0x01CD, 0x01CF, 0x01D3, 0x01DF, 0x01E7, 0x01EB, 0x01F3, 0x01F7,
-  0x01FD, 0x0209, 0x020B, 0x021D, 0x0223, 0x022D, 0x0233, 0x0239,
-  0x023B, 0x0241, 0x024B, 0x0251, 0x0257, 0x0259, 0x025F, 0x0265,
-  0x0269, 0x026B, 0x0277, 0x0281, 0x0283, 0x0287, 0x028D, 0x0293,
-  0x0295, 0x02A1, 0x02A5, 0x02AB, 0x02B3, 0x02BD, 0x02C5, 0x02CF,
-
-  0x02D7, 0x02DD, 0x02E3, 0x02E7, 0x02EF, 0x02F5, 0x02F9, 0x0301,
-  0x0305, 0x0313, 0x031D, 0x0329, 0x032B, 0x0335, 0x0337, 0x033B,
-  0x033D, 0x0347, 0x0355, 0x0359, 0x035B, 0x035F, 0x036D, 0x0371,
-  0x0373, 0x0377, 0x038B, 0x038F, 0x0397, 0x03A1, 0x03A9, 0x03AD,
-  0x03B3, 0x03B9, 0x03C7, 0x03CB, 0x03D1, 0x03D7, 0x03DF, 0x03E5,
-  0x03F1, 0x03F5, 0x03FB, 0x03FD, 0x0407, 0x0409, 0x040F, 0x0419,
-  0x041B, 0x0425, 0x0427, 0x042D, 0x043F, 0x0443, 0x0445, 0x0449,
-  0x044F, 0x0455, 0x045D, 0x0463, 0x0469, 0x047F, 0x0481, 0x048B,
-
-  0x0493, 0x049D, 0x04A3, 0x04A9, 0x04B1, 0x04BD, 0x04C1, 0x04C7,
-  0x04CD, 0x04CF, 0x04D5, 0x04E1, 0x04EB, 0x04FD, 0x04FF, 0x0503,
-  0x0509, 0x050B, 0x0511, 0x0515, 0x0517, 0x051B, 0x0527, 0x0529,
-  0x052F, 0x0551, 0x0557, 0x055D, 0x0565, 0x0577, 0x0581, 0x058F,
-  0x0593, 0x0595, 0x0599, 0x059F, 0x05A7, 0x05AB, 0x05AD, 0x05B3,
-  0x05BF, 0x05C9, 0x05CB, 0x05CF, 0x05D1, 0x05D5, 0x05DB, 0x05E7,
-  0x05F3, 0x05FB, 0x0607, 0x060D, 0x0611, 0x0617, 0x061F, 0x0623,
-  0x062B, 0x062F, 0x063D, 0x0641, 0x0647, 0x0649, 0x064D, 0x0653
-#endif
-};
-#endif
-
-/* End: bn_prime_tab.c */
-
-/* Start: bn_reverse.c */
-#include <ltc_tommath.h>
-#ifdef BN_REVERSE_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* reverse an array, used for radix code */
-void
-bn_reverse (unsigned char *s, int len)
-{
-  int     ix, iy;
-  unsigned char t;
-
-  ix = 0;
-  iy = len - 1;
-  while (ix < iy) {
-    t     = s[ix];
-    s[ix] = s[iy];
-    s[iy] = t;
-    ++ix;
-    --iy;
-  }
-}
-#endif
-
-/* End: bn_reverse.c */
-
-/* Start: bn_s_mp_add.c */
-#include <ltc_tommath.h>
-#ifdef BN_S_MP_ADD_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* low level addition, based on HAC pp.594, Algorithm 14.7 */
-int
-s_mp_add (mp_int * a, mp_int * b, mp_int * c)
-{
-  mp_int *x;
-  int     olduse, res, min, max;
-
-  /* find sizes, we let |a| <= |b| which means we have to sort
-   * them.  "x" will point to the input with the most digits
-   */
-  if (a->used > b->used) {
-    min = b->used;
-    max = a->used;
-    x = a;
-  } else {
-    min = a->used;
-    max = b->used;
-    x = b;
-  }
-
-  /* init result */
-  if (c->alloc < max + 1) {
-    if ((res = mp_grow (c, max + 1)) != MP_OKAY) {
-      return res;
-    }
-  }
-
-  /* get old used digit count and set new one */
-  olduse = c->used;
-  c->used = max + 1;
-
-  {
-    register mp_digit u, *tmpa, *tmpb, *tmpc;
-    register int i;
-
-    /* alias for digit pointers */
-
-    /* first input */
-    tmpa = a->dp;
-
-    /* second input */
-    tmpb = b->dp;
-
-    /* destination */
-    tmpc = c->dp;
-
-    /* zero the carry */
-    u = 0;
-    for (i = 0; i < min; i++) {
-      /* Compute the sum at one digit, T[i] = A[i] + B[i] + U */
-      *tmpc = *tmpa++ + *tmpb++ + u;
-
-      /* U = carry bit of T[i] */
-      u = *tmpc >> ((mp_digit)DIGIT_BIT);
-
-      /* take away carry bit from T[i] */
-      *tmpc++ &= MP_MASK;
-    }
-
-    /* now copy higher words if any, that is in A+B 
-     * if A or B has more digits add those in 
-     */
-    if (min != max) {
-      for (; i < max; i++) {
-        /* T[i] = X[i] + U */
-        *tmpc = x->dp[i] + u;
-
-        /* U = carry bit of T[i] */
-        u = *tmpc >> ((mp_digit)DIGIT_BIT);
-
-        /* take away carry bit from T[i] */
-        *tmpc++ &= MP_MASK;
-      }
-    }
-
-    /* add carry */
-    *tmpc++ = u;
-
-    /* clear digits above oldused */
-    for (i = c->used; i < olduse; i++) {
-      *tmpc++ = 0;
-    }
-  }
-
-  mp_clamp (c);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_s_mp_add.c */
-
-/* Start: bn_s_mp_exptmod.c */
-#include <ltc_tommath.h>
-#ifdef BN_S_MP_EXPTMOD_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-#ifdef MP_LOW_MEM
-   #define TAB_SIZE 32
-#else
-   #define TAB_SIZE 256
-#endif
-
-int s_mp_exptmod (mp_int * G, mp_int * X, mp_int * P, mp_int * Y, int redmode)
-{
-  mp_int  M[TAB_SIZE], res, mu;
-  mp_digit buf;
-  int     err, bitbuf, bitcpy, bitcnt, mode, digidx, x, y, winsize;
-  int (*redux)(mp_int*,mp_int*,mp_int*);
-
-  /* find window size */
-  x = mp_count_bits (X);
-  if (x <= 7) {
-    winsize = 2;
-  } else if (x <= 36) {
-    winsize = 3;
-  } else if (x <= 140) {
-    winsize = 4;
-  } else if (x <= 450) {
-    winsize = 5;
-  } else if (x <= 1303) {
-    winsize = 6;
-  } else if (x <= 3529) {
-    winsize = 7;
-  } else {
-    winsize = 8;
-  }
-
-#ifdef MP_LOW_MEM
-    if (winsize > 5) {
-       winsize = 5;
-    }
-#endif
-
-  /* init M array */
-  /* init first cell */
-  if ((err = mp_init(&M[1])) != MP_OKAY) {
-     return err; 
-  }
-
-  /* now init the second half of the array */
-  for (x = 1<<(winsize-1); x < (1 << winsize); x++) {
-    if ((err = mp_init(&M[x])) != MP_OKAY) {
-      for (y = 1<<(winsize-1); y < x; y++) {
-        mp_clear (&M[y]);
-      }
-      mp_clear(&M[1]);
-      return err;
-    }
-  }
-
-  /* create mu, used for Barrett reduction */
-  if ((err = mp_init (&mu)) != MP_OKAY) {
-    goto LBL_M;
-  }
-  
-  if (redmode == 0) {
-     if ((err = mp_reduce_setup (&mu, P)) != MP_OKAY) {
-        goto LBL_MU;
-     }
-     redux = mp_reduce;
-  } else {
-     if ((err = mp_reduce_2k_setup_l (P, &mu)) != MP_OKAY) {
-        goto LBL_MU;
-     }
-     redux = mp_reduce_2k_l;
-  }    
-
-  /* create M table
-   *
-   * The M table contains powers of the base, 
-   * e.g. M[x] = G**x mod P
-   *
-   * The first half of the table is not 
-   * computed though accept for M[0] and M[1]
-   */
-  if ((err = mp_mod (G, P, &M[1])) != MP_OKAY) {
-    goto LBL_MU;
-  }
-
-  /* compute the value at M[1<<(winsize-1)] by squaring 
-   * M[1] (winsize-1) times 
-   */
-  if ((err = mp_copy (&M[1], &M[1 << (winsize - 1)])) != MP_OKAY) {
-    goto LBL_MU;
-  }
-
-  for (x = 0; x < (winsize - 1); x++) {
-    /* square it */
-    if ((err = mp_sqr (&M[1 << (winsize - 1)], 
-                       &M[1 << (winsize - 1)])) != MP_OKAY) {
-      goto LBL_MU;
-    }
-
-    /* reduce modulo P */
-    if ((err = redux (&M[1 << (winsize - 1)], P, &mu)) != MP_OKAY) {
-      goto LBL_MU;
-    }
-  }
-
-  /* create upper table, that is M[x] = M[x-1] * M[1] (mod P)
-   * for x = (2**(winsize - 1) + 1) to (2**winsize - 1)
-   */
-  for (x = (1 << (winsize - 1)) + 1; x < (1 << winsize); x++) {
-    if ((err = mp_mul (&M[x - 1], &M[1], &M[x])) != MP_OKAY) {
-      goto LBL_MU;
-    }
-    if ((err = redux (&M[x], P, &mu)) != MP_OKAY) {
-      goto LBL_MU;
-    }
-  }
-
-  /* setup result */
-  if ((err = mp_init (&res)) != MP_OKAY) {
-    goto LBL_MU;
-  }
-  mp_set (&res, 1);
-
-  /* set initial mode and bit cnt */
-  mode   = 0;
-  bitcnt = 1;
-  buf    = 0;
-  digidx = X->used - 1;
-  bitcpy = 0;
-  bitbuf = 0;
-
-  for (;;) {
-    /* grab next digit as required */
-    if (--bitcnt == 0) {
-      /* if digidx == -1 we are out of digits */
-      if (digidx == -1) {
-        break;
-      }
-      /* read next digit and reset the bitcnt */
-      buf    = X->dp[digidx--];
-      bitcnt = (int) DIGIT_BIT;
-    }
-
-    /* grab the next msb from the exponent */
-    y     = (buf >> (mp_digit)(DIGIT_BIT - 1)) & 1;
-    buf <<= (mp_digit)1;
-
-    /* if the bit is zero and mode == 0 then we ignore it
-     * These represent the leading zero bits before the first 1 bit
-     * in the exponent.  Technically this opt is not required but it
-     * does lower the # of trivial squaring/reductions used
-     */
-    if (mode == 0 && y == 0) {
-      continue;
-    }
-
-    /* if the bit is zero and mode == 1 then we square */
-    if (mode == 1 && y == 0) {
-      if ((err = mp_sqr (&res, &res)) != MP_OKAY) {
-        goto LBL_RES;
-      }
-      if ((err = redux (&res, P, &mu)) != MP_OKAY) {
-        goto LBL_RES;
-      }
-      continue;
-    }
-
-    /* else we add it to the window */
-    bitbuf |= (y << (winsize - ++bitcpy));
-    mode    = 2;
-
-    if (bitcpy == winsize) {
-      /* ok window is filled so square as required and multiply  */
-      /* square first */
-      for (x = 0; x < winsize; x++) {
-        if ((err = mp_sqr (&res, &res)) != MP_OKAY) {
-          goto LBL_RES;
-        }
-        if ((err = redux (&res, P, &mu)) != MP_OKAY) {
-          goto LBL_RES;
-        }
-      }
-
-      /* then multiply */
-      if ((err = mp_mul (&res, &M[bitbuf], &res)) != MP_OKAY) {
-        goto LBL_RES;
-      }
-      if ((err = redux (&res, P, &mu)) != MP_OKAY) {
-        goto LBL_RES;
-      }
-
-      /* empty window and reset */
-      bitcpy = 0;
-      bitbuf = 0;
-      mode   = 1;
-    }
-  }
-
-  /* if bits remain then square/multiply */
-  if (mode == 2 && bitcpy > 0) {
-    /* square then multiply if the bit is set */
-    for (x = 0; x < bitcpy; x++) {
-      if ((err = mp_sqr (&res, &res)) != MP_OKAY) {
-        goto LBL_RES;
-      }
-      if ((err = redux (&res, P, &mu)) != MP_OKAY) {
-        goto LBL_RES;
-      }
-
-      bitbuf <<= 1;
-      if ((bitbuf & (1 << winsize)) != 0) {
-        /* then multiply */
-        if ((err = mp_mul (&res, &M[1], &res)) != MP_OKAY) {
-          goto LBL_RES;
-        }
-        if ((err = redux (&res, P, &mu)) != MP_OKAY) {
-          goto LBL_RES;
-        }
-      }
-    }
-  }
-
-  mp_exch (&res, Y);
-  err = MP_OKAY;
-LBL_RES:mp_clear (&res);
-LBL_MU:mp_clear (&mu);
-LBL_M:
-  mp_clear(&M[1]);
-  for (x = 1<<(winsize-1); x < (1 << winsize); x++) {
-    mp_clear (&M[x]);
-  }
-  return err;
-}
-#endif
-
-/* End: bn_s_mp_exptmod.c */
-
-/* Start: bn_s_mp_mul_digs.c */
-#include <ltc_tommath.h>
-#ifdef BN_S_MP_MUL_DIGS_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* multiplies |a| * |b| and only computes upto digs digits of result
- * HAC pp. 595, Algorithm 14.12  Modified so you can control how 
- * many digits of output are created.
- */
-int s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs)
-{
-  mp_int  t;
-  int     res, pa, pb, ix, iy;
-  mp_digit u;
-  mp_word r;
-  mp_digit tmpx, *tmpt, *tmpy;
-
-  /* can we use the fast multiplier? */
-  if (((digs) < MP_WARRAY) &&
-      MIN (a->used, b->used) < 
-          (1 << ((CHAR_BIT * sizeof (mp_word)) - (2 * DIGIT_BIT)))) {
-    return fast_s_mp_mul_digs (a, b, c, digs);
-  }
-
-  if ((res = mp_init_size (&t, digs)) != MP_OKAY) {
-    return res;
-  }
-  t.used = digs;
-
-  /* compute the digits of the product directly */
-  pa = a->used;
-  for (ix = 0; ix < pa; ix++) {
-    /* set the carry to zero */
-    u = 0;
-
-    /* limit ourselves to making digs digits of output */
-    pb = MIN (b->used, digs - ix);
-
-    /* setup some aliases */
-    /* copy of the digit from a used within the nested loop */
-    tmpx = a->dp[ix];
-    
-    /* an alias for the destination shifted ix places */
-    tmpt = t.dp + ix;
-    
-    /* an alias for the digits of b */
-    tmpy = b->dp;
-
-    /* compute the columns of the output and propagate the carry */
-    for (iy = 0; iy < pb; iy++) {
-      /* compute the column as a mp_word */
-      r       = ((mp_word)*tmpt) +
-                ((mp_word)tmpx) * ((mp_word)*tmpy++) +
-                ((mp_word) u);
-
-      /* the new column is the lower part of the result */
-      *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK));
-
-      /* get the carry word from the result */
-      u       = (mp_digit) (r >> ((mp_word) DIGIT_BIT));
-    }
-    /* set carry if it is placed below digs */
-    if (ix + iy < digs) {
-      *tmpt = u;
-    }
-  }
-
-  mp_clamp (&t);
-  mp_exch (&t, c);
-
-  mp_clear (&t);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_s_mp_mul_digs.c */
-
-/* Start: bn_s_mp_mul_high_digs.c */
-#include <ltc_tommath.h>
-#ifdef BN_S_MP_MUL_HIGH_DIGS_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* multiplies |a| * |b| and does not compute the lower digs digits
- * [meant to get the higher part of the product]
- */
-int
-s_mp_mul_high_digs (mp_int * a, mp_int * b, mp_int * c, int digs)
-{
-  mp_int  t;
-  int     res, pa, pb, ix, iy;
-  mp_digit u;
-  mp_word r;
-  mp_digit tmpx, *tmpt, *tmpy;
-
-  /* can we use the fast multiplier? */
-#ifdef BN_FAST_S_MP_MUL_HIGH_DIGS_C
-  if (((a->used + b->used + 1) < MP_WARRAY)
-      && MIN (a->used, b->used) < (1 << ((CHAR_BIT * sizeof (mp_word)) - (2 * DIGIT_BIT)))) {
-    return fast_s_mp_mul_high_digs (a, b, c, digs);
-  }
-#endif
-
-  if ((res = mp_init_size (&t, a->used + b->used + 1)) != MP_OKAY) {
-    return res;
-  }
-  t.used = a->used + b->used + 1;
-
-  pa = a->used;
-  pb = b->used;
-  for (ix = 0; ix < pa; ix++) {
-    /* clear the carry */
-    u = 0;
-
-    /* left hand side of A[ix] * B[iy] */
-    tmpx = a->dp[ix];
-
-    /* alias to the address of where the digits will be stored */
-    tmpt = &(t.dp[digs]);
-
-    /* alias for where to read the right hand side from */
-    tmpy = b->dp + (digs - ix);
-
-    for (iy = digs - ix; iy < pb; iy++) {
-      /* calculate the double precision result */
-      r       = ((mp_word)*tmpt) +
-                ((mp_word)tmpx) * ((mp_word)*tmpy++) +
-                ((mp_word) u);
-
-      /* get the lower part */
-      *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK));
-
-      /* carry the carry */
-      u       = (mp_digit) (r >> ((mp_word) DIGIT_BIT));
-    }
-    *tmpt = u;
-  }
-  mp_clamp (&t);
-  mp_exch (&t, c);
-  mp_clear (&t);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_s_mp_mul_high_digs.c */
-
-/* Start: bn_s_mp_sqr.c */
-#include <ltc_tommath.h>
-#ifdef BN_S_MP_SQR_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* low level squaring, b = a*a, HAC pp.596-597, Algorithm 14.16 */
-int s_mp_sqr (mp_int * a, mp_int * b)
-{
-  mp_int  t;
-  int     res, ix, iy, pa;
-  mp_word r;
-  mp_digit u, tmpx, *tmpt;
-
-  pa = a->used;
-  if ((res = mp_init_size (&t, 2*pa + 1)) != MP_OKAY) {
-    return res;
-  }
-
-  /* default used is maximum possible size */
-  t.used = 2*pa + 1;
-
-  for (ix = 0; ix < pa; ix++) {
-    /* first calculate the digit at 2*ix */
-    /* calculate double precision result */
-    r = ((mp_word) t.dp[2*ix]) +
-        ((mp_word)a->dp[ix])*((mp_word)a->dp[ix]);
-
-    /* store lower part in result */
-    t.dp[ix+ix] = (mp_digit) (r & ((mp_word) MP_MASK));
-
-    /* get the carry */
-    u           = (mp_digit)(r >> ((mp_word) DIGIT_BIT));
-
-    /* left hand side of A[ix] * A[iy] */
-    tmpx        = a->dp[ix];
-
-    /* alias for where to store the results */
-    tmpt        = t.dp + (2*ix + 1);
-    
-    for (iy = ix + 1; iy < pa; iy++) {
-      /* first calculate the product */
-      r       = ((mp_word)tmpx) * ((mp_word)a->dp[iy]);
-
-      /* now calculate the double precision result, note we use
-       * addition instead of *2 since it's easier to optimize
-       */
-      r       = ((mp_word) *tmpt) + r + r + ((mp_word) u);
-
-      /* store lower part */
-      *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK));
-
-      /* get carry */
-      u       = (mp_digit)(r >> ((mp_word) DIGIT_BIT));
-    }
-    /* propagate upwards */
-    while (u != ((mp_digit) 0)) {
-      r       = ((mp_word) *tmpt) + ((mp_word) u);
-      *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK));
-      u       = (mp_digit)(r >> ((mp_word) DIGIT_BIT));
-    }
-  }
-
-  mp_clamp (&t);
-  mp_exch (&t, b);
-  mp_clear (&t);
-  return MP_OKAY;
-}
-#endif
-
-/* End: bn_s_mp_sqr.c */
-
-/* Start: bn_s_mp_sub.c */
-#include <ltc_tommath.h>
-#ifdef BN_S_MP_SUB_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* low level subtraction (assumes |a| > |b|), HAC pp.595 Algorithm 14.9 */
-int
-s_mp_sub (mp_int * a, mp_int * b, mp_int * c)
-{
-  int     olduse, res, min, max;
-
-  /* find sizes */
-  min = b->used;
-  max = a->used;
-
-  /* init result */
-  if (c->alloc < max) {
-    if ((res = mp_grow (c, max)) != MP_OKAY) {
-      return res;
-    }
-  }
-  olduse = c->used;
-  c->used = max;
-
-  {
-    register mp_digit u, *tmpa, *tmpb, *tmpc;
-    register int i;
-
-    /* alias for digit pointers */
-    tmpa = a->dp;
-    tmpb = b->dp;
-    tmpc = c->dp;
-
-    /* set carry to zero */
-    u = 0;
-    for (i = 0; i < min; i++) {
-      /* T[i] = A[i] - B[i] - U */
-      *tmpc = *tmpa++ - *tmpb++ - u;
-
-      /* U = carry bit of T[i]
-       * Note this saves performing an AND operation since
-       * if a carry does occur it will propagate all the way to the
-       * MSB.  As a result a single shift is enough to get the carry
-       */
-      u = *tmpc >> ((mp_digit)(CHAR_BIT * sizeof (mp_digit) - 1));
-
-      /* Clear carry from T[i] */
-      *tmpc++ &= MP_MASK;
-    }
-
-    /* now copy higher words if any, e.g. if A has more digits than B  */
-    for (; i < max; i++) {
-      /* T[i] = A[i] - U */
-      *tmpc = *tmpa++ - u;
-
-      /* U = carry bit of T[i] */
-      u = *tmpc >> ((mp_digit)(CHAR_BIT * sizeof (mp_digit) - 1));
-
-      /* Clear carry from T[i] */
-      *tmpc++ &= MP_MASK;
-    }
-
-    /* clear digits above used (since we may not have grown result above) */
-    for (i = c->used; i < olduse; i++) {
-      *tmpc++ = 0;
-    }
-  }
-
-  mp_clamp (c);
-  return MP_OKAY;
-}
-
-#endif
-
-/* End: bn_s_mp_sub.c */
-
-/* Start: bncore.c */
-#include <ltc_tommath.h>
-#ifdef BNCORE_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.org
- */
-
-/* Known optimal configurations
-
- CPU                    /Compiler     /MUL CUTOFF/SQR CUTOFF
--------------------------------------------------------------
- Intel P4 Northwood     /GCC v3.4.1   /        88/       128/LTM 0.32 ;-)
- AMD Athlon64           /GCC v3.4.4   /        74/       124/LTM 0.34
- 
-*/
-
-int     KARATSUBA_MUL_CUTOFF = 74,      /* Min. number of digits before Karatsuba multiplication is used. */
-        KARATSUBA_SQR_CUTOFF = 124,     /* Min. number of digits before Karatsuba squaring is used. */
-        
-        TOOM_MUL_CUTOFF      = 350,      /* no optimal values of these are known yet so set em high */
-        TOOM_SQR_CUTOFF      = 400; 
-#endif
-
-/* End: bncore.c */
-
-
-/* EOF */
-
-/* $Source: /cvs/libtom/libtomcrypt/src/misc/mpi/mpi.c,v $ */
-/* $Revision: 1.5 $ */
-/* $Date: 2005/05/05 14:35:59 $ */
-- 
GitLab