comparison libtommath/bn_mp_montgomery_calc_normalization.c @ 1436:60fc6476e044

Update to libtommath v1.0
author Matt Johnston <matt@ucc.asn.au>
date Sat, 24 Jun 2017 22:37:14 +0800
parents 5ff8218bcee9
children 8bba51a55704
comparison
equal deleted inserted replaced
1435:f849a5ca2efc 1436:60fc6476e044
1 #include <tommath.h> 1 #include <tommath_private.h>
2 #ifdef BN_MP_MONTGOMERY_CALC_NORMALIZATION_C 2 #ifdef BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
3 /* LibTomMath, multiple-precision integer library -- Tom St Denis 3 /* LibTomMath, multiple-precision integer library -- Tom St Denis
4 * 4 *
5 * LibTomMath is a library that provides multiple-precision 5 * LibTomMath is a library that provides multiple-precision
6 * integer arithmetic as well as number theoretic functionality. 6 * integer arithmetic as well as number theoretic functionality.
10 * additional optimizations in place. 10 * additional optimizations in place.
11 * 11 *
12 * The library is free for all purposes without any express 12 * The library is free for all purposes without any express
13 * guarantee it works. 13 * guarantee it works.
14 * 14 *
15 * Tom St Denis, [email protected], http://math.libtomcrypt.com 15 * Tom St Denis, [email protected], http://libtom.org
16 */ 16 */
17 17
18 /* 18 /*
19 * shifts with subtractions when the result is greater than b. 19 * shifts with subtractions when the result is greater than b.
20 * 20 *
27 27
28 /* how many bits of last digit does b use */ 28 /* how many bits of last digit does b use */
29 bits = mp_count_bits (b) % DIGIT_BIT; 29 bits = mp_count_bits (b) % DIGIT_BIT;
30 30
31 if (b->used > 1) { 31 if (b->used > 1) {
32 if ((res = mp_2expt (a, (b->used - 1) * DIGIT_BIT + bits - 1)) != MP_OKAY) { 32 if ((res = mp_2expt (a, ((b->used - 1) * DIGIT_BIT) + bits - 1)) != MP_OKAY) {
33 return res; 33 return res;
34 } 34 }
35 } else { 35 } else {
36 mp_set(a, 1); 36 mp_set(a, 1);
37 bits = 1; 37 bits = 1;
52 52
53 return MP_OKAY; 53 return MP_OKAY;
54 } 54 }
55 #endif 55 #endif
56 56
57 /* $Source: /cvs/libtom/libtommath/bn_mp_montgomery_calc_normalization.c,v $ */ 57 /* $Source$ */
58 /* $Revision: 1.3 $ */ 58 /* $Revision$ */
59 /* $Date: 2006/03/31 14:18:44 $ */ 59 /* $Date$ */