wpa_supplicant / hostapd
2.5
|
Big number math. More...
Functions | |
struct bignum * | bignum_init (void) |
Allocate memory for bignum. More... | |
void | bignum_deinit (struct bignum *n) |
Free bignum. More... | |
size_t | bignum_get_unsigned_bin_len (struct bignum *n) |
Get length of bignum as an unsigned binary buffer. More... | |
int | bignum_get_unsigned_bin (const struct bignum *n, u8 *buf, size_t *len) |
Set binary buffer to unsigned bignum. More... | |
int | bignum_set_unsigned_bin (struct bignum *n, const u8 *buf, size_t len) |
Set bignum based on unsigned binary buffer. More... | |
int | bignum_cmp (const struct bignum *a, const struct bignum *b) |
Signed comparison. More... | |
int | bignum_cmp_d (const struct bignum *a, unsigned long b) |
Compare bignum to standard integer. More... | |
int | bignum_add (const struct bignum *a, const struct bignum *b, struct bignum *c) |
c = a + b More... | |
int | bignum_sub (const struct bignum *a, const struct bignum *b, struct bignum *c) |
c = a - b More... | |
int | bignum_mul (const struct bignum *a, const struct bignum *b, struct bignum *c) |
c = a * b More... | |
int | bignum_mulmod (const struct bignum *a, const struct bignum *b, const struct bignum *c, struct bignum *d) |
d = a * b (mod c) More... | |
int | bignum_exptmod (const struct bignum *a, const struct bignum *b, const struct bignum *c, struct bignum *d) |
Modular exponentiation: d = a^b (mod c) More... | |
Big number math.
int bignum_add | ( | const struct bignum * | a, |
const struct bignum * | b, | ||
struct bignum * | c | ||
) |
c = a + b
a | Bignum from bignum_init() |
b | Bignum from bignum_init() |
c | Bignum from bignum_init(); used to store the result of a + b |
int bignum_cmp | ( | const struct bignum * | a, |
const struct bignum * | b | ||
) |
Signed comparison.
a | Bignum from bignum_init() |
b | Bignum from bignum_init() |
int bignum_cmp_d | ( | const struct bignum * | a, |
unsigned long | b | ||
) |
Compare bignum to standard integer.
a | Bignum from bignum_init() |
b | Small integer |
void bignum_deinit | ( | struct bignum * | n | ) |
Free bignum.
n | Bignum from bignum_init() |
int bignum_exptmod | ( | const struct bignum * | a, |
const struct bignum * | b, | ||
const struct bignum * | c, | ||
struct bignum * | d | ||
) |
Modular exponentiation: d = a^b (mod c)
a | Bignum from bignum_init(); base |
b | Bignum from bignum_init(); exponent |
c | Bignum from bignum_init(); modulus |
d | Bignum from bignum_init(); used to store the result of a^b (mod c) |
int bignum_get_unsigned_bin | ( | const struct bignum * | n, |
u8 * | buf, | ||
size_t * | len | ||
) |
Set binary buffer to unsigned bignum.
n | Bignum from bignum_init() |
buf | Buffer for the binary number |
len | Length of the buffer, can be NULL if buffer is known to be long enough. Set to used buffer length on success if not NULL. |
size_t bignum_get_unsigned_bin_len | ( | struct bignum * | n | ) |
Get length of bignum as an unsigned binary buffer.
n | Bignum from bignum_init() |
struct bignum* bignum_init | ( | void | ) |
Allocate memory for bignum.
int bignum_mul | ( | const struct bignum * | a, |
const struct bignum * | b, | ||
struct bignum * | c | ||
) |
c = a * b
a | Bignum from bignum_init() |
b | Bignum from bignum_init() |
c | Bignum from bignum_init(); used to store the result of a * b |
int bignum_mulmod | ( | const struct bignum * | a, |
const struct bignum * | b, | ||
const struct bignum * | c, | ||
struct bignum * | d | ||
) |
d = a * b (mod c)
a | Bignum from bignum_init() |
b | Bignum from bignum_init() |
c | Bignum from bignum_init(); modulus |
d | Bignum from bignum_init(); used to store the result of a * b (mod c) |
int bignum_set_unsigned_bin | ( | struct bignum * | n, |
const u8 * | buf, | ||
size_t | len | ||
) |
Set bignum based on unsigned binary buffer.
n | Bignum from bignum_init(); to be set to the given value |
buf | Buffer with unsigned binary value |
len | Length of buf in octets |
int bignum_sub | ( | const struct bignum * | a, |
const struct bignum * | b, | ||
struct bignum * | c | ||
) |
c = a - b
a | Bignum from bignum_init() |
b | Bignum from bignum_init() |
c | Bignum from bignum_init(); used to store the result of a - b |