|
Data Structures |
struct | bignum_st |
struct | bn_mont_ctx_st |
struct | bn_recp_ctx_st |
struct | bn_gencb_st |
Defines |
#define | BN_MUL_COMBA |
#define | BN_SQR_COMBA |
#define | BN_RECURSION |
#define | BN_DEFAULT_BITS 1280 |
#define | BN_FLG_MALLOCED 0x01 |
#define | BN_FLG_STATIC_DATA 0x02 |
#define | BN_FLG_EXP_CONSTTIME 0x04 |
#define | BN_FLG_FREE 0x8000 |
#define | BN_set_flags(b, n) ((b)->flags|=(n)) |
#define | BN_get_flags(b, n) ((b)->flags&(n)) |
#define | BN_with_flags(dest, b, n) |
#define | BN_GENCB_set_old(gencb, callback, cb_arg) |
#define | BN_GENCB_set(gencb, callback, cb_arg) |
#define | BN_prime_checks 0 |
#define | BN_prime_checks_for_size(b) |
#define | BN_num_bytes(a) ((BN_num_bits(a)+7)/8) |
#define | BN_abs_is_word(a, w) |
#define | BN_is_zero(a) ((a)->top == 0) |
#define | BN_is_one(a) (BN_abs_is_word((a),1) && !(a)->neg) |
#define | BN_is_word(a, w) (BN_abs_is_word((a),(w)) && (!(w) || !(a)->neg)) |
#define | BN_is_odd(a) (((a)->top > 0) && ((a)->d[0] & 1)) |
#define | BN_one(a) (BN_set_word((a),1)) |
#define | BN_zero_ex(a) |
#define | BN_zero(a) (BN_set_word((a),0)) |
#define | BN_is_negative(a) ((a)->neg != 0) |
| BN_is_negative returns 1 if the BIGNUM is negative.
|
#define | BN_mod(rem, m, d, ctx) BN_div(NULL,(rem),(m),(d),(ctx)) |
#define | BN_to_montgomery(r, a, mont, ctx) |
#define | BN_BLINDING_NO_UPDATE 0x00000001 |
#define | BN_BLINDING_NO_RECREATE 0x00000002 |
#define | BN_GF2m_sub(r, a, b) BN_GF2m_add(r, a, b) |
#define | BN_GF2m_cmp(a, b) BN_ucmp((a), (b)) |
#define | bn_expand(a, bits) |
#define | bn_wexpand(a, words) (((words) <= (a)->dmax)?(a):bn_expand2((a),(words))) |
#define | bn_pollute(a) |
#define | bn_check_top(a) |
#define | bn_fix_top(a) bn_correct_top(a) |
#define | bn_correct_top(a) |
#define | BN_F_BNRAND 127 |
#define | BN_F_BN_BLINDING_CONVERT_EX 100 |
#define | BN_F_BN_BLINDING_CREATE_PARAM 128 |
#define | BN_F_BN_BLINDING_INVERT_EX 101 |
#define | BN_F_BN_BLINDING_NEW 102 |
#define | BN_F_BN_BLINDING_UPDATE 103 |
#define | BN_F_BN_BN2DEC 104 |
#define | BN_F_BN_BN2HEX 105 |
#define | BN_F_BN_CTX_GET 116 |
#define | BN_F_BN_CTX_NEW 106 |
#define | BN_F_BN_CTX_START 129 |
#define | BN_F_BN_DIV 107 |
#define | BN_F_BN_DIV_RECP 130 |
#define | BN_F_BN_EXP 123 |
#define | BN_F_BN_EXPAND2 108 |
#define | BN_F_BN_EXPAND_INTERNAL 120 |
#define | BN_F_BN_GF2M_MOD 131 |
#define | BN_F_BN_GF2M_MOD_EXP 132 |
#define | BN_F_BN_GF2M_MOD_MUL 133 |
#define | BN_F_BN_GF2M_MOD_SOLVE_QUAD 134 |
#define | BN_F_BN_GF2M_MOD_SOLVE_QUAD_ARR 135 |
#define | BN_F_BN_GF2M_MOD_SQR 136 |
#define | BN_F_BN_GF2M_MOD_SQRT 137 |
#define | BN_F_BN_MOD_EXP2_MONT 118 |
#define | BN_F_BN_MOD_EXP_MONT 109 |
#define | BN_F_BN_MOD_EXP_MONT_CONSTTIME 124 |
#define | BN_F_BN_MOD_EXP_MONT_WORD 117 |
#define | BN_F_BN_MOD_EXP_RECP 125 |
#define | BN_F_BN_MOD_EXP_SIMPLE 126 |
#define | BN_F_BN_MOD_INVERSE 110 |
#define | BN_F_BN_MOD_LSHIFT_QUICK 119 |
#define | BN_F_BN_MOD_MUL_RECIPROCAL 111 |
#define | BN_F_BN_MOD_SQRT 121 |
#define | BN_F_BN_MPI2BN 112 |
#define | BN_F_BN_NEW 113 |
#define | BN_F_BN_RAND 114 |
#define | BN_F_BN_RAND_RANGE 122 |
#define | BN_F_BN_USUB 115 |
#define | BN_R_ARG2_LT_ARG3 100 |
#define | BN_R_BAD_RECIPROCAL 101 |
#define | BN_R_BIGNUM_TOO_LONG 114 |
#define | BN_R_CALLED_WITH_EVEN_MODULUS 102 |
#define | BN_R_DIV_BY_ZERO 103 |
#define | BN_R_ENCODING_ERROR 104 |
#define | BN_R_EXPAND_ON_STATIC_BIGNUM_DATA 105 |
#define | BN_R_INPUT_NOT_REDUCED 110 |
#define | BN_R_INVALID_LENGTH 106 |
#define | BN_R_INVALID_RANGE 115 |
#define | BN_R_NOT_A_SQUARE 111 |
#define | BN_R_NOT_INITIALIZED 107 |
#define | BN_R_NO_INVERSE 108 |
#define | BN_R_NO_SOLUTION 116 |
#define | BN_R_P_IS_NOT_PRIME 112 |
#define | BN_R_TOO_MANY_ITERATIONS 113 |
#define | BN_R_TOO_MANY_TEMPORARY_VARIABLES 109 |
Functions |
int | BN_GENCB_call (BN_GENCB *cb, int a, int b) |
const BIGNUM * | BN_value_one (void) |
char * | BN_options (void) |
BN_CTX * | BN_CTX_new (void) |
void | BN_CTX_init (BN_CTX *c) |
void | BN_CTX_free (BN_CTX *c) |
void | BN_CTX_start (BN_CTX *ctx) |
BIGNUM * | BN_CTX_get (BN_CTX *ctx) |
void | BN_CTX_end (BN_CTX *ctx) |
int | BN_rand (BIGNUM *rnd, int bits, int top, int bottom) |
int | BN_pseudo_rand (BIGNUM *rnd, int bits, int top, int bottom) |
int | BN_rand_range (BIGNUM *rnd, BIGNUM *range) |
int | BN_pseudo_rand_range (BIGNUM *rnd, BIGNUM *range) |
int | BN_num_bits (const BIGNUM *a) |
int | BN_num_bits_word (BN_ULONG) |
BIGNUM * | BN_new (void) |
void | BN_init (BIGNUM *) |
void | BN_clear_free (BIGNUM *a) |
BIGNUM * | BN_copy (BIGNUM *a, const BIGNUM *b) |
void | BN_swap (BIGNUM *a, BIGNUM *b) |
BIGNUM * | BN_bin2bn (const unsigned char *s, int len, BIGNUM *ret) |
int | BN_bn2bin (const BIGNUM *a, unsigned char *to) |
BIGNUM * | BN_mpi2bn (const unsigned char *s, int len, BIGNUM *ret) |
int | BN_bn2mpi (const BIGNUM *a, unsigned char *to) |
int | BN_sub (BIGNUM *r, const BIGNUM *a, const BIGNUM *b) |
int | BN_usub (BIGNUM *r, const BIGNUM *a, const BIGNUM *b) |
int | BN_uadd (BIGNUM *r, const BIGNUM *a, const BIGNUM *b) |
int | BN_add (BIGNUM *r, const BIGNUM *a, const BIGNUM *b) |
int | BN_mul (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) |
int | BN_sqr (BIGNUM *r, const BIGNUM *a, BN_CTX *ctx) |
void | BN_set_negative (BIGNUM *b, int n) |
| BN_set_negative sets sign of a BIGNUM.
|
int | BN_div (BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx) |
int | BN_nnmod (BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx) |
int | BN_mod_add (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx) |
int | BN_mod_add_quick (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m) |
int | BN_mod_sub (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx) |
int | BN_mod_sub_quick (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m) |
int | BN_mod_mul (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx) |
int | BN_mod_sqr (BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx) |
int | BN_mod_lshift1 (BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx) |
int | BN_mod_lshift1_quick (BIGNUM *r, const BIGNUM *a, const BIGNUM *m) |
int | BN_mod_lshift (BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m, BN_CTX *ctx) |
int | BN_mod_lshift_quick (BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m) |
BN_ULONG | BN_mod_word (const BIGNUM *a, BN_ULONG w) |
BN_ULONG | BN_div_word (BIGNUM *a, BN_ULONG w) |
int | BN_mul_word (BIGNUM *a, BN_ULONG w) |
int | BN_add_word (BIGNUM *a, BN_ULONG w) |
int | BN_sub_word (BIGNUM *a, BN_ULONG w) |
int | BN_set_word (BIGNUM *a, BN_ULONG w) |
BN_ULONG | BN_get_word (const BIGNUM *a) |
int | BN_cmp (const BIGNUM *a, const BIGNUM *b) |
void | BN_free (BIGNUM *a) |
int | BN_is_bit_set (const BIGNUM *a, int n) |
int | BN_lshift (BIGNUM *r, const BIGNUM *a, int n) |
int | BN_lshift1 (BIGNUM *r, const BIGNUM *a) |
int | BN_exp (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx) |
int | BN_mod_exp (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx) |
int | BN_mod_exp_mont (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx) |
int | BN_mod_exp_mont_consttime (BIGNUM *rr, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont) |
int | BN_mod_exp_mont_word (BIGNUM *r, BN_ULONG a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx) |
int | BN_mod_exp2_mont (BIGNUM *r, const BIGNUM *a1, const BIGNUM *p1, const BIGNUM *a2, const BIGNUM *p2, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx) |
int | BN_mod_exp_simple (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx) |
int | BN_mask_bits (BIGNUM *a, int n) |
int | BN_print_fp (FILE *fp, const BIGNUM *a) |
int | BN_print (void *fp, const BIGNUM *a) |
int | BN_reciprocal (BIGNUM *r, const BIGNUM *m, int len, BN_CTX *ctx) |
int | BN_rshift (BIGNUM *r, const BIGNUM *a, int n) |
int | BN_rshift1 (BIGNUM *r, const BIGNUM *a) |
void | BN_clear (BIGNUM *a) |
BIGNUM * | BN_dup (const BIGNUM *a) |
int | BN_ucmp (const BIGNUM *a, const BIGNUM *b) |
int | BN_set_bit (BIGNUM *a, int n) |
int | BN_clear_bit (BIGNUM *a, int n) |
char * | BN_bn2hex (const BIGNUM *a) |
char * | BN_bn2dec (const BIGNUM *a) |
int | BN_hex2bn (BIGNUM **a, const char *str) |
int | BN_dec2bn (BIGNUM **a, const char *str) |
int | BN_gcd (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) |
int | BN_kronecker (const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) |
BIGNUM * | BN_mod_inverse (BIGNUM *ret, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx) |
BIGNUM * | BN_mod_sqrt (BIGNUM *ret, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx) |
BIGNUM * | BN_generate_prime (BIGNUM *ret, int bits, int safe, const BIGNUM *add, const BIGNUM *rem, void(*callback)(int, int, void *), void *cb_arg) |
int | BN_is_prime (const BIGNUM *p, int nchecks, void(*callback)(int, int, void *), BN_CTX *ctx, void *cb_arg) |
int | BN_is_prime_fasttest (const BIGNUM *p, int nchecks, void(*callback)(int, int, void *), BN_CTX *ctx, void *cb_arg, int do_trial_division) |
int | BN_generate_prime_ex (BIGNUM *ret, int bits, int safe, const BIGNUM *add, const BIGNUM *rem, BN_GENCB *cb) |
int | BN_is_prime_ex (const BIGNUM *p, int nchecks, BN_CTX *ctx, BN_GENCB *cb) |
int | BN_is_prime_fasttest_ex (const BIGNUM *p, int nchecks, BN_CTX *ctx, int do_trial_division, BN_GENCB *cb) |
BN_MONT_CTX * | BN_MONT_CTX_new (void) |
void | BN_MONT_CTX_init (BN_MONT_CTX *ctx) |
int | BN_mod_mul_montgomery (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_MONT_CTX *mont, BN_CTX *ctx) |
int | BN_from_montgomery (BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont, BN_CTX *ctx) |
void | BN_MONT_CTX_free (BN_MONT_CTX *mont) |
int | BN_MONT_CTX_set (BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx) |
BN_MONT_CTX * | BN_MONT_CTX_copy (BN_MONT_CTX *to, BN_MONT_CTX *from) |
BN_MONT_CTX * | BN_MONT_CTX_set_locked (BN_MONT_CTX **pmont, int lock, const BIGNUM *mod, BN_CTX *ctx) |
BN_BLINDING * | BN_BLINDING_new (const BIGNUM *A, const BIGNUM *Ai, BIGNUM *mod) |
void | BN_BLINDING_free (BN_BLINDING *b) |
int | BN_BLINDING_update (BN_BLINDING *b, BN_CTX *ctx) |
int | BN_BLINDING_convert (BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx) |
int | BN_BLINDING_invert (BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx) |
int | BN_BLINDING_convert_ex (BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *) |
int | BN_BLINDING_invert_ex (BIGNUM *n, const BIGNUM *r, BN_BLINDING *b, BN_CTX *) |
unsigned long | BN_BLINDING_get_thread_id (const BN_BLINDING *) |
void | BN_BLINDING_set_thread_id (BN_BLINDING *, unsigned long) |
unsigned long | BN_BLINDING_get_flags (const BN_BLINDING *) |
void | BN_BLINDING_set_flags (BN_BLINDING *, unsigned long) |
BN_BLINDING * | BN_BLINDING_create_param (BN_BLINDING *b, const BIGNUM *e, BIGNUM *m, BN_CTX *ctx, int(*bn_mod_exp)(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx), BN_MONT_CTX *m_ctx) |
void | BN_set_params (int mul, int high, int low, int mont) |
int | BN_get_params (int which) |
void | BN_RECP_CTX_init (BN_RECP_CTX *recp) |
BN_RECP_CTX * | BN_RECP_CTX_new (void) |
void | BN_RECP_CTX_free (BN_RECP_CTX *recp) |
int | BN_RECP_CTX_set (BN_RECP_CTX *recp, const BIGNUM *rdiv, BN_CTX *ctx) |
int | BN_mod_mul_reciprocal (BIGNUM *r, const BIGNUM *x, const BIGNUM *y, BN_RECP_CTX *recp, BN_CTX *ctx) |
int | BN_mod_exp_recp (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx) |
int | BN_div_recp (BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, BN_RECP_CTX *recp, BN_CTX *ctx) |
int | BN_GF2m_add (BIGNUM *r, const BIGNUM *a, const BIGNUM *b) |
int | BN_GF2m_mod (BIGNUM *r, const BIGNUM *a, const BIGNUM *p) |
int | BN_GF2m_mod_mul (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx) |
int | BN_GF2m_mod_sqr (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx) |
int | BN_GF2m_mod_inv (BIGNUM *r, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx) |
int | BN_GF2m_mod_div (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx) |
int | BN_GF2m_mod_exp (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx) |
int | BN_GF2m_mod_sqrt (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx) |
int | BN_GF2m_mod_solve_quad (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx) |
int | BN_GF2m_mod_arr (BIGNUM *r, const BIGNUM *a, const unsigned int p[]) |
int | BN_GF2m_mod_mul_arr (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const unsigned int p[], BN_CTX *ctx) |
int | BN_GF2m_mod_sqr_arr (BIGNUM *r, const BIGNUM *a, const unsigned int p[], BN_CTX *ctx) |
int | BN_GF2m_mod_inv_arr (BIGNUM *r, const BIGNUM *b, const unsigned int p[], BN_CTX *ctx) |
int | BN_GF2m_mod_div_arr (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const unsigned int p[], BN_CTX *ctx) |
int | BN_GF2m_mod_exp_arr (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const unsigned int p[], BN_CTX *ctx) |
int | BN_GF2m_mod_sqrt_arr (BIGNUM *r, const BIGNUM *a, const unsigned int p[], BN_CTX *ctx) |
int | BN_GF2m_mod_solve_quad_arr (BIGNUM *r, const BIGNUM *a, const unsigned int p[], BN_CTX *ctx) |
int | BN_GF2m_poly2arr (const BIGNUM *a, unsigned int p[], int max) |
int | BN_GF2m_arr2poly (const unsigned int p[], BIGNUM *a) |
int | BN_nist_mod_192 (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx) |
int | BN_nist_mod_224 (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx) |
int | BN_nist_mod_256 (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx) |
int | BN_nist_mod_384 (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx) |
int | BN_nist_mod_521 (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx) |
const BIGNUM * | BN_get0_nist_prime_192 (void) |
const BIGNUM * | BN_get0_nist_prime_224 (void) |
const BIGNUM * | BN_get0_nist_prime_256 (void) |
const BIGNUM * | BN_get0_nist_prime_384 (void) |
const BIGNUM * | BN_get0_nist_prime_521 (void) |
BIGNUM * | bn_expand2 (BIGNUM *a, int words) |
BIGNUM * | bn_dup_expand (const BIGNUM *a, int words) |
BN_ULONG | bn_mul_add_words (BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w) |
BN_ULONG | bn_mul_words (BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w) |
void | bn_sqr_words (BN_ULONG *rp, const BN_ULONG *ap, int num) |
BN_ULONG | bn_div_words (BN_ULONG h, BN_ULONG l, BN_ULONG d) |
BN_ULONG | bn_add_words (BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, int num) |
BN_ULONG | bn_sub_words (BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, int num) |
BIGNUM * | get_rfc2409_prime_768 (BIGNUM *bn) |
BIGNUM * | get_rfc2409_prime_1024 (BIGNUM *bn) |
BIGNUM * | get_rfc3526_prime_1536 (BIGNUM *bn) |
BIGNUM * | get_rfc3526_prime_2048 (BIGNUM *bn) |
BIGNUM * | get_rfc3526_prime_3072 (BIGNUM *bn) |
BIGNUM * | get_rfc3526_prime_4096 (BIGNUM *bn) |
BIGNUM * | get_rfc3526_prime_6144 (BIGNUM *bn) |
BIGNUM * | get_rfc3526_prime_8192 (BIGNUM *bn) |
int | BN_bntest_rand (BIGNUM *rnd, int bits, int top, int bottom) |
void | ERR_load_BN_strings (void) |