From 8eaa98807b9525cb7f022e14cc8cff36f9ee7a06 Mon Sep 17 00:00:00 2001 From: Tom St Denis Date: Mon, 9 Aug 2004 22:15:59 +0000 Subject: [PATCH] added libtommath-0.31 --- bn.pdf | Bin 320564 -> 320636 bytes bn.tex | 2 +- bn_fast_s_mp_mul_digs.c | 2 +- bn_mp_2expt.c | 2 +- bn_mp_clear.c | 6 +- bn_mp_div.c | 2 +- bn_mp_init.c | 11 +- bn_mp_karatsuba_mul.c | 3 - bn_mp_mul.c | 2 +- bn_mp_reduce_is_2k.c | 5 +- bncore.c | 14 +- booker.pl | 1 + changes.txt | 9 + demo/demo.c | 296 +- demo/timing.c | 291 ++ etc/makefile | 3 +- etc/makefile.icc | 67 + logs/add.log | 32 +- logs/addsub.png | Bin 7084 -> 6254 bytes logs/expt.log | 14 +- logs/expt.png | Bin 7439 -> 6605 bytes logs/expt_2k.log | 12 +- logs/expt_dr.log | 14 +- logs/graphs.dem | 34 +- logs/invmod.log | 32 - logs/invmod.png | Bin 5735 -> 4918 bytes logs/k7/README | 13 - logs/k7/add.log | 16 - logs/k7/addsub.png | Bin 6933 -> 0 bytes logs/k7/expt.log | 7 - logs/k7/expt.png | Bin 6490 -> 0 bytes logs/k7/expt_dr.log | 7 - logs/k7/graphs.dem | 17 - logs/k7/index.html | 24 - logs/k7/invmod.log | 32 - logs/k7/invmod.png | Bin 5730 -> 0 bytes logs/k7/mult.log | 17 - logs/k7/mult.png | Bin 8263 -> 0 bytes logs/k7/mult_kara.log | 17 - logs/k7/sqr.log | 17 - logs/k7/sqr_kara.log | 17 - logs/k7/sub.log | 16 - logs/mult.log | 66 +- logs/mult.png | Bin 8100 -> 6770 bytes logs/mult_kara.log | 66 +- logs/p4/README | 13 - logs/p4/add.log | 16 - logs/p4/addsub.png | Bin 6898 -> 0 bytes logs/p4/expt.log | 7 - logs/p4/expt.png | Bin 6587 -> 0 bytes logs/p4/expt_dr.log | 7 - logs/p4/graphs.dem | 17 - logs/p4/index.html | 24 - logs/p4/invmod.log | 32 - logs/p4/invmod.png | Bin 5596 -> 0 bytes logs/p4/mult.log | 17 - logs/p4/mult.png | Bin 8100 -> 0 bytes logs/p4/mult_kara.log | 17 - logs/p4/sqr.log | 17 - logs/p4/sqr_kara.log | 17 - logs/p4/sub.log | 16 - logs/sqr.log | 66 +- logs/sqr_kara.log | 66 +- logs/sub.log | 32 +- makefile | 40 +- makefile.bcc | 3 +- makefile.cygwin_dll | 3 +- makefile.icc | 110 + makefile.msvc | 3 +- poster.pdf | Bin 40819 -> 40821 bytes pre_gen/mpi.c | 47 +- pretty.build | 66 + tommath.pdf | Bin 1153705 -> 1154603 bytes tommath.src | 163 +- tommath.tex | 8344 +++++++++++++++++++-------------------- 75 files changed, 5111 insertions(+), 5218 deletions(-) create mode 100644 demo/timing.c create mode 100644 etc/makefile.icc delete mode 100644 logs/k7/README delete mode 100644 logs/k7/add.log delete mode 100644 logs/k7/addsub.png delete mode 100644 logs/k7/expt.log delete mode 100644 logs/k7/expt.png delete mode 100644 logs/k7/expt_dr.log delete mode 100644 logs/k7/graphs.dem delete mode 100644 logs/k7/index.html delete mode 100644 logs/k7/invmod.log delete mode 100644 logs/k7/invmod.png delete mode 100644 logs/k7/mult.log delete mode 100644 logs/k7/mult.png delete mode 100644 logs/k7/mult_kara.log delete mode 100644 logs/k7/sqr.log delete mode 100644 logs/k7/sqr_kara.log delete mode 100644 logs/k7/sub.log delete mode 100644 logs/p4/README delete mode 100644 logs/p4/add.log delete mode 100644 logs/p4/addsub.png delete mode 100644 logs/p4/expt.log delete mode 100644 logs/p4/expt.png delete mode 100644 logs/p4/expt_dr.log delete mode 100644 logs/p4/graphs.dem delete mode 100644 logs/p4/index.html delete mode 100644 logs/p4/invmod.log delete mode 100644 logs/p4/invmod.png delete mode 100644 logs/p4/mult.log delete mode 100644 logs/p4/mult.png delete mode 100644 logs/p4/mult_kara.log delete mode 100644 logs/p4/sqr.log delete mode 100644 logs/p4/sqr_kara.log delete mode 100644 logs/p4/sub.log create mode 100644 makefile.icc create mode 100644 pretty.build diff --git a/bn.pdf b/bn.pdf index 52421fd5981b12f134d6f2352d6c7d978f6ffb32..bf80e6a225db3ede3dc544c20cd8b67966853684 100644 GIT binary patch delta 111601 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%0Apl~(>KQ95ZZtx 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 z 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 GV*U>hFP%>S delta 111576 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%0A?62a(jU&5MQNt&HJhJ0^H|_ze>(I~jA-Cxqj{yc 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�iKa@3p$+{>jG~s{pEAs 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 a5-p6Psos#EJ&^(U<}jd5n;!jM3HUEKe^D#| diff --git a/bn.tex b/bn.tex index a254586..3d1d26d 100644 --- a/bn.tex +++ b/bn.tex @@ -49,7 +49,7 @@ \begin{document} \frontmatter \pagestyle{empty} -\title{LibTomMath User Manual \\ v0.30} +\title{LibTomMath User Manual \\ v0.31} \author{Tom St Denis \\ tomstdenis@iahu.ca} \maketitle This text, the library and the accompanying textbook are all hereby placed in the public domain. This book has been diff --git a/bn_fast_s_mp_mul_digs.c b/bn_fast_s_mp_mul_digs.c index 75fa706..d268df3 100644 --- a/bn_fast_s_mp_mul_digs.c +++ b/bn_fast_s_mp_mul_digs.c @@ -88,7 +88,7 @@ fast_s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs) } /* setup dest */ - olduse = c->used; + olduse = c->used; c->used = digs; { diff --git a/bn_mp_2expt.c b/bn_mp_2expt.c index 5c4e256..502e85b 100644 --- a/bn_mp_2expt.c +++ b/bn_mp_2expt.c @@ -36,7 +36,7 @@ mp_2expt (mp_int * a, int b) a->used = b / DIGIT_BIT + 1; /* put the single bit in its place */ - a->dp[b / DIGIT_BIT] = 1 << (b % DIGIT_BIT); + a->dp[b / DIGIT_BIT] = ((mp_digit)1) << (b % DIGIT_BIT); return MP_OKAY; } diff --git a/bn_mp_clear.c b/bn_mp_clear.c index afe9b26..cd439df 100644 --- a/bn_mp_clear.c +++ b/bn_mp_clear.c @@ -18,10 +18,14 @@ 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 */ - memset (a->dp, 0, sizeof (mp_digit) * a->used); + for (i = 0; i < a->used; i++) { + a->dp[i] = 0; + } /* free ram */ XFREE(a->dp); diff --git a/bn_mp_div.c b/bn_mp_div.c index 652a094..ea2d514 100644 --- a/bn_mp_div.c +++ b/bn_mp_div.c @@ -187,7 +187,7 @@ int mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) */ /* get sign before writing to c */ - x.sign = a->sign; + x.sign = x.used == 0 ? MP_ZPOS : a->sign; if (c != NULL) { mp_clamp (&q); diff --git a/bn_mp_init.c b/bn_mp_init.c index 5c5c1ad..cac782a 100644 --- a/bn_mp_init.c +++ b/bn_mp_init.c @@ -14,15 +14,22 @@ */ #include -/* init a new bigint */ +/* 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) XCALLOC (sizeof (mp_digit), MP_PREC); + 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; diff --git a/bn_mp_karatsuba_mul.c b/bn_mp_karatsuba_mul.c index 169dacf..105590e 100644 --- a/bn_mp_karatsuba_mul.c +++ b/bn_mp_karatsuba_mul.c @@ -76,9 +76,6 @@ int mp_karatsuba_mul (mp_int * a, mp_int * b, mp_int * c) goto X0Y0; /* now shift the digits */ - x0.sign = x1.sign = a->sign; - y0.sign = y1.sign = b->sign; - x0.used = y0.used = B; x1.used = a->used - B; y1.used = b->used - B; diff --git a/bn_mp_mul.c b/bn_mp_mul.c index 6f3c491..8e11f9f 100644 --- a/bn_mp_mul.c +++ b/bn_mp_mul.c @@ -43,6 +43,6 @@ int mp_mul (mp_int * a, mp_int * b, mp_int * c) res = s_mp_mul (a, b, c); } } - c->sign = neg; + c->sign = (c->used > 0) ? neg : MP_ZPOS; return res; } diff --git a/bn_mp_reduce_is_2k.c b/bn_mp_reduce_is_2k.c index d43b9ff..cc36115 100644 --- a/bn_mp_reduce_is_2k.c +++ b/bn_mp_reduce_is_2k.c @@ -17,7 +17,8 @@ /* determines if mp_reduce_2k can be used */ int mp_reduce_is_2k(mp_int *a) { - int ix, iy, iz, iw; + int ix, iy, iw; + mp_digit iz; if (a->used == 0) { return 0; @@ -34,7 +35,7 @@ int mp_reduce_is_2k(mp_int *a) return 0; } iz <<= 1; - if (iz > (int)MP_MASK) { + if (iz > (mp_digit)MP_MASK) { ++iw; iz = 1; } diff --git a/bncore.c b/bncore.c index acb78a0..918a99a 100644 --- a/bncore.c +++ b/bncore.c @@ -18,14 +18,16 @@ 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 = 109, /* Min. number of digits before Karatsuba multiplication is used. */ - KARATSUBA_SQR_CUTOFF = 127, /* 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; diff --git a/booker.pl b/booker.pl index 4f4231f..de28780 100644 --- a/booker.pl +++ b/booker.pl @@ -84,6 +84,7 @@ while () { $text[$line++] = $_; last if ($_ =~ /tommath\.h/); } + ; } $inline = 0; diff --git a/changes.txt b/changes.txt index 63e9d61..c90d27a 100644 --- a/changes.txt +++ b/changes.txt @@ -1,3 +1,12 @@ +August 9th, 2004 +v0.31 -- "profiled" builds now :-) new timings for Intel Northwoods + -- Added "pretty" build target + -- Update mp_init() to actually assign 0's instead of relying on calloc() + -- "Wolfgang Ehrhardt" found a bug in mp_mul() where if + you multiply a negative by zero you get negative zero as the result. Oops. + -- J Harper from PeerSec let me toy with his AMD64 and I got 60-bit digits working properly + [this also means that I fixed a bug where if sizeof(int) < sizeof(mp_digit) it would bug] + April 11th, 2004 v0.30 -- Added "mp_toradix_n" which stores upto "n-1" least significant digits of an mp_int -- Johan Lindh sent a patch so MSVC wouldn't whine about redefining malloc [in weird dll modes] diff --git a/demo/demo.c b/demo/demo.c index 8014ea8..8cbcb8a 100644 --- a/demo/demo.c +++ b/demo/demo.c @@ -1,7 +1,5 @@ #include -#define TESTING - #ifdef IOWNANATHLON #include #define SLEEP sleep(4) @@ -11,49 +9,6 @@ #include "tommath.h" -#ifdef TIMER -ulong64 _tt; - -#if defined(__i386__) || defined(_M_IX86) || defined(_M_AMD64) -/* RDTSC from Scott Duplichan */ -static ulong64 TIMFUNC (void) - { - #if defined __GNUC__ - #ifdef __i386__ - ulong64 a; - __asm__ __volatile__ ("rdtsc ":"=A" (a)); - return a; - #else /* gcc-IA64 version */ - unsigned long result; - __asm__ __volatile__("mov %0=ar.itc" : "=r"(result) :: "memory"); - while (__builtin_expect ((int) result == -1, 0)) - __asm__ __volatile__("mov %0=ar.itc" : "=r"(result) :: "memory"); - return result; - #endif - - // Microsoft and Intel Windows compilers - #elif defined _M_IX86 - __asm rdtsc - #elif defined _M_AMD64 - return __rdtsc (); - #elif defined _M_IA64 - #if defined __INTEL_COMPILER - #include - #endif - return __getReg (3116); - #else - #error need rdtsc function for this build - #endif - } -#else -#define TIMFUNC clock -#endif - -ulong64 rdtsc(void) { return TIMFUNC() - _tt; } -void reset(void) { _tt = TIMFUNC(); } - -#endif - void ndraw(mp_int *a, char *name) { char buf[4096]; @@ -89,10 +44,6 @@ int myrng(unsigned char *dst, int len, void *dat) } -#define DO2(x) x; x; -#define DO4(x) DO2(x); DO2(x); -#define DO8(x) DO4(x); DO4(x); -#define DO(x) DO8(x); DO8(x); char cmd[4096], buf[4096]; int main(void) @@ -103,10 +54,6 @@ int main(void) unsigned rr; int i, n, err, cnt, ix, old_kara_m, old_kara_s; -#ifdef TIMER - ulong64 tt, CLK_PER_SEC; - FILE *log, *logb, *logc; -#endif mp_init(&a); mp_init(&b); @@ -117,11 +64,10 @@ int main(void) srand(time(NULL)); -#ifdef TESTING // test mp_get_int printf("Testing: mp_get_int\n"); for(i=0;i<1000;++i) { - t = (unsigned long)rand()*rand()+1; + t = ((unsigned long)rand()*rand()+1)&0xFFFFFFFF; mp_set_int(&a,t); if (t!=mp_get_int(&a)) { printf("mp_get_int() bad result!\n"); @@ -141,7 +87,7 @@ int main(void) // test mp_sqrt printf("Testing: mp_sqrt\n"); - for (i=0;i<10000;++i) { + for (i=0;i<1000;++i) { printf("%6d\r", i); fflush(stdout); n = (rand()&15)+1; mp_rand(&a,n); @@ -157,7 +103,7 @@ int main(void) } printf("\nTesting: mp_is_square\n"); - for (i=0;i<100000;++i) { + for (i=0;i<1000;++i) { printf("%6d\r", i); fflush(stdout); /* test mp_is_square false negatives */ @@ -186,11 +132,9 @@ int main(void) } printf("\n\n"); -#endif -#ifdef TESTING /* test for size */ - for (ix = 16; ix < 512; ix++) { + for (ix = 10; ix < 256; ix++) { printf("Testing (not safe-prime): %9d bits \r", ix); fflush(stdout); err = mp_prime_random_ex(&a, 8, ix, (rand()&1)?LTM_PRIME_2MSB_OFF:LTM_PRIME_2MSB_ON, myrng, NULL); if (err != MP_OKAY) { @@ -203,7 +147,7 @@ int main(void) } } - for (ix = 16; ix < 512; ix++) { + for (ix = 16; ix < 256; ix++) { printf("Testing ( safe-prime): %9d bits \r", ix); fflush(stdout); err = mp_prime_random_ex(&a, 8, ix, ((rand()&1)?LTM_PRIME_2MSB_OFF:LTM_PRIME_2MSB_ON)|LTM_PRIME_SAFE, myrng, NULL); if (err != MP_OKAY) { @@ -225,9 +169,7 @@ int main(void) } printf("\n\n"); -#endif -#ifdef TESTING mp_read_radix(&a, "123456", 10); mp_toradix_n(&a, buf, 10, 3); printf("a == %s\n", buf); @@ -235,7 +177,6 @@ int main(void) printf("a == %s\n", buf); mp_toradix_n(&a, buf, 10, 30); printf("a == %s\n", buf); -#endif #if 0 @@ -248,22 +189,6 @@ int main(void) } #endif -#if 0 -{ - mp_word aa, bb; - - for (;;) { - aa = abs(rand()) & MP_MASK; - bb = abs(rand()) & MP_MASK; - if (MULT(aa,bb) != (aa*bb)) { - printf("%llu * %llu == %llu or %llu?\n", aa, bb, (ulong64)MULT(aa,bb), (ulong64)(aa*bb)); - return 0; - } - } -} -#endif - -#ifdef TESTING /* test mp_cnt_lsb */ printf("testing mp_cnt_lsb...\n"); mp_set(&a, 1); @@ -274,12 +199,10 @@ int main(void) } mp_mul_2(&a, &a); } -#endif /* test mp_reduce_2k */ -#ifdef TESTING printf("Testing mp_reduce_2k...\n"); - for (cnt = 3; cnt <= 384; ++cnt) { + for (cnt = 3; cnt <= 128; ++cnt) { mp_digit tmp; mp_2expt(&a, cnt); mp_sub_d(&a, 2, &a); /* a = 2**cnt - 2 */ @@ -289,7 +212,7 @@ int main(void) printf("(%d)", mp_reduce_is_2k(&a)); mp_reduce_2k_setup(&a, &tmp); printf("(%d)", tmp); - for (ix = 0; ix < 10000; ix++) { + for (ix = 0; ix < 1000; ix++) { if (!(ix & 127)) {printf("."); fflush(stdout); } mp_rand(&b, (cnt/DIGIT_BIT + 1) * 2); mp_copy(&c, &b); @@ -301,14 +224,11 @@ int main(void) } } } -#endif - /* test mp_div_3 */ -#ifdef TESTING printf("Testing mp_div_3...\n"); mp_set(&d, 3); - for (cnt = 0; cnt < 1000000; ) { + for (cnt = 0; cnt < 10000; ) { mp_digit r1, r2; if (!(++cnt & 127)) printf("%9d\r", cnt); @@ -321,12 +241,10 @@ int main(void) } } printf("\n\nPassed div_3 testing\n"); -#endif /* test the DR reduction */ -#ifdef TESTING printf("testing mp_dr_reduce...\n"); - for (cnt = 2; cnt < 128; cnt++) { + for (cnt = 2; cnt < 32; cnt++) { printf("%d digit modulus\n", cnt); mp_grow(&a, cnt); mp_zero(&a); @@ -334,7 +252,7 @@ int main(void) a.dp[ix] = MP_MASK; } a.used = cnt; - mp_prime_next_prime(&a, 3, 0); + a.dp[0] = 3; mp_rand(&b, cnt - 1); mp_copy(&b, &c); @@ -346,206 +264,16 @@ int main(void) mp_copy(&b, &c); mp_mod(&b, &a, &b); - mp_dr_reduce(&c, &a, (1< %9llu/sec, %9llu ticks\n", mp_count_bits(&a), (((ulong64)rr)*CLK_PER_SEC)/tt, tt); - fprintf(log, "%d %9llu\n", cnt*DIGIT_BIT, (((ulong64)rr)*CLK_PER_SEC)/tt); fflush(log); - } - fclose(log); - - log = fopen("logs/sub.log", "w"); - for (cnt = 8; cnt <= 128; cnt += 8) { - SLEEP; - mp_rand(&a, cnt); - mp_rand(&b, cnt); - reset(); - rr = 0; - do { - DO(mp_sub(&a,&b,&c)); - rr += 16; - } while (rdtsc() < (CLK_PER_SEC * 2)); - tt = rdtsc(); - printf("Subtracting\t\t%4d-bit => %9llu/sec, %9llu ticks\n", mp_count_bits(&a), (((ulong64)rr)*CLK_PER_SEC)/tt, tt); - fprintf(log, "%d %9llu\n", cnt*DIGIT_BIT, (((ulong64)rr)*CLK_PER_SEC)/tt); fflush(log); - } - fclose(log); - - /* do mult/square twice, first without karatsuba and second with */ -mult_test: - old_kara_m = KARATSUBA_MUL_CUTOFF; - old_kara_s = KARATSUBA_SQR_CUTOFF; - for (ix = 0; ix < 2; ix++) { - printf("With%s Karatsuba\n", (ix==0)?"out":""); - - KARATSUBA_MUL_CUTOFF = (ix==0)?9999:old_kara_m; - KARATSUBA_SQR_CUTOFF = (ix==0)?9999:old_kara_s; - - log = fopen((ix==0)?"logs/mult.log":"logs/mult_kara.log", "w"); - for (cnt = 32; cnt <= 288; cnt += 8) { - SLEEP; - mp_rand(&a, cnt); - mp_rand(&b, cnt); - reset(); - rr = 0; - do { - DO(mp_mul(&a, &b, &c)); - rr += 16; - } while (rdtsc() < (CLK_PER_SEC * 2)); - tt = rdtsc(); - printf("Multiplying\t%4d-bit => %9llu/sec, %9llu ticks\n", mp_count_bits(&a), (((ulong64)rr)*CLK_PER_SEC)/tt, tt); - fprintf(log, "%d %9llu\n", mp_count_bits(&a), (((ulong64)rr)*CLK_PER_SEC)/tt); fflush(log); - } - fclose(log); - - log = fopen((ix==0)?"logs/sqr.log":"logs/sqr_kara.log", "w"); - for (cnt = 32; cnt <= 288; cnt += 8) { - SLEEP; - mp_rand(&a, cnt); - reset(); - rr = 0; - do { - DO(mp_sqr(&a, &b)); - rr += 16; - } while (rdtsc() < (CLK_PER_SEC * 2)); - tt = rdtsc(); - printf("Squaring\t%4d-bit => %9llu/sec, %9llu ticks\n", mp_count_bits(&a), (((ulong64)rr)*CLK_PER_SEC)/tt, tt); - fprintf(log, "%d %9llu\n", mp_count_bits(&a), (((ulong64)rr)*CLK_PER_SEC)/tt); fflush(log); - } - fclose(log); - - } -expt_test: - { - char *primes[] = { - /* 2K moduli mersenne primes */ - "6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057151", - "531137992816767098689588206552468627329593117727031923199444138200403559860852242739162502265229285668889329486246501015346579337652707239409519978766587351943831270835393219031728127", - "10407932194664399081925240327364085538615262247266704805319112350403608059673360298012239441732324184842421613954281007791383566248323464908139906605677320762924129509389220345773183349661583550472959420547689811211693677147548478866962501384438260291732348885311160828538416585028255604666224831890918801847068222203140521026698435488732958028878050869736186900714720710555703168729087", - "1475979915214180235084898622737381736312066145333169775147771216478570297878078949377407337049389289382748507531496480477281264838760259191814463365330269540496961201113430156902396093989090226259326935025281409614983499388222831448598601834318536230923772641390209490231836446899608210795482963763094236630945410832793769905399982457186322944729636418890623372171723742105636440368218459649632948538696905872650486914434637457507280441823676813517852099348660847172579408422316678097670224011990280170474894487426924742108823536808485072502240519452587542875349976558572670229633962575212637477897785501552646522609988869914013540483809865681250419497686697771007", - "259117086013202627776246767922441530941818887553125427303974923161874019266586362086201209516800483406550695241733194177441689509238807017410377709597512042313066624082916353517952311186154862265604547691127595848775610568757931191017711408826252153849035830401185072116424747461823031471398340229288074545677907941037288235820705892351068433882986888616658650280927692080339605869308790500409503709875902119018371991620994002568935113136548829739112656797303241986517250116412703509705427773477972349821676443446668383119322540099648994051790241624056519054483690809616061625743042361721863339415852426431208737266591962061753535748892894599629195183082621860853400937932839420261866586142503251450773096274235376822938649407127700846077124211823080804139298087057504713825264571448379371125032081826126566649084251699453951887789613650248405739378594599444335231188280123660406262468609212150349937584782292237144339628858485938215738821232393687046160677362909315071", - "190797007524439073807468042969529173669356994749940177394741882673528979787005053706368049835514900244303495954950709725762186311224148828811920216904542206960744666169364221195289538436845390250168663932838805192055137154390912666527533007309292687539092257043362517857366624699975402375462954490293259233303137330643531556539739921926201438606439020075174723029056838272505051571967594608350063404495977660656269020823960825567012344189908927956646011998057988548630107637380993519826582389781888135705408653045219655801758081251164080554609057468028203308718724654081055323215860189611391296030471108443146745671967766308925858547271507311563765171008318248647110097614890313562856541784154881743146033909602737947385055355960331855614540900081456378659068370317267696980001187750995491090350108417050917991562167972281070161305972518044872048331306383715094854938415738549894606070722584737978176686422134354526989443028353644037187375385397838259511833166416134323695660367676897722287918773420968982326089026150031515424165462111337527431154890666327374921446276833564519776797633875503548665093914556482031482248883127023777039667707976559857333357013727342079099064400455741830654320379350833236245819348824064783585692924881021978332974949906122664421376034687815350484991", - - /* DR moduli */ - "14059105607947488696282932836518693308967803494693489478439861164411992439598399594747002144074658928593502845729752797260025831423419686528151609940203368612079", - "101745825697019260773923519755878567461315282017759829107608914364075275235254395622580447400994175578963163918967182013639660669771108475957692810857098847138903161308502419410142185759152435680068435915159402496058513611411688900243039", - "736335108039604595805923406147184530889923370574768772191969612422073040099331944991573923112581267542507986451953227192970402893063850485730703075899286013451337291468249027691733891486704001513279827771740183629161065194874727962517148100775228363421083691764065477590823919364012917984605619526140821797602431", - "38564998830736521417281865696453025806593491967131023221754800625044118265468851210705360385717536794615180260494208076605798671660719333199513807806252394423283413430106003596332513246682903994829528690198205120921557533726473585751382193953592127439965050261476810842071573684505878854588706623484573925925903505747545471088867712185004135201289273405614415899438276535626346098904241020877974002916168099951885406379295536200413493190419727789712076165162175783", - "542189391331696172661670440619180536749994166415993334151601745392193484590296600979602378676624808129613777993466242203025054573692562689251250471628358318743978285860720148446448885701001277560572526947619392551574490839286458454994488665744991822837769918095117129546414124448777033941223565831420390846864429504774477949153794689948747680362212954278693335653935890352619041936727463717926744868338358149568368643403037768649616778526013610493696186055899318268339432671541328195724261329606699831016666359440874843103020666106568222401047720269951530296879490444224546654729111504346660859907296364097126834834235287147", - "1487259134814709264092032648525971038895865645148901180585340454985524155135260217788758027400478312256339496385275012465661575576202252063145698732079880294664220579764848767704076761853197216563262660046602703973050798218246170835962005598561669706844469447435461092542265792444947706769615695252256130901271870341005768912974433684521436211263358097522726462083917939091760026658925757076733484173202927141441492573799914240222628795405623953109131594523623353044898339481494120112723445689647986475279242446083151413667587008191682564376412347964146113898565886683139407005941383669325997475076910488086663256335689181157957571445067490187939553165903773554290260531009121879044170766615232300936675369451260747671432073394867530820527479172464106442450727640226503746586340279816318821395210726268291535648506190714616083163403189943334431056876038286530365757187367147446004855912033137386225053275419626102417236133948503", - "1095121115716677802856811290392395128588168592409109494900178008967955253005183831872715423151551999734857184538199864469605657805519106717529655044054833197687459782636297255219742994736751541815269727940751860670268774903340296040006114013971309257028332849679096824800250742691718610670812374272414086863715763724622797509437062518082383056050144624962776302147890521249477060215148275163688301275847155316042279405557632639366066847442861422164832655874655824221577849928863023018366835675399949740429332468186340518172487073360822220449055340582568461568645259954873303616953776393853174845132081121976327462740354930744487429617202585015510744298530101547706821590188733515880733527449780963163909830077616357506845523215289297624086914545378511082534229620116563260168494523906566709418166011112754529766183554579321224940951177394088465596712620076240067370589036924024728375076210477267488679008016579588696191194060127319035195370137160936882402244399699172017835144537488486396906144217720028992863941288217185353914991583400421682751000603596655790990815525126154394344641336397793791497068253936771017031980867706707490224041075826337383538651825493679503771934836094655802776331664261631740148281763487765852746577808019633679", - - /* generic unrestricted moduli */ - "17933601194860113372237070562165128350027320072176844226673287945873370751245439587792371960615073855669274087805055507977323024886880985062002853331424203", - "2893527720709661239493896562339544088620375736490408468011883030469939904368086092336458298221245707898933583190713188177399401852627749210994595974791782790253946539043962213027074922559572312141181787434278708783207966459019479487", - "347743159439876626079252796797422223177535447388206607607181663903045907591201940478223621722118173270898487582987137708656414344685816179420855160986340457973820182883508387588163122354089264395604796675278966117567294812714812796820596564876450716066283126720010859041484786529056457896367683122960411136319", - "47266428956356393164697365098120418976400602706072312735924071745438532218237979333351774907308168340693326687317443721193266215155735814510792148768576498491199122744351399489453533553203833318691678263241941706256996197460424029012419012634671862283532342656309677173602509498417976091509154360039893165037637034737020327399910409885798185771003505320583967737293415979917317338985837385734747478364242020380416892056650841470869294527543597349250299539682430605173321029026555546832473048600327036845781970289288898317888427517364945316709081173840186150794397479045034008257793436817683392375274635794835245695887", - "436463808505957768574894870394349739623346440601945961161254440072143298152040105676491048248110146278752857839930515766167441407021501229924721335644557342265864606569000117714935185566842453630868849121480179691838399545644365571106757731317371758557990781880691336695584799313313687287468894148823761785582982549586183756806449017542622267874275103877481475534991201849912222670102069951687572917937634467778042874315463238062009202992087620963771759666448266532858079402669920025224220613419441069718482837399612644978839925207109870840278194042158748845445131729137117098529028886770063736487420613144045836803985635654192482395882603511950547826439092832800532152534003936926017612446606135655146445620623395788978726744728503058670046885876251527122350275750995227", - "11424167473351836398078306042624362277956429440521137061889702611766348760692206243140413411077394583180726863277012016602279290144126785129569474909173584789822341986742719230331946072730319555984484911716797058875905400999504305877245849119687509023232790273637466821052576859232452982061831009770786031785669030271542286603956118755585683996118896215213488875253101894663403069677745948305893849505434201763745232895780711972432011344857521691017896316861403206449421332243658855453435784006517202894181640562433575390821384210960117518650374602256601091379644034244332285065935413233557998331562749140202965844219336298970011513882564935538704289446968322281451907487362046511461221329799897350993370560697505809686438782036235372137015731304779072430260986460269894522159103008260495503005267165927542949439526272736586626709581721032189532726389643625590680105784844246152702670169304203783072275089194754889511973916207", - "1214855636816562637502584060163403830270705000634713483015101384881871978446801224798536155406895823305035467591632531067547890948695117172076954220727075688048751022421198712032848890056357845974246560748347918630050853933697792254955890439720297560693579400297062396904306270145886830719309296352765295712183040773146419022875165382778007040109957609739589875590885701126197906063620133954893216612678838507540777138437797705602453719559017633986486649523611975865005712371194067612263330335590526176087004421363598470302731349138773205901447704682181517904064735636518462452242791676541725292378925568296858010151852326316777511935037531017413910506921922450666933202278489024521263798482237150056835746454842662048692127173834433089016107854491097456725016327709663199738238442164843147132789153725513257167915555162094970853584447993125488607696008169807374736711297007473812256272245489405898470297178738029484459690836250560495461579533254473316340608217876781986188705928270735695752830825527963838355419762516246028680280988020401914551825487349990306976304093109384451438813251211051597392127491464898797406789175453067960072008590614886532333015881171367104445044718144312416815712216611576221546455968770801413440778423979", - NULL - }; - log = fopen("logs/expt.log", "w"); - logb = fopen("logs/expt_dr.log", "w"); - logc = fopen("logs/expt_2k.log", "w"); - for (n = 0; primes[n]; n++) { - SLEEP; - mp_read_radix(&a, primes[n], 10); - mp_zero(&b); - for (rr = 0; rr < mp_count_bits(&a); rr++) { - mp_mul_2(&b, &b); - b.dp[0] |= lbit(); - b.used += 1; - } - mp_sub_d(&a, 1, &c); - mp_mod(&b, &c, &b); - mp_set(&c, 3); - reset(); - rr = 0; - do { - DO(mp_exptmod(&c, &b, &a, &d)); - rr += 16; - } while (rdtsc() < (CLK_PER_SEC * 2)); - tt = rdtsc(); - mp_sub_d(&a, 1, &e); - mp_sub(&e, &b, &b); - mp_exptmod(&c, &b, &a, &e); /* c^(p-1-b) mod a */ - mp_mulmod(&e, &d, &a, &d); /* c^b * c^(p-1-b) == c^p-1 == 1 */ - if (mp_cmp_d(&d, 1)) { - printf("Different (%d)!!!\n", mp_count_bits(&a)); - draw(&d); - exit(0); - } - printf("Exponentiating\t%4d-bit => %9llu/sec, %9llu ticks\n", mp_count_bits(&a), (((ulong64)rr)*CLK_PER_SEC)/tt, tt); - fprintf((n < 6) ? logc : (n < 13) ? logb : log, "%d %9llu\n", mp_count_bits(&a), (((ulong64)rr)*CLK_PER_SEC)/tt); - } - } - fclose(log); - fclose(logb); - fclose(logc); - - log = fopen("logs/invmod.log", "w"); - for (cnt = 4; cnt <= 128; cnt += 4) { - SLEEP; - mp_rand(&a, cnt); - mp_rand(&b, cnt); - - do { - mp_add_d(&b, 1, &b); - mp_gcd(&a, &b, &c); - } while (mp_cmp_d(&c, 1) != MP_EQ); - - reset(); - rr = 0; - do { - DO(mp_invmod(&b, &a, &c)); - rr += 16; - } while (rdtsc() < (CLK_PER_SEC * 2)); - tt = rdtsc(); - mp_mulmod(&b, &c, &a, &d); - if (mp_cmp_d(&d, 1) != MP_EQ) { - printf("Failed to invert\n"); - return 0; - } - printf("Inverting mod\t%4d-bit => %9llu/sec, %9llu ticks\n", mp_count_bits(&a), (((ulong64)rr)*CLK_PER_SEC)/tt, tt); - fprintf(log, "%d %9llu\n", cnt*DIGIT_BIT, (((ulong64)rr)*CLK_PER_SEC)/tt); - } - fclose(log); - - return 0; - -#endif div2_n = mul2_n = inv_n = expt_n = lcm_n = gcd_n = add_n = sub_n = mul_n = div_n = sqr_n = mul2d_n = div2d_n = cnt = add_d_n = sub_d_n= 0; diff --git a/demo/timing.c b/demo/timing.c new file mode 100644 index 0000000..30e95ce --- /dev/null +++ b/demo/timing.c @@ -0,0 +1,291 @@ +#include +#include + +ulong64 _tt; + +#ifdef IOWNANATHLON +#include +#define SLEEP sleep(4) +#else +#define SLEEP +#endif + + +void ndraw(mp_int *a, char *name) +{ + char buf[4096]; + printf("%s: ", name); + mp_toradix(a, buf, 64); + printf("%s\n", buf); +} + +static void draw(mp_int *a) +{ + ndraw(a, ""); +} + + +unsigned long lfsr = 0xAAAAAAAAUL; + +int lbit(void) +{ + if (lfsr & 0x80000000UL) { + lfsr = ((lfsr << 1) ^ 0x8000001BUL) & 0xFFFFFFFFUL; + return 1; + } else { + lfsr <<= 1; + return 0; + } +} + +#if defined(__i386__) || defined(_M_IX86) || defined(_M_AMD64) +/* RDTSC from Scott Duplichan */ +static ulong64 TIMFUNC (void) + { + #if defined __GNUC__ + #ifdef __i386__ + ulong64 a; + __asm__ __volatile__ ("rdtsc ":"=A" (a)); + return a; + #else /* gcc-IA64 version */ + unsigned long result; + __asm__ __volatile__("mov %0=ar.itc" : "=r"(result) :: "memory"); + while (__builtin_expect ((int) result == -1, 0)) + __asm__ __volatile__("mov %0=ar.itc" : "=r"(result) :: "memory"); + return result; + #endif + + // Microsoft and Intel Windows compilers + #elif defined _M_IX86 + __asm rdtsc + #elif defined _M_AMD64 + return __rdtsc (); + #elif defined _M_IA64 + #if defined __INTEL_COMPILER + #include + #endif + return __getReg (3116); + #else + #error need rdtsc function for this build + #endif + } +#else +#define TIMFUNC clock +#endif + +#define DO(x) x; x; +//#define DO4(x) DO2(x); DO2(x); +//#define DO8(x) DO4(x); DO4(x); +//#define DO(x) DO8(x); DO8(x); + +int main(void) +{ + ulong64 tt, gg, CLK_PER_SEC; + FILE *log, *logb, *logc; + mp_int a, b, c, d, e, f; + int n, cnt, ix, old_kara_m, old_kara_s; + unsigned rr; + + mp_init(&a); + mp_init(&b); + mp_init(&c); + mp_init(&d); + mp_init(&e); + mp_init(&f); + + srand(time(NULL)); + + + /* temp. turn off TOOM */ + TOOM_MUL_CUTOFF = TOOM_SQR_CUTOFF = 100000; + + CLK_PER_SEC = TIMFUNC(); + sleep(1); + CLK_PER_SEC = TIMFUNC() - CLK_PER_SEC; + + printf("CLK_PER_SEC == %llu\n", CLK_PER_SEC); + + log = fopen("logs/add.log", "w"); + for (cnt = 8; cnt <= 128; cnt += 8) { + SLEEP; + mp_rand(&a, cnt); + mp_rand(&b, cnt); + rr = 0; + tt = -1; + do { + gg = TIMFUNC(); + DO(mp_add(&a,&b,&c)); + gg = (TIMFUNC() - gg)>>1; + if (tt > gg) tt = gg; + } while (++rr < 100000); + printf("Adding\t\t%4d-bit => %9llu/sec, %9llu cycles\n", mp_count_bits(&a), CLK_PER_SEC/tt, tt); + fprintf(log, "%d %9llu\n", cnt*DIGIT_BIT, tt); fflush(log); + } + fclose(log); + + log = fopen("logs/sub.log", "w"); + for (cnt = 8; cnt <= 128; cnt += 8) { + SLEEP; + mp_rand(&a, cnt); + mp_rand(&b, cnt); + rr = 0; + tt = -1; + do { + gg = TIMFUNC(); + DO(mp_sub(&a,&b,&c)); + gg = (TIMFUNC() - gg)>>1; + if (tt > gg) tt = gg; + } while (++rr < 100000); + + printf("Subtracting\t\t%4d-bit => %9llu/sec, %9llu cycles\n", mp_count_bits(&a), CLK_PER_SEC/tt, tt); + fprintf(log, "%d %9llu\n", cnt*DIGIT_BIT, tt); fflush(log); + } + fclose(log); + + /* do mult/square twice, first without karatsuba and second with */ + old_kara_m = KARATSUBA_MUL_CUTOFF; + old_kara_s = KARATSUBA_SQR_CUTOFF; + for (ix = 0; ix < 1; ix++) { + printf("With%s Karatsuba\n", (ix==0)?"out":""); + + KARATSUBA_MUL_CUTOFF = (ix==0)?9999:old_kara_m; + KARATSUBA_SQR_CUTOFF = (ix==0)?9999:old_kara_s; + + log = fopen((ix==0)?"logs/mult.log":"logs/mult_kara.log", "w"); + for (cnt = 32; cnt <= 288; cnt += 8) { + SLEEP; + mp_rand(&a, cnt); + mp_rand(&b, cnt); + rr = 0; + tt = -1; + do { + gg = TIMFUNC(); + DO(mp_mul(&a, &b, &c)); + gg = (TIMFUNC() - gg)>>1; + if (tt > gg) tt = gg; + } while (++rr < 100); + printf("Multiplying\t%4d-bit => %9llu/sec, %9llu cycles\n", mp_count_bits(&a), CLK_PER_SEC/tt, tt); + fprintf(log, "%d %9llu\n", mp_count_bits(&a), tt); fflush(log); + } + fclose(log); + + log = fopen((ix==0)?"logs/sqr.log":"logs/sqr_kara.log", "w"); + for (cnt = 32; cnt <= 288; cnt += 8) { + SLEEP; + mp_rand(&a, cnt); + rr = 0; + tt = -1; + do { + gg = TIMFUNC(); + DO(mp_sqr(&a, &b)); + gg = (TIMFUNC() - gg)>>1; + if (tt > gg) tt = gg; + } while (++rr < 100); + printf("Squaring\t%4d-bit => %9llu/sec, %9llu cycles\n", mp_count_bits(&a), CLK_PER_SEC/tt, tt); + fprintf(log, "%d %9llu\n", mp_count_bits(&a), tt); fflush(log); + } + fclose(log); + + } + + { + char *primes[] = { + /* 2K moduli mersenne primes */ + "6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057151", + "531137992816767098689588206552468627329593117727031923199444138200403559860852242739162502265229285668889329486246501015346579337652707239409519978766587351943831270835393219031728127", + "10407932194664399081925240327364085538615262247266704805319112350403608059673360298012239441732324184842421613954281007791383566248323464908139906605677320762924129509389220345773183349661583550472959420547689811211693677147548478866962501384438260291732348885311160828538416585028255604666224831890918801847068222203140521026698435488732958028878050869736186900714720710555703168729087", + "1475979915214180235084898622737381736312066145333169775147771216478570297878078949377407337049389289382748507531496480477281264838760259191814463365330269540496961201113430156902396093989090226259326935025281409614983499388222831448598601834318536230923772641390209490231836446899608210795482963763094236630945410832793769905399982457186322944729636418890623372171723742105636440368218459649632948538696905872650486914434637457507280441823676813517852099348660847172579408422316678097670224011990280170474894487426924742108823536808485072502240519452587542875349976558572670229633962575212637477897785501552646522609988869914013540483809865681250419497686697771007", + "259117086013202627776246767922441530941818887553125427303974923161874019266586362086201209516800483406550695241733194177441689509238807017410377709597512042313066624082916353517952311186154862265604547691127595848775610568757931191017711408826252153849035830401185072116424747461823031471398340229288074545677907941037288235820705892351068433882986888616658650280927692080339605869308790500409503709875902119018371991620994002568935113136548829739112656797303241986517250116412703509705427773477972349821676443446668383119322540099648994051790241624056519054483690809616061625743042361721863339415852426431208737266591962061753535748892894599629195183082621860853400937932839420261866586142503251450773096274235376822938649407127700846077124211823080804139298087057504713825264571448379371125032081826126566649084251699453951887789613650248405739378594599444335231188280123660406262468609212150349937584782292237144339628858485938215738821232393687046160677362909315071", + "190797007524439073807468042969529173669356994749940177394741882673528979787005053706368049835514900244303495954950709725762186311224148828811920216904542206960744666169364221195289538436845390250168663932838805192055137154390912666527533007309292687539092257043362517857366624699975402375462954490293259233303137330643531556539739921926201438606439020075174723029056838272505051571967594608350063404495977660656269020823960825567012344189908927956646011998057988548630107637380993519826582389781888135705408653045219655801758081251164080554609057468028203308718724654081055323215860189611391296030471108443146745671967766308925858547271507311563765171008318248647110097614890313562856541784154881743146033909602737947385055355960331855614540900081456378659068370317267696980001187750995491090350108417050917991562167972281070161305972518044872048331306383715094854938415738549894606070722584737978176686422134354526989443028353644037187375385397838259511833166416134323695660367676897722287918773420968982326089026150031515424165462111337527431154890666327374921446276833564519776797633875503548665093914556482031482248883127023777039667707976559857333357013727342079099064400455741830654320379350833236245819348824064783585692924881021978332974949906122664421376034687815350484991", + + /* DR moduli */ + "14059105607947488696282932836518693308967803494693489478439861164411992439598399594747002144074658928593502845729752797260025831423419686528151609940203368612079", + "101745825697019260773923519755878567461315282017759829107608914364075275235254395622580447400994175578963163918967182013639660669771108475957692810857098847138903161308502419410142185759152435680068435915159402496058513611411688900243039", + "736335108039604595805923406147184530889923370574768772191969612422073040099331944991573923112581267542507986451953227192970402893063850485730703075899286013451337291468249027691733891486704001513279827771740183629161065194874727962517148100775228363421083691764065477590823919364012917984605619526140821797602431", + "38564998830736521417281865696453025806593491967131023221754800625044118265468851210705360385717536794615180260494208076605798671660719333199513807806252394423283413430106003596332513246682903994829528690198205120921557533726473585751382193953592127439965050261476810842071573684505878854588706623484573925925903505747545471088867712185004135201289273405614415899438276535626346098904241020877974002916168099951885406379295536200413493190419727789712076165162175783", + "542189391331696172661670440619180536749994166415993334151601745392193484590296600979602378676624808129613777993466242203025054573692562689251250471628358318743978285860720148446448885701001277560572526947619392551574490839286458454994488665744991822837769918095117129546414124448777033941223565831420390846864429504774477949153794689948747680362212954278693335653935890352619041936727463717926744868338358149568368643403037768649616778526013610493696186055899318268339432671541328195724261329606699831016666359440874843103020666106568222401047720269951530296879490444224546654729111504346660859907296364097126834834235287147", + "1487259134814709264092032648525971038895865645148901180585340454985524155135260217788758027400478312256339496385275012465661575576202252063145698732079880294664220579764848767704076761853197216563262660046602703973050798218246170835962005598561669706844469447435461092542265792444947706769615695252256130901271870341005768912974433684521436211263358097522726462083917939091760026658925757076733484173202927141441492573799914240222628795405623953109131594523623353044898339481494120112723445689647986475279242446083151413667587008191682564376412347964146113898565886683139407005941383669325997475076910488086663256335689181157957571445067490187939553165903773554290260531009121879044170766615232300936675369451260747671432073394867530820527479172464106442450727640226503746586340279816318821395210726268291535648506190714616083163403189943334431056876038286530365757187367147446004855912033137386225053275419626102417236133948503", + "1095121115716677802856811290392395128588168592409109494900178008967955253005183831872715423151551999734857184538199864469605657805519106717529655044054833197687459782636297255219742994736751541815269727940751860670268774903340296040006114013971309257028332849679096824800250742691718610670812374272414086863715763724622797509437062518082383056050144624962776302147890521249477060215148275163688301275847155316042279405557632639366066847442861422164832655874655824221577849928863023018366835675399949740429332468186340518172487073360822220449055340582568461568645259954873303616953776393853174845132081121976327462740354930744487429617202585015510744298530101547706821590188733515880733527449780963163909830077616357506845523215289297624086914545378511082534229620116563260168494523906566709418166011112754529766183554579321224940951177394088465596712620076240067370589036924024728375076210477267488679008016579588696191194060127319035195370137160936882402244399699172017835144537488486396906144217720028992863941288217185353914991583400421682751000603596655790990815525126154394344641336397793791497068253936771017031980867706707490224041075826337383538651825493679503771934836094655802776331664261631740148281763487765852746577808019633679", + + /* generic unrestricted moduli */ + "17933601194860113372237070562165128350027320072176844226673287945873370751245439587792371960615073855669274087805055507977323024886880985062002853331424203", + "2893527720709661239493896562339544088620375736490408468011883030469939904368086092336458298221245707898933583190713188177399401852627749210994595974791782790253946539043962213027074922559572312141181787434278708783207966459019479487", + "347743159439876626079252796797422223177535447388206607607181663903045907591201940478223621722118173270898487582987137708656414344685816179420855160986340457973820182883508387588163122354089264395604796675278966117567294812714812796820596564876450716066283126720010859041484786529056457896367683122960411136319", + "47266428956356393164697365098120418976400602706072312735924071745438532218237979333351774907308168340693326687317443721193266215155735814510792148768576498491199122744351399489453533553203833318691678263241941706256996197460424029012419012634671862283532342656309677173602509498417976091509154360039893165037637034737020327399910409885798185771003505320583967737293415979917317338985837385734747478364242020380416892056650841470869294527543597349250299539682430605173321029026555546832473048600327036845781970289288898317888427517364945316709081173840186150794397479045034008257793436817683392375274635794835245695887", + "436463808505957768574894870394349739623346440601945961161254440072143298152040105676491048248110146278752857839930515766167441407021501229924721335644557342265864606569000117714935185566842453630868849121480179691838399545644365571106757731317371758557990781880691336695584799313313687287468894148823761785582982549586183756806449017542622267874275103877481475534991201849912222670102069951687572917937634467778042874315463238062009202992087620963771759666448266532858079402669920025224220613419441069718482837399612644978839925207109870840278194042158748845445131729137117098529028886770063736487420613144045836803985635654192482395882603511950547826439092832800532152534003936926017612446606135655146445620623395788978726744728503058670046885876251527122350275750995227", + "11424167473351836398078306042624362277956429440521137061889702611766348760692206243140413411077394583180726863277012016602279290144126785129569474909173584789822341986742719230331946072730319555984484911716797058875905400999504305877245849119687509023232790273637466821052576859232452982061831009770786031785669030271542286603956118755585683996118896215213488875253101894663403069677745948305893849505434201763745232895780711972432011344857521691017896316861403206449421332243658855453435784006517202894181640562433575390821384210960117518650374602256601091379644034244332285065935413233557998331562749140202965844219336298970011513882564935538704289446968322281451907487362046511461221329799897350993370560697505809686438782036235372137015731304779072430260986460269894522159103008260495503005267165927542949439526272736586626709581721032189532726389643625590680105784844246152702670169304203783072275089194754889511973916207", + "1214855636816562637502584060163403830270705000634713483015101384881871978446801224798536155406895823305035467591632531067547890948695117172076954220727075688048751022421198712032848890056357845974246560748347918630050853933697792254955890439720297560693579400297062396904306270145886830719309296352765295712183040773146419022875165382778007040109957609739589875590885701126197906063620133954893216612678838507540777138437797705602453719559017633986486649523611975865005712371194067612263330335590526176087004421363598470302731349138773205901447704682181517904064735636518462452242791676541725292378925568296858010151852326316777511935037531017413910506921922450666933202278489024521263798482237150056835746454842662048692127173834433089016107854491097456725016327709663199738238442164843147132789153725513257167915555162094970853584447993125488607696008169807374736711297007473812256272245489405898470297178738029484459690836250560495461579533254473316340608217876781986188705928270735695752830825527963838355419762516246028680280988020401914551825487349990306976304093109384451438813251211051597392127491464898797406789175453067960072008590614886532333015881171367104445044718144312416815712216611576221546455968770801413440778423979", + NULL + }; + log = fopen("logs/expt.log", "w"); + logb = fopen("logs/expt_dr.log", "w"); + logc = fopen("logs/expt_2k.log", "w"); + for (n = 0; primes[n]; n++) { + SLEEP; + mp_read_radix(&a, primes[n], 10); + mp_zero(&b); + for (rr = 0; rr < (unsigned)mp_count_bits(&a); rr++) { + mp_mul_2(&b, &b); + b.dp[0] |= lbit(); + b.used += 1; + } + mp_sub_d(&a, 1, &c); + mp_mod(&b, &c, &b); + mp_set(&c, 3); + rr = 0; + tt = -1; + do { + gg = TIMFUNC(); + DO(mp_exptmod(&c, &b, &a, &d)); + gg = (TIMFUNC() - gg)>>1; + if (tt > gg) tt = gg; + } while (++rr < 10); + mp_sub_d(&a, 1, &e); + mp_sub(&e, &b, &b); + mp_exptmod(&c, &b, &a, &e); /* c^(p-1-b) mod a */ + mp_mulmod(&e, &d, &a, &d); /* c^b * c^(p-1-b) == c^p-1 == 1 */ + if (mp_cmp_d(&d, 1)) { + printf("Different (%d)!!!\n", mp_count_bits(&a)); + draw(&d); + exit(0); + } + printf("Exponentiating\t%4d-bit => %9llu/sec, %9llu cycles\n", mp_count_bits(&a), CLK_PER_SEC/tt, tt); + fprintf((n < 6) ? logc : (n < 13) ? logb : log, "%d %9llu\n", mp_count_bits(&a), tt); + } + } + fclose(log); + fclose(logb); + fclose(logc); + + log = fopen("logs/invmod.log", "w"); + for (cnt = 4; cnt <= 128; cnt += 4) { + SLEEP; + mp_rand(&a, cnt); + mp_rand(&b, cnt); + + do { + mp_add_d(&b, 1, &b); + mp_gcd(&a, &b, &c); + } while (mp_cmp_d(&c, 1) != MP_EQ); + + rr = 0; + tt = -1; + do { + gg = TIMFUNC(); + DO(mp_invmod(&b, &a, &c)); + gg = (TIMFUNC() - gg)>>1; + if (tt > gg) tt = gg; + } while (++rr < 1000); + mp_mulmod(&b, &c, &a, &d); + if (mp_cmp_d(&d, 1) != MP_EQ) { + printf("Failed to invert\n"); + return 0; + } + printf("Inverting mod\t%4d-bit => %9llu/sec, %9llu cycles\n", mp_count_bits(&a), CLK_PER_SEC/tt, tt); + fprintf(log, "%d %9llu\n", cnt*DIGIT_BIT, tt); + } + fclose(log); + + return 0; +} + diff --git a/etc/makefile b/etc/makefile index 98ddb1c..99154d8 100644 --- a/etc/makefile +++ b/etc/makefile @@ -46,4 +46,5 @@ mont: mont.o clean: - rm -f *.log *.o *.obj *.exe pprime tune mersenne drprime tune86 tune86l mont 2kprime pprime.dat + rm -f *.log *.o *.obj *.exe pprime tune mersenne drprime tune86 tune86l mont 2kprime pprime.dat \ + *.da *.dyn *.dpi *~ diff --git a/etc/makefile.icc b/etc/makefile.icc new file mode 100644 index 0000000..0a50728 --- /dev/null +++ b/etc/makefile.icc @@ -0,0 +1,67 @@ +CC = icc + +CFLAGS += -I../ + +# optimize for SPEED +# +# -mcpu= can be pentium, pentiumpro (covers PII through PIII) or pentium4 +# -ax? specifies make code specifically for ? but compatible with IA-32 +# -x? specifies compile solely for ? [not specifically IA-32 compatible] +# +# where ? is +# K - PIII +# W - first P4 [Williamette] +# N - P4 Northwood +# P - P4 Prescott +# B - Blend of P4 and PM [mobile] +# +# Default to just generic max opts +CFLAGS += -O3 -xN -ip + +# default lib name (requires install with root) +# LIBNAME=-ltommath + +# libname when you can't install the lib with install +LIBNAME=../libtommath.a + +#provable primes +pprime: pprime.o + $(CC) pprime.o $(LIBNAME) -o pprime + +# portable [well requires clock()] tuning app +tune: tune.o + $(CC) tune.o $(LIBNAME) -o tune + +# same app but using RDTSC for higher precision [requires 80586+], coff based gcc installs [e.g. ming, cygwin, djgpp] +tune86: tune.c + nasm -f coff timer.asm + $(CC) -DX86_TIMER $(CFLAGS) tune.c timer.o $(LIBNAME) -o tune86 + +# for cygwin +tune86c: tune.c + nasm -f gnuwin32 timer.asm + $(CC) -DX86_TIMER $(CFLAGS) tune.c timer.o $(LIBNAME) -o tune86 + +#make tune86 for linux or any ELF format +tune86l: tune.c + nasm -f elf -DUSE_ELF timer.asm + $(CC) -DX86_TIMER $(CFLAGS) tune.c timer.o $(LIBNAME) -o tune86l + +# spits out mersenne primes +mersenne: mersenne.o + $(CC) mersenne.o $(LIBNAME) -o mersenne + +# fines DR safe primes for the given config +drprime: drprime.o + $(CC) drprime.o $(LIBNAME) -o drprime + +# fines 2k safe primes for the given config +2kprime: 2kprime.o + $(CC) 2kprime.o $(LIBNAME) -o 2kprime + +mont: mont.o + $(CC) mont.o $(LIBNAME) -o mont + + +clean: + rm -f *.log *.o *.obj *.exe pprime tune mersenne drprime tune86 tune86l mont 2kprime pprime.dat *.il diff --git a/logs/add.log b/logs/add.log index e53b415..2ba7207 100644 --- a/logs/add.log +++ b/logs/add.log @@ -1,16 +1,16 @@ -224 20297071 -448 15151383 -672 13088682 -896 11111587 -1120 9240621 -1344 8221878 -1568 7227434 -1792 6718051 -2016 6042524 -2240 5685200 -2464 5240465 -2688 4818032 -2912 4412794 -3136 4155883 -3360 3927078 -3584 3722138 +224 1572 +448 1740 +672 1902 +896 2116 +1120 2324 +1344 2484 +1568 2548 +1792 2772 +2016 2958 +2240 3058 +2464 3276 +2688 3436 +2912 3542 +3136 3702 +3360 3926 +3584 4074 diff --git a/logs/addsub.png b/logs/addsub.png index e733f8d7622be239c70d1708c6ef8c79ec12576d..a5679ac563e6cf347bccc70fb4694ef684375ffc 100644 GIT binary patch literal 6254 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 Ke`+qa^M3$0ORS*) literal 7084 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�b6R|d)pk7cpqszx>)5@= zG*YVkSPnP*9F&wQRzNleIV%K1iQCTO@mKdf)sdp{{b{a{%^9VNi}=#b2fnEyw#_hw z=eXqOi!P|tK_x?DOf|WR#zL#D4%llVof-Nzbhw~dI4ngoopoNmoS&11$9tAn3#(qb zpsQ8=57>&lARATbWzK5ux>&}IB6A;G(PqeIo5iBMAjpPo5m4w0*@QXCc?GbxQg~)2 zHX>)pX44H-u?m*4t}(vn0`8{bTRm!n-o9e!W2TDisP$@JDMkBfIx*Kkq;Drhd*H0N zJmA(0g{OF)l}X|KViNg|iDjrbUG~nN+B##0`duh}8YmAZABbU@Q+Qf@)(Q&mkmkj> z+H*_c0-!+j@)s`Lh`?u3!v#VObc#jk<#fc7#+fsN-G~&-8gQj(ncpV#nrlwe3sZ1J$Vk$^ z*s=wMU-VRa{2Zu;(E3Jq*!w)C!&M1t25U#I;G7&5jA7nt3fAa*YoF~3ut&bTmL`TR z3#|opIFwqg!9<2yTEvktm*a4J!>6`qqh%7=C!Y2wnmHm!8a7Zz@}pG@r=@89omS(a z5P8v!x!@#gHFYF-@2~I5oYGvuX@rZpVN#E|0YrAXkyJMte$EMHW*7#DR=Nu1VaKNA z9`KyYtKLfoyUMztWKnzT(PjLYXhqtpq#d3!Pt+1UJt8HK_i3zLlB_>^G|AR;=4A5m zw7Yl7g0m)mjb#cM{u>OzeLBE#rPHKr!&r9TgBEi3>jw;4=V{+Pv8;l75&IIRxtjE| z!D@3LJ*71~GU z@AfUT(oDsz#Ep?rTXZmN$&D6s1t&CJ`x@6CO?SA)@~2RXe=!Ci^6H`C9){pl zPcz^kc>MqWe6R_FC;I;!2markuP$GUa7T>4#;yt*&G0^(+?*{rTYT)8x18R?=8lUN zpNCZ9=G^1M*hkruv%X>8i}W7;JwF_IxjLetUqKa*yHvta~&ddyjuA<>Ce{eSL0moGa6VF~9uQ^$ga8!l*{oLOwuU6T8 zk4ks#jK&vV>4v`=Cm1U$u6are%@At$xDCHK`(|E5vBa%gPcopGP?#H(W}A8?_R08N!^*^r z5m&~bdSdIMLKzk|yHs<+vLSNq*F=fI(N`Uxu$odc-9K#C$_syus!3c6x%-WNit6}y zaW3+oyLwMgx5>n%PD%|QegiG)`=YNm%82v&0$e<5;pv%Ab)`Pq->UNOKTAj?=~B~G zGfnQ5%LccFO*m=`ZC;0##`^f8D+jA?Y&t%6nu}c;2w&CTsH{UC8Q&#EJJCNJIXzjj z-_rZ~p{SwAkF&Y{n^cNjcYCc2OWL%Zo$lRkvA0v~8@VyJVVBjNp64N3jlw&7?J?}q zy}Ga89u@SZ)cyI>L557f3*X=ubX>wV6tfH_Op$7^wrh8 fCEx~3>K%{D{m1lN$?NnaB3LIo7u(#;=&%0+DMbmE diff --git a/logs/expt.log b/logs/expt.log index 2597b48..695c936 100644 --- a/logs/expt.log +++ b/logs/expt.log @@ -1,7 +1,7 @@ -513 745 -769 282 -1025 130 -2049 20 -2561 11 -3073 6 -4097 2 +513 19933908 +769 55707832 +1025 119872576 +2049 856114218 +2561 1602741360 +3073 2718192748 +4097 6264335828 diff --git a/logs/expt.png b/logs/expt.png index 59bafa2a8b2fc8e1298799eccc4b65defb299530..9ee8bb769feaa56ee7cffbbd5c7d39ebdb4799d3 100644 GIT binary patch literal 6605 zcmb_gc~lcgw+~4STVz!XxDXZtvPgrdfGj~}iAH3AQ5g^$!lodL;Es@%L1l=J7#)M6 z#8DX-cTf=#XaOT&+yEC41P6?wC`u4Sz!f_JH$5B3sPhuyGnphl z@I~U|9Y7!FlW;z&07!s0T%iDCuqp0$3$1DinAC>sk_t#8|~y=pL}C zUf0{KzcGK#`q<&zx#k-fq`yD>7`4!TH=~iy z?|aD|;j60TX>q$tSCMjG-zqnCNBIkbP6RDWRcsA*j+!D)`hzTItdwMLraRvF!)h)* zwSyM0g)+@+{iDm?Z-cP+`U#XfYqNJG22v&C6O^wg*~a0~TQ3bDmxh<2DYRDp2E}SV zPRg!$QPpB-eAW`V=VSNVv{x&KcNi*0--vJgwehbPiF+&!x3d@JSd_%j7Zu;;AvW!U)v-qd9ct%I-57Z@wtA%FUBm3CTPpPA zqR?M1Ki)HLX(|`PW>Sh@OpLo*sd5%4O^jrtY?Ml~c&uISmYw+Npv|x5Z=S}MyT)}f zZJM$LNiSwTZJ!s0hQ!~mqBKs+-_a7e&jfQED6g0*nmQXGHbZXSU76w>7_n({NNayv zl{|TS-Kq+!@{!m>i25P_apHZ}4LM1ZZcY|;cQ23|MUCcMD}HoGtMK!J&%%ZJ!!COEO;gtS$=eb7mB5 ztZwSB{DBBqi-9RoX$DUs%AMn7wQpm)tu^}Q&#H4+@7nb`CPd?unf=VqxA(}+$I%Xn zIIfz~5$$(3gPtC_ccobi!}7^VeJQm!%o>-p$A7kKpKQi)`jPZgi}6%9!@gcc{sQib zVQp{qrTIZA``&H3(7TaJn_21Mw8^!rbM^Jc+l~D_wa*Q)i?a|GBYHLxzjXPbJerHa z>W67fEl*%_#~Y>(^`z8>ZfZ6@)4N+16{JqTm`ay*4ec${=+h9&jl6+VGBhINtAO@b9Z|-CiDUku=l{{EWib9l_~gF{>n;252xRh&^pf^8 zn?ELzDY-E|8r!tZ=wQp=97;D4#^Z1I=p_N z_1h`9z{h)n|AkM8dMr2aDn5go(^Ui@D->|$<70~7Oo0V^y?-I~+bMuZ@=rwU+t?3Z zvjwXDONRe3CBE=a@4iXsgzpnu;E1Sw4G~rjnbI`nTj#Kf)@TT-zG7D)!kMi+7H6%2 zNGq;V5#nP*r8!I#ZT%rNZOPa$XbF|(UE=ZS%p%cB=cwF{*`eb0D?N+w4QN$Nxa*>W zIA1k#+jhqi4;>H5BsS=II5#i0Lv?bV$x`W8NS z$3N?}z~Ori9KYAsX8afbo+$qp%D44F7V`dCdluhw$lde*4dQE)s?dM>iPSlM!7>&*52VnXd1JAoU{naQdsrk}+GNp}+G?#djiCbGn2IflkkCsm- zD&(=T(t~lb-nETc=Aa5+GLiUK^5K{*MhO0t9;*pT=tP_GsAPJpjilEcxwkfWz!a5- z-+Xkn<}j!}ClR_~9P7Fs2Nlb$_u-@{a`Cn~>#KGaj-xrLa7zI#EqSQM<@sRSdD^>I zqP&bs+odl$enE?&B~k}vCmscdPjO-8I2u*9Bvj*^6@b(Y6DGQ?Dw7hOUtGGtNse3s z{T92@D0j;Q4$+h5MIKHces2d2UA$7HYpG6G;a-JFh#Yw`>E5md3WFjcb>Z%@dNr3yXa1Dxs+>gr|G5ed4owvf1de;dMD+<>Ew< zgXQEg-r}hm*)q&A1X$cbPD(bJon}ZBxA>}c!(vopk|!$8 z!E2mqV*rz!D@8C(%XWmcn>|#4n_E2S(tGRCI5$7$9rqA`kwYA4fmgQUq#0!S^-JKP z;67x1f@p=MC5V2%+8cH0bvUCf%CiJ^ErFGD%XdwLH0YN*)})BG*djO8OptqA^!GDU ztYK?tUv zqR#gBIZu{~%2#pQBY(zxI*VSsdvh3{l{^jCS(Nc92#5V%fh~Ik$;?BaSw0oCtHH2}(x_E4SM3vhFu`oo* z%A4Dv%qVUe4Ew3!%xU22Bv~E^IHbyicuD~5Wn17k*aU%PpG=fxwWXIeJb@uqGj$li zwDkUg<9hJv#udPZ$6Eq%TymT79vdh*c1o`YTMiplQ;yt7*zbhX(rlt*GKf9jYuTP4 z=yAw-EU9<~aaKR46c>YZkcFq=l?TePt_YT6ehNH+Wt|5)3Ez;Xz-2Jk!Az(xoQZ4& z)kKVwF5x}qUyw+jljRlA5J6E{#Oz0JfO~H8I4l6}yj(t|2(sKLfhUB^nRJ$=!`L696D-XAK}}&}9?RG&4X~ zD`AeHD3!1ozQlMc9ADs&u|fozCswYk>xWRKLj<3Mw&(zy;qI?Wfi3oDm6e7q2uyc6 zj30(Kn-*F4HPq#r&|~=DsoQrBru*P{!4jQsu+#-Y|KKQ^hZv2Fd>R@}O}v3$tJsoW zg@2&P8}|qC-cFhkd0ZtUM-#X@sL8F>Wn^F)l%!kry=lK@{jlY1zxTc>_R}l5J~%H~ z--}g875)w&96XB7uf62q$9Nf^WiPnp=MHlBr#iQ9XCY5d78EKzigyJ$`h>C;K-v}( z#SUqE2#*z6AEpnsBQ{Jo>jNxyVchdg8AI@-T8Qb7hcUxw3*p0#DB04CV0s}DFEnx% zud$Yv0J|qFq+%ck4ETpaW3V3ksH_d46~GJY$I#TBFnEp*q?;2ciibZxirj$|5YDfH zymRZna!rRg&O>&E7D%U|1F3(C$TUO$i&?1f5I40D)bMdrOQ{<$1rLZ%YVx~tRH>}c z&?&FszB5)-_DG$Yi7hxd)OfqbZ`ZDbt4nDUCHB=Wq9+KzxN| zKpJexUQqfG-ZcYA=V5hzK-z~QEI@2B-%lUsLSrong)akjE5Q6Tim(vEwu9U^vH?~n zI`@#SFa&}Fi?5%p$pA0jyu(y-W7Ql^n3m`>S=fC|DHC(02+tro>3A|j6ufiGbQ;!e zi$bwJ8aBLf`pv~!vB8qh?|&%?vp2^0Qkk*4hcM}_N!aRw6_&|U5*cs!}&00=7F zsv0`{mF^uJ@yc{Zoz$g!hr9(fOvGgzYdD($r_{KZkte{PN)`@zOo3P|kmfvH6I*C; zhFy&}ohyd`vWczlmMr_$TRKN49d8rP zkm0VJuxQhn+B#aq>)LHDQkhxj25hlJ_ouCnUY`{Zo7bNfW>3RPUz~W3Pgo?d1;e#P z^RqPl7t{B*8&3=@J@N&+uPpi;KzxLne^0A(lMT7i1J#)>d!xk@xT9B9V7YpOD!-J; zxljPaK&S0$KFHYZj{c;{yWL})ny zJosxMTqn@hr%EEbeR&H32{|XyiRq;5wtd8M@?Nm)3D=&@-%Sh~yd*=9R0Qra<6;w7}R~PV-?wJ#w zqpc4Tw!v7~o4#$YezrCPv#p(SSGwoUV;fZgzKh$ED7n50NJJV7%k1(ZJfncU09Ih6 zU>4A~NSZlo!xCbUy;68r2wLa)ff=Hlk|T);o+wp<@N(VJE71{eJEdh!45(`G*lyc_ zGNrA4CQ#oxS$3*x?OuR@@g(0_cQ*uBz%2wW^)dGdQdlv#H5ohh=ffubBdIYa2qR$;HELVXhtYG#mJ0EEU3~eE?<-%F z9pgEX7kE7=yvUwt=%dG&P%v;kYMzV7f~EwtmEWPU%k5*z{^MD#l;LT9OZ|Q?7-WCU zi?^98&YRcqI_W_xCDBP&?*GpJU{q*In!4aFdq3-l`3nC$GL}ebRk{(6Ut$&3V)}2g z$@j{y>_m5TTsL9X+1oc8E2+?ZIidaIh(C$>5rby$MqTpvj~+YuWar`3{?l{+dateC zrkOe}v6)ieI;Mg4 zYY$(e)VEWr<*PqrRH(AFA`=67R-ej}CfD)t3JivT3L`Cm!#*P9K1g9viI}1SY`UD>6O%J%E_JW{GzOZK2RGj5Avb#Yr>1nhnRg*Gj{Qve z=5N#VZ;de5KAJ23I5pwG&cZCWMXf{Q|NeKKMC!=RFvH?qZBo{S)i=y`IW@%~UZULI zWk`!0`7^CkUOAEWDTgzVCQK8huSWF_YB8eSkkEA&J)iQbQu}90j6a?X8-^I literal 7439 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 YHd{KM{eJE4F)VScx7k^gZ-tNjAMn|BO#lD@ diff --git a/logs/expt_2k.log b/logs/expt_2k.log index f4c282c..d7c47f3 100644 --- a/logs/expt_2k.log +++ b/logs/expt_2k.log @@ -1,6 +1,6 @@ -521 783 -607 585 -1279 138 -2203 39 -3217 15 -4253 6 +521 18847776 +607 24665920 +1279 110036220 +2203 414562036 +3217 1108350966 +4253 2286079370 diff --git a/logs/expt_dr.log b/logs/expt_dr.log index c552e12..b017e7c 100644 --- a/logs/expt_dr.log +++ b/logs/expt_dr.log @@ -1,7 +1,7 @@ -532 1296 -784 551 -1036 283 -1540 109 -2072 52 -3080 18 -4116 7 +532 9656134 +784 23022274 +1036 45227854 +1540 129652848 +2072 280625626 +3080 845619480 +4116 1866206400 diff --git a/logs/graphs.dem b/logs/graphs.dem index d5c9b8a..dfaf613 100644 --- a/logs/graphs.dem +++ b/logs/graphs.dem @@ -1,17 +1,17 @@ -set terminal png -set size 1.75 -set ylabel "Operations per Second" -set xlabel "Operand size (bits)" - -set output "addsub.png" -plot 'add.log' smooth bezier title "Addition", 'sub.log' smooth bezier title "Subtraction" - -set output "mult.png" -plot 'sqr.log' smooth bezier title "Squaring (without Karatsuba)", 'sqr_kara.log' smooth bezier title "Squaring (Karatsuba)", 'mult.log' smooth bezier title "Multiplication (without Karatsuba)", 'mult_kara.log' smooth bezier title "Multiplication (Karatsuba)" - -set output "expt.png" -plot 'expt.log' smooth bezier title "Exptmod (Montgomery)", 'expt_dr.log' smooth bezier title "Exptmod (Dimminished Radix)", 'expt_2k.log' smooth bezier title "Exptmod (2k Reduction)" - -set output "invmod.png" -plot 'invmod.log' smooth bezier title "Modular Inverse" - +set terminal png +set size 1.75 +set ylabel "Cycles per Operation" +set xlabel "Operand size (bits)" + +set output "addsub.png" +plot 'add.log' smooth bezier title "Addition", 'sub.log' smooth bezier title "Subtraction" + +set output "mult.png" +plot 'sqr.log' smooth bezier title "Squaring (without Karatsuba)", 'sqr_kara.log' smooth bezier title "Squaring (Karatsuba)", 'mult.log' smooth bezier title "Multiplication (without Karatsuba)", 'mult_kara.log' smooth bezier title "Multiplication (Karatsuba)" + +set output "expt.png" +plot 'expt.log' smooth bezier title "Exptmod (Montgomery)", 'expt_dr.log' smooth bezier title "Exptmod (Dimminished Radix)", 'expt_2k.log' smooth bezier title "Exptmod (2k Reduction)" + +set output "invmod.png" +plot 'invmod.log' smooth bezier title "Modular Inverse" + diff --git a/logs/invmod.log b/logs/invmod.log index c9294ef..e69de29 100644 --- a/logs/invmod.log +++ b/logs/invmod.log @@ -1,32 +0,0 @@ -112 17364 -224 8643 -336 8867 -448 6228 -560 4737 -672 2259 -784 2899 -896 1497 -1008 1238 -1120 1010 -1232 870 -1344 1265 -1456 1102 -1568 981 -1680 539 -1792 484 -1904 722 -2016 392 -2128 604 -2240 551 -2352 511 -2464 469 -2576 263 -2688 247 -2800 227 -2912 354 -3024 336 -3136 312 -3248 296 -3360 166 -3472 155 -3584 248 diff --git a/logs/invmod.png b/logs/invmod.png index baa287fe2085f953be78c2839236895241048624..0a8a4ad77170380b229a454283696e6cd4910fd0 100644 GIT binary patch literal 4918 zcma)93p`YL-#>FP3{!5!5bcDf3vtN3FqI|>t(41R9AOf*=wc(6bEsUJvQ}kKnbuSC ztc|Fx5JyT#rBBqYHh2qkccfL^`AdEf?dI5>fG zAe1LT36uvBC;{OJgyRr`;s^?%5RX7%1Vs^u2QCzt0M9BYf}ns)nj;_t>MF%~IEqMc z1nA)szyO*E2S_0taPfE?9uVgsq#C$*9FzkH2uae?fpa(z3VcB*-U0M+6v9!20FeN1 zI6;7Cz?FcAa1ba+fq=lE1ji)=f{-sLL`WdCqeB9I1P26!L%4*)k#GnU80K(DZ#)!5 zNUJC?jsq1QApt*xkVF!|s>~um;A^>6TOmlb!P#-i+8qyGwm*!1gP`?i{ z;F;5$yLg8-c9WWQ@F-W}iWm<%hY0L%bRy~_*3Y2AwfPG&*PnN+a5e9$8)bSPxY0Ly zqo#etArI-{=K7nPMKk)?CW?A;>DoD&E0H7~pUJ==OT{tO& z4revAg9`@A=B9T#gbzN5!?3yov-#n9w*p7gKg7PT=*+(R;@*M;3tt2k(itjj9s+%f z*uSnJ7T@Q<0B{A?IB6~*{P}?A){$-f-=_$C|7DUUCmCD|YeW9&_z6BPrDokzZpxyH5ww7QLa%I3R>|J{Xvx8ERges?-vlc4lM9i-Dyj*l9VMw;n~F#p0FYn`-2P)EO=?l*ke- zU`t-AIftMcSYzrn-3(~eYB*2osv8}1>>&=BD~YlPsJ~OYehibe)Afycm9y8p?9ltg zU+}~XHuj*oW;=xxXojk>Q6ZL-BN%wASe0vI)Wl^CvBf#pT4R255xULHTokpISZNF%3)MRWj zbl#B~sv$m{yTwe;?B8bk^SR1UA9Z1TPQ_ipEQ-Gyyt8q)EBlEt>=Rf^GiSO8{_vf~ z@J>i7df2`kQj!<0*mQ{(fi*rPAfp-L_c2}!UznH7Jh3zYnGaW1xZ+&aHp^NzSga$+?JpJ;$5Hn2}+<^5YgTum%;I_E*#%oV5GU3_W<9KN-# z_SRoA2XpR|r#1d09dMvz@w`H9-e#OgRW5)TMLvMoHa@kQ7kly-2 zugv01Nd^uX%@hwMNJ0Bq`yun+jxJpUgol{*%MHf+$`iZ){Nnz*PLch1@b1bYELvR@ zeutNg4_`RV>tYJe~q2j?qVXOD&;1MO<_^qvn4X6;E?wW~O@LnM@@ z2F6V<8i+Rtdj|DKC*4w#xFZ68<%$=zE;FIO<+wz(`41MxqD0$O>c3?-Ux~SbBIE3i++F-XP7ZqS=d>t*G zSa&CSMJ6KY#o1&NkusARS(6#$qCKwh-!nwxN5K|nMCN?L2M-a!xF=Xh$RmOk)_Ag^ zxG}jlbKf)Xujks{o%>E zSX;MCtVt8@9JThC@R- zY<(7aY~hn9EpP+?IgYE6Q$C2?&`6DO2`~}Jhr3Roja6iN_|vatNX$*i-H~LFB_Pdz z@(mc|c}=9sfNMV)w+;YNjt3|6J|5hc;mcweH!~5X%sy#`&JToE8IXyBXbY!;k!WqP zC|#7Ao~mpq~Q{|a%4L)kh_2MY4dP@7bnW} z5?&T&Y?c_Hcc+!ou@_(4wwt0Y*YhB!IW^WAiqjQ83)vmK3j+)3c--y)-|;->eok+i z>;&;oHl)mW4ZbC#NTU|W+Jnr`T?Rgx)?9!uV97vIVeckcBms$%6C_zp_jt zjW6KzEQdD@O*?EC^BYuXbJlFl9J$7gm}0o5aC7=BhDLzi@k8wOl68pjBBO&^?xyza z_0t&DiZ08&XKAgM+@UAWV$kbVXw;xo3Re4xnqCH9kKmo8hr?1c0cvR!j3fpCn)N&c z5C#~zZ)~cajJFt>*0bph!`U*aPMc3-fFm*Gz}f)adJY`QQg8{_r>aHYBP8#PObTWb z9c<3Pj`_&$Q9+L2`RRJ+U={WQK7WG>J9jyG_k1R5;J|16&5KynW#xhObAi8v1Gh*! z1)>`qxcE=4%q2)^=u+^fVzs|AW&dMc%d>8CVDsl9aGyJcy3FgiOyzh~BNIEeaRY0i z0xO)ga3wHSM&3)qHZI+w!v5hPmu02EI^?dv@;51%CXXGvZ`QO4uxmHz+fZrOg)7)|#H9NZVH9NR3r;xe-^@sMktesKh#tlO?(-lU+_vfA-Qi>$(+A>Y{YRL zzvWB2r2Tz7`y<2AV~MNsg?YZ;g-4E^t=T8)%_;B_rZ8t4|7@bK(C&~|8$tT{Bm$BPW2 zTDz_1wG@1bca*J*d0#HiwKGvI9ro4B|rIEqOH}=Q7!iw_G9V!HTQk( z#_|Uv-VP7GZ(Z#$mbiKBK*S>ByHni+g)vi4C0+{a8jSe3p`(}>D=BXp>grps%xy0# zZQok@CM*A4yK6>bf#k96PB^dq{SKSg!==KSg<<7=fzJm6EGcd~#~Ri1pNvL~O&#;K z6&Cs)X|0zg4@Qh`khmp`oquJz`l!?}2K(m6v-NLjz5#;2rwk4r-C#lFyqcrVwvFId zdWmaRuiQK&NCho+-5}uO>=H(P8s5^bvo-Nv&q#ostG$+bpWPT-+&#Q->+staJ{#*~ z)%QIZ-Fm({{NYDpXKviH-28A`Zj$Ny=I6>mZ7+^IQf2?48^X9QetE0^qjq0cQ-rki z_0wyrY&X*eQC_AA_h{Ok@9jLh+p{Z02JqqFZAI>ef5*p8d7oMLU4eVe@PpUc`tUZ} z(|*#&rTm%-BJuSjuk9Z?eG9Bg<8%V~`93+xR$k_~0;|wR{Yu@^-m%|eKjv7B44Thr?lUU^)w@*x=!?_$>GXlY}*G1dE07K^Mj++JK+nV+0>3 z!4l9$kR*(ODg=uNFce%MF+d6lLP+8`^}@$UA;xcO6T**Vfk6aD2w5y4i{yh~7K_rx z;q!4yDj$Rsz``Mg@WV-AFbPsWNhC>Pt^V~;44XFMxZ;PkktceZ6GAe!GUHb-DkAr^ zT=Ltk`_M;HYEfXGlrrGh(9f`c9Y({xJY8mtH`OKg9!?@m(vFVBBpYMDTWnc@^Ap8( zr(4f6+zxg}6TBSxs;1&+ll<4+d2HJH%fPG?wu4I94a>IP9BEI>SjcYA*cr1`^18pP zkF_oAuRy}TYDw!@>YKEi`#BagdS;O=-*B9-jF3p-iQAJr#>0W0i`DZ1R$urD$yxMoK`OLG5$>lb^7oX+C7VmwQXA$1u-=5>OyETxBC74_3z8?8Y z=ZQ(ORnnVoJC~JOk?;F5D!gWvh&!c%w`OGoH|L zbmE7|-u98O{vDZ3n;zzP#Z=5w!`3?Ed?u3GBrTJu%w($vw@kNQrrBY7b zyhvdt!O8oE&0j@W6i*m3!koSv^ohymWs^%eS^rBIOcq$uz*W63u70I#;$@y32>b2Z z!UP*Be(mq_3j!&+*0<@Rlaw>7zUz$WPoRIGth|lX;;;EK%KCO{%`BKK%Lwxiz;hKw zMs61^ayvLemzJ?CV6)5gwD%KO-vz4`mcy@xOWxexeM3waf#H@Wo13)6&+9rbSDUD$ z-;1sz9T0kOK_S^rw=KsdS4R$(uG6ul>G`AZv~0*Xk2-n}aD6K;*G*c<6E6II-tMO8 zM&G7${m^P=N78pv-3v0)Qs*0)`G^v!^-q!YGnsKH=o{6;jia>0eM3t<6Ifio#d3^d zf!O`Of~;2q7UO@i6f9+z1xv=RX?R~y7qV;68B}!o)$r!9zk>J#XY!07@=dZVqrdX5 z-RU~Lxn=iWjP}4fR7%UJUkPq18S8&ty)>o%_H0J}EytF7TM`_Ig59X7_YSZG!YT|r zf7GfIoW7AKq#v`Xam9s`zjFPN3`Aq^SExY>74;PgUe;=W>5t|9yS>y?s5@Vw)@lOk z@>eME)*}KIx?$0G_*8^1>F0hIbzC`cLZAOv%3+J6U=J5Hf~2UOM-^104pTppnx zLFd43v6g<$rA#AEB$?x8ys7@)y5{o)rJVixC-z&!mdkMGuxo@XshTKspb9T7 zyV_SQZt2+cf}b=^rm^6I$)KKIiPouum2{CZb8B^J4|zfvN!g@doNQWLtH&<0n41Ti zX7}uK5!&pU-yNGIz9uVg#)#WHUR-Qhx#UM&Xsw#7lVV#N)Muv~hlU{91^p(2um3If z7R_L8b(>QyvXNt$ojbI}gLG$Zy?>=A_NtZ0crk8?(BoekB-QIPjUvql!4>OPTBwg5 z&Yz?%5B+J|&DlEZ-tY6Ug)|!&)a|>g$wY|0t;6IJ!P&Nvnz8vy2NQ^>rZnSoQ%e8P zQr{qD3Q_f|-Q%%pa@C*gn!^D*H8V8W2MLZdFnNx()MqFN>~W!93RR1GJ3g6u_r8{TDj0;3ZoEj^y}*2 z$4!$t|KzRqVS+O*^0rrD;!+UPM(Y)8nCE=1Q5t|sX&7~BlKk6>LT7$1f&nl2wb6&y z<3dQ(@ooeYZKJw*1gH7t zcCyU<9VPg#%M@-9;UrIAylrTQ^8;y_z{ejbd~wb%JG)ByQjA548|-kQf49%W-Z!&K zs@JP~ay9c)OF6e8-PKz1^w`AYZrVVESy)W%VBL!#h3a$hFVhQqre^sZ9p2#`-n4%; z^W4*;J!G9lOKpM!jXvG$%J>vU|E*u|)oYb_ex#P>zWz@l#i<*ddBTk;w(Ht-+3wUy zL_KC_*OWN45z4&oV?lPTETcZ~Zb5eU-iLj@H2S6EA&G1I4#s57WvmT+eMEB!Gyf#P zIRnev*)|WtnIpRKvws*7El=Ow)kZ1F(eJtS^W+N#Z1=MPZ}7wP%R;vM8ArG9X-r%W zwCVeZd}59kIzvM`Pql=ZRC#xO*dg{6b6PSX+uctsY$6-!x(Lk?&k#6n%VFkEM@W89 z1@cXPFeDMI{=>)h{XE9nb4Tvg8vuzi+>Mequ?=ccsc-(d%hq`SVcrD6n<5xb5Y|&1 zu#0iGK+8KfvDbZ=0a^}x-bJ_(6d?i9V4UJppWx#GU!eBq-OrlJI29m-QM-@j1YZ`# zx9@XX4O0h#IuPo%QHHQS^EFd^RuGL*1*nx>6Ownq3@6o32UWpIIM=xgK!*2Zn0nz@ z6WL!9anMEP0_0tNaSv&rOU5P}o2%u+60Gi~hep?>1Mv*oy|$5HJfS`ZD%Qy>GY$R5 zFO!#zFTK5G$T(U*Yyq9-PipDJCWDSV;pv-NTO(AMhS_4M(xcRlK!WLpD?gX3q7s8Z*<)}hD_l-)`|Hl)Z>QN z-wDoY%w@~dmw~74?!fVMVh7SN0_-(vbHOR>5paIhl;lz(mD2GO=okVEtKLD1%!U>MX= zgAf>$QiCuUT%-o!FrXr4K^?~rQ-f$2?2{IKP~fL(+JG7h+8j1~7|7EX{of#T4bwqc zaD?C-AjaI8iAn-6N|`p`%wzG!hin-LPZd?1*qsOJAW=JGN53Tke#oGqE55(wNaGr zC-^5jUlT=%*!gNGO8*o5gAKJ8rTqz>VdpC&HNYq!HNXG_nQ}-C@RN|5-X{q1rBIX| z54Q%0Q*adzUyP!hdH4bp<;KH7qZf z6a+68p%Et@J{OI+@^EdG4!mk89p)$l#3=}JP$`pN-PN!Wk&to`)*}#3=}N%Aj;d9&Fy}V66#Ccj4jlP&(MGgFHc_I`RaKD##Ob z$s zhqllPG~v>$ThZ^o^ShWO^?&Nn)43C*fP~h?K$_=2aEJ z{e~oTaIlHA_;Rw{?9P1Z-=y_GY((WyehBBt+j1iBkwMhLEKMD2cjnR^yA<1X*_#17 zN-)wk>!xKx-;We}r)Dx0-SETH;`gfx43{m^$RK{5%UGq)4hY}0l#MDqn2OGLIBpPs zN=4vp$f(d|i}O{>wB@RNbmQqNf^i2%!W{OV!%W4M_>kTrjRVA6mrYBRP(xOEFq7u7 zuRK_Z=5fb1<+-f1h?(?9EY0IzGcBl#(0~iXb0-2>7{#-|^ zlRfl@J+1Cvv0KjUl;P^LdmgGC*Jj^WQR^~byA&ANHA{>3>eyY97EOI{&s`679(dqB z6LlW?+g%QI9?MjN=ABum=AF2``POD2L( znQrIek=iEP?Qy2xmiPs-jI5>BW%Fodx=v*(v@$Ew=jcuQwOo9Ib3mjs{xrF^pNl^| zdCE{C%UI@q{FDlF=+(4$w`3W9j;>Fn;~NcKR!PSPHWUS95j9Gc0Vza{S!H$xQKNPy zJBg?&v)W(c{!ubD&3D@95_a+Ko@KEg{NFC#b5>k35cB+Azsj|Q*i+6Y z_eaTdQ79*^TJH@xe!i*%rQH%&Yu!*2SG5c%WpnWZlIk2?_U-mo$u6ykm`dX4Nit$q zczVh3;PW@P;*1}rcxyfDGZ*-VOFp*I@7sFotPisJa><8bvzSq=j};a1wpJE?+g*N} zpOAY$di3uq;-{?NqOP>pjmpzCGlr#~rdvcZsyejb!{x7T)t&B&3* z{nwX;HTXq&4uoA1m2ygM-pKv?+D!3PNv}k_M-#dOR^C<*?iYTa?Oiz$MwC>Z`lBC#-0xLcXlqGFc{o(<-=Ak@n$QrLbQBqssBnZx!jmnGEn1W~W1pT#(K52kNk+0|sm4;Mj8vY8 zctV^Is;LyB#a7m2sXVeSf~+&v!ZZIrn$soE)qr zC6-GN2n0!+Z5G=J1TsP(khY1DKu_&ymIL@9g>1EP6%!MC)92VrApD`>#Bj9~i9}!| zH#Zmm!3YG72qTCvkr`%2FcWd;bc_Rf5e|U^hRg^YaD@;sFoi(p&|!pQ1`aR;1`q-V zk>(%>2TaBVi3kY64C5fV7y<-fxuBN=rqIC@gdh^p!C_`bHv`k@2o3{>8TbMwxh=gI zPz(fOy#R~>og74DMi2p2m`DW9IUFn(u)r|D6xRegb47qTmMcQQC_$7<;Pm$9f{%y} zs9*#vmrl>61A7P@Ivuye473~$f(zzw2)O`@a4?J@;+TnY!3PoL28%E{kOI3r z0i~2cAee?)?hbW1=ofm7dDxfWA9N)6z`;=ZQQyNMtb;*xT`dE8Ff-IU;DGN@-ve}A zI_R@^(cHxf@;P`cgs!`R?!^kF*9xEV2n2b18;d_(k7ti{#UFkB&vMT50R0J(V4wKL zlKULVIp2LVmss1i9t1ngC$94TJiP$u{(ZEm7inEBJCxkB&gFHrOmE%}y%!xuh9iTv z=pRyd6C3sR%vNdcTX$6((^=tib)-X2!?sp*b0UNDJY0dtR?{=>9Iy+6j~P8{$x@no zkbG}e&GWn7H@76`7az*m#==?tZTT>vdF|H{gPwQsIZbO@JM@%vDy!l#*W0ssp5HsO zl!hK83vEZ=d~eZ?{P-kU_^yeaKOGo3yv%fFu!;RiYIl7AnPMfJ7&H(CMb-ZEIF?MI z2q!X=6EpkQKDI!R^`b#fQBci%i((+C!y;M}VB*#EFQo!>mfJ{Kp;Xm%0L#V$hBE z?sODPeSI+?)7oRch)P}8Bj&gAh5&W*_>Q=kk}0p#HQ`pCZze6jC+g)F#trdSWeHNz zEE3xzA^488=C|vy-Y-^Efm^OR64TD#SU;M7{%6K%(I|VS2301G@NQS9kB_UsaG6~9 zLg8w-g>OZ?0=KCA@(%wTrcTw{_RD=NHCTc)26!?yqs~x3(y!pRIw3%oD*V%-Wi%)T zZ3G_Y7Xo0JB>)C4uwv$F{PI4-8wbV#;GRVZb!O%ucUs*6{I&9L_%ZOPI6PShgn0bs@C}Eb2XG@X058Hh zm;(-LR|5`Oz;#Y*fRO&q(TbI-`JuC!FG{NhF2hb&s3#)!m|A7lUd_@Jqb8{RcNhib zg|Ptr?_o^N*(u8xkSQNh17jUKtoOR_u}}LkE(bW6xLL!ab|Zt&7f`Iyd{YcGYl{9} z58>uceKO%G5lQVMYk-;Uc#N!Zo{4~Gm;~VIi}Tz8cz#d;JZo^COMi#B6qwm&0nEII zM@j{lIidxGOa~~#J+b4Ouv4NOo)PM}Z)AY3jks?T0Z7jVfD*|7WLZQW+znQO>n;93 z#q|~jLS^P|xrqCoGDdEcrewDMh5M+*2_Mkc#1-k_L0JnF1+vzG)*k2lGd*nnLN~cW zC>nA^5oin1Uj~^&0oFah9K#(aP@Pk#pB`@V&M7=lvUebS*y4X>#&Stu^CH~l{Xp;X zmIFu<%?jyN_>~UcfO9WRav>nLzvD1YYz=S@9 zn7MS?s%y?Qn0wRu)(biDBQr@%;F+y#{Dc93{&*(+$EgE*H&)9065((nTPyTY>9e}Ms zh_>L2H|$&B7X?CO3+Vy2tEZL%=Uoq#g8+?(#ennaj=i`e@a!1Jvm^Nj(fi`E>pHl5 zP9DJ>zGn);XE$_$*<$U!p#KAY-K6O5EIPr##za0J`2KEtO0R>B8s{H0enMr!W0`?%?;m~k#VdG|TdTa2_o5?_)IH{#2c z4pDd(!wM+)+M}V0C-+%p+;}c#tO`%2=-}rKxp@4UZ9pcC4&PFzRtI*1^M(}$u$qmu z1LENV9dE^Oe{cNhSxH6cF)Y2V-XrHlW3*tGR?uJgI(2Y1{Fb9Za_aeA-Ca)dG3d5g zVu)fX!!uHg|7P<}YbM>PT;s*my8KWLyG(7(iHc2GMi+b`u@qLU=LO%D_uaYLH{7-# z37qv6BOUs@z;F6={JM3E0qg8=>y(#Q@)Fmr!|xAXNzcL%raa}O7zouV8J>0ws!kM| zGwBVb_e=&NhHM|8B~+5K2gqV?x&8QJd1~my{Md*Enq`z#XBJ7+1;exVGF5zy+1JK_ zmHk8NFV5AO1rdc!8>l`rVQ2K3mkSohpw%AQpXFY=N-|RE+Nj%hsQJUdim@|+*CixK zo9;pP6YfxizVejYhiN0+Ix`buh#ix@Vxs>Z-gijrg<=fqP9D5eXQoChy}yCl&y@6w zR;Kp%slSkmLD!T0((25lOwx`4Mie=A1;`vayjYzY?trXxhQ9LZ+ZJn3!yh?cjXerh z@!mgBwm_Oj9Ug+o7+581#g?v7mzVF`5-E+V#Jgt>+;SAwe#*L@S%+nj{T9ZcU&I6}LG;))l(bT9 zOxUFwn{un zhNnuSNU>*23*!T?i-S4UKOQEtU|{X8WGjri`Pl{7GCgo$x_*J1)dZnl@^9*)`R;$2K6`T8Lg1j z^Q`!%@G%Ivaf<&f$BJ4<&o7G%Bfu@uTeAMde7=T|=R5Z~M5n9khPebO89WUyc%Nt0 z>0N9n%iJ>H{;V)=aqdaUyGOsWOMJtMS%x7GpLD1&70U;JT9g`JZLqj(Iau3TR;R7% zJg*5G_%9XIXN)JS%mb_YeVW$ODCJ@d;OP|}m*V?f(Fhu4e70HO4t~TK8zo2;WHs>W zv_jkT?>~_l7if0~O=C?Ax)gnA%S1+|V%RMu&BZ zZQ%745~NZ^rMZ26E{e_&&+tro4&WMxk)5D_CQA!dd8_Vgn;LCARfjD`;TPbp+O%xMTh0s0tZ%zd zU0n{lEtzjqB{zulXkvYHO`;b4%WytiU71q(EWs3MA6| z%*UZrjCL7LXm-B3oyPq`oS`F8e;mLL)3|-rd!lWmT!yZ|308>hc8H=1TWV0f*>^im zT-mo%qTWftaxH@i#bN0{YkxcQ!{Myu+&Wka$gTL+l%Y;7lI7{DQ=?%^qnJ9FyG#`- zkRZPjxhSpXayOj`m5YWbbhyA7n)~wkzz46a<;is|TZU9FZetE##IkLe!`WE2EpzzI zsAJi>JB2zL)O{he5g!TjXXL>H66Q^e6o&$M>hUwaNlsmhCR&L7kWJf~L-7H^_PbnN zLgSi@8D<%EY)HV2`}+4+_N#AS%}5(g!CcLm!_QjpnT!tEiwoBAZ9<1$dE|I>tG?lX z?K`f2PllJd`*fZz(Pddo-ny5_T5o0UCBrkWD_U0>sle0DP^B`wbc6lnWt(Q^ijHKm zKlvTX!afcj*T2|Y+)@ z?3T#g_&1GrWqm`7(L{7%MqP^`T9}#d@mdW&=K}3fgYT5K+0~QzVSJl1J7jq-TxN^x zK{73_kon?CyIR#yR&)%Mxe6|V?JxgHY^AoYdaVkNb(-3zLTi;_O`X$uI>grWd5|0X z>2TnyE%qBu=TV5Q%VYACiLDATd5Xl=l?N-Y$P-&tnr^U8VR{es;x>vgvKVOrC$TbH zW&j7%`)h*UxRp92!{f>~IBiB*8GlmG$@0pjK!-4lx4! zipczhd>dC=WG)wWwLy&fGnJ*HmWYwJw7ET* zZvaLtkh#*$Iwg)IGT(8tEa=xmN75Rc7N8^N@}aeKxa)9|{*Wv$a#K@gt2pBsjhiOU z=wPH7UcjcF=*78+GbU(US#idf?9CXP>_>R2*t?#nOFsBQe1=($~Q6 zi(lIvBI+)Qy{W-KxPXisQ5OOiHV79e-9*$~DO`0%h9{G;#`!ds@bKHX`c}khwGMb> zzrRg0H$>%m?H-rK1uZvcme?T_e+}+7qONhAauSBzxd0QR+daUp(lq=mNtw*`r07_D z1&?df^1mwa zGPhtA*HMhBy^T5{3wfkM-K*h`be(Ezq|?&tcq~?&))1VH6=yXBr(?mKhTsG&_;f?? zDJ=M`Y|$%6#PE^-rs6CtIJ==Z4V#pTV=hDcwtSPlqC=8}y6+h1aDSex(W$1x;ak0q z+ag~R8YWL+lNxb-%4lE6H(A*^y=%$X+4_o*^iCDnM@8qYEOa{s3KFNvk2xeXQnw<_ z`$b*}jR|H*^Ak5)cX8@0+n*|nDxYkav_npp9MiG#s#Jqdr9fn^S$FSdBUJh2)5dL# z95Od}iLMr!$GI2xoYyTzwcMQ`pN2V|Zb;aMs9Sk8s=~B>M)Pwpz!rAxCUfh;bL+Q} zxu5m?AY#2nwgpT<`_?#HrAeXf9bT`rCzQ zuBcEko{Bk1HWhtSh1)E=j6nO~(CFV{)H{b5g{nmJ2rz+*Ipxnc73uT+i01jTLL%!N)QuENitV%ERgY4wr>-f=Ulbi8w$A%o~(`0SJU|uY=Z?+di*f3q?Lu8)r-oA8hA^) z$zpVY{RV6QBV)gen(yw_+Kc=B9#(keOiZ)%J!~}gJxU$4i#o=*5q~zm-d6unS^YDc z45b6hpWb{VoSyb2o3DyJ_aQwn%_-=})P1W4X%7JLHA z^!es*ry`U?nZZdO)=Quk9w_8^b}P$TBE1)mHCsqSJa#POD3N3*<>9{?4z}~TEdzDF zd%v+%8tU|GHz1*C?9I7ITclTG(S{sp=(vp!$p7NUs8D6cpe=&jB0a8A2~mcFvGK;! z0&Nuao>{qP?l565(yQ1bg-n1Kd$p$X9j8!1>pYaq!zCr=QewB$2iXIe{eWDA`#lLwSl|L5rt3aF;^=V|# z`Nii)RV$wAP7TIJe)2w86Tj@=BM^Ey&%kslUg?BztoEy&8{bnS-_GqtIE!tHtk3!4 zo02>_!1{W4vmMcJRZ&e*2STQNZ8i>dOXd#tF}TW0epbnM7_uII@sqEdEaf?7Z2Qt< z8#rGk`eUQ#k&!2h=RP<_eu|2k9 z*%&GI`PK8gkUqt7^<%C)_ok#B%1S{TuyCrVxxW|#% zCyT#*cozO?WHhqsc~;I-B}2=~pqi;t9x?4HTY~i|OSar(e#~U_fv3nQM;Ik~bu046 z6Y;&ZNxN)ozE-s=EvmF*J=8qt`#k|m@18R@F&%kO(0Et&T_omz}Ge} zxUC(zTz9EKa{JDnGePs!1;HO)ihi6-uAHqJlY8_1?p{yh=+rFJ(FU|M$;z%_AUPXZvy!9XJKqNdiPLAK~&f@<#X9w`FlrF;^w1L z5AUyZe|A3XJ0w9;th#ig-1tiW^Za%jf$*W3Fy=wwpYcr|^Pi@-w7zpNOCH3owilML zHs#G$1*RmwiF@{${ASv|W8q$hl#MIJhMzvM`O<0~Au#aJ?#ekErAu^^bd*cJ_ci2( zK5tZU0k~65PtNX%*t=lRZ_DwN#Icd5NA{OV31*xq!_Q`}Kb|gs(BgZClD1Qcbo(Af sSM)q4Xn6N>$ammG*t*5x7}4mJSwwZ$(c27YpCY{r~^~ diff --git a/logs/k7/expt.log b/logs/k7/expt.log deleted file mode 100644 index 46bb50b..0000000 --- a/logs/k7/expt.log +++ /dev/null @@ -1,7 +0,0 @@ -513 664 -769 256 -1025 117 -2049 17 -2561 9 -3073 5 -4097 2 diff --git a/logs/k7/expt.png b/logs/k7/expt.png deleted file mode 100644 index fc82677a7f6c107c5d587ce659b9fb4e32ac3035..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6490 zcmc&&i9b~P`yVrdF@}T~rA!DZ97|ekQ+5#=(uQMSzD1U_Vvb6Stx$%@bagFlO4@Fg zQ_8*-WvNiglBI-Xo!{qE_uj61|A61TW}Z3cvpmcDc|XtR%$&B{VlF~mOeGKqB9;~= zTL}a*N+6IdC?qgaddhDL_#%aDvUH$OD6ikyb`c1CEA6ZuOnE#WnBj7{@Czpp*gTxT z!+A`cNnrBW3GRGyTE1~*kq$T zCV>Y`;XEF=X0vfF@B+tyr_d4@8$sF=+raKT=bjpGC!o5|yXH_GGg-7(D7~@cD5eN~!&FSTy@Z=Qh@=TkM%tl_fy57P1Grv_+WR z1CCcVMDE&q11EmXXG}xk%@;R!@9IvB|AXtsZ$Myp;U7fd%F?JoD9lKtWG2epofEmu zWwxiIK_mUu=jonzpPfc3rW+`<!nj)2YB6MCkzRa*LkLZ&84H>(GD z)Ri8lwMgf$9TiOv;1!pAJ)H8fEJtv)%fUZ-2boKRXvzO;XV|E5l#=@Q=j=EtRaPyJ zG&x^d77_WZzs{hA7&7HQvIJ`M8;NQ9qKW)ZqV`r;N>lsmn}Ux-%*$>aj8vlgKJSm1 z)_Ghcy0k{f+d#hNWN9iI-GZ+ZB&ns@NG60JWn*V1Et7LXkeX{2Id@sAIXR=+wiD?c zv$t|Ih@_XTBd1FuZpn#07!9Y=n%_6#w1!@f`)@xAV|-62G%+)jkveL$DnBCRbFcJp zf=f6)IkY+dKx9$Re$(EU6UFCnrdDaP=j_XgTYDxwd2~+7eVz+0N1-W(M7-I(Gw4!J zVx&e!;GMF`Fl}C8g#MSQQ*8#z5*~GQ>mTXY&D3|9JlwYu>FqrxI{JN&dMwbEpjJP& zW2QABJwLy=!e?EnNNp3Te$>hEtrw>_c)anB+KZXJqx%g-Lm%;cVmfbw9lg&q>dX8! zdNdCn?plEDkR9Dt*w1Owzw<_3%_k#A$3SBypDd7g=xB+d4brHDA;{OipDX&%h1Qs9!Y4Xqb-jlMB zMz#NFkHS@GV^;H40+5pA5h^L;Ke`o#VxKTG{{x~Q5vX4AQ?>Ul^k%~1iji^e*<2#Y zpk0!)%l;-$J+MR85#^feDRD-2rhTltm_?*06DM8d zO0}NVc9bxX#>?Tmu4Fbmrhuj0mL2D7%;oasg=k|c&s*S_1#mhKT3-I2pbB76=JSGj z!Effq)%!OSIL9%2dSBc;W?Z3xAbtK5q$R{pdY&oECG->6&0iV(lVsw8z?AYlQ%M^D zo=g8jLd6BZl+ip>O5v!az#q%!Wm^VD`FHLAl~n6^5M}75c~KUSf$0VFO)CS_&SL+h z3C9{njm?Yt0~NR;INz0Bz?F98zglxs^|nRJgN_zY4%qVxwBJ=gy2m>|)@3HBB8@kViQ0w%a}f?F zFz=yG`M8wG?2FU8di1gr$O1dZQmEGrBMvTewMOvW-$Fq34^>AjvP8MgZKa|B9_M-R zu$VB26@LereH@^wGru6tPyjX;e_@ln5O}CGufnXC14w<({S7H+E6f>VUSKPgKqiKM zk$|-Y;_<5=Wpjb)LWs&w53Mbs&e)$iSq>0P`Cooshkly=TI>cFp9YH!e@BZpe9z4k zqUn6tOfBDgqg7LSC9SYKgj$|I(Hh(gFlq<<;soxxVv~cC1-|DLUbCQ*M1W(p6KY%E z|3K_}MB>EvtOzBfG4?BrBsSmGS30P<0pL606;-uQ)C}dyd~`Myr~8^=(6VWeYn2{_ zrjzxcS6+ljssn_xJ`E>KPWJ*Mi|yY#Dq@(Kqzr&gS8~GOkOo;G&F+Jx3x???!$Bob zN7}Gf>TE4e)d>6`IK4V@1THWd?AJ!^b zDEtxzU&G3JE<&`>>ti5?4y!jHX7s-8ZyK^o7Sj8i#vB!aVh%{;llw53{Li*wZw@84 zP=56K+7=(y=MMQcg^l+k4(g6aHz6kl0H?P-x+(A6q^%y{0?Xr?0VeaAw={E0%jyJw z5MKL2&ParI{KUn(S&QActRuvbw~}u!?DBR24kf6<(;*H* zJN|kNg?7s^4f4tvoFcUofm7j?Qht$O>!;D#BVU(=Iw<_?(4G16OG6=)4GTKQraACj zP=5IX0y|ScpIn=nhU`ngit?O!MF+4F=nor}7qF5vEDIh@4!m$S-AeC^2Y7vgGma&K zJ-3pI0HSp{M`O(mrTgVDtVFTMdT#=`*zyqMt+pk}BY_;Arv@^+$a3^f9_ZE1mWLBt zmI+OL9nl(pb*=dvG;Lmxsk(0k(wH;_D!?wT(CJ(((zpn4>&jGHvjlLt@_q=?eLE#D z4r!DC!_9O+W2>We6}Me|mBF@Vr*q)o1|`c0Ovy_y0_7wmv#Cx!vOTWKsYhJRYj6y>^ADsbw zHvn5|DKMzD;$YL*G5O|0baZaK1N{imlCQXS-a32ZJJo$Kis*5mc)j3Uxl5(|qt z1Hc>%2^R!PqiQiQbMMbKcnCIf9pIiPETS5apC%KK?doJbz;55|OTccGt>17u=)ZCB zkTRJh0e*Sk6$d(qKu0zkHb2;RSHNj|px;jgBujYCNYTE@I zW^Drwr@in7@(cs0eF6~|2O%XxozXh*w4XTxyG{G^0I;ZFl?HUptPHqTxz`m{Pgqtl zSqD?&`}C&d?!@5f15+R80HX`tZK>r)c9&1r&1H!K^R4HirdzdKBG=a|aboJsrRcdG z^;FvZlMUr5SxUf&?x0cCkr@cSS@OX}es*+UW6V`BLj@Y5iN+#!S;Nra z7B#5OZVh(ZGHNOm)`P<**cJ9e-Dhtr^NQp^(77 zFZs(Ur14x0VD@Dne1N*G3LnkX{AsZ^;ts!!0^=rEwZQoPTx}p7#lR-yya3p=CKsLz zi*j{={CI6Gkk78ILrOYCt&|aIDruoV1mxXSDBC_k`CJt~iByck2^G@a7bh ztFcrTeVqddgr(vr45fnvl&qhGR=|Q*3RyKqS){XwlrG zqPFm68dzRgFS)x$%P>H6y}$oGOEC|glwZ+|_S-j|TAiBbZQZ)iBdd@tCsS=TW7ax8 z)fFPjig7N3hd}9jmivkfu!kbdyRN2bDm2*})A`3z*9V*ewuP}&?Wg!3(-gO?A1?f%2Wi8xMOH_1)CZdc8>gj4OHhxR)*;i5|twfXnrmWCS2LF0ER1?0A_sBhlUkUDO=@2QWUu7UdG9KVJm!enfWes9d`$*jSv3>g#v8t}Fa=M4g1^mNh z&Crc#!TPz-*h;&_SXEzNlcs=-l>%~TX$HOb=*lzr2k+R+ZbTNrgLXrlBTx76O~RAq z(b(toUTvC;*8Mawb8Tm+U zT`l8ju^FwF(y2T}^P^ag5XC+2o5&Mc*eT6&hB1}MI(hc#DcW;#wv?tvEqdQX5zDji z^e~C05LqdwHn%v*8xycR+wC5M7uKcW4l4^a<;&d2+1r9Ht~mD&A+og3UEW7zJz@{34SfNu% z!51vQ1gNCqp{n*?^*+0@ZwgsABo1+gFP}@Rr&v$CaO~OS{f9g}BQy4%F+Gt}@-$N#yAJ!4Bo)+4m^4Os~A!6U{nI^!vt=>fL?TcgfMN z8CvN)XXHh*Ir=?|^{vsu#(*3hSK!pM$){Qg8MMcBLfo#bOvd-In~aBlPnQnP&ptvd zyKN;@cm9>967p0fSIcQr(lJ~tH`lMH+&U={7t2rA))B60T60)pBWjV?*u1;XhJY-4kSd{m$@nR>1X1d`)R#m2D+`kPjO~Ki z;uAc)c(}JKb8gXg<_vZ2LYD07!of(&Ni{TG z?s`V&w&EXuX@0-QF2+=UbIV*R!?8!HfBkn!^BDdrOXmdXJ|@I=2VpXsDY}hUo~@^| zjhC(y;e-FNo~;P&pAM^DJDJ)UwDZ}3P4yzr8RYt0N0SDl*Oe?6^=@S1%ec}zVmwbQ z_RcY%2VvpU;j252w43U0`%-XL=X2!t$zq?KcujC(KDTATSP z24FIyYVPT?@)guBrFzkxPIIzv^8i_Ub$}FhXoH-7P5D$< zZ^@dS0^Z@teC>B4UVWUq*Vb3CPEcFDWTIkfJ*WS&ZRZNl2&$PYmt^=H1HbT@YvxEE WFAN^whI(!=G)vPhCO0>sQU3>q@ODK2 diff --git a/logs/k7/expt_dr.log b/logs/k7/expt_dr.log deleted file mode 100644 index 7df658f..0000000 --- a/logs/k7/expt_dr.log +++ /dev/null @@ -1,7 +0,0 @@ -532 1088 -784 460 -1036 240 -1540 92 -2072 43 -3080 15 -4116 6 diff --git a/logs/k7/graphs.dem b/logs/k7/graphs.dem deleted file mode 100644 index c580495..0000000 --- a/logs/k7/graphs.dem +++ /dev/null @@ -1,17 +0,0 @@ -set terminal png color -set size 1.75 -set ylabel "Operations per Second" -set xlabel "Operand size (bits)" - -set output "addsub.png" -plot 'add.log' smooth bezier title "Addition", 'sub.log' smooth bezier title "Subtraction" - -set output "mult.png" -plot 'sqr.log' smooth bezier title "Squaring (without Karatsuba)", 'sqr_kara.log' smooth bezier title "Squaring (Karatsuba)", 'mult.log' smooth bezier title "Multiplication (without Karatsuba)", 'mult_kara.log' smooth bezier title "Multiplication (Karatsuba)" - -set output "expt.png" -plot 'expt.log' smooth bezier title "Exptmod (Montgomery)", 'expt_dr.log' smooth bezier title "Exptmod (Dimminished Radix)" - -set output "invmod.png" -plot 'invmod.log' smooth bezier title "Modular Inverse" - diff --git a/logs/k7/index.html b/logs/k7/index.html deleted file mode 100644 index 19fe403..0000000 --- a/logs/k7/index.html +++ /dev/null @@ -1,24 +0,0 @@ - - -LibTomMath Log Plots - - - -

Addition and Subtraction

-
-
- -

Multipliers

-
-
- -

Exptmod

-
-
- -

Modular Inverse

-
-
- - - \ No newline at end of file diff --git a/logs/k7/invmod.log b/logs/k7/invmod.log deleted file mode 100644 index d1198fb..0000000 --- a/logs/k7/invmod.log +++ /dev/null @@ -1,32 +0,0 @@ -112 16248 -224 8192 -336 5320 -448 3560 -560 2728 -672 2064 -784 1704 -896 2176 -1008 1184 -1120 976 -1232 1280 -1344 1176 -1456 624 -1568 912 -1680 504 -1792 452 -1904 658 -2016 608 -2128 336 -2240 312 -2352 288 -2464 264 -2576 408 -2688 376 -2800 354 -2912 198 -3024 307 -3136 173 -3248 162 -3360 256 -3472 145 -3584 226 diff --git a/logs/k7/invmod.png b/logs/k7/invmod.png deleted file mode 100644 index a497a723f46328692f503d2732afb3c524e1af82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5730 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 F^B;aW0Y(4- diff --git a/logs/k7/mult.log b/logs/k7/mult.log deleted file mode 100644 index 4b1bff3..0000000 --- a/logs/k7/mult.log +++ /dev/null @@ -1,17 +0,0 @@ -896 322904 -1344 151592 -1792 90472 -2240 59984 -2688 42624 -3136 31872 -3584 24704 -4032 19704 -4480 16096 -4928 13376 -5376 11272 -5824 9616 -6272 8360 -6720 7304 -7168 1664 -7616 1472 -8064 1328 diff --git a/logs/k7/mult.png b/logs/k7/mult.png deleted file mode 100644 index 3cd8a9349df44a189a69b8dc401e9140c21b28e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8263 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 literal 8100 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 diff --git a/logs/mult_kara.log b/logs/mult_kara.log index 6edc439..c69769b 100644 --- a/logs/mult_kara.log +++ b/logs/mult_kara.log @@ -1,33 +1,33 @@ -924 374171 -1147 243163 -1371 177111 -1596 134465 -1819 105619 -2044 85145 -2266 70086 -2488 58717 -2715 49869 -2939 42894 -3164 37389 -3387 33510 -3610 29993 -3836 27205 -4060 24751 -4281 22576 -4508 20670 -4732 19019 -4954 17527 -5180 16217 -5404 15044 -5624 14003 -5849 13051 -6076 12067 -6300 11438 -6524 10772 -6748 10298 -6972 9715 -7195 9330 -7416 8836 -7644 8465 -7864 8042 -8091 7735 +921 92388 +1148 61410 +1372 43799 +1594 33047 +1819 26913 +2043 21996 +2268 18453 +2492 15623 +2715 13378 +2940 11626 +3164 10252 +3385 9291 +3610 8348 +3835 7615 +4060 6928 +4283 6401 +4508 5836 +4732 5387 +4955 4985 +5178 4614 +5404 4300 +5622 4005 +5852 3742 +6073 3502 +6298 3262 +6524 3137 +6748 2967 +6971 2807 +7195 2679 +7420 2571 +7643 2442 +7867 2324 +8091 2235 diff --git a/logs/p4/README b/logs/p4/README deleted file mode 100644 index ea20c81..0000000 --- a/logs/p4/README +++ /dev/null @@ -1,13 +0,0 @@ -To use the pretty graphs you have to first build/run the ltmtest from the root directory of the package. -Todo this type - -make timing ; ltmtest - -in the root. It will run for a while [about ten minutes on most PCs] and produce a series of .log files in logs/. - -After doing that run "gnuplot graphs.dem" to make the PNGs. If you managed todo that all so far just open index.html to view -them all :-) - -Have fun - -Tom \ No newline at end of file diff --git a/logs/p4/add.log b/logs/p4/add.log deleted file mode 100644 index 72b2506..0000000 --- a/logs/p4/add.log +++ /dev/null @@ -1,16 +0,0 @@ -224 8113248 -448 6585584 -672 5687678 -896 4761144 -1120 4111592 -1344 3995154 -1568 3532387 -1792 3225400 -2016 2963960 -2240 2720112 -2464 2533952 -2688 2307168 -2912 2287064 -3136 2150160 -3360 2035992 -3584 1936304 diff --git a/logs/p4/addsub.png b/logs/p4/addsub.png deleted file mode 100644 index f4398cad4639e3747210de5308613b67f243ff28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6898 zcmdscdpuNKxc@XWjiDj8YC<)xnNn?+qEaSuA95?Yv4?SsB19r)S4Kj)y^IK@ro2kz zl2CR-UNj+;BH_)Yn@glf%vrnM-|xKVb3UK*|2gv+Ywua>dA{rWe4l6S%Mxd2Yc46F zAc4c-BrPp=JK%6c7>6TRkO`ot_PnnxI1qx3EuF|@a?ik?ejIKQ-Hz#GDiVpnNM2qZ zc0h4BjtIqxP!R)V;20tfjfQeSFU-Mlzz_q+0l#1z3QTY`4h@1i4DbO%U;xH(U}+8v zbAT}hB*MWs2Fii+P#6H9d7zgAOlZIa#)(8U@L@1$3}8-!F*opGfIq+_udN>i69YiB zA2_36P7W+$;6z|5R3rlD91fZXSfD6iip>N%^F)9-nkRz6C{C1z`ZT?EebNu@X( z&M3sxCB!knDb|TO}AcPj`85HaraEzwAQJ)sb3i0sq_YC#)r|Hr_pN-=N zXWwJ&fUsbit`5!JH-uI@)xyK!R<5($z02uj_GoWh`sD-nIrb|HzDEyJtcw};-A~4b ze+H~8iE&h&9dpkg8YO|5|M{?QeX448Zs{czJ9LQ@+@f6Rn^2k7bc(LEXei3wjpI>u z%*XP3F+KkPj~vgH8a(qL4Rgz;zcM?wC!LyW3ZqSbOC4u?99`RoTTv}n|*b%jm(sk!4`k>^9;zig9Fi8%xq%}QN=8#VdcTDoe! zQ*`{lKz8=*c|^cFPW}Hmes!D>BUxC%d7DM93lrnht@+hTYET<5x;0YRIe7ctS0br< zGGJzUeCU4PUD3k);i~Bs-1zNeO4*I2!di2)g&jSUVV{nMbbbxHzrZz3O%w+scTqR* zokfpp-g=55NQIUS6rDjNy?WoFAY_Nm>i@8TIa=ZrX)~Au;R)wtsJFUWTU*}?de#iD zE{V+8KqUP+9jtiM-5PFDf$Z))H<%0-)%JxCkBo#Beb^*v($YFpvA`c_?r9zSOr~`D zY1XSkMyG>*TuUH)%|6i(YjO9|r`+R@*)oHzupyz}@Czv*OA71JxDNgxCaDgS0jOF(ffB8jXDF{sEQ0r_9# z|Mv`~`oarWDpxSp0nwZEAPK@|Y3eWbL6Qjq#$pg&>QPvp)O^2i(P90m;(_MpNAZNC zJsq5}q2s+X&G!|*$x=1nCZmSl=?hQi-M^puYhIpY71l3ZAbN44H(#qa&^NO7b$-DK zB1xiRE>~2hRY#nnx`6`Mp!)PAqs$zSkReONo~qfKTx!uV>pg4*s$*zw8x=wR9#W#l zAOfJd#wS#hk_Hlh)kf2HK+{z2H%*ESV;hoe=31@4Rc=(+|!l;^4CCB@QX3>y8+0J#Q=l`Krr{?n0qX6Z(ai2 zwSN~9508j}@gKGekJAmSI zFeobkrH)Brhe@J>L3M+gI5yV3@ZDt3PHQ;NB0{n4;lcyO`E5T2#{s>v(nXi}zb}0y z5!GFEz`N}3qIa1$jNp$^qOdHb9Ve#593ud>r^raeD!CDT(x}BSC|J?-lW-Y3*GY2d zb$R35WLuNrRA`+gh%|?QJg^zbWo5@1#D{o;Xw$xI<84=^$luIHsjNJM7l0nkXz}6( zGT{cDj^!Lv-5v`z9#b7lnmv|z7fd}Bkok5jbxD6?trV7l6^gB;eENvhLzNIal5hNmwiD53eEbe z0aJRX9Auu}p+XQ@CF2Pu#gWaJ2-=w2D&SD|TbVh9wr7U7KiyU8)qvV6 z4oklG+8CPe7Mt_)kOV<|)EAxLjR@PLAGm!U9^<9twl4YbSwfhvHGg;Pc*)#+Utmw) zs*#KQjW?hq!C3S{$32Ri&?7QaN&UvLr<)LjeUa!jsg%Ed3acBPx#i(=O`bX;;h{`( zK+&P#=Lx8mNRsu%E-rC;GJupG(F~?B6#;3BYspwJG;r}^9S{fZ_-Dl7gCOnhWpcpq zskm@c3__N~D%IH!tJD>8yc_{Kdl^iHmUl}eoK>q#Lk;Pa>^mh`P72Dg)&e#ol3HH; z(zC-Akl5G(V``~Dj(Eb_A1^s$@4cT#r8EcVCrzn*{k3(Xk zK86i|R2VewzaAh@l9J&CXnhqZ@67tKUX`LWkh-cC05IU?nv~CLA!~V3=+x`ZczM#d zpyj@q0@M~?dPacmluCYSM}6fv`|RSKO_K|g$uEjy(c2*C9n1S{Mx{Sw2vDi@Z*3k% zujFIP`*Xim`vD0;7FZTPopcZBR~7sTdi^WbL%|u4+B20j*JsKL<`@QdOboj z4c$DkE}sBG)ksbI8fbbvK3i$Ws)H&mNdojh?80nV{taGK_DbiG@SDv5sw7O3A2Hha zzWD;-o%+M#Cq<;1+m9n_?iGM}YQUvBQJ(bjVC1Hh`w}&FRF`L$gm0KEcmwjbktYPhO-4cU%;!87P zTwTf{m($0Zo_d`_OxH)f59>_L0BCWg7ISopmNbtbPkIEDGuNa<4&{3+wWrRQ!52Ym z3`;psXM_qudkMmtt??nCM%LnkvjwOaJ{TW^gg=!mZmb66Ufw5#yp1nQ7obWv3tGS2 zfn-feZ$Hi+v}RGX^}vJaHE6;Nw#|non!O!!LGi_yzLld>n5TExoSx7+5e(GhO%~v9 zI#8){ykI&d0o=EAVh|&IFbH66uFdI+0AQj}T1M*FYV+_90m^_|ZbEHxJe&k!X}siw zarG*BQqvR9vwXV$t}Y(`vsV&#fQ}%eCs;((Xzc%uMl#UJYFWs{1V=P%{3z!NlM* z2daV!lyOiqq25jgdGPi-HhO+Dk0{UGXAqxuM$kq^ER9({XVL3dA-!F&?EZDYl7Lux zUWK?+aDQuxj1DdrU_BPBTUXHQ*C8icIOTu=^IoU*08vBRgtA$V*D24vAkGYOl`(lp z)YvgnSdfkmGFZ3LQ1)Y%>m^JM6E!wTnCvBL=(adJre2Zcg}<7RvC7}$Aj{j4eV4y_P63)Xs5myG^K;v` z!Dqp|-J3%<=Y7i35o*n6%su%&S)3`bi{BynUSrBiG<&aCb$ja4tkH{6-~0>Zxs#&{ zBSvbTC&6P6vpKlBmkG^I{IqTPfO3=qLDI zxf9idGAqZ6+_1vTy)heQ`yau9QF)IStd#nsWeEMe zGPj+~w3O!x$V~fv%K#u3P4j$aoS@A0Co_HJxo61C<4PL#QV9K0o!SLuNL{Dij*QUT ztCY>$Eo@+kaz0o%NAQk+?lnoMPfADA{PwbLe@jV0<%QBFV?@3WmpZ8ddFs|DZAR!< zl(`Aw%r6w}L2Gy&d|ufZ??^DAWXkfk0a_`jlR(gc91?|msYH`Xu z)ai&PsA@aBV_`WUCv5?LEZ?bpwR+c6BHt_B-GT{!)X-K_hssOkO^or5I|?6OSA`^t zyRFyZJBZfW*Oj5fB&vfn&&%b)z$tu(RN=!zw(x;_V3ImZBA;FuON|?l$9I6%3g40a zA|{zCCCB@AdyTsq_bicbDqCktv7TP}lI+ z*UUgC67{76&!ZDp>H|4w@ox85Hn7X^(Imj@_CSJcHJS3sf&yOt{VXY2;*?KEnF$Rv z$baC@OMex}Usc<`_+PJ%j_Pr&a8vy137b;$)s7bQG}OCX z^ld{n^L)+CoF$mLYTWVP3q=?Fn%}aq!Gh^gBgM_%vT4R_lsqd#wJn}LYpcg!hOgV2 zpe>Z9wy0>=$WU8UwQIon;NnM2GG$~^18+v;cKA{Vi1L}Ph6!t!d~dp3o3-887;mB! z=bM8{Te>T(h3Y3Y&hW)4&ui=pSopfddi=fky3KlgOMIPYcIB~4XrOwWZvq;4$HpU} z9=wEAzDaLzNuXz;NoN}LjA4u29tUX9^?dCYa@3UWmppWp@;NlAo7+J3uu_HC438t~ z(BR`B<{w1vA(zQJNobNxVnHIBv?8(K0-Cfcu^<*rQcWxXKJ>%_1WnqMNY6o&HYZ{e zY!7f=$3yLK0qUB6pmwB0dJ1ZnkUO3HoCo4F-M?mKViSVeDJ9ZlQ9G4H`Z?6@)(bIf zh14X}uDBdnIT5*nI|)LgWXoOfE%e7OGj@?W)cN=VGo8pi;=_z0axeS4OfSn^Po|X1 zWG0X)o4W(c)O3=GT&wVs04XB(6gULoO?qoy>C=&`QLdk}63{lTWU_tc6qzy_h@S(4 z2P?ACeVL%(hW&p$f20z89&NjJ)X3-%J5-K(pq#FAHNrs~x$0@;sv&0$`{ZOa)yq&T z0zrQ7{JyZg(oxi0QAL++=B+^_J?fUv z%<|yV5yUh?C0{2DPbj<{<@}hzK87b8qMHp*WHcuPiI)94|y&T#*cIo06x zqdZHP7DLEqT0X7C6Ph}Wnm-?5bUicluM7&wLeZ4Epn0P>IUfJvaaYhUmq71p=ftE4j%?Ekq|0nPN3pJ}I} z4C{?W3E&m`_Z|rqy!QRGF9Kdj!At%B@gc`B*x{f3-(P#P1^06!#fbc2Y(w}zJH8!_ z9b8E}ZQYvctipd4+q6Wys1JE9np|JIs8tl$$8i!-ie^aHxBK?mg!X@&pNTka zm*KU>Y?GZ;387Rp{+7DB=J8vjCTNw8MIn_t=l= z=c&#Y!&3Y987gSLsnEaV|M~IMs6%e92`kUNRlgvy&ua2R```v)-9d!ABwwGDm=iHM z@nJ{x^D7($N#ujZc-&}%m|pb##K|wG`gNncN5Aq%QWKXZd*zUCwLGmJoy+~A{br`- z>w@ji3~{zjPC`z^*UBaZ;nYPuVfs`qd@Qw30}0>1bhW3)Lf}ZakDjFPrzWA(JL<(y zc#ls==IzHJsktKUT9U5e*P*pB2^sL$#R~mvwt>eFoTeZ;Ctr`eatr+i7MG=|?d~FD H_{@I*pd^d1 diff --git a/logs/p4/expt.log b/logs/p4/expt.log deleted file mode 100644 index 3e6ffb8..0000000 --- a/logs/p4/expt.log +++ /dev/null @@ -1,7 +0,0 @@ -513 195 -769 68 -1025 31 -2049 4 -2561 2 -3073 1 -4097 0 diff --git a/logs/p4/expt.png b/logs/p4/expt.png deleted file mode 100644 index dac1ce2cbdbbbd56ff8213d3e4616e022b186988..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6587 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 diff --git a/logs/p4/expt_dr.log b/logs/p4/expt_dr.log deleted file mode 100644 index 2f5f6a3..0000000 --- a/logs/p4/expt_dr.log +++ /dev/null @@ -1,7 +0,0 @@ -532 393 -784 158 -1036 79 -1540 27 -2072 12 -3080 4 -4116 1 diff --git a/logs/p4/graphs.dem b/logs/p4/graphs.dem deleted file mode 100644 index c580495..0000000 --- a/logs/p4/graphs.dem +++ /dev/null @@ -1,17 +0,0 @@ -set terminal png color -set size 1.75 -set ylabel "Operations per Second" -set xlabel "Operand size (bits)" - -set output "addsub.png" -plot 'add.log' smooth bezier title "Addition", 'sub.log' smooth bezier title "Subtraction" - -set output "mult.png" -plot 'sqr.log' smooth bezier title "Squaring (without Karatsuba)", 'sqr_kara.log' smooth bezier title "Squaring (Karatsuba)", 'mult.log' smooth bezier title "Multiplication (without Karatsuba)", 'mult_kara.log' smooth bezier title "Multiplication (Karatsuba)" - -set output "expt.png" -plot 'expt.log' smooth bezier title "Exptmod (Montgomery)", 'expt_dr.log' smooth bezier title "Exptmod (Dimminished Radix)" - -set output "invmod.png" -plot 'invmod.log' smooth bezier title "Modular Inverse" - diff --git a/logs/p4/index.html b/logs/p4/index.html deleted file mode 100644 index 19fe403..0000000 --- a/logs/p4/index.html +++ /dev/null @@ -1,24 +0,0 @@ - - -LibTomMath Log Plots - - - -

Addition and Subtraction

-
-
- -

Multipliers

-
-
- -

Exptmod

-
-
- -

Modular Inverse

-
-
- - - \ No newline at end of file diff --git a/logs/p4/invmod.log b/logs/p4/invmod.log deleted file mode 100644 index 096087b..0000000 --- a/logs/p4/invmod.log +++ /dev/null @@ -1,32 +0,0 @@ -112 13608 -224 6872 -336 4264 -448 2792 -560 2144 -672 1560 -784 1296 -896 1672 -1008 896 -1120 736 -1232 1024 -1344 888 -1456 472 -1568 680 -1680 373 -1792 328 -1904 484 -2016 436 -2128 232 -2240 211 -2352 200 -2464 177 -2576 293 -2688 262 -2800 251 -2912 137 -3024 216 -3136 117 -3248 113 -3360 181 -3472 98 -3584 158 diff --git a/logs/p4/invmod.png b/logs/p4/invmod.png deleted file mode 100644 index 3b0580fe05b79a283f0880b807edfeadb8df35a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5596 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 GcmDwqPR=U; diff --git a/logs/p4/mult.log b/logs/p4/mult.log deleted file mode 100644 index 6e43806..0000000 --- a/logs/p4/mult.log +++ /dev/null @@ -1,17 +0,0 @@ -896 77600 -1344 35776 -1792 19688 -2240 13248 -2688 9424 -3136 7056 -3584 5464 -4032 4368 -4480 3568 -4928 2976 -5376 2520 -5824 2152 -6272 1872 -6720 1632 -7168 650 -7616 576 -8064 515 diff --git a/logs/p4/mult.png b/logs/p4/mult.png deleted file mode 100644 index 8623558f5c4dc9bf4a529f8a7f7c652e9cb7d0a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8100 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 UH=xNj;+S8SrZ(I2x51JB2bWI#Z2$lO diff --git a/logs/p4/mult_kara.log b/logs/p4/mult_kara.log deleted file mode 100644 index e1d50a6..0000000 --- a/logs/p4/mult_kara.log +++ /dev/null @@ -1,17 +0,0 @@ -896 77752 -1344 35832 -1792 19688 -2240 14704 -2688 10832 -3136 8336 -3584 6600 -4032 5424 -4480 4648 -4928 3976 -5376 3448 -5824 3016 -6272 2664 -6720 2384 -7168 2120 -7616 1912 -8064 1752 diff --git a/logs/p4/sqr.log b/logs/p4/sqr.log deleted file mode 100644 index b133fb3..0000000 --- a/logs/p4/sqr.log +++ /dev/null @@ -1,17 +0,0 @@ -896 128088 -1344 63640 -1792 37968 -2240 25488 -2688 18176 -3136 13672 -3584 4920 -4032 3912 -4480 3160 -4928 2616 -5376 2216 -5824 1896 -6272 1624 -6720 1408 -7168 1240 -7616 1096 -8064 984 diff --git a/logs/p4/sqr_kara.log b/logs/p4/sqr_kara.log deleted file mode 100644 index 13e4f3e..0000000 --- a/logs/p4/sqr_kara.log +++ /dev/null @@ -1,17 +0,0 @@ -896 127456 -1344 63752 -1792 37920 -2240 25440 -2688 18200 -3136 13728 -3584 10968 -4032 9072 -4480 7608 -4928 6440 -5376 5528 -5824 4768 -6272 4328 -6720 3888 -7168 3504 -7616 3176 -8064 2896 diff --git a/logs/p4/sub.log b/logs/p4/sub.log deleted file mode 100644 index 424de32..0000000 --- a/logs/p4/sub.log +++ /dev/null @@ -1,16 +0,0 @@ -224 7355896 -448 6162880 -672 5218984 -896 4622776 -1120 3999320 -1344 3629480 -1568 3290384 -1792 2954752 -2016 2737056 -2240 2563320 -2464 2451928 -2688 2310920 -2912 2139048 -3136 2034080 -3360 1890800 -3584 1808624 diff --git a/logs/sqr.log b/logs/sqr.log index 81fa612..ec142fe 100644 --- a/logs/sqr.log +++ b/logs/sqr.log @@ -1,33 +1,33 @@ -922 471095 -1147 337137 -1366 254327 -1596 199732 -1819 161225 -2044 132852 -2268 111493 -2490 94864 -2715 81745 -2940 71187 -3162 62575 -3387 55418 -3612 14540 -3836 12944 -4060 11627 -4281 10546 -4508 9502 -4730 8688 -4954 7937 -5180 7273 -5402 6701 -5627 6189 -5850 5733 -6076 5310 -6300 4933 -6522 4631 -6748 4313 -6971 4064 -7196 3801 -7420 3576 -7642 3388 -7868 3191 -8092 3020 +924 26026 +1146 37682 +1370 51714 +1595 68130 +1820 86850 +2043 107880 +2267 131236 +2490 156828 +2716 184704 +2940 214934 +3162 247424 +3388 282494 +3608 308390 +3834 345978 +4060 386156 +4282 427648 +4505 471556 +4731 517948 +4954 566396 +5180 618292 +5402 670130 +5628 725674 +5852 783310 +6076 843480 +6300 905136 +6524 969132 +6748 1033680 +6971 1100912 +7195 1170954 +7420 1252576 +7643 1325038 +7867 1413890 +8091 1493140 diff --git a/logs/sqr_kara.log b/logs/sqr_kara.log index 3b547cf..f75256a 100644 --- a/logs/sqr_kara.log +++ b/logs/sqr_kara.log @@ -1,33 +1,33 @@ -922 470930 -1148 337217 -1372 254433 -1596 199827 -1820 161204 -2043 132871 -2267 111522 -2488 94932 -2714 81814 -2939 71231 -3164 62616 -3385 55467 -3611 44426 -3836 40695 -4060 37391 -4283 34371 -4508 31779 -4732 29499 -4956 27426 -5177 25598 -5403 23944 -5628 22416 -5851 21052 -6076 19781 -6299 18588 -6523 17539 -6746 16618 -6972 15705 -7196 13582 -7420 13004 -7643 12496 -7868 11963 -8092 11497 +923 165854 +1146 112539 +1372 80388 +1595 60051 +1820 47498 +2044 38017 +2268 31935 +2492 27373 +2714 23798 +2939 20630 +3164 18198 +3388 16191 +3612 14538 +3836 13038 +4058 11683 +4284 10915 +4508 9998 +4731 9271 +4954 8555 +5180 7910 +5404 7383 +5628 7012 +5852 6527 +6075 6175 +6299 5737 +6524 5398 +6744 5110 +6971 4864 +7196 4567 +7420 4371 +7644 4182 +7868 3981 +8092 3758 diff --git a/logs/sub.log b/logs/sub.log index f1ade94..97ea200 100644 --- a/logs/sub.log +++ b/logs/sub.log @@ -1,16 +1,16 @@ -224 16370431 -448 13327848 -672 11009401 -896 9125342 -1120 7930419 -1344 7114040 -1568 6506998 -1792 5899346 -2016 5435327 -2240 5038931 -2464 4696364 -2688 4425678 -2912 4134476 -3136 3913280 -3360 3692536 -3584 3505219 +224 2012 +448 2208 +672 2366 +896 2532 +1120 2682 +1344 2838 +1568 3016 +1792 3146 +2016 3318 +2240 3538 +2464 3756 +2688 3914 +2912 4060 +3136 4216 +3360 4392 +3584 4550 diff --git a/makefile b/makefile index 07b7842..95bd003 100644 --- a/makefile +++ b/makefile @@ -12,7 +12,10 @@ CFLAGS += -O3 -funroll-loops #x86 optimizations [should be valid for any GCC install though] CFLAGS += -fomit-frame-pointer -VERSION=0.30 +#debug +#CFLAGS += -g3 + +VERSION=0.31 default: libtommath.a @@ -20,7 +23,7 @@ default: libtommath.a LIBNAME=libtommath.a HEADERS=tommath.h -#LIBPATH-The directory for libtomcrypt to be installed to. +#LIBPATH-The directory for libtommath to be installed to. #INCPATH-The directory to install the header files for libtommath. #DATAPATH-The directory to install the pdf docs. DESTDIR= @@ -58,6 +61,30 @@ libtommath.a: $(OBJECTS) $(AR) $(ARFLAGS) libtommath.a $(OBJECTS) ranlib libtommath.a + +#make a profiled library (takes a while!!!) +# +# This will build the library with profile generation +# then run the test demo and rebuild the library. +# +# So far I've seen improvements in the MP math +profiled: + make CFLAGS="$(CFLAGS) -fprofile-arcs -DTESTING" timing + ./ltmtest + rm -f *.a *.o ltmtest + make CFLAGS="$(CFLAGS) -fbranch-probabilities" + +#make a single object profiled library +profiled_single: + perl gen.pl + $(CC) $(CFLAGS) -fprofile-arcs -DTESTING -c mpi.c -o mpi.o + $(CC) $(CFLAGS) -DTESTING -DTIMER demo/timing.c mpi.o -o ltmtest + ./ltmtest + rm -f *.o ltmtest + $(CC) $(CFLAGS) -fbranch-probabilities -DTESTING -c mpi.c -o mpi.o + $(AR) $(ARFLAGS) libtommath.a mpi.o + ranlib libtommath.a + install: libtommath.a install -d -g root -o root $(DESTDIR)$(LIBPATH) install -d -g root -o root $(DESTDIR)$(INCPATH) @@ -71,7 +98,7 @@ mtest: test cd mtest ; $(CC) $(CFLAGS) mtest.c -o mtest -s timing: libtommath.a - $(CC) $(CFLAGS) -DTIMER demo/demo.c libtommath.a -o ltmtest -s + $(CC) $(CFLAGS) -DTIMER demo/timing.c libtommath.a -o ltmtest -s # makes the LTM book DVI file, requires tetex, perl and makeindex [part of tetex I think] docdvi: tommath.src @@ -106,10 +133,13 @@ mandvi: bn.tex manual: mandvi pdflatex bn >/dev/null rm -f bn.aux bn.dvi bn.log bn.idx bn.lof bn.out bn.toc - + +pretty: + perl pretty.build + clean: rm -f *.bat *.pdf *.o *.a *.obj *.lib *.exe *.dll etclib/*.o demo/demo.o test ltmtest mpitest mtest/mtest mtest/mtest.exe \ - *.idx *.toc *.log *.aux *.dvi *.lof *.ind *.ilg *.ps *.log *.s mpi.c + *.idx *.toc *.log *.aux *.dvi *.lof *.ind *.ilg *.ps *.log *.s mpi.c *.da *.dyn *.dpi tommath.tex *~ demo/*~ etc/*~ cd etc ; make clean cd pics ; make clean diff --git a/makefile.bcc b/makefile.bcc index 6874d2f..b71f380 100644 --- a/makefile.bcc +++ b/makefile.bcc @@ -30,7 +30,8 @@ bn_mp_reduce_2k.obj bn_mp_reduce_is_2k.obj bn_mp_reduce_2k_setup.obj \ bn_mp_radix_smap.obj bn_mp_read_radix.obj bn_mp_toradix.obj bn_mp_radix_size.obj \ bn_mp_fread.obj bn_mp_fwrite.obj bn_mp_cnt_lsb.obj bn_error.obj \ bn_mp_init_multi.obj bn_mp_clear_multi.obj bn_prime_sizes_tab.obj bn_mp_exteuclid.obj bn_mp_toradix_n.obj \ -bn_mp_prime_random_ex.obj bn_mp_get_int.obj bn_mp_sqrt.obj bn_mp_is_square.obj +bn_mp_prime_random_ex.obj bn_mp_get_int.obj bn_mp_sqrt.obj bn_mp_is_square.obj \ +bn_mp_init_set.obj bn_mp_init_set_int.obj TARGET = libtommath.lib diff --git a/makefile.cygwin_dll b/makefile.cygwin_dll index e5ab814..332a328 100644 --- a/makefile.cygwin_dll +++ b/makefile.cygwin_dll @@ -35,7 +35,8 @@ bn_mp_reduce_2k.o bn_mp_reduce_is_2k.o bn_mp_reduce_2k_setup.o \ bn_mp_radix_smap.o bn_mp_read_radix.o bn_mp_toradix.o bn_mp_radix_size.o \ bn_mp_fread.o bn_mp_fwrite.o bn_mp_cnt_lsb.o bn_error.o \ bn_mp_init_multi.o bn_mp_clear_multi.o bn_prime_sizes_tab.o bn_mp_exteuclid.o bn_mp_toradix_n.o \ -bn_mp_prime_random_ex.o bn_mp_get_int.o bn_mp_sqrt.o bn_mp_is_square.o +bn_mp_prime_random_ex.o bn_mp_get_int.o bn_mp_sqrt.o bn_mp_is_square.o bn_mp_init_set.o \ +bn_mp_init_set_int.o # make a Windows DLL via Cygwin windll: $(OBJECTS) diff --git a/makefile.icc b/makefile.icc new file mode 100644 index 0000000..e4c0d19 --- /dev/null +++ b/makefile.icc @@ -0,0 +1,110 @@ +#Makefile for ICC +# +#Tom St Denis +CC=icc + +CFLAGS += -I./ + +# optimize for SPEED +# +# -mcpu= can be pentium, pentiumpro (covers PII through PIII) or pentium4 +# -ax? specifies make code specifically for ? but compatible with IA-32 +# -x? specifies compile solely for ? [not specifically IA-32 compatible] +# +# where ? is +# K - PIII +# W - first P4 [Williamette] +# N - P4 Northwood +# P - P4 Prescott +# B - Blend of P4 and PM [mobile] +# +# Default to just generic max opts +CFLAGS += -O3 -xN + +default: libtommath.a + +#default files to install +LIBNAME=libtommath.a +HEADERS=tommath.h + +#LIBPATH-The directory for libtomcrypt to be installed to. +#INCPATH-The directory to install the header files for libtommath. +#DATAPATH-The directory to install the pdf docs. +DESTDIR= +LIBPATH=/usr/lib +INCPATH=/usr/include +DATAPATH=/usr/share/doc/libtommath/pdf + +OBJECTS=bncore.o bn_mp_init.o bn_mp_clear.o bn_mp_exch.o bn_mp_grow.o bn_mp_shrink.o \ +bn_mp_clamp.o bn_mp_zero.o bn_mp_set.o bn_mp_set_int.o bn_mp_init_size.o bn_mp_copy.o \ +bn_mp_init_copy.o bn_mp_abs.o bn_mp_neg.o bn_mp_cmp_mag.o bn_mp_cmp.o bn_mp_cmp_d.o \ +bn_mp_rshd.o bn_mp_lshd.o bn_mp_mod_2d.o bn_mp_div_2d.o bn_mp_mul_2d.o bn_mp_div_2.o \ +bn_mp_mul_2.o bn_s_mp_add.o bn_s_mp_sub.o bn_fast_s_mp_mul_digs.o bn_s_mp_mul_digs.o \ +bn_fast_s_mp_mul_high_digs.o bn_s_mp_mul_high_digs.o bn_fast_s_mp_sqr.o bn_s_mp_sqr.o \ +bn_mp_add.o bn_mp_sub.o bn_mp_karatsuba_mul.o bn_mp_mul.o bn_mp_karatsuba_sqr.o \ +bn_mp_sqr.o bn_mp_div.o bn_mp_mod.o bn_mp_add_d.o bn_mp_sub_d.o bn_mp_mul_d.o \ +bn_mp_div_d.o bn_mp_mod_d.o bn_mp_expt_d.o bn_mp_addmod.o bn_mp_submod.o \ +bn_mp_mulmod.o bn_mp_sqrmod.o bn_mp_gcd.o bn_mp_lcm.o bn_fast_mp_invmod.o bn_mp_invmod.o \ +bn_mp_reduce.o bn_mp_montgomery_setup.o bn_fast_mp_montgomery_reduce.o bn_mp_montgomery_reduce.o \ +bn_mp_exptmod_fast.o bn_mp_exptmod.o bn_mp_2expt.o bn_mp_n_root.o bn_mp_jacobi.o bn_reverse.o \ +bn_mp_count_bits.o bn_mp_read_unsigned_bin.o bn_mp_read_signed_bin.o bn_mp_to_unsigned_bin.o \ +bn_mp_to_signed_bin.o bn_mp_unsigned_bin_size.o bn_mp_signed_bin_size.o \ +bn_mp_xor.o bn_mp_and.o bn_mp_or.o bn_mp_rand.o bn_mp_montgomery_calc_normalization.o \ +bn_mp_prime_is_divisible.o bn_prime_tab.o bn_mp_prime_fermat.o bn_mp_prime_miller_rabin.o \ +bn_mp_prime_is_prime.o bn_mp_prime_next_prime.o bn_mp_dr_reduce.o \ +bn_mp_dr_is_modulus.o bn_mp_dr_setup.o bn_mp_reduce_setup.o \ +bn_mp_toom_mul.o bn_mp_toom_sqr.o bn_mp_div_3.o bn_s_mp_exptmod.o \ +bn_mp_reduce_2k.o bn_mp_reduce_is_2k.o bn_mp_reduce_2k_setup.o \ +bn_mp_radix_smap.o bn_mp_read_radix.o bn_mp_toradix.o bn_mp_radix_size.o \ +bn_mp_fread.o bn_mp_fwrite.o bn_mp_cnt_lsb.o bn_error.o \ +bn_mp_init_multi.o bn_mp_clear_multi.o bn_prime_sizes_tab.o bn_mp_exteuclid.o bn_mp_toradix_n.o \ +bn_mp_prime_random_ex.o bn_mp_get_int.o bn_mp_sqrt.o bn_mp_is_square.o bn_mp_init_set.o \ +bn_mp_init_set_int.o + +libtommath.a: $(OBJECTS) + $(AR) $(ARFLAGS) libtommath.a $(OBJECTS) + ranlib libtommath.a + +#make a profiled library (takes a while!!!) +# +# This will build the library with profile generation +# then run the test demo and rebuild the library. +# +# So far I've seen improvements in the MP math +profiled: + make -f makefile.icc CFLAGS="$(CFLAGS) -prof_gen -DTESTING" timing + ./ltmtest + rm -f *.a *.o ltmtest + make -f makefile.icc CFLAGS="$(CFLAGS) -prof_use" + +#make a single object profiled library +profiled_single: + perl gen.pl + $(CC) $(CFLAGS) -prof_gen -DTESTING -c mpi.c -o mpi.o + $(CC) $(CFLAGS) -DTESTING -DTIMER demo/demo.c mpi.o -o ltmtest + ./ltmtest + rm -f *.o ltmtest + $(CC) $(CFLAGS) -prof_use -ip -DTESTING -c mpi.c -o mpi.o + $(AR) $(ARFLAGS) libtommath.a mpi.o + ranlib libtommath.a + +install: libtommath.a + install -d -g root -o root $(DESTDIR)$(LIBPATH) + install -d -g root -o root $(DESTDIR)$(INCPATH) + install -g root -o root $(LIBNAME) $(DESTDIR)$(LIBPATH) + install -g root -o root $(HEADERS) $(DESTDIR)$(INCPATH) + +test: libtommath.a demo/demo.o + $(CC) demo/demo.o libtommath.a -o test + +mtest: test + cd mtest ; $(CC) $(CFLAGS) mtest.c -o mtest + +timing: libtommath.a + $(CC) $(CFLAGS) -DTIMER demo/timing.c libtommath.a -o ltmtest + +clean: + rm -f *.bat *.pdf *.o *.a *.obj *.lib *.exe *.dll etclib/*.o demo/demo.o test ltmtest mpitest mtest/mtest mtest/mtest.exe \ + *.idx *.toc *.log *.aux *.dvi *.lof *.ind *.ilg *.ps *.log *.s mpi.c *.il etc/*.il *.dyn + cd etc ; make clean + cd pics ; make clean diff --git a/makefile.msvc b/makefile.msvc index beeb77e..7d67442 100644 --- a/makefile.msvc +++ b/makefile.msvc @@ -29,7 +29,8 @@ bn_mp_reduce_2k.obj bn_mp_reduce_is_2k.obj bn_mp_reduce_2k_setup.obj \ bn_mp_radix_smap.obj bn_mp_read_radix.obj bn_mp_toradix.obj bn_mp_radix_size.obj \ bn_mp_fread.obj bn_mp_fwrite.obj bn_mp_cnt_lsb.obj bn_error.obj \ bn_mp_init_multi.obj bn_mp_clear_multi.obj bn_prime_sizes_tab.obj bn_mp_exteuclid.obj bn_mp_toradix_n.obj \ -bn_mp_prime_random_ex.obj bn_mp_get_int.obj bn_mp_sqrt.obj bn_mp_is_square.obj +bn_mp_prime_random_ex.obj bn_mp_get_int.obj bn_mp_sqrt.obj bn_mp_is_square.obj \ +bn_mp_init_set.obj bn_mp_init_set_int.obj library: $(OBJECTS) lib /out:tommath.lib $(OBJECTS) diff --git a/poster.pdf b/poster.pdf index 3731bd2bdaa53bb2052ef8258e5d97368b1b413c..6689f2eb463696b7bcf3c0db068b76926e39a166 100644 GIT binary patch delta 15284 zcmZX*V{~9aw=Ei*9oy*Gw$-t1bZlp*W2a-=R>!uJj%{{qX*VSk56Q2I&>*zzS>6HoE3EfGc?iauMDwCAB9&Ld4OGhi32ClV}Aka;G$c440t+n)2# zJpF#q`tf<%b@BJ@CYkA9OPmr8B(Xq8O;eUa*V*1bG()5&XX*X@8#WNoB*hlTrb9J_ zr{>^57s3h!ac0R?w57MPp?Cb^AObmqjsJxPj5pJ*`lqG;R47yGq=-MBEIQn^BO*s6 zbcYfLLU_Kk|I{96O%j2~HY6;G9GIgN1RSJ;VG|65C<&7Ylg{;CgoBdMtL9-CWRCV1 z7_{Bu9;Eesd4HY#To^_G*MXR!cY3SI6H&!_Fl&%6n>VtXG}huSgCP?6Hve-* z@)@iSrq3U5><5!6{Q~lf}2^0BRkx8d5mp3(y(6Rq64Cdb9*3eDWDn{=e(fJ= z9F#Qt>ldgwHCPq8MjZxDYB=eP+S?j0H&4D&T`{Jr;rAG{uco*-zbi+sKjry?dQgo= zl73jnjk0CLE*VDx%m^Z46{0~$_pr`Je0neu0n0&Dv5HN4%9?iPqc=gF6#N)6?fV3x zeiJU;i!ZgF1uomXp86{r@2Kq(4EiKMQ)Py?fW0eDv;*biilv;Ayg>f{qkitgo|i)4Uy_vNil$SCGg{ z)@`r>Mr#t@Zt6Iz?did(O^l~F6iPB7a*^I#eQqh>ZO=PKeZCG9jw@(zQd<-pmP)#< z){Rbw($7;0W3naYRREHW<2)nlc`1)+S^0KjS!|>OQE(JYE$}DaXU&|4-!Gi1oI9@X zEg5f1x>N=TyQ$|U4977448^maRyR&hA&v8{l)+8?8sZd0KG({A2+Hs}(|DD-H{%Z)e9^DQQ$ zfQtCC{&zafCp#TUg37z0hyJ{j(;$1aqV!RqzRjDrzuWiWmrnnlM)%Y=I7u|9^Zokb z1~scAU(-UjN5p$+*`lQD!rg&lPKl;1)@sUM^5%AGF-kmCT#{}wCkP$KEEO)bG=f8A z_Or~|?P-3BU`iaJ&>O2*!|e9YhFPzoZBv*1BRmqEH4_p2Wg=Np31GDgjfde26a|`q zIKQf_ws(%KCV{MHOV^=r}@o}!nLH)pNEcPg_<0-Va;su*bE zVDD9`O~|D@mB6wnI9^4J!h)cY(1C1*C*}88p57!%L4##AdN}-tWOaRW?2hJ?wBgq= zt6!o8M^Y*gW~_+8!apXV+(O&Cd`aAa9R_;m{9@kl$A^eY4$q4na^F)k_TZ*eK`a>+ z(xr1=33^`6RON&ieGLIUHsIBQ-fL;nFL>(LZH8|us?Py*9CVnmny3A13olezVfvXY zR0&nb-eG}E%vQ7mgEj6fQLV?Jo5%icSb5C86CIh}Y2k%pIcAEUfAyzIbJiuGtjrgS zIRHQMbfB81U#^mo&*fA1=sO{GZ-{wYn#$!c28q~`!cKo{Rt^JJNfn~%qa`Rop1~G{ zq-?w77&+B3d;ayt@HUyOwk{>os|x1}V(3SmWO;mEs(;=rx2SO$GGw&^vk$XQM`z2a zUN3#%_B>2$1^wRY0q-Iw!;lq#OaA@BI%>KR!C8~Aj1d;@n_ND=hF*7x#f7Vn#N5}7 zxuHk{tPVWh+>xiK+H=NleU;wRXwB|6aDxo*g^!$~Nr)H8t5ss>qGM`Wguf`57L=uN z95z;fSH9xKmW($dzo1X}HwBnlPZW5xJReL<`6pgmk{Tg1J5y&DCo`jjGBS54aV=>{ z5$OalvkXF0A?7_zvY!C;TH=A>+dO7U8fvHKCbbJ^g1?kt2D>SB4x4p z%@W;Jk~*cYp-yWLqJx>_2gg)n%s2{ z0c;?JzhTnT)v*y^QB@5QVU3_b(o_BYgTtWxUHr`_ewQ#G4?%qEfkO-*K+(@d`Q0?D zMUDfG*~=7CO9HwL0Smrks2hlQ4T?D?VQ54SS-X7;`Z$P|=g*4|XJW(@Dgq+xA6OeK z1TrBC0YIGOlX-(;K}HGo;wz1$sAES3?-qmDt`{Qxr*?w*k@x&)g(zo@*n-@X|G+Em z!m@~X^0A=yQ1bg)BzT`^7)11(_5&(3EQkq;D-RzV%}3!rKrqcYfIE!(>9x8OWtYqb z9yAsi+$)zP*j(syUPvTO3Sz=hJm^fwAO2bt*rCA3bm(dh7;ZKVIyu=j-LVw?;9Dvx zrVWA#Y9|vl^nZx%R1Mtv&PRa|4&q~pj*B=D{`7h<{@6Zl17VXG2;<=|umR)Ggb+c# zjTfZhLW~Q60ty`ivJJD&oJ1-V{DcY;O9{1|k8R{w$>xt61tXRhdHki8Ah#YhYBE$5 zc=`;%JqB0R#Ya5q*WJ;WA3({yQQF+4BjF3KVS1;HGTu_uO&ga~I*a{6nKPpRe+vm^ zB>}Iy7{bD)@yTV#E*C#vbvv z72B%Yy8^3WBohKAOo|%;(NRizc}`cS>K#1o%&`;!h`Y4MxZK7Ojb zKlh0Y$;SIT`*)4-`$Q6Fcn{v@+5EFLeWk-tQ}}CbRo>sNb?4IYr)rDb{Wfe2fRd=n z>euPEld++VLFLYPJPb1LoUN^!VjhOQMWly{cK(=$>WI9FeWKM?!7&IqVb*DwuJzgn zxB9i8gVE6a?>jP?&-V<&r@o~6@$vI$>{Pf~!Kibibu=@v>7s?`yzvq$x5daUQfMdA z$-A3PAwfFt^Jv#iuH?g$-@u`M0GCM_BU68F__T9+>u>T-zPSfvdnP6YgcF4pB?8gD zIxy$FI<66>?=0T|rSljq)tQc9A-ogw^gKtZ9)^lYGs^IugU`?A*@NkfKt+Wi5+dn zE<)K4_fQ6Ih0m6@r*LR)xdWY`ui&3#_$;W{U=f-@vYm$V6G_fk@5-)c` zY|G4RD{ozS9hmVZ%gtOlz;koY)_Yno5xZZ`+M8LPjhKiyI;>M8u6z%Eu33hnCZW`7 z^?JW{QS3}txxu{0!%at6>)ydCuD3I#v_EJrVwN^!mrfZ!7mXXv{f=98wn-3MDd%*9 zou=-p+SQ|V==%P{c=#;mxEUEmbf{RYPI@mJVNu97a?-84K5ZmkKFteQeRdmU;l{l=deEH>IFlI zfq;T!ZXcr{&VB5?5}fXBoRN%^gSPNv->90f`djXlUVWZ2mHcrNP^n!kA)_?e#Sv$l zylfR)rJAY+V|9k@LT_@-cjo-@o$#?%NYun0|M|N;hLwlOw}Zmj%9$U{56X6K5=f^D zL-!r5qqq)`aKI1g9VlxM;t3eK#&wcMz7TE3Gk-BDv#zNm2RSLV;VPBB({J53WSVs+A z($=`4;$y6Dv+=9Stw?Q%GFcU~zF;n?7gk^$wUlLa5I-*mlt|;^YOnM^`ZCIMGMo-H z*Ye%fpV2M4Wa@1@TDL9mTQ-g4Ls^*?X$Ym&>Jz43p_QhXvvuMRNs%6q&3PzaNua)e zg}q5%XML=>4igs-k7(Ng6r|7NFYMXhzP+0*Uu3ivBEP`9BVB*buTt|yDo6_SbCX0e zSi%!Wx*^X1PA_C4Omf1%k4&p_i;jzhelZbwzPT&T?$%4x;uZC)OLp|D8Y^fH<|!&a z4MF|2^KctGQLWW*FGQ^|yoiiKbshrV;-!2UF8?5&kzQwHWd3(%!)!MFPWTGvy z+{MpoXU+x>Svv+MMV{rZakHi96tzQX$@w7$ACGN4pa9SF1q|kxny-G7j+fSIO_&v* zxfxZX+;YN3^Miyq(}U_Ed35c`v)xy}-s%xLtfKd*=QxB%WfVu>Flu2gAhV0ND0K(# zIlY9O#reV=hc=pDM}+O@Pd&y*e*(p&VABA1vUn8&3k+g=rsOL!QQs%z2NlFs4iOAm zelJQBbnF#l63CB;1ae*gN>SmPu$*{88L!p6)>XW9>=<3v?l zD|GTA9T_2^ub_~HyoK!$um=-v-Itr$?|ytobI(~8*~rdSZ(G(I$W#?wasDjmX7F=D zB+OvM!aord)s~jA$q^u6;ovJkxVY73n3$kqM9P0KGvN?RX=_82o<%`LNP!6Vu^5vs zWA(tQigN?rc{>kC*u>2=(?r7YLS_&Mh@t**LV8R?pdmer{{C7164WsGA=h6ZXn46n z5kE&9AaVP2jV#@eH>Y|97>flF)?# zi>JS4oFe+{C_GH?3TV(pLG6a2CjBQ~{fCxr|0FQ_M*#a;^4TEa1z8Xq)cxi~0|IX6 zEaXStk2Y#*gy=Vm(ywOxkD1H5^c95TVp$=UIkAJA&UFG!R>;5XzBO{;=sqp`}7IXxq#N^`iX%# zb1n)*u#o>}eVEA{Ght~rcDrX@cjxSKauWa~uyMRHg29@oo$3={ZMJ@IxQ)NlF|B~8pd(B{s79Uag34ig$Zi=Z ziuurWZPxnsXlKgAE4Os7?P$&mAa0V{m*a77Vh%67vMgyNJ~7p>nsi&!>g4E5dPG}> zV3ch1y?=X+M1hrNjdr0*xcYs1q!52tfoJhde)?TS;)6nkbt=h>G31%pBmrGZRN1DD&K)8L)Z<@;mse_?-6X zo$CL%l)F029NVh3V@-`5e5s?qq-txt@Lm@SoUJbA6{EoAM7VA?oj;Xz{Yu!rn*?bc z3>S%BN;F4K)Af7p$2DZeQIP{iSKeKh@$57Hgs!X-mP`WQ6B41SJ@i?Ej>ohCPeryv z>7pNyF|qz=2mN|`8Pzfg&=d>WtA`Ob+YK3X=i^J|%@VA+P5rSn5ZImC+||WA>M-ou zIGo;K%y#U{zgbrBoQq>K#q2XnOpMj&aP+N{6gpWzVLavGo1|s+FQ8UZValjn4_wZE z+CUuJWpodwikp9yv+N0`8%znFJ$|sso#J^xoqAd#RZX{G%_?jFmJ8opl^32cYLLAw zQqJ^!6KhiGH!)@y<040ee_W@0$FQ1c@a~ICHuDozOVsLQ47n!vF zv`y#$jm|#LhL{s^e`mN+GQlvK()r@m;#}8>g~22kima8Jab5f+M>c}&c1?!6HE>6L zm3~@N=3#N?kADp>kY`W&vb@YvW-C4?Fjn&|qJ1+f{ie9ywgkVGxBREIQ5%b+l}&e3j}qWrb(PZB8@1R)fkR5axa zA!xs+i>l|m_=_~CF3cRd2zb7(J4hbIEg7dqw-eqM)V@#L0vZ>2pAK^j1DEH3ZQD?L4t zq(NtIJshXh2i&TTd$Z#waaj_wLa-86jMBbx%n|7?9nbIHtcsU(jKpfMG#or(Z@1qg z-%nF3`m7ju8xf6mQ!pi+j~|Ka1_dxe>N)gr<1nb{4#%*B{*R$WI_2X2~>MIC`Mv&3w0WeH0xW?)ZCkv zt4I98h!VJ|x{Vp%SJ$F$93#dpT>5IIMdSKm^}W!sKWCGBHufxF`X$4)xJ@=x4^s9m zqAe}W%S@uQ2;t&S)x+ZH#KK31DRO^J`-_$Knd&l|%1>nT6^WJY!|ibKtbO$}QV!=P zx$gABEC88f|CU}|pmp98q^RTa{7a|@nL;$x^TG1kHLVFdd=H7RaVEN$r0nirgA?nom2egEhj62L(418I zV{{UNjxWtj4s})?tL8SGmuwQqz~G^M(kq)iwi3LnzS&xghgg}pvf8^L*Vsa+yZf^w7u966=Qne_L91B3>2s+r zu%w4Ar<|0|dZ8I?6-uA9cqUEcc}>|eYXfrAD|d~_hnj}c4n?j;Zo`oJ3Yjy#`sK*{Sclehl`sP{H6Z4*7Qbr&QllNCI=K&P&smXXh zkJLg_C(w6t9Ot_N@bn8R{Z$8+EZAn81L=K3*dD1hXJvc7#_*MyM#jvQKpS!>gJi4G?412h+Q}f7E~GDniT3`)IU!?PNZfWJOBZ)HCf%=! zS>0le4-t@B$W7ys?AZy`F%>Pl4>ZQl%ix=_xQ)2339{$~FRFjdd#`x+pJ9PzNq#89 zq!EqOGG>_X-?P;&9JaLG(E(~OL~;3qgtd5o^t3>k8hy-BekFjf$rLWia;##NZ(qe` zqgI`Q@YK@hYf?Rlby4>9Urx(3UdxZIjiQRA&`lqq$;GxLe9W^=onk8qNdDO|(&FpaqB7MQnU@9*_( zF1TF>_*!>4&Dy(Se+7INbpid9U$`NM_Zh1idMFrYTV7YIGCQGf-;!uao6MA7n|DhT z=qt5mlS4?9D&!!Hh*Y-HmRaz9CkSe3ZWLxQ{bpM#G+h>h*#siMEastP6MaW|8sGoGBzIMl0 zf*Ofuk-7VenAddpyB0rPPygPqJ*`4 z_=?fm-z=7j3Gr30;v?PbVv34n9C&r`RhfVhg6_09HSiZc+~AH*J(=ol`Zr|`q%Lx5 z7ooqC_TV!!i2!G~Z*FbPfuRoIC!!8b5f3Sg2Un256kf+=sQ}KcidVDjBa2=^DeO+^jfykhI-w%#gV0(1MF*oXfoxTl>4h92`6C>y8s264tkvBU@!!mN^WV9c zzW5)g6G4$1Ak~C)RMTprw64&$KA28qwO%V0l1+XZt^$JY=$k6+VqE4Bhbk{COuY;a zd48IhwLG>aUNz0#eZPr~m$f%1&&$+RSNtFQT^y!jD>?J9XX>l%a~*oH`|IPRk)!K)-Kr<}eFxD=Q1~&mYRoil%oMb9-{$dB zvIosE-2il#qV9G1CQIlUDNd8BbIA-B@7P|XLkavQ{qcHtO{=P_V18mI3cc#b{W-~u zq{ovBlXZpR&5*{E4R*fiJD*(f^oSGtfE>Z~RL(0ddVkP<4Gd=pnXkSw$`5u9yy!OF zGZmQ?e7iGq)$CtN*hMVK6`Q9p4H~4pbPVugXo0Jn0Lz?*bYKQay6i;qu#$XxPKf&T zhdB9@@DUadtsWj`!JqX;?9#>}H58+HjQf4lx#0&>DmONqA2~UwVWj(}2?@Sa9(+5t zisT;|CHG*_?=xnm;tV!Hg~;J(CMLn=vL4~}_~@acjq)`hDC9{s9%6aKe$9Op(1Sft z+`xP6B+r}DP)b7Q7*{m!ar(of>{UhBFEZE7h2zY!R>N2vNgPd@t>q|jS4kUTC*UA< zzs-65y~ud z>V@m55=f)_8V zya`U~xsfk~8CdFH&LrT*WBJrAdQ{uKusn~2YFMN}DvHClsxRz=CrVQYM|MhVJgG09 z==1rxDLjF%L5Ga@YCdB{o@1j*g(Gk$00pyvzA_N|eK`J9TxHI*QGYSxYWMNrR=z)R z7~Euw79`4@!nu4nRxKX9i^SMv6*xZXSEp@wNegYXU&oZ87brX*$J0<$GEL~}Ztiw| zyLYO%j@fKR2`-{w-jFoK8esa2#C)7gp^VI7W1kJj-B0b$C?PNqcrq5g9(2yawHcZa zI?kP>dr^0iDW3x=sR?BLneHY0;u6Wiwx6Am<4}#NQF(#fneTlTe^c`^54=Pg8X?6< zk}pk7>4YJpGNt zT)<&OHfMtFsCfCg|7QCU6`I3n7~e?bZU#|(>tp+Q$hLmyr9b1gX+h4@M%OClOO~^1 zPSQ%584{|+KxWkKey&Ak54f0S^oF4kpkWt&Q7x1fQwo$7Pvv|W5||MT`Q6PFk?%ii z!IVXIeQNILVP}5ZbCmik)hTcgWL%-fO`M2jBEUqebR7XoOU^7zU#n_c3au|}LGF(< zEyA}OnH5fKB5M7yj<6*MiOd73KkgbDFun|4UM5EUsp&4>>yzO}xWK95t`tb7QJfH2 zj9zS^(8nN47!k6D7lcuv-{V|GXseMN7gK_~hSk_lK7iA{_3?6c;oiIgoF?c`*A9u_ zNeTV6(5NN?~5S?yYTrJx5zRP0+Q&EAO)to~q<{Q1abHx?En zc};`UI)%)&|GcwSGEnhr0U~Ju!lDUs?Wer2NqdV&o~Re&@M9n}WSPsBia zl=<3CiM(NqV186}lP0;`Ts+NTK%~g~r@eWO+-7gSB}E(gEZ|bZ<35>RP?0mfV>ER} zts!l^&Wrp(CM+mVx`OrOp|%|fnMM3g+2OTSKm}J0&M1*>I)H#?|Etk>Yyy(;gksC; z*oCHglF6Qk7Fl*?;GP^pIqcZV?G@XqrtQ+k!E-vFaJ`$m5rbY-ceGEH+z3lmAe`}Z zWPkd-l+yb+75KonO~ACKsAf$J49sl}n|X2z5$w>YmAYBa-I{E-&*IQII=v3$(`j1O ze|r!~aEUlcO(5x9GgpGN6&69LpRuX4y&vzVBb>>n*LD6Djr6gxW(=o~oVfa4`cscH z1BRYRNJev-?9~yjSVO^!Y#iqAAvBbDhCDlUCP6#lIH1P#7Nt20ZXH_b>-~pSX^>fC zdD7g{bB4(5=YrFb_ItCQF;14-+$<+#BO@Fdh?p`F@BI)XoYro}{#qt}s756?jg;_4mAAL-$)Emj1uCPp#d}r78UX$2^-x)tZ~ZTFy;*fwd4pFSUeR_7 zNZ5G+@GnRn(A-c-NhZ?w2}SkI>y%NnHFu1EhPo=1YZq(?qUtQ-Xx&q)lk_{RM|W?O zq)r?yorvEoNLE5ZUz@rlyJ8Q+`rz1Y0w9{cJtuX(Qnt$p0`%P1lYl+HHV~yE6lLMB z!rdS${N2#Ih7iNJ?5n`!QL|)e1midoJsYF2tc}r zFx5|YSK#ZFYU{*N<3JV#hNfx%D3#5XQ;VFgHxgiEWW!fKct_+ zOHQnd?eUQCeCAi1nqKk|6qZ)Kiw0C8S&hxTiyvWjnVB8oTCx?7<=v9aYB(FUSOV3$ z5=tE*FFT>XDQj0^)Z{S9XA2anMF4-U2ixkH?|9n|o(iz0sdr|d9BVGcm~QXp5;jwQ ztuxgj%YK1VQd^}$e8Ju<38iUv3V7;FMD;BJ7n8uh3mCs|Qc7gijS<~9=mtWw6deJz zHq=}zk)KJhAhQ@i@GF~dA?dqBQE@9>CwC-_ zPv9mmFUt#=i?5uuY;#w%CG%n?1TxcnF*ZMuJDG=kvWbege8g`|l?Gaa{f!0VFWq_i z?J?I6zFM6zD_F>jId%ZtLB~yX?$d^JYU>G|{k=sBRym9Ea+aKR)e>2oc}q`o{Kq4Y z0g@`W?YF;N^xbvGVf_y`vISzze&eM}zq_s`MJ!P?yucm@g=F0DZVCSEmqz%`x2jM6 zeL&ik@TYFa*J)S{lM%o$VRl5F!$S0NXl21r?GUF%*#MH&=~8!AWdJUd$VvW2DDP#H z`|fuX7m>9T=TJwHi9v}a`dDs$EQ)4!S9+oWjH~C(FaNhvJIV@H_te8L4ma!}#EL2i-mRq}R#O9!y($71;1UGGfq0D@4TvfM(FR7A zQBHD-6!Ga(ao~Qw;;0ZBh72f=48VXy_6Hgcf1Rk=N!9ugG=863rwfweivdX9Yd^Wm zfC>{S2;+fn9%}OMFa(m|Hq@H<(Qng>2`z$sE8Dd}D6@hUm@Wu$+tyMKWV;|{YOWY9 zFGM^f%TXvX{i|P&yFNe&MG=PH=N(PY1QVE!9$BF$UV=`g(X0o7st1c1Oi|*w8B|q# zkk9s4s)~=v36dF@9e+GsNB~L0jDsadaEtHbnpvfu5mJ`;6%+>X8;EFu5vkCG>;O3; zu?zj4gF8pu!ql8}~}(vwbE`4hF7Q zD-{IS!IqxgHae%=9ws`3Y!3KfOwIUAxP~}1>)q*d?8*&SieRK6AugdT;~M%^+a07L zpvm^AFQTAgti~X70Q6gx_3yHq6SIfRL{UR)?s5?Y zN(y}}s)csu_z1Rm*Sqcu0&e~;{GLW4#@X5xPgcrazC6FeZ-3l-t5t!GIKfF?FCSl| zr1mUtriJ@z)Xv&B2opXlR5m!sN6uljHwzLLpes{exWKd;0D91$0-&A`-#`z&E z7g68arB{S0L8{K*InmWyzd$qN$Q;26#E%N8P;wu6bP6*wWH_oLVo$KsE{b>Pq*6F; zW>x~GWo;*q{;m`!qc-%tIdg~6d1WecFw^~Ir=2{QfRl*{xY&6|rJug`C1`g=``3B`oW}7-wn1aAt!z|SIhE%y^|0BG z=+4pddER`3_FwTco>CmpkumB`dk0u}XJQFgklmDa;Ya|~d} z`<2E^0LFffXlI*@#xXSGsvqr@dS2@>Cz~MI+{o>Lj#6G&2%0`FwR`s#^!>%kRu@_l z;j5LIoF3f@d|`vVn-3CfUb=+&u#dtrwjgGG?DVhdVcUQX#rW59=Meu)-Z_s9MltQB zRym0poSW@G8Q;Kp%^-*f2_UK3sEcc->_qGC0mwpSP-=CjFoOEPC~-ukAHnAs!-pwn{kNyTo=!y%wHG+& zYF`-bSK92>R~NGgmyyE3-RVp2F+2kDNg$lwd zfjFAQqGW_@*>GqEsA+L48YC@v*zt0_OXT*-u*pie%(D@K`s7w!9_#|A_x;`{}6K`L5^T#bPH2ro8d_U2yhl;8*Z zq89?J^D2R|aIb9(y84H{QWft>Nn;xdps>g8ZbK#e=-Q5tQic9MLufpkQqirK+!&HUtK1#0(v2QT!M#)J&xz_m=_nnPr`)4|2yiJh zu%LS#*BPP9%m31mB9-mFDy0LV38ccoTUW6Fd zoJ*ddu!n+ym4R!ic3Qo8dHQ(gFLUCe@W1$XzB zmTtJ0Q;Ho(Us5NJjaI=G7!5gQlq@$$8jrw&uieeFc3ag*|J+w|*GId{h*pxzPXV|0 zn;W4MAAeLoL-hQKVKR62<(Nhk+;e2VvinAR@>V9#MJDZ!=&*EO+pM5E;JmLujrY1< zbHlBuv&8GiiB3*iiE<7jvIUKvBfrpsf8JPwJs)}~KmG*R>vF`CdN1d&xH))cq^Azn z;R)o@wPQjUJ@IrJ=Fh4t(r8X<2Pd|KWgG;ine%~BFWJY_)i%8^Y|Xj z#vZj6+ysO(oMz{3ieZ}cfb2z)wv;0Qb5$L2lns4Py!mf%nuK+G7HB_2 zV?t~yJ8veQ!7!q1rX~1YD$`dv^|aN!sSm4uS444b@$wxYWiLC~EPB|zlr3AE=t}dK z(weRHDx*bJm1eS&cKmpdn|pI~bRJxg_`(?jWL>h_l6`q0xmXx~2ZF11*D>4+Ru-Wk zpJgh=D2n;=vXjm%?ILrLCTqm`pYNf{5NApknIdn}5N@XAmX_MWkKGyBo{RdppM^Ng zo+yWl;z~p9?A1X8rhOOaz*)0I3n9hHYs4HTWiqnQs7~c^`U=dh_IpLWxkt3&glXZW zm0x-a1kh8|<-gT;04d{28#qb38+5Vffync8(w8Me#`QtdSZB?a+(X!Rg<~d-T4YqB zG|eHdX79^Fqhw)ry5p)gK@C?@IVk$b;~0Vs)PYFj)r@KS&NZ!PY@R^O^vPZ^5w*3( zZ$aZ(?zDYs_RDO>W1V~_*830$PfCQ1;*mzS2l12T)3K%pz`Aw_Axla+I?;P>W+8l2 zGo=MdM=9h%*h5FFq-ogO;INLM&xW!ORB?ZM!nw;`pSbZVi#RzU;`g zd%P$dR&Pxbc|S4L!&3r%pZvzlcRTUKJ|X#_##HU?*u}N8j{u!5%Ytcyq+X-Iv>D2W z!O;npqC_+cc$A6jE5PXBn$)FJ(6;`eS=9bgU@)O43^AHeoM7kUIFk+Kg?<7e?6{pqEKlbem4vy77&AlnQctHmE8s&HBxpp)x8(< zUG-50aE}WSk7p>m!mGnRTXGdOavN|&QZt8l)DxNhBe`FNC;G+uXAumA=^QL9s^Gxd zU71Ou8qQ>&jPLEvTU~7%uavA{8C}Qyh+hHS9w95Fj-P3eNp_F9K6&VD+TvM$&HNX% z5ClInbf`?pfgEm`t2i;dFTm*>a_tZTIFa zpO_Q>au74V>IGG6c zdk4|0tnhC1OT22+Li3l1^i>S1vC>ddlsN;hgvLxO#JTTgk@Ay*?qB*L4YHyWz_V)e zgSt)gM%#&gpmrdW3t1{@cUaZ6hPi*}10H+>!WGn;x^7QWVhuv+l)An#hq7049jva0w4WacwP4!$ z9W8oW>}Qf3*Xj!(MXNBqAI(bhs0Qjge+S-(|CmP9u;eSFWH7(F7Kf5V_Wmw1V1uTh zTBub1+m|8APu7wJzK3<}ed89ft29m%vF|Fsa-e|Y74j=SS+oirr?#xdBd`rd9yrjY z6q;@+EsXZuRF_6Huo9^_Tw)i9%x&-Dep5}ffx-QIMLrFk05W4u_$$;51ucSKL9xz02jq4!NRF8qu*k;?|i4d-0XYfBf}YfLn({6@0`_+ zC-6ebn?Kix{K%90ad?<@w@mROAmzS83A^yx>m2+^3ih_1k$5awxheFrO0DOjBmAeV z_FGEiT_YYcI=J3dQw>3Vx}x3y{ubBjNPbn)VIod*T%u9-eD#}p8n8i^rDLGE#`_R0 zX1OL;X}Q-(W;`o8X-pUtcXUtxw-Z4FjLpycTq;TF#{g9``PvF?;z}_6O`zjK-+^0n zu6=+WY@yAojw^!|SsW3sdIjf>q%wc*`fTi%>}1X5E?EpIUv0GoY||~|0*1-vlTlBP zoSL_IvHNEvPEX?HedC6wcxGoxj*fH(Uh&G`MepiL0t@IyX03M{XKs25BO&R{Ixp)c z3T6*D>Xv6pnjwZOd*uqmvGN2Ag0>e{r|?j*NQ6%9l%Su2A3~q(PqBa3F}qA`Ji$SK z7uX-r2yHKO30=wlka7yz8e$2eDc|A$3(5W0<&6XaKD>sx6mxKBE+%efE@t)wp^SHc zlbGp053wCF+pA=ChmVZRxT!ve>fI4CKj%LI965;wtr(;SlOBWM+f}> z#>^aCoNWIDv#|bE{=+e|voil{%*?{Y`M)@JX7+!LnOWHX@nB?PVrKfQ{MUqqjrrd{ zVd7@tW=r^T!IH!I7(dHKt6{F^^k?!UA7zhXK5Uk?{2 UqXfnrURVw$I0_1J1qrzS1ISSsiU0rr delta 15302 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 + olduse = c->used; c->used = digs; { @@ -779,7 +779,7 @@ mp_2expt (mp_int * a, int b) a->used = b / DIGIT_BIT + 1; /* put the single bit in its place */ - a->dp[b / DIGIT_BIT] = 1 << (b % DIGIT_BIT); + a->dp[b / DIGIT_BIT] = ((mp_digit)1) << (b % DIGIT_BIT); return MP_OKAY; } @@ -1142,10 +1142,14 @@ mp_clamp (mp_int * a) 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 */ - memset (a->dp, 0, sizeof (mp_digit) * a->used); + for (i = 0; i < a->used; i++) { + a->dp[i] = 0; + } /* free ram */ XFREE(a->dp); @@ -1677,7 +1681,7 @@ int mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) */ /* get sign before writing to c */ - x.sign = a->sign; + x.sign = x.used == 0 ? MP_ZPOS : a->sign; if (c != NULL) { mp_clamp (&q); @@ -3083,15 +3087,22 @@ int mp_grow (mp_int * a, int size) */ #include -/* init a new bigint */ +/* 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) XCALLOC (sizeof (mp_digit), MP_PREC); + 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; @@ -3753,9 +3764,6 @@ int mp_karatsuba_mul (mp_int * a, mp_int * b, mp_int * c) goto X0Y0; /* now shift the digits */ - x0.sign = x1.sign = a->sign; - y0.sign = y1.sign = b->sign; - x0.used = y0.used = B; x1.used = a->used - B; y1.used = b->used - B; @@ -4484,7 +4492,7 @@ int mp_mul (mp_int * a, mp_int * b, mp_int * c) res = s_mp_mul (a, b, c); } } - c->sign = neg; + c->sign = (c->used > 0) ? neg : MP_ZPOS; return res; } @@ -6090,7 +6098,8 @@ mp_reduce_2k_setup(mp_int *a, mp_digit *d) /* determines if mp_reduce_2k can be used */ int mp_reduce_is_2k(mp_int *a) { - int ix, iy, iz, iw; + int ix, iy, iw; + mp_digit iz; if (a->used == 0) { return 0; @@ -6107,7 +6116,7 @@ int mp_reduce_is_2k(mp_int *a) return 0; } iz <<= 1; - if (iz > (int)MP_MASK) { + if (iz > (mp_digit)MP_MASK) { ++iw; iz = 1; } @@ -8396,14 +8405,16 @@ s_mp_sub (mp_int * a, mp_int * b, mp_int * c) 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 = 109, /* Min. number of digits before Karatsuba multiplication is used. */ - KARATSUBA_SQR_CUTOFF = 127, /* 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; diff --git a/pretty.build b/pretty.build new file mode 100644 index 0000000..a708b8a --- /dev/null +++ b/pretty.build @@ -0,0 +1,66 @@ +#!/bin/perl -w +# +# Cute little builder for perl +# Total waste of development time... +# +# This will build all the object files and then the archive .a file +# requires GCC, GNU make and a sense of humour. +# +# Tom St Denis +use strict; + +my $count = 0; +my $starttime = time; +my $rate = 0; +print "Scanning for source files...\n"; +foreach my $filename (glob "*.c") { + ++$count; +} +print "Source files to build: $count\nBuilding...\n"; +my $i = 0; +my $lines = 0; +my $filesbuilt = 0; +foreach my $filename (glob "*.c") { + printf("Building %3.2f%%, ", (++$i/$count)*100.0); + if ($i % 4 == 0) { print "/, "; } + if ($i % 4 == 1) { print "-, "; } + if ($i % 4 == 2) { print "\\, "; } + if ($i % 4 == 3) { print "|, "; } + if ($rate > 0) { + my $tleft = ($count - $i) / $rate; + my $tsec = $tleft%60; + my $tmin = ($tleft/60)%60; + my $thour = ($tleft/3600)%60; + printf("%2d:%02d:%02d left, ", $thour, $tmin, $tsec); + } + my $cnt = ($i/$count)*30.0; + my $x = 0; + print "["; + for (; $x < $cnt; $x++) { print "#"; } + for (; $x < 30; $x++) { print " "; } + print "]\r"; + my $tmp = $filename; + $tmp =~ s/\.c/".o"/ge; + if (open(SRC, "<$tmp")) { + close SRC; + } else { + !system("make $tmp > /dev/null 2>/dev/null") or die "\nERROR: Failed to make $tmp!!!\n"; + open( SRC, "<$filename" ) or die "Couldn't open $filename for reading: $!"; + ++$lines while (); + close SRC or die "Error closing $filename after reading: $!"; + ++$filesbuilt; + } + + # update timer + if (time != $starttime) { + my $delay = time - $starttime; + $rate = $i/$delay; + } +} + +# finish building the library +printf("\nFinished building source (%d seconds, %3.2f files per second).\n", time - $starttime, $rate); +print "Compiled approximately $filesbuilt files and $lines lines of code.\n"; +print "Doing final make (building archive...)\n"; +!system("make > /dev/null 2>/dev/null") or die "\nERROR: Failed to perform last make command!!!\n"; +print "done.\n"; \ No newline at end of file diff --git a/tommath.pdf b/tommath.pdf index fc3301a306fc0e63f9012d97b879bbed326ebf54..bcc919a7600b640bae9359dcab02ef0db658a86a 100644 GIT binary patch delta 696996 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

4e-6fa7Megz9cC&iQVB&?&z%_NB*I<(EQ_I3$ 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%0DHtfw6m=SP-O&?r_B!&Z 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�(k|%v*}kj0 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

)PGKHF;r*sIZw7q5h4_3QqSs!N>)$E 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%0ArAf5cQpYGvL~E1p)$%1zP>J!g^|7G{$hjt7lKf> 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 z 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ξ12?Mtsa<*>w?z>r*->P?(L1!bMe9 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 #E2J^}xVi2_<7h--#1#TR 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

!0%&IIa` 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 i!Oz`v^bZILsQqbL5 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�)@oS3c9@%wSRMmTxiNfBJ6V#n<9DNG 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 &mgQX%!cXc;g8ERxX@v4 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 != NULL@) prevents the heap from being corrupted if a user double-frees an -mp\_int. This is because once the memory is freed the pointer is set to \textbf{NULL} (line @30,NULL@). +The algorithm only operates on the mp\_int if it hasn't been previously cleared. The if statement (line @23,a->dp != NULL@) +checks to see if the \textbf{dp} member is not \textbf{NULL}. If the mp\_int is a valid mp\_int then \textbf{dp} cannot be +\textbf{NULL} in which case the if statement will evaluate to true. -Without the check, code that accidentally calls mp\_clear twice for a given mp\_int structure would try to free the memory -allocated for the digits twice. This may cause some C libraries to signal a fault. By setting the pointer to -\textbf{NULL} it helps debug code that may inadvertently free the mp\_int before it is truly not needed, because attempts -to reference digits should fail immediately. The allocated digits are set to zero before being freed (line @24,memset@). -This is ideal for cryptographic situations where the integer that the mp\_int represents might need to be kept a secret. +The digits of the mp\_int are cleared by the for loop (line @25,for@) which assigns a zero to every digit. Similar to mp\_init() +the digits are assigned zero instead of using block memory operations (such as memset()) since this is more portable. + +The digits are deallocated off the heap via the XFREE macro. Similar to XMALLOC the XFREE macro actually evaluates to +a standard C library function. In this case the free() function. Since free() only deallocates the memory the pointer +still has to be reset to \textbf{NULL} manually (line @33,NULL@). + +Now that the digits have been cleared and deallocated the other members are set to their final values (lines @34,= 0@ and @35,ZPOS@). \section{Maintenance Algorithms} @@ -889,7 +912,7 @@ must be re-sized appropriately to accomodate the result. The mp\_grow algorithm 1. if $a.alloc \ge b$ then return(\textit{MP\_OKAY}) \\ 2. $u \leftarrow b\mbox{ (mod }MP\_PREC\mbox{)}$ \\ 3. $v \leftarrow b + 2 \cdot MP\_PREC - u$ \\ -4. Re-Allocate the array of digits $a$ to size $v$ \\ +4. Re-allocate the array of digits $a$ to size $v$ \\ 5. If the allocation failed then return(\textit{MP\_MEM}). \\ 6. for n from a.alloc to $v - 1$ do \\ \hspace{+3mm}6.1 $a_n \leftarrow 0$ \\ @@ -914,15 +937,19 @@ assumed to contain undefined values they are initially set to zero. EXAM,bn_mp_grow.c -The first step is to see if we actually need to perform a re-allocation at all (line @24,a->alloc < size@). If a reallocation -must occur the digit count is padded upwards to help prevent many trivial reallocations (line @28,size@). Next the reallocation is performed -and the return of realloc() is stored in a temporary pointer named $tmp$ (line @36,realloc@). The return is stored in a temporary -instead of $a.dp$ to prevent the code from losing the original pointer in case the reallocation fails. Had the return been stored -in $a.dp$ instead there would be no way to reclaim the heap originally used. +A quick optimization is to first determine if a memory re-allocation is required at all. The if statement (line @23,if@) checks +if the \textbf{alloc} member of the mp\_int is smaller than the requested digit count. If the count is not larger than \textbf{alloc} +the function skips the re-allocation part thus saving time. -If the reallocation fails the function will return \textbf{MP\_MEM} (line @39,return@), otherwise, the value of $tmp$ is assigned -to the pointer $a.dp$ and the function continues. A simple for loop from line @48,a->alloc@ to line @50,}@ will zero all digits -that were above the old \textbf{alloc} limit to make sure the integer is in a known state. +When a re-allocation is performed it is turned into an optimal request to save time in the future. The requested digit count is +padded upwards to 2nd multiple of \textbf{MP\_PREC} larger than \textbf{alloc} (line @25, size@). The XREALLOC function is used +to re-allocate the memory. As per the other functions XREALLOC is actually a macro which evaluates to realloc by default. The realloc +function leaves the base of the allocation intact which means the first \textbf{alloc} digits of the mp\_int are the same as before +the re-allocation. All that is left is to clear the newly allocated digits and return. + +Note that the re-allocation result is actually stored in a temporary pointer $tmp$. This is to allow this function to return +an error with a valid pointer. Earlier releases of the library stored the result of XREALLOC into the mp\_int $a$. That would +result in a memory leak if XREALLOC ever failed. \subsection{Initializing Variable Precision mp\_ints} Occasionally the number of digits required will be known in advance of an initialization, based on, for example, the size @@ -970,7 +997,7 @@ The number of digits $b$ requested is padded (line @22,MP_PREC@) by first augmen mp\_int is placed in a default state representing the integer zero. Otherwise, the error code \textbf{MP\_MEM} will be returned (line @27,return@). -The digits are allocated and set to zero at the same time with the calloc() function (line @25,calloc@). The +The digits are allocated and set to zero at the same time with the calloc() function (line @25,XCALLOC@). The \textbf{used} count is set to zero, the \textbf{alloc} count set to the padded digit count and the \textbf{sign} flag set to \textbf{MP\_ZPOS} to achieve a default valid mp\_int state (lines @29,used@, @30,alloc@ and @31,sign@). If the function returns succesfully then it is correct to assume that the mp\_int structure is in a valid state for the remainder of the diff --git a/tommath.tex b/tommath.tex index 629edba..3fbe907 100644 --- a/tommath.tex +++ b/tommath.tex @@ -258,7 +258,7 @@ floating point is meant to be implemented in hardware the precision of the manti a mantissa of much larger precision than hardware alone can efficiently support. This approach could be useful where scientific applications must minimize the total output error over long calculations. -Another use for large integers is within arithmetic on polynomials of large characteristic (i.e. $GF(p)[x]$ for large $p$). +Yet another use for large integers is within arithmetic on polynomials of large characteristic (i.e. $GF(p)[x]$ for large $p$). In fact the library discussed within this text has already been used to form a polynomial basis library\footnote{See \url{http://poly.libtomcrypt.org} for more details.}. \subsection{Benefits of Multiple Precision Arithmetic} @@ -316,7 +316,7 @@ the reader how the algorithms fit together as well as where to start on various \section{Discussion and Notation} \subsection{Notation} -A multiple precision integer of $n$-digits shall be denoted as $x = (x_{n-1} ... x_1 x_0)_{ \beta }$ and represent +A multiple precision integer of $n$-digits shall be denoted as $x = (x_{n-1}, \ldots, x_1, x_0)_{ \beta }$ and represent the integer $x \equiv \sum_{i=0}^{n-1} x_i\beta^i$. The elements of the array $x$ are said to be the radix $\beta$ digits of the integer. For example, $x = (1,2,3)_{10}$ would represent the integer $1\cdot 10^2 + 2\cdot10^1 + 3\cdot10^0 = 123$. @@ -339,12 +339,11 @@ algorithms will be used to establish the relevant theory which will subsequently precision algorithm to solve the same problem. \subsection{Precision Notation} -For the purposes of this text a single precision variable must be able to represent integers in the range -$0 \le x < q \beta$ while a double precision variable must be able to represent integers in the range -$0 \le x < q \beta^2$. The variable $\beta$ represents the radix of a single digit of a multiple precision integer and -must be of the form $q^p$ for $q, p \in \Z^+$. The extra radix-$q$ factor allows additions and subtractions to proceed -without truncation of the carry. Since all modern computers are binary, it is assumed that $q$ is two, for all intents -and purposes. +The variable $\beta$ represents the radix of a single digit of a multiple precision integer and +must be of the form $q^p$ for $q, p \in \Z^+$. A single precision variable must be able to represent integers in +the range $0 \le x < q \beta$ while a double precision variable must be able to represent integers in the range +$0 \le x < q \beta^2$. The extra radix-$q$ factor allows additions and subtractions to proceed without truncation of the +carry. Since all modern computers are binary, it is assumed that $q$ is two. \index{mp\_digit} \index{mp\_word} Within the source code that will be presented for each algorithm, the data type \textbf{mp\_digit} will represent @@ -376,7 +375,7 @@ the $/$ division symbol is used the intention is to perform an integer division $5/2 = 2$ which will often be written as $\lfloor 5/2 \rfloor = 2$ for clarity. When an expression is written as a fraction a real value division is implied, for example ${5 \over 2} = 2.5$. -The norm of a multiple precision integer, for example, $\vert \vert x \vert \vert$ will be used to represent the number of digits in the representation +The norm of a multiple precision integer, for example $\vert \vert x \vert \vert$, will be used to represent the number of digits in the representation of the integer. For example, $\vert \vert 123 \vert \vert = 3$ and $\vert \vert 79452 \vert \vert = 5$. \subsection{Work Effort} @@ -569,7 +568,7 @@ By building outwards from a base foundation instead of using a parallel design m highly modular. Being highly modular is a desirable property of any project as it often means the resulting product has a small footprint and updates are easy to perform. -Usually when I start a project I will begin with the header file. I define the data types I think I will need and +Usually when I start a project I will begin with the header files. I define the data types I think I will need and prototype the initial functions that are not dependent on other functions (within the library). After I implement these base functions I prototype more dependent functions and implement them. The process repeats until I implement all of the functions I require. For example, in the case of LibTomMath I implemented functions such as @@ -625,14 +624,26 @@ any such data type but it does provide for making composite data types known as used within LibTomMath. \index{mp\_int} -\begin{verbatim} -typedef struct { - int used, alloc, sign; - mp_digit *dp; -} mp_int; -\end{verbatim} +\begin{figure}[here] +\begin{center} +\begin{small} +%\begin{verbatim} +\begin{tabular}{|l|} +\hline +typedef struct \{ \\ +\hspace{3mm}int used, alloc, sign;\\ +\hspace{3mm}mp\_digit *dp;\\ +\} \textbf{mp\_int}; \\ +\hline +\end{tabular} +%\end{verbatim} +\end{small} +\caption{The mp\_int Structure} +\label{fig:mpint} +\end{center} +\end{figure} -The mp\_int structure can be broken down as follows. +The mp\_int structure (fig. \ref{fig:mpint}) can be broken down as follows. \begin{enumerate} \item The \textbf{used} parameter denotes how many digits of the array \textbf{dp} contain the digits used to represent @@ -707,9 +718,10 @@ fault by dereferencing memory not owned by the application. In the case of LibTomMath the only errors that are checked for are related to inappropriate inputs (division by zero for instance) and memory allocation errors. It will not check that the mp\_int passed to any function is valid nor will it check pointers for validity. Any function that can cause a runtime error will return an error code as an -\textbf{int} data type with one of the following values. +\textbf{int} data type with one of the following values (fig \ref{fig:errcodes}). \index{MP\_OKAY} \index{MP\_VAL} \index{MP\_MEM} +\begin{figure}[here] \begin{center} \begin{tabular}{|l|l|} \hline \textbf{Value} & \textbf{Meaning} \\ @@ -719,6 +731,9 @@ will it check pointers for validity. Any function that can cause a runtime erro \hline \end{tabular} \end{center} +\caption{LibTomMath Error Codes} +\label{fig:errcodes} +\end{figure} When an error is detected within a function it should free any memory it allocated, often during the initialization of temporary mp\_ints, and return as soon as possible. The goal is to leave the system in the same state it was when the @@ -754,6 +769,7 @@ to zero. The \textbf{used} count set to zero and \textbf{sign} set to \textbf{M An mp\_int is said to be initialized if it is set to a valid, preferably default, state such that all of the members of the structure are set to valid values. The mp\_init algorithm will perform such an action. +\index{mp\_init} \begin{figure}[here] \begin{center} \begin{tabular}{l} @@ -776,17 +792,23 @@ structure are set to valid values. The mp\_init algorithm will perform such an \end{figure} \textbf{Algorithm mp\_init.} -The \textbf{MP\_PREC} name represents a constant\footnote{Defined in the ``tommath.h'' header file within LibTomMath.} -used to dictate the minimum precision of allocated mp\_int integers. Ideally, it is at least equal to $32$ since for most -purposes that will be more than enough. +The purpose of this function is to initialize an mp\_int structure so that the rest of the library can properly +manipulte it. It is assumed that the input may not have had any of its members previously initialized which is certainly +a valid assumption if the input resides on the stack. -Memory for the default number of digits is allocated first. If the allocation fails the algorithm returns immediately -with the \textbf{MP\_MEM} error code. If the allocation succeeds the remaining members of the mp\_int structure -must be initialized to reflect the default initial state. +Before any of the members such as \textbf{sign}, \textbf{used} or \textbf{alloc} are initialized the memory for +the digits is allocated. If this fails the function returns before setting any of the other members. The \textbf{MP\_PREC} +name represents a constant\footnote{Defined in the ``tommath.h'' header file within LibTomMath.} +used to dictate the minimum precision of newly initialized mp\_int integers. Ideally, it is at least equal to the smallest +precision number you'll be working with. -The allocated digits are all set to zero (step three) to ensure they are in a known state. The \textbf{sign}, \textbf{used} -and \textbf{alloc} are subsequently initialized to represent the zero integer. By step seven the algorithm returns a success -code and the mp\_int $a$ has been successfully initialized to a valid state representing the integer zero. +Allocating a block of digits at first instead of a single digit has the benefit of lowering the number of usually slow +heap operations later functions will have to perform in the future. If \textbf{MP\_PREC} is set correctly the slack +memory and the number of heap operations will be trivial. + +Once the allocation has been made the digits have to be set to zero as well as the \textbf{used}, \textbf{sign} and +\textbf{alloc} members initialized. This ensures that the mp\_int will always represent the default state of zero regardless +of the original condition of the input. \textbf{Remark.} This function introduces the idiosyncrasy that all iterative loops, commonly initiated with the ``for'' keyword, iterate incrementally @@ -800,24 +822,30 @@ decrementally. \hspace{-5.1mm}{\bf File}: bn\_mp\_init.c \vspace{-3mm} \begin{alltt} -016 -017 /* init a new bigint */ -018 int mp_init (mp_int * a) -019 \{ -020 /* allocate memory required and clear it */ -021 a->dp = OPT_CAST(mp_digit) XCALLOC (sizeof (mp_digit), MP_PREC); -022 if (a->dp == NULL) \{ -023 return MP_MEM; -024 \} -025 -026 /* set the used to zero, allocated digits to the default precision -027 * and sign to positive */ -028 a->used = 0; -029 a->alloc = MP_PREC; -030 a->sign = MP_ZPOS; +016 /* init a new mp_int */ +017 int mp_init (mp_int * a) +018 \{ +019 int i; +020 +021 /* allocate memory required and clear it */ +022 a->dp = OPT_CAST(mp_digit) XMALLOC (sizeof (mp_digit) * MP_PREC); +023 if (a->dp == NULL) \{ +024 return MP_MEM; +025 \} +026 +027 /* set the digits to zero */ +028 for (i = 0; i < MP_PREC; i++) \{ +029 a->dp[i] = 0; +030 \} 031 -032 return MP_OKAY; -033 \} +032 /* set the used to zero, allocated digits to the default precision +033 * and sign to positive */ +034 a->used = 0; +035 a->alloc = MP_PREC; +036 a->sign = MP_ZPOS; +037 +038 return MP_OKAY; +039 \} \end{alltt} \end{small} @@ -825,19 +853,21 @@ One immediate observation of this initializtion function is that it does not ret is assumed that the caller has already allocated memory for the mp\_int structure, typically on the application stack. The call to mp\_init() is used only to initialize the members of the structure to a known default state. -Before any of the other members of the structure are initialized memory from the application heap is allocated with -the calloc() function (line @22,calloc@). The size of the allocated memory is large enough to hold \textbf{MP\_PREC} -mp\_digit variables. The calloc() function is used instead\footnote{calloc() will allocate memory in the same -manner as malloc() except that it also sets the contents to zero upon successfully allocating the memory.} of malloc() -since digits have to be set to zero for the function to finish correctly. The \textbf{OPT\_CAST} token is a macro -definition which will turn into a cast from void * to mp\_digit * for C++ compilers. It is not required for C compilers. +Here we see (line 22) the memory allocation is performed first. This allows us to exit cleanly and quickly +if there is an error. If the allocation fails the routine will return \textbf{MP\_MEM} to the caller to indicate there +was a memory error. The function XMALLOC is what actually allocates the memory. Technically XMALLOC is not a function +but a macro defined in ``tommath.h``. By default, XMALLOC will evaluate to malloc() which is the C library's built--in +memory allocation routine. -After the memory has been successfully allocated the remainder of the members are initialized -(lines 28 through 30) to their respective default states. At this point the algorithm has succeeded and -a success code is returned to the calling function. +In order to assure the mp\_int is in a known state the digits must be set to zero. On most platforms this could have been +accomplished by using calloc() instead of malloc(). However, to correctly initialize a integer type to a given value in a +portable fashion you have to actually assign the value. The for loop (line 28) performs this required +operation. -If this function returns \textbf{MP\_OKAY} it is safe to assume the mp\_int structure has been properly initialized and -is safe to use with other functions within the library. +After the memory has been successfully initialized the remainder of the members are initialized +(lines 32 through 33) to their respective default states. At this point the algorithm has succeeded and +a success code is returned to the calling function. If this function returns \textbf{MP\_OKAY} it is safe to assume the +mp\_int structure has been properly initialized and is safe to use with other functions within the library. \subsection{Clearing an mp\_int} When an mp\_int is no longer required by the application, the memory that has been allocated for its digits must be @@ -848,7 +878,7 @@ returned to the application's memory pool with the mp\_clear algorithm. \begin{tabular}{l} \hline Algorithm \textbf{mp\_clear}. \\ \textbf{Input}. An mp\_int $a$ \\ -\textbf{Output}. The memory for $a$ is freed for reuse. \\ +\textbf{Output}. The memory for $a$ shall be deallocated. \\ \hline \\ 1. If $a$ has been previously freed then return(\textit{MP\_OKAY}). \\ 2. for $n$ from 0 to $a.used - 1$ do \\ @@ -865,56 +895,58 @@ returned to the application's memory pool with the mp\_clear algorithm. \end{figure} \textbf{Algorithm mp\_clear.} -This algorithm releases the memory allocated for an mp\_int back into the memory pool for reuse. It is designed -such that a given mp\_int structure can be cleared multiple times between initializations without attempting to -free the memory twice\footnote{In ISO C for example, calling free() twice on the same memory block causes undefinied -behaviour.}. +This algorithm accomplishes two goals. First, it clears the digits and the other mp\_int members. This ensures that +if a developer accidentally re-uses a cleared structure it is less likely to cause problems. The second goal +is to free the allocated memory. -The first step determines if the mp\_int structure has been marked as free already. If it has, the algorithm returns -success immediately as no further actions are required. Otherwise, the algorithm will proceed to put the structure -in a known empty and otherwise invalid state. First the digits of the mp\_int are set to zero. The memory that has been allocated for the -digits is then freed. The \textbf{used} and \textbf{alloc} counts are both set to zero and the \textbf{sign} set to -\textbf{MP\_ZPOS}. This known fixed state for cleared mp\_int structures will make debuging easier for the end -developer. That is, if they spot (via their debugger) an mp\_int they are using that is in this state it will be -obvious that they erroneously and prematurely cleared the mp\_int structure. +The logic behind the algorithm is extended by marking cleared mp\_int structures so that subsequent calls to this +algorithm will not try to free the memory multiple times. Cleared mp\_ints are detectable by having a pre-defined invalid +digit pointer \textbf{dp} setting. -Note that once an mp\_int has been cleared the mp\_int structure is no longer in a valid state for any other algorithm +Once an mp\_int has been cleared the mp\_int structure is no longer in a valid state for any other algorithm with the exception of algorithms mp\_init, mp\_init\_copy, mp\_init\_size and mp\_clear. \vspace{+3mm}\begin{small} \hspace{-5.1mm}{\bf File}: bn\_mp\_clear.c \vspace{-3mm} \begin{alltt} -016 -017 /* clear one (frees) */ -018 void -019 mp_clear (mp_int * a) -020 \{ -021 /* only do anything if a hasn't been freed previously */ -022 if (a->dp != NULL) \{ -023 /* first zero the digits */ -024 memset (a->dp, 0, sizeof (mp_digit) * a->used); -025 -026 /* free ram */ -027 XFREE(a->dp); +016 /* clear one (frees) */ +017 void +018 mp_clear (mp_int * a) +019 \{ +020 int i; +021 +022 /* only do anything if a hasn't been freed previously */ +023 if (a->dp != NULL) \{ +024 /* first zero the digits */ +025 for (i = 0; i < a->used; i++) \{ +026 a->dp[i] = 0; +027 \} 028 -029 /* reset members to make debugging easier */ -030 a->dp = NULL; -031 a->alloc = a->used = 0; -032 a->sign = MP_ZPOS; -033 \} -034 \} +029 /* free ram */ +030 XFREE(a->dp); +031 +032 /* reset members to make debugging easier */ +033 a->dp = NULL; +034 a->alloc = a->used = 0; +035 a->sign = MP_ZPOS; +036 \} +037 \} \end{alltt} \end{small} -The ``if'' statement (line 22) prevents the heap from being corrupted if a user double-frees an -mp\_int. This is because once the memory is freed the pointer is set to \textbf{NULL} (line 30). +The algorithm only operates on the mp\_int if it hasn't been previously cleared. The if statement (line 23) +checks to see if the \textbf{dp} member is not \textbf{NULL}. If the mp\_int is a valid mp\_int then \textbf{dp} cannot be +\textbf{NULL} in which case the if statement will evaluate to true. -Without the check, code that accidentally calls mp\_clear twice for a given mp\_int structure would try to free the memory -allocated for the digits twice. This may cause some C libraries to signal a fault. By setting the pointer to -\textbf{NULL} it helps debug code that may inadvertently free the mp\_int before it is truly not needed, because attempts -to reference digits should fail immediately. The allocated digits are set to zero before being freed (line 24). -This is ideal for cryptographic situations where the integer that the mp\_int represents might need to be kept a secret. +The digits of the mp\_int are cleared by the for loop (line 25) which assigns a zero to every digit. Similar to mp\_init() +the digits are assigned zero instead of using block memory operations (such as memset()) since this is more portable. + +The digits are deallocated off the heap via the XFREE macro. Similar to XMALLOC the XFREE macro actually evaluates to +a standard C library function. In this case the free() function. Since free() only deallocates the memory the pointer +still has to be reset to \textbf{NULL} manually (line 33). + +Now that the digits have been cleared and deallocated the other members are set to their final values (lines 34 and 35). \section{Maintenance Algorithms} @@ -942,7 +974,7 @@ must be re-sized appropriately to accomodate the result. The mp\_grow algorithm 1. if $a.alloc \ge b$ then return(\textit{MP\_OKAY}) \\ 2. $u \leftarrow b\mbox{ (mod }MP\_PREC\mbox{)}$ \\ 3. $v \leftarrow b + 2 \cdot MP\_PREC - u$ \\ -4. Re-Allocate the array of digits $a$ to size $v$ \\ +4. Re-allocate the array of digits $a$ to size $v$ \\ 5. If the allocation failed then return(\textit{MP\_MEM}). \\ 6. for n from a.alloc to $v - 1$ do \\ \hspace{+3mm}6.1 $a_n \leftarrow 0$ \\ @@ -969,54 +1001,57 @@ assumed to contain undefined values they are initially set to zero. \hspace{-5.1mm}{\bf File}: bn\_mp\_grow.c \vspace{-3mm} \begin{alltt} -016 -017 /* grow as required */ -018 int mp_grow (mp_int * a, int size) -019 \{ -020 int i; -021 mp_digit *tmp; -022 -023 /* if the alloc size is smaller alloc more ram */ -024 if (a->alloc < size) \{ -025 /* ensure there are always at least MP_PREC digits extra on top */ -026 size += (MP_PREC * 2) - (size % MP_PREC); -027 -028 /* reallocate the array a->dp -029 * -030 * We store the return in a temporary variable -031 * in case the operation failed we don't want -032 * to overwrite the dp member of a. -033 */ -034 tmp = OPT_CAST(mp_digit) XREALLOC (a->dp, sizeof (mp_digit) * size); -035 if (tmp == NULL) \{ -036 /* reallocation failed but "a" is still valid [can be freed] */ -037 return MP_MEM; -038 \} -039 -040 /* reallocation succeeded so set a->dp */ -041 a->dp = tmp; -042 -043 /* zero excess digits */ -044 i = a->alloc; -045 a->alloc = size; -046 for (; i < a->alloc; i++) \{ -047 a->dp[i] = 0; -048 \} -049 \} -050 return MP_OKAY; -051 \} +016 /* grow as required */ +017 int mp_grow (mp_int * a, int size) +018 \{ +019 int i; +020 mp_digit *tmp; +021 +022 /* if the alloc size is smaller alloc more ram */ +023 if (a->alloc < size) \{ +024 /* ensure there are always at least MP_PREC digits extra on top */ +025 size += (MP_PREC * 2) - (size % MP_PREC); +026 +027 /* reallocate the array a->dp +028 * +029 * We store the return in a temporary variable +030 * in case the operation failed we don't want +031 * to overwrite the dp member of a. +032 */ +033 tmp = OPT_CAST(mp_digit) XREALLOC (a->dp, sizeof (mp_digit) * size); +034 if (tmp == NULL) \{ +035 /* reallocation failed but "a" is still valid [can be freed] */ +036 return MP_MEM; +037 \} +038 +039 /* reallocation succeeded so set a->dp */ +040 a->dp = tmp; +041 +042 /* zero excess digits */ +043 i = a->alloc; +044 a->alloc = size; +045 for (; i < a->alloc; i++) \{ +046 a->dp[i] = 0; +047 \} +048 \} +049 return MP_OKAY; +050 \} \end{alltt} \end{small} -The first step is to see if we actually need to perform a re-allocation at all (line 24). If a reallocation -must occur the digit count is padded upwards to help prevent many trivial reallocations (line 26). Next the reallocation is performed -and the return of realloc() is stored in a temporary pointer named $tmp$ (line 36). The return is stored in a temporary -instead of $a.dp$ to prevent the code from losing the original pointer in case the reallocation fails. Had the return been stored -in $a.dp$ instead there would be no way to reclaim the heap originally used. +A quick optimization is to first determine if a memory re-allocation is required at all. The if statement (line 23) checks +if the \textbf{alloc} member of the mp\_int is smaller than the requested digit count. If the count is not larger than \textbf{alloc} +the function skips the re-allocation part thus saving time. -If the reallocation fails the function will return \textbf{MP\_MEM} (line 37), otherwise, the value of $tmp$ is assigned -to the pointer $a.dp$ and the function continues. A simple for loop from line 46 to line 51 will zero all digits -that were above the old \textbf{alloc} limit to make sure the integer is in a known state. +When a re-allocation is performed it is turned into an optimal request to save time in the future. The requested digit count is +padded upwards to 2nd multiple of \textbf{MP\_PREC} larger than \textbf{alloc} (line 25). The XREALLOC function is used +to re-allocate the memory. As per the other functions XREALLOC is actually a macro which evaluates to realloc by default. The realloc +function leaves the base of the allocation intact which means the first \textbf{alloc} digits of the mp\_int are the same as before +the re-allocation. All that is left is to clear the newly allocated digits and return. + +Note that the re-allocation result is actually stored in a temporary pointer $tmp$. This is to allow this function to return +an error with a valid pointer. Earlier releases of the library stored the result of XREALLOC into the mp\_int $a$. That would +result in a memory leak if XREALLOC ever failed. \subsection{Initializing Variable Precision mp\_ints} Occasionally the number of digits required will be known in advance of an initialization, based on, for example, the size @@ -1061,35 +1096,34 @@ correct no further memory re-allocations are required to work with the mp\_int. \hspace{-5.1mm}{\bf File}: bn\_mp\_init\_size.c \vspace{-3mm} \begin{alltt} -016 -017 /* init an mp_init for a given size */ -018 int mp_init_size (mp_int * a, int size) -019 \{ -020 /* pad size so there are always extra digits */ -021 size += (MP_PREC * 2) - (size % MP_PREC); -022 -023 /* alloc mem */ -024 a->dp = OPT_CAST(mp_digit) XCALLOC (sizeof (mp_digit), size); -025 if (a->dp == NULL) \{ -026 return MP_MEM; -027 \} -028 a->used = 0; -029 a->alloc = size; -030 a->sign = MP_ZPOS; -031 -032 return MP_OKAY; -033 \} +016 /* init an mp_init for a given size */ +017 int mp_init_size (mp_int * a, int size) +018 \{ +019 /* pad size so there are always extra digits */ +020 size += (MP_PREC * 2) - (size % MP_PREC); +021 +022 /* alloc mem */ +023 a->dp = OPT_CAST(mp_digit) XCALLOC (sizeof (mp_digit), size); +024 if (a->dp == NULL) \{ +025 return MP_MEM; +026 \} +027 a->used = 0; +028 a->alloc = size; +029 a->sign = MP_ZPOS; +030 +031 return MP_OKAY; +032 \} \end{alltt} \end{small} -The number of digits $b$ requested is padded (line 21) by first augmenting it to the next multiple of +The number of digits $b$ requested is padded (line 20) by first augmenting it to the next multiple of \textbf{MP\_PREC} and then adding \textbf{MP\_PREC} to the result. If the memory can be successfully allocated the mp\_int is placed in a default state representing the integer zero. Otherwise, the error code \textbf{MP\_MEM} will be -returned (line 26). +returned (line 25). -The digits are allocated and set to zero at the same time with the calloc() function (line @25,calloc@). The +The digits are allocated and set to zero at the same time with the calloc() function (line 23). The \textbf{used} count is set to zero, the \textbf{alloc} count set to the padded digit count and the \textbf{sign} flag set -to \textbf{MP\_ZPOS} to achieve a default valid mp\_int state (lines 28, 29 and 30). If the function +to \textbf{MP\_ZPOS} to achieve a default valid mp\_int state (lines 27, 28 and 29). If the function returns succesfully then it is correct to assume that the mp\_int structure is in a valid state for the remainder of the functions to work with. @@ -1127,44 +1161,43 @@ initialization which allows for quick recovery from runtime errors. \hspace{-5.1mm}{\bf File}: bn\_mp\_init\_multi.c \vspace{-3mm} \begin{alltt} -016 #include -017 -018 int mp_init_multi(mp_int *mp, ...) -019 \{ -020 mp_err res = MP_OKAY; /* Assume ok until proven otherwise */ -021 int n = 0; /* Number of ok inits */ -022 mp_int* cur_arg = mp; -023 va_list args; -024 -025 va_start(args, mp); /* init args to next argument from caller */ -026 while (cur_arg != NULL) \{ -027 if (mp_init(cur_arg) != MP_OKAY) \{ -028 /* Oops - error! Back-track and mp_clear what we already -029 succeeded in init-ing, then return error. -030 */ -031 va_list clean_args; -032 -033 /* end the current list */ -034 va_end(args); -035 -036 /* now start cleaning up */ -037 cur_arg = mp; -038 va_start(clean_args, mp); -039 while (n--) \{ -040 mp_clear(cur_arg); -041 cur_arg = va_arg(clean_args, mp_int*); -042 \} -043 va_end(clean_args); -044 res = MP_MEM; -045 break; -046 \} -047 n++; -048 cur_arg = va_arg(args, mp_int*); -049 \} -050 va_end(args); -051 return res; /* Assumed ok, if error flagged above. */ -052 \} -053 +016 +017 int mp_init_multi(mp_int *mp, ...) +018 \{ +019 mp_err res = MP_OKAY; /* Assume ok until proven otherwise */ +020 int n = 0; /* Number of ok inits */ +021 mp_int* cur_arg = mp; +022 va_list args; +023 +024 va_start(args, mp); /* init args to next argument from caller */ +025 while (cur_arg != NULL) \{ +026 if (mp_init(cur_arg) != MP_OKAY) \{ +027 /* Oops - error! Back-track and mp_clear what we already +028 succeeded in init-ing, then return error. +029 */ +030 va_list clean_args; +031 +032 /* end the current list */ +033 va_end(args); +034 +035 /* now start cleaning up */ +036 cur_arg = mp; +037 va_start(clean_args, mp); +038 while (n--) \{ +039 mp_clear(cur_arg); +040 cur_arg = va_arg(clean_args, mp_int*); +041 \} +042 va_end(clean_args); +043 res = MP_MEM; +044 break; +045 \} +046 n++; +047 cur_arg = va_arg(args, mp_int*); +048 \} +049 va_end(args); +050 return res; /* Assumed ok, if error flagged above. */ +051 \} +052 \end{alltt} \end{small} @@ -1174,8 +1207,8 @@ structures in an actual C array they are simply passed as arguments to the funct appended on the right. The function uses the ``stdarg.h'' \textit{va} functions to step portably through the arguments to the function. A count -$n$ of succesfully initialized mp\_int structures is maintained (line 47) such that if a failure does occur, -the algorithm can backtrack and free the previously initialized structures (lines 27 to 46). +$n$ of succesfully initialized mp\_int structures is maintained (line 46) such that if a failure does occur, +the algorithm can backtrack and free the previously initialized structures (lines 26 to 45). \subsection{Clamping Excess Digits} @@ -1226,36 +1259,35 @@ when all of the digits are zero to ensure that the mp\_int is valid at all times \hspace{-5.1mm}{\bf File}: bn\_mp\_clamp.c \vspace{-3mm} \begin{alltt} -016 -017 /* trim unused digits -018 * -019 * This is used to ensure that leading zero digits are -020 * trimed and the leading "used" digit will be non-zero -021 * Typically very fast. Also fixes the sign if there -022 * are no more leading digits -023 */ -024 void -025 mp_clamp (mp_int * a) -026 \{ -027 /* decrease used while the most significant digit is -028 * zero. -029 */ -030 while (a->used > 0 && a->dp[a->used - 1] == 0) \{ -031 --(a->used); -032 \} -033 -034 /* reset the sign flag if used == 0 */ -035 if (a->used == 0) \{ -036 a->sign = MP_ZPOS; -037 \} -038 \} +016 /* trim unused digits +017 * +018 * This is used to ensure that leading zero digits are +019 * trimed and the leading "used" digit will be non-zero +020 * Typically very fast. Also fixes the sign if there +021 * are no more leading digits +022 */ +023 void +024 mp_clamp (mp_int * a) +025 \{ +026 /* decrease used while the most significant digit is +027 * zero. +028 */ +029 while (a->used > 0 && a->dp[a->used - 1] == 0) \{ +030 --(a->used); +031 \} +032 +033 /* reset the sign flag if used == 0 */ +034 if (a->used == 0) \{ +035 a->sign = MP_ZPOS; +036 \} +037 \} \end{alltt} \end{small} -Note on line 27 how to test for the \textbf{used} count is made on the left of the \&\& operator. In the C programming +Note on line 26 how to test for the \textbf{used} count is made on the left of the \&\& operator. In the C programming language the terms to \&\& are evaluated left to right with a boolean short-circuit if any condition fails. This is important since if the \textbf{used} is zero the test on the right would fetch below the array. That is obviously -undesirable. The parenthesis on line 30 is used to make sure the \textbf{used} count is decremented and not +undesirable. The parenthesis on line 29 is used to make sure the \textbf{used} count is decremented and not the pointer ``a''. \section*{Exercises} @@ -1338,68 +1370,67 @@ implement the pseudo-code. \hspace{-5.1mm}{\bf File}: bn\_mp\_copy.c \vspace{-3mm} \begin{alltt} -016 -017 /* copy, b = a */ -018 int -019 mp_copy (mp_int * a, mp_int * b) -020 \{ -021 int res, n; -022 -023 /* if dst == src do nothing */ -024 if (a == b) \{ -025 return MP_OKAY; -026 \} -027 -028 /* grow dest */ -029 if (b->alloc < a->used) \{ -030 if ((res = mp_grow (b, a->used)) != MP_OKAY) \{ -031 return res; -032 \} -033 \} -034 -035 /* zero b and copy the parameters over */ -036 \{ -037 register mp_digit *tmpa, *tmpb; -038 -039 /* pointer aliases */ -040 -041 /* source */ -042 tmpa = a->dp; -043 -044 /* destination */ -045 tmpb = b->dp; -046 -047 /* copy all the digits */ -048 for (n = 0; n < a->used; n++) \{ -049 *tmpb++ = *tmpa++; -050 \} -051 -052 /* clear high digits */ -053 for (; n < b->used; n++) \{ -054 *tmpb++ = 0; -055 \} -056 \} -057 -058 /* copy used count and sign */ -059 b->used = a->used; -060 b->sign = a->sign; -061 return MP_OKAY; -062 \} +016 /* copy, b = a */ +017 int +018 mp_copy (mp_int * a, mp_int * b) +019 \{ +020 int res, n; +021 +022 /* if dst == src do nothing */ +023 if (a == b) \{ +024 return MP_OKAY; +025 \} +026 +027 /* grow dest */ +028 if (b->alloc < a->used) \{ +029 if ((res = mp_grow (b, a->used)) != MP_OKAY) \{ +030 return res; +031 \} +032 \} +033 +034 /* zero b and copy the parameters over */ +035 \{ +036 register mp_digit *tmpa, *tmpb; +037 +038 /* pointer aliases */ +039 +040 /* source */ +041 tmpa = a->dp; +042 +043 /* destination */ +044 tmpb = b->dp; +045 +046 /* copy all the digits */ +047 for (n = 0; n < a->used; n++) \{ +048 *tmpb++ = *tmpa++; +049 \} +050 +051 /* clear high digits */ +052 for (; n < b->used; n++) \{ +053 *tmpb++ = 0; +054 \} +055 \} +056 +057 /* copy used count and sign */ +058 b->used = a->used; +059 b->sign = a->sign; +060 return MP_OKAY; +061 \} \end{alltt} \end{small} Occasionally a dependent algorithm may copy an mp\_int effectively into itself such as when the input and output mp\_int structures passed to a function are one and the same. For this case it is optimal to return immediately without -copying digits (line 24). +copying digits (line 23). The mp\_int $b$ must have enough digits to accomodate the used digits of the mp\_int $a$. If $b.alloc$ is less than -$a.used$ the algorithm mp\_grow is used to augment the precision of $b$ (lines 29 to 33). In order to +$a.used$ the algorithm mp\_grow is used to augment the precision of $b$ (lines 28 to 32). In order to simplify the inner loop that copies the digits from $a$ to $b$, two aliases $tmpa$ and $tmpb$ point directly at the digits -of the mp\_ints $a$ and $b$ respectively. These aliases (lines 42 and 45) allow the compiler to access the digits without first dereferencing the +of the mp\_ints $a$ and $b$ respectively. These aliases (lines 41 and 44) allow the compiler to access the digits without first dereferencing the mp\_int pointers and then subsequently the pointer to the digits. -After the aliases are established the digits from $a$ are copied into $b$ (lines 48 to 50) and then the excess -digits of $b$ are set to zero (lines 53 to 55). Both ``for'' loops make use of the pointer aliases and in +After the aliases are established the digits from $a$ are copied into $b$ (lines 47 to 49) and then the excess +digits of $b$ are set to zero (lines 52 to 55). Both ``for'' loops make use of the pointer aliases and in fact the alias for $b$ is carried through into the second ``for'' loop to clear the excess digits. This optimization allows the alias to stay in a machine register fairly easy between the two loops. @@ -1487,17 +1518,16 @@ such this algorithm will perform two operations in one step. \hspace{-5.1mm}{\bf File}: bn\_mp\_init\_copy.c \vspace{-3mm} \begin{alltt} -016 -017 /* creates "a" then copies b into it */ -018 int mp_init_copy (mp_int * a, mp_int * b) -019 \{ -020 int res; -021 -022 if ((res = mp_init (a)) != MP_OKAY) \{ -023 return res; -024 \} -025 return mp_copy (b, a); -026 \} +016 /* creates "a" then copies b into it */ +017 int mp_init_copy (mp_int * a, mp_int * b) +018 \{ +019 int res; +020 +021 if ((res = mp_init (a)) != MP_OKAY) \{ +022 return res; +023 \} +024 return mp_copy (b, a); +025 \} \end{alltt} \end{small} @@ -1533,15 +1563,14 @@ This algorithm simply resets a mp\_int to the default state. \hspace{-5.1mm}{\bf File}: bn\_mp\_zero.c \vspace{-3mm} \begin{alltt} -016 -017 /* set to zero */ -018 void -019 mp_zero (mp_int * a) -020 \{ -021 a->sign = MP_ZPOS; -022 a->used = 0; -023 memset (a->dp, 0, sizeof (mp_digit) * a->alloc); -024 \} +016 /* set to zero */ +017 void +018 mp_zero (mp_int * a) +019 \{ +020 a->sign = MP_ZPOS; +021 a->used = 0; +022 memset (a->dp, 0, sizeof (mp_digit) * a->alloc); +023 \} \end{alltt} \end{small} @@ -1580,28 +1609,27 @@ logic to handle it. \hspace{-5.1mm}{\bf File}: bn\_mp\_abs.c \vspace{-3mm} \begin{alltt} -016 -017 /* b = |a| -018 * -019 * Simple function copies the input and fixes the sign to positive -020 */ -021 int -022 mp_abs (mp_int * a, mp_int * b) -023 \{ -024 int res; -025 -026 /* copy a to b */ -027 if (a != b) \{ -028 if ((res = mp_copy (a, b)) != MP_OKAY) \{ -029 return res; -030 \} -031 \} -032 -033 /* force the sign of b to positive */ -034 b->sign = MP_ZPOS; -035 -036 return MP_OKAY; -037 \} +016 /* b = |a| +017 * +018 * Simple function copies the input and fixes the sign to positive +019 */ +020 int +021 mp_abs (mp_int * a, mp_int * b) +022 \{ +023 int res; +024 +025 /* copy a to b */ +026 if (a != b) \{ +027 if ((res = mp_copy (a, b)) != MP_OKAY) \{ +028 return res; +029 \} +030 \} +031 +032 /* force the sign of b to positive */ +033 b->sign = MP_ZPOS; +034 +035 return MP_OKAY; +036 \} \end{alltt} \end{small} @@ -1640,19 +1668,18 @@ zero as negative. \hspace{-5.1mm}{\bf File}: bn\_mp\_neg.c \vspace{-3mm} \begin{alltt} -016 -017 /* b = -a */ -018 int mp_neg (mp_int * a, mp_int * b) -019 \{ -020 int res; -021 if ((res = mp_copy (a, b)) != MP_OKAY) \{ -022 return res; -023 \} -024 if (mp_iszero(b) != MP_YES) \{ -025 b->sign = (a->sign == MP_ZPOS) ? MP_NEG : MP_ZPOS; -026 \} -027 return MP_OKAY; -028 \} +016 /* b = -a */ +017 int mp_neg (mp_int * a, mp_int * b) +018 \{ +019 int res; +020 if ((res = mp_copy (a, b)) != MP_OKAY) \{ +021 return res; +022 \} +023 if (mp_iszero(b) != MP_YES) \{ +024 b->sign = (a->sign == MP_ZPOS) ? MP_NEG : MP_ZPOS; +025 \} +026 return MP_OKAY; +027 \} \end{alltt} \end{small} @@ -1687,21 +1714,20 @@ single digit is set (\textit{modulo $\beta$}) and the \textbf{used} count is adj \hspace{-5.1mm}{\bf File}: bn\_mp\_set.c \vspace{-3mm} \begin{alltt} -016 -017 /* set to a digit */ -018 void mp_set (mp_int * a, mp_digit b) -019 \{ -020 mp_zero (a); -021 a->dp[0] = b & MP_MASK; -022 a->used = (a->dp[0] != 0) ? 1 : 0; -023 \} +016 /* set to a digit */ +017 void mp_set (mp_int * a, mp_digit b) +018 \{ +019 mp_zero (a); +020 a->dp[0] = b & MP_MASK; +021 a->used = (a->dp[0] != 0) ? 1 : 0; +022 \} \end{alltt} \end{small} -Line 20 calls mp\_zero() to clear the mp\_int and reset the sign. Line 21 copies the digit +Line 19 calls mp\_zero() to clear the mp\_int and reset the sign. Line 20 copies the digit into the least significant location. Note the usage of a new constant \textbf{MP\_MASK}. This constant is used to quickly reduce an integer modulo $\beta$. Since $\beta$ is of the form $2^k$ for any suitable $k$ it suffices to perform a binary AND with -$MP\_MASK = 2^k - 1$ to perform the reduction. Finally line 22 will set the \textbf{used} member with respect to the +$MP\_MASK = 2^k - 1$ to perform the reduction. Finally line 21 will set the \textbf{used} member with respect to the digit actually set. This function will always make the integer positive. One important limitation of this function is that it will only set one digit. The size of a digit is not fixed, meaning source that uses @@ -1744,40 +1770,39 @@ Excess zero digits are trimmed in steps 2.1 and 3 by using higher level algorith \hspace{-5.1mm}{\bf File}: bn\_mp\_set\_int.c \vspace{-3mm} \begin{alltt} -016 -017 /* set a 32-bit const */ -018 int mp_set_int (mp_int * a, unsigned long b) -019 \{ -020 int x, res; -021 -022 mp_zero (a); -023 -024 /* set four bits at a time */ -025 for (x = 0; x < 8; x++) \{ -026 /* shift the number up four bits */ -027 if ((res = mp_mul_2d (a, 4, a)) != MP_OKAY) \{ -028 return res; -029 \} -030 -031 /* OR in the top four bits of the source */ -032 a->dp[0] |= (b >> 28) & 15; -033 -034 /* shift the source up to the next four bits */ -035 b <<= 4; -036 -037 /* ensure that digits are not clamped off */ -038 a->used += 1; -039 \} -040 mp_clamp (a); -041 return MP_OKAY; -042 \} +016 /* set a 32-bit const */ +017 int mp_set_int (mp_int * a, unsigned long b) +018 \{ +019 int x, res; +020 +021 mp_zero (a); +022 +023 /* set four bits at a time */ +024 for (x = 0; x < 8; x++) \{ +025 /* shift the number up four bits */ +026 if ((res = mp_mul_2d (a, 4, a)) != MP_OKAY) \{ +027 return res; +028 \} +029 +030 /* OR in the top four bits of the source */ +031 a->dp[0] |= (b >> 28) & 15; +032 +033 /* shift the source up to the next four bits */ +034 b <<= 4; +035 +036 /* ensure that digits are not clamped off */ +037 a->used += 1; +038 \} +039 mp_clamp (a); +040 return MP_OKAY; +041 \} \end{alltt} \end{small} This function sets four bits of the number at a time to handle all practical \textbf{DIGIT\_BIT} sizes. The weird -addition on line 38 ensures that the newly added in bits are added to the number of digits. While it may not -seem obvious as to why the digit counter does not grow exceedingly large it is because of the shift on line 27 -as well as the call to mp\_clamp() on line 40. Both functions will clamp excess leading digits which keeps +addition on line 37 ensures that the newly added in bits are added to the number of digits. While it may not +seem obvious as to why the digit counter does not grow exceedingly large it is because of the shift on line 26 +as well as the call to mp\_clamp() on line 39. Both functions will clamp excess leading digits which keeps the number of used digits low. \section{Comparisons} @@ -1838,44 +1863,43 @@ the zero'th digit. If after all of the digits have been compared, no difference \hspace{-5.1mm}{\bf File}: bn\_mp\_cmp\_mag.c \vspace{-3mm} \begin{alltt} -016 -017 /* compare maginitude of two ints (unsigned) */ -018 int mp_cmp_mag (mp_int * a, mp_int * b) -019 \{ -020 int n; -021 mp_digit *tmpa, *tmpb; -022 -023 /* compare based on # of non-zero digits */ -024 if (a->used > b->used) \{ -025 return MP_GT; -026 \} -027 -028 if (a->used < b->used) \{ -029 return MP_LT; -030 \} -031 -032 /* alias for a */ -033 tmpa = a->dp + (a->used - 1); -034 -035 /* alias for b */ -036 tmpb = b->dp + (a->used - 1); -037 -038 /* compare based on digits */ -039 for (n = 0; n < a->used; ++n, --tmpa, --tmpb) \{ -040 if (*tmpa > *tmpb) \{ -041 return MP_GT; -042 \} -043 -044 if (*tmpa < *tmpb) \{ -045 return MP_LT; -046 \} -047 \} -048 return MP_EQ; -049 \} +016 /* compare maginitude of two ints (unsigned) */ +017 int mp_cmp_mag (mp_int * a, mp_int * b) +018 \{ +019 int n; +020 mp_digit *tmpa, *tmpb; +021 +022 /* compare based on # of non-zero digits */ +023 if (a->used > b->used) \{ +024 return MP_GT; +025 \} +026 +027 if (a->used < b->used) \{ +028 return MP_LT; +029 \} +030 +031 /* alias for a */ +032 tmpa = a->dp + (a->used - 1); +033 +034 /* alias for b */ +035 tmpb = b->dp + (a->used - 1); +036 +037 /* compare based on digits */ +038 for (n = 0; n < a->used; ++n, --tmpa, --tmpb) \{ +039 if (*tmpa > *tmpb) \{ +040 return MP_GT; +041 \} +042 +043 if (*tmpa < *tmpb) \{ +044 return MP_LT; +045 \} +046 \} +047 return MP_EQ; +048 \} \end{alltt} \end{small} -The two if statements on lines 24 and 28 compare the number of digits in the two inputs. These two are performed before all of the digits +The two if statements on lines 23 and 27 compare the number of digits in the two inputs. These two are performed before all of the digits are compared since it is a very cheap test to perform and can potentially save considerable time. The implementation given is also not valid without those two statements. $b.alloc$ may be smaller than $a.used$, meaning that undefined values will be read from $b$ past the end of the array of digits. @@ -1913,34 +1937,33 @@ $\vert a \vert < \vert b \vert$. Step number four will compare the two when the \hspace{-5.1mm}{\bf File}: bn\_mp\_cmp.c \vspace{-3mm} \begin{alltt} -016 -017 /* compare two ints (signed)*/ -018 int -019 mp_cmp (mp_int * a, mp_int * b) -020 \{ -021 /* compare based on sign */ -022 if (a->sign != b->sign) \{ -023 if (a->sign == MP_NEG) \{ -024 return MP_LT; -025 \} else \{ -026 return MP_GT; -027 \} -028 \} -029 -030 /* compare digits */ -031 if (a->sign == MP_NEG) \{ -032 /* if negative compare opposite direction */ -033 return mp_cmp_mag(b, a); -034 \} else \{ -035 return mp_cmp_mag(a, b); -036 \} -037 \} +016 /* compare two ints (signed)*/ +017 int +018 mp_cmp (mp_int * a, mp_int * b) +019 \{ +020 /* compare based on sign */ +021 if (a->sign != b->sign) \{ +022 if (a->sign == MP_NEG) \{ +023 return MP_LT; +024 \} else \{ +025 return MP_GT; +026 \} +027 \} +028 +029 /* compare digits */ +030 if (a->sign == MP_NEG) \{ +031 /* if negative compare opposite direction */ +032 return mp_cmp_mag(b, a); +033 \} else \{ +034 return mp_cmp_mag(a, b); +035 \} +036 \} \end{alltt} \end{small} -The two if statements on lines 22 and 23 perform the initial sign comparison. If the signs are not the equal then which ever -has the positive sign is larger. At line 31, the inputs are compared based on magnitudes. If the signs were both negative then -the unsigned comparison is performed in the opposite direction (\textit{line 33}). Otherwise, the signs are assumed to +The two if statements on lines 22 and 30 perform the initial sign comparison. If the signs are not the equal then which ever +has the positive sign is larger. At line 30, the inputs are compared based on magnitudes. If the signs were both negative then +the unsigned comparison is performed in the opposite direction (\textit{line 32}). Otherwise, the signs are assumed to be both positive and a forward direction unsigned comparison is performed. \section*{Exercises} @@ -2064,110 +2087,109 @@ The final carry is stored in $c_{max}$ and digits above $max$ upto $oldused$ are \hspace{-5.1mm}{\bf File}: bn\_s\_mp\_add.c \vspace{-3mm} \begin{alltt} -016 -017 /* low level addition, based on HAC pp.594, Algorithm 14.7 */ -018 int -019 s_mp_add (mp_int * a, mp_int * b, mp_int * c) -020 \{ -021 mp_int *x; -022 int olduse, res, min, max; -023 -024 /* find sizes, we let |a| <= |b| which means we have to sort -025 * them. "x" will point to the input with the most digits -026 */ -027 if (a->used > b->used) \{ -028 min = b->used; -029 max = a->used; -030 x = a; -031 \} else \{ -032 min = a->used; -033 max = b->used; -034 x = b; -035 \} -036 -037 /* init result */ -038 if (c->alloc < max + 1) \{ -039 if ((res = mp_grow (c, max + 1)) != MP_OKAY) \{ -040 return res; -041 \} -042 \} -043 -044 /* get old used digit count and set new one */ -045 olduse = c->used; -046 c->used = max + 1; -047 -048 \{ -049 register mp_digit u, *tmpa, *tmpb, *tmpc; -050 register int i; -051 -052 /* alias for digit pointers */ -053 -054 /* first input */ -055 tmpa = a->dp; -056 -057 /* second input */ -058 tmpb = b->dp; -059 -060 /* destination */ -061 tmpc = c->dp; -062 -063 /* zero the carry */ -064 u = 0; -065 for (i = 0; i < min; i++) \{ -066 /* Compute the sum at one digit, T[i] = A[i] + B[i] + U */ -067 *tmpc = *tmpa++ + *tmpb++ + u; -068 -069 /* U = carry bit of T[i] */ -070 u = *tmpc >> ((mp_digit)DIGIT_BIT); -071 -072 /* take away carry bit from T[i] */ -073 *tmpc++ &= MP_MASK; -074 \} -075 -076 /* now copy higher words if any, that is in A+B -077 * if A or B has more digits add those in -078 */ -079 if (min != max) \{ -080 for (; i < max; i++) \{ -081 /* T[i] = X[i] + U */ -082 *tmpc = x->dp[i] + u; -083 -084 /* U = carry bit of T[i] */ -085 u = *tmpc >> ((mp_digit)DIGIT_BIT); -086 -087 /* take away carry bit from T[i] */ -088 *tmpc++ &= MP_MASK; -089 \} -090 \} -091 -092 /* add carry */ -093 *tmpc++ = u; -094 -095 /* clear digits above oldused */ -096 for (i = c->used; i < olduse; i++) \{ -097 *tmpc++ = 0; -098 \} -099 \} -100 -101 mp_clamp (c); -102 return MP_OKAY; -103 \} +016 /* low level addition, based on HAC pp.594, Algorithm 14.7 */ +017 int +018 s_mp_add (mp_int * a, mp_int * b, mp_int * c) +019 \{ +020 mp_int *x; +021 int olduse, res, min, max; +022 +023 /* find sizes, we let |a| <= |b| which means we have to sort +024 * them. "x" will point to the input with the most digits +025 */ +026 if (a->used > b->used) \{ +027 min = b->used; +028 max = a->used; +029 x = a; +030 \} else \{ +031 min = a->used; +032 max = b->used; +033 x = b; +034 \} +035 +036 /* init result */ +037 if (c->alloc < max + 1) \{ +038 if ((res = mp_grow (c, max + 1)) != MP_OKAY) \{ +039 return res; +040 \} +041 \} +042 +043 /* get old used digit count and set new one */ +044 olduse = c->used; +045 c->used = max + 1; +046 +047 \{ +048 register mp_digit u, *tmpa, *tmpb, *tmpc; +049 register int i; +050 +051 /* alias for digit pointers */ +052 +053 /* first input */ +054 tmpa = a->dp; +055 +056 /* second input */ +057 tmpb = b->dp; +058 +059 /* destination */ +060 tmpc = c->dp; +061 +062 /* zero the carry */ +063 u = 0; +064 for (i = 0; i < min; i++) \{ +065 /* Compute the sum at one digit, T[i] = A[i] + B[i] + U */ +066 *tmpc = *tmpa++ + *tmpb++ + u; +067 +068 /* U = carry bit of T[i] */ +069 u = *tmpc >> ((mp_digit)DIGIT_BIT); +070 +071 /* take away carry bit from T[i] */ +072 *tmpc++ &= MP_MASK; +073 \} +074 +075 /* now copy higher words if any, that is in A+B +076 * if A or B has more digits add those in +077 */ +078 if (min != max) \{ +079 for (; i < max; i++) \{ +080 /* T[i] = X[i] + U */ +081 *tmpc = x->dp[i] + u; +082 +083 /* U = carry bit of T[i] */ +084 u = *tmpc >> ((mp_digit)DIGIT_BIT); +085 +086 /* take away carry bit from T[i] */ +087 *tmpc++ &= MP_MASK; +088 \} +089 \} +090 +091 /* add carry */ +092 *tmpc++ = u; +093 +094 /* clear digits above oldused */ +095 for (i = c->used; i < olduse; i++) \{ +096 *tmpc++ = 0; +097 \} +098 \} +099 +100 mp_clamp (c); +101 return MP_OKAY; +102 \} \end{alltt} \end{small} -Lines 27 to 35 perform the initial sorting of the inputs and determine the $min$ and $max$ variables. Note that $x$ is a pointer to a -mp\_int assigned to the largest input, in effect it is a local alias. Lines 37 to 42 ensure that the destination is grown to +Lines 26 to 34 perform the initial sorting of the inputs and determine the $min$ and $max$ variables. Note that $x$ is a pointer to a +mp\_int assigned to the largest input, in effect it is a local alias. Lines 36 to 41 ensure that the destination is grown to accomodate the result of the addition. Similar to the implementation of mp\_copy this function uses the braced code and local aliases coding style. The three aliases that are on -lines 55, 58 and 61 represent the two inputs and destination variables respectively. These aliases are used to ensure the +lines 54, 57 and 60 represent the two inputs and destination variables respectively. These aliases are used to ensure the compiler does not have to dereference $a$, $b$ or $c$ (respectively) to access the digits of the respective mp\_int. -The initial carry $u$ is cleared on line 64, note that $u$ is of type mp\_digit which ensures type compatibility within the -implementation. The initial addition loop begins on line 65 and ends on line 74. Similarly the conditional addition loop -begins on line 80 and ends on line 90. The addition is finished with the final carry being stored in $tmpc$ on line 93. -Note the ``++'' operator on the same line. After line 93 $tmpc$ will point to the $c.used$'th digit of the mp\_int $c$. This is useful -for the next loop on lines 96 to 99 which set any old upper digits to zero. +The initial carry $u$ is cleared on line 63, note that $u$ is of type mp\_digit which ensures type compatibility within the +implementation. The initial addition loop begins on line 64 and ends on line 73. Similarly the conditional addition loop +begins on line 79 and ends on line 89. The addition is finished with the final carry being stored in $tmpc$ on line 96. +Note the ``++'' operator on the same line. After line 96 $tmpc$ will point to the $c.used$'th digit of the mp\_int $c$. This is useful +for the next loop on lines 95 to 98 which set any old upper digits to zero. \subsection{Low Level Subtraction} The low level unsigned subtraction algorithm is very similar to the low level unsigned addition algorithm. The principle difference is that the @@ -2251,91 +2273,90 @@ If $b$ has a smaller magnitude than $a$ then step 9 will force the carry and cop \hspace{-5.1mm}{\bf File}: bn\_s\_mp\_sub.c \vspace{-3mm} \begin{alltt} -016 -017 /* low level subtraction (assumes |a| > |b|), HAC pp.595 Algorithm 14.9 */ -018 int -019 s_mp_sub (mp_int * a, mp_int * b, mp_int * c) -020 \{ -021 int olduse, res, min, max; -022 -023 /* find sizes */ -024 min = b->used; -025 max = a->used; -026 -027 /* init result */ -028 if (c->alloc < max) \{ -029 if ((res = mp_grow (c, max)) != MP_OKAY) \{ -030 return res; -031 \} -032 \} -033 olduse = c->used; -034 c->used = max; -035 -036 \{ -037 register mp_digit u, *tmpa, *tmpb, *tmpc; -038 register int i; -039 -040 /* alias for digit pointers */ -041 tmpa = a->dp; -042 tmpb = b->dp; -043 tmpc = c->dp; -044 -045 /* set carry to zero */ -046 u = 0; -047 for (i = 0; i < min; i++) \{ -048 /* T[i] = A[i] - B[i] - U */ -049 *tmpc = *tmpa++ - *tmpb++ - u; -050 -051 /* U = carry bit of T[i] -052 * Note this saves performing an AND operation since -053 * if a carry does occur it will propagate all the way to the -054 * MSB. As a result a single shift is enough to get the carry -055 */ -056 u = *tmpc >> ((mp_digit)(CHAR_BIT * sizeof (mp_digit) - 1)); -057 -058 /* Clear carry from T[i] */ -059 *tmpc++ &= MP_MASK; -060 \} -061 -062 /* now copy higher words if any, e.g. if A has more digits than B */ -063 for (; i < max; i++) \{ -064 /* T[i] = A[i] - U */ -065 *tmpc = *tmpa++ - u; -066 -067 /* U = carry bit of T[i] */ -068 u = *tmpc >> ((mp_digit)(CHAR_BIT * sizeof (mp_digit) - 1)); -069 -070 /* Clear carry from T[i] */ -071 *tmpc++ &= MP_MASK; -072 \} -073 -074 /* clear digits above used (since we may not have grown result above) */ +016 /* low level subtraction (assumes |a| > |b|), HAC pp.595 Algorithm 14.9 */ +017 int +018 s_mp_sub (mp_int * a, mp_int * b, mp_int * c) +019 \{ +020 int olduse, res, min, max; +021 +022 /* find sizes */ +023 min = b->used; +024 max = a->used; +025 +026 /* init result */ +027 if (c->alloc < max) \{ +028 if ((res = mp_grow (c, max)) != MP_OKAY) \{ +029 return res; +030 \} +031 \} +032 olduse = c->used; +033 c->used = max; +034 +035 \{ +036 register mp_digit u, *tmpa, *tmpb, *tmpc; +037 register int i; +038 +039 /* alias for digit pointers */ +040 tmpa = a->dp; +041 tmpb = b->dp; +042 tmpc = c->dp; +043 +044 /* set carry to zero */ +045 u = 0; +046 for (i = 0; i < min; i++) \{ +047 /* T[i] = A[i] - B[i] - U */ +048 *tmpc = *tmpa++ - *tmpb++ - u; +049 +050 /* U = carry bit of T[i] +051 * Note this saves performing an AND operation since +052 * if a carry does occur it will propagate all the way to the +053 * MSB. As a result a single shift is enough to get the carry +054 */ +055 u = *tmpc >> ((mp_digit)(CHAR_BIT * sizeof (mp_digit) - 1)); +056 +057 /* Clear carry from T[i] */ +058 *tmpc++ &= MP_MASK; +059 \} +060 +061 /* now copy higher words if any, e.g. if A has more digits than B */ +062 for (; i < max; i++) \{ +063 /* T[i] = A[i] - U */ +064 *tmpc = *tmpa++ - u; +065 +066 /* U = carry bit of T[i] */ +067 u = *tmpc >> ((mp_digit)(CHAR_BIT * sizeof (mp_digit) - 1)); +068 +069 /* Clear carry from T[i] */ +070 *tmpc++ &= MP_MASK; +071 \} +072 +073 /* clear digits above used (since we may not have grown result above) */ -075 for (i = c->used; i < olduse; i++) \{ -076 *tmpc++ = 0; -077 \} -078 \} -079 -080 mp_clamp (c); -081 return MP_OKAY; -082 \} -083 +074 for (i = c->used; i < olduse; i++) \{ +075 *tmpc++ = 0; +076 \} +077 \} +078 +079 mp_clamp (c); +080 return MP_OKAY; +081 \} +082 \end{alltt} \end{small} -Line 24 and 25 perform the initial hardcoded sorting of the inputs. In reality the $min$ and $max$ variables are only aliases and are only -used to make the source code easier to read. Again the pointer alias optimization is used within this algorithm. Lines 41, 42 and 43 initialize the aliases for +Line 23 and 24 perform the initial hardcoded sorting of the inputs. In reality the $min$ and $max$ variables are only aliases and are only +used to make the source code easier to read. Again the pointer alias optimization is used within this algorithm. Lines 40, 41 and 42 initialize the aliases for $a$, $b$ and $c$ respectively. -The first subtraction loop occurs on lines 46 through 60. The theory behind the subtraction loop is exactly the same as that for +The first subtraction loop occurs on lines 45 through 59. The theory behind the subtraction loop is exactly the same as that for the addition loop. As remarked earlier there is an implementation reason for using the ``awkward'' method of extracting the carry -(\textit{see line 56}). The traditional method for extracting the carry would be to shift by $lg(\beta)$ positions and logically AND +(\textit{see line 55}). The traditional method for extracting the carry would be to shift by $lg(\beta)$ positions and logically AND the least significant bit. The AND operation is required because all of the bits above the $\lg(\beta)$'th bit will be set to one after a carry occurs from subtraction. This carry extraction requires two relatively cheap operations to extract the carry. The other method is to simply shift the most significant bit to the least significant bit thus extracting the carry with a single cheap operation. This optimization only works on twos compliment machines which is a safe assumption to make. -If $a$ has a larger magnitude than $b$ an additional loop (\textit{see lines 63 through 72}) is required to propagate the carry through +If $a$ has a larger magnitude than $b$ an additional loop (\textit{see lines 62 through 71}) is required to propagate the carry through $a$ and copy the result to $c$. \subsection{High Level Addition} @@ -2419,38 +2440,37 @@ within algorithm s\_mp\_add will force $-0$ to become $0$. \hspace{-5.1mm}{\bf File}: bn\_mp\_add.c \vspace{-3mm} \begin{alltt} -016 -017 /* high level addition (handles signs) */ -018 int mp_add (mp_int * a, mp_int * b, mp_int * c) -019 \{ -020 int sa, sb, res; -021 -022 /* get sign of both inputs */ -023 sa = a->sign; -024 sb = b->sign; -025 -026 /* handle two cases, not four */ -027 if (sa == sb) \{ -028 /* both positive or both negative */ -029 /* add their magnitudes, copy the sign */ -030 c->sign = sa; -031 res = s_mp_add (a, b, c); -032 \} else \{ -033 /* one positive, the other negative */ -034 /* subtract the one with the greater magnitude from */ -035 /* the one of the lesser magnitude. The result gets */ -036 /* the sign of the one with the greater magnitude. */ -037 if (mp_cmp_mag (a, b) == MP_LT) \{ -038 c->sign = sb; -039 res = s_mp_sub (b, a, c); -040 \} else \{ -041 c->sign = sa; -042 res = s_mp_sub (a, b, c); -043 \} -044 \} -045 return res; -046 \} -047 +016 /* high level addition (handles signs) */ +017 int mp_add (mp_int * a, mp_int * b, mp_int * c) +018 \{ +019 int sa, sb, res; +020 +021 /* get sign of both inputs */ +022 sa = a->sign; +023 sb = b->sign; +024 +025 /* handle two cases, not four */ +026 if (sa == sb) \{ +027 /* both positive or both negative */ +028 /* add their magnitudes, copy the sign */ +029 c->sign = sa; +030 res = s_mp_add (a, b, c); +031 \} else \{ +032 /* one positive, the other negative */ +033 /* subtract the one with the greater magnitude from */ +034 /* the one of the lesser magnitude. The result gets */ +035 /* the sign of the one with the greater magnitude. */ +036 if (mp_cmp_mag (a, b) == MP_LT) \{ +037 c->sign = sb; +038 res = s_mp_sub (b, a, c); +039 \} else \{ +040 c->sign = sa; +041 res = s_mp_sub (a, b, c); +042 \} +043 \} +044 return res; +045 \} +046 \end{alltt} \end{small} @@ -2524,49 +2544,48 @@ algorithm from producing $-a - -a = -0$ as a result. \hspace{-5.1mm}{\bf File}: bn\_mp\_sub.c \vspace{-3mm} \begin{alltt} -016 -017 /* high level subtraction (handles signs) */ -018 int -019 mp_sub (mp_int * a, mp_int * b, mp_int * c) -020 \{ -021 int sa, sb, res; -022 -023 sa = a->sign; -024 sb = b->sign; -025 -026 if (sa != sb) \{ -027 /* subtract a negative from a positive, OR */ -028 /* subtract a positive from a negative. */ -029 /* In either case, ADD their magnitudes, */ -030 /* and use the sign of the first number. */ -031 c->sign = sa; -032 res = s_mp_add (a, b, c); -033 \} else \{ -034 /* subtract a positive from a positive, OR */ -035 /* subtract a negative from a negative. */ -036 /* First, take the difference between their */ -037 /* magnitudes, then... */ -038 if (mp_cmp_mag (a, b) != MP_LT) \{ -039 /* Copy the sign from the first */ -040 c->sign = sa; -041 /* The first has a larger or equal magnitude */ -042 res = s_mp_sub (a, b, c); -043 \} else \{ -044 /* The result has the *opposite* sign from */ -045 /* the first number. */ -046 c->sign = (sa == MP_ZPOS) ? MP_NEG : MP_ZPOS; -047 /* The second has a larger magnitude */ -048 res = s_mp_sub (b, a, c); -049 \} -050 \} -051 return res; -052 \} -053 +016 /* high level subtraction (handles signs) */ +017 int +018 mp_sub (mp_int * a, mp_int * b, mp_int * c) +019 \{ +020 int sa, sb, res; +021 +022 sa = a->sign; +023 sb = b->sign; +024 +025 if (sa != sb) \{ +026 /* subtract a negative from a positive, OR */ +027 /* subtract a positive from a negative. */ +028 /* In either case, ADD their magnitudes, */ +029 /* and use the sign of the first number. */ +030 c->sign = sa; +031 res = s_mp_add (a, b, c); +032 \} else \{ +033 /* subtract a positive from a positive, OR */ +034 /* subtract a negative from a negative. */ +035 /* First, take the difference between their */ +036 /* magnitudes, then... */ +037 if (mp_cmp_mag (a, b) != MP_LT) \{ +038 /* Copy the sign from the first */ +039 c->sign = sa; +040 /* The first has a larger or equal magnitude */ +041 res = s_mp_sub (a, b, c); +042 \} else \{ +043 /* The result has the *opposite* sign from */ +044 /* the first number. */ +045 c->sign = (sa == MP_ZPOS) ? MP_NEG : MP_ZPOS; +046 /* The second has a larger magnitude */ +047 res = s_mp_sub (b, a, c); +048 \} +049 \} +050 return res; +051 \} +052 \end{alltt} \end{small} Much like the implementation of algorithm mp\_add the variable $res$ is used to catch the return code of the unsigned addition or subtraction operations -and forward it to the end of the function. On line 38 the ``not equal to'' \textbf{MP\_LT} expression is used to emulate a +and forward it to the end of the function. On line 37 the ``not equal to'' \textbf{MP\_LT} expression is used to emulate a ``greater than or equal to'' comparison. \section{Bit and Digit Shifting} @@ -2634,72 +2653,71 @@ Step 8 clears any leading digits of $b$ in case it originally had a larger magni \hspace{-5.1mm}{\bf File}: bn\_mp\_mul\_2.c \vspace{-3mm} \begin{alltt} -016 -017 /* b = a*2 */ -018 int mp_mul_2(mp_int * a, mp_int * b) -019 \{ -020 int x, res, oldused; -021 -022 /* grow to accomodate result */ -023 if (b->alloc < a->used + 1) \{ -024 if ((res = mp_grow (b, a->used + 1)) != MP_OKAY) \{ -025 return res; -026 \} -027 \} -028 -029 oldused = b->used; -030 b->used = a->used; -031 -032 \{ -033 register mp_digit r, rr, *tmpa, *tmpb; -034 -035 /* alias for source */ -036 tmpa = a->dp; -037 -038 /* alias for dest */ -039 tmpb = b->dp; -040 -041 /* carry */ -042 r = 0; -043 for (x = 0; x < a->used; x++) \{ -044 -045 /* get what will be the *next* carry bit from the -046 * MSB of the current digit -047 */ -048 rr = *tmpa >> ((mp_digit)(DIGIT_BIT - 1)); -049 -050 /* now shift up this digit, add in the carry [from the previous] */ -051 *tmpb++ = ((*tmpa++ << ((mp_digit)1)) | r) & MP_MASK; -052 -053 /* copy the carry that would be from the source -054 * digit into the next iteration -055 */ -056 r = rr; -057 \} -058 -059 /* new leading digit? */ -060 if (r != 0) \{ -061 /* add a MSB which is always 1 at this point */ -062 *tmpb = 1; -063 ++(b->used); -064 \} -065 -066 /* now zero any excess digits on the destination -067 * that we didn't write to -068 */ -069 tmpb = b->dp + b->used; -070 for (x = b->used; x < oldused; x++) \{ -071 *tmpb++ = 0; -072 \} -073 \} -074 b->sign = a->sign; -075 return MP_OKAY; -076 \} +016 /* b = a*2 */ +017 int mp_mul_2(mp_int * a, mp_int * b) +018 \{ +019 int x, res, oldused; +020 +021 /* grow to accomodate result */ +022 if (b->alloc < a->used + 1) \{ +023 if ((res = mp_grow (b, a->used + 1)) != MP_OKAY) \{ +024 return res; +025 \} +026 \} +027 +028 oldused = b->used; +029 b->used = a->used; +030 +031 \{ +032 register mp_digit r, rr, *tmpa, *tmpb; +033 +034 /* alias for source */ +035 tmpa = a->dp; +036 +037 /* alias for dest */ +038 tmpb = b->dp; +039 +040 /* carry */ +041 r = 0; +042 for (x = 0; x < a->used; x++) \{ +043 +044 /* get what will be the *next* carry bit from the +045 * MSB of the current digit +046 */ +047 rr = *tmpa >> ((mp_digit)(DIGIT_BIT - 1)); +048 +049 /* now shift up this digit, add in the carry [from the previous] */ +050 *tmpb++ = ((*tmpa++ << ((mp_digit)1)) | r) & MP_MASK; +051 +052 /* copy the carry that would be from the source +053 * digit into the next iteration +054 */ +055 r = rr; +056 \} +057 +058 /* new leading digit? */ +059 if (r != 0) \{ +060 /* add a MSB which is always 1 at this point */ +061 *tmpb = 1; +062 ++(b->used); +063 \} +064 +065 /* now zero any excess digits on the destination +066 * that we didn't write to +067 */ +068 tmpb = b->dp + b->used; +069 for (x = b->used; x < oldused; x++) \{ +070 *tmpb++ = 0; +071 \} +072 \} +073 b->sign = a->sign; +074 return MP_OKAY; +075 \} \end{alltt} \end{small} This implementation is essentially an optimized implementation of s\_mp\_add for the case of doubling an input. The only noteworthy difference -is the use of the logical shift operator on line 51 to perform a single precision doubling. +is the use of the logical shift operator on line 50 to perform a single precision doubling. \subsection{Division by Two} A division by two can just as easily be accomplished with a logical shift right as multiplication by two can be with a logical shift left. @@ -2747,53 +2765,52 @@ least significant bit not the most significant bit. \hspace{-5.1mm}{\bf File}: bn\_mp\_div\_2.c \vspace{-3mm} \begin{alltt} -016 -017 /* b = a/2 */ -018 int mp_div_2(mp_int * a, mp_int * b) -019 \{ -020 int x, res, oldused; -021 -022 /* copy */ -023 if (b->alloc < a->used) \{ -024 if ((res = mp_grow (b, a->used)) != MP_OKAY) \{ -025 return res; -026 \} -027 \} -028 -029 oldused = b->used; -030 b->used = a->used; -031 \{ -032 register mp_digit r, rr, *tmpa, *tmpb; -033 -034 /* source alias */ -035 tmpa = a->dp + b->used - 1; -036 -037 /* dest alias */ -038 tmpb = b->dp + b->used - 1; -039 -040 /* carry */ -041 r = 0; -042 for (x = b->used - 1; x >= 0; x--) \{ -043 /* get the carry for the next iteration */ -044 rr = *tmpa & 1; -045 -046 /* shift the current digit, add in carry and store */ -047 *tmpb-- = (*tmpa-- >> 1) | (r << (DIGIT_BIT - 1)); -048 -049 /* forward carry to next iteration */ -050 r = rr; -051 \} -052 -053 /* zero excess digits */ -054 tmpb = b->dp + b->used; -055 for (x = b->used; x < oldused; x++) \{ -056 *tmpb++ = 0; -057 \} -058 \} -059 b->sign = a->sign; -060 mp_clamp (b); -061 return MP_OKAY; -062 \} +016 /* b = a/2 */ +017 int mp_div_2(mp_int * a, mp_int * b) +018 \{ +019 int x, res, oldused; +020 +021 /* copy */ +022 if (b->alloc < a->used) \{ +023 if ((res = mp_grow (b, a->used)) != MP_OKAY) \{ +024 return res; +025 \} +026 \} +027 +028 oldused = b->used; +029 b->used = a->used; +030 \{ +031 register mp_digit r, rr, *tmpa, *tmpb; +032 +033 /* source alias */ +034 tmpa = a->dp + b->used - 1; +035 +036 /* dest alias */ +037 tmpb = b->dp + b->used - 1; +038 +039 /* carry */ +040 r = 0; +041 for (x = b->used - 1; x >= 0; x--) \{ +042 /* get the carry for the next iteration */ +043 rr = *tmpa & 1; +044 +045 /* shift the current digit, add in carry and store */ +046 *tmpb-- = (*tmpa-- >> 1) | (r << (DIGIT_BIT - 1)); +047 +048 /* forward carry to next iteration */ +049 r = rr; +050 \} +051 +052 /* zero excess digits */ +053 tmpb = b->dp + b->used; +054 for (x = b->used; x < oldused; x++) \{ +055 *tmpb++ = 0; +056 \} +057 \} +058 b->sign = a->sign; +059 mp_clamp (b); +060 return MP_OKAY; +061 \} \end{alltt} \end{small} @@ -2867,58 +2884,57 @@ step 8 sets the lower $b$ digits to zero. \hspace{-5.1mm}{\bf File}: bn\_mp\_lshd.c \vspace{-3mm} \begin{alltt} -016 -017 /* shift left a certain amount of digits */ -018 int mp_lshd (mp_int * a, int b) -019 \{ -020 int x, res; -021 -022 /* if its less than zero return */ -023 if (b <= 0) \{ -024 return MP_OKAY; -025 \} -026 -027 /* grow to fit the new digits */ -028 if (a->alloc < a->used + b) \{ -029 if ((res = mp_grow (a, a->used + b)) != MP_OKAY) \{ -030 return res; -031 \} -032 \} -033 -034 \{ -035 register mp_digit *top, *bottom; -036 -037 /* increment the used by the shift amount then copy upwards */ -038 a->used += b; -039 -040 /* top */ -041 top = a->dp + a->used - 1; -042 -043 /* base */ -044 bottom = a->dp + a->used - 1 - b; -045 -046 /* much like mp_rshd this is implemented using a sliding window -047 * except the window goes the otherway around. Copying from -048 * the bottom to the top. see bn_mp_rshd.c for more info. -049 */ -050 for (x = a->used - 1; x >= b; x--) \{ -051 *top-- = *bottom--; -052 \} -053 -054 /* zero the lower digits */ -055 top = a->dp; -056 for (x = 0; x < b; x++) \{ -057 *top++ = 0; -058 \} -059 \} -060 return MP_OKAY; -061 \} +016 /* shift left a certain amount of digits */ +017 int mp_lshd (mp_int * a, int b) +018 \{ +019 int x, res; +020 +021 /* if its less than zero return */ +022 if (b <= 0) \{ +023 return MP_OKAY; +024 \} +025 +026 /* grow to fit the new digits */ +027 if (a->alloc < a->used + b) \{ +028 if ((res = mp_grow (a, a->used + b)) != MP_OKAY) \{ +029 return res; +030 \} +031 \} +032 +033 \{ +034 register mp_digit *top, *bottom; +035 +036 /* increment the used by the shift amount then copy upwards */ +037 a->used += b; +038 +039 /* top */ +040 top = a->dp + a->used - 1; +041 +042 /* base */ +043 bottom = a->dp + a->used - 1 - b; +044 +045 /* much like mp_rshd this is implemented using a sliding window +046 * except the window goes the otherway around. Copying from +047 * the bottom to the top. see bn_mp_rshd.c for more info. +048 */ +049 for (x = a->used - 1; x >= b; x--) \{ +050 *top-- = *bottom--; +051 \} +052 +053 /* zero the lower digits */ +054 top = a->dp; +055 for (x = 0; x < b; x++) \{ +056 *top++ = 0; +057 \} +058 \} +059 return MP_OKAY; +060 \} \end{alltt} \end{small} -The if statement on line 23 ensures that the $b$ variable is greater than zero. The \textbf{used} count is incremented by $b$ before -the copy loop begins. This elminates the need for an additional variable in the for loop. The variable $top$ on line 41 is an alias -for the leading digit while $bottom$ on line 44 is an alias for the trailing edge. The aliases form a window of exactly $b$ digits +The if statement on line 22 ensures that the $b$ variable is greater than zero. The \textbf{used} count is incremented by $b$ before +the copy loop begins. This elminates the need for an additional variable in the for loop. The variable $top$ on line 40 is an alias +for the leading digit while $bottom$ on line 47 is an alias for the trailing edge. The aliases form a window of exactly $b$ digits over the input. \subsection{Division by $x$} @@ -2971,57 +2987,56 @@ Once the window copy is complete the upper digits must be zeroed and the \textbf \hspace{-5.1mm}{\bf File}: bn\_mp\_rshd.c \vspace{-3mm} \begin{alltt} -016 -017 /* shift right a certain amount of digits */ -018 void mp_rshd (mp_int * a, int b) -019 \{ -020 int x; -021 -022 /* if b <= 0 then ignore it */ -023 if (b <= 0) \{ -024 return; -025 \} -026 -027 /* if b > used then simply zero it and return */ -028 if (a->used <= b) \{ -029 mp_zero (a); -030 return; -031 \} -032 -033 \{ -034 register mp_digit *bottom, *top; -035 -036 /* shift the digits down */ -037 -038 /* bottom */ -039 bottom = a->dp; -040 -041 /* top [offset into digits] */ -042 top = a->dp + b; -043 -044 /* this is implemented as a sliding window where -045 * the window is b-digits long and digits from -046 * the top of the window are copied to the bottom -047 * -048 * e.g. -049 -050 b-2 | b-1 | b0 | b1 | b2 | ... | bb | ----> -051 /\symbol{92} | ----> -052 \symbol{92}-------------------/ ----> -053 */ -054 for (x = 0; x < (a->used - b); x++) \{ -055 *bottom++ = *top++; -056 \} -057 -058 /* zero the top digits */ -059 for (; x < a->used; x++) \{ -060 *bottom++ = 0; -061 \} -062 \} -063 -064 /* remove excess digits */ -065 a->used -= b; -066 \} +016 /* shift right a certain amount of digits */ +017 void mp_rshd (mp_int * a, int b) +018 \{ +019 int x; +020 +021 /* if b <= 0 then ignore it */ +022 if (b <= 0) \{ +023 return; +024 \} +025 +026 /* if b > used then simply zero it and return */ +027 if (a->used <= b) \{ +028 mp_zero (a); +029 return; +030 \} +031 +032 \{ +033 register mp_digit *bottom, *top; +034 +035 /* shift the digits down */ +036 +037 /* bottom */ +038 bottom = a->dp; +039 +040 /* top [offset into digits] */ +041 top = a->dp + b; +042 +043 /* this is implemented as a sliding window where +044 * the window is b-digits long and digits from +045 * the top of the window are copied to the bottom +046 * +047 * e.g. +048 +049 b-2 | b-1 | b0 | b1 | b2 | ... | bb | ----> +050 /\symbol{92} | ----> +051 \symbol{92}-------------------/ ----> +052 */ +053 for (x = 0; x < (a->used - b); x++) \{ +054 *bottom++ = *top++; +055 \} +056 +057 /* zero the top digits */ +058 for (; x < a->used; x++) \{ +059 *bottom++ = 0; +060 \} +061 \} +062 +063 /* remove excess digits */ +064 a->used -= b; +065 \} \end{alltt} \end{small} @@ -3090,70 +3105,69 @@ complete. It is possible to optimize this algorithm down to a $O(n)$ algorithm \hspace{-5.1mm}{\bf File}: bn\_mp\_mul\_2d.c \vspace{-3mm} \begin{alltt} -016 -017 /* shift left by a certain bit count */ -018 int mp_mul_2d (mp_int * a, int b, mp_int * c) -019 \{ -020 mp_digit d; -021 int res; -022 -023 /* copy */ -024 if (a != c) \{ -025 if ((res = mp_copy (a, c)) != MP_OKAY) \{ -026 return res; -027 \} -028 \} -029 -030 if (c->alloc < (int)(c->used + b/DIGIT_BIT + 1)) \{ -031 if ((res = mp_grow (c, c->used + b / DIGIT_BIT + 1)) != MP_OKAY) \{ -032 return res; -033 \} -034 \} -035 -036 /* shift by as many digits in the bit count */ -037 if (b >= (int)DIGIT_BIT) \{ -038 if ((res = mp_lshd (c, b / DIGIT_BIT)) != MP_OKAY) \{ -039 return res; -040 \} -041 \} -042 -043 /* shift any bit count < DIGIT_BIT */ -044 d = (mp_digit) (b % DIGIT_BIT); -045 if (d != 0) \{ -046 register mp_digit *tmpc, shift, mask, r, rr; -047 register int x; -048 -049 /* bitmask for carries */ -050 mask = (((mp_digit)1) << d) - 1; -051 -052 /* shift for msbs */ -053 shift = DIGIT_BIT - d; -054 -055 /* alias */ -056 tmpc = c->dp; -057 -058 /* carry */ -059 r = 0; -060 for (x = 0; x < c->used; x++) \{ -061 /* get the higher bits of the current word */ -062 rr = (*tmpc >> shift) & mask; -063 -064 /* shift the current word and OR in the carry */ -065 *tmpc = ((*tmpc << d) | r) & MP_MASK; -066 ++tmpc; -067 -068 /* set the carry to the carry bits of the current word */ -069 r = rr; -070 \} -071 -072 /* set final carry */ -073 if (r != 0) \{ -074 c->dp[(c->used)++] = r; -075 \} -076 \} -077 mp_clamp (c); -078 return MP_OKAY; -079 \} +016 /* shift left by a certain bit count */ +017 int mp_mul_2d (mp_int * a, int b, mp_int * c) +018 \{ +019 mp_digit d; +020 int res; +021 +022 /* copy */ +023 if (a != c) \{ +024 if ((res = mp_copy (a, c)) != MP_OKAY) \{ +025 return res; +026 \} +027 \} +028 +029 if (c->alloc < (int)(c->used + b/DIGIT_BIT + 1)) \{ +030 if ((res = mp_grow (c, c->used + b / DIGIT_BIT + 1)) != MP_OKAY) \{ +031 return res; +032 \} +033 \} +034 +035 /* shift by as many digits in the bit count */ +036 if (b >= (int)DIGIT_BIT) \{ +037 if ((res = mp_lshd (c, b / DIGIT_BIT)) != MP_OKAY) \{ +038 return res; +039 \} +040 \} +041 +042 /* shift any bit count < DIGIT_BIT */ +043 d = (mp_digit) (b % DIGIT_BIT); +044 if (d != 0) \{ +045 register mp_digit *tmpc, shift, mask, r, rr; +046 register int x; +047 +048 /* bitmask for carries */ +049 mask = (((mp_digit)1) << d) - 1; +050 +051 /* shift for msbs */ +052 shift = DIGIT_BIT - d; +053 +054 /* alias */ +055 tmpc = c->dp; +056 +057 /* carry */ +058 r = 0; +059 for (x = 0; x < c->used; x++) \{ +060 /* get the higher bits of the current word */ +061 rr = (*tmpc >> shift) & mask; +062 +063 /* shift the current word and OR in the carry */ +064 *tmpc = ((*tmpc << d) | r) & MP_MASK; +065 ++tmpc; +066 +067 /* set the carry to the carry bits of the current word */ +068 r = rr; +069 \} +070 +071 /* set final carry */ +072 if (r != 0) \{ +073 c->dp[(c->used)++] = r; +074 \} +075 \} +076 mp_clamp (c); +077 return MP_OKAY; +078 \} \end{alltt} \end{small} @@ -3203,84 +3217,83 @@ by using algorithm mp\_mod\_2d. \hspace{-5.1mm}{\bf File}: bn\_mp\_div\_2d.c \vspace{-3mm} \begin{alltt} -016 -017 /* shift right by a certain bit count (store quotient in c, optional remaind +016 /* shift right by a certain bit count (store quotient in c, optional remaind er in d) */ -018 int mp_div_2d (mp_int * a, int b, mp_int * c, mp_int * d) -019 \{ -020 mp_digit D, r, rr; -021 int x, res; -022 mp_int t; +017 int mp_div_2d (mp_int * a, int b, mp_int * c, mp_int * d) +018 \{ +019 mp_digit D, r, rr; +020 int x, res; +021 mp_int t; +022 023 -024 -025 /* if the shift count is <= 0 then we do no work */ -026 if (b <= 0) \{ -027 res = mp_copy (a, c); -028 if (d != NULL) \{ -029 mp_zero (d); -030 \} -031 return res; -032 \} -033 -034 if ((res = mp_init (&t)) != MP_OKAY) \{ -035 return res; -036 \} -037 -038 /* get the remainder */ -039 if (d != NULL) \{ -040 if ((res = mp_mod_2d (a, b, &t)) != MP_OKAY) \{ -041 mp_clear (&t); -042 return res; -043 \} -044 \} -045 -046 /* copy */ -047 if ((res = mp_copy (a, c)) != MP_OKAY) \{ -048 mp_clear (&t); -049 return res; -050 \} -051 -052 /* shift by as many digits in the bit count */ -053 if (b >= (int)DIGIT_BIT) \{ -054 mp_rshd (c, b / DIGIT_BIT); -055 \} -056 -057 /* shift any bit count < DIGIT_BIT */ -058 D = (mp_digit) (b % DIGIT_BIT); -059 if (D != 0) \{ -060 register mp_digit *tmpc, mask, shift; -061 -062 /* mask */ -063 mask = (((mp_digit)1) << D) - 1; -064 -065 /* shift for lsb */ -066 shift = DIGIT_BIT - D; -067 -068 /* alias */ -069 tmpc = c->dp + (c->used - 1); -070 -071 /* carry */ -072 r = 0; -073 for (x = c->used - 1; x >= 0; x--) \{ -074 /* get the lower bits of this word in a temp */ -075 rr = *tmpc & mask; -076 -077 /* shift the current word and mix in the carry bits from the previous +024 /* if the shift count is <= 0 then we do no work */ +025 if (b <= 0) \{ +026 res = mp_copy (a, c); +027 if (d != NULL) \{ +028 mp_zero (d); +029 \} +030 return res; +031 \} +032 +033 if ((res = mp_init (&t)) != MP_OKAY) \{ +034 return res; +035 \} +036 +037 /* get the remainder */ +038 if (d != NULL) \{ +039 if ((res = mp_mod_2d (a, b, &t)) != MP_OKAY) \{ +040 mp_clear (&t); +041 return res; +042 \} +043 \} +044 +045 /* copy */ +046 if ((res = mp_copy (a, c)) != MP_OKAY) \{ +047 mp_clear (&t); +048 return res; +049 \} +050 +051 /* shift by as many digits in the bit count */ +052 if (b >= (int)DIGIT_BIT) \{ +053 mp_rshd (c, b / DIGIT_BIT); +054 \} +055 +056 /* shift any bit count < DIGIT_BIT */ +057 D = (mp_digit) (b % DIGIT_BIT); +058 if (D != 0) \{ +059 register mp_digit *tmpc, mask, shift; +060 +061 /* mask */ +062 mask = (((mp_digit)1) << D) - 1; +063 +064 /* shift for lsb */ +065 shift = DIGIT_BIT - D; +066 +067 /* alias */ +068 tmpc = c->dp + (c->used - 1); +069 +070 /* carry */ +071 r = 0; +072 for (x = c->used - 1; x >= 0; x--) \{ +073 /* get the lower bits of this word in a temp */ +074 rr = *tmpc & mask; +075 +076 /* shift the current word and mix in the carry bits from the previous word */ -078 *tmpc = (*tmpc >> D) | (r << shift); -079 --tmpc; -080 -081 /* set the carry to the carry bits of the current word found above */ -082 r = rr; -083 \} -084 \} -085 mp_clamp (c); -086 if (d != NULL) \{ -087 mp_exch (&t, d); -088 \} -089 mp_clear (&t); -090 return MP_OKAY; -091 \} +077 *tmpc = (*tmpc >> D) | (r << shift); +078 --tmpc; +079 +080 /* set the carry to the carry bits of the current word found above */ +081 r = rr; +082 \} +083 \} +084 mp_clamp (c); +085 if (d != NULL) \{ +086 mp_exch (&t, d); +087 \} +088 mp_clear (&t); +089 return MP_OKAY; +090 \} \end{alltt} \end{small} @@ -3334,42 +3347,41 @@ is copied to $b$, leading digits are removed and the remaining leading digit is \hspace{-5.1mm}{\bf File}: bn\_mp\_mod\_2d.c \vspace{-3mm} \begin{alltt} -016 -017 /* calc a value mod 2**b */ -018 int -019 mp_mod_2d (mp_int * a, int b, mp_int * c) -020 \{ -021 int x, res; -022 -023 /* if b is <= 0 then zero the int */ -024 if (b <= 0) \{ -025 mp_zero (c); -026 return MP_OKAY; -027 \} -028 -029 /* if the modulus is larger than the value than return */ -030 if (b > (int) (a->used * DIGIT_BIT)) \{ -031 res = mp_copy (a, c); -032 return res; -033 \} -034 -035 /* copy */ -036 if ((res = mp_copy (a, c)) != MP_OKAY) \{ -037 return res; -038 \} -039 -040 /* zero digits above the last digit of the modulus */ -041 for (x = (b / DIGIT_BIT) + ((b % DIGIT_BIT) == 0 ? 0 : 1); x < c->used; x+ +016 /* calc a value mod 2**b */ +017 int +018 mp_mod_2d (mp_int * a, int b, mp_int * c) +019 \{ +020 int x, res; +021 +022 /* if b is <= 0 then zero the int */ +023 if (b <= 0) \{ +024 mp_zero (c); +025 return MP_OKAY; +026 \} +027 +028 /* if the modulus is larger than the value than return */ +029 if (b > (int) (a->used * DIGIT_BIT)) \{ +030 res = mp_copy (a, c); +031 return res; +032 \} +033 +034 /* copy */ +035 if ((res = mp_copy (a, c)) != MP_OKAY) \{ +036 return res; +037 \} +038 +039 /* zero digits above the last digit of the modulus */ +040 for (x = (b / DIGIT_BIT) + ((b % DIGIT_BIT) == 0 ? 0 : 1); x < c->used; x+ +) \{ -042 c->dp[x] = 0; -043 \} -044 /* clear the digit that is not completely outside/inside the modulus */ -045 c->dp[b / DIGIT_BIT] &= -046 (mp_digit) ((((mp_digit) 1) << (((mp_digit) b) % DIGIT_BIT)) - ((mp_digi +041 c->dp[x] = 0; +042 \} +043 /* clear the digit that is not completely outside/inside the modulus */ +044 c->dp[b / DIGIT_BIT] &= +045 (mp_digit) ((((mp_digit) 1) << (((mp_digit) b) % DIGIT_BIT)) - ((mp_digi t) 1)); -047 mp_clamp (c); -048 return MP_OKAY; -049 \} +046 mp_clamp (c); +047 return MP_OKAY; +048 \} \end{alltt} \end{small} @@ -3533,86 +3545,85 @@ exceed the precision requested. \hspace{-5.1mm}{\bf File}: bn\_s\_mp\_mul\_digs.c \vspace{-3mm} \begin{alltt} -016 -017 /* multiplies |a| * |b| and only computes upto digs digits of result -018 * HAC pp. 595, Algorithm 14.12 Modified so you can control how -019 * many digits of output are created. -020 */ -021 int -022 s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs) -023 \{ -024 mp_int t; -025 int res, pa, pb, ix, iy; -026 mp_digit u; -027 mp_word r; -028 mp_digit tmpx, *tmpt, *tmpy; -029 -030 /* can we use the fast multiplier? */ -031 if (((digs) < MP_WARRAY) && -032 MIN (a->used, b->used) < -033 (1 << ((CHAR_BIT * sizeof (mp_word)) - (2 * DIGIT_BIT)))) \{ -034 return fast_s_mp_mul_digs (a, b, c, digs); -035 \} -036 -037 if ((res = mp_init_size (&t, digs)) != MP_OKAY) \{ -038 return res; -039 \} -040 t.used = digs; -041 -042 /* compute the digits of the product directly */ -043 pa = a->used; -044 for (ix = 0; ix < pa; ix++) \{ -045 /* set the carry to zero */ -046 u = 0; -047 -048 /* limit ourselves to making digs digits of output */ -049 pb = MIN (b->used, digs - ix); -050 -051 /* setup some aliases */ -052 /* copy of the digit from a used within the nested loop */ -053 tmpx = a->dp[ix]; -054 -055 /* an alias for the destination shifted ix places */ -056 tmpt = t.dp + ix; -057 -058 /* an alias for the digits of b */ -059 tmpy = b->dp; -060 -061 /* compute the columns of the output and propagate the carry */ -062 for (iy = 0; iy < pb; iy++) \{ -063 /* compute the column as a mp_word */ -064 r = ((mp_word)*tmpt) + -065 ((mp_word)tmpx) * ((mp_word)*tmpy++) + -066 ((mp_word) u); -067 -068 /* the new column is the lower part of the result */ -069 *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK)); -070 -071 /* get the carry word from the result */ -072 u = (mp_digit) (r >> ((mp_word) DIGIT_BIT)); -073 \} -074 /* set carry if it is placed below digs */ -075 if (ix + iy < digs) \{ -076 *tmpt = u; -077 \} -078 \} -079 -080 mp_clamp (&t); -081 mp_exch (&t, c); -082 -083 mp_clear (&t); -084 return MP_OKAY; -085 \} +016 /* multiplies |a| * |b| and only computes upto digs digits of result +017 * HAC pp. 595, Algorithm 14.12 Modified so you can control how +018 * many digits of output are created. +019 */ +020 int +021 s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs) +022 \{ +023 mp_int t; +024 int res, pa, pb, ix, iy; +025 mp_digit u; +026 mp_word r; +027 mp_digit tmpx, *tmpt, *tmpy; +028 +029 /* can we use the fast multiplier? */ +030 if (((digs) < MP_WARRAY) && +031 MIN (a->used, b->used) < +032 (1 << ((CHAR_BIT * sizeof (mp_word)) - (2 * DIGIT_BIT)))) \{ +033 return fast_s_mp_mul_digs (a, b, c, digs); +034 \} +035 +036 if ((res = mp_init_size (&t, digs)) != MP_OKAY) \{ +037 return res; +038 \} +039 t.used = digs; +040 +041 /* compute the digits of the product directly */ +042 pa = a->used; +043 for (ix = 0; ix < pa; ix++) \{ +044 /* set the carry to zero */ +045 u = 0; +046 +047 /* limit ourselves to making digs digits of output */ +048 pb = MIN (b->used, digs - ix); +049 +050 /* setup some aliases */ +051 /* copy of the digit from a used within the nested loop */ +052 tmpx = a->dp[ix]; +053 +054 /* an alias for the destination shifted ix places */ +055 tmpt = t.dp + ix; +056 +057 /* an alias for the digits of b */ +058 tmpy = b->dp; +059 +060 /* compute the columns of the output and propagate the carry */ +061 for (iy = 0; iy < pb; iy++) \{ +062 /* compute the column as a mp_word */ +063 r = ((mp_word)*tmpt) + +064 ((mp_word)tmpx) * ((mp_word)*tmpy++) + +065 ((mp_word) u); +066 +067 /* the new column is the lower part of the result */ +068 *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK)); +069 +070 /* get the carry word from the result */ +071 u = (mp_digit) (r >> ((mp_word) DIGIT_BIT)); +072 \} +073 /* set carry if it is placed below digs */ +074 if (ix + iy < digs) \{ +075 *tmpt = u; +076 \} +077 \} +078 +079 mp_clamp (&t); +080 mp_exch (&t, c); +081 +082 mp_clear (&t); +083 return MP_OKAY; +084 \} \end{alltt} \end{small} -Lines 31 to 35 determine if the Comba method can be used first. The conditions for using the Comba routine are that min$(a.used, b.used) < \delta$ and +Lines 30 to 34 determine if the Comba method can be used first. The conditions for using the Comba routine are that min$(a.used, b.used) < \delta$ and the number of digits of output is less than \textbf{MP\_WARRAY}. This new constant is used to control the stack usage in the Comba routines. By default it is set to $\delta$ but can be reduced when memory is at a premium. -Of particular importance is the calculation of the $ix+iy$'th column on lines 64, 65 and 66. Note how all of the +Of particular importance is the calculation of the $ix+iy$'th column on lines 64, 65 and 65. Note how all of the variables are cast to the type \textbf{mp\_word}, which is also the type of variable $\hat r$. That is to ensure that double precision operations -are used instead of single precision. The multiplication on line 65 makes use of a specific GCC optimizer behaviour. On the outset it looks like +are used instead of single precision. The multiplication on line 64 makes use of a specific GCC optimizer behaviour. On the outset it looks like the compiler will have to use a double precision multiplication to produce the result required. Such an operation would be horribly slow on most processors and drag this to a crawl. However, GCC is smart enough to realize that double wide output single precision multipliers can be used. For example, the instruction ``MUL'' on the x86 processor can multiply two 32-bit values and produce a 64-bit result. @@ -3786,129 +3797,128 @@ and addition operations in the nested loop in parallel. \hspace{-5.1mm}{\bf File}: bn\_fast\_s\_mp\_mul\_digs.c \vspace{-3mm} \begin{alltt} -016 -017 /* Fast (comba) multiplier -018 * -019 * This is the fast column-array [comba] multiplier. It is -020 * designed to compute the columns of the product first -021 * then handle the carries afterwards. This has the effect -022 * of making the nested loops that compute the columns very -023 * simple and schedulable on super-scalar processors. -024 * -025 * This has been modified to produce a variable number of -026 * digits of output so if say only a half-product is required -027 * you don't have to compute the upper half (a feature -028 * required for fast Barrett reduction). -029 * -030 * Based on Algorithm 14.12 on pp.595 of HAC. -031 * -032 */ -033 int -034 fast_s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs) -035 \{ -036 int olduse, res, pa, ix; -037 mp_word W[MP_WARRAY]; -038 -039 /* grow the destination as required */ -040 if (c->alloc < digs) \{ -041 if ((res = mp_grow (c, digs)) != MP_OKAY) \{ -042 return res; -043 \} -044 \} -045 -046 /* clear temp buf (the columns) */ -047 memset (W, 0, sizeof (mp_word) * digs); -048 -049 /* calculate the columns */ -050 pa = a->used; -051 for (ix = 0; ix < pa; ix++) \{ -052 /* this multiplier has been modified to allow you to -053 * control how many digits of output are produced. -054 * So at most we want to make upto "digs" digits of output. -055 * -056 * this adds products to distinct columns (at ix+iy) of W -057 * note that each step through the loop is not dependent on -058 * the previous which means the compiler can easily unroll -059 * the loop without scheduling problems -060 */ -061 \{ -062 register mp_digit tmpx, *tmpy; -063 register mp_word *_W; -064 register int iy, pb; -065 -066 /* alias for the the word on the left e.g. A[ix] * A[iy] */ -067 tmpx = a->dp[ix]; -068 -069 /* alias for the right side */ -070 tmpy = b->dp; -071 -072 /* alias for the columns, each step through the loop adds a new -073 term to each column -074 */ -075 _W = W + ix; -076 -077 /* the number of digits is limited by their placement. E.g. -078 we avoid multiplying digits that will end up above the # of -079 digits of precision requested -080 */ -081 pb = MIN (b->used, digs - ix); -082 -083 for (iy = 0; iy < pb; iy++) \{ -084 *_W++ += ((mp_word)tmpx) * ((mp_word)*tmpy++); -085 \} -086 \} -087 -088 \} -089 -090 /* setup dest */ -091 olduse = c->used; -092 c->used = digs; -093 -094 \{ -095 register mp_digit *tmpc; -096 -097 /* At this point W[] contains the sums of each column. To get the -098 * correct result we must take the extra bits from each column and -099 * carry them down -100 * -101 * Note that while this adds extra code to the multiplier it -102 * saves time since the carry propagation is removed from the -103 * above nested loop.This has the effect of reducing the work -104 * from N*(N+N*c)==N**2 + c*N**2 to N**2 + N*c where c is the -105 * cost of the shifting. On very small numbers this is slower -106 * but on most cryptographic size numbers it is faster. -107 * -108 * In this particular implementation we feed the carries from -109 * behind which means when the loop terminates we still have one -110 * last digit to copy -111 */ -112 tmpc = c->dp; -113 for (ix = 1; ix < digs; ix++) \{ -114 /* forward the carry from the previous temp */ -115 W[ix] += (W[ix - 1] >> ((mp_word) DIGIT_BIT)); -116 -117 /* now extract the previous digit [below the carry] */ -118 *tmpc++ = (mp_digit) (W[ix - 1] & ((mp_word) MP_MASK)); -119 \} -120 /* fetch the last digit */ -121 *tmpc++ = (mp_digit) (W[digs - 1] & ((mp_word) MP_MASK)); -122 -123 /* clear unused digits [that existed in the old copy of c] */ -124 for (; ix < olduse; ix++) \{ -125 *tmpc++ = 0; -126 \} -127 \} -128 mp_clamp (c); -129 return MP_OKAY; -130 \} +016 /* Fast (comba) multiplier +017 * +018 * This is the fast column-array [comba] multiplier. It is +019 * designed to compute the columns of the product first +020 * then handle the carries afterwards. This has the effect +021 * of making the nested loops that compute the columns very +022 * simple and schedulable on super-scalar processors. +023 * +024 * This has been modified to produce a variable number of +025 * digits of output so if say only a half-product is required +026 * you don't have to compute the upper half (a feature +027 * required for fast Barrett reduction). +028 * +029 * Based on Algorithm 14.12 on pp.595 of HAC. +030 * +031 */ +032 int +033 fast_s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs) +034 \{ +035 int olduse, res, pa, ix; +036 mp_word W[MP_WARRAY]; +037 +038 /* grow the destination as required */ +039 if (c->alloc < digs) \{ +040 if ((res = mp_grow (c, digs)) != MP_OKAY) \{ +041 return res; +042 \} +043 \} +044 +045 /* clear temp buf (the columns) */ +046 memset (W, 0, sizeof (mp_word) * digs); +047 +048 /* calculate the columns */ +049 pa = a->used; +050 for (ix = 0; ix < pa; ix++) \{ +051 /* this multiplier has been modified to allow you to +052 * control how many digits of output are produced. +053 * So at most we want to make upto "digs" digits of output. +054 * +055 * this adds products to distinct columns (at ix+iy) of W +056 * note that each step through the loop is not dependent on +057 * the previous which means the compiler can easily unroll +058 * the loop without scheduling problems +059 */ +060 \{ +061 register mp_digit tmpx, *tmpy; +062 register mp_word *_W; +063 register int iy, pb; +064 +065 /* alias for the the word on the left e.g. A[ix] * A[iy] */ +066 tmpx = a->dp[ix]; +067 +068 /* alias for the right side */ +069 tmpy = b->dp; +070 +071 /* alias for the columns, each step through the loop adds a new +072 term to each column +073 */ +074 _W = W + ix; +075 +076 /* the number of digits is limited by their placement. E.g. +077 we avoid multiplying digits that will end up above the # of +078 digits of precision requested +079 */ +080 pb = MIN (b->used, digs - ix); +081 +082 for (iy = 0; iy < pb; iy++) \{ +083 *_W++ += ((mp_word)tmpx) * ((mp_word)*tmpy++); +084 \} +085 \} +086 +087 \} +088 +089 /* setup dest */ +090 olduse = c->used; +091 c->used = digs; +092 +093 \{ +094 register mp_digit *tmpc; +095 +096 /* At this point W[] contains the sums of each column. To get the +097 * correct result we must take the extra bits from each column and +098 * carry them down +099 * +100 * Note that while this adds extra code to the multiplier it +101 * saves time since the carry propagation is removed from the +102 * above nested loop.This has the effect of reducing the work +103 * from N*(N+N*c)==N**2 + c*N**2 to N**2 + N*c where c is the +104 * cost of the shifting. On very small numbers this is slower +105 * but on most cryptographic size numbers it is faster. +106 * +107 * In this particular implementation we feed the carries from +108 * behind which means when the loop terminates we still have one +109 * last digit to copy +110 */ +111 tmpc = c->dp; +112 for (ix = 1; ix < digs; ix++) \{ +113 /* forward the carry from the previous temp */ +114 W[ix] += (W[ix - 1] >> ((mp_word) DIGIT_BIT)); +115 +116 /* now extract the previous digit [below the carry] */ +117 *tmpc++ = (mp_digit) (W[ix - 1] & ((mp_word) MP_MASK)); +118 \} +119 /* fetch the last digit */ +120 *tmpc++ = (mp_digit) (W[digs - 1] & ((mp_word) MP_MASK)); +121 +122 /* clear unused digits [that existed in the old copy of c] */ +123 for (; ix < olduse; ix++) \{ +124 *tmpc++ = 0; +125 \} +126 \} +127 mp_clamp (c); +128 return MP_OKAY; +129 \} \end{alltt} \end{small} -The memset on line 47 clears the initial $\hat W$ array to zero in a single step. Like the slower baseline multiplication -implementation a series of aliases (\textit{lines 67, 70 and 75}) are used to simplify the inner $O(n^2)$ loop. +The memset on line 46 clears the initial $\hat W$ array to zero in a single step. Like the slower baseline multiplication +implementation a series of aliases (\textit{lines 66, 69 and 74}) are used to simplify the inner $O(n^2)$ loop. In this case a new alias $\_\hat W$ has been added which refers to the double precision columns offset by $ix$ in each pass. -The inner loop on lines 83, 84 and 85 is where the algorithm will spend the majority of the time, which is why it has been +The inner loop on lines 82, 83 and 85 is where the algorithm will spend the majority of the time, which is why it has been stripped to the bones of any extra baggage\footnote{Hence the pointer aliases.}. On x86 processors the multiplication and additions amount to at the very least five instructions (\textit{two loads, two additions, one multiply}) while on the ARMv4 processors they amount to only three (\textit{one load, one store, one multiply-add}). For both of the x86 and ARMv4 processors the GCC compiler performs a good job at unrolling the loop @@ -4105,161 +4115,157 @@ The remaining steps 13 through 18 compute the Karatsuba polynomial through a var \hspace{-5.1mm}{\bf File}: bn\_mp\_karatsuba\_mul.c \vspace{-3mm} \begin{alltt} -016 -017 /* c = |a| * |b| using Karatsuba Multiplication using -018 * three half size multiplications -019 * -020 * Let B represent the radix [e.g. 2**DIGIT_BIT] and -021 * let n represent half of the number of digits in -022 * the min(a,b) -023 * -024 * a = a1 * B**n + a0 -025 * b = b1 * B**n + b0 -026 * -027 * Then, a * b => -028 a1b1 * B**2n + ((a1 - a0)(b1 - b0) + a0b0 + a1b1) * B + a0b0 -029 * -030 * Note that a1b1 and a0b0 are used twice and only need to be -031 * computed once. So in total three half size (half # of -032 * digit) multiplications are performed, a0b0, a1b1 and -033 * (a1-b1)(a0-b0) -034 * -035 * Note that a multiplication of half the digits requires -036 * 1/4th the number of single precision multiplications so in -037 * total after one call 25% of the single precision multiplications -038 * are saved. Note also that the call to mp_mul can end up back -039 * in this function if the a0, a1, b0, or b1 are above the threshold. -040 * This is known as divide-and-conquer and leads to the famous -041 * O(N**lg(3)) or O(N**1.584) work which is asymptopically lower than -042 * the standard O(N**2) that the baseline/comba methods use. -043 * Generally though the overhead of this method doesn't pay off -044 * until a certain size (N ~ 80) is reached. -045 */ -046 int mp_karatsuba_mul (mp_int * a, mp_int * b, mp_int * c) -047 \{ -048 mp_int x0, x1, y0, y1, t1, x0y0, x1y1; -049 int B, err; -050 -051 /* default the return code to an error */ -052 err = MP_MEM; -053 -054 /* min # of digits */ -055 B = MIN (a->used, b->used); -056 -057 /* now divide in two */ -058 B = B >> 1; -059 -060 /* init copy all the temps */ -061 if (mp_init_size (&x0, B) != MP_OKAY) -062 goto ERR; -063 if (mp_init_size (&x1, a->used - B) != MP_OKAY) -064 goto X0; -065 if (mp_init_size (&y0, B) != MP_OKAY) -066 goto X1; -067 if (mp_init_size (&y1, b->used - B) != MP_OKAY) -068 goto Y0; -069 -070 /* init temps */ -071 if (mp_init_size (&t1, B * 2) != MP_OKAY) -072 goto Y1; -073 if (mp_init_size (&x0y0, B * 2) != MP_OKAY) -074 goto T1; -075 if (mp_init_size (&x1y1, B * 2) != MP_OKAY) -076 goto X0Y0; -077 -078 /* now shift the digits */ -079 x0.sign = x1.sign = a->sign; -080 y0.sign = y1.sign = b->sign; +016 /* c = |a| * |b| using Karatsuba Multiplication using +017 * three half size multiplications +018 * +019 * Let B represent the radix [e.g. 2**DIGIT_BIT] and +020 * let n represent half of the number of digits in +021 * the min(a,b) +022 * +023 * a = a1 * B**n + a0 +024 * b = b1 * B**n + b0 +025 * +026 * Then, a * b => +027 a1b1 * B**2n + ((a1 - a0)(b1 - b0) + a0b0 + a1b1) * B + a0b0 +028 * +029 * Note that a1b1 and a0b0 are used twice and only need to be +030 * computed once. So in total three half size (half # of +031 * digit) multiplications are performed, a0b0, a1b1 and +032 * (a1-b1)(a0-b0) +033 * +034 * Note that a multiplication of half the digits requires +035 * 1/4th the number of single precision multiplications so in +036 * total after one call 25% of the single precision multiplications +037 * are saved. Note also that the call to mp_mul can end up back +038 * in this function if the a0, a1, b0, or b1 are above the threshold. +039 * This is known as divide-and-conquer and leads to the famous +040 * O(N**lg(3)) or O(N**1.584) work which is asymptopically lower than +041 * the standard O(N**2) that the baseline/comba methods use. +042 * Generally though the overhead of this method doesn't pay off +043 * until a certain size (N ~ 80) is reached. +044 */ +045 int mp_karatsuba_mul (mp_int * a, mp_int * b, mp_int * c) +046 \{ +047 mp_int x0, x1, y0, y1, t1, x0y0, x1y1; +048 int B, err; +049 +050 /* default the return code to an error */ +051 err = MP_MEM; +052 +053 /* min # of digits */ +054 B = MIN (a->used, b->used); +055 +056 /* now divide in two */ +057 B = B >> 1; +058 +059 /* init copy all the temps */ +060 if (mp_init_size (&x0, B) != MP_OKAY) +061 goto ERR; +062 if (mp_init_size (&x1, a->used - B) != MP_OKAY) +063 goto X0; +064 if (mp_init_size (&y0, B) != MP_OKAY) +065 goto X1; +066 if (mp_init_size (&y1, b->used - B) != MP_OKAY) +067 goto Y0; +068 +069 /* init temps */ +070 if (mp_init_size (&t1, B * 2) != MP_OKAY) +071 goto Y1; +072 if (mp_init_size (&x0y0, B * 2) != MP_OKAY) +073 goto T1; +074 if (mp_init_size (&x1y1, B * 2) != MP_OKAY) +075 goto X0Y0; +076 +077 /* now shift the digits */ +078 x0.used = y0.used = B; +079 x1.used = a->used - B; +080 y1.used = b->used - B; 081 -082 x0.used = y0.used = B; -083 x1.used = a->used - B; -084 y1.used = b->used - B; +082 \{ +083 register int x; +084 register mp_digit *tmpa, *tmpb, *tmpx, *tmpy; 085 -086 \{ -087 register int x; -088 register mp_digit *tmpa, *tmpb, *tmpx, *tmpy; -089 -090 /* we copy the digits directly instead of using higher level functions -091 * since we also need to shift the digits -092 */ -093 tmpa = a->dp; -094 tmpb = b->dp; -095 -096 tmpx = x0.dp; -097 tmpy = y0.dp; -098 for (x = 0; x < B; x++) \{ -099 *tmpx++ = *tmpa++; -100 *tmpy++ = *tmpb++; -101 \} -102 -103 tmpx = x1.dp; -104 for (x = B; x < a->used; x++) \{ -105 *tmpx++ = *tmpa++; -106 \} -107 -108 tmpy = y1.dp; -109 for (x = B; x < b->used; x++) \{ -110 *tmpy++ = *tmpb++; -111 \} -112 \} -113 -114 /* only need to clamp the lower words since by definition the -115 * upper words x1/y1 must have a known number of digits -116 */ -117 mp_clamp (&x0); -118 mp_clamp (&y0); -119 -120 /* now calc the products x0y0 and x1y1 */ -121 /* after this x0 is no longer required, free temp [x0==t2]! */ -122 if (mp_mul (&x0, &y0, &x0y0) != MP_OKAY) -123 goto X1Y1; /* x0y0 = x0*y0 */ -124 if (mp_mul (&x1, &y1, &x1y1) != MP_OKAY) -125 goto X1Y1; /* x1y1 = x1*y1 */ -126 -127 /* now calc x1-x0 and y1-y0 */ -128 if (mp_sub (&x1, &x0, &t1) != MP_OKAY) -129 goto X1Y1; /* t1 = x1 - x0 */ -130 if (mp_sub (&y1, &y0, &x0) != MP_OKAY) -131 goto X1Y1; /* t2 = y1 - y0 */ -132 if (mp_mul (&t1, &x0, &t1) != MP_OKAY) -133 goto X1Y1; /* t1 = (x1 - x0) * (y1 - y0) */ -134 -135 /* add x0y0 */ -136 if (mp_add (&x0y0, &x1y1, &x0) != MP_OKAY) -137 goto X1Y1; /* t2 = x0y0 + x1y1 */ -138 if (mp_sub (&x0, &t1, &t1) != MP_OKAY) -139 goto X1Y1; /* t1 = x0y0 + x1y1 - (x1-x0)*(y1-y0) */ -140 -141 /* shift by B */ -142 if (mp_lshd (&t1, B) != MP_OKAY) -143 goto X1Y1; /* t1 = (x0y0 + x1y1 - (x1-x0)*(y1-y0))<dp; +090 tmpb = b->dp; +091 +092 tmpx = x0.dp; +093 tmpy = y0.dp; +094 for (x = 0; x < B; x++) \{ +095 *tmpx++ = *tmpa++; +096 *tmpy++ = *tmpb++; +097 \} +098 +099 tmpx = x1.dp; +100 for (x = B; x < a->used; x++) \{ +101 *tmpx++ = *tmpa++; +102 \} +103 +104 tmpy = y1.dp; +105 for (x = B; x < b->used; x++) \{ +106 *tmpy++ = *tmpb++; +107 \} +108 \} +109 +110 /* only need to clamp the lower words since by definition the +111 * upper words x1/y1 must have a known number of digits +112 */ +113 mp_clamp (&x0); +114 mp_clamp (&y0); +115 +116 /* now calc the products x0y0 and x1y1 */ +117 /* after this x0 is no longer required, free temp [x0==t2]! */ +118 if (mp_mul (&x0, &y0, &x0y0) != MP_OKAY) +119 goto X1Y1; /* x0y0 = x0*y0 */ +120 if (mp_mul (&x1, &y1, &x1y1) != MP_OKAY) +121 goto X1Y1; /* x1y1 = x1*y1 */ +122 +123 /* now calc x1-x0 and y1-y0 */ +124 if (mp_sub (&x1, &x0, &t1) != MP_OKAY) +125 goto X1Y1; /* t1 = x1 - x0 */ +126 if (mp_sub (&y1, &y0, &x0) != MP_OKAY) +127 goto X1Y1; /* t2 = y1 - y0 */ +128 if (mp_mul (&t1, &x0, &t1) != MP_OKAY) +129 goto X1Y1; /* t1 = (x1 - x0) * (y1 - y0) */ +130 +131 /* add x0y0 */ +132 if (mp_add (&x0y0, &x1y1, &x0) != MP_OKAY) +133 goto X1Y1; /* t2 = x0y0 + x1y1 */ +134 if (mp_sub (&x0, &t1, &t1) != MP_OKAY) +135 goto X1Y1; /* t1 = x0y0 + x1y1 - (x1-x0)*(y1-y0) */ +136 +137 /* shift by B */ +138 if (mp_lshd (&t1, B) != MP_OKAY) +139 goto X1Y1; /* t1 = (x0y0 + x1y1 - (x1-x0)*(y1-y0))<used, b->used) / 3; -032 -033 /* a = a2 * B**2 + a1 * B + a0 */ -034 if ((res = mp_mod_2d(a, DIGIT_BIT * B, &a0)) != MP_OKAY) \{ -035 goto ERR; -036 \} -037 -038 if ((res = mp_copy(a, &a1)) != MP_OKAY) \{ -039 goto ERR; -040 \} -041 mp_rshd(&a1, B); -042 mp_mod_2d(&a1, DIGIT_BIT * B, &a1); -043 -044 if ((res = mp_copy(a, &a2)) != MP_OKAY) \{ -045 goto ERR; -046 \} -047 mp_rshd(&a2, B*2); -048 -049 /* b = b2 * B**2 + b1 * B + b0 */ -050 if ((res = mp_mod_2d(b, DIGIT_BIT * B, &b0)) != MP_OKAY) \{ -051 goto ERR; -052 \} -053 -054 if ((res = mp_copy(b, &b1)) != MP_OKAY) \{ -055 goto ERR; -056 \} -057 mp_rshd(&b1, B); -058 mp_mod_2d(&b1, DIGIT_BIT * B, &b1); -059 -060 if ((res = mp_copy(b, &b2)) != MP_OKAY) \{ -061 goto ERR; -062 \} -063 mp_rshd(&b2, B*2); -064 -065 /* w0 = a0*b0 */ -066 if ((res = mp_mul(&a0, &b0, &w0)) != MP_OKAY) \{ -067 goto ERR; -068 \} -069 -070 /* w4 = a2 * b2 */ -071 if ((res = mp_mul(&a2, &b2, &w4)) != MP_OKAY) \{ -072 goto ERR; -073 \} -074 -075 /* w1 = (a2 + 2(a1 + 2a0))(b2 + 2(b1 + 2b0)) */ -076 if ((res = mp_mul_2(&a0, &tmp1)) != MP_OKAY) \{ -077 goto ERR; -078 \} -079 if ((res = mp_add(&tmp1, &a1, &tmp1)) != MP_OKAY) \{ -080 goto ERR; -081 \} -082 if ((res = mp_mul_2(&tmp1, &tmp1)) != MP_OKAY) \{ -083 goto ERR; -084 \} -085 if ((res = mp_add(&tmp1, &a2, &tmp1)) != MP_OKAY) \{ -086 goto ERR; -087 \} -088 -089 if ((res = mp_mul_2(&b0, &tmp2)) != MP_OKAY) \{ -090 goto ERR; -091 \} -092 if ((res = mp_add(&tmp2, &b1, &tmp2)) != MP_OKAY) \{ -093 goto ERR; -094 \} -095 if ((res = mp_mul_2(&tmp2, &tmp2)) != MP_OKAY) \{ -096 goto ERR; -097 \} -098 if ((res = mp_add(&tmp2, &b2, &tmp2)) != MP_OKAY) \{ -099 goto ERR; -100 \} -101 -102 if ((res = mp_mul(&tmp1, &tmp2, &w1)) != MP_OKAY) \{ -103 goto ERR; -104 \} -105 -106 /* w3 = (a0 + 2(a1 + 2a2))(b0 + 2(b1 + 2b2)) */ -107 if ((res = mp_mul_2(&a2, &tmp1)) != MP_OKAY) \{ -108 goto ERR; -109 \} -110 if ((res = mp_add(&tmp1, &a1, &tmp1)) != MP_OKAY) \{ -111 goto ERR; -112 \} -113 if ((res = mp_mul_2(&tmp1, &tmp1)) != MP_OKAY) \{ -114 goto ERR; -115 \} -116 if ((res = mp_add(&tmp1, &a0, &tmp1)) != MP_OKAY) \{ -117 goto ERR; -118 \} -119 -120 if ((res = mp_mul_2(&b2, &tmp2)) != MP_OKAY) \{ -121 goto ERR; -122 \} -123 if ((res = mp_add(&tmp2, &b1, &tmp2)) != MP_OKAY) \{ -124 goto ERR; -125 \} -126 if ((res = mp_mul_2(&tmp2, &tmp2)) != MP_OKAY) \{ -127 goto ERR; -128 \} -129 if ((res = mp_add(&tmp2, &b0, &tmp2)) != MP_OKAY) \{ -130 goto ERR; -131 \} -132 -133 if ((res = mp_mul(&tmp1, &tmp2, &w3)) != MP_OKAY) \{ -134 goto ERR; -135 \} -136 -137 -138 /* w2 = (a2 + a1 + a0)(b2 + b1 + b0) */ -139 if ((res = mp_add(&a2, &a1, &tmp1)) != MP_OKAY) \{ -140 goto ERR; -141 \} -142 if ((res = mp_add(&tmp1, &a0, &tmp1)) != MP_OKAY) \{ -143 goto ERR; -144 \} -145 if ((res = mp_add(&b2, &b1, &tmp2)) != MP_OKAY) \{ -146 goto ERR; -147 \} -148 if ((res = mp_add(&tmp2, &b0, &tmp2)) != MP_OKAY) \{ -149 goto ERR; -150 \} -151 if ((res = mp_mul(&tmp1, &tmp2, &w2)) != MP_OKAY) \{ -152 goto ERR; -153 \} -154 -155 /* now solve the matrix -156 -157 0 0 0 0 1 -158 1 2 4 8 16 -159 1 1 1 1 1 -160 16 8 4 2 1 -161 1 0 0 0 0 -162 -163 using 12 subtractions, 4 shifts, -164 2 small divisions and 1 small multiplication -165 */ -166 -167 /* r1 - r4 */ -168 if ((res = mp_sub(&w1, &w4, &w1)) != MP_OKAY) \{ -169 goto ERR; -170 \} -171 /* r3 - r0 */ -172 if ((res = mp_sub(&w3, &w0, &w3)) != MP_OKAY) \{ -173 goto ERR; -174 \} -175 /* r1/2 */ -176 if ((res = mp_div_2(&w1, &w1)) != MP_OKAY) \{ -177 goto ERR; -178 \} -179 /* r3/2 */ -180 if ((res = mp_div_2(&w3, &w3)) != MP_OKAY) \{ -181 goto ERR; -182 \} -183 /* r2 - r0 - r4 */ -184 if ((res = mp_sub(&w2, &w0, &w2)) != MP_OKAY) \{ -185 goto ERR; -186 \} -187 if ((res = mp_sub(&w2, &w4, &w2)) != MP_OKAY) \{ -188 goto ERR; -189 \} -190 /* r1 - r2 */ -191 if ((res = mp_sub(&w1, &w2, &w1)) != MP_OKAY) \{ -192 goto ERR; -193 \} -194 /* r3 - r2 */ -195 if ((res = mp_sub(&w3, &w2, &w3)) != MP_OKAY) \{ -196 goto ERR; -197 \} -198 /* r1 - 8r0 */ -199 if ((res = mp_mul_2d(&w0, 3, &tmp1)) != MP_OKAY) \{ -200 goto ERR; -201 \} -202 if ((res = mp_sub(&w1, &tmp1, &w1)) != MP_OKAY) \{ -203 goto ERR; -204 \} -205 /* r3 - 8r4 */ -206 if ((res = mp_mul_2d(&w4, 3, &tmp1)) != MP_OKAY) \{ -207 goto ERR; -208 \} -209 if ((res = mp_sub(&w3, &tmp1, &w3)) != MP_OKAY) \{ -210 goto ERR; -211 \} -212 /* 3r2 - r1 - r3 */ -213 if ((res = mp_mul_d(&w2, 3, &w2)) != MP_OKAY) \{ -214 goto ERR; -215 \} -216 if ((res = mp_sub(&w2, &w1, &w2)) != MP_OKAY) \{ -217 goto ERR; -218 \} -219 if ((res = mp_sub(&w2, &w3, &w2)) != MP_OKAY) \{ -220 goto ERR; -221 \} -222 /* r1 - r2 */ -223 if ((res = mp_sub(&w1, &w2, &w1)) != MP_OKAY) \{ -224 goto ERR; -225 \} -226 /* r3 - r2 */ -227 if ((res = mp_sub(&w3, &w2, &w3)) != MP_OKAY) \{ -228 goto ERR; -229 \} -230 /* r1/3 */ -231 if ((res = mp_div_3(&w1, &w1, NULL)) != MP_OKAY) \{ -232 goto ERR; -233 \} -234 /* r3/3 */ -235 if ((res = mp_div_3(&w3, &w3, NULL)) != MP_OKAY) \{ -236 goto ERR; -237 \} -238 -239 /* at this point shift W[n] by B*n */ -240 if ((res = mp_lshd(&w1, 1*B)) != MP_OKAY) \{ -241 goto ERR; -242 \} -243 if ((res = mp_lshd(&w2, 2*B)) != MP_OKAY) \{ -244 goto ERR; -245 \} -246 if ((res = mp_lshd(&w3, 3*B)) != MP_OKAY) \{ -247 goto ERR; -248 \} -249 if ((res = mp_lshd(&w4, 4*B)) != MP_OKAY) \{ -250 goto ERR; -251 \} -252 -253 if ((res = mp_add(&w0, &w1, c)) != MP_OKAY) \{ -254 goto ERR; -255 \} -256 if ((res = mp_add(&w2, &w3, &tmp1)) != MP_OKAY) \{ -257 goto ERR; -258 \} -259 if ((res = mp_add(&w4, &tmp1, &tmp1)) != MP_OKAY) \{ -260 goto ERR; -261 \} -262 if ((res = mp_add(&tmp1, c, c)) != MP_OKAY) \{ -263 goto ERR; -264 \} -265 -266 ERR: -267 mp_clear_multi(&w0, &w1, &w2, &w3, &w4, -268 &a0, &a1, &a2, &b0, &b1, -269 &b2, &tmp1, &tmp2, NULL); -270 return res; -271 \} -272 +016 /* multiplication using the Toom-Cook 3-way algorithm */ +017 int mp_toom_mul(mp_int *a, mp_int *b, mp_int *c) +018 \{ +019 mp_int w0, w1, w2, w3, w4, tmp1, tmp2, a0, a1, a2, b0, b1, b2; +020 int res, B; +021 +022 /* init temps */ +023 if ((res = mp_init_multi(&w0, &w1, &w2, &w3, &w4, +024 &a0, &a1, &a2, &b0, &b1, +025 &b2, &tmp1, &tmp2, NULL)) != MP_OKAY) \{ +026 return res; +027 \} +028 +029 /* B */ +030 B = MIN(a->used, b->used) / 3; +031 +032 /* a = a2 * B**2 + a1 * B + a0 */ +033 if ((res = mp_mod_2d(a, DIGIT_BIT * B, &a0)) != MP_OKAY) \{ +034 goto ERR; +035 \} +036 +037 if ((res = mp_copy(a, &a1)) != MP_OKAY) \{ +038 goto ERR; +039 \} +040 mp_rshd(&a1, B); +041 mp_mod_2d(&a1, DIGIT_BIT * B, &a1); +042 +043 if ((res = mp_copy(a, &a2)) != MP_OKAY) \{ +044 goto ERR; +045 \} +046 mp_rshd(&a2, B*2); +047 +048 /* b = b2 * B**2 + b1 * B + b0 */ +049 if ((res = mp_mod_2d(b, DIGIT_BIT * B, &b0)) != MP_OKAY) \{ +050 goto ERR; +051 \} +052 +053 if ((res = mp_copy(b, &b1)) != MP_OKAY) \{ +054 goto ERR; +055 \} +056 mp_rshd(&b1, B); +057 mp_mod_2d(&b1, DIGIT_BIT * B, &b1); +058 +059 if ((res = mp_copy(b, &b2)) != MP_OKAY) \{ +060 goto ERR; +061 \} +062 mp_rshd(&b2, B*2); +063 +064 /* w0 = a0*b0 */ +065 if ((res = mp_mul(&a0, &b0, &w0)) != MP_OKAY) \{ +066 goto ERR; +067 \} +068 +069 /* w4 = a2 * b2 */ +070 if ((res = mp_mul(&a2, &b2, &w4)) != MP_OKAY) \{ +071 goto ERR; +072 \} +073 +074 /* w1 = (a2 + 2(a1 + 2a0))(b2 + 2(b1 + 2b0)) */ +075 if ((res = mp_mul_2(&a0, &tmp1)) != MP_OKAY) \{ +076 goto ERR; +077 \} +078 if ((res = mp_add(&tmp1, &a1, &tmp1)) != MP_OKAY) \{ +079 goto ERR; +080 \} +081 if ((res = mp_mul_2(&tmp1, &tmp1)) != MP_OKAY) \{ +082 goto ERR; +083 \} +084 if ((res = mp_add(&tmp1, &a2, &tmp1)) != MP_OKAY) \{ +085 goto ERR; +086 \} +087 +088 if ((res = mp_mul_2(&b0, &tmp2)) != MP_OKAY) \{ +089 goto ERR; +090 \} +091 if ((res = mp_add(&tmp2, &b1, &tmp2)) != MP_OKAY) \{ +092 goto ERR; +093 \} +094 if ((res = mp_mul_2(&tmp2, &tmp2)) != MP_OKAY) \{ +095 goto ERR; +096 \} +097 if ((res = mp_add(&tmp2, &b2, &tmp2)) != MP_OKAY) \{ +098 goto ERR; +099 \} +100 +101 if ((res = mp_mul(&tmp1, &tmp2, &w1)) != MP_OKAY) \{ +102 goto ERR; +103 \} +104 +105 /* w3 = (a0 + 2(a1 + 2a2))(b0 + 2(b1 + 2b2)) */ +106 if ((res = mp_mul_2(&a2, &tmp1)) != MP_OKAY) \{ +107 goto ERR; +108 \} +109 if ((res = mp_add(&tmp1, &a1, &tmp1)) != MP_OKAY) \{ +110 goto ERR; +111 \} +112 if ((res = mp_mul_2(&tmp1, &tmp1)) != MP_OKAY) \{ +113 goto ERR; +114 \} +115 if ((res = mp_add(&tmp1, &a0, &tmp1)) != MP_OKAY) \{ +116 goto ERR; +117 \} +118 +119 if ((res = mp_mul_2(&b2, &tmp2)) != MP_OKAY) \{ +120 goto ERR; +121 \} +122 if ((res = mp_add(&tmp2, &b1, &tmp2)) != MP_OKAY) \{ +123 goto ERR; +124 \} +125 if ((res = mp_mul_2(&tmp2, &tmp2)) != MP_OKAY) \{ +126 goto ERR; +127 \} +128 if ((res = mp_add(&tmp2, &b0, &tmp2)) != MP_OKAY) \{ +129 goto ERR; +130 \} +131 +132 if ((res = mp_mul(&tmp1, &tmp2, &w3)) != MP_OKAY) \{ +133 goto ERR; +134 \} +135 +136 +137 /* w2 = (a2 + a1 + a0)(b2 + b1 + b0) */ +138 if ((res = mp_add(&a2, &a1, &tmp1)) != MP_OKAY) \{ +139 goto ERR; +140 \} +141 if ((res = mp_add(&tmp1, &a0, &tmp1)) != MP_OKAY) \{ +142 goto ERR; +143 \} +144 if ((res = mp_add(&b2, &b1, &tmp2)) != MP_OKAY) \{ +145 goto ERR; +146 \} +147 if ((res = mp_add(&tmp2, &b0, &tmp2)) != MP_OKAY) \{ +148 goto ERR; +149 \} +150 if ((res = mp_mul(&tmp1, &tmp2, &w2)) != MP_OKAY) \{ +151 goto ERR; +152 \} +153 +154 /* now solve the matrix +155 +156 0 0 0 0 1 +157 1 2 4 8 16 +158 1 1 1 1 1 +159 16 8 4 2 1 +160 1 0 0 0 0 +161 +162 using 12 subtractions, 4 shifts, +163 2 small divisions and 1 small multiplication +164 */ +165 +166 /* r1 - r4 */ +167 if ((res = mp_sub(&w1, &w4, &w1)) != MP_OKAY) \{ +168 goto ERR; +169 \} +170 /* r3 - r0 */ +171 if ((res = mp_sub(&w3, &w0, &w3)) != MP_OKAY) \{ +172 goto ERR; +173 \} +174 /* r1/2 */ +175 if ((res = mp_div_2(&w1, &w1)) != MP_OKAY) \{ +176 goto ERR; +177 \} +178 /* r3/2 */ +179 if ((res = mp_div_2(&w3, &w3)) != MP_OKAY) \{ +180 goto ERR; +181 \} +182 /* r2 - r0 - r4 */ +183 if ((res = mp_sub(&w2, &w0, &w2)) != MP_OKAY) \{ +184 goto ERR; +185 \} +186 if ((res = mp_sub(&w2, &w4, &w2)) != MP_OKAY) \{ +187 goto ERR; +188 \} +189 /* r1 - r2 */ +190 if ((res = mp_sub(&w1, &w2, &w1)) != MP_OKAY) \{ +191 goto ERR; +192 \} +193 /* r3 - r2 */ +194 if ((res = mp_sub(&w3, &w2, &w3)) != MP_OKAY) \{ +195 goto ERR; +196 \} +197 /* r1 - 8r0 */ +198 if ((res = mp_mul_2d(&w0, 3, &tmp1)) != MP_OKAY) \{ +199 goto ERR; +200 \} +201 if ((res = mp_sub(&w1, &tmp1, &w1)) != MP_OKAY) \{ +202 goto ERR; +203 \} +204 /* r3 - 8r4 */ +205 if ((res = mp_mul_2d(&w4, 3, &tmp1)) != MP_OKAY) \{ +206 goto ERR; +207 \} +208 if ((res = mp_sub(&w3, &tmp1, &w3)) != MP_OKAY) \{ +209 goto ERR; +210 \} +211 /* 3r2 - r1 - r3 */ +212 if ((res = mp_mul_d(&w2, 3, &w2)) != MP_OKAY) \{ +213 goto ERR; +214 \} +215 if ((res = mp_sub(&w2, &w1, &w2)) != MP_OKAY) \{ +216 goto ERR; +217 \} +218 if ((res = mp_sub(&w2, &w3, &w2)) != MP_OKAY) \{ +219 goto ERR; +220 \} +221 /* r1 - r2 */ +222 if ((res = mp_sub(&w1, &w2, &w1)) != MP_OKAY) \{ +223 goto ERR; +224 \} +225 /* r3 - r2 */ +226 if ((res = mp_sub(&w3, &w2, &w3)) != MP_OKAY) \{ +227 goto ERR; +228 \} +229 /* r1/3 */ +230 if ((res = mp_div_3(&w1, &w1, NULL)) != MP_OKAY) \{ +231 goto ERR; +232 \} +233 /* r3/3 */ +234 if ((res = mp_div_3(&w3, &w3, NULL)) != MP_OKAY) \{ +235 goto ERR; +236 \} +237 +238 /* at this point shift W[n] by B*n */ +239 if ((res = mp_lshd(&w1, 1*B)) != MP_OKAY) \{ +240 goto ERR; +241 \} +242 if ((res = mp_lshd(&w2, 2*B)) != MP_OKAY) \{ +243 goto ERR; +244 \} +245 if ((res = mp_lshd(&w3, 3*B)) != MP_OKAY) \{ +246 goto ERR; +247 \} +248 if ((res = mp_lshd(&w4, 4*B)) != MP_OKAY) \{ +249 goto ERR; +250 \} +251 +252 if ((res = mp_add(&w0, &w1, c)) != MP_OKAY) \{ +253 goto ERR; +254 \} +255 if ((res = mp_add(&w2, &w3, &tmp1)) != MP_OKAY) \{ +256 goto ERR; +257 \} +258 if ((res = mp_add(&w4, &tmp1, &tmp1)) != MP_OKAY) \{ +259 goto ERR; +260 \} +261 if ((res = mp_add(&tmp1, c, c)) != MP_OKAY) \{ +262 goto ERR; +263 \} +264 +265 ERR: +266 mp_clear_multi(&w0, &w1, &w2, &w3, &w4, +267 &a0, &a1, &a2, &b0, &b1, +268 &b2, &tmp1, &tmp2, NULL); +269 return res; +270 \} +271 \end{alltt} \end{small} @@ -4699,44 +4704,43 @@ s\_mp\_mul\_digs will clear it. \hspace{-5.1mm}{\bf File}: bn\_mp\_mul.c \vspace{-3mm} \begin{alltt} -016 -017 /* high level multiplication (handles sign) */ -018 int mp_mul (mp_int * a, mp_int * b, mp_int * c) -019 \{ -020 int res, neg; -021 neg = (a->sign == b->sign) ? MP_ZPOS : MP_NEG; -022 -023 /* use Toom-Cook? */ -024 if (MIN (a->used, b->used) >= TOOM_MUL_CUTOFF) \{ -025 res = mp_toom_mul(a, b, c); -026 /* use Karatsuba? */ -027 \} else if (MIN (a->used, b->used) >= KARATSUBA_MUL_CUTOFF) \{ -028 res = mp_karatsuba_mul (a, b, c); -029 \} else \{ -030 /* can we use the fast multiplier? -031 * -032 * The fast multiplier can be used if the output will -033 * have less than MP_WARRAY digits and the number of -034 * digits won't affect carry propagation -035 */ -036 int digs = a->used + b->used + 1; -037 -038 if ((digs < MP_WARRAY) && -039 MIN(a->used, b->used) <= -040 (1 << ((CHAR_BIT * sizeof (mp_word)) - (2 * DIGIT_BIT)))) \{ -041 res = fast_s_mp_mul_digs (a, b, c, digs); -042 \} else \{ -043 res = s_mp_mul (a, b, c); -044 \} -045 \} -046 c->sign = neg; -047 return res; -048 \} +016 /* high level multiplication (handles sign) */ +017 int mp_mul (mp_int * a, mp_int * b, mp_int * c) +018 \{ +019 int res, neg; +020 neg = (a->sign == b->sign) ? MP_ZPOS : MP_NEG; +021 +022 /* use Toom-Cook? */ +023 if (MIN (a->used, b->used) >= TOOM_MUL_CUTOFF) \{ +024 res = mp_toom_mul(a, b, c); +025 /* use Karatsuba? */ +026 \} else if (MIN (a->used, b->used) >= KARATSUBA_MUL_CUTOFF) \{ +027 res = mp_karatsuba_mul (a, b, c); +028 \} else \{ +029 /* can we use the fast multiplier? +030 * +031 * The fast multiplier can be used if the output will +032 * have less than MP_WARRAY digits and the number of +033 * digits won't affect carry propagation +034 */ +035 int digs = a->used + b->used + 1; +036 +037 if ((digs < MP_WARRAY) && +038 MIN(a->used, b->used) <= +039 (1 << ((CHAR_BIT * sizeof (mp_word)) - (2 * DIGIT_BIT)))) \{ +040 res = fast_s_mp_mul_digs (a, b, c, digs); +041 \} else \{ +042 res = s_mp_mul (a, b, c); +043 \} +044 \} +045 c->sign = (c->used > 0) ? neg : MP_ZPOS; +046 return res; +047 \} \end{alltt} \end{small} -The implementation is rather simplistic and is not particularly noteworthy. Line 23 computes the sign of the result using the ``?'' -operator from the C programming language. Line 40 computes $\delta$ using the fact that $1 << k$ is equal to $2^k$. +The implementation is rather simplistic and is not particularly noteworthy. Line 22 computes the sign of the result using the ``?'' +operator from the C programming language. Line 39 computes $\delta$ using the fact that $1 << k$ is equal to $2^k$. \section{Squaring} \label{sec:basesquare} @@ -4837,76 +4841,75 @@ results calculated so far. This involves expensive carry propagation which will \hspace{-5.1mm}{\bf File}: bn\_s\_mp\_sqr.c \vspace{-3mm} \begin{alltt} -016 -017 /* low level squaring, b = a*a, HAC pp.596-597, Algorithm 14.16 */ -018 int -019 s_mp_sqr (mp_int * a, mp_int * b) -020 \{ -021 mp_int t; -022 int res, ix, iy, pa; -023 mp_word r; -024 mp_digit u, tmpx, *tmpt; -025 -026 pa = a->used; -027 if ((res = mp_init_size (&t, 2*pa + 1)) != MP_OKAY) \{ -028 return res; -029 \} -030 -031 /* default used is maximum possible size */ -032 t.used = 2*pa + 1; -033 -034 for (ix = 0; ix < pa; ix++) \{ -035 /* first calculate the digit at 2*ix */ -036 /* calculate double precision result */ -037 r = ((mp_word) t.dp[2*ix]) + -038 ((mp_word)a->dp[ix])*((mp_word)a->dp[ix]); -039 -040 /* store lower part in result */ -041 t.dp[ix+ix] = (mp_digit) (r & ((mp_word) MP_MASK)); -042 -043 /* get the carry */ -044 u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); -045 -046 /* left hand side of A[ix] * A[iy] */ -047 tmpx = a->dp[ix]; -048 -049 /* alias for where to store the results */ -050 tmpt = t.dp + (2*ix + 1); -051 -052 for (iy = ix + 1; iy < pa; iy++) \{ -053 /* first calculate the product */ -054 r = ((mp_word)tmpx) * ((mp_word)a->dp[iy]); -055 -056 /* now calculate the double precision result, note we use -057 * addition instead of *2 since it's easier to optimize -058 */ -059 r = ((mp_word) *tmpt) + r + r + ((mp_word) u); -060 -061 /* store lower part */ -062 *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK)); -063 -064 /* get carry */ -065 u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); -066 \} -067 /* propagate upwards */ -068 while (u != ((mp_digit) 0)) \{ -069 r = ((mp_word) *tmpt) + ((mp_word) u); -070 *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK)); -071 u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); -072 \} -073 \} -074 -075 mp_clamp (&t); -076 mp_exch (&t, b); -077 mp_clear (&t); -078 return MP_OKAY; -079 \} +016 /* low level squaring, b = a*a, HAC pp.596-597, Algorithm 14.16 */ +017 int +018 s_mp_sqr (mp_int * a, mp_int * b) +019 \{ +020 mp_int t; +021 int res, ix, iy, pa; +022 mp_word r; +023 mp_digit u, tmpx, *tmpt; +024 +025 pa = a->used; +026 if ((res = mp_init_size (&t, 2*pa + 1)) != MP_OKAY) \{ +027 return res; +028 \} +029 +030 /* default used is maximum possible size */ +031 t.used = 2*pa + 1; +032 +033 for (ix = 0; ix < pa; ix++) \{ +034 /* first calculate the digit at 2*ix */ +035 /* calculate double precision result */ +036 r = ((mp_word) t.dp[2*ix]) + +037 ((mp_word)a->dp[ix])*((mp_word)a->dp[ix]); +038 +039 /* store lower part in result */ +040 t.dp[ix+ix] = (mp_digit) (r & ((mp_word) MP_MASK)); +041 +042 /* get the carry */ +043 u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); +044 +045 /* left hand side of A[ix] * A[iy] */ +046 tmpx = a->dp[ix]; +047 +048 /* alias for where to store the results */ +049 tmpt = t.dp + (2*ix + 1); +050 +051 for (iy = ix + 1; iy < pa; iy++) \{ +052 /* first calculate the product */ +053 r = ((mp_word)tmpx) * ((mp_word)a->dp[iy]); +054 +055 /* now calculate the double precision result, note we use +056 * addition instead of *2 since it's easier to optimize +057 */ +058 r = ((mp_word) *tmpt) + r + r + ((mp_word) u); +059 +060 /* store lower part */ +061 *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK)); +062 +063 /* get carry */ +064 u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); +065 \} +066 /* propagate upwards */ +067 while (u != ((mp_digit) 0)) \{ +068 r = ((mp_word) *tmpt) + ((mp_word) u); +069 *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK)); +070 u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); +071 \} +072 \} +073 +074 mp_clamp (&t); +075 mp_exch (&t, b); +076 mp_clear (&t); +077 return MP_OKAY; +078 \} \end{alltt} \end{small} -Inside the outer loop (\textit{see line 34}) the square term is calculated on line 37. Line 44 extracts the carry from the square -term. Aliases for $a_{ix}$ and $t_{ix+iy}$ are initialized on lines 47 and 50 respectively. The doubling is performed using two -additions (\textit{see line 59}) since it is usually faster than shifting,if not at least as fast. +Inside the outer loop (\textit{see line 33}) the square term is calculated on line 36. Line 43 extracts the carry from the square +term. Aliases for $a_{ix}$ and $t_{ix+iy}$ are initialized on lines 46 and 49 respectively. The doubling is performed using two +additions (\textit{see line 58}) since it is usually faster than shifting,if not at least as fast. \subsection{Faster Squaring by the ``Comba'' Method} A major drawback to the baseline method is the requirement for single precision shifting inside the $O(n^2)$ nested loop. Squaring has an additional @@ -4985,130 +4988,129 @@ squares in place. \hspace{-5.1mm}{\bf File}: bn\_fast\_s\_mp\_sqr.c \vspace{-3mm} \begin{alltt} -016 -017 /* fast squaring -018 * -019 * This is the comba method where the columns of the product -020 * are computed first then the carries are computed. This -021 * has the effect of making a very simple inner loop that -022 * is executed the most -023 * -024 * W2 represents the outer products and W the inner. -025 * -026 * A further optimizations is made because the inner -027 * products are of the form "A * B * 2". The *2 part does -028 * not need to be computed until the end which is good -029 * because 64-bit shifts are slow! -030 * -031 * Based on Algorithm 14.16 on pp.597 of HAC. -032 * -033 */ -034 int fast_s_mp_sqr (mp_int * a, mp_int * b) -035 \{ -036 int olduse, newused, res, ix, pa; -037 mp_word W2[MP_WARRAY], W[MP_WARRAY]; -038 -039 /* calculate size of product and allocate as required */ -040 pa = a->used; -041 newused = pa + pa + 1; -042 if (b->alloc < newused) \{ -043 if ((res = mp_grow (b, newused)) != MP_OKAY) \{ -044 return res; -045 \} -046 \} -047 -048 /* zero temp buffer (columns) -049 * Note that there are two buffers. Since squaring requires -050 * a outer and inner product and the inner product requires -051 * computing a product and doubling it (a relatively expensive -052 * op to perform n**2 times if you don't have to) the inner and -053 * outer products are computed in different buffers. This way -054 * the inner product can be doubled using n doublings instead of -055 * n**2 -056 */ -057 memset (W, 0, newused * sizeof (mp_word)); -058 memset (W2, 0, newused * sizeof (mp_word)); -059 -060 /* This computes the inner product. To simplify the inner N**2 loop -061 * the multiplication by two is done afterwards in the N loop. -062 */ -063 for (ix = 0; ix < pa; ix++) \{ -064 /* compute the outer product -065 * -066 * Note that every outer product is computed -067 * for a particular column only once which means that -068 * there is no need todo a double precision addition -069 * into the W2[] array. -070 */ -071 W2[ix + ix] = ((mp_word)a->dp[ix]) * ((mp_word)a->dp[ix]); -072 -073 \{ -074 register mp_digit tmpx, *tmpy; -075 register mp_word *_W; -076 register int iy; -077 -078 /* copy of left side */ -079 tmpx = a->dp[ix]; -080 -081 /* alias for right side */ -082 tmpy = a->dp + (ix + 1); -083 -084 /* the column to store the result in */ -085 _W = W + (ix + ix + 1); -086 -087 /* inner products */ -088 for (iy = ix + 1; iy < pa; iy++) \{ -089 *_W++ += ((mp_word)tmpx) * ((mp_word)*tmpy++); -090 \} -091 \} -092 \} -093 -094 /* setup dest */ -095 olduse = b->used; -096 b->used = newused; -097 -098 /* now compute digits -099 * -100 * We have to double the inner product sums, add in the -101 * outer product sums, propagate carries and convert -102 * to single precision. -103 */ -104 \{ -105 register mp_digit *tmpb; -106 -107 /* double first value, since the inner products are -108 * half of what they should be -109 */ -110 W[0] += W[0] + W2[0]; -111 -112 tmpb = b->dp; -113 for (ix = 1; ix < newused; ix++) \{ -114 /* double/add next digit */ -115 W[ix] += W[ix] + W2[ix]; -116 -117 /* propagate carry forwards [from the previous digit] */ -118 W[ix] = W[ix] + (W[ix - 1] >> ((mp_word) DIGIT_BIT)); -119 -120 /* store the current digit now that the carry isn't -121 * needed -122 */ -123 *tmpb++ = (mp_digit) (W[ix - 1] & ((mp_word) MP_MASK)); -124 \} -125 /* set the last value. Note even if the carry is zero -126 * this is required since the next step will not zero -127 * it if b originally had a value at b->dp[2*a.used] -128 */ -129 *tmpb++ = (mp_digit) (W[(newused) - 1] & ((mp_word) MP_MASK)); -130 -131 /* clear high digits of b if there were any originally */ -132 for (; ix < olduse; ix++) \{ -133 *tmpb++ = 0; -134 \} -135 \} -136 -137 mp_clamp (b); -138 return MP_OKAY; -139 \} +016 /* fast squaring +017 * +018 * This is the comba method where the columns of the product +019 * are computed first then the carries are computed. This +020 * has the effect of making a very simple inner loop that +021 * is executed the most +022 * +023 * W2 represents the outer products and W the inner. +024 * +025 * A further optimizations is made because the inner +026 * products are of the form "A * B * 2". The *2 part does +027 * not need to be computed until the end which is good +028 * because 64-bit shifts are slow! +029 * +030 * Based on Algorithm 14.16 on pp.597 of HAC. +031 * +032 */ +033 int fast_s_mp_sqr (mp_int * a, mp_int * b) +034 \{ +035 int olduse, newused, res, ix, pa; +036 mp_word W2[MP_WARRAY], W[MP_WARRAY]; +037 +038 /* calculate size of product and allocate as required */ +039 pa = a->used; +040 newused = pa + pa + 1; +041 if (b->alloc < newused) \{ +042 if ((res = mp_grow (b, newused)) != MP_OKAY) \{ +043 return res; +044 \} +045 \} +046 +047 /* zero temp buffer (columns) +048 * Note that there are two buffers. Since squaring requires +049 * a outer and inner product and the inner product requires +050 * computing a product and doubling it (a relatively expensive +051 * op to perform n**2 times if you don't have to) the inner and +052 * outer products are computed in different buffers. This way +053 * the inner product can be doubled using n doublings instead of +054 * n**2 +055 */ +056 memset (W, 0, newused * sizeof (mp_word)); +057 memset (W2, 0, newused * sizeof (mp_word)); +058 +059 /* This computes the inner product. To simplify the inner N**2 loop +060 * the multiplication by two is done afterwards in the N loop. +061 */ +062 for (ix = 0; ix < pa; ix++) \{ +063 /* compute the outer product +064 * +065 * Note that every outer product is computed +066 * for a particular column only once which means that +067 * there is no need todo a double precision addition +068 * into the W2[] array. +069 */ +070 W2[ix + ix] = ((mp_word)a->dp[ix]) * ((mp_word)a->dp[ix]); +071 +072 \{ +073 register mp_digit tmpx, *tmpy; +074 register mp_word *_W; +075 register int iy; +076 +077 /* copy of left side */ +078 tmpx = a->dp[ix]; +079 +080 /* alias for right side */ +081 tmpy = a->dp + (ix + 1); +082 +083 /* the column to store the result in */ +084 _W = W + (ix + ix + 1); +085 +086 /* inner products */ +087 for (iy = ix + 1; iy < pa; iy++) \{ +088 *_W++ += ((mp_word)tmpx) * ((mp_word)*tmpy++); +089 \} +090 \} +091 \} +092 +093 /* setup dest */ +094 olduse = b->used; +095 b->used = newused; +096 +097 /* now compute digits +098 * +099 * We have to double the inner product sums, add in the +100 * outer product sums, propagate carries and convert +101 * to single precision. +102 */ +103 \{ +104 register mp_digit *tmpb; +105 +106 /* double first value, since the inner products are +107 * half of what they should be +108 */ +109 W[0] += W[0] + W2[0]; +110 +111 tmpb = b->dp; +112 for (ix = 1; ix < newused; ix++) \{ +113 /* double/add next digit */ +114 W[ix] += W[ix] + W2[ix]; +115 +116 /* propagate carry forwards [from the previous digit] */ +117 W[ix] = W[ix] + (W[ix - 1] >> ((mp_word) DIGIT_BIT)); +118 +119 /* store the current digit now that the carry isn't +120 * needed +121 */ +122 *tmpb++ = (mp_digit) (W[ix - 1] & ((mp_word) MP_MASK)); +123 \} +124 /* set the last value. Note even if the carry is zero +125 * this is required since the next step will not zero +126 * it if b originally had a value at b->dp[2*a.used] +127 */ +128 *tmpb++ = (mp_digit) (W[(newused) - 1] & ((mp_word) MP_MASK)); +129 +130 /* clear high digits of b if there were any originally */ +131 for (; ix < olduse; ix++) \{ +132 *tmpb++ = 0; +133 \} +134 \} +135 +136 mp_clamp (b); +137 return MP_OKAY; +138 \} \end{alltt} \end{small} @@ -5217,111 +5219,110 @@ ratio of 1:7. } than simpler operations such as addition. \hspace{-5.1mm}{\bf File}: bn\_mp\_karatsuba\_sqr.c \vspace{-3mm} \begin{alltt} -016 -017 /* Karatsuba squaring, computes b = a*a using three -018 * half size squarings -019 * -020 * See comments of mp_karatsuba_mul for details. It -021 * is essentially the same algorithm but merely -022 * tuned to perform recursive squarings. -023 */ -024 int mp_karatsuba_sqr (mp_int * a, mp_int * b) -025 \{ -026 mp_int x0, x1, t1, t2, x0x0, x1x1; -027 int B, err; -028 -029 err = MP_MEM; -030 -031 /* min # of digits */ -032 B = a->used; -033 -034 /* now divide in two */ -035 B = B >> 1; -036 -037 /* init copy all the temps */ -038 if (mp_init_size (&x0, B) != MP_OKAY) -039 goto ERR; -040 if (mp_init_size (&x1, a->used - B) != MP_OKAY) -041 goto X0; -042 -043 /* init temps */ -044 if (mp_init_size (&t1, a->used * 2) != MP_OKAY) -045 goto X1; -046 if (mp_init_size (&t2, a->used * 2) != MP_OKAY) -047 goto T1; -048 if (mp_init_size (&x0x0, B * 2) != MP_OKAY) -049 goto T2; -050 if (mp_init_size (&x1x1, (a->used - B) * 2) != MP_OKAY) -051 goto X0X0; -052 -053 \{ -054 register int x; -055 register mp_digit *dst, *src; -056 -057 src = a->dp; -058 -059 /* now shift the digits */ -060 dst = x0.dp; -061 for (x = 0; x < B; x++) \{ -062 *dst++ = *src++; -063 \} -064 -065 dst = x1.dp; -066 for (x = B; x < a->used; x++) \{ -067 *dst++ = *src++; -068 \} -069 \} -070 -071 x0.used = B; -072 x1.used = a->used - B; -073 -074 mp_clamp (&x0); -075 -076 /* now calc the products x0*x0 and x1*x1 */ -077 if (mp_sqr (&x0, &x0x0) != MP_OKAY) -078 goto X1X1; /* x0x0 = x0*x0 */ -079 if (mp_sqr (&x1, &x1x1) != MP_OKAY) -080 goto X1X1; /* x1x1 = x1*x1 */ -081 -082 /* now calc (x1-x0)**2 */ -083 if (mp_sub (&x1, &x0, &t1) != MP_OKAY) -084 goto X1X1; /* t1 = x1 - x0 */ -085 if (mp_sqr (&t1, &t1) != MP_OKAY) -086 goto X1X1; /* t1 = (x1 - x0) * (x1 - x0) */ -087 -088 /* add x0y0 */ -089 if (s_mp_add (&x0x0, &x1x1, &t2) != MP_OKAY) -090 goto X1X1; /* t2 = x0x0 + x1x1 */ -091 if (mp_sub (&t2, &t1, &t1) != MP_OKAY) -092 goto X1X1; /* t1 = x0x0 + x1x1 - (x1-x0)*(x1-x0) */ -093 -094 /* shift by B */ -095 if (mp_lshd (&t1, B) != MP_OKAY) -096 goto X1X1; /* t1 = (x0x0 + x1x1 - (x1-x0)*(x1-x0))<used; +032 +033 /* now divide in two */ +034 B = B >> 1; +035 +036 /* init copy all the temps */ +037 if (mp_init_size (&x0, B) != MP_OKAY) +038 goto ERR; +039 if (mp_init_size (&x1, a->used - B) != MP_OKAY) +040 goto X0; +041 +042 /* init temps */ +043 if (mp_init_size (&t1, a->used * 2) != MP_OKAY) +044 goto X1; +045 if (mp_init_size (&t2, a->used * 2) != MP_OKAY) +046 goto T1; +047 if (mp_init_size (&x0x0, B * 2) != MP_OKAY) +048 goto T2; +049 if (mp_init_size (&x1x1, (a->used - B) * 2) != MP_OKAY) +050 goto X0X0; +051 +052 \{ +053 register int x; +054 register mp_digit *dst, *src; +055 +056 src = a->dp; +057 +058 /* now shift the digits */ +059 dst = x0.dp; +060 for (x = 0; x < B; x++) \{ +061 *dst++ = *src++; +062 \} +063 +064 dst = x1.dp; +065 for (x = B; x < a->used; x++) \{ +066 *dst++ = *src++; +067 \} +068 \} +069 +070 x0.used = B; +071 x1.used = a->used - B; +072 +073 mp_clamp (&x0); +074 +075 /* now calc the products x0*x0 and x1*x1 */ +076 if (mp_sqr (&x0, &x0x0) != MP_OKAY) +077 goto X1X1; /* x0x0 = x0*x0 */ +078 if (mp_sqr (&x1, &x1x1) != MP_OKAY) +079 goto X1X1; /* x1x1 = x1*x1 */ +080 +081 /* now calc (x1-x0)**2 */ +082 if (mp_sub (&x1, &x0, &t1) != MP_OKAY) +083 goto X1X1; /* t1 = x1 - x0 */ +084 if (mp_sqr (&t1, &t1) != MP_OKAY) +085 goto X1X1; /* t1 = (x1 - x0) * (x1 - x0) */ +086 +087 /* add x0y0 */ +088 if (s_mp_add (&x0x0, &x1x1, &t2) != MP_OKAY) +089 goto X1X1; /* t2 = x0x0 + x1x1 */ +090 if (mp_sub (&t2, &t1, &t1) != MP_OKAY) +091 goto X1X1; /* t1 = x0x0 + x1x1 - (x1-x0)*(x1-x0) */ +092 +093 /* shift by B */ +094 if (mp_lshd (&t1, B) != MP_OKAY) +095 goto X1X1; /* t1 = (x0x0 + x1x1 - (x1-x0)*(x1-x0))<used >= TOOM_SQR_CUTOFF) \{ -025 res = mp_toom_sqr(a, b); -026 /* Karatsuba? */ -027 \} else if (a->used >= KARATSUBA_SQR_CUTOFF) \{ -028 res = mp_karatsuba_sqr (a, b); -029 \} else \{ -030 /* can we use the fast comba multiplier? */ -031 if ((a->used * 2 + 1) < MP_WARRAY && -032 a->used < -033 (1 << (sizeof(mp_word) * CHAR_BIT - 2*DIGIT_BIT - 1))) \{ -034 res = fast_s_mp_sqr (a, b); -035 \} else \{ -036 res = s_mp_sqr (a, b); -037 \} -038 \} -039 b->sign = MP_ZPOS; -040 return res; -041 \} +016 /* computes b = a*a */ +017 int +018 mp_sqr (mp_int * a, mp_int * b) +019 \{ +020 int res; +021 +022 /* use Toom-Cook? */ +023 if (a->used >= TOOM_SQR_CUTOFF) \{ +024 res = mp_toom_sqr(a, b); +025 /* Karatsuba? */ +026 \} else if (a->used >= KARATSUBA_SQR_CUTOFF) \{ +027 res = mp_karatsuba_sqr (a, b); +028 \} else \{ +029 /* can we use the fast comba multiplier? */ +030 if ((a->used * 2 + 1) < MP_WARRAY && +031 a->used < +032 (1 << (sizeof(mp_word) * CHAR_BIT - 2*DIGIT_BIT - 1))) \{ +033 res = fast_s_mp_sqr (a, b); +034 \} else \{ +035 res = s_mp_sqr (a, b); +036 \} +037 \} +038 b->sign = MP_ZPOS; +039 return res; +040 \} \end{alltt} \end{small} @@ -5650,81 +5650,80 @@ performed at most twice, and on average once. However, if $a \ge b^2$ than it wi \hspace{-5.1mm}{\bf File}: bn\_mp\_reduce.c \vspace{-3mm} \begin{alltt} -016 -017 /* reduces x mod m, assumes 0 < x < m**2, mu is -018 * precomputed via mp_reduce_setup. -019 * From HAC pp.604 Algorithm 14.42 -020 */ -021 int -022 mp_reduce (mp_int * x, mp_int * m, mp_int * mu) -023 \{ -024 mp_int q; -025 int res, um = m->used; -026 -027 /* q = x */ -028 if ((res = mp_init_copy (&q, x)) != MP_OKAY) \{ -029 return res; -030 \} -031 -032 /* q1 = x / b**(k-1) */ -033 mp_rshd (&q, um - 1); -034 -035 /* according to HAC this optimization is ok */ -036 if (((unsigned long) um) > (((mp_digit)1) << (DIGIT_BIT - 1))) \{ -037 if ((res = mp_mul (&q, mu, &q)) != MP_OKAY) \{ -038 goto CLEANUP; -039 \} -040 \} else \{ -041 if ((res = s_mp_mul_high_digs (&q, mu, &q, um - 1)) != MP_OKAY) \{ -042 goto CLEANUP; -043 \} -044 \} -045 -046 /* q3 = q2 / b**(k+1) */ -047 mp_rshd (&q, um + 1); -048 -049 /* x = x mod b**(k+1), quick (no division) */ -050 if ((res = mp_mod_2d (x, DIGIT_BIT * (um + 1), x)) != MP_OKAY) \{ -051 goto CLEANUP; -052 \} -053 -054 /* q = q * m mod b**(k+1), quick (no division) */ -055 if ((res = s_mp_mul_digs (&q, m, &q, um + 1)) != MP_OKAY) \{ -056 goto CLEANUP; -057 \} -058 -059 /* x = x - q */ -060 if ((res = mp_sub (x, &q, x)) != MP_OKAY) \{ -061 goto CLEANUP; -062 \} -063 -064 /* If x < 0, add b**(k+1) to it */ -065 if (mp_cmp_d (x, 0) == MP_LT) \{ -066 mp_set (&q, 1); -067 if ((res = mp_lshd (&q, um + 1)) != MP_OKAY) -068 goto CLEANUP; -069 if ((res = mp_add (x, &q, x)) != MP_OKAY) -070 goto CLEANUP; -071 \} -072 -073 /* Back off if it's too big */ -074 while (mp_cmp (x, m) != MP_LT) \{ -075 if ((res = s_mp_sub (x, m, x)) != MP_OKAY) \{ -076 goto CLEANUP; -077 \} -078 \} -079 -080 CLEANUP: -081 mp_clear (&q); -082 -083 return res; -084 \} +016 /* reduces x mod m, assumes 0 < x < m**2, mu is +017 * precomputed via mp_reduce_setup. +018 * From HAC pp.604 Algorithm 14.42 +019 */ +020 int +021 mp_reduce (mp_int * x, mp_int * m, mp_int * mu) +022 \{ +023 mp_int q; +024 int res, um = m->used; +025 +026 /* q = x */ +027 if ((res = mp_init_copy (&q, x)) != MP_OKAY) \{ +028 return res; +029 \} +030 +031 /* q1 = x / b**(k-1) */ +032 mp_rshd (&q, um - 1); +033 +034 /* according to HAC this optimization is ok */ +035 if (((unsigned long) um) > (((mp_digit)1) << (DIGIT_BIT - 1))) \{ +036 if ((res = mp_mul (&q, mu, &q)) != MP_OKAY) \{ +037 goto CLEANUP; +038 \} +039 \} else \{ +040 if ((res = s_mp_mul_high_digs (&q, mu, &q, um - 1)) != MP_OKAY) \{ +041 goto CLEANUP; +042 \} +043 \} +044 +045 /* q3 = q2 / b**(k+1) */ +046 mp_rshd (&q, um + 1); +047 +048 /* x = x mod b**(k+1), quick (no division) */ +049 if ((res = mp_mod_2d (x, DIGIT_BIT * (um + 1), x)) != MP_OKAY) \{ +050 goto CLEANUP; +051 \} +052 +053 /* q = q * m mod b**(k+1), quick (no division) */ +054 if ((res = s_mp_mul_digs (&q, m, &q, um + 1)) != MP_OKAY) \{ +055 goto CLEANUP; +056 \} +057 +058 /* x = x - q */ +059 if ((res = mp_sub (x, &q, x)) != MP_OKAY) \{ +060 goto CLEANUP; +061 \} +062 +063 /* If x < 0, add b**(k+1) to it */ +064 if (mp_cmp_d (x, 0) == MP_LT) \{ +065 mp_set (&q, 1); +066 if ((res = mp_lshd (&q, um + 1)) != MP_OKAY) +067 goto CLEANUP; +068 if ((res = mp_add (x, &q, x)) != MP_OKAY) +069 goto CLEANUP; +070 \} +071 +072 /* Back off if it's too big */ +073 while (mp_cmp (x, m) != MP_LT) \{ +074 if ((res = s_mp_sub (x, m, x)) != MP_OKAY) \{ +075 goto CLEANUP; +076 \} +077 \} +078 +079 CLEANUP: +080 mp_clear (&q); +081 +082 return res; +083 \} \end{alltt} \end{small} The first multiplication that determines the quotient can be performed by only producing the digits from $m - 1$ and up. This essentially halves the number of single precision multiplications required. However, the optimization is only safe if $\beta$ is much larger than the number of digits -in the modulus. In the source code this is evaluated on lines 36 to 44 where algorithm s\_mp\_mul\_high\_digs is used when it is +in the modulus. In the source code this is evaluated on lines 36 to 43 where algorithm s\_mp\_mul\_high\_digs is used when it is safe to do so. \subsection{The Barrett Setup Algorithm} @@ -5757,20 +5756,19 @@ is equivalent and much faster. The final value is computed by taking the intege \hspace{-5.1mm}{\bf File}: bn\_mp\_reduce\_setup.c \vspace{-3mm} \begin{alltt} -016 -017 /* pre-calculate the value required for Barrett reduction -018 * For a given modulus "b" it calulates the value required in "a" -019 */ -020 int -021 mp_reduce_setup (mp_int * a, mp_int * b) -022 \{ -023 int res; -024 -025 if ((res = mp_2expt (a, b->used * 2 * DIGIT_BIT)) != MP_OKAY) \{ -026 return res; -027 \} -028 return mp_div (a, b, a, NULL); -029 \} +016 /* pre-calculate the value required for Barrett reduction +017 * For a given modulus "b" it calulates the value required in "a" +018 */ +019 int +020 mp_reduce_setup (mp_int * a, mp_int * b) +021 \{ +022 int res; +023 +024 if ((res = mp_2expt (a, b->used * 2 * DIGIT_BIT)) != MP_OKAY) \{ +025 return res; +026 \} +027 return mp_div (a, b, a, NULL); +028 \} \end{alltt} \end{small} @@ -6028,108 +6026,107 @@ multiplications. \hspace{-5.1mm}{\bf File}: bn\_mp\_montgomery\_reduce.c \vspace{-3mm} \begin{alltt} -016 -017 /* computes xR**-1 == x (mod N) via Montgomery Reduction */ -018 int -019 mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho) -020 \{ -021 int ix, res, digs; -022 mp_digit mu; -023 -024 /* can the fast reduction [comba] method be used? -025 * -026 * Note that unlike in mp_mul you're safely allowed *less* -027 * than the available columns [255 per default] since carries -028 * are fixed up in the inner loop. -029 */ -030 digs = n->used * 2 + 1; -031 if ((digs < MP_WARRAY) && -032 n->used < -033 (1 << ((CHAR_BIT * sizeof (mp_word)) - (2 * DIGIT_BIT)))) \{ -034 return fast_mp_montgomery_reduce (x, n, rho); -035 \} -036 -037 /* grow the input as required */ -038 if (x->alloc < digs) \{ -039 if ((res = mp_grow (x, digs)) != MP_OKAY) \{ -040 return res; -041 \} -042 \} -043 x->used = digs; -044 -045 for (ix = 0; ix < n->used; ix++) \{ -046 /* mu = ai * rho mod b -047 * -048 * The value of rho must be precalculated via -049 * bn_mp_montgomery_setup() such that -050 * it equals -1/n0 mod b this allows the -051 * following inner loop to reduce the -052 * input one digit at a time -053 */ -054 mu = (mp_digit) (((mp_word)x->dp[ix]) * ((mp_word)rho) & MP_MASK); -055 -056 /* a = a + mu * m * b**i */ -057 \{ -058 register int iy; -059 register mp_digit *tmpn, *tmpx, u; -060 register mp_word r; -061 -062 /* alias for digits of the modulus */ -063 tmpn = n->dp; -064 -065 /* alias for the digits of x [the input] */ -066 tmpx = x->dp + ix; -067 -068 /* set the carry to zero */ -069 u = 0; -070 -071 /* Multiply and add in place */ -072 for (iy = 0; iy < n->used; iy++) \{ -073 /* compute product and sum */ -074 r = ((mp_word)mu) * ((mp_word)*tmpn++) + -075 ((mp_word) u) + ((mp_word) * tmpx); -076 -077 /* get carry */ -078 u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); -079 -080 /* fix digit */ -081 *tmpx++ = (mp_digit)(r & ((mp_word) MP_MASK)); -082 \} -083 /* At this point the ix'th digit of x should be zero */ +016 /* computes xR**-1 == x (mod N) via Montgomery Reduction */ +017 int +018 mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho) +019 \{ +020 int ix, res, digs; +021 mp_digit mu; +022 +023 /* can the fast reduction [comba] method be used? +024 * +025 * Note that unlike in mp_mul you're safely allowed *less* +026 * than the available columns [255 per default] since carries +027 * are fixed up in the inner loop. +028 */ +029 digs = n->used * 2 + 1; +030 if ((digs < MP_WARRAY) && +031 n->used < +032 (1 << ((CHAR_BIT * sizeof (mp_word)) - (2 * DIGIT_BIT)))) \{ +033 return fast_mp_montgomery_reduce (x, n, rho); +034 \} +035 +036 /* grow the input as required */ +037 if (x->alloc < digs) \{ +038 if ((res = mp_grow (x, digs)) != MP_OKAY) \{ +039 return res; +040 \} +041 \} +042 x->used = digs; +043 +044 for (ix = 0; ix < n->used; ix++) \{ +045 /* mu = ai * rho mod b +046 * +047 * The value of rho must be precalculated via +048 * bn_mp_montgomery_setup() such that +049 * it equals -1/n0 mod b this allows the +050 * following inner loop to reduce the +051 * input one digit at a time +052 */ +053 mu = (mp_digit) (((mp_word)x->dp[ix]) * ((mp_word)rho) & MP_MASK); +054 +055 /* a = a + mu * m * b**i */ +056 \{ +057 register int iy; +058 register mp_digit *tmpn, *tmpx, u; +059 register mp_word r; +060 +061 /* alias for digits of the modulus */ +062 tmpn = n->dp; +063 +064 /* alias for the digits of x [the input] */ +065 tmpx = x->dp + ix; +066 +067 /* set the carry to zero */ +068 u = 0; +069 +070 /* Multiply and add in place */ +071 for (iy = 0; iy < n->used; iy++) \{ +072 /* compute product and sum */ +073 r = ((mp_word)mu) * ((mp_word)*tmpn++) + +074 ((mp_word) u) + ((mp_word) * tmpx); +075 +076 /* get carry */ +077 u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); +078 +079 /* fix digit */ +080 *tmpx++ = (mp_digit)(r & ((mp_word) MP_MASK)); +081 \} +082 /* At this point the ix'th digit of x should be zero */ +083 084 -085 -086 /* propagate carries upwards as required*/ -087 while (u) \{ -088 *tmpx += u; -089 u = *tmpx >> DIGIT_BIT; -090 *tmpx++ &= MP_MASK; -091 \} -092 \} -093 \} -094 -095 /* at this point the n.used'th least -096 * significant digits of x are all zero -097 * which means we can shift x to the -098 * right by n.used digits and the -099 * residue is unchanged. -100 */ -101 -102 /* x = x/b**n.used */ -103 mp_clamp(x); -104 mp_rshd (x, n->used); -105 -106 /* if x >= n then x = x - n */ -107 if (mp_cmp_mag (x, n) != MP_LT) \{ -108 return s_mp_sub (x, n, x); -109 \} -110 -111 return MP_OKAY; -112 \} +085 /* propagate carries upwards as required*/ +086 while (u) \{ +087 *tmpx += u; +088 u = *tmpx >> DIGIT_BIT; +089 *tmpx++ &= MP_MASK; +090 \} +091 \} +092 \} +093 +094 /* at this point the n.used'th least +095 * significant digits of x are all zero +096 * which means we can shift x to the +097 * right by n.used digits and the +098 * residue is unchanged. +099 */ +100 +101 /* x = x/b**n.used */ +102 mp_clamp(x); +103 mp_rshd (x, n->used); +104 +105 /* if x >= n then x = x - n */ +106 if (mp_cmp_mag (x, n) != MP_LT) \{ +107 return s_mp_sub (x, n, x); +108 \} +109 +110 return MP_OKAY; +111 \} \end{alltt} \end{small} -This is the baseline implementation of the Montgomery reduction algorithm. Lines 30 to 35 determine if the Comba based -routine can be used instead. Line 48 computes the value of $\mu$ for that particular iteration of the outer loop. +This is the baseline implementation of the Montgomery reduction algorithm. Lines 30 to 34 determine if the Comba based +routine can be used instead. Line 47 computes the value of $\mu$ for that particular iteration of the outer loop. The multiplication $\mu n \beta^{ix}$ is performed in one step in the inner loop. The alias $tmpx$ refers to the $ix$'th digit of $x$ and the alias $tmpn$ refers to the modulus $n$. @@ -6217,169 +6214,168 @@ stored in the destination $x$. \hspace{-5.1mm}{\bf File}: bn\_fast\_mp\_montgomery\_reduce.c \vspace{-3mm} \begin{alltt} -016 -017 /* computes xR**-1 == x (mod N) via Montgomery Reduction -018 * -019 * This is an optimized implementation of mp_montgomery_reduce -020 * which uses the comba method to quickly calculate the columns of the -021 * reduction. -022 * -023 * Based on Algorithm 14.32 on pp.601 of HAC. -024 */ -025 int -026 fast_mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho) -027 \{ -028 int ix, res, olduse; -029 mp_word W[MP_WARRAY]; -030 -031 /* get old used count */ -032 olduse = x->used; -033 -034 /* grow a as required */ -035 if (x->alloc < n->used + 1) \{ -036 if ((res = mp_grow (x, n->used + 1)) != MP_OKAY) \{ -037 return res; -038 \} -039 \} -040 -041 /* first we have to get the digits of the input into -042 * an array of double precision words W[...] -043 */ -044 \{ -045 register mp_word *_W; -046 register mp_digit *tmpx; -047 -048 /* alias for the W[] array */ -049 _W = W; -050 -051 /* alias for the digits of x*/ -052 tmpx = x->dp; -053 -054 /* copy the digits of a into W[0..a->used-1] */ -055 for (ix = 0; ix < x->used; ix++) \{ -056 *_W++ = *tmpx++; -057 \} -058 -059 /* zero the high words of W[a->used..m->used*2] */ -060 for (; ix < n->used * 2 + 1; ix++) \{ -061 *_W++ = 0; -062 \} -063 \} -064 -065 /* now we proceed to zero successive digits -066 * from the least significant upwards -067 */ -068 for (ix = 0; ix < n->used; ix++) \{ -069 /* mu = ai * m' mod b -070 * -071 * We avoid a double precision multiplication (which isn't required) -072 * by casting the value down to a mp_digit. Note this requires -073 * that W[ix-1] have the carry cleared (see after the inner loop) -074 */ -075 register mp_digit mu; -076 mu = (mp_digit) (((W[ix] & MP_MASK) * rho) & MP_MASK); -077 -078 /* a = a + mu * m * b**i -079 * -080 * This is computed in place and on the fly. The multiplication -081 * by b**i is handled by offseting which columns the results -082 * are added to. -083 * -084 * Note the comba method normally doesn't handle carries in the -085 * inner loop In this case we fix the carry from the previous -086 * column since the Montgomery reduction requires digits of the -087 * result (so far) [see above] to work. This is -088 * handled by fixing up one carry after the inner loop. The -089 * carry fixups are done in order so after these loops the -090 * first m->used words of W[] have the carries fixed -091 */ -092 \{ -093 register int iy; -094 register mp_digit *tmpn; -095 register mp_word *_W; -096 -097 /* alias for the digits of the modulus */ -098 tmpn = n->dp; -099 -100 /* Alias for the columns set by an offset of ix */ -101 _W = W + ix; -102 -103 /* inner loop */ -104 for (iy = 0; iy < n->used; iy++) \{ -105 *_W++ += ((mp_word)mu) * ((mp_word)*tmpn++); -106 \} -107 \} -108 -109 /* now fix carry for next digit, W[ix+1] */ -110 W[ix + 1] += W[ix] >> ((mp_word) DIGIT_BIT); -111 \} -112 -113 /* now we have to propagate the carries and -114 * shift the words downward [all those least -115 * significant digits we zeroed]. -116 */ -117 \{ -118 register mp_digit *tmpx; -119 register mp_word *_W, *_W1; -120 -121 /* nox fix rest of carries */ -122 -123 /* alias for current word */ -124 _W1 = W + ix; -125 -126 /* alias for next word, where the carry goes */ -127 _W = W + ++ix; -128 -129 for (; ix <= n->used * 2 + 1; ix++) \{ -130 *_W++ += *_W1++ >> ((mp_word) DIGIT_BIT); -131 \} -132 -133 /* copy out, A = A/b**n -134 * -135 * The result is A/b**n but instead of converting from an -136 * array of mp_word to mp_digit than calling mp_rshd -137 * we just copy them in the right order -138 */ -139 -140 /* alias for destination word */ -141 tmpx = x->dp; -142 -143 /* alias for shifted double precision result */ -144 _W = W + n->used; -145 -146 for (ix = 0; ix < n->used + 1; ix++) \{ -147 *tmpx++ = (mp_digit)(*_W++ & ((mp_word) MP_MASK)); -148 \} -149 -150 /* zero oldused digits, if the input a was larger than -151 * m->used+1 we'll have to clear the digits -152 */ -153 for (; ix < olduse; ix++) \{ -154 *tmpx++ = 0; -155 \} -156 \} -157 -158 /* set the max used and clamp */ -159 x->used = n->used + 1; -160 mp_clamp (x); -161 -162 /* if A >= m then A = A - m */ -163 if (mp_cmp_mag (x, n) != MP_LT) \{ -164 return s_mp_sub (x, n, x); -165 \} -166 return MP_OKAY; -167 \} +016 /* computes xR**-1 == x (mod N) via Montgomery Reduction +017 * +018 * This is an optimized implementation of mp_montgomery_reduce +019 * which uses the comba method to quickly calculate the columns of the +020 * reduction. +021 * +022 * Based on Algorithm 14.32 on pp.601 of HAC. +023 */ +024 int +025 fast_mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho) +026 \{ +027 int ix, res, olduse; +028 mp_word W[MP_WARRAY]; +029 +030 /* get old used count */ +031 olduse = x->used; +032 +033 /* grow a as required */ +034 if (x->alloc < n->used + 1) \{ +035 if ((res = mp_grow (x, n->used + 1)) != MP_OKAY) \{ +036 return res; +037 \} +038 \} +039 +040 /* first we have to get the digits of the input into +041 * an array of double precision words W[...] +042 */ +043 \{ +044 register mp_word *_W; +045 register mp_digit *tmpx; +046 +047 /* alias for the W[] array */ +048 _W = W; +049 +050 /* alias for the digits of x*/ +051 tmpx = x->dp; +052 +053 /* copy the digits of a into W[0..a->used-1] */ +054 for (ix = 0; ix < x->used; ix++) \{ +055 *_W++ = *tmpx++; +056 \} +057 +058 /* zero the high words of W[a->used..m->used*2] */ +059 for (; ix < n->used * 2 + 1; ix++) \{ +060 *_W++ = 0; +061 \} +062 \} +063 +064 /* now we proceed to zero successive digits +065 * from the least significant upwards +066 */ +067 for (ix = 0; ix < n->used; ix++) \{ +068 /* mu = ai * m' mod b +069 * +070 * We avoid a double precision multiplication (which isn't required) +071 * by casting the value down to a mp_digit. Note this requires +072 * that W[ix-1] have the carry cleared (see after the inner loop) +073 */ +074 register mp_digit mu; +075 mu = (mp_digit) (((W[ix] & MP_MASK) * rho) & MP_MASK); +076 +077 /* a = a + mu * m * b**i +078 * +079 * This is computed in place and on the fly. The multiplication +080 * by b**i is handled by offseting which columns the results +081 * are added to. +082 * +083 * Note the comba method normally doesn't handle carries in the +084 * inner loop In this case we fix the carry from the previous +085 * column since the Montgomery reduction requires digits of the +086 * result (so far) [see above] to work. This is +087 * handled by fixing up one carry after the inner loop. The +088 * carry fixups are done in order so after these loops the +089 * first m->used words of W[] have the carries fixed +090 */ +091 \{ +092 register int iy; +093 register mp_digit *tmpn; +094 register mp_word *_W; +095 +096 /* alias for the digits of the modulus */ +097 tmpn = n->dp; +098 +099 /* Alias for the columns set by an offset of ix */ +100 _W = W + ix; +101 +102 /* inner loop */ +103 for (iy = 0; iy < n->used; iy++) \{ +104 *_W++ += ((mp_word)mu) * ((mp_word)*tmpn++); +105 \} +106 \} +107 +108 /* now fix carry for next digit, W[ix+1] */ +109 W[ix + 1] += W[ix] >> ((mp_word) DIGIT_BIT); +110 \} +111 +112 /* now we have to propagate the carries and +113 * shift the words downward [all those least +114 * significant digits we zeroed]. +115 */ +116 \{ +117 register mp_digit *tmpx; +118 register mp_word *_W, *_W1; +119 +120 /* nox fix rest of carries */ +121 +122 /* alias for current word */ +123 _W1 = W + ix; +124 +125 /* alias for next word, where the carry goes */ +126 _W = W + ++ix; +127 +128 for (; ix <= n->used * 2 + 1; ix++) \{ +129 *_W++ += *_W1++ >> ((mp_word) DIGIT_BIT); +130 \} +131 +132 /* copy out, A = A/b**n +133 * +134 * The result is A/b**n but instead of converting from an +135 * array of mp_word to mp_digit than calling mp_rshd +136 * we just copy them in the right order +137 */ +138 +139 /* alias for destination word */ +140 tmpx = x->dp; +141 +142 /* alias for shifted double precision result */ +143 _W = W + n->used; +144 +145 for (ix = 0; ix < n->used + 1; ix++) \{ +146 *tmpx++ = (mp_digit)(*_W++ & ((mp_word) MP_MASK)); +147 \} +148 +149 /* zero oldused digits, if the input a was larger than +150 * m->used+1 we'll have to clear the digits +151 */ +152 for (; ix < olduse; ix++) \{ +153 *tmpx++ = 0; +154 \} +155 \} +156 +157 /* set the max used and clamp */ +158 x->used = n->used + 1; +159 mp_clamp (x); +160 +161 /* if A >= m then A = A - m */ +162 if (mp_cmp_mag (x, n) != MP_LT) \{ +163 return s_mp_sub (x, n, x); +164 \} +165 return MP_OKAY; +166 \} \end{alltt} \end{small} -The $\hat W$ array is first filled with digits of $x$ on line 48 then the rest of the digits are zeroed on line 55. Both loops share +The $\hat W$ array is first filled with digits of $x$ on line 50 then the rest of the digits are zeroed on line 54. Both loops share the same alias variables to make the code easier to read. The value of $\mu$ is calculated in an interesting fashion. First the value $\hat W_{ix}$ is reduced modulo $\beta$ and cast to a mp\_digit. This -forces the compiler to use a single precision multiplication and prevents any concerns about loss of precision. Line 110 fixes the carry +forces the compiler to use a single precision multiplication and prevents any concerns about loss of precision. Line 109 fixes the carry for the next iteration of the loop by propagating the carry from $\hat W_{ix}$ to $\hat W_{ix+1}$. -The for loop on line 109 propagates the rest of the carries upwards through the columns. The for loop on line 126 reduces the columns +The for loop on line 108 propagates the rest of the carries upwards through the columns. The for loop on line 125 reduces the columns modulo $\beta$ and shifts them $k$ places at the same time. The alias $\_ \hat W$ actually refers to the array $\hat W$ starting at the $n.used$'th digit, that is $\_ \hat W_{t} = \hat W_{n.used + t}$. @@ -6416,44 +6412,43 @@ to calculate $1/n_0$ when $\beta$ is a power of two. \hspace{-5.1mm}{\bf File}: bn\_mp\_montgomery\_setup.c \vspace{-3mm} \begin{alltt} -016 -017 /* setups the montgomery reduction stuff */ -018 int -019 mp_montgomery_setup (mp_int * n, mp_digit * rho) -020 \{ -021 mp_digit x, b; -022 -023 /* fast inversion mod 2**k -024 * -025 * Based on the fact that -026 * -027 * XA = 1 (mod 2**n) => (X(2-XA)) A = 1 (mod 2**2n) -028 * => 2*X*A - X*X*A*A = 1 -029 * => 2*(1) - (1) = 1 -030 */ -031 b = n->dp[0]; -032 -033 if ((b & 1) == 0) \{ -034 return MP_VAL; -035 \} -036 -037 x = (((b + 2) & 4) << 1) + b; /* here x*a==1 mod 2**4 */ -038 x *= 2 - b * x; /* here x*a==1 mod 2**8 */ -039 #if !defined(MP_8BIT) -040 x *= 2 - b * x; /* here x*a==1 mod 2**16 */ -041 #endif -042 #if defined(MP_64BIT) || !(defined(MP_8BIT) || defined(MP_16BIT)) -043 x *= 2 - b * x; /* here x*a==1 mod 2**32 */ -044 #endif -045 #ifdef MP_64BIT -046 x *= 2 - b * x; /* here x*a==1 mod 2**64 */ -047 #endif -048 -049 /* rho = -1/m mod b */ -050 *rho = (((mp_digit) 1 << ((mp_digit) DIGIT_BIT)) - x) & MP_MASK; -051 -052 return MP_OKAY; -053 \} +016 /* setups the montgomery reduction stuff */ +017 int +018 mp_montgomery_setup (mp_int * n, mp_digit * rho) +019 \{ +020 mp_digit x, b; +021 +022 /* fast inversion mod 2**k +023 * +024 * Based on the fact that +025 * +026 * XA = 1 (mod 2**n) => (X(2-XA)) A = 1 (mod 2**2n) +027 * => 2*X*A - X*X*A*A = 1 +028 * => 2*(1) - (1) = 1 +029 */ +030 b = n->dp[0]; +031 +032 if ((b & 1) == 0) \{ +033 return MP_VAL; +034 \} +035 +036 x = (((b + 2) & 4) << 1) + b; /* here x*a==1 mod 2**4 */ +037 x *= 2 - b * x; /* here x*a==1 mod 2**8 */ +038 #if !defined(MP_8BIT) +039 x *= 2 - b * x; /* here x*a==1 mod 2**16 */ +040 #endif +041 #if defined(MP_64BIT) || !(defined(MP_8BIT) || defined(MP_16BIT)) +042 x *= 2 - b * x; /* here x*a==1 mod 2**32 */ +043 #endif +044 #ifdef MP_64BIT +045 x *= 2 - b * x; /* here x*a==1 mod 2**64 */ +046 #endif +047 +048 /* rho = -1/m mod b */ +049 *rho = (((mp_digit) 1 << ((mp_digit) DIGIT_BIT)) - x) & MP_MASK; +050 +051 return MP_OKAY; +052 \} \end{alltt} \end{small} @@ -6646,95 +6641,94 @@ at step 3. \hspace{-5.1mm}{\bf File}: bn\_mp\_dr\_reduce.c \vspace{-3mm} \begin{alltt} -016 -017 /* reduce "x" in place modulo "n" using the Diminished Radix algorithm. -018 * -019 * Based on algorithm from the paper -020 * -021 * "Generating Efficient Primes for Discrete Log Cryptosystems" -022 * Chae Hoon Lim, Pil Loong Lee, -023 * POSTECH Information Research Laboratories -024 * -025 * The modulus must be of a special format [see manual] -026 * -027 * Has been modified to use algorithm 7.10 from the LTM book instead -028 * -029 * Input x must be in the range 0 <= x <= (n-1)**2 -030 */ -031 int -032 mp_dr_reduce (mp_int * x, mp_int * n, mp_digit k) -033 \{ -034 int err, i, m; -035 mp_word r; -036 mp_digit mu, *tmpx1, *tmpx2; -037 -038 /* m = digits in modulus */ -039 m = n->used; -040 -041 /* ensure that "x" has at least 2m digits */ -042 if (x->alloc < m + m) \{ -043 if ((err = mp_grow (x, m + m)) != MP_OKAY) \{ -044 return err; -045 \} -046 \} -047 -048 /* top of loop, this is where the code resumes if -049 * another reduction pass is required. -050 */ -051 top: -052 /* aliases for digits */ -053 /* alias for lower half of x */ -054 tmpx1 = x->dp; -055 -056 /* alias for upper half of x, or x/B**m */ -057 tmpx2 = x->dp + m; -058 -059 /* set carry to zero */ -060 mu = 0; -061 -062 /* compute (x mod B**m) + k * [x/B**m] inline and inplace */ -063 for (i = 0; i < m; i++) \{ -064 r = ((mp_word)*tmpx2++) * ((mp_word)k) + *tmpx1 + mu; -065 *tmpx1++ = (mp_digit)(r & MP_MASK); -066 mu = (mp_digit)(r >> ((mp_word)DIGIT_BIT)); -067 \} -068 -069 /* set final carry */ -070 *tmpx1++ = mu; -071 -072 /* zero words above m */ -073 for (i = m + 1; i < x->used; i++) \{ -074 *tmpx1++ = 0; -075 \} -076 -077 /* clamp, sub and return */ -078 mp_clamp (x); -079 -080 /* if x >= n then subtract and reduce again -081 * Each successive "recursion" makes the input smaller and smaller. -082 */ -083 if (mp_cmp_mag (x, n) != MP_LT) \{ -084 s_mp_sub(x, n, x); -085 goto top; -086 \} -087 return MP_OKAY; -088 \} +016 /* reduce "x" in place modulo "n" using the Diminished Radix algorithm. +017 * +018 * Based on algorithm from the paper +019 * +020 * "Generating Efficient Primes for Discrete Log Cryptosystems" +021 * Chae Hoon Lim, Pil Loong Lee, +022 * POSTECH Information Research Laboratories +023 * +024 * The modulus must be of a special format [see manual] +025 * +026 * Has been modified to use algorithm 7.10 from the LTM book instead +027 * +028 * Input x must be in the range 0 <= x <= (n-1)**2 +029 */ +030 int +031 mp_dr_reduce (mp_int * x, mp_int * n, mp_digit k) +032 \{ +033 int err, i, m; +034 mp_word r; +035 mp_digit mu, *tmpx1, *tmpx2; +036 +037 /* m = digits in modulus */ +038 m = n->used; +039 +040 /* ensure that "x" has at least 2m digits */ +041 if (x->alloc < m + m) \{ +042 if ((err = mp_grow (x, m + m)) != MP_OKAY) \{ +043 return err; +044 \} +045 \} +046 +047 /* top of loop, this is where the code resumes if +048 * another reduction pass is required. +049 */ +050 top: +051 /* aliases for digits */ +052 /* alias for lower half of x */ +053 tmpx1 = x->dp; +054 +055 /* alias for upper half of x, or x/B**m */ +056 tmpx2 = x->dp + m; +057 +058 /* set carry to zero */ +059 mu = 0; +060 +061 /* compute (x mod B**m) + k * [x/B**m] inline and inplace */ +062 for (i = 0; i < m; i++) \{ +063 r = ((mp_word)*tmpx2++) * ((mp_word)k) + *tmpx1 + mu; +064 *tmpx1++ = (mp_digit)(r & MP_MASK); +065 mu = (mp_digit)(r >> ((mp_word)DIGIT_BIT)); +066 \} +067 +068 /* set final carry */ +069 *tmpx1++ = mu; +070 +071 /* zero words above m */ +072 for (i = m + 1; i < x->used; i++) \{ +073 *tmpx1++ = 0; +074 \} +075 +076 /* clamp, sub and return */ +077 mp_clamp (x); +078 +079 /* if x >= n then subtract and reduce again +080 * Each successive "recursion" makes the input smaller and smaller. +081 */ +082 if (mp_cmp_mag (x, n) != MP_LT) \{ +083 s_mp_sub(x, n, x); +084 goto top; +085 \} +086 return MP_OKAY; +087 \} \end{alltt} \end{small} -The first step is to grow $x$ as required to $2m$ digits since the reduction is performed in place on $x$. The label on line 51 is where +The first step is to grow $x$ as required to $2m$ digits since the reduction is performed in place on $x$. The label on line 50 is where the algorithm will resume if further reduction passes are required. In theory it could be placed at the top of the function however, the size of the modulus and question of whether $x$ is large enough are invariant after the first pass meaning that it would be a waste of time. The aliases $tmpx1$ and $tmpx2$ refer to the digits of $x$ where the latter is offset by $m$ digits. By reading digits from $x$ offset by $m$ digits -a division by $\beta^m$ can be simulated virtually for free. The loop on line 63 performs the bulk of the work (\textit{corresponds to step 4 of algorithm 7.11}) +a division by $\beta^m$ can be simulated virtually for free. The loop on line 62 performs the bulk of the work (\textit{corresponds to step 4 of algorithm 7.11}) in this algorithm. -By line 70 the pointer $tmpx1$ points to the $m$'th digit of $x$ which is where the final carry will be placed. Similarly by line 73 the +By line 69 the pointer $tmpx1$ points to the $m$'th digit of $x$ which is where the final carry will be placed. Similarly by line 72 the same pointer will point to the $m+1$'th digit where the zeroes will be placed. Since the algorithm is only valid if both $x$ and $n$ are greater than zero an unsigned comparison suffices to determine if another pass is required. -With the same logic at line 84 the value of $x$ is known to be greater than or equal to $n$ meaning that an unsigned subtraction can be used +With the same logic at line 83 the value of $x$ is known to be greater than or equal to $n$ meaning that an unsigned subtraction can be used as well. Since the destination of the subtraction is the larger of the inputs the call to algorithm s\_mp\_sub cannot fail and the return code does not need to be checked. @@ -6762,17 +6756,16 @@ completeness. \hspace{-5.1mm}{\bf File}: bn\_mp\_dr\_setup.c \vspace{-3mm} \begin{alltt} -016 -017 /* determines the setup value */ -018 void mp_dr_setup(mp_int *a, mp_digit *d) -019 \{ -020 /* the casts are required if DIGIT_BIT is one less than -021 * the number of bits in a mp_digit [e.g. DIGIT_BIT==31] -022 */ -023 *d = (mp_digit)((((mp_word)1) << ((mp_word)DIGIT_BIT)) - -024 ((mp_word)a->dp[0])); -025 \} -026 +016 /* determines the setup value */ +017 void mp_dr_setup(mp_int *a, mp_digit *d) +018 \{ +019 /* the casts are required if DIGIT_BIT is one less than +020 * the number of bits in a mp_digit [e.g. DIGIT_BIT==31] +021 */ +022 *d = (mp_digit)((((mp_word)1) << ((mp_word)DIGIT_BIT)) - +023 ((mp_word)a->dp[0])); +024 \} +025 \end{alltt} \end{small} @@ -6808,28 +6801,27 @@ step 3 then $n$ must be of Diminished Radix form. \hspace{-5.1mm}{\bf File}: bn\_mp\_dr\_is\_modulus.c \vspace{-3mm} \begin{alltt} -016 -017 /* determines if a number is a valid DR modulus */ -018 int mp_dr_is_modulus(mp_int *a) -019 \{ -020 int ix; -021 -022 /* must be at least two digits */ -023 if (a->used < 2) \{ -024 return 0; -025 \} -026 -027 /* must be of the form b**k - a [a <= b] so all -028 * but the first digit must be equal to -1 (mod b). -029 */ -030 for (ix = 1; ix < a->used; ix++) \{ -031 if (a->dp[ix] != MP_MASK) \{ -032 return 0; -033 \} -034 \} -035 return 1; -036 \} -037 +016 /* determines if a number is a valid DR modulus */ +017 int mp_dr_is_modulus(mp_int *a) +018 \{ +019 int ix; +020 +021 /* must be at least two digits */ +022 if (a->used < 2) \{ +023 return 0; +024 \} +025 +026 /* must be of the form b**k - a [a <= b] so all +027 * but the first digit must be equal to -1 (mod b). +028 */ +029 for (ix = 1; ix < a->used; ix++) \{ +030 if (a->dp[ix] != MP_MASK) \{ +031 return 0; +032 \} +033 \} +034 return 1; +035 \} +036 \end{alltt} \end{small} @@ -6873,52 +6865,51 @@ shift which makes the algorithm fairly inexpensive to use. \hspace{-5.1mm}{\bf File}: bn\_mp\_reduce\_2k.c \vspace{-3mm} \begin{alltt} -016 -017 /* reduces a modulo n where n is of the form 2**p - d */ -018 int -019 mp_reduce_2k(mp_int *a, mp_int *n, mp_digit d) -020 \{ -021 mp_int q; -022 int p, res; -023 -024 if ((res = mp_init(&q)) != MP_OKAY) \{ -025 return res; -026 \} -027 -028 p = mp_count_bits(n); -029 top: -030 /* q = a/2**p, a = a mod 2**p */ -031 if ((res = mp_div_2d(a, p, &q, a)) != MP_OKAY) \{ -032 goto ERR; -033 \} -034 -035 if (d != 1) \{ -036 /* q = q * d */ -037 if ((res = mp_mul_d(&q, d, &q)) != MP_OKAY) \{ -038 goto ERR; -039 \} -040 \} -041 -042 /* a = a + q */ -043 if ((res = s_mp_add(a, &q, a)) != MP_OKAY) \{ -044 goto ERR; -045 \} -046 -047 if (mp_cmp_mag(a, n) != MP_LT) \{ -048 s_mp_sub(a, n, a); -049 goto top; -050 \} -051 -052 ERR: -053 mp_clear(&q); -054 return res; -055 \} -056 +016 /* reduces a modulo n where n is of the form 2**p - d */ +017 int +018 mp_reduce_2k(mp_int *a, mp_int *n, mp_digit d) +019 \{ +020 mp_int q; +021 int p, res; +022 +023 if ((res = mp_init(&q)) != MP_OKAY) \{ +024 return res; +025 \} +026 +027 p = mp_count_bits(n); +028 top: +029 /* q = a/2**p, a = a mod 2**p */ +030 if ((res = mp_div_2d(a, p, &q, a)) != MP_OKAY) \{ +031 goto ERR; +032 \} +033 +034 if (d != 1) \{ +035 /* q = q * d */ +036 if ((res = mp_mul_d(&q, d, &q)) != MP_OKAY) \{ +037 goto ERR; +038 \} +039 \} +040 +041 /* a = a + q */ +042 if ((res = s_mp_add(a, &q, a)) != MP_OKAY) \{ +043 goto ERR; +044 \} +045 +046 if (mp_cmp_mag(a, n) != MP_LT) \{ +047 s_mp_sub(a, n, a); +048 goto top; +049 \} +050 +051 ERR: +052 mp_clear(&q); +053 return res; +054 \} +055 \end{alltt} \end{small} The algorithm mp\_count\_bits calculates the number of bits in an mp\_int which is used to find the initial value of $p$. The call to mp\_div\_2d -on line 31 calculates both the quotient $q$ and the remainder $a$ required. By doing both in a single function call the code size +on line 30 calculates both the quotient $q$ and the remainder $a$ required. By doing both in a single function call the code size is kept fairly small. The multiplication by $k$ is only performed if $k > 1$. This allows reductions modulo $2^p - 1$ to be performed without any multiplications. @@ -6956,33 +6947,32 @@ is sufficient to solve for $k$. Alternatively if $n$ has more than one digit th \hspace{-5.1mm}{\bf File}: bn\_mp\_reduce\_2k\_setup.c \vspace{-3mm} \begin{alltt} -016 -017 /* determines the setup value */ -018 int -019 mp_reduce_2k_setup(mp_int *a, mp_digit *d) -020 \{ -021 int res, p; -022 mp_int tmp; -023 -024 if ((res = mp_init(&tmp)) != MP_OKAY) \{ -025 return res; -026 \} -027 -028 p = mp_count_bits(a); -029 if ((res = mp_2expt(&tmp, p)) != MP_OKAY) \{ -030 mp_clear(&tmp); -031 return res; -032 \} -033 -034 if ((res = s_mp_sub(&tmp, a, &tmp)) != MP_OKAY) \{ -035 mp_clear(&tmp); -036 return res; -037 \} -038 -039 *d = tmp.dp[0]; -040 mp_clear(&tmp); -041 return MP_OKAY; -042 \} +016 /* determines the setup value */ +017 int +018 mp_reduce_2k_setup(mp_int *a, mp_digit *d) +019 \{ +020 int res, p; +021 mp_int tmp; +022 +023 if ((res = mp_init(&tmp)) != MP_OKAY) \{ +024 return res; +025 \} +026 +027 p = mp_count_bits(a); +028 if ((res = mp_2expt(&tmp, p)) != MP_OKAY) \{ +029 mp_clear(&tmp); +030 return res; +031 \} +032 +033 if ((res = s_mp_sub(&tmp, a, &tmp)) != MP_OKAY) \{ +034 mp_clear(&tmp); +035 return res; +036 \} +037 +038 *d = tmp.dp[0]; +039 mp_clear(&tmp); +040 return MP_OKAY; +041 \} \end{alltt} \end{small} @@ -7027,11 +7017,11 @@ This algorithm quickly determines if a modulus is of the form required for algor \hspace{-5.1mm}{\bf File}: bn\_mp\_reduce\_is\_2k.c \vspace{-3mm} \begin{alltt} -016 -017 /* determines if mp_reduce_2k can be used */ -018 int mp_reduce_is_2k(mp_int *a) -019 \{ -020 int ix, iy, iz, iw; +016 /* determines if mp_reduce_2k can be used */ +017 int mp_reduce_is_2k(mp_int *a) +018 \{ +019 int ix, iy, iw; +020 mp_digit iz; 021 022 if (a->used == 0) \{ 023 return 0; @@ -7048,7 +7038,7 @@ This algorithm quickly determines if a modulus is of the form required for algor 034 return 0; 035 \} 036 iz <<= 1; -037 if (iz > (int)MP_MASK) \{ +037 if (iz > (mp_digit)MP_MASK) \{ 038 ++iw; 039 iz = 1; 040 \} @@ -7229,49 +7219,48 @@ iteration of the loop moves the bits of the exponent $b$ upwards to the most sig \hspace{-5.1mm}{\bf File}: bn\_mp\_expt\_d.c \vspace{-3mm} \begin{alltt} -016 -017 /* calculate c = a**b using a square-multiply algorithm */ -018 int mp_expt_d (mp_int * a, mp_digit b, mp_int * c) -019 \{ -020 int res, x; -021 mp_int g; -022 -023 if ((res = mp_init_copy (&g, a)) != MP_OKAY) \{ -024 return res; -025 \} -026 -027 /* set initial result */ -028 mp_set (c, 1); -029 -030 for (x = 0; x < (int) DIGIT_BIT; x++) \{ -031 /* square */ -032 if ((res = mp_sqr (c, c)) != MP_OKAY) \{ -033 mp_clear (&g); -034 return res; -035 \} -036 -037 /* if the bit is set multiply */ -038 if ((b & (mp_digit) (((mp_digit)1) << (DIGIT_BIT - 1))) != 0) \{ -039 if ((res = mp_mul (c, &g, c)) != MP_OKAY) \{ -040 mp_clear (&g); -041 return res; -042 \} -043 \} -044 -045 /* shift to next bit */ -046 b <<= 1; -047 \} -048 -049 mp_clear (&g); -050 return MP_OKAY; -051 \} +016 /* calculate c = a**b using a square-multiply algorithm */ +017 int mp_expt_d (mp_int * a, mp_digit b, mp_int * c) +018 \{ +019 int res, x; +020 mp_int g; +021 +022 if ((res = mp_init_copy (&g, a)) != MP_OKAY) \{ +023 return res; +024 \} +025 +026 /* set initial result */ +027 mp_set (c, 1); +028 +029 for (x = 0; x < (int) DIGIT_BIT; x++) \{ +030 /* square */ +031 if ((res = mp_sqr (c, c)) != MP_OKAY) \{ +032 mp_clear (&g); +033 return res; +034 \} +035 +036 /* if the bit is set multiply */ +037 if ((b & (mp_digit) (((mp_digit)1) << (DIGIT_BIT - 1))) != 0) \{ +038 if ((res = mp_mul (c, &g, c)) != MP_OKAY) \{ +039 mp_clear (&g); +040 return res; +041 \} +042 \} +043 +044 /* shift to next bit */ +045 b <<= 1; +046 \} +047 +048 mp_clear (&g); +049 return MP_OKAY; +050 \} \end{alltt} \end{small} -Line 28 sets the initial value of the result to $1$. Next the loop on line 30 steps through each bit of the exponent starting from -the most significant down towards the least significant. The invariant squaring operation placed on line 32 is performed first. After +Line 27 sets the initial value of the result to $1$. Next the loop on line 29 steps through each bit of the exponent starting from +the most significant down towards the least significant. The invariant squaring operation placed on line 31 is performed first. After the squaring the result $c$ is multiplied by the base $g$ if and only if the most significant bit of the exponent is set. The shift on line -46 moves all of the bits of the exponent upwards towards the most significant location. +45 moves all of the bits of the exponent upwards towards the most significant location. \section{$k$-ary Exponentiation} When calculating an exponentiation the most time consuming bottleneck is the multiplications which are in general a small factor @@ -7453,78 +7442,77 @@ algorithm since their arguments are essentially the same (\textit{two mp\_ints a \vspace{-3mm} \begin{alltt} 016 -017 -018 /* this is a shell function that calls either the normal or Montgomery -019 * exptmod functions. Originally the call to the montgomery code was -020 * embedded in the normal function but that wasted alot of stack space -021 * for nothing (since 99% of the time the Montgomery code would be called) -022 */ -023 int mp_exptmod (mp_int * G, mp_int * X, mp_int * P, mp_int * Y) -024 \{ -025 int dr; -026 -027 /* modulus P must be positive */ -028 if (P->sign == MP_NEG) \{ -029 return MP_VAL; -030 \} -031 -032 /* if exponent X is negative we have to recurse */ -033 if (X->sign == MP_NEG) \{ -034 mp_int tmpG, tmpX; -035 int err; -036 -037 /* first compute 1/G mod P */ -038 if ((err = mp_init(&tmpG)) != MP_OKAY) \{ -039 return err; -040 \} -041 if ((err = mp_invmod(G, P, &tmpG)) != MP_OKAY) \{ -042 mp_clear(&tmpG); -043 return err; -044 \} -045 -046 /* now get |X| */ -047 if ((err = mp_init(&tmpX)) != MP_OKAY) \{ -048 mp_clear(&tmpG); -049 return err; -050 \} -051 if ((err = mp_abs(X, &tmpX)) != MP_OKAY) \{ -052 mp_clear_multi(&tmpG, &tmpX, NULL); -053 return err; -054 \} -055 -056 /* and now compute (1/G)**|X| instead of G**X [X < 0] */ -057 err = mp_exptmod(&tmpG, &tmpX, P, Y); -058 mp_clear_multi(&tmpG, &tmpX, NULL); -059 return err; -060 \} -061 -062 /* is it a DR modulus? */ -063 dr = mp_dr_is_modulus(P); -064 -065 /* if not, is it a uDR modulus? */ -066 if (dr == 0) \{ -067 dr = mp_reduce_is_2k(P) << 1; -068 \} -069 -070 /* if the modulus is odd or dr != 0 use the fast method */ -071 if (mp_isodd (P) == 1 || dr != 0) \{ -072 return mp_exptmod_fast (G, X, P, Y, dr); -073 \} else \{ -074 /* otherwise use the generic Barrett reduction technique */ -075 return s_mp_exptmod (G, X, P, Y); -076 \} -077 \} -078 +017 /* this is a shell function that calls either the normal or Montgomery +018 * exptmod functions. Originally the call to the montgomery code was +019 * embedded in the normal function but that wasted alot of stack space +020 * for nothing (since 99% of the time the Montgomery code would be called) +021 */ +022 int mp_exptmod (mp_int * G, mp_int * X, mp_int * P, mp_int * Y) +023 \{ +024 int dr; +025 +026 /* modulus P must be positive */ +027 if (P->sign == MP_NEG) \{ +028 return MP_VAL; +029 \} +030 +031 /* if exponent X is negative we have to recurse */ +032 if (X->sign == MP_NEG) \{ +033 mp_int tmpG, tmpX; +034 int err; +035 +036 /* first compute 1/G mod P */ +037 if ((err = mp_init(&tmpG)) != MP_OKAY) \{ +038 return err; +039 \} +040 if ((err = mp_invmod(G, P, &tmpG)) != MP_OKAY) \{ +041 mp_clear(&tmpG); +042 return err; +043 \} +044 +045 /* now get |X| */ +046 if ((err = mp_init(&tmpX)) != MP_OKAY) \{ +047 mp_clear(&tmpG); +048 return err; +049 \} +050 if ((err = mp_abs(X, &tmpX)) != MP_OKAY) \{ +051 mp_clear_multi(&tmpG, &tmpX, NULL); +052 return err; +053 \} +054 +055 /* and now compute (1/G)**|X| instead of G**X [X < 0] */ +056 err = mp_exptmod(&tmpG, &tmpX, P, Y); +057 mp_clear_multi(&tmpG, &tmpX, NULL); +058 return err; +059 \} +060 +061 /* is it a DR modulus? */ +062 dr = mp_dr_is_modulus(P); +063 +064 /* if not, is it a uDR modulus? */ +065 if (dr == 0) \{ +066 dr = mp_reduce_is_2k(P) << 1; +067 \} +068 +069 /* if the modulus is odd or dr != 0 use the fast method */ +070 if (mp_isodd (P) == 1 || dr != 0) \{ +071 return mp_exptmod_fast (G, X, P, Y, dr); +072 \} else \{ +073 /* otherwise use the generic Barrett reduction technique */ +074 return s_mp_exptmod (G, X, P, Y); +075 \} +076 \} +077 \end{alltt} \end{small} -In order to keep the algorithms in a known state the first step on line 28 is to reject any negative modulus as input. If the exponent is +In order to keep the algorithms in a known state the first step on line 31 is to reject any negative modulus as input. If the exponent is negative the algorithm tries to perform a modular exponentiation with the modular inverse of the base $G$. The temporary variable $tmpG$ is assigned the modular inverse of $G$ and $tmpX$ is assigned the absolute value of $X$. The algorithm will recuse with these new values with a positive exponent. -If the exponent is positive the algorithm resumes the exponentiation. Line 63 determines if the modulus is of the restricted Diminished Radix -form. If it is not line 67 attempts to determine if it is of a unrestricted Diminished Radix form. The integer $dr$ will take on one +If the exponent is positive the algorithm resumes the exponentiation. Line 62 determines if the modulus is of the restricted Diminished Radix +form. If it is not line 66 attempts to determine if it is of a unrestricted Diminished Radix form. The integer $dr$ will take on one of three values. \begin{enumerate} @@ -7533,7 +7521,7 @@ of three values. \item $dr = 2$ means that the modulus is of unrestricted Diminished Radix form. \end{enumerate} -Line 70 determines if the fast modular exponentiation algorithm can be used. It is allowed if $dr \ne 0$ or if the modulus is odd. Otherwise, +Line 69 determines if the fast modular exponentiation algorithm can be used. It is allowed if $dr \ne 0$ or if the modulus is odd. Otherwise, the slower s\_mp\_exptmod algorithm is used which uses Barrett reduction. \subsection{Barrett Modular Exponentiation} @@ -7694,236 +7682,235 @@ a Left-to-Right algorithm is used to process the remaining few bits. \hspace{-5.1mm}{\bf File}: bn\_s\_mp\_exptmod.c \vspace{-3mm} \begin{alltt} -016 -017 #ifdef MP_LOW_MEM -018 #define TAB_SIZE 32 -019 #else -020 #define TAB_SIZE 256 -021 #endif -022 -023 int s_mp_exptmod (mp_int * G, mp_int * X, mp_int * P, mp_int * Y) -024 \{ -025 mp_int M[TAB_SIZE], res, mu; -026 mp_digit buf; -027 int err, bitbuf, bitcpy, bitcnt, mode, digidx, x, y, winsize; -028 -029 /* find window size */ -030 x = mp_count_bits (X); -031 if (x <= 7) \{ -032 winsize = 2; -033 \} else if (x <= 36) \{ -034 winsize = 3; -035 \} else if (x <= 140) \{ -036 winsize = 4; -037 \} else if (x <= 450) \{ -038 winsize = 5; -039 \} else if (x <= 1303) \{ -040 winsize = 6; -041 \} else if (x <= 3529) \{ -042 winsize = 7; -043 \} else \{ -044 winsize = 8; -045 \} -046 -047 #ifdef MP_LOW_MEM -048 if (winsize > 5) \{ -049 winsize = 5; -050 \} -051 #endif -052 -053 /* init M array */ -054 /* init first cell */ -055 if ((err = mp_init(&M[1])) != MP_OKAY) \{ -056 return err; -057 \} -058 -059 /* now init the second half of the array */ -060 for (x = 1<<(winsize-1); x < (1 << winsize); x++) \{ -061 if ((err = mp_init(&M[x])) != MP_OKAY) \{ -062 for (y = 1<<(winsize-1); y < x; y++) \{ -063 mp_clear (&M[y]); -064 \} -065 mp_clear(&M[1]); -066 return err; -067 \} -068 \} -069 -070 /* create mu, used for Barrett reduction */ -071 if ((err = mp_init (&mu)) != MP_OKAY) \{ -072 goto __M; -073 \} -074 if ((err = mp_reduce_setup (&mu, P)) != MP_OKAY) \{ -075 goto __MU; -076 \} -077 -078 /* create M table -079 * -080 * The M table contains powers of the base, -081 * e.g. M[x] = G**x mod P -082 * -083 * The first half of the table is not -084 * computed though accept for M[0] and M[1] -085 */ -086 if ((err = mp_mod (G, P, &M[1])) != MP_OKAY) \{ -087 goto __MU; -088 \} -089 -090 /* compute the value at M[1<<(winsize-1)] by squaring -091 * M[1] (winsize-1) times -092 */ -093 if ((err = mp_copy (&M[1], &M[1 << (winsize - 1)])) != MP_OKAY) \{ -094 goto __MU; -095 \} -096 -097 for (x = 0; x < (winsize - 1); x++) \{ -098 if ((err = mp_sqr (&M[1 << (winsize - 1)], -099 &M[1 << (winsize - 1)])) != MP_OKAY) \{ -100 goto __MU; -101 \} -102 if ((err = mp_reduce (&M[1 << (winsize - 1)], P, &mu)) != MP_OKAY) \{ -103 goto __MU; -104 \} -105 \} -106 -107 /* create upper table, that is M[x] = M[x-1] * M[1] (mod P) -108 * for x = (2**(winsize - 1) + 1) to (2**winsize - 1) -109 */ -110 for (x = (1 << (winsize - 1)) + 1; x < (1 << winsize); x++) \{ -111 if ((err = mp_mul (&M[x - 1], &M[1], &M[x])) != MP_OKAY) \{ -112 goto __MU; -113 \} -114 if ((err = mp_reduce (&M[x], P, &mu)) != MP_OKAY) \{ -115 goto __MU; -116 \} -117 \} -118 -119 /* setup result */ -120 if ((err = mp_init (&res)) != MP_OKAY) \{ -121 goto __MU; -122 \} -123 mp_set (&res, 1); -124 -125 /* set initial mode and bit cnt */ -126 mode = 0; -127 bitcnt = 1; -128 buf = 0; -129 digidx = X->used - 1; -130 bitcpy = 0; -131 bitbuf = 0; -132 -133 for (;;) \{ -134 /* grab next digit as required */ -135 if (--bitcnt == 0) \{ -136 /* if digidx == -1 we are out of digits */ -137 if (digidx == -1) \{ -138 break; -139 \} -140 /* read next digit and reset the bitcnt */ -141 buf = X->dp[digidx--]; -142 bitcnt = (int) DIGIT_BIT; -143 \} -144 -145 /* grab the next msb from the exponent */ -146 y = (buf >> (mp_digit)(DIGIT_BIT - 1)) & 1; -147 buf <<= (mp_digit)1; -148 -149 /* if the bit is zero and mode == 0 then we ignore it -150 * These represent the leading zero bits before the first 1 bit -151 * in the exponent. Technically this opt is not required but it -152 * does lower the # of trivial squaring/reductions used -153 */ -154 if (mode == 0 && y == 0) \{ -155 continue; -156 \} -157 -158 /* if the bit is zero and mode == 1 then we square */ -159 if (mode == 1 && y == 0) \{ -160 if ((err = mp_sqr (&res, &res)) != MP_OKAY) \{ -161 goto __RES; -162 \} -163 if ((err = mp_reduce (&res, P, &mu)) != MP_OKAY) \{ -164 goto __RES; -165 \} -166 continue; -167 \} -168 -169 /* else we add it to the window */ -170 bitbuf |= (y << (winsize - ++bitcpy)); -171 mode = 2; -172 -173 if (bitcpy == winsize) \{ -174 /* ok window is filled so square as required and multiply */ -175 /* square first */ -176 for (x = 0; x < winsize; x++) \{ -177 if ((err = mp_sqr (&res, &res)) != MP_OKAY) \{ -178 goto __RES; -179 \} -180 if ((err = mp_reduce (&res, P, &mu)) != MP_OKAY) \{ -181 goto __RES; -182 \} -183 \} -184 -185 /* then multiply */ -186 if ((err = mp_mul (&res, &M[bitbuf], &res)) != MP_OKAY) \{ -187 goto __RES; -188 \} -189 if ((err = mp_reduce (&res, P, &mu)) != MP_OKAY) \{ -190 goto __RES; -191 \} -192 -193 /* empty window and reset */ -194 bitcpy = 0; -195 bitbuf = 0; -196 mode = 1; -197 \} -198 \} -199 -200 /* if bits remain then square/multiply */ -201 if (mode == 2 && bitcpy > 0) \{ -202 /* square then multiply if the bit is set */ -203 for (x = 0; x < bitcpy; x++) \{ -204 if ((err = mp_sqr (&res, &res)) != MP_OKAY) \{ -205 goto __RES; -206 \} -207 if ((err = mp_reduce (&res, P, &mu)) != MP_OKAY) \{ -208 goto __RES; -209 \} -210 -211 bitbuf <<= 1; -212 if ((bitbuf & (1 << winsize)) != 0) \{ -213 /* then multiply */ -214 if ((err = mp_mul (&res, &M[1], &res)) != MP_OKAY) \{ -215 goto __RES; -216 \} -217 if ((err = mp_reduce (&res, P, &mu)) != MP_OKAY) \{ -218 goto __RES; -219 \} -220 \} -221 \} -222 \} -223 -224 mp_exch (&res, Y); -225 err = MP_OKAY; -226 __RES:mp_clear (&res); -227 __MU:mp_clear (&mu); -228 __M: -229 mp_clear(&M[1]); -230 for (x = 1<<(winsize-1); x < (1 << winsize); x++) \{ -231 mp_clear (&M[x]); -232 \} -233 return err; -234 \} +016 #ifdef MP_LOW_MEM +017 #define TAB_SIZE 32 +018 #else +019 #define TAB_SIZE 256 +020 #endif +021 +022 int s_mp_exptmod (mp_int * G, mp_int * X, mp_int * P, mp_int * Y) +023 \{ +024 mp_int M[TAB_SIZE], res, mu; +025 mp_digit buf; +026 int err, bitbuf, bitcpy, bitcnt, mode, digidx, x, y, winsize; +027 +028 /* find window size */ +029 x = mp_count_bits (X); +030 if (x <= 7) \{ +031 winsize = 2; +032 \} else if (x <= 36) \{ +033 winsize = 3; +034 \} else if (x <= 140) \{ +035 winsize = 4; +036 \} else if (x <= 450) \{ +037 winsize = 5; +038 \} else if (x <= 1303) \{ +039 winsize = 6; +040 \} else if (x <= 3529) \{ +041 winsize = 7; +042 \} else \{ +043 winsize = 8; +044 \} +045 +046 #ifdef MP_LOW_MEM +047 if (winsize > 5) \{ +048 winsize = 5; +049 \} +050 #endif +051 +052 /* init M array */ +053 /* init first cell */ +054 if ((err = mp_init(&M[1])) != MP_OKAY) \{ +055 return err; +056 \} +057 +058 /* now init the second half of the array */ +059 for (x = 1<<(winsize-1); x < (1 << winsize); x++) \{ +060 if ((err = mp_init(&M[x])) != MP_OKAY) \{ +061 for (y = 1<<(winsize-1); y < x; y++) \{ +062 mp_clear (&M[y]); +063 \} +064 mp_clear(&M[1]); +065 return err; +066 \} +067 \} +068 +069 /* create mu, used for Barrett reduction */ +070 if ((err = mp_init (&mu)) != MP_OKAY) \{ +071 goto __M; +072 \} +073 if ((err = mp_reduce_setup (&mu, P)) != MP_OKAY) \{ +074 goto __MU; +075 \} +076 +077 /* create M table +078 * +079 * The M table contains powers of the base, +080 * e.g. M[x] = G**x mod P +081 * +082 * The first half of the table is not +083 * computed though accept for M[0] and M[1] +084 */ +085 if ((err = mp_mod (G, P, &M[1])) != MP_OKAY) \{ +086 goto __MU; +087 \} +088 +089 /* compute the value at M[1<<(winsize-1)] by squaring +090 * M[1] (winsize-1) times +091 */ +092 if ((err = mp_copy (&M[1], &M[1 << (winsize - 1)])) != MP_OKAY) \{ +093 goto __MU; +094 \} +095 +096 for (x = 0; x < (winsize - 1); x++) \{ +097 if ((err = mp_sqr (&M[1 << (winsize - 1)], +098 &M[1 << (winsize - 1)])) != MP_OKAY) \{ +099 goto __MU; +100 \} +101 if ((err = mp_reduce (&M[1 << (winsize - 1)], P, &mu)) != MP_OKAY) \{ +102 goto __MU; +103 \} +104 \} +105 +106 /* create upper table, that is M[x] = M[x-1] * M[1] (mod P) +107 * for x = (2**(winsize - 1) + 1) to (2**winsize - 1) +108 */ +109 for (x = (1 << (winsize - 1)) + 1; x < (1 << winsize); x++) \{ +110 if ((err = mp_mul (&M[x - 1], &M[1], &M[x])) != MP_OKAY) \{ +111 goto __MU; +112 \} +113 if ((err = mp_reduce (&M[x], P, &mu)) != MP_OKAY) \{ +114 goto __MU; +115 \} +116 \} +117 +118 /* setup result */ +119 if ((err = mp_init (&res)) != MP_OKAY) \{ +120 goto __MU; +121 \} +122 mp_set (&res, 1); +123 +124 /* set initial mode and bit cnt */ +125 mode = 0; +126 bitcnt = 1; +127 buf = 0; +128 digidx = X->used - 1; +129 bitcpy = 0; +130 bitbuf = 0; +131 +132 for (;;) \{ +133 /* grab next digit as required */ +134 if (--bitcnt == 0) \{ +135 /* if digidx == -1 we are out of digits */ +136 if (digidx == -1) \{ +137 break; +138 \} +139 /* read next digit and reset the bitcnt */ +140 buf = X->dp[digidx--]; +141 bitcnt = (int) DIGIT_BIT; +142 \} +143 +144 /* grab the next msb from the exponent */ +145 y = (buf >> (mp_digit)(DIGIT_BIT - 1)) & 1; +146 buf <<= (mp_digit)1; +147 +148 /* if the bit is zero and mode == 0 then we ignore it +149 * These represent the leading zero bits before the first 1 bit +150 * in the exponent. Technically this opt is not required but it +151 * does lower the # of trivial squaring/reductions used +152 */ +153 if (mode == 0 && y == 0) \{ +154 continue; +155 \} +156 +157 /* if the bit is zero and mode == 1 then we square */ +158 if (mode == 1 && y == 0) \{ +159 if ((err = mp_sqr (&res, &res)) != MP_OKAY) \{ +160 goto __RES; +161 \} +162 if ((err = mp_reduce (&res, P, &mu)) != MP_OKAY) \{ +163 goto __RES; +164 \} +165 continue; +166 \} +167 +168 /* else we add it to the window */ +169 bitbuf |= (y << (winsize - ++bitcpy)); +170 mode = 2; +171 +172 if (bitcpy == winsize) \{ +173 /* ok window is filled so square as required and multiply */ +174 /* square first */ +175 for (x = 0; x < winsize; x++) \{ +176 if ((err = mp_sqr (&res, &res)) != MP_OKAY) \{ +177 goto __RES; +178 \} +179 if ((err = mp_reduce (&res, P, &mu)) != MP_OKAY) \{ +180 goto __RES; +181 \} +182 \} +183 +184 /* then multiply */ +185 if ((err = mp_mul (&res, &M[bitbuf], &res)) != MP_OKAY) \{ +186 goto __RES; +187 \} +188 if ((err = mp_reduce (&res, P, &mu)) != MP_OKAY) \{ +189 goto __RES; +190 \} +191 +192 /* empty window and reset */ +193 bitcpy = 0; +194 bitbuf = 0; +195 mode = 1; +196 \} +197 \} +198 +199 /* if bits remain then square/multiply */ +200 if (mode == 2 && bitcpy > 0) \{ +201 /* square then multiply if the bit is set */ +202 for (x = 0; x < bitcpy; x++) \{ +203 if ((err = mp_sqr (&res, &res)) != MP_OKAY) \{ +204 goto __RES; +205 \} +206 if ((err = mp_reduce (&res, P, &mu)) != MP_OKAY) \{ +207 goto __RES; +208 \} +209 +210 bitbuf <<= 1; +211 if ((bitbuf & (1 << winsize)) != 0) \{ +212 /* then multiply */ +213 if ((err = mp_mul (&res, &M[1], &res)) != MP_OKAY) \{ +214 goto __RES; +215 \} +216 if ((err = mp_reduce (&res, P, &mu)) != MP_OKAY) \{ +217 goto __RES; +218 \} +219 \} +220 \} +221 \} +222 +223 mp_exch (&res, Y); +224 err = MP_OKAY; +225 __RES:mp_clear (&res); +226 __MU:mp_clear (&mu); +227 __M: +228 mp_clear(&M[1]); +229 for (x = 1<<(winsize-1); x < (1 << winsize); x++) \{ +230 mp_clear (&M[x]); +231 \} +232 return err; +233 \} \end{alltt} \end{small} -Lines 31 through 41 determine the optimal window size based on the length of the exponent in bits. The window divisions are sorted +Lines 30 through 40 determine the optimal window size based on the length of the exponent in bits. The window divisions are sorted from smallest to greatest so that in each \textbf{if} statement only one condition must be tested. For example, by the \textbf{if} statement -on line 33 the value of $x$ is already known to be greater than $140$. +on line 32 the value of $x$ is already known to be greater than $140$. -The conditional piece of code beginning on line 47 allows the window size to be restricted to five bits. This logic is used to ensure +The conditional piece of code beginning on line 46 allows the window size to be restricted to five bits. This logic is used to ensure the table of precomputed powers of $G$ remains relatively small. -The for loop on line 60 initializes the $M$ array while lines 61 and 74 compute the value of $\mu$ required for +The for loop on line 59 initializes the $M$ array while lines 60 and 73 compute the value of $\mu$ required for Barrett reduction. -- More later. @@ -7958,33 +7945,32 @@ equivalent to $m \cdot 2^k$. By this logic when $m = 1$ a quick power of two ca \hspace{-5.1mm}{\bf File}: bn\_mp\_2expt.c \vspace{-3mm} \begin{alltt} -016 -017 /* computes a = 2**b -018 * -019 * Simple algorithm which zeroes the int, grows it then just sets one bit -020 * as required. -021 */ -022 int -023 mp_2expt (mp_int * a, int b) -024 \{ -025 int res; -026 -027 /* zero a as per default */ -028 mp_zero (a); -029 -030 /* grow a to accomodate the single bit */ -031 if ((res = mp_grow (a, b / DIGIT_BIT + 1)) != MP_OKAY) \{ -032 return res; -033 \} -034 -035 /* set the used count of where the bit will go */ -036 a->used = b / DIGIT_BIT + 1; -037 -038 /* put the single bit in its place */ -039 a->dp[b / DIGIT_BIT] = 1 << (b % DIGIT_BIT); -040 -041 return MP_OKAY; -042 \} +016 /* computes a = 2**b +017 * +018 * Simple algorithm which zeroes the int, grows it then just sets one bit +019 * as required. +020 */ +021 int +022 mp_2expt (mp_int * a, int b) +023 \{ +024 int res; +025 +026 /* zero a as per default */ +027 mp_zero (a); +028 +029 /* grow a to accomodate the single bit */ +030 if ((res = mp_grow (a, b / DIGIT_BIT + 1)) != MP_OKAY) \{ +031 return res; +032 \} +033 +034 /* set the used count of where the bit will go */ +035 a->used = b / DIGIT_BIT + 1; +036 +037 /* put the single bit in its place */ +038 a->dp[b / DIGIT_BIT] = ((mp_digit)1) << (b % DIGIT_BIT); +039 +040 return MP_OKAY; +041 \} \end{alltt} \end{small} @@ -8233,202 +8219,201 @@ respectively be replaced with a zero. \hspace{-5.1mm}{\bf File}: bn\_mp\_div.c \vspace{-3mm} \begin{alltt} -016 -017 /* integer signed division. -018 * c*b + d == a [e.g. a/b, c=quotient, d=remainder] -019 * HAC pp.598 Algorithm 14.20 -020 * -021 * Note that the description in HAC is horribly -022 * incomplete. For example, it doesn't consider -023 * the case where digits are removed from 'x' in -024 * the inner loop. It also doesn't consider the -025 * case that y has fewer than three digits, etc.. -026 * -027 * The overall algorithm is as described as -028 * 14.20 from HAC but fixed to treat these cases. -029 */ -030 int mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) -031 \{ -032 mp_int q, x, y, t1, t2; -033 int res, n, t, i, norm, neg; -034 -035 /* is divisor zero ? */ -036 if (mp_iszero (b) == 1) \{ -037 return MP_VAL; -038 \} -039 -040 /* if a < b then q=0, r = a */ -041 if (mp_cmp_mag (a, b) == MP_LT) \{ -042 if (d != NULL) \{ -043 res = mp_copy (a, d); -044 \} else \{ -045 res = MP_OKAY; -046 \} -047 if (c != NULL) \{ -048 mp_zero (c); -049 \} -050 return res; -051 \} -052 -053 if ((res = mp_init_size (&q, a->used + 2)) != MP_OKAY) \{ -054 return res; -055 \} -056 q.used = a->used + 2; -057 -058 if ((res = mp_init (&t1)) != MP_OKAY) \{ -059 goto __Q; -060 \} -061 -062 if ((res = mp_init (&t2)) != MP_OKAY) \{ -063 goto __T1; -064 \} -065 -066 if ((res = mp_init_copy (&x, a)) != MP_OKAY) \{ -067 goto __T2; -068 \} -069 -070 if ((res = mp_init_copy (&y, b)) != MP_OKAY) \{ -071 goto __X; -072 \} -073 -074 /* fix the sign */ -075 neg = (a->sign == b->sign) ? MP_ZPOS : MP_NEG; -076 x.sign = y.sign = MP_ZPOS; -077 -078 /* normalize both x and y, ensure that y >= b/2, [b == 2**DIGIT_BIT] */ -079 norm = mp_count_bits(&y) % DIGIT_BIT; -080 if (norm < (int)(DIGIT_BIT-1)) \{ -081 norm = (DIGIT_BIT-1) - norm; -082 if ((res = mp_mul_2d (&x, norm, &x)) != MP_OKAY) \{ -083 goto __Y; -084 \} -085 if ((res = mp_mul_2d (&y, norm, &y)) != MP_OKAY) \{ -086 goto __Y; -087 \} -088 \} else \{ -089 norm = 0; -090 \} -091 -092 /* note hac does 0 based, so if used==5 then its 0,1,2,3,4, e.g. use 4 */ -093 n = x.used - 1; -094 t = y.used - 1; -095 -096 /* while (x >= y*b**n-t) do \{ q[n-t] += 1; x -= y*b**\{n-t\} \} */ -097 if ((res = mp_lshd (&y, n - t)) != MP_OKAY) \{ /* y = y*b**\{n-t\} */ -098 goto __Y; -099 \} -100 -101 while (mp_cmp (&x, &y) != MP_LT) \{ -102 ++(q.dp[n - t]); -103 if ((res = mp_sub (&x, &y, &x)) != MP_OKAY) \{ -104 goto __Y; -105 \} -106 \} -107 -108 /* reset y by shifting it back down */ -109 mp_rshd (&y, n - t); -110 -111 /* step 3. for i from n down to (t + 1) */ -112 for (i = n; i >= (t + 1); i--) \{ -113 if (i > x.used) \{ -114 continue; -115 \} -116 -117 /* step 3.1 if xi == yt then set q\{i-t-1\} to b-1, -118 * otherwise set q\{i-t-1\} to (xi*b + x\{i-1\})/yt */ -119 if (x.dp[i] == y.dp[t]) \{ -120 q.dp[i - t - 1] = ((((mp_digit)1) << DIGIT_BIT) - 1); -121 \} else \{ -122 mp_word tmp; -123 tmp = ((mp_word) x.dp[i]) << ((mp_word) DIGIT_BIT); -124 tmp |= ((mp_word) x.dp[i - 1]); -125 tmp /= ((mp_word) y.dp[t]); -126 if (tmp > (mp_word) MP_MASK) -127 tmp = MP_MASK; -128 q.dp[i - t - 1] = (mp_digit) (tmp & (mp_word) (MP_MASK)); -129 \} -130 -131 /* while (q\{i-t-1\} * (yt * b + y\{t-1\})) > -132 xi * b**2 + xi-1 * b + xi-2 -133 -134 do q\{i-t-1\} -= 1; -135 */ -136 q.dp[i - t - 1] = (q.dp[i - t - 1] + 1) & MP_MASK; -137 do \{ -138 q.dp[i - t - 1] = (q.dp[i - t - 1] - 1) & MP_MASK; -139 -140 /* find left hand */ -141 mp_zero (&t1); -142 t1.dp[0] = (t - 1 < 0) ? 0 : y.dp[t - 1]; -143 t1.dp[1] = y.dp[t]; -144 t1.used = 2; -145 if ((res = mp_mul_d (&t1, q.dp[i - t - 1], &t1)) != MP_OKAY) \{ -146 goto __Y; -147 \} -148 -149 /* find right hand */ -150 t2.dp[0] = (i - 2 < 0) ? 0 : x.dp[i - 2]; -151 t2.dp[1] = (i - 1 < 0) ? 0 : x.dp[i - 1]; -152 t2.dp[2] = x.dp[i]; -153 t2.used = 3; -154 \} while (mp_cmp_mag(&t1, &t2) == MP_GT); -155 -156 /* step 3.3 x = x - q\{i-t-1\} * y * b**\{i-t-1\} */ -157 if ((res = mp_mul_d (&y, q.dp[i - t - 1], &t1)) != MP_OKAY) \{ -158 goto __Y; -159 \} -160 -161 if ((res = mp_lshd (&t1, i - t - 1)) != MP_OKAY) \{ -162 goto __Y; -163 \} -164 -165 if ((res = mp_sub (&x, &t1, &x)) != MP_OKAY) \{ -166 goto __Y; -167 \} -168 -169 /* if x < 0 then \{ x = x + y*b**\{i-t-1\}; q\{i-t-1\} -= 1; \} */ -170 if (x.sign == MP_NEG) \{ -171 if ((res = mp_copy (&y, &t1)) != MP_OKAY) \{ -172 goto __Y; -173 \} -174 if ((res = mp_lshd (&t1, i - t - 1)) != MP_OKAY) \{ -175 goto __Y; -176 \} -177 if ((res = mp_add (&x, &t1, &x)) != MP_OKAY) \{ -178 goto __Y; -179 \} -180 -181 q.dp[i - t - 1] = (q.dp[i - t - 1] - 1UL) & MP_MASK; -182 \} -183 \} -184 -185 /* now q is the quotient and x is the remainder -186 * [which we have to normalize] -187 */ -188 -189 /* get sign before writing to c */ -190 x.sign = a->sign; -191 -192 if (c != NULL) \{ -193 mp_clamp (&q); -194 mp_exch (&q, c); -195 c->sign = neg; -196 \} -197 -198 if (d != NULL) \{ -199 mp_div_2d (&x, norm, &x, NULL); -200 mp_exch (&x, d); -201 \} -202 -203 res = MP_OKAY; -204 -205 __Y:mp_clear (&y); -206 __X:mp_clear (&x); -207 __T2:mp_clear (&t2); -208 __T1:mp_clear (&t1); -209 __Q:mp_clear (&q); -210 return res; -211 \} +016 /* integer signed division. +017 * c*b + d == a [e.g. a/b, c=quotient, d=remainder] +018 * HAC pp.598 Algorithm 14.20 +019 * +020 * Note that the description in HAC is horribly +021 * incomplete. For example, it doesn't consider +022 * the case where digits are removed from 'x' in +023 * the inner loop. It also doesn't consider the +024 * case that y has fewer than three digits, etc.. +025 * +026 * The overall algorithm is as described as +027 * 14.20 from HAC but fixed to treat these cases. +028 */ +029 int mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) +030 \{ +031 mp_int q, x, y, t1, t2; +032 int res, n, t, i, norm, neg; +033 +034 /* is divisor zero ? */ +035 if (mp_iszero (b) == 1) \{ +036 return MP_VAL; +037 \} +038 +039 /* if a < b then q=0, r = a */ +040 if (mp_cmp_mag (a, b) == MP_LT) \{ +041 if (d != NULL) \{ +042 res = mp_copy (a, d); +043 \} else \{ +044 res = MP_OKAY; +045 \} +046 if (c != NULL) \{ +047 mp_zero (c); +048 \} +049 return res; +050 \} +051 +052 if ((res = mp_init_size (&q, a->used + 2)) != MP_OKAY) \{ +053 return res; +054 \} +055 q.used = a->used + 2; +056 +057 if ((res = mp_init (&t1)) != MP_OKAY) \{ +058 goto __Q; +059 \} +060 +061 if ((res = mp_init (&t2)) != MP_OKAY) \{ +062 goto __T1; +063 \} +064 +065 if ((res = mp_init_copy (&x, a)) != MP_OKAY) \{ +066 goto __T2; +067 \} +068 +069 if ((res = mp_init_copy (&y, b)) != MP_OKAY) \{ +070 goto __X; +071 \} +072 +073 /* fix the sign */ +074 neg = (a->sign == b->sign) ? MP_ZPOS : MP_NEG; +075 x.sign = y.sign = MP_ZPOS; +076 +077 /* normalize both x and y, ensure that y >= b/2, [b == 2**DIGIT_BIT] */ +078 norm = mp_count_bits(&y) % DIGIT_BIT; +079 if (norm < (int)(DIGIT_BIT-1)) \{ +080 norm = (DIGIT_BIT-1) - norm; +081 if ((res = mp_mul_2d (&x, norm, &x)) != MP_OKAY) \{ +082 goto __Y; +083 \} +084 if ((res = mp_mul_2d (&y, norm, &y)) != MP_OKAY) \{ +085 goto __Y; +086 \} +087 \} else \{ +088 norm = 0; +089 \} +090 +091 /* note hac does 0 based, so if used==5 then its 0,1,2,3,4, e.g. use 4 */ +092 n = x.used - 1; +093 t = y.used - 1; +094 +095 /* while (x >= y*b**n-t) do \{ q[n-t] += 1; x -= y*b**\{n-t\} \} */ +096 if ((res = mp_lshd (&y, n - t)) != MP_OKAY) \{ /* y = y*b**\{n-t\} */ +097 goto __Y; +098 \} +099 +100 while (mp_cmp (&x, &y) != MP_LT) \{ +101 ++(q.dp[n - t]); +102 if ((res = mp_sub (&x, &y, &x)) != MP_OKAY) \{ +103 goto __Y; +104 \} +105 \} +106 +107 /* reset y by shifting it back down */ +108 mp_rshd (&y, n - t); +109 +110 /* step 3. for i from n down to (t + 1) */ +111 for (i = n; i >= (t + 1); i--) \{ +112 if (i > x.used) \{ +113 continue; +114 \} +115 +116 /* step 3.1 if xi == yt then set q\{i-t-1\} to b-1, +117 * otherwise set q\{i-t-1\} to (xi*b + x\{i-1\})/yt */ +118 if (x.dp[i] == y.dp[t]) \{ +119 q.dp[i - t - 1] = ((((mp_digit)1) << DIGIT_BIT) - 1); +120 \} else \{ +121 mp_word tmp; +122 tmp = ((mp_word) x.dp[i]) << ((mp_word) DIGIT_BIT); +123 tmp |= ((mp_word) x.dp[i - 1]); +124 tmp /= ((mp_word) y.dp[t]); +125 if (tmp > (mp_word) MP_MASK) +126 tmp = MP_MASK; +127 q.dp[i - t - 1] = (mp_digit) (tmp & (mp_word) (MP_MASK)); +128 \} +129 +130 /* while (q\{i-t-1\} * (yt * b + y\{t-1\})) > +131 xi * b**2 + xi-1 * b + xi-2 +132 +133 do q\{i-t-1\} -= 1; +134 */ +135 q.dp[i - t - 1] = (q.dp[i - t - 1] + 1) & MP_MASK; +136 do \{ +137 q.dp[i - t - 1] = (q.dp[i - t - 1] - 1) & MP_MASK; +138 +139 /* find left hand */ +140 mp_zero (&t1); +141 t1.dp[0] = (t - 1 < 0) ? 0 : y.dp[t - 1]; +142 t1.dp[1] = y.dp[t]; +143 t1.used = 2; +144 if ((res = mp_mul_d (&t1, q.dp[i - t - 1], &t1)) != MP_OKAY) \{ +145 goto __Y; +146 \} +147 +148 /* find right hand */ +149 t2.dp[0] = (i - 2 < 0) ? 0 : x.dp[i - 2]; +150 t2.dp[1] = (i - 1 < 0) ? 0 : x.dp[i - 1]; +151 t2.dp[2] = x.dp[i]; +152 t2.used = 3; +153 \} while (mp_cmp_mag(&t1, &t2) == MP_GT); +154 +155 /* step 3.3 x = x - q\{i-t-1\} * y * b**\{i-t-1\} */ +156 if ((res = mp_mul_d (&y, q.dp[i - t - 1], &t1)) != MP_OKAY) \{ +157 goto __Y; +158 \} +159 +160 if ((res = mp_lshd (&t1, i - t - 1)) != MP_OKAY) \{ +161 goto __Y; +162 \} +163 +164 if ((res = mp_sub (&x, &t1, &x)) != MP_OKAY) \{ +165 goto __Y; +166 \} +167 +168 /* if x < 0 then \{ x = x + y*b**\{i-t-1\}; q\{i-t-1\} -= 1; \} */ +169 if (x.sign == MP_NEG) \{ +170 if ((res = mp_copy (&y, &t1)) != MP_OKAY) \{ +171 goto __Y; +172 \} +173 if ((res = mp_lshd (&t1, i - t - 1)) != MP_OKAY) \{ +174 goto __Y; +175 \} +176 if ((res = mp_add (&x, &t1, &x)) != MP_OKAY) \{ +177 goto __Y; +178 \} +179 +180 q.dp[i - t - 1] = (q.dp[i - t - 1] - 1UL) & MP_MASK; +181 \} +182 \} +183 +184 /* now q is the quotient and x is the remainder +185 * [which we have to normalize] +186 */ +187 +188 /* get sign before writing to c */ +189 x.sign = x.used == 0 ? MP_ZPOS : a->sign; +190 +191 if (c != NULL) \{ +192 mp_clamp (&q); +193 mp_exch (&q, c); +194 c->sign = neg; +195 \} +196 +197 if (d != NULL) \{ +198 mp_div_2d (&x, norm, &x, NULL); +199 mp_exch (&x, d); +200 \} +201 +202 res = MP_OKAY; +203 +204 __Y:mp_clear (&y); +205 __X:mp_clear (&x); +206 __T2:mp_clear (&t2); +207 __T1:mp_clear (&t1); +208 __Q:mp_clear (&q); +209 return res; +210 \} \end{alltt} \end{small} @@ -8440,9 +8425,9 @@ algorithm with only the quotient is mp_div(&a, &b, &c, NULL); /* c = [a/b] */ \end{verbatim} -Lines 36 and 42 handle the two trivial cases of inputs which are division by zero and dividend smaller than the divisor -respectively. After the two trivial cases all of the temporary variables are initialized. Line 75 determines the sign of -the quotient and line 76 ensures that both $x$ and $y$ are positive. +Lines 39 and 41 handle the two trivial cases of inputs which are division by zero and dividend smaller than the divisor +respectively. After the two trivial cases all of the temporary variables are initialized. Line 74 determines the sign of +the quotient and line 75 ensures that both $x$ and $y$ are positive. The number of bits in the leading digit is calculated on line 80. Implictly an mp\_int with $r$ digits will require $lg(\beta)(r-1) + k$ bits of precision which when reduced modulo $lg(\beta)$ produces the value of $k$. In this case $k$ is the number of bits in the leading digit which is @@ -8450,9 +8435,9 @@ exactly what is required. For the algorithm to operate $k$ must equal $lg(\beta them to the left by $lg(\beta) - 1 - k$ bits. Throughout the variables $n$ and $t$ will represent the highest digit of $x$ and $y$ respectively. These are first used to produce the -leading digit of the quotient. The loop beginning on line 112 will produce the remainder of the quotient digits. +leading digit of the quotient. The loop beginning on line 111 will produce the remainder of the quotient digits. -The conditional ``continue'' on line 113 is used to prevent the algorithm from reading past the leading edge of $x$ which can occur when the +The conditional ``continue'' on line 116 is used to prevent the algorithm from reading past the leading edge of $x$ which can occur when the algorithm eliminates multiple non-zero digits in a single iteration. This ensures that $x_i$ is always non-zero since by definition the digits above the $i$'th position $x$ must be zero in order for the quotient to be precise\footnote{Precise as far as integer division is concerned.}. @@ -8494,94 +8479,93 @@ This algorithm initiates a temporary mp\_int with the value of the single digit \hspace{-5.1mm}{\bf File}: bn\_mp\_add\_d.c \vspace{-3mm} \begin{alltt} -016 -017 /* single digit addition */ -018 int -019 mp_add_d (mp_int * a, mp_digit b, mp_int * c) -020 \{ -021 int res, ix, oldused; -022 mp_digit *tmpa, *tmpc, mu; -023 -024 /* grow c as required */ -025 if (c->alloc < a->used + 1) \{ -026 if ((res = mp_grow(c, a->used + 1)) != MP_OKAY) \{ -027 return res; -028 \} -029 \} -030 -031 /* if a is negative and |a| >= b, call c = |a| - b */ -032 if (a->sign == MP_NEG && (a->used > 1 || a->dp[0] >= b)) \{ -033 /* temporarily fix sign of a */ -034 a->sign = MP_ZPOS; -035 -036 /* c = |a| - b */ -037 res = mp_sub_d(a, b, c); -038 -039 /* fix sign */ -040 a->sign = c->sign = MP_NEG; -041 -042 return res; -043 \} -044 -045 /* old number of used digits in c */ -046 oldused = c->used; -047 -048 /* sign always positive */ -049 c->sign = MP_ZPOS; -050 -051 /* source alias */ -052 tmpa = a->dp; -053 -054 /* destination alias */ -055 tmpc = c->dp; -056 -057 /* if a is positive */ -058 if (a->sign == MP_ZPOS) \{ -059 /* add digit, after this we're propagating -060 * the carry. -061 */ -062 *tmpc = *tmpa++ + b; -063 mu = *tmpc >> DIGIT_BIT; -064 *tmpc++ &= MP_MASK; -065 -066 /* now handle rest of the digits */ -067 for (ix = 1; ix < a->used; ix++) \{ -068 *tmpc = *tmpa++ + mu; -069 mu = *tmpc >> DIGIT_BIT; -070 *tmpc++ &= MP_MASK; -071 \} -072 /* set final carry */ -073 ix++; -074 *tmpc++ = mu; -075 -076 /* setup size */ -077 c->used = a->used + 1; -078 \} else \{ -079 /* a was negative and |a| < b */ -080 c->used = 1; -081 -082 /* the result is a single digit */ -083 if (a->used == 1) \{ -084 *tmpc++ = b - a->dp[0]; -085 \} else \{ -086 *tmpc++ = b; -087 \} -088 -089 /* setup count so the clearing of oldused -090 * can fall through correctly -091 */ -092 ix = 1; -093 \} -094 -095 /* now zero to oldused */ -096 while (ix++ < oldused) \{ -097 *tmpc++ = 0; -098 \} -099 mp_clamp(c); -100 -101 return MP_OKAY; -102 \} -103 +016 /* single digit addition */ +017 int +018 mp_add_d (mp_int * a, mp_digit b, mp_int * c) +019 \{ +020 int res, ix, oldused; +021 mp_digit *tmpa, *tmpc, mu; +022 +023 /* grow c as required */ +024 if (c->alloc < a->used + 1) \{ +025 if ((res = mp_grow(c, a->used + 1)) != MP_OKAY) \{ +026 return res; +027 \} +028 \} +029 +030 /* if a is negative and |a| >= b, call c = |a| - b */ +031 if (a->sign == MP_NEG && (a->used > 1 || a->dp[0] >= b)) \{ +032 /* temporarily fix sign of a */ +033 a->sign = MP_ZPOS; +034 +035 /* c = |a| - b */ +036 res = mp_sub_d(a, b, c); +037 +038 /* fix sign */ +039 a->sign = c->sign = MP_NEG; +040 +041 return res; +042 \} +043 +044 /* old number of used digits in c */ +045 oldused = c->used; +046 +047 /* sign always positive */ +048 c->sign = MP_ZPOS; +049 +050 /* source alias */ +051 tmpa = a->dp; +052 +053 /* destination alias */ +054 tmpc = c->dp; +055 +056 /* if a is positive */ +057 if (a->sign == MP_ZPOS) \{ +058 /* add digit, after this we're propagating +059 * the carry. +060 */ +061 *tmpc = *tmpa++ + b; +062 mu = *tmpc >> DIGIT_BIT; +063 *tmpc++ &= MP_MASK; +064 +065 /* now handle rest of the digits */ +066 for (ix = 1; ix < a->used; ix++) \{ +067 *tmpc = *tmpa++ + mu; +068 mu = *tmpc >> DIGIT_BIT; +069 *tmpc++ &= MP_MASK; +070 \} +071 /* set final carry */ +072 ix++; +073 *tmpc++ = mu; +074 +075 /* setup size */ +076 c->used = a->used + 1; +077 \} else \{ +078 /* a was negative and |a| < b */ +079 c->used = 1; +080 +081 /* the result is a single digit */ +082 if (a->used == 1) \{ +083 *tmpc++ = b - a->dp[0]; +084 \} else \{ +085 *tmpc++ = b; +086 \} +087 +088 /* setup count so the clearing of oldused +089 * can fall through correctly +090 */ +091 ix = 1; +092 \} +093 +094 /* now zero to oldused */ +095 while (ix++ < oldused) \{ +096 *tmpc++ = 0; +097 \} +098 mp_clamp(c); +099 +100 return MP_OKAY; +101 \} +102 \end{alltt} \end{small} @@ -8632,63 +8616,62 @@ Unlike the full multiplication algorithms this algorithm does not require any si \hspace{-5.1mm}{\bf File}: bn\_mp\_mul\_d.c \vspace{-3mm} \begin{alltt} -016 -017 /* multiply by a digit */ -018 int -019 mp_mul_d (mp_int * a, mp_digit b, mp_int * c) -020 \{ -021 mp_digit u, *tmpa, *tmpc; -022 mp_word r; -023 int ix, res, olduse; -024 -025 /* make sure c is big enough to hold a*b */ -026 if (c->alloc < a->used + 1) \{ -027 if ((res = mp_grow (c, a->used + 1)) != MP_OKAY) \{ -028 return res; -029 \} -030 \} -031 -032 /* get the original destinations used count */ -033 olduse = c->used; -034 -035 /* set the sign */ -036 c->sign = a->sign; -037 -038 /* alias for a->dp [source] */ -039 tmpa = a->dp; -040 -041 /* alias for c->dp [dest] */ -042 tmpc = c->dp; -043 -044 /* zero carry */ -045 u = 0; -046 -047 /* compute columns */ -048 for (ix = 0; ix < a->used; ix++) \{ -049 /* compute product and carry sum for this term */ -050 r = ((mp_word) u) + ((mp_word)*tmpa++) * ((mp_word)b); -051 -052 /* mask off higher bits to get a single digit */ -053 *tmpc++ = (mp_digit) (r & ((mp_word) MP_MASK)); -054 -055 /* send carry into next iteration */ -056 u = (mp_digit) (r >> ((mp_word) DIGIT_BIT)); -057 \} -058 -059 /* store final carry [if any] */ -060 *tmpc++ = u; -061 -062 /* now zero digits above the top */ -063 while (ix++ < olduse) \{ -064 *tmpc++ = 0; -065 \} -066 -067 /* set used count */ -068 c->used = a->used + 1; -069 mp_clamp(c); -070 -071 return MP_OKAY; -072 \} +016 /* multiply by a digit */ +017 int +018 mp_mul_d (mp_int * a, mp_digit b, mp_int * c) +019 \{ +020 mp_digit u, *tmpa, *tmpc; +021 mp_word r; +022 int ix, res, olduse; +023 +024 /* make sure c is big enough to hold a*b */ +025 if (c->alloc < a->used + 1) \{ +026 if ((res = mp_grow (c, a->used + 1)) != MP_OKAY) \{ +027 return res; +028 \} +029 \} +030 +031 /* get the original destinations used count */ +032 olduse = c->used; +033 +034 /* set the sign */ +035 c->sign = a->sign; +036 +037 /* alias for a->dp [source] */ +038 tmpa = a->dp; +039 +040 /* alias for c->dp [dest] */ +041 tmpc = c->dp; +042 +043 /* zero carry */ +044 u = 0; +045 +046 /* compute columns */ +047 for (ix = 0; ix < a->used; ix++) \{ +048 /* compute product and carry sum for this term */ +049 r = ((mp_word) u) + ((mp_word)*tmpa++) * ((mp_word)b); +050 +051 /* mask off higher bits to get a single digit */ +052 *tmpc++ = (mp_digit) (r & ((mp_word) MP_MASK)); +053 +054 /* send carry into next iteration */ +055 u = (mp_digit) (r >> ((mp_word) DIGIT_BIT)); +056 \} +057 +058 /* store final carry [if any] */ +059 *tmpc++ = u; +060 +061 /* now zero digits above the top */ +062 while (ix++ < olduse) \{ +063 *tmpc++ = 0; +064 \} +065 +066 /* set used count */ +067 c->used = a->used + 1; +068 mp_clamp(c); +069 +070 return MP_OKAY; +071 \} \end{alltt} \end{small} @@ -8744,100 +8727,99 @@ from chapter seven. \hspace{-5.1mm}{\bf File}: bn\_mp\_div\_d.c \vspace{-3mm} \begin{alltt} -016 -017 static int s_is_power_of_two(mp_digit b, int *p) -018 \{ -019 int x; -020 -021 for (x = 1; x < DIGIT_BIT; x++) \{ -022 if (b == (((mp_digit)1)<dp[0] & ((1<used)) != MP_OKAY) \{ -072 return res; -073 \} -074 -075 q.used = a->used; -076 q.sign = a->sign; -077 w = 0; -078 for (ix = a->used - 1; ix >= 0; ix--) \{ -079 w = (w << ((mp_word)DIGIT_BIT)) | ((mp_word)a->dp[ix]); -080 -081 if (w >= b) \{ -082 t = (mp_digit)(w / b); -083 w -= ((mp_word)t) * ((mp_word)b); -084 \} else \{ -085 t = 0; -086 \} -087 q.dp[ix] = (mp_digit)t; -088 \} -089 -090 if (d != NULL) \{ -091 *d = (mp_digit)w; -092 \} -093 -094 if (c != NULL) \{ -095 mp_clamp(&q); -096 mp_exch(&q, c); -097 \} -098 mp_clear(&q); -099 -100 return res; -101 \} -102 +016 static int s_is_power_of_two(mp_digit b, int *p) +017 \{ +018 int x; +019 +020 for (x = 1; x < DIGIT_BIT; x++) \{ +021 if (b == (((mp_digit)1)<dp[0] & ((1<used)) != MP_OKAY) \{ +071 return res; +072 \} +073 +074 q.used = a->used; +075 q.sign = a->sign; +076 w = 0; +077 for (ix = a->used - 1; ix >= 0; ix--) \{ +078 w = (w << ((mp_word)DIGIT_BIT)) | ((mp_word)a->dp[ix]); +079 +080 if (w >= b) \{ +081 t = (mp_digit)(w / b); +082 w -= ((mp_word)t) * ((mp_word)b); +083 \} else \{ +084 t = 0; +085 \} +086 q.dp[ix] = (mp_digit)t; +087 \} +088 +089 if (d != NULL) \{ +090 *d = (mp_digit)w; +091 \} +092 +093 if (c != NULL) \{ +094 mp_clamp(&q); +095 mp_exch(&q, c); +096 \} +097 mp_clear(&q); +098 +099 return res; +100 \} +101 \end{alltt} \end{small} Like the implementation of algorithm mp\_div this algorithm allows either of the quotient or remainder to be passed as a \textbf{NULL} pointer to indicate the respective value is not required. This allows a trivial single digit modular reduction algorithm, mp\_mod\_d to be created. -The division and remainder on lines 43 and @45,%@ can be replaced often by a single division on most processors. For example, the 32-bit x86 based +The division and remainder on lines 42 and @45,%@ can be replaced often by a single division on most processors. For example, the 32-bit x86 based processors can divide a 64-bit quantity by a 32-bit quantity and produce the quotient and remainder simultaneously. Unfortunately the GCC compiler does not recognize that optimization and will actually produce two function calls to find the quotient and remainder respectively. @@ -8905,117 +8887,116 @@ root. Ideally this algorithm is meant to find the $n$'th root of an input where \hspace{-5.1mm}{\bf File}: bn\_mp\_n\_root.c \vspace{-3mm} \begin{alltt} -016 -017 /* find the n'th root of an integer -018 * -019 * Result found such that (c)**b <= a and (c+1)**b > a -020 * -021 * This algorithm uses Newton's approximation -022 * x[i+1] = x[i] - f(x[i])/f'(x[i]) -023 * which will find the root in log(N) time where -024 * each step involves a fair bit. This is not meant to -025 * find huge roots [square and cube, etc]. -026 */ -027 int mp_n_root (mp_int * a, mp_digit b, mp_int * c) -028 \{ -029 mp_int t1, t2, t3; -030 int res, neg; -031 -032 /* input must be positive if b is even */ -033 if ((b & 1) == 0 && a->sign == MP_NEG) \{ -034 return MP_VAL; -035 \} -036 -037 if ((res = mp_init (&t1)) != MP_OKAY) \{ -038 return res; -039 \} -040 -041 if ((res = mp_init (&t2)) != MP_OKAY) \{ -042 goto __T1; -043 \} -044 -045 if ((res = mp_init (&t3)) != MP_OKAY) \{ -046 goto __T2; -047 \} -048 -049 /* if a is negative fudge the sign but keep track */ -050 neg = a->sign; -051 a->sign = MP_ZPOS; -052 -053 /* t2 = 2 */ -054 mp_set (&t2, 2); -055 -056 do \{ -057 /* t1 = t2 */ -058 if ((res = mp_copy (&t2, &t1)) != MP_OKAY) \{ -059 goto __T3; -060 \} -061 -062 /* t2 = t1 - ((t1**b - a) / (b * t1**(b-1))) */ -063 -064 /* t3 = t1**(b-1) */ -065 if ((res = mp_expt_d (&t1, b - 1, &t3)) != MP_OKAY) \{ -066 goto __T3; -067 \} -068 -069 /* numerator */ -070 /* t2 = t1**b */ -071 if ((res = mp_mul (&t3, &t1, &t2)) != MP_OKAY) \{ -072 goto __T3; -073 \} -074 -075 /* t2 = t1**b - a */ -076 if ((res = mp_sub (&t2, a, &t2)) != MP_OKAY) \{ -077 goto __T3; -078 \} -079 -080 /* denominator */ -081 /* t3 = t1**(b-1) * b */ -082 if ((res = mp_mul_d (&t3, b, &t3)) != MP_OKAY) \{ -083 goto __T3; -084 \} -085 -086 /* t3 = (t1**b - a)/(b * t1**(b-1)) */ -087 if ((res = mp_div (&t2, &t3, &t3, NULL)) != MP_OKAY) \{ -088 goto __T3; -089 \} -090 -091 if ((res = mp_sub (&t1, &t3, &t2)) != MP_OKAY) \{ -092 goto __T3; -093 \} -094 \} while (mp_cmp (&t1, &t2) != MP_EQ); -095 -096 /* result can be off by a few so check */ -097 for (;;) \{ -098 if ((res = mp_expt_d (&t1, b, &t2)) != MP_OKAY) \{ -099 goto __T3; -100 \} -101 -102 if (mp_cmp (&t2, a) == MP_GT) \{ -103 if ((res = mp_sub_d (&t1, 1, &t1)) != MP_OKAY) \{ -104 goto __T3; -105 \} -106 \} else \{ -107 break; -108 \} -109 \} -110 -111 /* reset the sign of a first */ -112 a->sign = neg; -113 -114 /* set the result */ -115 mp_exch (&t1, c); -116 -117 /* set the sign of the result */ -118 c->sign = neg; -119 -120 res = MP_OKAY; -121 -122 __T3:mp_clear (&t3); -123 __T2:mp_clear (&t2); -124 __T1:mp_clear (&t1); -125 return res; -126 \} +016 /* find the n'th root of an integer +017 * +018 * Result found such that (c)**b <= a and (c+1)**b > a +019 * +020 * This algorithm uses Newton's approximation +021 * x[i+1] = x[i] - f(x[i])/f'(x[i]) +022 * which will find the root in log(N) time where +023 * each step involves a fair bit. This is not meant to +024 * find huge roots [square and cube, etc]. +025 */ +026 int mp_n_root (mp_int * a, mp_digit b, mp_int * c) +027 \{ +028 mp_int t1, t2, t3; +029 int res, neg; +030 +031 /* input must be positive if b is even */ +032 if ((b & 1) == 0 && a->sign == MP_NEG) \{ +033 return MP_VAL; +034 \} +035 +036 if ((res = mp_init (&t1)) != MP_OKAY) \{ +037 return res; +038 \} +039 +040 if ((res = mp_init (&t2)) != MP_OKAY) \{ +041 goto __T1; +042 \} +043 +044 if ((res = mp_init (&t3)) != MP_OKAY) \{ +045 goto __T2; +046 \} +047 +048 /* if a is negative fudge the sign but keep track */ +049 neg = a->sign; +050 a->sign = MP_ZPOS; +051 +052 /* t2 = 2 */ +053 mp_set (&t2, 2); +054 +055 do \{ +056 /* t1 = t2 */ +057 if ((res = mp_copy (&t2, &t1)) != MP_OKAY) \{ +058 goto __T3; +059 \} +060 +061 /* t2 = t1 - ((t1**b - a) / (b * t1**(b-1))) */ +062 +063 /* t3 = t1**(b-1) */ +064 if ((res = mp_expt_d (&t1, b - 1, &t3)) != MP_OKAY) \{ +065 goto __T3; +066 \} +067 +068 /* numerator */ +069 /* t2 = t1**b */ +070 if ((res = mp_mul (&t3, &t1, &t2)) != MP_OKAY) \{ +071 goto __T3; +072 \} +073 +074 /* t2 = t1**b - a */ +075 if ((res = mp_sub (&t2, a, &t2)) != MP_OKAY) \{ +076 goto __T3; +077 \} +078 +079 /* denominator */ +080 /* t3 = t1**(b-1) * b */ +081 if ((res = mp_mul_d (&t3, b, &t3)) != MP_OKAY) \{ +082 goto __T3; +083 \} +084 +085 /* t3 = (t1**b - a)/(b * t1**(b-1)) */ +086 if ((res = mp_div (&t2, &t3, &t3, NULL)) != MP_OKAY) \{ +087 goto __T3; +088 \} +089 +090 if ((res = mp_sub (&t1, &t3, &t2)) != MP_OKAY) \{ +091 goto __T3; +092 \} +093 \} while (mp_cmp (&t1, &t2) != MP_EQ); +094 +095 /* result can be off by a few so check */ +096 for (;;) \{ +097 if ((res = mp_expt_d (&t1, b, &t2)) != MP_OKAY) \{ +098 goto __T3; +099 \} +100 +101 if (mp_cmp (&t2, a) == MP_GT) \{ +102 if ((res = mp_sub_d (&t1, 1, &t1)) != MP_OKAY) \{ +103 goto __T3; +104 \} +105 \} else \{ +106 break; +107 \} +108 \} +109 +110 /* reset the sign of a first */ +111 a->sign = neg; +112 +113 /* set the result */ +114 mp_exch (&t1, c); +115 +116 /* set the sign of the result */ +117 c->sign = neg; +118 +119 res = MP_OKAY; +120 +121 __T3:mp_clear (&t3); +122 __T2:mp_clear (&t2); +123 __T1:mp_clear (&t1); +124 return res; +125 \} \end{alltt} \end{small} @@ -9057,40 +9038,39 @@ the integers from $0$ to $\beta - 1$. \hspace{-5.1mm}{\bf File}: bn\_mp\_rand.c \vspace{-3mm} \begin{alltt} -016 -017 /* makes a pseudo-random int of a given size */ -018 int -019 mp_rand (mp_int * a, int digits) -020 \{ -021 int res; -022 mp_digit d; -023 -024 mp_zero (a); -025 if (digits <= 0) \{ -026 return MP_OKAY; -027 \} -028 -029 /* first place a random non-zero digit */ -030 do \{ -031 d = ((mp_digit) abs (rand ())); -032 \} while (d == 0); -033 -034 if ((res = mp_add_d (a, d, a)) != MP_OKAY) \{ -035 return res; -036 \} -037 -038 while (digits-- > 0) \{ -039 if ((res = mp_lshd (a, 1)) != MP_OKAY) \{ -040 return res; -041 \} -042 -043 if ((res = mp_add_d (a, ((mp_digit) abs (rand ())), a)) != MP_OKAY) \{ -044 return res; -045 \} -046 \} -047 -048 return MP_OKAY; -049 \} +016 /* makes a pseudo-random int of a given size */ +017 int +018 mp_rand (mp_int * a, int digits) +019 \{ +020 int res; +021 mp_digit d; +022 +023 mp_zero (a); +024 if (digits <= 0) \{ +025 return MP_OKAY; +026 \} +027 +028 /* first place a random non-zero digit */ +029 do \{ +030 d = ((mp_digit) abs (rand ())); +031 \} while (d == 0); +032 +033 if ((res = mp_add_d (a, d, a)) != MP_OKAY) \{ +034 return res; +035 \} +036 +037 while (digits-- > 0) \{ +038 if ((res = mp_lshd (a, 1)) != MP_OKAY) \{ +039 return res; +040 \} +041 +042 if ((res = mp_add_d (a, ((mp_digit) abs (rand ())), a)) != MP_OKAY) \{ +043 return res; +044 \} +045 \} +046 +047 return MP_OKAY; +048 \} \end{alltt} \end{small} @@ -9173,67 +9153,66 @@ as part of larger input without any significant problem. \hspace{-5.1mm}{\bf File}: bn\_mp\_read\_radix.c \vspace{-3mm} \begin{alltt} -016 -017 /* read a string [ASCII] in a given radix */ -018 int mp_read_radix (mp_int * a, char *str, int radix) -019 \{ -020 int y, res, neg; -021 char ch; -022 -023 /* make sure the radix is ok */ -024 if (radix < 2 || radix > 64) \{ -025 return MP_VAL; -026 \} -027 -028 /* if the leading digit is a -029 * minus set the sign to negative. -030 */ -031 if (*str == '-') \{ -032 ++str; -033 neg = MP_NEG; -034 \} else \{ -035 neg = MP_ZPOS; -036 \} -037 -038 /* set the integer to the default of zero */ -039 mp_zero (a); -040 -041 /* process each digit of the string */ -042 while (*str) \{ -043 /* if the radix < 36 the conversion is case insensitive -044 * this allows numbers like 1AB and 1ab to represent the same value -045 * [e.g. in hex] -046 */ -047 ch = (char) ((radix < 36) ? toupper (*str) : *str); -048 for (y = 0; y < 64; y++) \{ -049 if (ch == mp_s_rmap[y]) \{ -050 break; -051 \} -052 \} -053 -054 /* if the char was found in the map -055 * and is less than the given radix add it -056 * to the number, otherwise exit the loop. -057 */ -058 if (y < radix) \{ -059 if ((res = mp_mul_d (a, (mp_digit) radix, a)) != MP_OKAY) \{ -060 return res; -061 \} -062 if ((res = mp_add_d (a, (mp_digit) y, a)) != MP_OKAY) \{ -063 return res; -064 \} -065 \} else \{ -066 break; -067 \} -068 ++str; -069 \} -070 -071 /* set the sign only if a != 0 */ -072 if (mp_iszero(a) != 1) \{ -073 a->sign = neg; -074 \} -075 return MP_OKAY; -076 \} +016 /* read a string [ASCII] in a given radix */ +017 int mp_read_radix (mp_int * a, char *str, int radix) +018 \{ +019 int y, res, neg; +020 char ch; +021 +022 /* make sure the radix is ok */ +023 if (radix < 2 || radix > 64) \{ +024 return MP_VAL; +025 \} +026 +027 /* if the leading digit is a +028 * minus set the sign to negative. +029 */ +030 if (*str == '-') \{ +031 ++str; +032 neg = MP_NEG; +033 \} else \{ +034 neg = MP_ZPOS; +035 \} +036 +037 /* set the integer to the default of zero */ +038 mp_zero (a); +039 +040 /* process each digit of the string */ +041 while (*str) \{ +042 /* if the radix < 36 the conversion is case insensitive +043 * this allows numbers like 1AB and 1ab to represent the same value +044 * [e.g. in hex] +045 */ +046 ch = (char) ((radix < 36) ? toupper (*str) : *str); +047 for (y = 0; y < 64; y++) \{ +048 if (ch == mp_s_rmap[y]) \{ +049 break; +050 \} +051 \} +052 +053 /* if the char was found in the map +054 * and is less than the given radix add it +055 * to the number, otherwise exit the loop. +056 */ +057 if (y < radix) \{ +058 if ((res = mp_mul_d (a, (mp_digit) radix, a)) != MP_OKAY) \{ +059 return res; +060 \} +061 if ((res = mp_add_d (a, (mp_digit) y, a)) != MP_OKAY) \{ +062 return res; +063 \} +064 \} else \{ +065 break; +066 \} +067 ++str; +068 \} +069 +070 /* set the sign only if a != 0 */ +071 if (mp_iszero(a) != 1) \{ +072 a->sign = neg; +073 \} +074 return MP_OKAY; +075 \} \end{alltt} \end{small} @@ -9298,60 +9277,59 @@ are required instead of a series of $n \times k$ divisions. One design flaw of \hspace{-5.1mm}{\bf File}: bn\_mp\_toradix.c \vspace{-3mm} \begin{alltt} -016 -017 /* stores a bignum as a ASCII string in a given radix (2..64) */ -018 int mp_toradix (mp_int * a, char *str, int radix) -019 \{ -020 int res, digs; -021 mp_int t; -022 mp_digit d; -023 char *_s = str; -024 -025 /* check range of the radix */ -026 if (radix < 2 || radix > 64) \{ -027 return MP_VAL; -028 \} -029 -030 /* quick out if its zero */ -031 if (mp_iszero(a) == 1) \{ -032 *str++ = '0'; -033 *str = '\symbol{92}0'; -034 return MP_OKAY; -035 \} -036 -037 if ((res = mp_init_copy (&t, a)) != MP_OKAY) \{ -038 return res; -039 \} -040 -041 /* if it is negative output a - */ -042 if (t.sign == MP_NEG) \{ -043 ++_s; -044 *str++ = '-'; -045 t.sign = MP_ZPOS; -046 \} -047 -048 digs = 0; -049 while (mp_iszero (&t) == 0) \{ -050 if ((res = mp_div_d (&t, (mp_digit) radix, &t, &d)) != MP_OKAY) \{ -051 mp_clear (&t); -052 return res; -053 \} -054 *str++ = mp_s_rmap[d]; -055 ++digs; -056 \} -057 -058 /* reverse the digits of the string. In this case _s points -059 * to the first digit [exluding the sign] of the number] -060 */ -061 bn_reverse ((unsigned char *)_s, digs); -062 -063 /* append a NULL so the string is properly terminated */ -064 *str = '\symbol{92}0'; -065 -066 mp_clear (&t); -067 return MP_OKAY; -068 \} -069 +016 /* stores a bignum as a ASCII string in a given radix (2..64) */ +017 int mp_toradix (mp_int * a, char *str, int radix) +018 \{ +019 int res, digs; +020 mp_int t; +021 mp_digit d; +022 char *_s = str; +023 +024 /* check range of the radix */ +025 if (radix < 2 || radix > 64) \{ +026 return MP_VAL; +027 \} +028 +029 /* quick out if its zero */ +030 if (mp_iszero(a) == 1) \{ +031 *str++ = '0'; +032 *str = '\symbol{92}0'; +033 return MP_OKAY; +034 \} +035 +036 if ((res = mp_init_copy (&t, a)) != MP_OKAY) \{ +037 return res; +038 \} +039 +040 /* if it is negative output a - */ +041 if (t.sign == MP_NEG) \{ +042 ++_s; +043 *str++ = '-'; +044 t.sign = MP_ZPOS; +045 \} +046 +047 digs = 0; +048 while (mp_iszero (&t) == 0) \{ +049 if ((res = mp_div_d (&t, (mp_digit) radix, &t, &d)) != MP_OKAY) \{ +050 mp_clear (&t); +051 return res; +052 \} +053 *str++ = mp_s_rmap[d]; +054 ++digs; +055 \} +056 +057 /* reverse the digits of the string. In this case _s points +058 * to the first digit [exluding the sign] of the number] +059 */ +060 bn_reverse ((unsigned char *)_s, digs); +061 +062 /* append a NULL so the string is properly terminated */ +063 *str = '\symbol{92}0'; +064 +065 mp_clear (&t); +066 return MP_OKAY; +067 \} +068 \end{alltt} \end{small} @@ -9539,115 +9517,114 @@ must be adjusted by multiplying by the common factors of two ($2^k$) removed ear \hspace{-5.1mm}{\bf File}: bn\_mp\_gcd.c \vspace{-3mm} \begin{alltt} -016 -017 /* Greatest Common Divisor using the binary method */ -018 int mp_gcd (mp_int * a, mp_int * b, mp_int * c) -019 \{ -020 mp_int u, v; -021 int k, u_lsb, v_lsb, res; -022 -023 /* either zero than gcd is the largest */ -024 if (mp_iszero (a) == 1 && mp_iszero (b) == 0) \{ -025 return mp_abs (b, c); -026 \} -027 if (mp_iszero (a) == 0 && mp_iszero (b) == 1) \{ -028 return mp_abs (a, c); -029 \} -030 -031 /* optimized. At this point if a == 0 then -032 * b must equal zero too -033 */ -034 if (mp_iszero (a) == 1) \{ -035 mp_zero(c); -036 return MP_OKAY; -037 \} -038 -039 /* get copies of a and b we can modify */ -040 if ((res = mp_init_copy (&u, a)) != MP_OKAY) \{ -041 return res; -042 \} -043 -044 if ((res = mp_init_copy (&v, b)) != MP_OKAY) \{ -045 goto __U; -046 \} -047 -048 /* must be positive for the remainder of the algorithm */ -049 u.sign = v.sign = MP_ZPOS; -050 -051 /* B1. Find the common power of two for u and v */ -052 u_lsb = mp_cnt_lsb(&u); -053 v_lsb = mp_cnt_lsb(&v); -054 k = MIN(u_lsb, v_lsb); -055 -056 if (k > 0) \{ -057 /* divide the power of two out */ -058 if ((res = mp_div_2d(&u, k, &u, NULL)) != MP_OKAY) \{ -059 goto __V; -060 \} -061 -062 if ((res = mp_div_2d(&v, k, &v, NULL)) != MP_OKAY) \{ -063 goto __V; -064 \} -065 \} -066 -067 /* divide any remaining factors of two out */ -068 if (u_lsb != k) \{ -069 if ((res = mp_div_2d(&u, u_lsb - k, &u, NULL)) != MP_OKAY) \{ -070 goto __V; -071 \} -072 \} -073 -074 if (v_lsb != k) \{ -075 if ((res = mp_div_2d(&v, v_lsb - k, &v, NULL)) != MP_OKAY) \{ -076 goto __V; -077 \} -078 \} -079 -080 while (mp_iszero(&v) == 0) \{ -081 /* make sure v is the largest */ -082 if (mp_cmp_mag(&u, &v) == MP_GT) \{ -083 /* swap u and v to make sure v is >= u */ -084 mp_exch(&u, &v); -085 \} -086 -087 /* subtract smallest from largest */ -088 if ((res = s_mp_sub(&v, &u, &v)) != MP_OKAY) \{ -089 goto __V; -090 \} -091 -092 /* Divide out all factors of two */ -093 if ((res = mp_div_2d(&v, mp_cnt_lsb(&v), &v, NULL)) != MP_OKAY) \{ -094 goto __V; -095 \} -096 \} -097 -098 /* multiply by 2**k which we divided out at the beginning */ -099 if ((res = mp_mul_2d (&u, k, c)) != MP_OKAY) \{ -100 goto __V; -101 \} -102 c->sign = MP_ZPOS; -103 res = MP_OKAY; -104 __V:mp_clear (&u); -105 __U:mp_clear (&v); -106 return res; -107 \} +016 /* Greatest Common Divisor using the binary method */ +017 int mp_gcd (mp_int * a, mp_int * b, mp_int * c) +018 \{ +019 mp_int u, v; +020 int k, u_lsb, v_lsb, res; +021 +022 /* either zero than gcd is the largest */ +023 if (mp_iszero (a) == 1 && mp_iszero (b) == 0) \{ +024 return mp_abs (b, c); +025 \} +026 if (mp_iszero (a) == 0 && mp_iszero (b) == 1) \{ +027 return mp_abs (a, c); +028 \} +029 +030 /* optimized. At this point if a == 0 then +031 * b must equal zero too +032 */ +033 if (mp_iszero (a) == 1) \{ +034 mp_zero(c); +035 return MP_OKAY; +036 \} +037 +038 /* get copies of a and b we can modify */ +039 if ((res = mp_init_copy (&u, a)) != MP_OKAY) \{ +040 return res; +041 \} +042 +043 if ((res = mp_init_copy (&v, b)) != MP_OKAY) \{ +044 goto __U; +045 \} +046 +047 /* must be positive for the remainder of the algorithm */ +048 u.sign = v.sign = MP_ZPOS; +049 +050 /* B1. Find the common power of two for u and v */ +051 u_lsb = mp_cnt_lsb(&u); +052 v_lsb = mp_cnt_lsb(&v); +053 k = MIN(u_lsb, v_lsb); +054 +055 if (k > 0) \{ +056 /* divide the power of two out */ +057 if ((res = mp_div_2d(&u, k, &u, NULL)) != MP_OKAY) \{ +058 goto __V; +059 \} +060 +061 if ((res = mp_div_2d(&v, k, &v, NULL)) != MP_OKAY) \{ +062 goto __V; +063 \} +064 \} +065 +066 /* divide any remaining factors of two out */ +067 if (u_lsb != k) \{ +068 if ((res = mp_div_2d(&u, u_lsb - k, &u, NULL)) != MP_OKAY) \{ +069 goto __V; +070 \} +071 \} +072 +073 if (v_lsb != k) \{ +074 if ((res = mp_div_2d(&v, v_lsb - k, &v, NULL)) != MP_OKAY) \{ +075 goto __V; +076 \} +077 \} +078 +079 while (mp_iszero(&v) == 0) \{ +080 /* make sure v is the largest */ +081 if (mp_cmp_mag(&u, &v) == MP_GT) \{ +082 /* swap u and v to make sure v is >= u */ +083 mp_exch(&u, &v); +084 \} +085 +086 /* subtract smallest from largest */ +087 if ((res = s_mp_sub(&v, &u, &v)) != MP_OKAY) \{ +088 goto __V; +089 \} +090 +091 /* Divide out all factors of two */ +092 if ((res = mp_div_2d(&v, mp_cnt_lsb(&v), &v, NULL)) != MP_OKAY) \{ +093 goto __V; +094 \} +095 \} +096 +097 /* multiply by 2**k which we divided out at the beginning */ +098 if ((res = mp_mul_2d (&u, k, c)) != MP_OKAY) \{ +099 goto __V; +100 \} +101 c->sign = MP_ZPOS; +102 res = MP_OKAY; +103 __V:mp_clear (&u); +104 __U:mp_clear (&v); +105 return res; +106 \} \end{alltt} \end{small} This function makes use of the macros mp\_iszero and mp\_iseven. The former evaluates to $1$ if the input mp\_int is equivalent to the integer zero otherwise it evaluates to $0$. The latter evaluates to $1$ if the input mp\_int represents a non-zero even integer otherwise it evaluates to $0$. Note that just because mp\_iseven may evaluate to $0$ does not mean the input is odd, it could also be zero. The three -trivial cases of inputs are handled on lines 24 through 37. After those lines the inputs are assumed to be non-zero. +trivial cases of inputs are handled on lines 26 through 36. After those lines the inputs are assumed to be non-zero. -Lines 34 and 40 make local copies $u$ and $v$ of the inputs $a$ and $b$ respectively. At this point the common factors of two -must be divided out of the two inputs. The while loop on line 80 iterates so long as both are even. The local integer $k$ is used to +Lines 38 and 39 make local copies $u$ and $v$ of the inputs $a$ and $b$ respectively. At this point the common factors of two +must be divided out of the two inputs. The while loop on line 79 iterates so long as both are even. The local integer $k$ is used to keep track of how many factors of $2$ are pulled out of both values. It is assumed that the number of factors will not exceed the maximum value of a C ``int'' data type\footnote{Strictly speaking no array in C may have more than entries than are accessible by an ``int'' so this is not a limitation.}. -At this point there are no more common factors of two in the two values. The while loops on lines 80 and 80 remove any independent +At this point there are no more common factors of two in the two values. The while loops on lines 79 and 79 remove any independent factors of two such that both $u$ and $v$ are guaranteed to be an odd integer before hitting the main body of the algorithm. The while loop -on line 80 performs the reduction of the pair until $v$ is equal to zero. The unsigned comparison and subtraction algorithms are used in +on line 79 performs the reduction of the pair until $v$ is equal to zero. The unsigned comparison and subtraction algorithms are used in place of the full signed routines since both values are guaranteed to be positive and the result of the subtraction is guaranteed to be non-negative. \section{Least Common Multiple} @@ -9686,45 +9663,44 @@ dividing the product of the two inputs by their greatest common divisor. \hspace{-5.1mm}{\bf File}: bn\_mp\_lcm.c \vspace{-3mm} \begin{alltt} -016 -017 /* computes least common multiple as |a*b|/(a, b) */ -018 int mp_lcm (mp_int * a, mp_int * b, mp_int * c) -019 \{ -020 int res; -021 mp_int t1, t2; +016 /* computes least common multiple as |a*b|/(a, b) */ +017 int mp_lcm (mp_int * a, mp_int * b, mp_int * c) +018 \{ +019 int res; +020 mp_int t1, t2; +021 022 -023 -024 if ((res = mp_init_multi (&t1, &t2, NULL)) != MP_OKAY) \{ -025 return res; -026 \} -027 -028 /* t1 = get the GCD of the two inputs */ -029 if ((res = mp_gcd (a, b, &t1)) != MP_OKAY) \{ -030 goto __T; -031 \} -032 -033 /* divide the smallest by the GCD */ -034 if (mp_cmp_mag(a, b) == MP_LT) \{ -035 /* store quotient in t2 such that t2 * b is the LCM */ -036 if ((res = mp_div(a, &t1, &t2, NULL)) != MP_OKAY) \{ -037 goto __T; -038 \} -039 res = mp_mul(b, &t2, c); -040 \} else \{ -041 /* store quotient in t2 such that t2 * a is the LCM */ -042 if ((res = mp_div(b, &t1, &t2, NULL)) != MP_OKAY) \{ -043 goto __T; -044 \} -045 res = mp_mul(a, &t2, c); -046 \} -047 -048 /* fix the sign to positive */ -049 c->sign = MP_ZPOS; -050 -051 __T: -052 mp_clear_multi (&t1, &t2, NULL); -053 return res; -054 \} +023 if ((res = mp_init_multi (&t1, &t2, NULL)) != MP_OKAY) \{ +024 return res; +025 \} +026 +027 /* t1 = get the GCD of the two inputs */ +028 if ((res = mp_gcd (a, b, &t1)) != MP_OKAY) \{ +029 goto __T; +030 \} +031 +032 /* divide the smallest by the GCD */ +033 if (mp_cmp_mag(a, b) == MP_LT) \{ +034 /* store quotient in t2 such that t2 * b is the LCM */ +035 if ((res = mp_div(a, &t1, &t2, NULL)) != MP_OKAY) \{ +036 goto __T; +037 \} +038 res = mp_mul(b, &t2, c); +039 \} else \{ +040 /* store quotient in t2 such that t2 * a is the LCM */ +041 if ((res = mp_div(b, &t1, &t2, NULL)) != MP_OKAY) \{ +042 goto __T; +043 \} +044 res = mp_mul(a, &t2, c); +045 \} +046 +047 /* fix the sign to positive */ +048 c->sign = MP_ZPOS; +049 +050 __T: +051 mp_clear_multi (&t1, &t2, NULL); +052 return res; +053 \} \end{alltt} \end{small} @@ -9882,90 +9858,89 @@ $\left ( {p' \over a'} \right )$ which is multiplied against the current Jacobi \hspace{-5.1mm}{\bf File}: bn\_mp\_jacobi.c \vspace{-3mm} \begin{alltt} -016 -017 /* computes the jacobi c = (a | n) (or Legendre if n is prime) -018 * HAC pp. 73 Algorithm 2.149 -019 */ -020 int mp_jacobi (mp_int * a, mp_int * p, int *c) -021 \{ -022 mp_int a1, p1; -023 int k, s, r, res; -024 mp_digit residue; -025 -026 /* if p <= 0 return MP_VAL */ -027 if (mp_cmp_d(p, 0) != MP_GT) \{ -028 return MP_VAL; -029 \} -030 -031 /* step 1. if a == 0, return 0 */ -032 if (mp_iszero (a) == 1) \{ -033 *c = 0; -034 return MP_OKAY; -035 \} -036 -037 /* step 2. if a == 1, return 1 */ -038 if (mp_cmp_d (a, 1) == MP_EQ) \{ -039 *c = 1; -040 return MP_OKAY; -041 \} -042 -043 /* default */ -044 s = 0; -045 -046 /* step 3. write a = a1 * 2**k */ -047 if ((res = mp_init_copy (&a1, a)) != MP_OKAY) \{ -048 return res; -049 \} -050 -051 if ((res = mp_init (&p1)) != MP_OKAY) \{ -052 goto __A1; -053 \} -054 -055 /* divide out larger power of two */ -056 k = mp_cnt_lsb(&a1); -057 if ((res = mp_div_2d(&a1, k, &a1, NULL)) != MP_OKAY) \{ -058 goto __P1; -059 \} -060 -061 /* step 4. if e is even set s=1 */ -062 if ((k & 1) == 0) \{ -063 s = 1; -064 \} else \{ -065 /* else set s=1 if p = 1/7 (mod 8) or s=-1 if p = 3/5 (mod 8) */ -066 residue = p->dp[0] & 7; -067 -068 if (residue == 1 || residue == 7) \{ -069 s = 1; -070 \} else if (residue == 3 || residue == 5) \{ -071 s = -1; -072 \} -073 \} -074 -075 /* step 5. if p == 3 (mod 4) *and* a1 == 3 (mod 4) then s = -s */ -076 if ( ((p->dp[0] & 3) == 3) && ((a1.dp[0] & 3) == 3)) \{ -077 s = -s; -078 \} -079 -080 /* if a1 == 1 we're done */ -081 if (mp_cmp_d (&a1, 1) == MP_EQ) \{ -082 *c = s; -083 \} else \{ -084 /* n1 = n mod a1 */ -085 if ((res = mp_mod (p, &a1, &p1)) != MP_OKAY) \{ -086 goto __P1; -087 \} -088 if ((res = mp_jacobi (&p1, &a1, &r)) != MP_OKAY) \{ -089 goto __P1; -090 \} -091 *c = s * r; -092 \} -093 -094 /* done */ -095 res = MP_OKAY; -096 __P1:mp_clear (&p1); -097 __A1:mp_clear (&a1); -098 return res; -099 \} +016 /* computes the jacobi c = (a | n) (or Legendre if n is prime) +017 * HAC pp. 73 Algorithm 2.149 +018 */ +019 int mp_jacobi (mp_int * a, mp_int * p, int *c) +020 \{ +021 mp_int a1, p1; +022 int k, s, r, res; +023 mp_digit residue; +024 +025 /* if p <= 0 return MP_VAL */ +026 if (mp_cmp_d(p, 0) != MP_GT) \{ +027 return MP_VAL; +028 \} +029 +030 /* step 1. if a == 0, return 0 */ +031 if (mp_iszero (a) == 1) \{ +032 *c = 0; +033 return MP_OKAY; +034 \} +035 +036 /* step 2. if a == 1, return 1 */ +037 if (mp_cmp_d (a, 1) == MP_EQ) \{ +038 *c = 1; +039 return MP_OKAY; +040 \} +041 +042 /* default */ +043 s = 0; +044 +045 /* step 3. write a = a1 * 2**k */ +046 if ((res = mp_init_copy (&a1, a)) != MP_OKAY) \{ +047 return res; +048 \} +049 +050 if ((res = mp_init (&p1)) != MP_OKAY) \{ +051 goto __A1; +052 \} +053 +054 /* divide out larger power of two */ +055 k = mp_cnt_lsb(&a1); +056 if ((res = mp_div_2d(&a1, k, &a1, NULL)) != MP_OKAY) \{ +057 goto __P1; +058 \} +059 +060 /* step 4. if e is even set s=1 */ +061 if ((k & 1) == 0) \{ +062 s = 1; +063 \} else \{ +064 /* else set s=1 if p = 1/7 (mod 8) or s=-1 if p = 3/5 (mod 8) */ +065 residue = p->dp[0] & 7; +066 +067 if (residue == 1 || residue == 7) \{ +068 s = 1; +069 \} else if (residue == 3 || residue == 5) \{ +070 s = -1; +071 \} +072 \} +073 +074 /* step 5. if p == 3 (mod 4) *and* a1 == 3 (mod 4) then s = -s */ +075 if ( ((p->dp[0] & 3) == 3) && ((a1.dp[0] & 3) == 3)) \{ +076 s = -s; +077 \} +078 +079 /* if a1 == 1 we're done */ +080 if (mp_cmp_d (&a1, 1) == MP_EQ) \{ +081 *c = s; +082 \} else \{ +083 /* n1 = n mod a1 */ +084 if ((res = mp_mod (p, &a1, &p1)) != MP_OKAY) \{ +085 goto __P1; +086 \} +087 if ((res = mp_jacobi (&p1, &a1, &r)) != MP_OKAY) \{ +088 goto __P1; +089 \} +090 *c = s * r; +091 \} +092 +093 /* done */ +094 res = MP_OKAY; +095 __P1:mp_clear (&p1); +096 __A1:mp_clear (&a1); +097 return res; +098 \} \end{alltt} \end{small} @@ -9980,9 +9955,9 @@ After a local copy of $a$ is made all of the factors of two are divided out and bit of $k$ is required, however, it makes the algorithm simpler to follow to perform an addition. In practice an exclusive-or and addition have the same processor requirements and neither is faster than the other. -Line 61 through 70 determines the value of $\left ( { 2 \over p } \right )^k$. If the least significant bit of $k$ is zero than +Line 60 through 71 determines the value of $\left ( { 2 \over p } \right )^k$. If the least significant bit of $k$ is zero than $k$ is even and the value is one. Otherwise, the value of $s$ depends on which residue class $p$ belongs to modulo eight. The value of -$(-1)^{(p-1)(a'-1)/4}$ is compute and multiplied against $s$ on lines 75 through 73. +$(-1)^{(p-1)(a'-1)/4}$ is compute and multiplied against $s$ on lines 74 through 77. Finally, if $a1$ does not equal one the algorithm must recurse and compute $\left ( {p' \over a'} \right )$. @@ -10091,165 +10066,164 @@ then only a couple of additions or subtractions will be required to adjust the i \hspace{-5.1mm}{\bf File}: bn\_mp\_invmod.c \vspace{-3mm} \begin{alltt} -016 -017 /* hac 14.61, pp608 */ -018 int mp_invmod (mp_int * a, mp_int * b, mp_int * c) -019 \{ -020 mp_int x, y, u, v, A, B, C, D; -021 int res; -022 -023 /* b cannot be negative */ -024 if (b->sign == MP_NEG || mp_iszero(b) == 1) \{ -025 return MP_VAL; -026 \} -027 -028 /* if the modulus is odd we can use a faster routine instead */ -029 if (mp_isodd (b) == 1) \{ -030 return fast_mp_invmod (a, b, c); -031 \} -032 -033 /* init temps */ -034 if ((res = mp_init_multi(&x, &y, &u, &v, -035 &A, &B, &C, &D, NULL)) != MP_OKAY) \{ -036 return res; -037 \} -038 -039 /* x = a, y = b */ -040 if ((res = mp_copy (a, &x)) != MP_OKAY) \{ -041 goto __ERR; -042 \} -043 if ((res = mp_copy (b, &y)) != MP_OKAY) \{ -044 goto __ERR; -045 \} -046 -047 /* 2. [modified] if x,y are both even then return an error! */ -048 if (mp_iseven (&x) == 1 && mp_iseven (&y) == 1) \{ -049 res = MP_VAL; -050 goto __ERR; -051 \} -052 -053 /* 3. u=x, v=y, A=1, B=0, C=0,D=1 */ -054 if ((res = mp_copy (&x, &u)) != MP_OKAY) \{ -055 goto __ERR; -056 \} -057 if ((res = mp_copy (&y, &v)) != MP_OKAY) \{ -058 goto __ERR; -059 \} -060 mp_set (&A, 1); -061 mp_set (&D, 1); -062 -063 top: -064 /* 4. while u is even do */ -065 while (mp_iseven (&u) == 1) \{ -066 /* 4.1 u = u/2 */ -067 if ((res = mp_div_2 (&u, &u)) != MP_OKAY) \{ -068 goto __ERR; -069 \} -070 /* 4.2 if A or B is odd then */ -071 if (mp_isodd (&A) == 1 || mp_isodd (&B) == 1) \{ -072 /* A = (A+y)/2, B = (B-x)/2 */ -073 if ((res = mp_add (&A, &y, &A)) != MP_OKAY) \{ -074 goto __ERR; -075 \} -076 if ((res = mp_sub (&B, &x, &B)) != MP_OKAY) \{ -077 goto __ERR; -078 \} -079 \} -080 /* A = A/2, B = B/2 */ -081 if ((res = mp_div_2 (&A, &A)) != MP_OKAY) \{ -082 goto __ERR; -083 \} -084 if ((res = mp_div_2 (&B, &B)) != MP_OKAY) \{ -085 goto __ERR; -086 \} -087 \} -088 -089 /* 5. while v is even do */ -090 while (mp_iseven (&v) == 1) \{ -091 /* 5.1 v = v/2 */ -092 if ((res = mp_div_2 (&v, &v)) != MP_OKAY) \{ -093 goto __ERR; -094 \} -095 /* 5.2 if C or D is odd then */ -096 if (mp_isodd (&C) == 1 || mp_isodd (&D) == 1) \{ -097 /* C = (C+y)/2, D = (D-x)/2 */ -098 if ((res = mp_add (&C, &y, &C)) != MP_OKAY) \{ -099 goto __ERR; -100 \} -101 if ((res = mp_sub (&D, &x, &D)) != MP_OKAY) \{ -102 goto __ERR; -103 \} -104 \} -105 /* C = C/2, D = D/2 */ -106 if ((res = mp_div_2 (&C, &C)) != MP_OKAY) \{ -107 goto __ERR; -108 \} -109 if ((res = mp_div_2 (&D, &D)) != MP_OKAY) \{ -110 goto __ERR; -111 \} -112 \} -113 -114 /* 6. if u >= v then */ -115 if (mp_cmp (&u, &v) != MP_LT) \{ -116 /* u = u - v, A = A - C, B = B - D */ -117 if ((res = mp_sub (&u, &v, &u)) != MP_OKAY) \{ -118 goto __ERR; -119 \} -120 -121 if ((res = mp_sub (&A, &C, &A)) != MP_OKAY) \{ -122 goto __ERR; -123 \} -124 -125 if ((res = mp_sub (&B, &D, &B)) != MP_OKAY) \{ -126 goto __ERR; -127 \} -128 \} else \{ -129 /* v - v - u, C = C - A, D = D - B */ -130 if ((res = mp_sub (&v, &u, &v)) != MP_OKAY) \{ -131 goto __ERR; -132 \} -133 -134 if ((res = mp_sub (&C, &A, &C)) != MP_OKAY) \{ -135 goto __ERR; -136 \} -137 -138 if ((res = mp_sub (&D, &B, &D)) != MP_OKAY) \{ -139 goto __ERR; -140 \} -141 \} -142 -143 /* if not zero goto step 4 */ -144 if (mp_iszero (&u) == 0) -145 goto top; -146 -147 /* now a = C, b = D, gcd == g*v */ -148 -149 /* if v != 1 then there is no inverse */ -150 if (mp_cmp_d (&v, 1) != MP_EQ) \{ -151 res = MP_VAL; -152 goto __ERR; -153 \} -154 -155 /* if its too low */ -156 while (mp_cmp_d(&C, 0) == MP_LT) \{ -157 if ((res = mp_add(&C, b, &C)) != MP_OKAY) \{ -158 goto __ERR; -159 \} -160 \} -161 -162 /* too big */ -163 while (mp_cmp_mag(&C, b) != MP_LT) \{ -164 if ((res = mp_sub(&C, b, &C)) != MP_OKAY) \{ -165 goto __ERR; -166 \} -167 \} -168 -169 /* C is now the inverse */ -170 mp_exch (&C, c); -171 res = MP_OKAY; -172 __ERR:mp_clear_multi (&x, &y, &u, &v, &A, &B, &C, &D, NULL); -173 return res; -174 \} +016 /* hac 14.61, pp608 */ +017 int mp_invmod (mp_int * a, mp_int * b, mp_int * c) +018 \{ +019 mp_int x, y, u, v, A, B, C, D; +020 int res; +021 +022 /* b cannot be negative */ +023 if (b->sign == MP_NEG || mp_iszero(b) == 1) \{ +024 return MP_VAL; +025 \} +026 +027 /* if the modulus is odd we can use a faster routine instead */ +028 if (mp_isodd (b) == 1) \{ +029 return fast_mp_invmod (a, b, c); +030 \} +031 +032 /* init temps */ +033 if ((res = mp_init_multi(&x, &y, &u, &v, +034 &A, &B, &C, &D, NULL)) != MP_OKAY) \{ +035 return res; +036 \} +037 +038 /* x = a, y = b */ +039 if ((res = mp_copy (a, &x)) != MP_OKAY) \{ +040 goto __ERR; +041 \} +042 if ((res = mp_copy (b, &y)) != MP_OKAY) \{ +043 goto __ERR; +044 \} +045 +046 /* 2. [modified] if x,y are both even then return an error! */ +047 if (mp_iseven (&x) == 1 && mp_iseven (&y) == 1) \{ +048 res = MP_VAL; +049 goto __ERR; +050 \} +051 +052 /* 3. u=x, v=y, A=1, B=0, C=0,D=1 */ +053 if ((res = mp_copy (&x, &u)) != MP_OKAY) \{ +054 goto __ERR; +055 \} +056 if ((res = mp_copy (&y, &v)) != MP_OKAY) \{ +057 goto __ERR; +058 \} +059 mp_set (&A, 1); +060 mp_set (&D, 1); +061 +062 top: +063 /* 4. while u is even do */ +064 while (mp_iseven (&u) == 1) \{ +065 /* 4.1 u = u/2 */ +066 if ((res = mp_div_2 (&u, &u)) != MP_OKAY) \{ +067 goto __ERR; +068 \} +069 /* 4.2 if A or B is odd then */ +070 if (mp_isodd (&A) == 1 || mp_isodd (&B) == 1) \{ +071 /* A = (A+y)/2, B = (B-x)/2 */ +072 if ((res = mp_add (&A, &y, &A)) != MP_OKAY) \{ +073 goto __ERR; +074 \} +075 if ((res = mp_sub (&B, &x, &B)) != MP_OKAY) \{ +076 goto __ERR; +077 \} +078 \} +079 /* A = A/2, B = B/2 */ +080 if ((res = mp_div_2 (&A, &A)) != MP_OKAY) \{ +081 goto __ERR; +082 \} +083 if ((res = mp_div_2 (&B, &B)) != MP_OKAY) \{ +084 goto __ERR; +085 \} +086 \} +087 +088 /* 5. while v is even do */ +089 while (mp_iseven (&v) == 1) \{ +090 /* 5.1 v = v/2 */ +091 if ((res = mp_div_2 (&v, &v)) != MP_OKAY) \{ +092 goto __ERR; +093 \} +094 /* 5.2 if C or D is odd then */ +095 if (mp_isodd (&C) == 1 || mp_isodd (&D) == 1) \{ +096 /* C = (C+y)/2, D = (D-x)/2 */ +097 if ((res = mp_add (&C, &y, &C)) != MP_OKAY) \{ +098 goto __ERR; +099 \} +100 if ((res = mp_sub (&D, &x, &D)) != MP_OKAY) \{ +101 goto __ERR; +102 \} +103 \} +104 /* C = C/2, D = D/2 */ +105 if ((res = mp_div_2 (&C, &C)) != MP_OKAY) \{ +106 goto __ERR; +107 \} +108 if ((res = mp_div_2 (&D, &D)) != MP_OKAY) \{ +109 goto __ERR; +110 \} +111 \} +112 +113 /* 6. if u >= v then */ +114 if (mp_cmp (&u, &v) != MP_LT) \{ +115 /* u = u - v, A = A - C, B = B - D */ +116 if ((res = mp_sub (&u, &v, &u)) != MP_OKAY) \{ +117 goto __ERR; +118 \} +119 +120 if ((res = mp_sub (&A, &C, &A)) != MP_OKAY) \{ +121 goto __ERR; +122 \} +123 +124 if ((res = mp_sub (&B, &D, &B)) != MP_OKAY) \{ +125 goto __ERR; +126 \} +127 \} else \{ +128 /* v - v - u, C = C - A, D = D - B */ +129 if ((res = mp_sub (&v, &u, &v)) != MP_OKAY) \{ +130 goto __ERR; +131 \} +132 +133 if ((res = mp_sub (&C, &A, &C)) != MP_OKAY) \{ +134 goto __ERR; +135 \} +136 +137 if ((res = mp_sub (&D, &B, &D)) != MP_OKAY) \{ +138 goto __ERR; +139 \} +140 \} +141 +142 /* if not zero goto step 4 */ +143 if (mp_iszero (&u) == 0) +144 goto top; +145 +146 /* now a = C, b = D, gcd == g*v */ +147 +148 /* if v != 1 then there is no inverse */ +149 if (mp_cmp_d (&v, 1) != MP_EQ) \{ +150 res = MP_VAL; +151 goto __ERR; +152 \} +153 +154 /* if its too low */ +155 while (mp_cmp_d(&C, 0) == MP_LT) \{ +156 if ((res = mp_add(&C, b, &C)) != MP_OKAY) \{ +157 goto __ERR; +158 \} +159 \} +160 +161 /* too big */ +162 while (mp_cmp_mag(&C, b) != MP_LT) \{ +163 if ((res = mp_sub(&C, b, &C)) != MP_OKAY) \{ +164 goto __ERR; +165 \} +166 \} +167 +168 /* C is now the inverse */ +169 mp_exch (&C, c); +170 res = MP_OKAY; +171 __ERR:mp_clear_multi (&x, &y, &u, &v, &A, &B, &C, &D, NULL); +172 return res; +173 \} \end{alltt} \end{small} @@ -10321,35 +10295,34 @@ This algorithm attempts to determine if a candidate integer $n$ is composite by \hspace{-5.1mm}{\bf File}: bn\_mp\_prime\_is\_divisible.c \vspace{-3mm} \begin{alltt} -016 -017 /* determines if an integers is divisible by one -018 * of the first PRIME_SIZE primes or not -019 * -020 * sets result to 0 if not, 1 if yes -021 */ -022 int mp_prime_is_divisible (mp_int * a, int *result) -023 \{ -024 int err, ix; -025 mp_digit res; -026 -027 /* default to not */ -028 *result = MP_NO; -029 -030 for (ix = 0; ix < PRIME_SIZE; ix++) \{ -031 /* what is a mod __prime_tab[ix] */ -032 if ((err = mp_mod_d (a, __prime_tab[ix], &res)) != MP_OKAY) \{ -033 return err; -034 \} -035 -036 /* is the residue zero? */ -037 if (res == 0) \{ -038 *result = MP_YES; -039 return MP_OKAY; -040 \} -041 \} -042 -043 return MP_OKAY; -044 \} +016 /* determines if an integers is divisible by one +017 * of the first PRIME_SIZE primes or not +018 * +019 * sets result to 0 if not, 1 if yes +020 */ +021 int mp_prime_is_divisible (mp_int * a, int *result) +022 \{ +023 int err, ix; +024 mp_digit res; +025 +026 /* default to not */ +027 *result = MP_NO; +028 +029 for (ix = 0; ix < PRIME_SIZE; ix++) \{ +030 /* what is a mod __prime_tab[ix] */ +031 if ((err = mp_mod_d (a, __prime_tab[ix], &res)) != MP_OKAY) \{ +032 return err; +033 \} +034 +035 /* is the residue zero? */ +036 if (res == 0) \{ +037 *result = MP_YES; +038 return MP_OKAY; +039 \} +040 \} +041 +042 return MP_OKAY; +043 \} \end{alltt} \end{small} @@ -10360,46 +10333,45 @@ mp\_digit. The table \_\_prime\_tab is defined in the following file. \hspace{-5.1mm}{\bf File}: bn\_prime\_tab.c \vspace{-3mm} \begin{alltt} -016 const mp_digit __prime_tab[] = \{ -017 0x0002, 0x0003, 0x0005, 0x0007, 0x000B, 0x000D, 0x0011, 0x0013, -018 0x0017, 0x001D, 0x001F, 0x0025, 0x0029, 0x002B, 0x002F, 0x0035, -019 0x003B, 0x003D, 0x0043, 0x0047, 0x0049, 0x004F, 0x0053, 0x0059, -020 0x0061, 0x0065, 0x0067, 0x006B, 0x006D, 0x0071, 0x007F, -021 #ifndef MP_8BIT -022 0x0083, -023 0x0089, 0x008B, 0x0095, 0x0097, 0x009D, 0x00A3, 0x00A7, 0x00AD, -024 0x00B3, 0x00B5, 0x00BF, 0x00C1, 0x00C5, 0x00C7, 0x00D3, 0x00DF, -025 0x00E3, 0x00E5, 0x00E9, 0x00EF, 0x00F1, 0x00FB, 0x0101, 0x0107, -026 0x010D, 0x010F, 0x0115, 0x0119, 0x011B, 0x0125, 0x0133, 0x0137, -027 -028 0x0139, 0x013D, 0x014B, 0x0151, 0x015B, 0x015D, 0x0161, 0x0167, -029 0x016F, 0x0175, 0x017B, 0x017F, 0x0185, 0x018D, 0x0191, 0x0199, -030 0x01A3, 0x01A5, 0x01AF, 0x01B1, 0x01B7, 0x01BB, 0x01C1, 0x01C9, -031 0x01CD, 0x01CF, 0x01D3, 0x01DF, 0x01E7, 0x01EB, 0x01F3, 0x01F7, -032 0x01FD, 0x0209, 0x020B, 0x021D, 0x0223, 0x022D, 0x0233, 0x0239, -033 0x023B, 0x0241, 0x024B, 0x0251, 0x0257, 0x0259, 0x025F, 0x0265, -034 0x0269, 0x026B, 0x0277, 0x0281, 0x0283, 0x0287, 0x028D, 0x0293, -035 0x0295, 0x02A1, 0x02A5, 0x02AB, 0x02B3, 0x02BD, 0x02C5, 0x02CF, -036 -037 0x02D7, 0x02DD, 0x02E3, 0x02E7, 0x02EF, 0x02F5, 0x02F9, 0x0301, -038 0x0305, 0x0313, 0x031D, 0x0329, 0x032B, 0x0335, 0x0337, 0x033B, -039 0x033D, 0x0347, 0x0355, 0x0359, 0x035B, 0x035F, 0x036D, 0x0371, -040 0x0373, 0x0377, 0x038B, 0x038F, 0x0397, 0x03A1, 0x03A9, 0x03AD, -041 0x03B3, 0x03B9, 0x03C7, 0x03CB, 0x03D1, 0x03D7, 0x03DF, 0x03E5, -042 0x03F1, 0x03F5, 0x03FB, 0x03FD, 0x0407, 0x0409, 0x040F, 0x0419, -043 0x041B, 0x0425, 0x0427, 0x042D, 0x043F, 0x0443, 0x0445, 0x0449, -044 0x044F, 0x0455, 0x045D, 0x0463, 0x0469, 0x047F, 0x0481, 0x048B, -045 -046 0x0493, 0x049D, 0x04A3, 0x04A9, 0x04B1, 0x04BD, 0x04C1, 0x04C7, -047 0x04CD, 0x04CF, 0x04D5, 0x04E1, 0x04EB, 0x04FD, 0x04FF, 0x0503, -048 0x0509, 0x050B, 0x0511, 0x0515, 0x0517, 0x051B, 0x0527, 0x0529, -049 0x052F, 0x0551, 0x0557, 0x055D, 0x0565, 0x0577, 0x0581, 0x058F, -050 0x0593, 0x0595, 0x0599, 0x059F, 0x05A7, 0x05AB, 0x05AD, 0x05B3, -051 0x05BF, 0x05C9, 0x05CB, 0x05CF, 0x05D1, 0x05D5, 0x05DB, 0x05E7, -052 0x05F3, 0x05FB, 0x0607, 0x060D, 0x0611, 0x0617, 0x061F, 0x0623, -053 0x062B, 0x062F, 0x063D, 0x0641, 0x0647, 0x0649, 0x064D, 0x0653 -054 #endif -055 \}; +016 0x0002, 0x0003, 0x0005, 0x0007, 0x000B, 0x000D, 0x0011, 0x0013, +017 0x0017, 0x001D, 0x001F, 0x0025, 0x0029, 0x002B, 0x002F, 0x0035, +018 0x003B, 0x003D, 0x0043, 0x0047, 0x0049, 0x004F, 0x0053, 0x0059, +019 0x0061, 0x0065, 0x0067, 0x006B, 0x006D, 0x0071, 0x007F, +020 #ifndef MP_8BIT +021 0x0083, +022 0x0089, 0x008B, 0x0095, 0x0097, 0x009D, 0x00A3, 0x00A7, 0x00AD, +023 0x00B3, 0x00B5, 0x00BF, 0x00C1, 0x00C5, 0x00C7, 0x00D3, 0x00DF, +024 0x00E3, 0x00E5, 0x00E9, 0x00EF, 0x00F1, 0x00FB, 0x0101, 0x0107, +025 0x010D, 0x010F, 0x0115, 0x0119, 0x011B, 0x0125, 0x0133, 0x0137, +026 +027 0x0139, 0x013D, 0x014B, 0x0151, 0x015B, 0x015D, 0x0161, 0x0167, +028 0x016F, 0x0175, 0x017B, 0x017F, 0x0185, 0x018D, 0x0191, 0x0199, +029 0x01A3, 0x01A5, 0x01AF, 0x01B1, 0x01B7, 0x01BB, 0x01C1, 0x01C9, +030 0x01CD, 0x01CF, 0x01D3, 0x01DF, 0x01E7, 0x01EB, 0x01F3, 0x01F7, +031 0x01FD, 0x0209, 0x020B, 0x021D, 0x0223, 0x022D, 0x0233, 0x0239, +032 0x023B, 0x0241, 0x024B, 0x0251, 0x0257, 0x0259, 0x025F, 0x0265, +033 0x0269, 0x026B, 0x0277, 0x0281, 0x0283, 0x0287, 0x028D, 0x0293, +034 0x0295, 0x02A1, 0x02A5, 0x02AB, 0x02B3, 0x02BD, 0x02C5, 0x02CF, +035 +036 0x02D7, 0x02DD, 0x02E3, 0x02E7, 0x02EF, 0x02F5, 0x02F9, 0x0301, +037 0x0305, 0x0313, 0x031D, 0x0329, 0x032B, 0x0335, 0x0337, 0x033B, +038 0x033D, 0x0347, 0x0355, 0x0359, 0x035B, 0x035F, 0x036D, 0x0371, +039 0x0373, 0x0377, 0x038B, 0x038F, 0x0397, 0x03A1, 0x03A9, 0x03AD, +040 0x03B3, 0x03B9, 0x03C7, 0x03CB, 0x03D1, 0x03D7, 0x03DF, 0x03E5, +041 0x03F1, 0x03F5, 0x03FB, 0x03FD, 0x0407, 0x0409, 0x040F, 0x0419, +042 0x041B, 0x0425, 0x0427, 0x042D, 0x043F, 0x0443, 0x0445, 0x0449, +043 0x044F, 0x0455, 0x045D, 0x0463, 0x0469, 0x047F, 0x0481, 0x048B, +044 +045 0x0493, 0x049D, 0x04A3, 0x04A9, 0x04B1, 0x04BD, 0x04C1, 0x04C7, +046 0x04CD, 0x04CF, 0x04D5, 0x04E1, 0x04EB, 0x04FD, 0x04FF, 0x0503, +047 0x0509, 0x050B, 0x0511, 0x0515, 0x0517, 0x051B, 0x0527, 0x0529, +048 0x052F, 0x0551, 0x0557, 0x055D, 0x0565, 0x0577, 0x0581, 0x058F, +049 0x0593, 0x0595, 0x0599, 0x059F, 0x05A7, 0x05AB, 0x05AD, 0x05B3, +050 0x05BF, 0x05C9, 0x05CB, 0x05CF, 0x05D1, 0x05D5, 0x05DB, 0x05E7, +051 0x05F3, 0x05FB, 0x0607, 0x060D, 0x0611, 0x0617, 0x061F, 0x0623, +052 0x062B, 0x062F, 0x063D, 0x0641, 0x0647, 0x0649, 0x064D, 0x0653 +053 #endif +054 \}; \end{alltt} \end{small} @@ -10446,47 +10418,46 @@ determine the result. \hspace{-5.1mm}{\bf File}: bn\_mp\_prime\_fermat.c \vspace{-3mm} \begin{alltt} -016 -017 /* performs one Fermat test. -018 * -019 * If "a" were prime then b**a == b (mod a) since the order of -020 * the multiplicative sub-group would be phi(a) = a-1. That means -021 * it would be the same as b**(a mod (a-1)) == b**1 == b (mod a). -022 * -023 * Sets result to 1 if the congruence holds, or zero otherwise. -024 */ -025 int mp_prime_fermat (mp_int * a, mp_int * b, int *result) -026 \{ -027 mp_int t; -028 int err; -029 -030 /* default to composite */ -031 *result = MP_NO; -032 -033 /* ensure b > 1 */ -034 if (mp_cmp_d(b, 1) != MP_GT) \{ -035 return MP_VAL; -036 \} -037 -038 /* init t */ -039 if ((err = mp_init (&t)) != MP_OKAY) \{ -040 return err; -041 \} -042 -043 /* compute t = b**a mod a */ -044 if ((err = mp_exptmod (b, a, a, &t)) != MP_OKAY) \{ -045 goto __T; -046 \} -047 -048 /* is it equal to b? */ -049 if (mp_cmp (&t, b) == MP_EQ) \{ -050 *result = MP_YES; -051 \} -052 -053 err = MP_OKAY; -054 __T:mp_clear (&t); -055 return err; -056 \} +016 /* performs one Fermat test. +017 * +018 * If "a" were prime then b**a == b (mod a) since the order of +019 * the multiplicative sub-group would be phi(a) = a-1. That means +020 * it would be the same as b**(a mod (a-1)) == b**1 == b (mod a). +021 * +022 * Sets result to 1 if the congruence holds, or zero otherwise. +023 */ +024 int mp_prime_fermat (mp_int * a, mp_int * b, int *result) +025 \{ +026 mp_int t; +027 int err; +028 +029 /* default to composite */ +030 *result = MP_NO; +031 +032 /* ensure b > 1 */ +033 if (mp_cmp_d(b, 1) != MP_GT) \{ +034 return MP_VAL; +035 \} +036 +037 /* init t */ +038 if ((err = mp_init (&t)) != MP_OKAY) \{ +039 return err; +040 \} +041 +042 /* compute t = b**a mod a */ +043 if ((err = mp_exptmod (b, a, a, &t)) != MP_OKAY) \{ +044 goto __T; +045 \} +046 +047 /* is it equal to b? */ +048 if (mp_cmp (&t, b) == MP_EQ) \{ +049 *result = MP_YES; +050 \} +051 +052 err = MP_OKAY; +053 __T:mp_clear (&t); +054 return err; +055 \} \end{alltt} \end{small} @@ -10539,88 +10510,87 @@ composite then it is \textit{probably} prime. \hspace{-5.1mm}{\bf File}: bn\_mp\_prime\_miller\_rabin.c \vspace{-3mm} \begin{alltt} -016 -017 /* Miller-Rabin test of "a" to the base of "b" as described in -018 * HAC pp. 139 Algorithm 4.24 -019 * -020 * Sets result to 0 if definitely composite or 1 if probably prime. -021 * Randomly the chance of error is no more than 1/4 and often -022 * very much lower. -023 */ -024 int mp_prime_miller_rabin (mp_int * a, mp_int * b, int *result) -025 \{ -026 mp_int n1, y, r; -027 int s, j, err; -028 -029 /* default */ -030 *result = MP_NO; -031 -032 /* ensure b > 1 */ -033 if (mp_cmp_d(b, 1) != MP_GT) \{ -034 return MP_VAL; -035 \} -036 -037 /* get n1 = a - 1 */ -038 if ((err = mp_init_copy (&n1, a)) != MP_OKAY) \{ -039 return err; -040 \} -041 if ((err = mp_sub_d (&n1, 1, &n1)) != MP_OKAY) \{ -042 goto __N1; -043 \} -044 -045 /* set 2**s * r = n1 */ -046 if ((err = mp_init_copy (&r, &n1)) != MP_OKAY) \{ -047 goto __N1; -048 \} -049 -050 /* count the number of least significant bits -051 * which are zero -052 */ -053 s = mp_cnt_lsb(&r); -054 -055 /* now divide n - 1 by 2**s */ -056 if ((err = mp_div_2d (&r, s, &r, NULL)) != MP_OKAY) \{ -057 goto __R; -058 \} -059 -060 /* compute y = b**r mod a */ -061 if ((err = mp_init (&y)) != MP_OKAY) \{ -062 goto __R; -063 \} -064 if ((err = mp_exptmod (b, &r, a, &y)) != MP_OKAY) \{ -065 goto __Y; -066 \} -067 -068 /* if y != 1 and y != n1 do */ -069 if (mp_cmp_d (&y, 1) != MP_EQ && mp_cmp (&y, &n1) != MP_EQ) \{ -070 j = 1; -071 /* while j <= s-1 and y != n1 */ -072 while ((j <= (s - 1)) && mp_cmp (&y, &n1) != MP_EQ) \{ -073 if ((err = mp_sqrmod (&y, a, &y)) != MP_OKAY) \{ -074 goto __Y; -075 \} -076 -077 /* if y == 1 then composite */ -078 if (mp_cmp_d (&y, 1) == MP_EQ) \{ -079 goto __Y; -080 \} -081 -082 ++j; -083 \} -084 -085 /* if y != n1 then composite */ -086 if (mp_cmp (&y, &n1) != MP_EQ) \{ -087 goto __Y; -088 \} -089 \} -090 -091 /* probably prime now */ -092 *result = MP_YES; -093 __Y:mp_clear (&y); -094 __R:mp_clear (&r); -095 __N1:mp_clear (&n1); -096 return err; -097 \} +016 /* Miller-Rabin test of "a" to the base of "b" as described in +017 * HAC pp. 139 Algorithm 4.24 +018 * +019 * Sets result to 0 if definitely composite or 1 if probably prime. +020 * Randomly the chance of error is no more than 1/4 and often +021 * very much lower. +022 */ +023 int mp_prime_miller_rabin (mp_int * a, mp_int * b, int *result) +024 \{ +025 mp_int n1, y, r; +026 int s, j, err; +027 +028 /* default */ +029 *result = MP_NO; +030 +031 /* ensure b > 1 */ +032 if (mp_cmp_d(b, 1) != MP_GT) \{ +033 return MP_VAL; +034 \} +035 +036 /* get n1 = a - 1 */ +037 if ((err = mp_init_copy (&n1, a)) != MP_OKAY) \{ +038 return err; +039 \} +040 if ((err = mp_sub_d (&n1, 1, &n1)) != MP_OKAY) \{ +041 goto __N1; +042 \} +043 +044 /* set 2**s * r = n1 */ +045 if ((err = mp_init_copy (&r, &n1)) != MP_OKAY) \{ +046 goto __N1; +047 \} +048 +049 /* count the number of least significant bits +050 * which are zero +051 */ +052 s = mp_cnt_lsb(&r); +053 +054 /* now divide n - 1 by 2**s */ +055 if ((err = mp_div_2d (&r, s, &r, NULL)) != MP_OKAY) \{ +056 goto __R; +057 \} +058 +059 /* compute y = b**r mod a */ +060 if ((err = mp_init (&y)) != MP_OKAY) \{ +061 goto __R; +062 \} +063 if ((err = mp_exptmod (b, &r, a, &y)) != MP_OKAY) \{ +064 goto __Y; +065 \} +066 +067 /* if y != 1 and y != n1 do */ +068 if (mp_cmp_d (&y, 1) != MP_EQ && mp_cmp (&y, &n1) != MP_EQ) \{ +069 j = 1; +070 /* while j <= s-1 and y != n1 */ +071 while ((j <= (s - 1)) && mp_cmp (&y, &n1) != MP_EQ) \{ +072 if ((err = mp_sqrmod (&y, a, &y)) != MP_OKAY) \{ +073 goto __Y; +074 \} +075 +076 /* if y == 1 then composite */ +077 if (mp_cmp_d (&y, 1) == MP_EQ) \{ +078 goto __Y; +079 \} +080 +081 ++j; +082 \} +083 +084 /* if y != n1 then composite */ +085 if (mp_cmp (&y, &n1) != MP_EQ) \{ +086 goto __Y; +087 \} +088 \} +089 +090 /* probably prime now */ +091 *result = MP_YES; +092 __Y:mp_clear (&y); +093 __R:mp_clear (&r); +094 __N1:mp_clear (&n1); +095 return err; +096 \} \end{alltt} \end{small}

PukksWKa#STNExbzR5oZW940`J5ya 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%0DO%MnPteb@np$otQiL1S>Z-D|Ke<}2 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%0D?9dNami! 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