mp_int
mp_zero(mp_int *a)
modulo(mp_int * a, mp_int * b, mp_int * c)
mp_int t;
set_word(mp_int * a, mp_digit b)
half(mp_int * a, mp_int * b)
mp_grow(mp_int *a, int size)
compare_digit(mp_int * a, mp_digit b)
mp_clear_multi(mp_int *mp, ...)
mp_int* next_mp = mp;
next_mp = va_arg(args, mp_int*);
fast_modular_inverse(mp_int * a, mp_int * b, mp_int * c)
mp_int x, y, u, v, B, D;
slow_modular_inverse(mp_int * a, mp_int * b, mp_int * c)
mp_int x, y, u, v, A, B, C, D;
lshift_digits(mp_int * a, int b)
modular_inverse(mp_int *c, mp_int *a, mp_int *b)
absolute(mp_int * a, mp_int * b)
mp_reduce_is_2k_l(mp_int *a)
mp_2expt(mp_int * a, int b)
mp_reduce_setup(mp_int * a, mp_int * b)
doubled(mp_int * a, mp_int * b)
third(mp_int * a, mp_int *c, mp_digit * d)
mp_int q;
toom_cook_multiply(mp_int *a, mp_int *b, mp_int *c)
mp_int w0, w1, w2, w3, w4, tmp1, tmp2, a0, a1, a2, b0, b1, b2;
trim_unused_digits(mp_int * a)
karatsuba_multiply(mp_int * a, mp_int * b, mp_int * c)
mp_int x0, x1, y0, y1, t1, x0y0, x1y1;
fast_col_array_multiply(mp_int * a, mp_int * b, mp_int * c, int digs)
basic_multiply_partial_lower(mp_int * a, mp_int * b, mp_int * c, int digs)
mp_int t;
signed_multiply(mp_int * a, mp_int * b, mp_int * c)
fast_basic_multiply_partial_upper(mp_int * a, mp_int * b, mp_int * c, int digs)
lshift_bits(mp_int *a, int b, mp_int *c)
basic_multiply_partial_upper(mp_int * a, mp_int * b, mp_int * c, int digs)
mp_int t;
mp_reduce(mp_int * x, mp_int * m, mp_int * mu)
mp_int q;
mp_reduce_2k_setup_l(mp_int *a, mp_int *d)
mp_int tmp;
mp_reduce_2k_l(mp_int *a, mp_int *n, mp_int *d)
mp_int q;
toom_cook_square(mp_int *a, mp_int *b)
mp_int w0, w1, w2, w3, w4, tmp1, a0, a1, a2;
karatsuba_square(mp_int * a, mp_int * b)
mp_int x0, x1, t1, t2, x0x0, x1x1;
fast_basic_square(mp_int * a, mp_int * b)
basic_square(mp_int * a, mp_int * b)
mp_int t;
mp_read_unsigned_bin(mp_int *a, const uint8_t *b, int c)
square(mp_int * a, mp_int * b)
find_window_size(mp_int *X)
basic_exponent_mod(mp_int * G, mp_int * X, mp_int * P, mp_int * Y, int redmode)
mp_int M[TAB_SIZE], res, mu;
int (*redux)(mp_int*,mp_int*,mp_int*);
is_diminished_radix_modulus(mp_int *a)
mp_count_bits(const mp_int *a)
mp_reduce_is_2k(mp_int *a)
multiply_modulo(mp_int *d, mp_int * a, mp_int * b, mp_int * c)
mp_int t;
mp_montgomery_setup(mp_int * n, mp_digit * rho)
fast_mp_montgomery_reduce(mp_int * x, mp_int * n, mp_digit rho)
compare_magnitude(mp_int * a, mp_int * b)
mp_montgomery_reduce(mp_int * x, mp_int * n, mp_digit rho)
diminished_radix_setup(mp_int *a, mp_digit *d)
diminished_radix_reduce(mp_int * x, mp_int * n, mp_digit k)
mp_reduce_2k_setup(mp_int *a, mp_digit *d)
mp_int tmp;
mp_reduce_2k(mp_int *a, mp_int *n, mp_digit d)
mp_int q;
mp_montgomery_calc_normalization(mp_int * a, mp_int * b)
signed_compare(mp_int * a, mp_int * b)
fast_exponent_modulo(mp_int * G, mp_int * X, mp_int * P, mp_int * Y, int redmode)
mp_int M[TAB_SIZE], res;
int (*redux)(mp_int*,mp_int*,mp_digit);
mp_unsigned_bin_size(mp_int * a)
mp_init(mp_int * a)
exponent_modulo(mp_int * G, mp_int * X, mp_int * P, mp_int *Y)
mp_int tmpG, tmpX;
signed_divide_word(mp_int *a, mp_digit b, mp_int *c, mp_digit *d)
mp_int q;
mp_clear(mp_int * a)
mp_prime_is_divisible(mp_int *a, int *result)
add_single_digit(mp_int *a, mp_digit b, mp_int *c)
mp_init_multi(mp_int *mp, ...)
signed_subtract_word(mp_int *a, mp_digit b, mp_int *c)
mp_int* cur_arg = mp;
mp_cnt_lsb(mp_int *a)
square_modulo(mp_int *a, mp_int *b, mp_int *c)
mp_int t;
mp_prime_miller_rabin(mp_int *a, mp_int *b, int *result)
mp_int n1, y, r;
mp_prime_is_prime(mp_int *a, int t, int *result)
mp_int b;
cur_arg = va_arg(clean_args, mp_int*);
mp_radix_size(mp_int *a, int radix, int *size)
mp_int t;
cur_arg = va_arg(args, mp_int*);
mp_toradix_n(mp_int * a, char *str, int radix, int maxlen)
mp_int t;
mp_init_size(mp_int * a, int size)
mp_getradix_num(mp_int *a, int radix, char *s)
subtract_modulo(mp_int *a, mp_int *b, mp_int *c, mp_int *d)
mp_int t;
mp_gcd(mp_int *a, mp_int *b, mp_int *c)
mp_int u, v;
mp_init_copy(mp_int * a, mp_int * b)
basic_add(mp_int * a, mp_int * b, mp_int * c)
mp_int *x;
basic_subtract(mp_int * a, mp_int * b, mp_int * c)
signed_subtract(mp_int * a, mp_int * b, mp_int * c)
rshift_digits(mp_int * a, int b)
multiply_digit(mp_int * a, mp_digit b, mp_int * c)
signed_add(mp_int * a, mp_int * b, mp_int * c)
mp_exch(mp_int *a, mp_int *b)
mp_int t;
modulo_2_to_power(mp_int * a, int b, mp_int * c)
rshift_bits(mp_int * a, int b, mp_int * c, mp_int * d)
mp_int t;
static int signed_multiply(mp_int * a, mp_int * b, mp_int * c);
static int square(mp_int * a, mp_int * b);
signed_divide(mp_int *c, mp_int *d, mp_int *a, mp_int *b)
mp_int q, x, y, t1, t2;
static int signed_subtract_word(mp_int *a, mp_digit b, mp_int *c);
#define BIGNUM mp_int