Mercurial > dropbear
diff mpi.c @ 15:6362d3854bb4 libtomcrypt-orig
0.96 release of LibTomCrypt
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Tue, 15 Jun 2004 14:07:21 +0000 |
parents | 7faae8f46238 |
children | 5d99163f7e32 |
line wrap: on
line diff
--- a/mpi.c Mon May 31 18:25:41 2004 +0000 +++ b/mpi.c Tue Jun 15 14:07:21 2004 +0000 @@ -13,7 +13,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> static const struct { int code; @@ -58,7 +58,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* computes the modular inverse via binary extended euclidean algorithm, * that is c = 1/a mod b @@ -205,7 +205,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* computes xR**-1 == x (mod N) via Montgomery Reduction * @@ -376,7 +376,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* Fast (comba) multiplier * @@ -452,7 +452,7 @@ } /* setup dest */ - olduse = c->used; + olduse = c->used; c->used = digs; { @@ -510,7 +510,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ - #include <tommath.h> + #include <ltc_tommath.h> /* this is a modified version of fast_s_mp_mul_digs that only produces * output digits *above* digs. See the comments for fast_s_mp_mul_digs @@ -612,7 +612,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* fast squaring * @@ -755,7 +755,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* computes a = 2**b * @@ -801,7 +801,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* b = |a| * @@ -842,7 +842,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* high level addition (handles signs) */ int mp_add (mp_int * a, mp_int * b, mp_int * c) @@ -893,7 +893,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* single digit addition */ int @@ -1000,7 +1000,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* d = a + b (mod c) */ int @@ -1039,7 +1039,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* AND two ints together */ int @@ -1094,7 +1094,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* trim unused digits * @@ -1136,7 +1136,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* clear one (frees) */ void @@ -1174,7 +1174,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> #include <stdarg.h> void mp_clear_multi(mp_int *mp, ...) @@ -1206,7 +1206,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* compare two ints (signed)*/ int @@ -1247,7 +1247,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* compare a digit */ int mp_cmp_d(mp_int * a, mp_digit b) @@ -1289,7 +1289,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* compare maginitude of two ints (unsigned) */ int mp_cmp_mag (mp_int * a, mp_int * b) @@ -1342,7 +1342,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> static const int lnz[16] = { 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0 @@ -1393,7 +1393,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* copy, b = a */ int @@ -1459,7 +1459,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* returns the number of bits in an int */ int @@ -1502,7 +1502,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* integer signed division. * c*b + d == a [e.g. a/b, c=quotient, d=remainder] @@ -1717,7 +1717,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* b = a/2 */ int mp_div_2(mp_int * a, mp_int * b) @@ -1783,7 +1783,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* 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) @@ -1878,7 +1878,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* divide by three (based on routine from MPI and the GMP manual) */ int @@ -1955,7 +1955,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> static int s_is_power_of_two(mp_digit b, int *p) { @@ -2061,7 +2061,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* determines if a number is a valid DR modulus */ int mp_dr_is_modulus(mp_int *a) @@ -2102,7 +2102,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* reduce "x" in place modulo "n" using the Diminished Radix algorithm. * @@ -2194,7 +2194,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* determines the setup value */ void mp_dr_setup(mp_int *a, mp_digit *d) @@ -2224,7 +2224,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* swap the elements of two integers, for cases where you can't simply swap the * mp_int pointers around @@ -2256,7 +2256,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* calculate c = a**b using a square-multiply algorithm */ int mp_expt_d (mp_int * a, mp_digit b, mp_int * c) @@ -2311,7 +2311,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* this is a shell function that calls either the normal or Montgomery @@ -2393,7 +2393,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* computes Y == G**X mod P, HAC pp.616, Algorithm 14.85 * @@ -2684,7 +2684,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* Extended euclidean algorithm of (a, b) produces a*u1 + b*u2 = u3 @@ -2757,7 +2757,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* read a bigint from a file stream in ASCII */ int mp_fread(mp_int *a, int radix, FILE *stream) @@ -2822,7 +2822,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> int mp_fwrite(mp_int *a, int radix, FILE *stream) { @@ -2872,7 +2872,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* Greatest Common Divisor using the binary method */ int mp_gcd (mp_int * a, mp_int * b, mp_int * c) @@ -2983,7 +2983,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* get the lower 32-bits of an mp_int */ unsigned long mp_get_int(mp_int * a) @@ -3026,7 +3026,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* grow as required */ int mp_grow (mp_int * a, int size) @@ -3081,7 +3081,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* init a new bigint */ int mp_init (mp_int * a) @@ -3118,7 +3118,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* creates "a" then copies b into it */ int mp_init_copy (mp_int * a, mp_int * b) @@ -3148,7 +3148,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> #include <stdarg.h> int mp_init_multi(mp_int *mp, ...) @@ -3205,7 +3205,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* initialize and set a digit */ int mp_init_set (mp_int * a, mp_digit b) @@ -3235,7 +3235,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* initialize and set a digit */ int mp_init_set_int (mp_int * a, unsigned long b) @@ -3264,7 +3264,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* init an mp_init for a given size */ int mp_init_size (mp_int * a, int size) @@ -3301,7 +3301,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* hac 14.61, pp608 */ int mp_invmod (mp_int * a, mp_int * b, mp_int * c) @@ -3479,7 +3479,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* Check if remainders are possible squares - fast exclude non-squares */ static const char rem_128[128] = { @@ -3586,7 +3586,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* computes the jacobi c = (a | n) (or Legendre if n is prime) * HAC pp. 73 Algorithm 2.149 @@ -3689,7 +3689,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* c = |a| * |b| using Karatsuba Multiplication using * three half size multiplications @@ -3857,7 +3857,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* Karatsuba squaring, computes b = a*a using three * half size squarings @@ -3976,7 +3976,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* computes least common multiple as |a*b|/(a, b) */ int mp_lcm (mp_int * a, mp_int * b, mp_int * c) @@ -4034,7 +4034,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* shift left a certain amount of digits */ int mp_lshd (mp_int * a, int b) @@ -4099,7 +4099,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* c = a mod b, 0 <= c < b */ int @@ -4145,7 +4145,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* calc a value mod 2**b */ int @@ -4198,7 +4198,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> int mp_mod_d (mp_int * a, mp_digit b, mp_digit * c) @@ -4223,7 +4223,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* calculates a = B^n mod b for Montgomery reduction * Where B is the base [e.g. 2^DIGIT_BIT]. @@ -4280,7 +4280,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* computes xR**-1 == x (mod N) via Montgomery Reduction */ int @@ -4396,7 +4396,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* setups the montgomery reduction stuff */ int @@ -4453,7 +4453,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* high level multiplication (handles sign) */ int mp_mul (mp_int * a, mp_int * b, mp_int * c) @@ -4505,7 +4505,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* b = a*2 */ int mp_mul_2(mp_int * a, mp_int * b) @@ -4585,7 +4585,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* shift left by a certain bit count */ int mp_mul_2d (mp_int * a, int b, mp_int * c) @@ -4668,7 +4668,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* multiply by a digit */ int @@ -4744,7 +4744,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* d = a * b (mod c) */ int @@ -4783,7 +4783,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* find the n'th root of an integer * @@ -4913,7 +4913,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* b = -a */ int mp_neg (mp_int * a, mp_int * b) @@ -4945,7 +4945,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* OR two ints together */ int mp_or (mp_int * a, mp_int * b, mp_int * c) @@ -4993,7 +4993,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* performs one Fermat test. * @@ -5053,7 +5053,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* determines if an integers is divisible by one * of the first PRIME_SIZE primes or not @@ -5101,7 +5101,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* performs a variable number of rounds of Miller-Rabin * @@ -5182,7 +5182,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* Miller-Rabin test of "a" to the base of "b" as described in * HAC pp. 139 Algorithm 4.24 @@ -5283,7 +5283,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* finds the next prime after the number "a" using "t" trials * of Miller-Rabin. @@ -5451,7 +5451,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* makes a truly random prime of a given size (bits), * @@ -5573,7 +5573,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* returns size of ASCII reprensentation */ int mp_radix_size (mp_int * a, int radix, int *size) @@ -5642,7 +5642,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* chars used in radix conversions */ const char *mp_s_rmap = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/"; @@ -5664,7 +5664,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* makes a pseudo-random int of a given size */ int @@ -5717,7 +5717,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* read a string [ASCII] in a given radix */ int mp_read_radix (mp_int * a, char *str, int radix) @@ -5797,7 +5797,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* read signed bin, big endian, first byte is 0==positive or 1==negative */ int @@ -5837,7 +5837,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* reads a unsigned char array, assumes the msb is stored first [big endian] */ int @@ -5891,7 +5891,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* reduces x mod m, assumes 0 < x < m**2, mu is * precomputed via mp_reduce_setup. @@ -5979,7 +5979,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* reduces a modulo n where n is of the form 2**p - d */ int @@ -6039,7 +6039,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* determines the setup value */ int @@ -6085,7 +6085,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* determines if mp_reduce_2k can be used */ int mp_reduce_is_2k(mp_int *a) @@ -6134,7 +6134,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* pre-calculate the value required for Barrett reduction * For a given modulus "b" it calulates the value required in "a" @@ -6167,7 +6167,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* shift right a certain amount of digits */ void mp_rshd (mp_int * a, int b) @@ -6237,7 +6237,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* set to a digit */ void mp_set (mp_int * a, mp_digit b) @@ -6264,7 +6264,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* set a 32-bit const */ int mp_set_int (mp_int * a, unsigned long b) @@ -6310,7 +6310,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* shrink a bignum */ int mp_shrink (mp_int * a) @@ -6343,7 +6343,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* get the size for an signed equivalent */ int mp_signed_bin_size (mp_int * a) @@ -6368,7 +6368,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* computes b = a*a */ int @@ -6413,7 +6413,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* c = a * a (mod b) */ int @@ -6452,7 +6452,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* this function is less generic than mp_n_root, simpler and faster */ int mp_sqrt(mp_int *arg, mp_int *ret) @@ -6531,7 +6531,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* high level subtraction (handles signs) */ int @@ -6588,7 +6588,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* single digit subtraction */ int @@ -6675,7 +6675,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* d = a - b (mod c) */ int @@ -6715,7 +6715,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* store in signed [big endian] format */ int @@ -6747,7 +6747,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* store in unsigned [big endian] format */ int @@ -6794,7 +6794,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* multiplication using the Toom-Cook 3-way algorithm */ int mp_toom_mul(mp_int *a, mp_int *b, mp_int *c) @@ -7070,7 +7070,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* squaring using Toom-Cook 3-way algorithm */ int @@ -7294,7 +7294,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* stores a bignum as a ASCII string in a given radix (2..64) */ int mp_toradix (mp_int * a, char *str, int radix) @@ -7367,7 +7367,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* stores a bignum as a ASCII string in a given radix (2..64) * @@ -7454,7 +7454,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* get the size for an unsigned equivalent */ int @@ -7481,7 +7481,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* XOR two ints together */ int @@ -7530,7 +7530,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* set to zero */ void @@ -7558,7 +7558,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* this table gives the # of rabin miller trials for a prob of failure lower than 2^-96 */ static const struct { @@ -7613,7 +7613,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> const mp_digit __prime_tab[] = { 0x0002, 0x0003, 0x0005, 0x0007, 0x000B, 0x000D, 0x0011, 0x0013, 0x0017, 0x001D, 0x001F, 0x0025, 0x0029, 0x002B, 0x002F, 0x0035, @@ -7672,7 +7672,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* reverse an array, used for radix code */ void @@ -7709,7 +7709,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* low level addition, based on HAC pp.594, Algorithm 14.7 */ int @@ -7816,7 +7816,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> #ifdef MP_LOW_MEM #define TAB_SIZE 32 @@ -8054,7 +8054,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* multiplies |a| * |b| and only computes upto digs digits of result * HAC pp. 595, Algorithm 14.12 Modified so you can control how @@ -8143,7 +8143,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* multiplies |a| * |b| and does not compute the lower digs digits * [meant to get the higher part of the product] @@ -8220,7 +8220,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* low level squaring, b = a*a, HAC pp.596-597, Algorithm 14.16 */ int @@ -8303,7 +8303,7 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* low level subtraction (assumes |a| > |b|), HAC pp.595 Algorithm 14.9 */ int @@ -8390,20 +8390,22 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> +#include <ltc_tommath.h> /* Known optimal configurations CPU /Compiler /MUL CUTOFF/SQR CUTOFF ------------------------------------------------------------- - Intel P4 /GCC v3.2 / 70/ 108 - AMD Athlon XP /GCC v3.2 / 109/ 127 - + Intel P4 Northwood /GCC v3.3.3 / 59/ 81/profiled build + Intel P4 Northwood /GCC v3.3.3 / 59/ 80/profiled_single build + Intel P4 Northwood /ICC v8.0 / 57/ 70/profiled build + Intel P4 Northwood /ICC v8.0 / 54/ 76/profiled_single build + AMD Athlon XP /GCC v3.2 / 109/ 127/ + */ -/* configured for a AMD XP Thoroughbred core with etc/tune.c */ -int KARATSUBA_MUL_CUTOFF = 70, /* Min. number of digits before Karatsuba multiplication is used. */ - KARATSUBA_SQR_CUTOFF = 108, /* Min. number of digits before Karatsuba squaring is used. */ +int KARATSUBA_MUL_CUTOFF = 57, /* Min. number of digits before Karatsuba multiplication is used. */ + KARATSUBA_SQR_CUTOFF = 70, /* 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;