OpenSSL  1.0.1c
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
Classes | Macros | Functions
bn.h File Reference
#include <openssl/e_os2.h>
#include <stdio.h>
#include <openssl/ossl_typ.h>
#include <openssl/crypto.h>

Go to the source code of this file.

Classes

struct  bignum_st
 
struct  bn_mont_ctx_st
 
struct  bn_recp_ctx_st
 
struct  bn_gencb_st
 

Macros

#define BN_MUL_COMBA
 
#define BN_SQR_COMBA
 
#define BN_RECURSION
 
#define PTR_SIZE_INT   size_t
 
#define BN_DEFAULT_BITS   1280
 
#define BN_FLG_MALLOCED   0x01
 
#define BN_FLG_STATIC_DATA   0x02
 
#define BN_FLG_CONSTTIME
 
#define BN_FLG_EXP_CONSTTIME   BN_FLG_CONSTTIME /* deprecated name for the flag */
 
#define BN_FLG_FREE   0x8000 /* used for debuging */
 
#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
 
#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)
 
#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_NO_BRANCH   138
 
#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_INVERSE_NO_BRANCH   139
 
#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 BIGNUMBN_value_one (void)
 
char * BN_options (void)
 
BN_CTXBN_CTX_new (void)
 
void BN_CTX_init (BN_CTX *c)
 
void BN_CTX_free (BN_CTX *c)
 
void BN_CTX_start (BN_CTX *ctx)
 
BIGNUMBN_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, const BIGNUM *range)
 
int BN_pseudo_rand_range (BIGNUM *rnd, const BIGNUM *range)
 
int BN_num_bits (const BIGNUM *a)
 
int BN_num_bits_word (BN_ULONG)
 
BIGNUMBN_new (void)
 
void BN_init (BIGNUM *)
 
void BN_clear_free (BIGNUM *a)
 
BIGNUMBN_copy (BIGNUM *a, const BIGNUM *b)
 
void BN_swap (BIGNUM *a, BIGNUM *b)
 
BIGNUMBN_bin2bn (const unsigned char *s, int len, BIGNUM *ret)
 
int BN_bn2bin (const BIGNUM *a, unsigned char *to)
 
BIGNUMBN_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)
 
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)
 
BIGNUMBN_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_asc2bn (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)
 
BIGNUMBN_mod_inverse (BIGNUM *ret, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx)
 
BIGNUMBN_mod_sqrt (BIGNUM *ret, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx)
 
BIGNUMBN_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)
 
int BN_X931_generate_Xpq (BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX *ctx)
 
int BN_X931_derive_prime_ex (BIGNUM *p, BIGNUM *p1, BIGNUM *p2, const BIGNUM *Xp, const BIGNUM *Xp1, const BIGNUM *Xp2, const BIGNUM *e, BN_CTX *ctx, BN_GENCB *cb)
 
int BN_X931_generate_prime_ex (BIGNUM *p, BIGNUM *p1, BIGNUM *p2, BIGNUM *Xp1, BIGNUM *Xp2, const BIGNUM *Xp, const BIGNUM *e, BN_CTX *ctx, BN_GENCB *cb)
 
BN_MONT_CTXBN_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_CTXBN_MONT_CTX_copy (BN_MONT_CTX *to, BN_MONT_CTX *from)
 
BN_MONT_CTXBN_MONT_CTX_set_locked (BN_MONT_CTX **pmont, int lock, const BIGNUM *mod, BN_CTX *ctx)
 
BN_BLINDINGBN_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)
 
CRYPTO_THREADIDBN_BLINDING_thread_id (BN_BLINDING *)
 
unsigned long BN_BLINDING_get_flags (const BN_BLINDING *)
 
void BN_BLINDING_set_flags (BN_BLINDING *, unsigned long)
 
BN_BLINDINGBN_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_CTXBN_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 int p[])
 
int BN_GF2m_mod_mul_arr (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const int p[], BN_CTX *ctx)
 
int BN_GF2m_mod_sqr_arr (BIGNUM *r, const BIGNUM *a, const int p[], BN_CTX *ctx)
 
int BN_GF2m_mod_inv_arr (BIGNUM *r, const BIGNUM *b, const int p[], BN_CTX *ctx)
 
int BN_GF2m_mod_div_arr (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const int p[], BN_CTX *ctx)
 
int BN_GF2m_mod_exp_arr (BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const int p[], BN_CTX *ctx)
 
int BN_GF2m_mod_sqrt_arr (BIGNUM *r, const BIGNUM *a, const int p[], BN_CTX *ctx)
 
int BN_GF2m_mod_solve_quad_arr (BIGNUM *r, const BIGNUM *a, const int p[], BN_CTX *ctx)
 
int BN_GF2m_poly2arr (const BIGNUM *a, int p[], int max)
 
int BN_GF2m_arr2poly (const 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 BIGNUMBN_get0_nist_prime_192 (void)
 
const BIGNUMBN_get0_nist_prime_224 (void)
 
const BIGNUMBN_get0_nist_prime_256 (void)
 
const BIGNUMBN_get0_nist_prime_384 (void)
 
const BIGNUMBN_get0_nist_prime_521 (void)
 
BIGNUMbn_expand2 (BIGNUM *a, int words)
 
BIGNUMbn_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)
 
BIGNUMget_rfc2409_prime_768 (BIGNUM *bn)
 
BIGNUMget_rfc2409_prime_1024 (BIGNUM *bn)
 
BIGNUMget_rfc3526_prime_1536 (BIGNUM *bn)
 
BIGNUMget_rfc3526_prime_2048 (BIGNUM *bn)
 
BIGNUMget_rfc3526_prime_3072 (BIGNUM *bn)
 
BIGNUMget_rfc3526_prime_4096 (BIGNUM *bn)
 
BIGNUMget_rfc3526_prime_6144 (BIGNUM *bn)
 
BIGNUMget_rfc3526_prime_8192 (BIGNUM *bn)
 
int BN_bntest_rand (BIGNUM *rnd, int bits, int top, int bottom)
 
void ERR_load_BN_strings (void)
 

Macro Definition Documentation

#define BN_abs_is_word (   a,
 
)
Value:
((((a)->top == 1) && ((a)->d[0] == (BN_ULONG)(w))) || \
(((w) == 0) && ((a)->top == 0)))

Definition at line 400 of file bn.h.

#define BN_BLINDING_NO_RECREATE   0x00000002

Definition at line 583 of file bn.h.

#define BN_BLINDING_NO_UPDATE   0x00000001

Definition at line 582 of file bn.h.

#define bn_check_top (   a)

Definition at line 775 of file bn.h.

#define bn_correct_top (   a)
Value:
{ \
BN_ULONG *ftl; \
int tmp_top = (a)->top; \
if (tmp_top > 0) \
{ \
for (ftl= &((a)->d[tmp_top-1]); tmp_top > 0; tmp_top--) \
if (*(ftl--)) break; \
(a)->top = tmp_top; \
} \
}

Definition at line 780 of file bn.h.

#define BN_DEFAULT_BITS   1280

Definition at line 274 of file bn.h.

#define bn_expand (   a,
  bits 
)
Value:
((((((bits+BN_BITS2-1))/BN_BITS2)) <= (a)->dmax)?\
(a):bn_expand2((a),(bits+BN_BITS2-1)/BN_BITS2))

Definition at line 692 of file bn.h.

#define BN_F_BN_BLINDING_CONVERT_EX   100

Definition at line 824 of file bn.h.

#define BN_F_BN_BLINDING_CREATE_PARAM   128

Definition at line 825 of file bn.h.

#define BN_F_BN_BLINDING_INVERT_EX   101

Definition at line 826 of file bn.h.

#define BN_F_BN_BLINDING_NEW   102

Definition at line 827 of file bn.h.

#define BN_F_BN_BLINDING_UPDATE   103

Definition at line 828 of file bn.h.

#define BN_F_BN_BN2DEC   104

Definition at line 829 of file bn.h.

#define BN_F_BN_BN2HEX   105

Definition at line 830 of file bn.h.

#define BN_F_BN_CTX_GET   116

Definition at line 831 of file bn.h.

#define BN_F_BN_CTX_NEW   106

Definition at line 832 of file bn.h.

#define BN_F_BN_CTX_START   129

Definition at line 833 of file bn.h.

#define BN_F_BN_DIV   107

Definition at line 834 of file bn.h.

#define BN_F_BN_DIV_NO_BRANCH   138

Definition at line 835 of file bn.h.

#define BN_F_BN_DIV_RECP   130

Definition at line 836 of file bn.h.

#define BN_F_BN_EXP   123

Definition at line 837 of file bn.h.

#define BN_F_BN_EXPAND2   108

Definition at line 838 of file bn.h.

#define BN_F_BN_EXPAND_INTERNAL   120

Definition at line 839 of file bn.h.

#define BN_F_BN_GF2M_MOD   131

Definition at line 840 of file bn.h.

#define BN_F_BN_GF2M_MOD_EXP   132

Definition at line 841 of file bn.h.

#define BN_F_BN_GF2M_MOD_MUL   133

Definition at line 842 of file bn.h.

#define BN_F_BN_GF2M_MOD_SOLVE_QUAD   134

Definition at line 843 of file bn.h.

#define BN_F_BN_GF2M_MOD_SOLVE_QUAD_ARR   135

Definition at line 844 of file bn.h.

#define BN_F_BN_GF2M_MOD_SQR   136

Definition at line 845 of file bn.h.

#define BN_F_BN_GF2M_MOD_SQRT   137

Definition at line 846 of file bn.h.

#define BN_F_BN_MOD_EXP2_MONT   118

Definition at line 847 of file bn.h.

#define BN_F_BN_MOD_EXP_MONT   109

Definition at line 848 of file bn.h.

#define BN_F_BN_MOD_EXP_MONT_CONSTTIME   124

Definition at line 849 of file bn.h.

#define BN_F_BN_MOD_EXP_MONT_WORD   117

Definition at line 850 of file bn.h.

#define BN_F_BN_MOD_EXP_RECP   125

Definition at line 851 of file bn.h.

#define BN_F_BN_MOD_EXP_SIMPLE   126

Definition at line 852 of file bn.h.

#define BN_F_BN_MOD_INVERSE   110

Definition at line 853 of file bn.h.

#define BN_F_BN_MOD_INVERSE_NO_BRANCH   139

Definition at line 854 of file bn.h.

#define BN_F_BN_MOD_LSHIFT_QUICK   119

Definition at line 855 of file bn.h.

#define BN_F_BN_MOD_MUL_RECIPROCAL   111

Definition at line 856 of file bn.h.

#define BN_F_BN_MOD_SQRT   121

Definition at line 857 of file bn.h.

#define BN_F_BN_MPI2BN   112

Definition at line 858 of file bn.h.

#define BN_F_BN_NEW   113

Definition at line 859 of file bn.h.

#define BN_F_BN_RAND   114

Definition at line 860 of file bn.h.

#define BN_F_BN_RAND_RANGE   122

Definition at line 861 of file bn.h.

#define BN_F_BN_USUB   115

Definition at line 862 of file bn.h.

#define BN_F_BNRAND   127

Definition at line 823 of file bn.h.

#define bn_fix_top (   a)    bn_correct_top(a)

Definition at line 776 of file bn.h.

#define BN_FLG_CONSTTIME
Value:
0x04 /* avoid leaking exponent information through timing,
* BN_mod_exp_mont() will call BN_mod_exp_mont_consttime,
* BN_div() will call BN_div_no_branch,
* BN_mod_inverse() will call BN_mod_inverse_no_branch.
*/

Definition at line 278 of file bn.h.

#define BN_FLG_EXP_CONSTTIME   BN_FLG_CONSTTIME /* deprecated name for the flag */

Definition at line 281 of file bn.h.

#define BN_FLG_FREE   0x8000 /* used for debuging */

Definition at line 287 of file bn.h.

#define BN_FLG_MALLOCED   0x01

Definition at line 276 of file bn.h.

#define BN_FLG_STATIC_DATA   0x02

Definition at line 277 of file bn.h.

#define BN_GENCB_set (   gencb,
  callback,
  cb_arg 
)
Value:
{ \
BN_GENCB *tmp_gencb = (gencb); \
tmp_gencb->ver = 2; \
tmp_gencb->arg = (cb_arg); \
tmp_gencb->cb.cb_2 = (callback); }

Definition at line 371 of file bn.h.

#define BN_GENCB_set_old (   gencb,
  callback,
  cb_arg 
)
Value:
{ \
BN_GENCB *tmp_gencb = (gencb); \
tmp_gencb->ver = 1; \
tmp_gencb->arg = (cb_arg); \
tmp_gencb->cb.cb_1 = (callback); }

Definition at line 365 of file bn.h.

#define BN_get_flags (   b,
 
)    ((b)->flags&(n))

Definition at line 290 of file bn.h.

#define BN_GF2m_cmp (   a,
  b 
)    BN_ucmp((a), (b))

Definition at line 649 of file bn.h.

#define BN_GF2m_sub (   r,
  a,
  b 
)    BN_GF2m_add(r, a, b)

Definition at line 633 of file bn.h.

#define BN_is_negative (   a)    ((a)->neg != 0)

BN_is_negative returns 1 if the BIGNUM is negative

Parameters
apointer to the BIGNUM object
Returns
1 if a < 0 and 0 otherwise

Definition at line 460 of file bn.h.

#define BN_is_odd (   a)    (((a)->top > 0) && ((a)->d[0] & 1))

Definition at line 405 of file bn.h.

#define BN_is_one (   a)    (BN_abs_is_word((a),1) && !(a)->neg)

Definition at line 403 of file bn.h.

#define BN_is_word (   a,
 
)    (BN_abs_is_word((a),(w)) && (!(w) || !(a)->neg))

Definition at line 404 of file bn.h.

#define BN_is_zero (   a)    ((a)->top == 0)

Definition at line 402 of file bn.h.

#define BN_mod (   rem,
  m,
  d,
  ctx 
)    BN_div(NULL,(rem),(m),(d),(ctx))

Definition at line 464 of file bn.h.

#define BN_MUL_COMBA

Definition at line 152 of file bn.h.

#define BN_num_bytes (   a)    ((BN_num_bits(a)+7)/8)

Definition at line 397 of file bn.h.

#define BN_one (   a)    (BN_set_word((a),1))

Definition at line 407 of file bn.h.

#define bn_pollute (   a)

Definition at line 774 of file bn.h.

#define BN_prime_checks
Value:
0 /* default: select number of iterations
based on the size of the number */

Definition at line 377 of file bn.h.

#define BN_prime_checks_for_size (   b)
Value:
((b) >= 1300 ? 2 : \
(b) >= 850 ? 3 : \
(b) >= 650 ? 4 : \
(b) >= 550 ? 5 : \
(b) >= 450 ? 6 : \
(b) >= 400 ? 7 : \
(b) >= 350 ? 8 : \
(b) >= 300 ? 9 : \
(b) >= 250 ? 12 : \
(b) >= 200 ? 15 : \
(b) >= 150 ? 18 : \
/* b >= 100 */ 27)

Definition at line 384 of file bn.h.

#define BN_R_ARG2_LT_ARG3   100

Definition at line 865 of file bn.h.

#define BN_R_BAD_RECIPROCAL   101

Definition at line 866 of file bn.h.

#define BN_R_BIGNUM_TOO_LONG   114

Definition at line 867 of file bn.h.

#define BN_R_CALLED_WITH_EVEN_MODULUS   102

Definition at line 868 of file bn.h.

#define BN_R_DIV_BY_ZERO   103

Definition at line 869 of file bn.h.

#define BN_R_ENCODING_ERROR   104

Definition at line 870 of file bn.h.

#define BN_R_EXPAND_ON_STATIC_BIGNUM_DATA   105

Definition at line 871 of file bn.h.

#define BN_R_INPUT_NOT_REDUCED   110

Definition at line 872 of file bn.h.

#define BN_R_INVALID_LENGTH   106

Definition at line 873 of file bn.h.

#define BN_R_INVALID_RANGE   115

Definition at line 874 of file bn.h.

#define BN_R_NO_INVERSE   108

Definition at line 877 of file bn.h.

#define BN_R_NO_SOLUTION   116

Definition at line 878 of file bn.h.

#define BN_R_NOT_A_SQUARE   111

Definition at line 875 of file bn.h.

#define BN_R_NOT_INITIALIZED   107

Definition at line 876 of file bn.h.

#define BN_R_P_IS_NOT_PRIME   112

Definition at line 879 of file bn.h.

#define BN_R_TOO_MANY_ITERATIONS   113

Definition at line 880 of file bn.h.

#define BN_R_TOO_MANY_TEMPORARY_VARIABLES   109

Definition at line 881 of file bn.h.

#define BN_RECURSION

Definition at line 154 of file bn.h.

#define BN_set_flags (   b,
 
)    ((b)->flags|=(n))

Definition at line 289 of file bn.h.

#define BN_SQR_COMBA

Definition at line 153 of file bn.h.

#define BN_to_montgomery (   r,
  a,
  mont,
  ctx 
)
Value:
(r),(a),&((mont)->RR),(mont),(ctx))

Definition at line 571 of file bn.h.

#define bn_wexpand (   a,
  words 
)    (((words) <= (a)->dmax)?(a):bn_expand2((a),(words)))

Definition at line 694 of file bn.h.

#define BN_with_flags (   dest,
  b,
 
)
Value:
((dest)->d=(b)->d, \
(dest)->top=(b)->top, \
(dest)->dmax=(b)->dmax, \
(dest)->neg=(b)->neg, \
(dest)->flags=(((dest)->flags & BN_FLG_MALLOCED) \
| ((b)->flags & ~BN_FLG_MALLOCED) \
| (n)))

Definition at line 294 of file bn.h.

#define BN_zero (   a)    (BN_set_word((a),0))

Definition at line 417 of file bn.h.

#define BN_zero_ex (   a)
Value:
do { \
BIGNUM *_tmp_bn = (a); \
_tmp_bn->top = 0; \
_tmp_bn->neg = 0; \
} while(0)

Definition at line 408 of file bn.h.

#define PTR_SIZE_INT   size_t

Definition at line 271 of file bn.h.

Function Documentation

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

Definition at line 64 of file bn_add.c.

int BN_add_word ( BIGNUM a,
BN_ULONG  w 
)

Definition at line 126 of file bn_word.c.

BN_ULONG bn_add_words ( BN_ULONG *  rp,
const BN_ULONG *  ap,
const BN_ULONG *  bp,
int  num 
)

Definition at line 341 of file bn_asm.c.

int BN_asc2bn ( BIGNUM **  a,
const char *  str 
)

Definition at line 297 of file bn_print.c.

BIGNUM* BN_bin2bn ( const unsigned char *  s,
int  len,
BIGNUM ret 
)

Definition at line 578 of file bn_lib.c.

int BN_BLINDING_convert ( BIGNUM n,
BN_BLINDING b,
BN_CTX ctx 
)

Definition at line 219 of file bn_blind.c.

int BN_BLINDING_convert_ex ( BIGNUM n,
BIGNUM r,
BN_BLINDING b,
BN_CTX  
)

Definition at line 224 of file bn_blind.c.

BN_BLINDING* BN_BLINDING_create_param ( BN_BLINDING b,
const BIGNUM e,
BIGNUM m,
BN_CTX ctx,
int(*)(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx)  bn_mod_exp,
BN_MONT_CTX m_ctx 
)

Definition at line 306 of file bn_blind.c.

void BN_BLINDING_free ( BN_BLINDING b)

Definition at line 174 of file bn_blind.c.

unsigned long BN_BLINDING_get_flags ( const BN_BLINDING )

Definition at line 296 of file bn_blind.c.

unsigned long BN_BLINDING_get_thread_id ( const BN_BLINDING )

Definition at line 280 of file bn_blind.c.

int BN_BLINDING_invert ( BIGNUM n,
BN_BLINDING b,
BN_CTX ctx 
)

Definition at line 252 of file bn_blind.c.

int BN_BLINDING_invert_ex ( BIGNUM n,
const BIGNUM r,
BN_BLINDING b,
BN_CTX  
)

Definition at line 257 of file bn_blind.c.

BN_BLINDING* BN_BLINDING_new ( const BIGNUM A,
const BIGNUM Ai,
BIGNUM mod 
)

Definition at line 137 of file bn_blind.c.

void BN_BLINDING_set_flags ( BN_BLINDING ,
unsigned  long 
)

Definition at line 301 of file bn_blind.c.

void BN_BLINDING_set_thread_id ( BN_BLINDING ,
unsigned  long 
)

Definition at line 285 of file bn_blind.c.

CRYPTO_THREADID* BN_BLINDING_thread_id ( BN_BLINDING )

Definition at line 291 of file bn_blind.c.

int BN_BLINDING_update ( BN_BLINDING b,
BN_CTX ctx 
)

Definition at line 186 of file bn_blind.c.

int BN_bn2bin ( const BIGNUM a,
unsigned char *  to 
)

Definition at line 622 of file bn_lib.c.

char* BN_bn2dec ( const BIGNUM a)

Definition at line 103 of file bn_print.c.

char* BN_bn2hex ( const BIGNUM a)

Definition at line 68 of file bn_print.c.

int BN_bn2mpi ( const BIGNUM a,
unsigned char *  to 
)

Definition at line 63 of file bn_mpi.c.

int BN_bntest_rand ( BIGNUM rnd,
int  bits,
int  top,
int  bottom 
)

Definition at line 222 of file bn_rand.c.

void BN_clear ( BIGNUM a)

Definition at line 548 of file bn_lib.c.

int BN_clear_bit ( BIGNUM a,
int  n 
)

Definition at line 722 of file bn_lib.c.

void BN_clear_free ( BIGNUM a)

Definition at line 238 of file bn_lib.c.

int BN_cmp ( const BIGNUM a,
const BIGNUM b 
)

Definition at line 659 of file bn_lib.c.

BIGNUM* BN_copy ( BIGNUM a,
const BIGNUM b 
)

Definition at line 478 of file bn_lib.c.

void BN_CTX_end ( BN_CTX ctx)

Definition at line 270 of file bn_ctx.c.

void BN_CTX_free ( BN_CTX c)

Definition at line 231 of file bn_ctx.c.

BIGNUM* BN_CTX_get ( BN_CTX ctx)

Definition at line 288 of file bn_ctx.c.

void BN_CTX_init ( BN_CTX c)

Definition at line 200 of file bn_ctx.c.

BN_CTX* BN_CTX_new ( void  )

Definition at line 214 of file bn_ctx.c.

void BN_CTX_start ( BN_CTX ctx)

Definition at line 255 of file bn_ctx.c.

int BN_dec2bn ( BIGNUM **  a,
const char *  str 
)

Definition at line 239 of file bn_print.c.

int BN_div ( BIGNUM dv,
BIGNUM rem,
const BIGNUM m,
const BIGNUM d,
BN_CTX ctx 
)

Definition at line 179 of file bn_div.c.

int BN_div_recp ( BIGNUM dv,
BIGNUM rem,
const BIGNUM m,
BN_RECP_CTX recp,
BN_CTX ctx 
)

Definition at line 130 of file bn_recp.c.

BN_ULONG BN_div_word ( BIGNUM a,
BN_ULONG  w 
)

Definition at line 90 of file bn_word.c.

BN_ULONG bn_div_words ( BN_ULONG  h,
BN_ULONG  l,
BN_ULONG  d 
)

Definition at line 239 of file bn_asm.c.

BIGNUM* BN_dup ( const BIGNUM a)

Definition at line 460 of file bn_lib.c.

BIGNUM* bn_dup_expand ( const BIGNUM a,
int  words 
)

Definition at line 375 of file bn_lib.c.

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

Definition at line 132 of file bn_exp.c.

BIGNUM* bn_expand2 ( BIGNUM a,
int  words 
)

Definition at line 426 of file bn_lib.c.

void BN_free ( BIGNUM a)

Definition at line 256 of file bn_lib.c.

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

Definition at line 280 of file bn_mont.c.

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

Definition at line 117 of file bn_gcd.c.

int BN_GENCB_call ( BN_GENCB cb,
int  a,
int  b 
)

Definition at line 137 of file bn_prime.c.

BIGNUM* BN_generate_prime ( BIGNUM ret,
int  bits,
int  safe,
const BIGNUM add,
const BIGNUM rem,
void(*)(int, int, void *)  callback,
void cb_arg 
)

Definition at line 68 of file bn_depr.c.

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

Definition at line 159 of file bn_prime.c.

const BIGNUM* BN_get0_nist_prime_192 ( void  )

Definition at line 263 of file bn_nist.c.

const BIGNUM* BN_get0_nist_prime_224 ( void  )

Definition at line 268 of file bn_nist.c.

const BIGNUM* BN_get0_nist_prime_256 ( void  )

Definition at line 273 of file bn_nist.c.

const BIGNUM* BN_get0_nist_prime_384 ( void  )

Definition at line 278 of file bn_nist.c.

const BIGNUM* BN_get0_nist_prime_521 ( void  )

Definition at line 283 of file bn_nist.c.

int BN_get_params ( int  which)

Definition at line 124 of file bn_lib.c.

BN_ULONG BN_get_word ( const BIGNUM a)

Definition at line 557 of file bn_lib.c.

int BN_GF2m_add ( BIGNUM r,
const BIGNUM a,
const BIGNUM b 
)

Definition at line 229 of file bn_gf2m.c.

int BN_GF2m_arr2poly ( const int  p[],
BIGNUM a 
)

Definition at line 1097 of file bn_gf2m.c.

int BN_GF2m_mod ( BIGNUM r,
const BIGNUM a,
const BIGNUM p 
)

Definition at line 365 of file bn_gf2m.c.

int BN_GF2m_mod_arr ( BIGNUM r,
const BIGNUM a,
const int  p[] 
)

Definition at line 267 of file bn_gf2m.c.

int BN_GF2m_mod_div ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
const BIGNUM p,
BN_CTX ctx 
)

Definition at line 685 of file bn_gf2m.c.

int BN_GF2m_mod_div_arr ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
const int  p[],
BN_CTX ctx 
)

Definition at line 788 of file bn_gf2m.c.

int BN_GF2m_mod_exp ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
const BIGNUM p,
BN_CTX ctx 
)

Definition at line 856 of file bn_gf2m.c.

int BN_GF2m_mod_exp_arr ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
const int  p[],
BN_CTX ctx 
)

Definition at line 813 of file bn_gf2m.c.

int BN_GF2m_mod_inv ( BIGNUM r,
const BIGNUM b,
const BIGNUM p,
BN_CTX ctx 
)

Definition at line 523 of file bn_gf2m.c.

int BN_GF2m_mod_inv_arr ( BIGNUM r,
const BIGNUM b,
const int  p[],
BN_CTX ctx 
)

Definition at line 662 of file bn_gf2m.c.

int BN_GF2m_mod_mul ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
const BIGNUM p,
BN_CTX ctx 
)

Definition at line 439 of file bn_gf2m.c.

int BN_GF2m_mod_mul_arr ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
const int  p[],
BN_CTX ctx 
)

Definition at line 386 of file bn_gf2m.c.

int BN_GF2m_mod_solve_quad ( BIGNUM r,
const BIGNUM a,
const BIGNUM p,
BN_CTX ctx 
)

Definition at line 1033 of file bn_gf2m.c.

int BN_GF2m_mod_solve_quad_arr ( BIGNUM r,
const BIGNUM a,
const int  p[],
BN_CTX ctx 
)

Definition at line 939 of file bn_gf2m.c.

int BN_GF2m_mod_sqr ( BIGNUM r,
const BIGNUM a,
const BIGNUM p,
BN_CTX ctx 
)

Definition at line 495 of file bn_gf2m.c.

int BN_GF2m_mod_sqr_arr ( BIGNUM r,
const BIGNUM a,
const int  p[],
BN_CTX ctx 
)

Definition at line 463 of file bn_gf2m.c.

int BN_GF2m_mod_sqrt ( BIGNUM r,
const BIGNUM a,
const BIGNUM p,
BN_CTX ctx 
)

Definition at line 915 of file bn_gf2m.c.

int BN_GF2m_mod_sqrt_arr ( BIGNUM r,
const BIGNUM a,
const int  p[],
BN_CTX ctx 
)

Definition at line 882 of file bn_gf2m.c.

int BN_GF2m_poly2arr ( const BIGNUM a,
int  p[],
int  max 
)

Definition at line 1061 of file bn_gf2m.c.

int BN_hex2bn ( BIGNUM **  a,
const char *  str 
)

Definition at line 172 of file bn_print.c.

void BN_init ( BIGNUM )

Definition at line 273 of file bn_lib.c.

int BN_is_bit_set ( const BIGNUM a,
int  n 
)

Definition at line 738 of file bn_lib.c.

int BN_is_prime ( const BIGNUM p,
int  nchecks,
void(*)(int, int, void *)  callback,
BN_CTX ctx,
void cb_arg 
)

Definition at line 94 of file bn_depr.c.

int BN_is_prime_ex ( const BIGNUM p,
int  nchecks,
BN_CTX ctx,
BN_GENCB cb 
)

Definition at line 238 of file bn_prime.c.

int BN_is_prime_fasttest ( const BIGNUM p,
int  nchecks,
void(*)(int, int, void *)  callback,
BN_CTX ctx,
void cb_arg,
int  do_trial_division 
)

Definition at line 102 of file bn_depr.c.

int BN_is_prime_fasttest_ex ( const BIGNUM p,
int  nchecks,
BN_CTX ctx,
int  do_trial_division,
BN_GENCB cb 
)

Definition at line 243 of file bn_prime.c.

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

Definition at line 63 of file bn_kron.c.

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

Definition at line 135 of file bn_shift.c.

int BN_lshift1 ( BIGNUM r,
const BIGNUM a 
)

Definition at line 63 of file bn_shift.c.

int BN_mask_bits ( BIGNUM a,
int  n 
)

Definition at line 750 of file bn_lib.c.

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

Definition at line 141 of file bn_mod.c.

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

Definition at line 150 of file bn_mod.c.

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

Definition at line 176 of file bn_exp.c.

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 
)

Definition at line 118 of file bn_exp2.c.

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

Definition at line 384 of file bn_exp.c.

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 
)

Definition at line 578 of file bn_exp.c.

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 
)

Definition at line 832 of file bn_exp.c.

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

Definition at line 251 of file bn_exp.c.

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

Definition at line 983 of file bn_exp.c.

BIGNUM* BN_mod_inverse ( BIGNUM ret,
const BIGNUM a,
const BIGNUM n,
BN_CTX ctx 
)

Definition at line 208 of file bn_gcd.c.

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

Definition at line 231 of file bn_mod.c.

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

Definition at line 211 of file bn_mod.c.

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

Definition at line 221 of file bn_mod.c.

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

Definition at line 256 of file bn_mod.c.

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

Definition at line 178 of file bn_mod.c.

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

Definition at line 129 of file bn_mont.c.

int BN_mod_mul_reciprocal ( BIGNUM r,
const BIGNUM x,
const BIGNUM y,
BN_RECP_CTX recp,
BN_CTX ctx 
)

Definition at line 103 of file bn_recp.c.

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

Definition at line 203 of file bn_mod.c.

BIGNUM* BN_mod_sqrt ( BIGNUM ret,
const BIGNUM a,
const BIGNUM n,
BN_CTX ctx 
)

Definition at line 62 of file bn_sqrt.c.

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

Definition at line 159 of file bn_mod.c.

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

Definition at line 168 of file bn_mod.c.

BN_ULONG BN_mod_word ( const BIGNUM a,
BN_ULONG  w 
)

Definition at line 63 of file bn_word.c.

BN_MONT_CTX* BN_MONT_CTX_copy ( BN_MONT_CTX to,
BN_MONT_CTX from 
)

Definition at line 465 of file bn_mont.c.

void BN_MONT_CTX_free ( BN_MONT_CTX mont)

Definition at line 343 of file bn_mont.c.

void BN_MONT_CTX_init ( BN_MONT_CTX ctx)

Definition at line 333 of file bn_mont.c.

BN_MONT_CTX* BN_MONT_CTX_new ( void  )

Definition at line 321 of file bn_mont.c.

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

Definition at line 355 of file bn_mont.c.

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

Definition at line 478 of file bn_mont.c.

BIGNUM* BN_mpi2bn ( const unsigned char *  s,
int  len,
BIGNUM ret 
)

Definition at line 91 of file bn_mpi.c.

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

Definition at line 943 of file bn_mul.c.

BN_ULONG bn_mul_add_words ( BN_ULONG *  rp,
const BN_ULONG *  ap,
int  num,
BN_ULONG  w 
)

Definition at line 146 of file bn_asm.c.

int BN_mul_word ( BIGNUM a,
BN_ULONG  w 
)

Definition at line 224 of file bn_word.c.

BN_ULONG bn_mul_words ( BN_ULONG *  rp,
const BN_ULONG *  ap,
int  num,
BN_ULONG  w 
)

Definition at line 175 of file bn_asm.c.

BIGNUM* BN_new ( void  )

Definition at line 279 of file bn_lib.c.

int BN_nist_mod_192 ( BIGNUM r,
const BIGNUM a,
const BIGNUM p,
BN_CTX ctx 
)

Definition at line 356 of file bn_nist.c.

int BN_nist_mod_224 ( BIGNUM r,
const BIGNUM a,
const BIGNUM p,
BN_CTX ctx 
)

Definition at line 476 of file bn_nist.c.

int BN_nist_mod_256 ( BIGNUM r,
const BIGNUM a,
const BIGNUM p,
BN_CTX ctx 
)

Definition at line 630 of file bn_nist.c.

int BN_nist_mod_384 ( BIGNUM r,
const BIGNUM a,
const BIGNUM p,
BN_CTX ctx 
)

Definition at line 833 of file bn_nist.c.

int BN_nist_mod_521 ( BIGNUM r,
const BIGNUM a,
const BIGNUM p,
BN_CTX ctx 
)

Definition at line 1042 of file bn_nist.c.

int BN_nnmod ( BIGNUM r,
const BIGNUM m,
const BIGNUM d,
BN_CTX ctx 
)

Definition at line 127 of file bn_mod.c.

int BN_num_bits ( const BIGNUM a)

Definition at line 229 of file bn_lib.c.

int BN_num_bits_word ( BN_ULONG  )

Definition at line 142 of file bn_lib.c.

char* BN_options ( void  )

Definition at line 361 of file bn_print.c.

int BN_print ( void fp,
const BIGNUM a 
)
int BN_print_fp ( FILE *  fp,
const BIGNUM a 
)

Definition at line 320 of file bn_print.c.

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

Definition at line 216 of file bn_rand.c.

int BN_pseudo_rand_range ( BIGNUM rnd,
const BIGNUM range 
)

Definition at line 302 of file bn_rand.c.

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

Definition at line 211 of file bn_rand.c.

int BN_rand_range ( BIGNUM rnd,
const BIGNUM range 
)

Definition at line 297 of file bn_rand.c.

int BN_reciprocal ( BIGNUM r,
const BIGNUM m,
int  len,
BN_CTX ctx 
)

Definition at line 217 of file bn_recp.c.

void BN_RECP_CTX_free ( BN_RECP_CTX recp)

Definition at line 83 of file bn_recp.c.

void BN_RECP_CTX_init ( BN_RECP_CTX recp)

Definition at line 63 of file bn_recp.c.

BN_RECP_CTX* BN_RECP_CTX_new ( void  )

Definition at line 71 of file bn_recp.c.

int BN_RECP_CTX_set ( BN_RECP_CTX recp,
const BIGNUM rdiv,
BN_CTX ctx 
)

Definition at line 94 of file bn_recp.c.

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

Definition at line 171 of file bn_shift.c.

int BN_rshift1 ( BIGNUM r,
const BIGNUM a 
)

Definition at line 99 of file bn_shift.c.

int BN_set_bit ( BIGNUM a,
int  n 
)

Definition at line 700 of file bn_lib.c.

void BN_set_negative ( BIGNUM b,
int  n 
)

BN_set_negative sets sign of a BIGNUM

Parameters
bpointer to the BIGNUM object
n0 if the BIGNUM b should be positive and a value != 0 otherwise

Definition at line 771 of file bn_lib.c.

void BN_set_params ( int  mul,
int  high,
int  low,
int  mont 
)

Definition at line 92 of file bn_lib.c.

int BN_set_word ( BIGNUM a,
BN_ULONG  w 
)

Definition at line 567 of file bn_lib.c.

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

Definition at line 65 of file bn_sqr.c.

void bn_sqr_words ( BN_ULONG *  rp,
const BN_ULONG *  ap,
int  num 
)

Definition at line 204 of file bn_asm.c.

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

Definition at line 263 of file bn_add.c.

int BN_sub_word ( BIGNUM a,
BN_ULONG  w 
)

Definition at line 171 of file bn_word.c.

BN_ULONG bn_sub_words ( BN_ULONG *  rp,
const BN_ULONG *  ap,
const BN_ULONG *  bp,
int  num 
)

Definition at line 393 of file bn_asm.c.

void BN_swap ( BIGNUM a,
BIGNUM b 
)

Definition at line 515 of file bn_lib.c.

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

Definition at line 105 of file bn_add.c.

int BN_ucmp ( const BIGNUM a,
const BIGNUM b 
)

Definition at line 637 of file bn_lib.c.

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

Definition at line 166 of file bn_add.c.

const BIGNUM* BN_value_one ( void  )

Definition at line 134 of file bn_lib.c.

int BN_X931_derive_prime_ex ( BIGNUM p,
BIGNUM p1,
BIGNUM p2,
const BIGNUM Xp,
const BIGNUM Xp1,
const BIGNUM Xp2,
const BIGNUM e,
BN_CTX ctx,
BN_GENCB cb 
)

Definition at line 96 of file bn_x931p.c.

int BN_X931_generate_prime_ex ( BIGNUM p,
BIGNUM p1,
BIGNUM p2,
BIGNUM Xp1,
BIGNUM Xp2,
const BIGNUM Xp,
const BIGNUM e,
BN_CTX ctx,
BN_GENCB cb 
)

Definition at line 243 of file bn_x931p.c.

int BN_X931_generate_Xpq ( BIGNUM Xp,
BIGNUM Xq,
int  nbits,
BN_CTX ctx 
)

Definition at line 196 of file bn_x931p.c.

void ERR_load_BN_strings ( void  )

Definition at line 140 of file bn_err.c.

BIGNUM* get_rfc2409_prime_1024 ( BIGNUM bn)

Definition at line 37 of file bn_const.c.

BIGNUM* get_rfc2409_prime_768 ( BIGNUM bn)

Definition at line 14 of file bn_const.c.

BIGNUM* get_rfc3526_prime_1536 ( BIGNUM bn)

Definition at line 63 of file bn_const.c.

BIGNUM* get_rfc3526_prime_2048 ( BIGNUM bn)

Definition at line 93 of file bn_const.c.

BIGNUM* get_rfc3526_prime_3072 ( BIGNUM bn)

Definition at line 129 of file bn_const.c.

BIGNUM* get_rfc3526_prime_4096 ( BIGNUM bn)

Definition at line 175 of file bn_const.c.

BIGNUM* get_rfc3526_prime_6144 ( BIGNUM bn)

Definition at line 232 of file bn_const.c.

BIGNUM* get_rfc3526_prime_8192 ( BIGNUM bn)

Definition at line 310 of file bn_const.c.