added libtommath-0.41
This commit is contained in:
		
							parent
							
								
									3aba4eacc6
								
							
						
					
					
						commit
						333aebc894
					
				
							
								
								
									
										2
									
								
								bn.tex
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								bn.tex
									
									
									
									
									
								
							@ -49,7 +49,7 @@
 | 
				
			|||||||
\begin{document}
 | 
					\begin{document}
 | 
				
			||||||
\frontmatter
 | 
					\frontmatter
 | 
				
			||||||
\pagestyle{empty}
 | 
					\pagestyle{empty}
 | 
				
			||||||
\title{LibTomMath User Manual \\ v0.40}
 | 
					\title{LibTomMath User Manual \\ v0.41}
 | 
				
			||||||
\author{Tom St Denis \\ tomstdenis@gmail.com}
 | 
					\author{Tom St Denis \\ tomstdenis@gmail.com}
 | 
				
			||||||
\maketitle
 | 
					\maketitle
 | 
				
			||||||
This text, the library and the accompanying textbook are all hereby placed in the public domain.  This book has been 
 | 
					This text, the library and the accompanying textbook are all hereby placed in the public domain.  This book has been 
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const struct {
 | 
					static const struct {
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* computes the modular inverse via binary extended euclidean algorithm, 
 | 
					/* computes the modular inverse via binary extended euclidean algorithm, 
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* computes xR**-1 == x (mod N) via Montgomery Reduction
 | 
					/* computes xR**-1 == x (mod N) via Montgomery Reduction
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Fast (comba) multiplier
 | 
					/* Fast (comba) multiplier
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* this is a modified version of fast_s_mul_digs that only produces
 | 
					/* this is a modified version of fast_s_mul_digs that only produces
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* the jist of squaring...
 | 
					/* the jist of squaring...
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* computes a = 2**b 
 | 
					/* computes a = 2**b 
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* b = |a| 
 | 
					/* b = |a| 
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* high level addition (handles signs) */
 | 
					/* high level addition (handles signs) */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* single digit addition */
 | 
					/* single digit addition */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* d = a + b (mod c) */
 | 
					/* d = a + b (mod c) */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* AND two ints together */
 | 
					/* AND two ints together */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* trim unused digits 
 | 
					/* trim unused digits 
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* clear one (frees)  */
 | 
					/* clear one (frees)  */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#include <stdarg.h>
 | 
					#include <stdarg.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* compare two ints (signed)*/
 | 
					/* compare two ints (signed)*/
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* compare a digit */
 | 
					/* compare a digit */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* compare maginitude of two ints (unsigned) */
 | 
					/* compare maginitude of two ints (unsigned) */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const int lnz[16] = { 
 | 
					static const int lnz[16] = { 
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* copy, b = a */
 | 
					/* copy, b = a */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* returns the number of bits in an int */
 | 
					/* returns the number of bits in an int */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef BN_MP_DIV_SMALL
 | 
					#ifdef BN_MP_DIV_SMALL
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* b = a/2 */
 | 
					/* b = a/2 */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* shift right by a certain bit count (store quotient in c, optional remainder in d) */
 | 
					/* shift right by a certain bit count (store quotient in c, optional remainder in d) */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* divide by three (based on routine from MPI and the GMP manual) */
 | 
					/* divide by three (based on routine from MPI and the GMP manual) */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,14 +12,19 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int s_is_power_of_two(mp_digit b, int *p)
 | 
					static int s_is_power_of_two(mp_digit b, int *p)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   int x;
 | 
					   int x;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   for (x = 1; x < DIGIT_BIT; x++) {
 | 
					   /* fast return if no power of two */
 | 
				
			||||||
 | 
					   if ((b==0) || (b & (b-1))) {
 | 
				
			||||||
 | 
					      return 0;
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   for (x = 0; x < DIGIT_BIT; x++) {
 | 
				
			||||||
      if (b == (((mp_digit)1)<<x)) {
 | 
					      if (b == (((mp_digit)1)<<x)) {
 | 
				
			||||||
         *p = x;
 | 
					         *p = x;
 | 
				
			||||||
         return 1;
 | 
					         return 1;
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* determines if a number is a valid DR modulus */
 | 
					/* determines if a number is a valid DR modulus */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* reduce "x" in place modulo "n" using the Diminished Radix algorithm.
 | 
					/* reduce "x" in place modulo "n" using the Diminished Radix algorithm.
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* determines the setup value */
 | 
					/* determines the setup value */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* swap the elements of two integers, for cases where you can't simply swap the 
 | 
					/* swap the elements of two integers, for cases where you can't simply swap the 
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* calculate c = a**b  using a square-multiply algorithm */
 | 
					/* calculate c = a**b  using a square-multiply algorithm */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* computes Y == G**X mod P, HAC pp.616, Algorithm 14.85
 | 
					/* computes Y == G**X mod P, HAC pp.616, Algorithm 14.85
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Extended euclidean algorithm of (a, b) produces 
 | 
					/* Extended euclidean algorithm of (a, b) produces 
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* read a bigint from a file stream in ASCII */
 | 
					/* read a bigint from a file stream in ASCII */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int mp_fwrite(mp_int *a, int radix, FILE *stream)
 | 
					int mp_fwrite(mp_int *a, int radix, FILE *stream)
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Greatest Common Divisor using the binary method */
 | 
					/* Greatest Common Divisor using the binary method */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* get the lower 32-bits of an mp_int */
 | 
					/* get the lower 32-bits of an mp_int */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* grow as required */
 | 
					/* grow as required */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* init a new mp_int */
 | 
					/* init a new mp_int */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* creates "a" then copies b into it */
 | 
					/* creates "a" then copies b into it */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#include <stdarg.h>
 | 
					#include <stdarg.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* initialize and set a digit */
 | 
					/* initialize and set a digit */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* initialize and set a digit */
 | 
					/* initialize and set a digit */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* init an mp_init for a given size */
 | 
					/* init an mp_init for a given size */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* hac 14.61, pp608 */
 | 
					/* hac 14.61, pp608 */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* hac 14.61, pp608 */
 | 
					/* hac 14.61, pp608 */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Check if remainders are possible squares - fast exclude non-squares */
 | 
					/* Check if remainders are possible squares - fast exclude non-squares */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* computes the jacobi c = (a | n) (or Legendre if n is prime)
 | 
					/* computes the jacobi c = (a | n) (or Legendre if n is prime)
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* c = |a| * |b| using Karatsuba Multiplication using 
 | 
					/* c = |a| * |b| using Karatsuba Multiplication using 
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Karatsuba squaring, computes b = a*a using three 
 | 
					/* Karatsuba squaring, computes b = a*a using three 
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* computes least common multiple as |a*b|/(a, b) */
 | 
					/* computes least common multiple as |a*b|/(a, b) */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* shift left a certain amount of digits */
 | 
					/* shift left a certain amount of digits */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* c = a mod b, 0 <= c < b */
 | 
					/* c = a mod b, 0 <= c < b */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* calc a value mod 2**b */
 | 
					/* calc a value mod 2**b */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int
 | 
					int
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* computes xR**-1 == x (mod N) via Montgomery Reduction */
 | 
					/* computes xR**-1 == x (mod N) via Montgomery Reduction */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* setups the montgomery reduction stuff */
 | 
					/* setups the montgomery reduction stuff */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* high level multiplication (handles sign) */
 | 
					/* high level multiplication (handles sign) */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* b = a*2 */
 | 
					/* b = a*2 */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* shift left by a certain bit count */
 | 
					/* shift left by a certain bit count */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* multiply by a digit */
 | 
					/* multiply by a digit */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* d = a * b (mod c) */
 | 
					/* d = a * b (mod c) */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* find the n'th root of an integer 
 | 
					/* find the n'th root of an integer 
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* b = -a */
 | 
					/* b = -a */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* OR two ints together */
 | 
					/* OR two ints together */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* performs one Fermat test.
 | 
					/* performs one Fermat test.
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* determines if an integers is divisible by one 
 | 
					/* determines if an integers is divisible by one 
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* performs a variable number of rounds of Miller-Rabin
 | 
					/* performs a variable number of rounds of Miller-Rabin
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Miller-Rabin test of "a" to the base of "b" as described in 
 | 
					/* Miller-Rabin test of "a" to the base of "b" as described in 
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* finds the next prime after the number "a" using "t" trials
 | 
					/* finds the next prime after the number "a" using "t" trials
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* makes a truly random prime of a given size (bits),
 | 
					/* makes a truly random prime of a given size (bits),
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* returns size of ASCII reprensentation */
 | 
					/* returns size of ASCII reprensentation */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* chars used in radix conversions */
 | 
					/* chars used in radix conversions */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* makes a pseudo-random int of a given size */
 | 
					/* makes a pseudo-random int of a given size */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* read a string [ASCII] in a given radix */
 | 
					/* read a string [ASCII] in a given radix */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* read signed bin, big endian, first byte is 0==positive or 1==negative */
 | 
					/* read signed bin, big endian, first byte is 0==positive or 1==negative */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* reads a unsigned char array, assumes the msb is stored first [big endian] */
 | 
					/* reads a unsigned char array, assumes the msb is stored first [big endian] */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* reduces x mod m, assumes 0 < x < m**2, mu is 
 | 
					/* reduces x mod m, assumes 0 < x < m**2, mu is 
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* reduces a modulo n where n is of the form 2**p - d */
 | 
					/* reduces a modulo n where n is of the form 2**p - d */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* reduces a modulo n where n is of the form 2**p - d 
 | 
					/* reduces a modulo n where n is of the form 2**p - d 
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* determines the setup value */
 | 
					/* determines the setup value */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* determines the setup value */
 | 
					/* determines the setup value */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* determines if mp_reduce_2k can be used */
 | 
					/* determines if mp_reduce_2k can be used */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* determines if reduce_2k_l can be used */
 | 
					/* determines if reduce_2k_l can be used */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* pre-calculate the value required for Barrett reduction
 | 
					/* pre-calculate the value required for Barrett reduction
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* shift right a certain amount of digits */
 | 
					/* shift right a certain amount of digits */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* set to a digit */
 | 
					/* set to a digit */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* set a 32-bit const */
 | 
					/* set a 32-bit const */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* shrink a bignum */
 | 
					/* shrink a bignum */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* get the size for an signed equivalent */
 | 
					/* get the size for an signed equivalent */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* computes b = a*a */
 | 
					/* computes b = a*a */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* c = a * a (mod b) */
 | 
					/* c = a * a (mod b) */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* this function is less generic than mp_n_root, simpler and faster */
 | 
					/* this function is less generic than mp_n_root, simpler and faster */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* high level subtraction (handles signs) */
 | 
					/* high level subtraction (handles signs) */
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
 * The library is free for all purposes without any express
 | 
					 * The library is free for all purposes without any express
 | 
				
			||||||
 * guarantee it works.
 | 
					 * guarantee it works.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
 | 
					 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* single digit subtraction */
 | 
					/* single digit subtraction */
 | 
				
			||||||
 | 
				
			|||||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user