webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Macros | Functions
bn.h File Reference
#include <openssl/base.h>
#include <openssl/thread.h>
#include <inttypes.h>
#include <stdio.h>

Go to the source code of this file.

Classes

struct  bn_gencb_st
 
struct  bignum_st
 
struct  bn_mont_ctx_st
 

Macros

#define BN_mod(rem, numerator, divisor, ctx)   BN_div(NULL, (rem), (numerator), (divisor), (ctx))
 
#define BN_RAND_TOP_ANY   -1
 
#define BN_RAND_TOP_ONE   0
 
#define BN_RAND_TOP_TWO   1
 
#define BN_RAND_BOTTOM_ANY   0
 
#define BN_RAND_BOTTOM_ODD   1
 
#define BN_GENCB_GENERATED   0
 
#define BN_GENCB_PRIME_TEST   1
 
#define BN_prime_checks   0
 
#define BN_FLG_MALLOCED   0x01
 
#define BN_FLG_STATIC_DATA   0x02
 
#define BN_FLG_CONSTTIME   0x04
 
#define BN_R_ARG2_LT_ARG3   100
 
#define BN_R_BAD_RECIPROCAL   101
 
#define BN_R_BIGNUM_TOO_LONG   102
 
#define BN_R_BITS_TOO_SMALL   103
 
#define BN_R_CALLED_WITH_EVEN_MODULUS   104
 
#define BN_R_DIV_BY_ZERO   105
 
#define BN_R_EXPAND_ON_STATIC_BIGNUM_DATA   106
 
#define BN_R_INPUT_NOT_REDUCED   107
 
#define BN_R_INVALID_RANGE   108
 
#define BN_R_NEGATIVE_NUMBER   109
 
#define BN_R_NOT_A_SQUARE   110
 
#define BN_R_NOT_INITIALIZED   111
 
#define BN_R_NO_INVERSE   112
 
#define BN_R_PRIVATE_KEY_TOO_LARGE   113
 
#define BN_R_P_IS_NOT_PRIME   114
 
#define BN_R_TOO_MANY_ITERATIONS   115
 
#define BN_R_TOO_MANY_TEMPORARY_VARIABLES   116
 
#define BN_R_BAD_ENCODING   117
 
#define BN_R_ENCODE_ERROR   118
 

Functions

OPENSSL_EXPORT BIGNUMBN_new (void)
 
OPENSSL_EXPORT void BN_init (BIGNUM *bn)
 
OPENSSL_EXPORT void BN_free (BIGNUM *bn)
 
OPENSSL_EXPORT void BN_clear_free (BIGNUM *bn)
 
OPENSSL_EXPORT BIGNUMBN_dup (const BIGNUM *src)
 
OPENSSL_EXPORT BIGNUMBN_copy (BIGNUM *dest, const BIGNUM *src)
 
OPENSSL_EXPORT void BN_clear (BIGNUM *bn)
 
OPENSSL_EXPORT const BIGNUMBN_value_one (void)
 
OPENSSL_EXPORT void BN_with_flags (BIGNUM *out, const BIGNUM *in, int flags)
 
OPENSSL_EXPORT unsigned BN_num_bits (const BIGNUM *bn)
 
OPENSSL_EXPORT unsigned BN_num_bytes (const BIGNUM *bn)
 
OPENSSL_EXPORT void BN_zero (BIGNUM *bn)
 
OPENSSL_EXPORT int BN_one (BIGNUM *bn)
 
OPENSSL_EXPORT int BN_set_word (BIGNUM *bn, BN_ULONG value)
 
OPENSSL_EXPORT int BN_set_u64 (BIGNUM *bn, uint64_t value)
 
OPENSSL_EXPORT void BN_set_negative (BIGNUM *bn, int sign)
 
OPENSSL_EXPORT int BN_is_negative (const BIGNUM *bn)
 
OPENSSL_EXPORT int BN_get_flags (const BIGNUM *bn, int flags)
 
OPENSSL_EXPORT void BN_set_flags (BIGNUM *bn, int flags)
 
OPENSSL_EXPORT BIGNUMBN_bin2bn (const uint8_t *in, size_t len, BIGNUM *ret)
 
OPENSSL_EXPORT size_t BN_bn2bin (const BIGNUM *in, uint8_t *out)
 
OPENSSL_EXPORT int BN_bn2bin_padded (uint8_t *out, size_t len, const BIGNUM *in)
 
OPENSSL_EXPORT int BN_bn2cbb_padded (CBB *out, size_t len, const BIGNUM *in)
 
OPENSSL_EXPORT char * BN_bn2hex (const BIGNUM *bn)
 
OPENSSL_EXPORT int BN_hex2bn (BIGNUM **outp, const char *in)
 
OPENSSL_EXPORT char * BN_bn2dec (const BIGNUM *a)
 
OPENSSL_EXPORT int BN_dec2bn (BIGNUM **outp, const char *in)
 
OPENSSL_EXPORT int BN_asc2bn (BIGNUM **outp, const char *in)
 
OPENSSL_EXPORT int BN_print (BIO *bio, const BIGNUM *a)
 
OPENSSL_EXPORT int BN_print_fp (FILE *fp, const BIGNUM *a)
 
OPENSSL_EXPORT BN_ULONG BN_get_word (const BIGNUM *bn)
 
OPENSSL_EXPORT int BN_parse_asn1_unsigned (CBS *cbs, BIGNUM *ret)
 
OPENSSL_EXPORT int BN_parse_asn1_unsigned_buggy (CBS *cbs, BIGNUM *ret)
 
OPENSSL_EXPORT int BN_marshal_asn1 (CBB *cbb, const BIGNUM *bn)
 
OPENSSL_EXPORT void bn_correct_top (BIGNUM *bn)
 
OPENSSL_EXPORT BIGNUMbn_wexpand (BIGNUM *bn, size_t words)
 
OPENSSL_EXPORT BN_CTXBN_CTX_new (void)
 
OPENSSL_EXPORT void BN_CTX_free (BN_CTX *ctx)
 
OPENSSL_EXPORT void BN_CTX_start (BN_CTX *ctx)
 
OPENSSL_EXPORT BIGNUMBN_CTX_get (BN_CTX *ctx)
 
OPENSSL_EXPORT void BN_CTX_end (BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_add (BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
 
OPENSSL_EXPORT int BN_uadd (BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
 
OPENSSL_EXPORT int BN_add_word (BIGNUM *a, BN_ULONG w)
 
OPENSSL_EXPORT int BN_sub (BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
 
OPENSSL_EXPORT int BN_usub (BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
 
OPENSSL_EXPORT int BN_sub_word (BIGNUM *a, BN_ULONG w)
 
OPENSSL_EXPORT int BN_mul (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_mul_word (BIGNUM *bn, BN_ULONG w)
 
OPENSSL_EXPORT int BN_sqr (BIGNUM *r, const BIGNUM *a, BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_div (BIGNUM *quotient, BIGNUM *rem, const BIGNUM *numerator, const BIGNUM *divisor, BN_CTX *ctx)
 
OPENSSL_EXPORT BN_ULONG BN_div_word (BIGNUM *numerator, BN_ULONG divisor)
 
OPENSSL_EXPORT int BN_sqrt (BIGNUM *out_sqrt, const BIGNUM *in, BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_cmp (const BIGNUM *a, const BIGNUM *b)
 
OPENSSL_EXPORT int BN_cmp_word (const BIGNUM *a, BN_ULONG b)
 
OPENSSL_EXPORT int BN_ucmp (const BIGNUM *a, const BIGNUM *b)
 
OPENSSL_EXPORT int BN_equal_consttime (const BIGNUM *a, const BIGNUM *b)
 
OPENSSL_EXPORT int BN_abs_is_word (const BIGNUM *bn, BN_ULONG w)
 
OPENSSL_EXPORT int BN_is_zero (const BIGNUM *bn)
 
OPENSSL_EXPORT int BN_is_one (const BIGNUM *bn)
 
OPENSSL_EXPORT int BN_is_word (const BIGNUM *bn, BN_ULONG w)
 
OPENSSL_EXPORT int BN_is_odd (const BIGNUM *bn)
 
OPENSSL_EXPORT int BN_lshift (BIGNUM *r, const BIGNUM *a, int n)
 
OPENSSL_EXPORT int BN_lshift1 (BIGNUM *r, const BIGNUM *a)
 
OPENSSL_EXPORT int BN_rshift (BIGNUM *r, const BIGNUM *a, int n)
 
OPENSSL_EXPORT int BN_rshift1 (BIGNUM *r, const BIGNUM *a)
 
OPENSSL_EXPORT int BN_set_bit (BIGNUM *a, int n)
 
OPENSSL_EXPORT int BN_clear_bit (BIGNUM *a, int n)
 
OPENSSL_EXPORT int BN_is_bit_set (const BIGNUM *a, int n)
 
OPENSSL_EXPORT int BN_mask_bits (BIGNUM *a, int n)
 
OPENSSL_EXPORT BN_ULONG BN_mod_word (const BIGNUM *a, BN_ULONG w)
 
OPENSSL_EXPORT int BN_nnmod (BIGNUM *rem, const BIGNUM *numerator, const BIGNUM *divisor, BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_mod_add (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_mod_add_quick (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m)
 
OPENSSL_EXPORT int BN_mod_sub (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_mod_sub_quick (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m)
 
OPENSSL_EXPORT int BN_mod_mul (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_mod_sqr (BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_mod_lshift (BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m, BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_mod_lshift_quick (BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m)
 
OPENSSL_EXPORT int BN_mod_lshift1 (BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_mod_lshift1_quick (BIGNUM *r, const BIGNUM *a, const BIGNUM *m)
 
OPENSSL_EXPORT BIGNUMBN_mod_sqrt (BIGNUM *in, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_rand (BIGNUM *rnd, int bits, int top, int bottom)
 
OPENSSL_EXPORT int BN_pseudo_rand (BIGNUM *rnd, int bits, int top, int bottom)
 
OPENSSL_EXPORT int BN_rand_range (BIGNUM *rnd, const BIGNUM *range)
 
OPENSSL_EXPORT int BN_rand_range_ex (BIGNUM *r, BN_ULONG min_inclusive, const BIGNUM *max_exclusive)
 
OPENSSL_EXPORT int BN_pseudo_rand_range (BIGNUM *rnd, const BIGNUM *range)
 
OPENSSL_EXPORT int BN_generate_dsa_nonce (BIGNUM *out, const BIGNUM *range, const BIGNUM *priv, const uint8_t *message, size_t message_len, BN_CTX *ctx)
 
OPENSSL_EXPORT void BN_GENCB_set (BN_GENCB *callback, int(*f)(int event, int n, struct bn_gencb_st *), void *arg)
 
OPENSSL_EXPORT int BN_GENCB_call (BN_GENCB *callback, int event, int n)
 
OPENSSL_EXPORT int BN_generate_prime_ex (BIGNUM *ret, int bits, int safe, const BIGNUM *add, const BIGNUM *rem, BN_GENCB *cb)
 
OPENSSL_EXPORT int BN_primality_test (int *is_probably_prime, const BIGNUM *candidate, int checks, BN_CTX *ctx, int do_trial_division, BN_GENCB *cb)
 
OPENSSL_EXPORT int BN_is_prime_fasttest_ex (const BIGNUM *candidate, int checks, BN_CTX *ctx, int do_trial_division, BN_GENCB *cb)
 
OPENSSL_EXPORT int BN_is_prime_ex (const BIGNUM *candidate, int checks, BN_CTX *ctx, BN_GENCB *cb)
 
OPENSSL_EXPORT int BN_gcd (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
 
OPENSSL_EXPORT BIGNUMBN_mod_inverse (BIGNUM *out, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx)
 
int BN_mod_inverse_blinded (BIGNUM *out, int *out_no_inverse, const BIGNUM *a, const BN_MONT_CTX *mont, BN_CTX *ctx)
 
int BN_mod_inverse_odd (BIGNUM *out, int *out_no_inverse, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_kronecker (const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
 
OPENSSL_EXPORT BN_MONT_CTXBN_MONT_CTX_new (void)
 
OPENSSL_EXPORT void BN_MONT_CTX_free (BN_MONT_CTX *mont)
 
OPENSSL_EXPORT BN_MONT_CTXBN_MONT_CTX_copy (BN_MONT_CTX *to, const BN_MONT_CTX *from)
 
OPENSSL_EXPORT int BN_MONT_CTX_set (BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx)
 
int BN_MONT_CTX_set_locked (BN_MONT_CTX **pmont, CRYPTO_MUTEX *lock, const BIGNUM *mod, BN_CTX *bn_ctx)
 
OPENSSL_EXPORT int BN_to_montgomery (BIGNUM *ret, const BIGNUM *a, const BN_MONT_CTX *mont, BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_from_montgomery (BIGNUM *ret, const BIGNUM *a, const BN_MONT_CTX *mont, BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_mod_mul_montgomery (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BN_MONT_CTX *mont, BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_exp (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_mod_exp (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx)
 
OPENSSL_EXPORT int BN_mod_exp_mont (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, const BN_MONT_CTX *mont)
 
OPENSSL_EXPORT int BN_mod_exp_mont_consttime (BIGNUM *rr, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, const BN_MONT_CTX *mont)
 
OPENSSL_EXPORT size_t BN_bn2mpi (const BIGNUM *in, uint8_t *out)
 
OPENSSL_EXPORT BIGNUMBN_mpi2bn (const uint8_t *in, size_t len, BIGNUM *out)
 
OPENSSL_EXPORT int BN_mod_exp_mont_word (BIGNUM *r, BN_ULONG a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, const BN_MONT_CTX *mont)
 
OPENSSL_EXPORT 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, const BN_MONT_CTX *mont)
 
OPENSSL_EXPORT unsigned BN_num_bits_word (BN_ULONG l)
 

Macro Definition Documentation

◆ BN_FLG_CONSTTIME

#define BN_FLG_CONSTTIME   0x04

◆ BN_FLG_MALLOCED

#define BN_FLG_MALLOCED   0x01

◆ BN_FLG_STATIC_DATA

#define BN_FLG_STATIC_DATA   0x02

◆ BN_GENCB_GENERATED

#define BN_GENCB_GENERATED   0

◆ BN_GENCB_PRIME_TEST

#define BN_GENCB_PRIME_TEST   1

◆ BN_mod

#define BN_mod (   rem,
  numerator,
  divisor,
  ctx 
)    BN_div(NULL, (rem), (numerator), (divisor), (ctx))

◆ BN_prime_checks

#define BN_prime_checks   0

◆ BN_R_ARG2_LT_ARG3

#define BN_R_ARG2_LT_ARG3   100

◆ BN_R_BAD_ENCODING

#define BN_R_BAD_ENCODING   117

◆ BN_R_BAD_RECIPROCAL

#define BN_R_BAD_RECIPROCAL   101

◆ BN_R_BIGNUM_TOO_LONG

#define BN_R_BIGNUM_TOO_LONG   102

◆ BN_R_BITS_TOO_SMALL

#define BN_R_BITS_TOO_SMALL   103

◆ BN_R_CALLED_WITH_EVEN_MODULUS

#define BN_R_CALLED_WITH_EVEN_MODULUS   104

◆ BN_R_DIV_BY_ZERO

#define BN_R_DIV_BY_ZERO   105

◆ BN_R_ENCODE_ERROR

#define BN_R_ENCODE_ERROR   118

◆ BN_R_EXPAND_ON_STATIC_BIGNUM_DATA

#define BN_R_EXPAND_ON_STATIC_BIGNUM_DATA   106

◆ BN_R_INPUT_NOT_REDUCED

#define BN_R_INPUT_NOT_REDUCED   107

◆ BN_R_INVALID_RANGE

#define BN_R_INVALID_RANGE   108

◆ BN_R_NEGATIVE_NUMBER

#define BN_R_NEGATIVE_NUMBER   109

◆ BN_R_NO_INVERSE

#define BN_R_NO_INVERSE   112

◆ BN_R_NOT_A_SQUARE

#define BN_R_NOT_A_SQUARE   110

◆ BN_R_NOT_INITIALIZED

#define BN_R_NOT_INITIALIZED   111

◆ BN_R_P_IS_NOT_PRIME

#define BN_R_P_IS_NOT_PRIME   114

◆ BN_R_PRIVATE_KEY_TOO_LARGE

#define BN_R_PRIVATE_KEY_TOO_LARGE   113

◆ BN_R_TOO_MANY_ITERATIONS

#define BN_R_TOO_MANY_ITERATIONS   115

◆ BN_R_TOO_MANY_TEMPORARY_VARIABLES

#define BN_R_TOO_MANY_TEMPORARY_VARIABLES   116

◆ BN_RAND_BOTTOM_ANY

#define BN_RAND_BOTTOM_ANY   0

◆ BN_RAND_BOTTOM_ODD

#define BN_RAND_BOTTOM_ODD   1

◆ BN_RAND_TOP_ANY

#define BN_RAND_TOP_ANY   -1

◆ BN_RAND_TOP_ONE

#define BN_RAND_TOP_ONE   0

◆ BN_RAND_TOP_TWO

#define BN_RAND_TOP_TWO   1

Function Documentation

◆ BN_abs_is_word()

OPENSSL_EXPORT int BN_abs_is_word ( const BIGNUM bn,
BN_ULONG  w 
)

◆ BN_add()

OPENSSL_EXPORT int BN_add ( BIGNUM r,
const BIGNUM a,
const BIGNUM b 
)

◆ BN_add_word()

OPENSSL_EXPORT int BN_add_word ( BIGNUM a,
BN_ULONG  w 
)

◆ BN_asc2bn()

OPENSSL_EXPORT int BN_asc2bn ( BIGNUM **  outp,
const char *  in 
)

◆ BN_bin2bn()

OPENSSL_EXPORT BIGNUM* BN_bin2bn ( const uint8_t in,
size_t  len,
BIGNUM ret 
)

◆ BN_bn2bin()

OPENSSL_EXPORT size_t BN_bn2bin ( const BIGNUM in,
uint8_t out 
)

◆ BN_bn2bin_padded()

OPENSSL_EXPORT int BN_bn2bin_padded ( uint8_t out,
size_t  len,
const BIGNUM in 
)

◆ BN_bn2cbb_padded()

OPENSSL_EXPORT int BN_bn2cbb_padded ( CBB out,
size_t  len,
const BIGNUM in 
)

◆ BN_bn2dec()

OPENSSL_EXPORT char* BN_bn2dec ( const BIGNUM a)

◆ BN_bn2hex()

OPENSSL_EXPORT char* BN_bn2hex ( const BIGNUM bn)

◆ BN_bn2mpi()

OPENSSL_EXPORT size_t BN_bn2mpi ( const BIGNUM in,
uint8_t out 
)

◆ BN_clear()

OPENSSL_EXPORT void BN_clear ( BIGNUM bn)

◆ BN_clear_bit()

OPENSSL_EXPORT int BN_clear_bit ( BIGNUM a,
int  n 
)

◆ BN_clear_free()

OPENSSL_EXPORT void BN_clear_free ( BIGNUM bn)

◆ BN_cmp()

OPENSSL_EXPORT int BN_cmp ( const BIGNUM a,
const BIGNUM b 
)

◆ BN_cmp_word()

OPENSSL_EXPORT int BN_cmp_word ( const BIGNUM a,
BN_ULONG  b 
)

◆ BN_copy()

OPENSSL_EXPORT BIGNUM* BN_copy ( BIGNUM dest,
const BIGNUM src 
)

◆ bn_correct_top()

OPENSSL_EXPORT void bn_correct_top ( BIGNUM bn)

◆ BN_CTX_end()

OPENSSL_EXPORT void BN_CTX_end ( BN_CTX ctx)

◆ BN_CTX_free()

OPENSSL_EXPORT void BN_CTX_free ( BN_CTX ctx)

◆ BN_CTX_get()

OPENSSL_EXPORT BIGNUM* BN_CTX_get ( BN_CTX ctx)

◆ BN_CTX_new()

OPENSSL_EXPORT BN_CTX* BN_CTX_new ( void  )

◆ BN_CTX_start()

OPENSSL_EXPORT void BN_CTX_start ( BN_CTX ctx)

◆ BN_dec2bn()

OPENSSL_EXPORT int BN_dec2bn ( BIGNUM **  outp,
const char *  in 
)

◆ BN_div()

OPENSSL_EXPORT int BN_div ( BIGNUM quotient,
BIGNUM rem,
const BIGNUM numerator,
const BIGNUM divisor,
BN_CTX ctx 
)

◆ BN_div_word()

OPENSSL_EXPORT BN_ULONG BN_div_word ( BIGNUM numerator,
BN_ULONG  divisor 
)

◆ BN_dup()

OPENSSL_EXPORT BIGNUM* BN_dup ( const BIGNUM src)

◆ BN_equal_consttime()

OPENSSL_EXPORT int BN_equal_consttime ( const BIGNUM a,
const BIGNUM b 
)

◆ BN_exp()

OPENSSL_EXPORT int BN_exp ( BIGNUM r,
const BIGNUM a,
const BIGNUM p,
BN_CTX ctx 
)

◆ BN_free()

OPENSSL_EXPORT void BN_free ( BIGNUM bn)

◆ BN_from_montgomery()

OPENSSL_EXPORT int BN_from_montgomery ( BIGNUM ret,
const BIGNUM a,
const BN_MONT_CTX mont,
BN_CTX ctx 
)

◆ BN_gcd()

OPENSSL_EXPORT int BN_gcd ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
BN_CTX ctx 
)

◆ BN_GENCB_call()

OPENSSL_EXPORT int BN_GENCB_call ( BN_GENCB callback,
int  event,
int  n 
)

◆ BN_GENCB_set()

OPENSSL_EXPORT void BN_GENCB_set ( BN_GENCB callback,
int(*)(int event, int n, struct bn_gencb_st *)  f,
void arg 
)

◆ BN_generate_dsa_nonce()

OPENSSL_EXPORT int BN_generate_dsa_nonce ( BIGNUM out,
const BIGNUM range,
const BIGNUM priv,
const uint8_t message,
size_t  message_len,
BN_CTX ctx 
)

◆ BN_generate_prime_ex()

OPENSSL_EXPORT int BN_generate_prime_ex ( BIGNUM ret,
int  bits,
int  safe,
const BIGNUM add,
const BIGNUM rem,
BN_GENCB cb 
)

◆ BN_get_flags()

OPENSSL_EXPORT int BN_get_flags ( const BIGNUM bn,
int  flags 
)

◆ BN_get_word()

OPENSSL_EXPORT BN_ULONG BN_get_word ( const BIGNUM bn)

◆ BN_hex2bn()

OPENSSL_EXPORT int BN_hex2bn ( BIGNUM **  outp,
const char *  in 
)

◆ BN_init()

OPENSSL_EXPORT void BN_init ( BIGNUM bn)

◆ BN_is_bit_set()

OPENSSL_EXPORT int BN_is_bit_set ( const BIGNUM a,
int  n 
)

◆ BN_is_negative()

OPENSSL_EXPORT int BN_is_negative ( const BIGNUM bn)

◆ BN_is_odd()

OPENSSL_EXPORT int BN_is_odd ( const BIGNUM bn)

◆ BN_is_one()

OPENSSL_EXPORT int BN_is_one ( const BIGNUM bn)

◆ BN_is_prime_ex()

OPENSSL_EXPORT int BN_is_prime_ex ( const BIGNUM candidate,
int  checks,
BN_CTX ctx,
BN_GENCB cb 
)

◆ BN_is_prime_fasttest_ex()

OPENSSL_EXPORT int BN_is_prime_fasttest_ex ( const BIGNUM candidate,
int  checks,
BN_CTX ctx,
int  do_trial_division,
BN_GENCB cb 
)

◆ BN_is_word()

OPENSSL_EXPORT int BN_is_word ( const BIGNUM bn,
BN_ULONG  w 
)

◆ BN_is_zero()

OPENSSL_EXPORT int BN_is_zero ( const BIGNUM bn)

◆ BN_kronecker()

OPENSSL_EXPORT int BN_kronecker ( const BIGNUM a,
const BIGNUM b,
BN_CTX ctx 
)

◆ BN_lshift()

OPENSSL_EXPORT int BN_lshift ( BIGNUM r,
const BIGNUM a,
int  n 
)

◆ BN_lshift1()

OPENSSL_EXPORT int BN_lshift1 ( BIGNUM r,
const BIGNUM a 
)

◆ BN_marshal_asn1()

OPENSSL_EXPORT int BN_marshal_asn1 ( CBB cbb,
const BIGNUM bn 
)

◆ BN_mask_bits()

OPENSSL_EXPORT int BN_mask_bits ( BIGNUM a,
int  n 
)

◆ BN_mod_add()

OPENSSL_EXPORT int BN_mod_add ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
const BIGNUM m,
BN_CTX ctx 
)

◆ BN_mod_add_quick()

OPENSSL_EXPORT int BN_mod_add_quick ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
const BIGNUM m 
)

◆ BN_mod_exp()

OPENSSL_EXPORT int BN_mod_exp ( BIGNUM r,
const BIGNUM a,
const BIGNUM p,
const BIGNUM m,
BN_CTX ctx 
)

◆ BN_mod_exp2_mont()

OPENSSL_EXPORT 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,
const BN_MONT_CTX mont 
)

◆ BN_mod_exp_mont()

OPENSSL_EXPORT int BN_mod_exp_mont ( BIGNUM r,
const BIGNUM a,
const BIGNUM p,
const BIGNUM m,
BN_CTX ctx,
const BN_MONT_CTX mont 
)

◆ BN_mod_exp_mont_consttime()

OPENSSL_EXPORT int BN_mod_exp_mont_consttime ( BIGNUM rr,
const BIGNUM a,
const BIGNUM p,
const BIGNUM m,
BN_CTX ctx,
const BN_MONT_CTX mont 
)

◆ BN_mod_exp_mont_word()

OPENSSL_EXPORT int BN_mod_exp_mont_word ( BIGNUM r,
BN_ULONG  a,
const BIGNUM p,
const BIGNUM m,
BN_CTX ctx,
const BN_MONT_CTX mont 
)

◆ BN_mod_inverse()

OPENSSL_EXPORT BIGNUM* BN_mod_inverse ( BIGNUM out,
const BIGNUM a,
const BIGNUM n,
BN_CTX ctx 
)

◆ BN_mod_inverse_blinded()

int BN_mod_inverse_blinded ( BIGNUM out,
int *  out_no_inverse,
const BIGNUM a,
const BN_MONT_CTX mont,
BN_CTX ctx 
)

◆ BN_mod_inverse_odd()

int BN_mod_inverse_odd ( BIGNUM out,
int *  out_no_inverse,
const BIGNUM a,
const BIGNUM n,
BN_CTX ctx 
)

◆ BN_mod_lshift()

OPENSSL_EXPORT int BN_mod_lshift ( BIGNUM r,
const BIGNUM a,
int  n,
const BIGNUM m,
BN_CTX ctx 
)

◆ BN_mod_lshift1()

OPENSSL_EXPORT int BN_mod_lshift1 ( BIGNUM r,
const BIGNUM a,
const BIGNUM m,
BN_CTX ctx 
)

◆ BN_mod_lshift1_quick()

OPENSSL_EXPORT int BN_mod_lshift1_quick ( BIGNUM r,
const BIGNUM a,
const BIGNUM m 
)

◆ BN_mod_lshift_quick()

OPENSSL_EXPORT int BN_mod_lshift_quick ( BIGNUM r,
const BIGNUM a,
int  n,
const BIGNUM m 
)

◆ BN_mod_mul()

OPENSSL_EXPORT int BN_mod_mul ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
const BIGNUM m,
BN_CTX ctx 
)

◆ BN_mod_mul_montgomery()

OPENSSL_EXPORT int BN_mod_mul_montgomery ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
const BN_MONT_CTX mont,
BN_CTX ctx 
)

◆ BN_mod_sqr()

OPENSSL_EXPORT int BN_mod_sqr ( BIGNUM r,
const BIGNUM a,
const BIGNUM m,
BN_CTX ctx 
)

◆ BN_mod_sqrt()

OPENSSL_EXPORT BIGNUM* BN_mod_sqrt ( BIGNUM in,
const BIGNUM a,
const BIGNUM p,
BN_CTX ctx 
)

◆ BN_mod_sub()

OPENSSL_EXPORT int BN_mod_sub ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
const BIGNUM m,
BN_CTX ctx 
)

◆ BN_mod_sub_quick()

OPENSSL_EXPORT int BN_mod_sub_quick ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
const BIGNUM m 
)

◆ BN_mod_word()

OPENSSL_EXPORT BN_ULONG BN_mod_word ( const BIGNUM a,
BN_ULONG  w 
)

◆ BN_MONT_CTX_copy()

OPENSSL_EXPORT BN_MONT_CTX* BN_MONT_CTX_copy ( BN_MONT_CTX to,
const BN_MONT_CTX from 
)

◆ BN_MONT_CTX_free()

OPENSSL_EXPORT void BN_MONT_CTX_free ( BN_MONT_CTX mont)

◆ BN_MONT_CTX_new()

OPENSSL_EXPORT BN_MONT_CTX* BN_MONT_CTX_new ( void  )

◆ BN_MONT_CTX_set()

OPENSSL_EXPORT int BN_MONT_CTX_set ( BN_MONT_CTX mont,
const BIGNUM mod,
BN_CTX ctx 
)

◆ BN_MONT_CTX_set_locked()

int BN_MONT_CTX_set_locked ( BN_MONT_CTX **  pmont,
CRYPTO_MUTEX lock,
const BIGNUM mod,
BN_CTX bn_ctx 
)

◆ BN_mpi2bn()

OPENSSL_EXPORT BIGNUM* BN_mpi2bn ( const uint8_t in,
size_t  len,
BIGNUM out 
)

◆ BN_mul()

OPENSSL_EXPORT int BN_mul ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
BN_CTX ctx 
)

◆ BN_mul_word()

OPENSSL_EXPORT int BN_mul_word ( BIGNUM bn,
BN_ULONG  w 
)

◆ BN_new()

OPENSSL_EXPORT BIGNUM* BN_new ( void  )

◆ BN_nnmod()

OPENSSL_EXPORT int BN_nnmod ( BIGNUM rem,
const BIGNUM numerator,
const BIGNUM divisor,
BN_CTX ctx 
)

◆ BN_num_bits()

OPENSSL_EXPORT unsigned BN_num_bits ( const BIGNUM bn)

◆ BN_num_bits_word()

OPENSSL_EXPORT unsigned BN_num_bits_word ( BN_ULONG  l)

◆ BN_num_bytes()

OPENSSL_EXPORT unsigned BN_num_bytes ( const BIGNUM bn)

◆ BN_one()

OPENSSL_EXPORT int BN_one ( BIGNUM bn)

◆ BN_parse_asn1_unsigned()

OPENSSL_EXPORT int BN_parse_asn1_unsigned ( CBS cbs,
BIGNUM ret 
)

◆ BN_parse_asn1_unsigned_buggy()

OPENSSL_EXPORT int BN_parse_asn1_unsigned_buggy ( CBS cbs,
BIGNUM ret 
)

◆ BN_primality_test()

OPENSSL_EXPORT int BN_primality_test ( int *  is_probably_prime,
const BIGNUM candidate,
int  checks,
BN_CTX ctx,
int  do_trial_division,
BN_GENCB cb 
)

◆ BN_print()

OPENSSL_EXPORT int BN_print ( BIO bio,
const BIGNUM a 
)

◆ BN_print_fp()

OPENSSL_EXPORT int BN_print_fp ( FILE *  fp,
const BIGNUM a 
)

◆ BN_pseudo_rand()

OPENSSL_EXPORT int BN_pseudo_rand ( BIGNUM rnd,
int  bits,
int  top,
int  bottom 
)

◆ BN_pseudo_rand_range()

OPENSSL_EXPORT int BN_pseudo_rand_range ( BIGNUM rnd,
const BIGNUM range 
)

◆ BN_rand()

OPENSSL_EXPORT int BN_rand ( BIGNUM rnd,
int  bits,
int  top,
int  bottom 
)

◆ BN_rand_range()

OPENSSL_EXPORT int BN_rand_range ( BIGNUM rnd,
const BIGNUM range 
)

◆ BN_rand_range_ex()

OPENSSL_EXPORT int BN_rand_range_ex ( BIGNUM r,
BN_ULONG  min_inclusive,
const BIGNUM max_exclusive 
)

◆ BN_rshift()

OPENSSL_EXPORT int BN_rshift ( BIGNUM r,
const BIGNUM a,
int  n 
)

◆ BN_rshift1()

OPENSSL_EXPORT int BN_rshift1 ( BIGNUM r,
const BIGNUM a 
)

◆ BN_set_bit()

OPENSSL_EXPORT int BN_set_bit ( BIGNUM a,
int  n 
)

◆ BN_set_flags()

OPENSSL_EXPORT void BN_set_flags ( BIGNUM bn,
int  flags 
)

◆ BN_set_negative()

OPENSSL_EXPORT void BN_set_negative ( BIGNUM bn,
int  sign 
)

◆ BN_set_u64()

OPENSSL_EXPORT int BN_set_u64 ( BIGNUM bn,
uint64_t  value 
)

◆ BN_set_word()

OPENSSL_EXPORT int BN_set_word ( BIGNUM bn,
BN_ULONG  value 
)

◆ BN_sqr()

OPENSSL_EXPORT int BN_sqr ( BIGNUM r,
const BIGNUM a,
BN_CTX ctx 
)

◆ BN_sqrt()

OPENSSL_EXPORT int BN_sqrt ( BIGNUM out_sqrt,
const BIGNUM in,
BN_CTX ctx 
)

◆ BN_sub()

OPENSSL_EXPORT int BN_sub ( BIGNUM r,
const BIGNUM a,
const BIGNUM b 
)

◆ BN_sub_word()

OPENSSL_EXPORT int BN_sub_word ( BIGNUM a,
BN_ULONG  w 
)

◆ BN_to_montgomery()

OPENSSL_EXPORT int BN_to_montgomery ( BIGNUM ret,
const BIGNUM a,
const BN_MONT_CTX mont,
BN_CTX ctx 
)

◆ BN_uadd()

OPENSSL_EXPORT int BN_uadd ( BIGNUM r,
const BIGNUM a,
const BIGNUM b 
)

◆ BN_ucmp()

OPENSSL_EXPORT int BN_ucmp ( const BIGNUM a,
const BIGNUM b 
)

◆ BN_usub()

OPENSSL_EXPORT int BN_usub ( BIGNUM r,
const BIGNUM a,
const BIGNUM b 
)

◆ BN_value_one()

OPENSSL_EXPORT const BIGNUM* BN_value_one ( void  )

◆ bn_wexpand()

OPENSSL_EXPORT BIGNUM* bn_wexpand ( BIGNUM bn,
size_t  words 
)

◆ BN_with_flags()

OPENSSL_EXPORT void BN_with_flags ( BIGNUM out,
const BIGNUM in,
int  flags 
)

◆ BN_zero()

OPENSSL_EXPORT void BN_zero ( BIGNUM bn)