8 #ifndef BOTAN_MP_CORE_H__ 9 #define BOTAN_MP_CORE_H__ 11 #include <botan/mp_types.h> 33 word
bigint_cnd_add(word cnd, word x[],
const word y[],
size_t size);
39 word
bigint_cnd_sub(word cnd, word x[],
const word y[],
size_t size);
52 const word y[],
size_t y_size);
55 const word x[],
size_t x_size,
56 const word y[],
size_t y_size);
58 word
bigint_add2_nc(word x[],
size_t x_size,
const word y[],
size_t y_size);
61 const word x[],
size_t x_size,
62 const word y[],
size_t y_size);
65 const word y[],
size_t y_size);
73 const word x[],
size_t x_size,
74 const word y[],
size_t y_size);
80 size_t word_shift,
size_t bit_shift);
83 size_t word_shift,
size_t bit_shift);
85 void bigint_shl2(word y[],
const word x[],
size_t x_size,
86 size_t word_shift,
size_t bit_shift);
88 void bigint_shr2(word y[],
const word x[],
size_t x_size,
89 size_t word_shift,
size_t bit_shift);
95 const word x[],
size_t x_size,
96 const word y[],
size_t y_size);
104 void bigint_linmul3(word z[],
const word x[],
size_t x_size, word y);
116 const word p[],
size_t p_size, word p_dash,
123 const word x[],
size_t x_size,
size_t x_sw,
124 const word y[],
size_t y_size,
size_t y_sw,
125 const word p[],
size_t p_size, word p_dash,
132 const word x[],
size_t x_size,
size_t x_sw,
133 const word p[],
size_t p_size, word p_dash,
140 word x3, word x2, word x1);
146 const word y[],
size_t y_size);
176 void bigint_mul(word z[],
size_t z_size, word workspace[],
177 const word x[],
size_t x_size,
size_t x_sw,
178 const word y[],
size_t y_size,
size_t y_sw);
180 void bigint_sqr(word z[],
size_t z_size, word workspace[],
181 const word x[],
size_t x_size,
size_t x_sw);
void bigint_shr1(word x[], size_t x_size, size_t word_shift, size_t bit_shift)
void bigint_sub2_rev(word x[], const word y[], size_t y_size)
void bigint_simple_mul(word z[], const word x[], size_t x_size, const word y[], size_t y_size)
void bigint_shr2(word y[], const word x[], size_t x_size, size_t word_shift, size_t bit_shift)
word bigint_sub2(word x[], size_t x_size, const word y[], size_t y_size)
void bigint_linmul2(word x[], size_t x_size, word y)
word bigint_add3_nc(word z[], const word x[], size_t x_size, const word y[], size_t y_size)
void bigint_comba_mul4(word z[8], const word x[4], const word y[4])
word bigint_sub3(word z[], const word x[], size_t x_size, const word y[], size_t y_size)
word bigint_divop(word n1, word n0, word d)
void bigint_monty_sqr(word z[], size_t z_size, const word x[], size_t x_size, size_t x_sw, const word p[], size_t p_size, word p_dash, word workspace[])
void bigint_linmul3(word z[], const word x[], size_t x_size, word y)
void bigint_comba_sqr16(word z[32], const word x[16])
word bigint_cnd_sub(word cnd, word x[], const word y[], size_t size)
void bigint_monty_redc(word z[], size_t z_size, const word p[], size_t p_size, word p_dash, word workspace[])
void bigint_cnd_swap(word cnd, word x[], word y[], size_t size)
void bigint_sqr(word z[], size_t z_size, word workspace[], const word x[], size_t x_size, size_t x_sw)
word bigint_add2_nc(word x[], size_t x_size, const word y[], size_t y_size)
void bigint_shl2(word y[], const word x[], size_t x_size, size_t word_shift, size_t bit_shift)
void bigint_monty_mul(word z[], size_t z_size, const word x[], size_t x_size, size_t x_sw, const word y[], size_t y_size, size_t y_sw, const word p[], size_t p_size, word p_dash, word workspace[])
void bigint_shl1(word x[], size_t x_size, size_t word_shift, size_t bit_shift)
void bigint_comba_mul8(word z[16], const word x[8], const word y[8])
void bigint_mul(word z[], size_t z_size, word workspace[], const word x[], size_t x_size, size_t x_sw, const word y[], size_t y_size, size_t y_sw)
size_t bigint_divcore(word q, word y2, word y1, word x3, word x2, word x1)
void bigint_comba_sqr8(word z[16], const word x[8])
void bigint_add2(word x[], size_t x_size, const word y[], size_t y_size)
void bigint_comba_mul16(word z[32], const word x[16], const word y[16])
word bigint_cnd_add(word cnd, word x[], const word y[], size_t size)
void bigint_comba_mul6(word z[12], const word x[6], const word y[6])
void bigint_simple_sqr(word z[], const word x[], size_t x_size)
void bigint_cnd_abs(word cnd, word x[], size_t size)
void bigint_comba_sqr4(word z[8], const word x[4])
void bigint_comba_sqr6(word z[12], const word x[6])
s32bit bigint_cmp(const word x[], size_t x_size, const word y[], size_t y_size)
void bigint_add3(word z[], const word x[], size_t x_size, const word y[], size_t y_size)
word bigint_modop(word n1, word n0, word d)
const size_t MP_WORD_BITS