bignum 256-bit and 512-bit
This commit is contained in:
18
src/bn.h
Normal file
18
src/bn.h
Normal file
@@ -0,0 +1,18 @@
|
||||
#define BN256_WORDS 8
|
||||
typedef struct bn256 {
|
||||
uint32_t words[ BN256_WORDS ]; /* Little endian */
|
||||
} bn256;
|
||||
|
||||
#define BN512_WORDS 16
|
||||
typedef struct bn512 {
|
||||
uint32_t words[ BN512_WORDS ]; /* Little endian */
|
||||
} bn512;
|
||||
|
||||
int bn256_add (bn256 *X, const bn256 *A, const bn256 *B);
|
||||
int bn256_sub (bn256 *X, const bn256 *A, const bn256 *B);
|
||||
void bn256_mul (bn512 *X, const bn256 *A, const bn256 *B);
|
||||
void bn256_sqr (bn512 *X, const bn256 *A);
|
||||
int bn256_shift (bn256 *X, const bn256 *A, int shift);
|
||||
int bn256_is_zero (const bn256 *X);
|
||||
int bn256_is_even (const bn256 *X);
|
||||
int bn256_is_ge (const bn256 *A, const bn256 *B);
|
||||
Reference in New Issue
Block a user