8 #ifndef BOTAN_MP_CORE_H__
9 #define BOTAN_MP_CORE_H__
11 #include <botan/mp_types.h>
26 const word y[],
size_t y_size);
29 const word x[],
size_t x_size,
30 const word y[],
size_t y_size);
32 word
bigint_add2_nc(word x[],
size_t x_size,
const word y[],
size_t y_size);
35 const word x[],
size_t x_size,
36 const word y[],
size_t y_size);
39 const word y[],
size_t y_size);
47 const word x[],
size_t x_size,
48 const word y[],
size_t y_size);
54 size_t word_shift,
size_t bit_shift);
57 size_t word_shift,
size_t bit_shift);
59 void bigint_shl2(word y[],
const word x[],
size_t x_size,
60 size_t word_shift,
size_t bit_shift);
62 void bigint_shr2(word y[],
const word x[],
size_t x_size,
63 size_t word_shift,
size_t bit_shift);
69 const word x[],
size_t x_size,
70 const word y[],
size_t y_size);
78 void bigint_linmul3(word z[],
const word x[],
size_t x_size, word y);
90 const word p[],
size_t p_size, word p_dash,
97 const word x[],
size_t x_size,
size_t x_sw,
98 const word y[],
size_t y_size,
size_t y_sw,
99 const word p[],
size_t p_size, word p_dash,
106 const word x[],
size_t x_size,
size_t x_sw,
107 const word p[],
size_t p_size, word p_dash,
114 word x3, word x2, word x1);
120 const word y[],
size_t y_size);
150 void bigint_mul(word z[],
size_t z_size, word workspace[],
151 const word x[],
size_t x_size,
size_t x_sw,
152 const word y[],
size_t y_size,
size_t y_sw);
154 void bigint_sqr(word z[],
size_t z_size, word workspace[],
155 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])
void bigint_monty_redc(word z[], size_t z_size, const word p[], size_t p_size, word p_dash, word workspace[])
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])
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_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