add missing updates

This commit is contained in:
Steffen Jaeckel 2014-01-22 17:53:34 +01:00
parent c7fc93d002
commit c82028641f
3 changed files with 319 additions and 12 deletions

View File

@ -16,13 +16,13 @@
*/
/* c = |a| * |b| using balancing multiplication.
* If |a| is much less than |b|,
* we firstly split b into chunks such that length of each one is
* If |a| is much less than |b|,
* we firstly split b into chunks such that length of each one is
* roughly equal to that of |a|.
*/
int mp_balance_mul (mp_int * a, mp_int * b, mp_int * c)
{
/* the following algorithm is taken from
/* the following algorithm is taken from
* Ruby core; namely, function 'bigmul1_balance'
* from 'bignum.c'
*/
@ -86,7 +86,7 @@ int mp_balance_mul (mp_int * a, mp_int * b, mp_int * c)
}
}
*tmpcn++ = u;
bn -= r;
n += r;
}

View File

@ -10,6 +10,7 @@ BN_MP_SQRT_C
| | +--->BN_MP_GROW_C
| +--->BN_MP_EXPT_D_C
| | +--->BN_MP_INIT_COPY_C
| | | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_MUL_C
| | | +--->BN_MP_TOOM_MUL_C
| | | | +--->BN_MP_INIT_MULTI_C
@ -80,6 +81,10 @@ BN_MP_SQRT_C
| | | | +--->BN_MP_CLAMP_C
| | | | +--->BN_MP_EXCH_C
| | | | +--->BN_MP_CLEAR_C
| | | +--->BN_MP_BALANCE_MUL_C
| | | | +--->BN_MP_GROW_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | | +--->BN_MP_CLAMP_C
| | +--->BN_MP_CLEAR_C
| | +--->BN_MP_SQR_C
| | | +--->BN_MP_TOOM_SQR_C
@ -214,6 +219,10 @@ BN_MP_SQRT_C
| | | +--->BN_MP_CLAMP_C
| | | +--->BN_MP_EXCH_C
| | | +--->BN_MP_CLEAR_C
| | +--->BN_MP_BALANCE_MUL_C
| | | +--->BN_MP_GROW_C
| | | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_CLAMP_C
| +--->BN_MP_SUB_C
| | +--->BN_S_MP_ADD_C
| | | +--->BN_MP_GROW_C
@ -274,6 +283,7 @@ BN_MP_SQRT_C
| +--->BN_MP_CLEAR_C
+--->BN_MP_ZERO_C
+--->BN_MP_INIT_COPY_C
| +--->BN_MP_INIT_SIZE_C
| +--->BN_MP_COPY_C
| | +--->BN_MP_GROW_C
+--->BN_MP_RSHD_C
@ -454,6 +464,7 @@ BN_MP_IS_SQUARE_C
| | | +--->BN_MP_GROW_C
| | +--->BN_MP_EXPT_D_C
| | | +--->BN_MP_INIT_COPY_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_MUL_C
| | | | +--->BN_MP_TOOM_MUL_C
| | | | | +--->BN_MP_INIT_MULTI_C
@ -524,6 +535,10 @@ BN_MP_IS_SQUARE_C
| | | | | +--->BN_MP_CLAMP_C
| | | | | +--->BN_MP_EXCH_C
| | | | | +--->BN_MP_CLEAR_C
| | | | +--->BN_MP_BALANCE_MUL_C
| | | | | +--->BN_MP_GROW_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | +--->BN_MP_CLEAR_C
| | | +--->BN_MP_SQR_C
| | | | +--->BN_MP_TOOM_SQR_C
@ -658,6 +673,10 @@ BN_MP_IS_SQUARE_C
| | | | +--->BN_MP_CLAMP_C
| | | | +--->BN_MP_EXCH_C
| | | | +--->BN_MP_CLEAR_C
| | | +--->BN_MP_BALANCE_MUL_C
| | | | +--->BN_MP_GROW_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | | +--->BN_MP_CLAMP_C
| | +--->BN_MP_SUB_C
| | | +--->BN_S_MP_ADD_C
| | | | +--->BN_MP_GROW_C
@ -718,6 +737,7 @@ BN_MP_IS_SQUARE_C
| | +--->BN_MP_CLEAR_C
| +--->BN_MP_ZERO_C
| +--->BN_MP_INIT_COPY_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_COPY_C
| | | +--->BN_MP_GROW_C
| +--->BN_MP_RSHD_C
@ -1109,6 +1129,7 @@ BN_MP_EXPTMOD_C
| | | +--->BN_MP_CLAMP_C
| +--->BN_MP_REDUCE_C
| | +--->BN_MP_INIT_COPY_C
| | | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_COPY_C
| | | | +--->BN_MP_GROW_C
| | +--->BN_MP_RSHD_C
@ -1177,6 +1198,10 @@ BN_MP_EXPTMOD_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | | +--->BN_MP_CLAMP_C
| | | | +--->BN_MP_EXCH_C
| | | +--->BN_MP_BALANCE_MUL_C
| | | | +--->BN_MP_GROW_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | | +--->BN_MP_CLAMP_C
| | +--->BN_S_MP_MUL_HIGH_DIGS_C
| | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
| | | | +--->BN_MP_GROW_C
@ -1310,6 +1335,10 @@ BN_MP_EXPTMOD_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | | +--->BN_MP_CLAMP_C
| | | | +--->BN_MP_EXCH_C
| | | +--->BN_MP_BALANCE_MUL_C
| | | | +--->BN_MP_GROW_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | | +--->BN_MP_CLAMP_C
| | +--->BN_S_MP_ADD_C
| | | +--->BN_MP_GROW_C
| | | +--->BN_MP_CLAMP_C
@ -1499,6 +1528,10 @@ BN_MP_EXPTMOD_C
| | | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_CLAMP_C
| | | +--->BN_MP_EXCH_C
| | +--->BN_MP_BALANCE_MUL_C
| | | +--->BN_MP_GROW_C
| | | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_CLAMP_C
| +--->BN_MP_SET_C
| | +--->BN_MP_ZERO_C
| +--->BN_MP_EXCH_C
@ -1657,6 +1690,10 @@ BN_MP_EXPTMOD_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | | +--->BN_MP_CLAMP_C
| | | | +--->BN_MP_EXCH_C
| | | +--->BN_MP_BALANCE_MUL_C
| | | | +--->BN_MP_GROW_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | | +--->BN_MP_CLAMP_C
| | +--->BN_MP_MOD_C
| | | +--->BN_MP_DIV_C
| | | | +--->BN_MP_CMP_MAG_C
@ -1894,11 +1931,16 @@ BN_MP_EXPTMOD_C
| | | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_CLAMP_C
| | | +--->BN_MP_EXCH_C
| | +--->BN_MP_BALANCE_MUL_C
| | | +--->BN_MP_GROW_C
| | | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_CLAMP_C
| +--->BN_MP_EXCH_C
BN_MP_OR_C
+--->BN_MP_INIT_COPY_C
| +--->BN_MP_INIT_SIZE_C
| +--->BN_MP_COPY_C
| | +--->BN_MP_GROW_C
+--->BN_MP_CLAMP_C
@ -2159,6 +2201,7 @@ BN_MP_PRIME_FERMAT_C
| | | | +--->BN_MP_CLAMP_C
| | +--->BN_MP_REDUCE_C
| | | +--->BN_MP_INIT_COPY_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | | +--->BN_MP_COPY_C
| | | | | +--->BN_MP_GROW_C
| | | +--->BN_MP_RSHD_C
@ -2227,6 +2270,10 @@ BN_MP_PRIME_FERMAT_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | | | +--->BN_MP_EXCH_C
| | | | +--->BN_MP_BALANCE_MUL_C
| | | | | +--->BN_MP_GROW_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | +--->BN_S_MP_MUL_HIGH_DIGS_C
| | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
| | | | | +--->BN_MP_GROW_C
@ -2359,6 +2406,10 @@ BN_MP_PRIME_FERMAT_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | | | +--->BN_MP_EXCH_C
| | | | +--->BN_MP_BALANCE_MUL_C
| | | | | +--->BN_MP_GROW_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | +--->BN_S_MP_ADD_C
| | | | +--->BN_MP_GROW_C
| | | | +--->BN_MP_CLAMP_C
@ -2548,6 +2599,10 @@ BN_MP_PRIME_FERMAT_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | | +--->BN_MP_CLAMP_C
| | | | +--->BN_MP_EXCH_C
| | | +--->BN_MP_BALANCE_MUL_C
| | | | +--->BN_MP_GROW_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | | +--->BN_MP_CLAMP_C
| | +--->BN_MP_SET_C
| | | +--->BN_MP_ZERO_C
| | +--->BN_MP_EXCH_C
@ -2706,6 +2761,10 @@ BN_MP_PRIME_FERMAT_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | | | +--->BN_MP_EXCH_C
| | | | +--->BN_MP_BALANCE_MUL_C
| | | | | +--->BN_MP_GROW_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | +--->BN_MP_MOD_C
| | | | +--->BN_MP_DIV_C
| | | | | +--->BN_MP_CMP_MAG_C
@ -2943,12 +3002,79 @@ BN_MP_PRIME_FERMAT_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | | +--->BN_MP_CLAMP_C
| | | | +--->BN_MP_EXCH_C
| | | +--->BN_MP_BALANCE_MUL_C
| | | | +--->BN_MP_GROW_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | | +--->BN_MP_CLAMP_C
| | +--->BN_MP_EXCH_C
+--->BN_MP_CMP_C
| +--->BN_MP_CMP_MAG_C
+--->BN_MP_CLEAR_C
BN_MP_BALANCE_MUL_C
+--->BN_MP_GROW_C
+--->BN_MP_INIT_SIZE_C
| +--->BN_MP_INIT_C
+--->BN_MP_MUL_C
| +--->BN_MP_TOOM_MUL_C
| | +--->BN_MP_INIT_MULTI_C
| | | +--->BN_MP_INIT_C
| | | +--->BN_MP_CLEAR_C
| | +--->BN_MP_MOD_2D_C
| | | +--->BN_MP_ZERO_C
| | | +--->BN_MP_COPY_C
| | | +--->BN_MP_CLAMP_C
| | +--->BN_MP_COPY_C
| | +--->BN_MP_RSHD_C
| | | +--->BN_MP_ZERO_C
| | +--->BN_MP_MUL_2_C
| | +--->BN_MP_ADD_C
| | | +--->BN_S_MP_ADD_C
| | | | +--->BN_MP_CLAMP_C
| | | +--->BN_MP_CMP_MAG_C
| | | +--->BN_S_MP_SUB_C
| | | | +--->BN_MP_CLAMP_C
| | +--->BN_MP_SUB_C
| | | +--->BN_S_MP_ADD_C
| | | | +--->BN_MP_CLAMP_C
| | | +--->BN_MP_CMP_MAG_C
| | | +--->BN_S_MP_SUB_C
| | | | +--->BN_MP_CLAMP_C
| | +--->BN_MP_DIV_2_C
| | | +--->BN_MP_CLAMP_C
| | +--->BN_MP_MUL_2D_C
| | | +--->BN_MP_LSHD_C
| | | +--->BN_MP_CLAMP_C
| | +--->BN_MP_MUL_D_C
| | | +--->BN_MP_CLAMP_C
| | +--->BN_MP_DIV_3_C
| | | +--->BN_MP_CLAMP_C
| | | +--->BN_MP_EXCH_C
| | | +--->BN_MP_CLEAR_C
| | +--->BN_MP_LSHD_C
| | +--->BN_MP_CLEAR_MULTI_C
| | | +--->BN_MP_CLEAR_C
| +--->BN_MP_KARATSUBA_MUL_C
| | +--->BN_MP_CLAMP_C
| | +--->BN_S_MP_ADD_C
| | +--->BN_MP_ADD_C
| | | +--->BN_MP_CMP_MAG_C
| | | +--->BN_S_MP_SUB_C
| | +--->BN_S_MP_SUB_C
| | +--->BN_MP_LSHD_C
| | | +--->BN_MP_RSHD_C
| | | | +--->BN_MP_ZERO_C
| | +--->BN_MP_CLEAR_C
| +--->BN_FAST_S_MP_MUL_DIGS_C
| | +--->BN_MP_CLAMP_C
| +--->BN_S_MP_MUL_DIGS_C
| | +--->BN_MP_CLAMP_C
| | +--->BN_MP_EXCH_C
| | +--->BN_MP_CLEAR_C
+--->BN_MP_CLAMP_C
BN_MP_SUBMOD_C
+--->BN_MP_INIT_C
+--->BN_MP_SUB_C
@ -3021,6 +3147,7 @@ BN_MP_MOD_2D_C
BN_MP_TORADIX_N_C
+--->BN_MP_INIT_COPY_C
| +--->BN_MP_INIT_SIZE_C
| +--->BN_MP_COPY_C
| | +--->BN_MP_GROW_C
+--->BN_MP_DIV_D_C
@ -3055,6 +3182,7 @@ BNCORE_C
BN_MP_TORADIX_C
+--->BN_MP_INIT_COPY_C
| +--->BN_MP_INIT_SIZE_C
| +--->BN_MP_COPY_C
| | +--->BN_MP_GROW_C
+--->BN_MP_DIV_D_C
@ -3426,6 +3554,7 @@ BN_MP_INVMOD_C
BN_MP_AND_C
+--->BN_MP_INIT_COPY_C
| +--->BN_MP_INIT_SIZE_C
| +--->BN_MP_COPY_C
| | +--->BN_MP_GROW_C
+--->BN_MP_CLAMP_C
@ -3440,6 +3569,7 @@ BN_MP_MUL_D_C
BN_MP_EXPORT_C
+--->BN_MP_INIT_COPY_C
| +--->BN_MP_INIT_SIZE_C
| +--->BN_MP_COPY_C
| | +--->BN_MP_GROW_C
+--->BN_MP_COUNT_BITS_C
@ -3554,6 +3684,7 @@ BN_MP_FWRITE_C
+--->BN_MP_RADIX_SIZE_C
| +--->BN_MP_COUNT_BITS_C
| +--->BN_MP_INIT_COPY_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_COPY_C
| | | +--->BN_MP_GROW_C
| +--->BN_MP_DIV_D_C
@ -3579,6 +3710,7 @@ BN_MP_FWRITE_C
| +--->BN_MP_CLEAR_C
+--->BN_MP_TORADIX_C
| +--->BN_MP_INIT_COPY_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_COPY_C
| | | +--->BN_MP_GROW_C
| +--->BN_MP_DIV_D_C
@ -3620,6 +3752,7 @@ BN_MP_N_ROOT_C
| +--->BN_MP_GROW_C
+--->BN_MP_EXPT_D_C
| +--->BN_MP_INIT_COPY_C
| | +--->BN_MP_INIT_SIZE_C
| +--->BN_MP_MUL_C
| | +--->BN_MP_TOOM_MUL_C
| | | +--->BN_MP_INIT_MULTI_C
@ -3690,6 +3823,10 @@ BN_MP_N_ROOT_C
| | | +--->BN_MP_CLAMP_C
| | | +--->BN_MP_EXCH_C
| | | +--->BN_MP_CLEAR_C
| | +--->BN_MP_BALANCE_MUL_C
| | | +--->BN_MP_GROW_C
| | | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_CLAMP_C
| +--->BN_MP_CLEAR_C
| +--->BN_MP_SQR_C
| | +--->BN_MP_TOOM_SQR_C
@ -3824,6 +3961,10 @@ BN_MP_N_ROOT_C
| | +--->BN_MP_CLAMP_C
| | +--->BN_MP_EXCH_C
| | +--->BN_MP_CLEAR_C
| +--->BN_MP_BALANCE_MUL_C
| | +--->BN_MP_GROW_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_CLAMP_C
+--->BN_MP_SUB_C
| +--->BN_S_MP_ADD_C
| | +--->BN_MP_GROW_C
@ -3890,6 +4031,7 @@ BN_MP_PRIME_RABIN_MILLER_TRIALS_C
BN_MP_RADIX_SIZE_C
+--->BN_MP_COUNT_BITS_C
+--->BN_MP_INIT_COPY_C
| +--->BN_MP_INIT_SIZE_C
| +--->BN_MP_COPY_C
| | +--->BN_MP_GROW_C
+--->BN_MP_DIV_D_C
@ -3969,6 +4111,7 @@ BN_MP_PRIME_RANDOM_EX_C
| | +--->BN_MP_ZERO_C
| +--->BN_MP_PRIME_MILLER_RABIN_C
| | +--->BN_MP_INIT_COPY_C
| | | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_COPY_C
| | | | +--->BN_MP_GROW_C
| | +--->BN_MP_SUB_D_C
@ -4263,6 +4406,10 @@ BN_MP_PRIME_RANDOM_EX_C
| | | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | | +--->BN_MP_CLAMP_C
| | | | | | | +--->BN_MP_EXCH_C
| | | | | | +--->BN_MP_BALANCE_MUL_C
| | | | | | | +--->BN_MP_GROW_C
| | | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | | +--->BN_MP_CLAMP_C
| | | | | +--->BN_S_MP_MUL_HIGH_DIGS_C
| | | | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
| | | | | | | +--->BN_MP_GROW_C
@ -4384,6 +4531,10 @@ BN_MP_PRIME_RANDOM_EX_C
| | | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | | +--->BN_MP_CLAMP_C
| | | | | | | +--->BN_MP_EXCH_C
| | | | | | +--->BN_MP_BALANCE_MUL_C
| | | | | | | +--->BN_MP_GROW_C
| | | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | | +--->BN_MP_CLAMP_C
| | | | | +--->BN_S_MP_ADD_C
| | | | | | +--->BN_MP_GROW_C
| | | | | | +--->BN_MP_CLAMP_C
@ -4565,6 +4716,10 @@ BN_MP_PRIME_RANDOM_EX_C
| | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | +--->BN_MP_CLAMP_C
| | | | | | +--->BN_MP_EXCH_C
| | | | | +--->BN_MP_BALANCE_MUL_C
| | | | | | +--->BN_MP_GROW_C
| | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | +--->BN_MP_CLAMP_C
| | | | +--->BN_MP_EXCH_C
| | | +--->BN_MP_DR_IS_MODULUS_C
| | | +--->BN_MP_REDUCE_IS_2K_C
@ -4701,6 +4856,10 @@ BN_MP_PRIME_RANDOM_EX_C
| | | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | | +--->BN_MP_CLAMP_C
| | | | | | | +--->BN_MP_EXCH_C
| | | | | | +--->BN_MP_BALANCE_MUL_C
| | | | | | | +--->BN_MP_GROW_C
| | | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | | +--->BN_MP_CLAMP_C
| | | | | +--->BN_MP_MOD_C
| | | | | | +--->BN_MP_DIV_C
| | | | | | | +--->BN_MP_CMP_MAG_C
@ -4921,6 +5080,10 @@ BN_MP_PRIME_RANDOM_EX_C
| | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | +--->BN_MP_CLAMP_C
| | | | | | +--->BN_MP_EXCH_C
| | | | | +--->BN_MP_BALANCE_MUL_C
| | | | | | +--->BN_MP_GROW_C
| | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | +--->BN_MP_CLAMP_C
| | | | +--->BN_MP_EXCH_C
| | +--->BN_MP_CMP_C
| | | +--->BN_MP_CMP_MAG_C
@ -5127,6 +5290,7 @@ BN_MP_KARATSUBA_SQR_C
BN_MP_INIT_COPY_C
+--->BN_MP_INIT_SIZE_C
+--->BN_MP_COPY_C
| +--->BN_MP_GROW_C
@ -5316,6 +5480,11 @@ BN_MP_TOOM_MUL_C
| | +--->BN_MP_CLAMP_C
| | +--->BN_MP_EXCH_C
| | +--->BN_MP_CLEAR_C
| +--->BN_MP_BALANCE_MUL_C
| | +--->BN_MP_GROW_C
| | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_INIT_C
| | +--->BN_MP_CLAMP_C
+--->BN_MP_MUL_2_C
| +--->BN_MP_GROW_C
+--->BN_MP_ADD_C
@ -5388,6 +5557,7 @@ BN_MP_PRIME_IS_PRIME_C
| +--->BN_MP_ZERO_C
+--->BN_MP_PRIME_MILLER_RABIN_C
| +--->BN_MP_INIT_COPY_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_COPY_C
| | | +--->BN_MP_GROW_C
| +--->BN_MP_SUB_D_C
@ -5682,6 +5852,10 @@ BN_MP_PRIME_IS_PRIME_C
| | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | +--->BN_MP_CLAMP_C
| | | | | | +--->BN_MP_EXCH_C
| | | | | +--->BN_MP_BALANCE_MUL_C
| | | | | | +--->BN_MP_GROW_C
| | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | +--->BN_MP_CLAMP_C
| | | | +--->BN_S_MP_MUL_HIGH_DIGS_C
| | | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
| | | | | | +--->BN_MP_GROW_C
@ -5803,6 +5977,10 @@ BN_MP_PRIME_IS_PRIME_C
| | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | +--->BN_MP_CLAMP_C
| | | | | | +--->BN_MP_EXCH_C
| | | | | +--->BN_MP_BALANCE_MUL_C
| | | | | | +--->BN_MP_GROW_C
| | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | +--->BN_MP_CLAMP_C
| | | | +--->BN_S_MP_ADD_C
| | | | | +--->BN_MP_GROW_C
| | | | | +--->BN_MP_CLAMP_C
@ -5984,6 +6162,10 @@ BN_MP_PRIME_IS_PRIME_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | | | +--->BN_MP_EXCH_C
| | | | +--->BN_MP_BALANCE_MUL_C
| | | | | +--->BN_MP_GROW_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | +--->BN_MP_EXCH_C
| | +--->BN_MP_DR_IS_MODULUS_C
| | +--->BN_MP_REDUCE_IS_2K_C
@ -6120,6 +6302,10 @@ BN_MP_PRIME_IS_PRIME_C
| | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | +--->BN_MP_CLAMP_C
| | | | | | +--->BN_MP_EXCH_C
| | | | | +--->BN_MP_BALANCE_MUL_C
| | | | | | +--->BN_MP_GROW_C
| | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | +--->BN_MP_CLAMP_C
| | | | +--->BN_MP_MOD_C
| | | | | +--->BN_MP_DIV_C
| | | | | | +--->BN_MP_CMP_MAG_C
@ -6340,6 +6526,10 @@ BN_MP_PRIME_IS_PRIME_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | | | +--->BN_MP_EXCH_C
| | | | +--->BN_MP_BALANCE_MUL_C
| | | | | +--->BN_MP_GROW_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | +--->BN_MP_EXCH_C
| +--->BN_MP_CMP_C
| | +--->BN_MP_CMP_MAG_C
@ -6623,6 +6813,10 @@ BN_MP_EXPTMOD_FAST_C
| | | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_CLAMP_C
| | | +--->BN_MP_EXCH_C
| | +--->BN_MP_BALANCE_MUL_C
| | | +--->BN_MP_GROW_C
| | | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_CLAMP_C
| +--->BN_MP_MOD_C
| | +--->BN_MP_DIV_C
| | | +--->BN_MP_CMP_MAG_C
@ -6866,11 +7060,16 @@ BN_MP_EXPTMOD_FAST_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_CLAMP_C
| | +--->BN_MP_EXCH_C
| +--->BN_MP_BALANCE_MUL_C
| | +--->BN_MP_GROW_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_CLAMP_C
+--->BN_MP_EXCH_C
BN_MP_TO_UNSIGNED_BIN_C
+--->BN_MP_INIT_COPY_C
| +--->BN_MP_INIT_SIZE_C
| +--->BN_MP_COPY_C
| | +--->BN_MP_GROW_C
+--->BN_MP_DIV_2D_C
@ -7078,6 +7277,10 @@ BN_MP_MULMOD_C
| | +--->BN_MP_CLAMP_C
| | +--->BN_MP_EXCH_C
| | +--->BN_MP_CLEAR_C
| +--->BN_MP_BALANCE_MUL_C
| | +--->BN_MP_GROW_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_CLAMP_C
+--->BN_MP_CLEAR_C
+--->BN_MP_MOD_C
| +--->BN_MP_DIV_C
@ -7186,6 +7389,7 @@ BN_S_MP_MUL_DIGS_C
BN_MP_XOR_C
+--->BN_MP_INIT_COPY_C
| +--->BN_MP_INIT_SIZE_C
| +--->BN_MP_COPY_C
| | +--->BN_MP_GROW_C
+--->BN_MP_CLAMP_C
@ -7279,6 +7483,7 @@ BN_MP_PRIME_NEXT_PRIME_C
| +--->BN_MP_CLAMP_C
+--->BN_MP_PRIME_MILLER_RABIN_C
| +--->BN_MP_INIT_COPY_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_COPY_C
| | | +--->BN_MP_GROW_C
| +--->BN_MP_CNT_LSB_C
@ -7568,6 +7773,10 @@ BN_MP_PRIME_NEXT_PRIME_C
| | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | +--->BN_MP_CLAMP_C
| | | | | | +--->BN_MP_EXCH_C
| | | | | +--->BN_MP_BALANCE_MUL_C
| | | | | | +--->BN_MP_GROW_C
| | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | +--->BN_MP_CLAMP_C
| | | | +--->BN_S_MP_MUL_HIGH_DIGS_C
| | | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
| | | | | | +--->BN_MP_GROW_C
@ -7689,6 +7898,10 @@ BN_MP_PRIME_NEXT_PRIME_C
| | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | +--->BN_MP_CLAMP_C
| | | | | | +--->BN_MP_EXCH_C
| | | | | +--->BN_MP_BALANCE_MUL_C
| | | | | | +--->BN_MP_GROW_C
| | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | +--->BN_MP_CLAMP_C
| | | | +--->BN_S_MP_ADD_C
| | | | | +--->BN_MP_GROW_C
| | | | | +--->BN_MP_CLAMP_C
@ -7870,6 +8083,10 @@ BN_MP_PRIME_NEXT_PRIME_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | | | +--->BN_MP_EXCH_C
| | | | +--->BN_MP_BALANCE_MUL_C
| | | | | +--->BN_MP_GROW_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | +--->BN_MP_EXCH_C
| | +--->BN_MP_DR_IS_MODULUS_C
| | +--->BN_MP_REDUCE_IS_2K_C
@ -8006,6 +8223,10 @@ BN_MP_PRIME_NEXT_PRIME_C
| | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | +--->BN_MP_CLAMP_C
| | | | | | +--->BN_MP_EXCH_C
| | | | | +--->BN_MP_BALANCE_MUL_C
| | | | | | +--->BN_MP_GROW_C
| | | | | | +--->BN_MP_INIT_SIZE_C
| | | | | | +--->BN_MP_CLAMP_C
| | | | +--->BN_MP_MOD_C
| | | | | +--->BN_MP_DIV_C
| | | | | | +--->BN_MP_CMP_MAG_C
@ -8226,6 +8447,10 @@ BN_MP_PRIME_NEXT_PRIME_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | | | +--->BN_MP_EXCH_C
| | | | +--->BN_MP_BALANCE_MUL_C
| | | | | +--->BN_MP_GROW_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | +--->BN_MP_EXCH_C
| +--->BN_MP_CMP_C
| | +--->BN_MP_CMP_MAG_C
@ -8466,6 +8691,7 @@ BN_MP_LCM_C
| | +--->BN_MP_COPY_C
| | | +--->BN_MP_GROW_C
| +--->BN_MP_INIT_COPY_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_COPY_C
| | | +--->BN_MP_GROW_C
| +--->BN_MP_CNT_LSB_C
@ -8617,6 +8843,11 @@ BN_MP_LCM_C
| | +--->BN_MP_CLAMP_C
| | +--->BN_MP_EXCH_C
| | +--->BN_MP_CLEAR_C
| +--->BN_MP_BALANCE_MUL_C
| | +--->BN_MP_GROW_C
| | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_INIT_C
| | +--->BN_MP_CLAMP_C
+--->BN_MP_CLEAR_MULTI_C
| +--->BN_MP_CLEAR_C
@ -8708,6 +8939,10 @@ BN_MP_REDUCE_2K_L_C
| | +--->BN_MP_CLAMP_C
| | +--->BN_MP_EXCH_C
| | +--->BN_MP_CLEAR_C
| +--->BN_MP_BALANCE_MUL_C
| | +--->BN_MP_GROW_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_CLAMP_C
+--->BN_S_MP_ADD_C
| +--->BN_MP_GROW_C
| +--->BN_MP_CLAMP_C
@ -8757,6 +8992,7 @@ BN_MP_GCD_C
| +--->BN_MP_COPY_C
| | +--->BN_MP_GROW_C
+--->BN_MP_INIT_COPY_C
| +--->BN_MP_INIT_SIZE_C
| +--->BN_MP_COPY_C
| | +--->BN_MP_GROW_C
+--->BN_MP_CNT_LSB_C
@ -8898,6 +9134,7 @@ BN_ERROR_C
BN_MP_EXPT_D_C
+--->BN_MP_INIT_COPY_C
| +--->BN_MP_INIT_SIZE_C
| +--->BN_MP_COPY_C
| | +--->BN_MP_GROW_C
+--->BN_MP_SET_C
@ -8976,6 +9213,10 @@ BN_MP_EXPT_D_C
| | +--->BN_MP_CLAMP_C
| | +--->BN_MP_EXCH_C
| | +--->BN_MP_CLEAR_C
| +--->BN_MP_BALANCE_MUL_C
| | +--->BN_MP_GROW_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_CLAMP_C
+--->BN_MP_CLEAR_C
+--->BN_MP_SQR_C
| +--->BN_MP_TOOM_SQR_C
@ -9102,6 +9343,7 @@ BN_S_MP_EXPTMOD_C
| | +--->BN_MP_CLAMP_C
+--->BN_MP_REDUCE_C
| +--->BN_MP_INIT_COPY_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_COPY_C
| | | +--->BN_MP_GROW_C
| +--->BN_MP_RSHD_C
@ -9171,6 +9413,10 @@ BN_S_MP_EXPTMOD_C
| | | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_CLAMP_C
| | | +--->BN_MP_EXCH_C
| | +--->BN_MP_BALANCE_MUL_C
| | | +--->BN_MP_GROW_C
| | | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_CLAMP_C
| +--->BN_S_MP_MUL_HIGH_DIGS_C
| | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
| | | +--->BN_MP_GROW_C
@ -9305,6 +9551,10 @@ BN_S_MP_EXPTMOD_C
| | | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_CLAMP_C
| | | +--->BN_MP_EXCH_C
| | +--->BN_MP_BALANCE_MUL_C
| | | +--->BN_MP_GROW_C
| | | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_CLAMP_C
| +--->BN_S_MP_ADD_C
| | +--->BN_MP_GROW_C
| | +--->BN_MP_CLAMP_C
@ -9498,6 +9748,10 @@ BN_S_MP_EXPTMOD_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_CLAMP_C
| | +--->BN_MP_EXCH_C
| +--->BN_MP_BALANCE_MUL_C
| | +--->BN_MP_GROW_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_CLAMP_C
+--->BN_MP_SET_C
| +--->BN_MP_ZERO_C
+--->BN_MP_EXCH_C
@ -9532,6 +9786,7 @@ BN_MP_SUB_D_C
BN_MP_TO_SIGNED_BIN_C
+--->BN_MP_TO_UNSIGNED_BIN_C
| +--->BN_MP_INIT_COPY_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_COPY_C
| | | +--->BN_MP_GROW_C
| +--->BN_MP_DIV_2D_C
@ -9740,6 +9995,7 @@ BN_MP_TO_SIGNED_BIN_N_C
+--->BN_MP_TO_SIGNED_BIN_C
| +--->BN_MP_TO_UNSIGNED_BIN_C
| | +--->BN_MP_INIT_COPY_C
| | | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_COPY_C
| | | | +--->BN_MP_GROW_C
| | +--->BN_MP_DIV_2D_C
@ -9790,6 +10046,7 @@ BN_MP_TO_UNSIGNED_BIN_N_C
| +--->BN_MP_COUNT_BITS_C
+--->BN_MP_TO_UNSIGNED_BIN_C
| +--->BN_MP_INIT_COPY_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_COPY_C
| | | +--->BN_MP_GROW_C
| +--->BN_MP_DIV_2D_C
@ -9866,6 +10123,7 @@ BN_MP_REDUCE_C
| | +--->BN_MP_CLAMP_C
| | +--->BN_MP_CLEAR_C
+--->BN_MP_INIT_COPY_C
| +--->BN_MP_INIT_SIZE_C
| +--->BN_MP_COPY_C
| | +--->BN_MP_GROW_C
+--->BN_MP_RSHD_C
@ -9940,6 +10198,10 @@ BN_MP_REDUCE_C
| | +--->BN_MP_CLAMP_C
| | +--->BN_MP_EXCH_C
| | +--->BN_MP_CLEAR_C
| +--->BN_MP_BALANCE_MUL_C
| | +--->BN_MP_GROW_C
| | +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_CLAMP_C
+--->BN_S_MP_MUL_HIGH_DIGS_C
| +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
| | +--->BN_MP_GROW_C
@ -10009,6 +10271,7 @@ BN_MP_GET_INT_C
BN_MP_JACOBI_C
+--->BN_MP_CMP_D_C
+--->BN_MP_INIT_COPY_C
| +--->BN_MP_INIT_SIZE_C
| +--->BN_MP_COPY_C
| | +--->BN_MP_GROW_C
+--->BN_MP_CNT_LSB_C
@ -10161,6 +10424,18 @@ BN_MP_MUL_C
| +--->BN_MP_CLAMP_C
| +--->BN_MP_EXCH_C
| +--->BN_MP_CLEAR_C
+--->BN_MP_BALANCE_MUL_C
| +--->BN_MP_GROW_C
| +--->BN_MP_INIT_SIZE_C
| | +--->BN_MP_INIT_C
| +--->BN_MP_CLAMP_C
BN_MP_DR_REDUCE_C
+--->BN_MP_GROW_C
+--->BN_MP_CLAMP_C
+--->BN_MP_CMP_MAG_C
+--->BN_S_MP_SUB_C
BN_MP_EXTEUCLID_C
@ -10291,6 +10566,11 @@ BN_MP_EXTEUCLID_C
| | +--->BN_MP_CLAMP_C
| | +--->BN_MP_EXCH_C
| | +--->BN_MP_CLEAR_C
| +--->BN_MP_BALANCE_MUL_C
| | +--->BN_MP_GROW_C
| | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_INIT_C
| | +--->BN_MP_CLAMP_C
+--->BN_MP_SUB_C
| +--->BN_S_MP_ADD_C
| | +--->BN_MP_GROW_C
@ -10305,13 +10585,6 @@ BN_MP_EXTEUCLID_C
| +--->BN_MP_CLEAR_C
BN_MP_DR_REDUCE_C
+--->BN_MP_GROW_C
+--->BN_MP_CLAMP_C
+--->BN_MP_CMP_MAG_C
+--->BN_S_MP_SUB_C
BN_MP_FREAD_C
+--->BN_MP_ZERO_C
+--->BN_MP_MUL_D_C
@ -10451,6 +10724,11 @@ BN_MP_KARATSUBA_MUL_C
| | +--->BN_MP_CLAMP_C
| | +--->BN_MP_EXCH_C
| | +--->BN_MP_CLEAR_C
| +--->BN_MP_BALANCE_MUL_C
| | +--->BN_MP_GROW_C
| | +--->BN_MP_INIT_SIZE_C
| | | +--->BN_MP_INIT_C
| | +--->BN_MP_CLAMP_C
+--->BN_MP_INIT_SIZE_C
| +--->BN_MP_INIT_C
+--->BN_MP_CLAMP_C
@ -10478,6 +10756,7 @@ BN_MP_LSHD_C
BN_MP_PRIME_MILLER_RABIN_C
+--->BN_MP_CMP_D_C
+--->BN_MP_INIT_COPY_C
| +--->BN_MP_INIT_SIZE_C
| +--->BN_MP_COPY_C
| | +--->BN_MP_GROW_C
+--->BN_MP_SUB_D_C
@ -10779,6 +11058,10 @@ BN_MP_PRIME_MILLER_RABIN_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | | | +--->BN_MP_EXCH_C
| | | | +--->BN_MP_BALANCE_MUL_C
| | | | | +--->BN_MP_GROW_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | +--->BN_S_MP_MUL_HIGH_DIGS_C
| | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
| | | | | +--->BN_MP_GROW_C
@ -10902,6 +11185,10 @@ BN_MP_PRIME_MILLER_RABIN_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | | | +--->BN_MP_EXCH_C
| | | | +--->BN_MP_BALANCE_MUL_C
| | | | | +--->BN_MP_GROW_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | +--->BN_S_MP_ADD_C
| | | | +--->BN_MP_GROW_C
| | | | +--->BN_MP_CLAMP_C
@ -11084,6 +11371,10 @@ BN_MP_PRIME_MILLER_RABIN_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | | +--->BN_MP_CLAMP_C
| | | | +--->BN_MP_EXCH_C
| | | +--->BN_MP_BALANCE_MUL_C
| | | | +--->BN_MP_GROW_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | | +--->BN_MP_CLAMP_C
| | +--->BN_MP_SET_C
| | | +--->BN_MP_ZERO_C
| | +--->BN_MP_EXCH_C
@ -11224,6 +11515,10 @@ BN_MP_PRIME_MILLER_RABIN_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | | | +--->BN_MP_EXCH_C
| | | | +--->BN_MP_BALANCE_MUL_C
| | | | | +--->BN_MP_GROW_C
| | | | | +--->BN_MP_INIT_SIZE_C
| | | | | +--->BN_MP_CLAMP_C
| | | +--->BN_MP_MOD_C
| | | | +--->BN_MP_DIV_C
| | | | | +--->BN_MP_CMP_MAG_C
@ -11447,6 +11742,10 @@ BN_MP_PRIME_MILLER_RABIN_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | | +--->BN_MP_CLAMP_C
| | | | +--->BN_MP_EXCH_C
| | | +--->BN_MP_BALANCE_MUL_C
| | | | +--->BN_MP_GROW_C
| | | | +--->BN_MP_INIT_SIZE_C
| | | | +--->BN_MP_CLAMP_C
| | +--->BN_MP_EXCH_C
+--->BN_MP_CMP_C
| +--->BN_MP_CMP_MAG_C

View File

@ -211,6 +211,13 @@
#define BN_MP_CLEAR_C
#endif
#if defined(BN_MP_BALANCE_MUL_C)
#define BN_MP_GROW_C
#define BN_MP_INIT_SIZE_C
#define BN_MP_MUL_C
#define BN_MP_CLAMP_C
#endif
#if defined(BN_MP_CLAMP_C)
#endif
@ -423,6 +430,7 @@
#endif
#if defined(BN_MP_INIT_COPY_C)
#define BN_MP_INIT_SIZE_C
#define BN_MP_COPY_C
#endif
@ -569,12 +577,12 @@
#endif
#if defined(BN_MP_MUL_C)
#define BN_MP_BALANCE_MUL_C
#define BN_MP_TOOM_MUL_C
#define BN_MP_KARATSUBA_MUL_C
#define BN_FAST_S_MP_MUL_DIGS_C
#define BN_S_MP_MUL_C
#define BN_S_MP_MUL_DIGS_C
#define BN_MP_BALANCE_MUL_C
#endif
#if defined(BN_MP_MUL_2_C)