bn.h File Reference

#include <openssl/e_os2.h>
#include <stdio.h>
#include <openssl/ossl_typ.h>

Go to the source code of this file.

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 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, 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)
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)
 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)
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_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)
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)
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 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 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)


Define 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 364 of file bn.h.

#define BN_BLINDING_NO_RECREATE   0x00000002

Definition at line 535 of file bn.h.

#define BN_BLINDING_NO_UPDATE   0x00000001

Definition at line 534 of file bn.h.

#define bn_check_top (  ) 

Definition at line 720 of file bn.h.

#define bn_correct_top (  ) 

Value:

{ \
        BN_ULONG *ftl; \
   if ((a)->top > 0) \
      { \
      for (ftl= &((a)->d[(a)->top-1]); (a)->top > 0; (a)->top--) \
      if (*(ftl--)) break; \
      } \
   bn_pollute(a); \
   }

Definition at line 725 of file bn.h.

#define BN_DEFAULT_BITS   1280

Definition at line 244 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 637 of file bn.h.

#define BN_F_BN_BLINDING_CONVERT_EX   100

Definition at line 767 of file bn.h.

#define BN_F_BN_BLINDING_CREATE_PARAM   128

Definition at line 768 of file bn.h.

#define BN_F_BN_BLINDING_INVERT_EX   101

Definition at line 769 of file bn.h.

#define BN_F_BN_BLINDING_NEW   102

Definition at line 770 of file bn.h.

#define BN_F_BN_BLINDING_UPDATE   103

Definition at line 771 of file bn.h.

#define BN_F_BN_BN2DEC   104

Definition at line 772 of file bn.h.

#define BN_F_BN_BN2HEX   105

Definition at line 773 of file bn.h.

#define BN_F_BN_CTX_GET   116

Definition at line 774 of file bn.h.

#define BN_F_BN_CTX_NEW   106

Definition at line 775 of file bn.h.

#define BN_F_BN_CTX_START   129

Definition at line 776 of file bn.h.

#define BN_F_BN_DIV   107

Definition at line 777 of file bn.h.

#define BN_F_BN_DIV_RECP   130

Definition at line 778 of file bn.h.

#define BN_F_BN_EXP   123

Definition at line 779 of file bn.h.

#define BN_F_BN_EXPAND2   108

Definition at line 780 of file bn.h.

#define BN_F_BN_EXPAND_INTERNAL   120

Definition at line 781 of file bn.h.

#define BN_F_BN_GF2M_MOD   131

Definition at line 782 of file bn.h.

#define BN_F_BN_GF2M_MOD_EXP   132

Definition at line 783 of file bn.h.

#define BN_F_BN_GF2M_MOD_MUL   133

Definition at line 784 of file bn.h.

#define BN_F_BN_GF2M_MOD_SOLVE_QUAD   134

Definition at line 785 of file bn.h.

#define BN_F_BN_GF2M_MOD_SOLVE_QUAD_ARR   135

Definition at line 786 of file bn.h.

#define BN_F_BN_GF2M_MOD_SQR   136

Definition at line 787 of file bn.h.

#define BN_F_BN_GF2M_MOD_SQRT   137

Definition at line 788 of file bn.h.

#define BN_F_BN_MOD_EXP2_MONT   118

Definition at line 789 of file bn.h.

#define BN_F_BN_MOD_EXP_MONT   109

Definition at line 790 of file bn.h.

#define BN_F_BN_MOD_EXP_MONT_CONSTTIME   124

Definition at line 791 of file bn.h.

#define BN_F_BN_MOD_EXP_MONT_WORD   117

Definition at line 792 of file bn.h.

#define BN_F_BN_MOD_EXP_RECP   125

Definition at line 793 of file bn.h.

#define BN_F_BN_MOD_EXP_SIMPLE   126

Definition at line 794 of file bn.h.

#define BN_F_BN_MOD_INVERSE   110

Definition at line 795 of file bn.h.

#define BN_F_BN_MOD_LSHIFT_QUICK   119

Definition at line 796 of file bn.h.

#define BN_F_BN_MOD_MUL_RECIPROCAL   111

Definition at line 797 of file bn.h.

#define BN_F_BN_MOD_SQRT   121

Definition at line 798 of file bn.h.

#define BN_F_BN_MPI2BN   112

Definition at line 799 of file bn.h.

#define BN_F_BN_NEW   113

Definition at line 800 of file bn.h.

#define BN_F_BN_RAND   114

Definition at line 801 of file bn.h.

#define BN_F_BN_RAND_RANGE   122

Definition at line 802 of file bn.h.

#define BN_F_BN_USUB   115

Definition at line 803 of file bn.h.

#define BN_F_BNRAND   127

Definition at line 766 of file bn.h.

#define bn_fix_top (  )     bn_correct_top(a)

Definition at line 721 of file bn.h.

#define BN_FLG_EXP_CONSTTIME   0x04

Definition at line 248 of file bn.h.

#define BN_FLG_FREE   0x8000

Definition at line 251 of file bn.h.

#define BN_FLG_MALLOCED   0x01

Definition at line 246 of file bn.h.

#define BN_FLG_STATIC_DATA   0x02

Definition at line 247 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 334 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 328 of file bn.h.

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

Definition at line 254 of file bn.h.

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

Definition at line 596 of file bn.h.

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

Definition at line 580 of file bn.h.

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

BN_is_negative returns 1 if the BIGNUM is negative.

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

Definition at line 424 of file bn.h.

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

Definition at line 369 of file bn.h.

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

Definition at line 367 of file bn.h.

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

Definition at line 368 of file bn.h.

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

Definition at line 366 of file bn.h.

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

Definition at line 428 of file bn.h.

#define BN_MUL_COMBA

Definition at line 97 of file bn.h.

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

Definition at line 361 of file bn.h.

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

Definition at line 371 of file bn.h.

#define bn_pollute (  ) 

Definition at line 719 of file bn.h.

#define BN_prime_checks   0

Definition at line 340 of file bn.h.

#define BN_prime_checks_for_size (  ) 

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 348 of file bn.h.

#define BN_R_ARG2_LT_ARG3   100

Definition at line 806 of file bn.h.

#define BN_R_BAD_RECIPROCAL   101

Definition at line 807 of file bn.h.

#define BN_R_BIGNUM_TOO_LONG   114

Definition at line 808 of file bn.h.

#define BN_R_CALLED_WITH_EVEN_MODULUS   102

Definition at line 809 of file bn.h.

#define BN_R_DIV_BY_ZERO   103

Definition at line 810 of file bn.h.

#define BN_R_ENCODING_ERROR   104

Definition at line 811 of file bn.h.

#define BN_R_EXPAND_ON_STATIC_BIGNUM_DATA   105

Definition at line 812 of file bn.h.

#define BN_R_INPUT_NOT_REDUCED   110

Definition at line 813 of file bn.h.

#define BN_R_INVALID_LENGTH   106

Definition at line 814 of file bn.h.

#define BN_R_INVALID_RANGE   115

Definition at line 815 of file bn.h.

#define BN_R_NO_INVERSE   108

Definition at line 818 of file bn.h.

#define BN_R_NO_SOLUTION   116

Definition at line 819 of file bn.h.

#define BN_R_NOT_A_SQUARE   111

Definition at line 816 of file bn.h.

#define BN_R_NOT_INITIALIZED   107

Definition at line 817 of file bn.h.

#define BN_R_P_IS_NOT_PRIME   112

Definition at line 820 of file bn.h.

#define BN_R_TOO_MANY_ITERATIONS   113

Definition at line 821 of file bn.h.

#define BN_R_TOO_MANY_TEMPORARY_VARIABLES   109

Definition at line 822 of file bn.h.

#define BN_RECURSION

Definition at line 99 of file bn.h.

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

Definition at line 253 of file bn.h.

#define BN_SQR_COMBA

Definition at line 98 of file bn.h.

#define BN_to_montgomery ( r,
a,
mont,
ctx   ) 

Value:

BN_mod_mul_montgomery(\
   (r),(a),&((mont)->RR),(mont),(ctx))

Definition at line 523 of file bn.h.

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

Definition at line 639 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) \
                                                 |  BN_FLG_STATIC_DATA \
                                                 |  (n)))

Definition at line 258 of file bn.h.

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

Definition at line 381 of file bn.h.

#define BN_zero_ex (  ) 

Value:

do { \
      BIGNUM *_tmp_bn = (a); \
      _tmp_bn->top = 0; \
      _tmp_bn->neg = 0; \
   } while(0)

Definition at line 372 of file bn.h.


Function Documentation

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

int BN_add_word ( BIGNUM a,
BN_ULONG  w 
)

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

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

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

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

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 
)

void BN_BLINDING_free ( BN_BLINDING b  ) 

unsigned long BN_BLINDING_get_flags ( const BN_BLINDING  ) 

unsigned long BN_BLINDING_get_thread_id ( const BN_BLINDING  ) 

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

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

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

void BN_BLINDING_set_flags ( BN_BLINDING ,
unsigned  long 
)

void BN_BLINDING_set_thread_id ( BN_BLINDING ,
unsigned  long 
)

int BN_BLINDING_update ( BN_BLINDING b,
BN_CTX ctx 
)

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

char* BN_bn2dec ( const BIGNUM a  ) 

char* BN_bn2hex ( const BIGNUM a  ) 

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

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

void BN_clear ( BIGNUM a  ) 

int BN_clear_bit ( BIGNUM a,
int  n 
)

void BN_clear_free ( BIGNUM a  ) 

int BN_cmp ( const BIGNUM a,
const BIGNUM b 
)

BIGNUM* BN_copy ( BIGNUM a,
const BIGNUM b 
)

void BN_CTX_end ( BN_CTX ctx  ) 

void BN_CTX_free ( BN_CTX c  ) 

BIGNUM* BN_CTX_get ( BN_CTX ctx  ) 

void BN_CTX_init ( BN_CTX c  ) 

BN_CTX* BN_CTX_new ( void   ) 

void BN_CTX_start ( BN_CTX ctx  ) 

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

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

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

BN_ULONG BN_div_word ( BIGNUM a,
BN_ULONG  w 
)

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

BIGNUM* BN_dup ( const BIGNUM a  ) 

BIGNUM* bn_dup_expand ( const BIGNUM a,
int  words 
)

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

BIGNUM* bn_expand2 ( BIGNUM a,
int  words 
)

void BN_free ( BIGNUM a  ) 

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

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

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

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

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

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   ) 

int BN_get_params ( int  which  ) 

BN_ULONG BN_get_word ( const BIGNUM a  ) 

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

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

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

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

int BN_GF2m_mod_div ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
const BIGNUM 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 ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
const BIGNUM 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_inv ( BIGNUM r,
const BIGNUM b,
const BIGNUM 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_mul ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
const BIGNUM p,
BN_CTX ctx 
)

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_solve_quad ( BIGNUM r,
const BIGNUM a,
const BIGNUM 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_mod_sqr ( BIGNUM r,
const BIGNUM a,
const BIGNUM 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_sqrt ( BIGNUM r,
const BIGNUM a,
const BIGNUM 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_poly2arr ( const BIGNUM a,
unsigned int  p[],
int  max 
)

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

void BN_init ( BIGNUM  ) 

int BN_is_bit_set ( const BIGNUM a,
int  n 
)

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

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

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 
)

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

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

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

int BN_lshift1 ( BIGNUM r,
const BIGNUM a 
)

int BN_mask_bits ( BIGNUM a,
int  n 
)

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_exp ( BIGNUM r,
const BIGNUM a,
const BIGNUM p,
const BIGNUM m,
BN_CTX 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_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_exp_recp ( BIGNUM r,
const BIGNUM a,
const BIGNUM p,
const BIGNUM m,
BN_CTX ctx 
)

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

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

int BN_mod_lshift ( BIGNUM r,
const BIGNUM a,
int  n,
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_quick ( BIGNUM r,
const BIGNUM a,
int  n,
const BIGNUM m 
)

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

int BN_mod_mul_montgomery ( BIGNUM r,
const BIGNUM a,
const BIGNUM b,
BN_MONT_CTX mont,
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_sqr ( BIGNUM r,
const BIGNUM a,
const BIGNUM m,
BN_CTX ctx 
)

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

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 
)

BN_ULONG BN_mod_word ( const BIGNUM a,
BN_ULONG  w 
)

BN_MONT_CTX* BN_MONT_CTX_copy ( BN_MONT_CTX to,
BN_MONT_CTX from 
)

void BN_MONT_CTX_free ( BN_MONT_CTX mont  ) 

void BN_MONT_CTX_init ( BN_MONT_CTX ctx  ) 

BN_MONT_CTX* BN_MONT_CTX_new ( void   ) 

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

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

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

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

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

int BN_mul_word ( BIGNUM a,
BN_ULONG  w 
)

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

BIGNUM* BN_new ( void   ) 

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 
)

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

int BN_num_bits ( const BIGNUM a  ) 

int BN_num_bits_word ( BN_ULONG   ) 

char* BN_options ( void   ) 

int BN_print ( void *  fp,
const BIGNUM a 
)

int BN_print_fp ( FILE *  fp,
const BIGNUM a 
)

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

int BN_pseudo_rand_range ( BIGNUM rnd,
BIGNUM range 
)

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

int BN_rand_range ( BIGNUM rnd,
BIGNUM range 
)

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

void BN_RECP_CTX_free ( BN_RECP_CTX recp  ) 

void BN_RECP_CTX_init ( BN_RECP_CTX recp  ) 

BN_RECP_CTX* BN_RECP_CTX_new ( void   ) 

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

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

int BN_rshift1 ( BIGNUM r,
const BIGNUM a 
)

int BN_set_bit ( BIGNUM a,
int  n 
)

void BN_set_negative ( BIGNUM b,
int  n 
)

BN_set_negative sets sign of a BIGNUM.

Parameters:
b pointer to the BIGNUM object
n 0 if the BIGNUM b should be positive and a value != 0 otherwise

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

int BN_set_word ( BIGNUM a,
BN_ULONG  w 
)

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

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

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

int BN_sub_word ( BIGNUM a,
BN_ULONG  w 
)

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

void BN_swap ( BIGNUM a,
BIGNUM b 
)

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

int BN_ucmp ( const BIGNUM a,
const BIGNUM b 
)

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

const BIGNUM* BN_value_one ( void   ) 

void ERR_load_BN_strings ( void   ) 

BIGNUM* get_rfc2409_prime_1024 ( BIGNUM bn  ) 

BIGNUM* get_rfc2409_prime_768 ( 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  ) 


Generated on Thu Aug 20 22:33:06 2009 for OpenXDAS by  doxygen 1.5.6