From 16c6ccc62c7cfcbca7853ad34388e8d006e861e7 Mon Sep 17 00:00:00 2001 From: Tom St Denis Date: Fri, 28 Feb 2003 16:05:26 +0000 Subject: [PATCH] added libtommath-0.06 --- b.bat | 2 +- bn.c | 80 ++++++++++++++++++++++++++++++---------------------- bn.h | 18 +++++++++--- bn.pdf | Bin 151874 -> 151847 bytes bn.tex | 32 ++++++++++----------- changes.txt | 4 +++ demo.c | 35 +++++++++++++---------- makefile | 2 +- 8 files changed, 102 insertions(+), 71 deletions(-) diff --git a/b.bat b/b.bat index 38c1120..1d0b900 100644 --- a/b.bat +++ b/b.bat @@ -1,3 +1,3 @@ nasm -f coff timer.asm -gcc -Wall -W -O3 -fomit-frame-pointer -funroll-loops -DTIMER_X86 demo.c bn.c timer.o -o demo +gcc -Wall -W -O3 -fomit-frame-pointer -funroll-loops -DTIMER_X86 demo.c bn.c timer.o -o ltmdemo gcc -I./mtest/ -DU_MPI -Wall -W -O3 -fomit-frame-pointer -funroll-loops -DTIMER_X86 demo.c mtest/mpi.c timer.o -o mpidemo diff --git a/bn.c b/bn.c index 4a0f4f9..cf8a391 100644 --- a/bn.c +++ b/bn.c @@ -700,8 +700,8 @@ int mp_mul_2(mp_int *a, mp_int *b) /* low level addition */ static int s_mp_add(mp_int *a, mp_int *b, mp_int *c) { - mp_int t, *x; - int res, min, max, i; + mp_int *x; + int olduse, res, min, max, i; mp_digit u; REGFUNC("s_mp_add"); @@ -724,45 +724,52 @@ static int s_mp_add(mp_int *a, mp_int *b, mp_int *c) } /* init result */ - if ((res = mp_init_size(&t, max+1)) != MP_OKAY) { - DECFUNC(); - return res; + if (c->alloc < max+1) { + if ((res = mp_grow(c, max+1)) != MP_OKAY) { + DECFUNC(); + return res; + } } - t.used = max+1; + + olduse = c->used; + c->used = max + 1; /* add digits from lower part */ u = 0; for (i = 0; i < min; i++) { /* T[i] = A[i] + B[i] + U */ - t.dp[i] = a->dp[i] + b->dp[i] + u; + c->dp[i] = a->dp[i] + b->dp[i] + u; /* U = carry bit of T[i] */ - u = (t.dp[i] >> DIGIT_BIT) & 1; + u = (c->dp[i] >> DIGIT_BIT) & 1; /* take away carry bit from T[i] */ - t.dp[i] &= MP_MASK; + c->dp[i] &= 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 */ - t.dp[i] = x->dp[i] + u; + c->dp[i] = x->dp[i] + u; /* U = carry bit of T[i] */ - u = (t.dp[i] >> DIGIT_BIT) & 1; + u = (c->dp[i] >> DIGIT_BIT) & 1; /* take away carry bit from T[i] */ - t.dp[i] &= MP_MASK; + c->dp[i] &= MP_MASK; } } /* add carry */ - t.dp[i] = u; - - mp_clamp(&t); - mp_exch(&t, c); - mp_clear(&t); + c->dp[i] = u; + + /* clear digits above used (since we may not have grown result above) */ + for (i = c->used; i < olduse; i++) { + c->dp[i] = 0; + } + + mp_clamp(c); DECFUNC(); return MP_OKAY; } @@ -770,8 +777,7 @@ static int s_mp_add(mp_int *a, mp_int *b, mp_int *c) /* low level subtraction (assumes a > b) */ static int s_mp_sub(mp_int *a, mp_int *b, mp_int *c) { - mp_int t; - int res, min, max, i; + int olduse, res, min, max, i; mp_digit u; REGFUNC("s_mp_sub"); @@ -784,42 +790,48 @@ static int s_mp_sub(mp_int *a, mp_int *b, mp_int *c) max = a->used; /* init result */ - if ((res = mp_init_size(&t, max)) != MP_OKAY) { - DECFUNC(); - return res; + if (c->alloc < max) { + if ((res = mp_grow(c, max)) != MP_OKAY) { + DECFUNC(); + return res; + } } - t.used = max; + olduse = c->used; + c->used = max; /* sub digits from lower part */ u = 0; for (i = 0; i < min; i++) { /* T[i] = A[i] - B[i] - U */ - t.dp[i] = a->dp[i] - (b->dp[i] + u); + c->dp[i] = a->dp[i] - (b->dp[i] + u); /* U = carry bit of T[i] */ - u = (t.dp[i] >> DIGIT_BIT) & 1; + u = (c->dp[i] >> DIGIT_BIT) & 1; /* Clear carry from T[i] */ - t.dp[i] &= MP_MASK; + c->dp[i] &= MP_MASK; } /* now copy higher words if any, e.g. if A has more digits than B */ if (min != max) { for (; i < max; i++) { /* T[i] = A[i] - U */ - t.dp[i] = a->dp[i] - u; + c->dp[i] = a->dp[i] - u; /* U = carry bit of T[i] */ - u = (t.dp[i] >> DIGIT_BIT) & 1; + u = (c->dp[i] >> DIGIT_BIT) & 1; /* Clear carry from T[i] */ - t.dp[i] &= MP_MASK; + c->dp[i] &= MP_MASK; } } - mp_clamp(&t); - mp_exch(&t, c); - mp_clear(&t); + /* clear digits above used (since we may not have grown result above) */ + for (i = c->used; i < olduse; i++) { + c->dp[i] = 0; + } + + mp_clamp(c); DECFUNC(); return MP_OKAY; } @@ -2941,7 +2953,7 @@ int mp_toradix(mp_int *a, char *str, int radix) int res, digs; mp_int t; mp_digit d; - unsigned char *_s = str; + char *_s = str; if (radix < 2 || radix > 64) { return MP_VAL; @@ -2966,7 +2978,7 @@ int mp_toradix(mp_int *a, char *str, int radix) *str++ = s_rmap[d]; ++digs; } - reverse(_s, digs); + reverse((unsigned char *)_s, digs); *str++ = '\0'; mp_clear(&t); return MP_OKAY; diff --git a/bn.h b/bn.h index a87de8a..624c50d 100644 --- a/bn.h +++ b/bn.h @@ -12,7 +12,6 @@ * * Tom St Denis, tomstdenis@iahu.ca, http://libtommath.iahu.ca */ - #ifndef BN_H_ #define BN_H_ @@ -39,13 +38,18 @@ #else #ifndef CRYPT #ifdef _MSC_VER - typedef __int64 ulong64; + typedef unsigned __int64 ulong64; + typedef signed __int64 long64; #else typedef unsigned long long ulong64; + typedef signed long long long64; #endif #endif + + /* default case */ typedef unsigned long mp_digit; typedef ulong64 mp_word; + #define DIGIT_BIT 28U #endif @@ -72,8 +76,14 @@ typedef int mp_err; -#define KARATSUBA_MUL_CUTOFF 80 /* Min. number of digits before Karatsuba multiplication is used. */ -#define KARATSUBA_SQR_CUTOFF 80 /* Min. number of digits before Karatsuba squaring is used. */ +/* you'll have to tune these... */ +#ifdef FAST_FPU + #define KARATSUBA_MUL_CUTOFF 100 /* Min. number of digits before Karatsuba multiplication is used. */ + #define KARATSUBA_SQR_CUTOFF 100 /* Min. number of digits before Karatsuba squaring is used. */ +#else + #define KARATSUBA_MUL_CUTOFF 80 /* Min. number of digits before Karatsuba multiplication is used. */ + #define KARATSUBA_SQR_CUTOFF 80 /* Min. number of digits before Karatsuba squaring is used. */ +#endif typedef struct { int used, alloc, sign; diff --git a/bn.pdf b/bn.pdf index 34156bc0c92944ab498bcb06de953a9597d46d4f..d517dc4ef2deb4eae9b623235583f077fc7ff0e6 100644 GIT binary patch delta 59834 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 + #ifdef U_MPI #include #include @@ -12,7 +13,6 @@ #else typedef unsigned long long ulong64; #endif - #else #include "bn.h" #endif @@ -22,6 +22,8 @@ extern ulong64 rdtsc(void); extern void reset(void); #else + + ulong64 _tt; void reset(void) { _tt = clock(); } ulong64 rdtsc(void) { return clock() - _tt; } @@ -73,11 +75,11 @@ int mp_reduce_setup(mp_int *a, mp_int *b) } #endif + char cmd[4096], buf[4096]; int main(void) { mp_int a, b, c, d, e, f; unsigned long expt_n, add_n, sub_n, mul_n, div_n, sqr_n, mul2d_n, div2d_n, gcd_n, lcm_n, inv_n; - unsigned char cmd[4096], buf[4096]; int rr; #ifdef TIMER @@ -92,6 +94,7 @@ int main(void) mp_init(&e); mp_init(&f); + mp_read_radix(&a, "V//////////////////////////////////////////////////////////////////////////////////////", 64); mp_reduce_setup(&b, &a); printf("\n\n----\n\n"); @@ -102,12 +105,11 @@ int main(void) mp_sub_d(&a, 1, &c); mp_exptmod(&b, &c, &a, &d); mp_toradix(&d, buf, 10); - printf("b^p-1 == %s\n", buf); - + printf("b^p-1 == %s\n", buf); #ifdef TIMER - mp_read_radix(&a, "340282366920938463463374607431768211455", 10); + mp_read_radix(&a, "340282366920938463463374607431768211455", 10); mp_read_radix(&b, "340282366920938463463574607431768211455", 10); while (a.used * DIGIT_BIT < 8192) { reset(); @@ -132,30 +134,31 @@ int main(void) mp_sqr(&a, &a); mp_sqr(&b, &b); } - mp_read_radix(&a, "340282366920938463463374607431768211455", 10); while (a.used * DIGIT_BIT < 8192) { reset(); - for (rr = 0; rr < 10000; rr++) { + for (rr = 0; rr < 100000; rr++) { mp_sqr(&a, &b); } tt = rdtsc(); - printf("Squaring %d-bit took %llu cycles\n", mp_count_bits(&a), tt / ((ulong64)10000)); + printf("Squaring %d-bit took %lu cycles\n", mp_count_bits(&a), tt / ((ulong64)100000)); mp_copy(&b, &a); } mp_read_radix(&a, "340282366920938463463374607431768211455", 10); while (a.used * DIGIT_BIT < 8192) { reset(); - for (rr = 0; rr < 10000; rr++) { + for (rr = 0; rr < 100000; rr++) { mp_mul(&a, &a, &b); } tt = rdtsc(); - printf("Multiplying %d-bit took %llu cycles\n", mp_count_bits(&a), tt / ((ulong64)10000)); + printf("Multiplying %d-bit took %llu cycles\n", mp_count_bits(&a), tt / ((ulong64)100000)); mp_copy(&b, &a); } - + + + { char *primes[] = { @@ -213,6 +216,8 @@ int main(void) mp_sqr(&a, &a); mp_sqr(&b, &b); } + + return 0; #endif @@ -264,9 +269,9 @@ draw(&a);draw(&b);draw(&c);draw(&d); /* test the sign/unsigned storage functions */ rr = mp_signed_bin_size(&c); - mp_to_signed_bin(&c, cmd); + mp_to_signed_bin(&c, (unsigned char *)cmd); memset(cmd+rr, rand()&255, sizeof(cmd)-rr); - mp_read_signed_bin(&d, cmd, rr); + mp_read_signed_bin(&d, (unsigned char *)cmd, rr); if (mp_cmp(&c, &d) != MP_EQ) { printf("mp_signed_bin failure!\n"); draw(&c); @@ -276,9 +281,9 @@ draw(&a);draw(&b);draw(&c);draw(&d); rr = mp_unsigned_bin_size(&c); - mp_to_unsigned_bin(&c, cmd); + mp_to_unsigned_bin(&c, (unsigned char *)cmd); memset(cmd+rr, rand()&255, sizeof(cmd)-rr); - mp_read_unsigned_bin(&d, cmd, rr); + mp_read_unsigned_bin(&d, (unsigned char *)cmd, rr); if (mp_cmp_mag(&c, &d) != MP_EQ) { printf("mp_unsigned_bin failure!\n"); draw(&c); diff --git a/makefile b/makefile index 58b57ad..ec94b70 100644 --- a/makefile +++ b/makefile @@ -1,7 +1,7 @@ CC = gcc CFLAGS += -DDEBUG -Wall -W -O3 -fomit-frame-pointer -funroll-loops -VERSION=0.05 +VERSION=0.06 default: test