3 uint32_t word[ BN256_WORDS ]; /* Little endian */
8 uint32_t word[ BN512_WORDS ]; /* Little endian */
11 uint32_t bn256_add (bn256 *X, const bn256 *A, const bn256 *B);
12 uint32_t bn256_sub (bn256 *X, const bn256 *A, const bn256 *B);
13 uint32_t bn256_add_uint (bn256 *X, const bn256 *A, uint32_t w);
14 uint32_t bn256_sub_uint (bn256 *X, const bn256 *A, uint32_t w);
16 void bn256_mul (bn512 *X, const bn256 *A, const bn256 *B);
17 void bn256_sqr (bn512 *X, const bn256 *A);
18 uint32_t bn256_shift (bn256 *X, const bn256 *A, int shift);
19 int bn256_is_zero (const bn256 *X);
20 int bn256_is_even (const bn256 *X);
21 int bn256_is_ge (const bn256 *A, const bn256 *B);
22 int bn256_cmp (const bn256 *A, const bn256 *B);
23 void bn256_random (bn256 *X);