Make bn opaque
Reviewed-by: Tim Hudson <tjh@openssl.org>
This commit is contained in:
parent
348d0d148a
commit
1939187922
3 changed files with 58 additions and 59 deletions
|
@ -292,55 +292,6 @@ typedef struct bn_recp_ctx_st BN_RECP_CTX;
|
|||
typedef struct bn_gencb_st BN_GENCB;
|
||||
#endif
|
||||
|
||||
struct bignum_st
|
||||
{
|
||||
BN_ULONG *d; /* Pointer to an array of 'BN_BITS2' bit chunks. */
|
||||
int top; /* Index of last used d +1. */
|
||||
/* The next are internal book keeping for bn_expand. */
|
||||
int dmax; /* Size of the d array. */
|
||||
int neg; /* one if the number is negative */
|
||||
int flags;
|
||||
};
|
||||
|
||||
/* Used for montgomery multiplication */
|
||||
struct bn_mont_ctx_st
|
||||
{
|
||||
int ri; /* number of bits in R */
|
||||
BIGNUM RR; /* used to convert to montgomery form */
|
||||
BIGNUM N; /* The modulus */
|
||||
BIGNUM Ni; /* R*(1/R mod N) - N*Ni = 1
|
||||
* (Ni is only stored for bignum algorithm) */
|
||||
BN_ULONG n0[2];/* least significant word(s) of Ni;
|
||||
(type changed with 0.9.9, was "BN_ULONG n0;" before) */
|
||||
int flags;
|
||||
};
|
||||
|
||||
/* Used for reciprocal division/mod functions
|
||||
* It cannot be shared between threads
|
||||
*/
|
||||
struct bn_recp_ctx_st
|
||||
{
|
||||
BIGNUM N; /* the divisor */
|
||||
BIGNUM Nr; /* the reciprocal */
|
||||
int num_bits;
|
||||
int shift;
|
||||
int flags;
|
||||
};
|
||||
|
||||
/* Used for slow "generation" functions. */
|
||||
struct bn_gencb_st
|
||||
{
|
||||
unsigned int ver; /* To handle binary (in)compatibility */
|
||||
void *arg; /* callback-specific data */
|
||||
union
|
||||
{
|
||||
/* if(ver==1) - handles old style callbacks */
|
||||
void (*cb_1)(int, int, void *);
|
||||
/* if(ver==2) - new callback style */
|
||||
int (*cb_2)(int, int, BN_GENCB *);
|
||||
} cb;
|
||||
};
|
||||
|
||||
/* Wrapper function to make using BN_GENCB easier, */
|
||||
int BN_GENCB_call(BN_GENCB *cb, int a, int b);
|
||||
|
||||
|
@ -400,9 +351,6 @@ void BN_zero_ex(BIGNUM *a);
|
|||
const BIGNUM *BN_value_one(void);
|
||||
char * BN_options(void);
|
||||
BN_CTX *BN_CTX_new(void);
|
||||
#ifndef OPENSSL_NO_DEPRECATED
|
||||
void BN_CTX_init(BN_CTX *c);
|
||||
#endif
|
||||
void BN_CTX_free(BN_CTX *c);
|
||||
void BN_CTX_start(BN_CTX *ctx);
|
||||
BIGNUM *BN_CTX_get(BN_CTX *ctx);
|
||||
|
@ -415,7 +363,6 @@ int BN_num_bits(const BIGNUM *a);
|
|||
int BN_num_bits_word(BN_ULONG l);
|
||||
int BN_security_bits(int L, int N);
|
||||
BIGNUM *BN_new(void);
|
||||
void BN_init(BIGNUM *);
|
||||
void BN_clear_free(BIGNUM *a);
|
||||
BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b);
|
||||
void BN_swap(BIGNUM *a, BIGNUM *b);
|
||||
|
@ -548,7 +495,6 @@ int BN_X931_generate_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2,
|
|||
BN_GENCB *cb);
|
||||
|
||||
BN_MONT_CTX *BN_MONT_CTX_new(void );
|
||||
void BN_MONT_CTX_init(BN_MONT_CTX *ctx);
|
||||
int BN_mod_mul_montgomery(BIGNUM *r,const BIGNUM *a,const BIGNUM *b,
|
||||
BN_MONT_CTX *mont, BN_CTX *ctx);
|
||||
int BN_to_montgomery(BIGNUM *r,const BIGNUM *a, BN_MONT_CTX *mont, BN_CTX *ctx);
|
||||
|
@ -589,7 +535,6 @@ void BN_set_params(int mul,int high,int low,int mont);
|
|||
int BN_get_params(int which); /* 0, mul, 1 high, 2 low, 3 mont */
|
||||
#endif
|
||||
|
||||
void BN_RECP_CTX_init(BN_RECP_CTX *recp);
|
||||
BN_RECP_CTX *BN_RECP_CTX_new(void);
|
||||
void BN_RECP_CTX_free(BN_RECP_CTX *recp);
|
||||
int BN_RECP_CTX_set(BN_RECP_CTX *recp,const BIGNUM *rdiv,BN_CTX *ctx);
|
||||
|
|
|
@ -119,6 +119,56 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
|
||||
struct bignum_st
|
||||
{
|
||||
BN_ULONG *d; /* Pointer to an array of 'BN_BITS2' bit chunks. */
|
||||
int top; /* Index of last used d +1. */
|
||||
/* The next are internal book keeping for bn_expand. */
|
||||
int dmax; /* Size of the d array. */
|
||||
int neg; /* one if the number is negative */
|
||||
int flags;
|
||||
};
|
||||
|
||||
/* Used for montgomery multiplication */
|
||||
struct bn_mont_ctx_st
|
||||
{
|
||||
int ri; /* number of bits in R */
|
||||
BIGNUM RR; /* used to convert to montgomery form */
|
||||
BIGNUM N; /* The modulus */
|
||||
BIGNUM Ni; /* R*(1/R mod N) - N*Ni = 1
|
||||
* (Ni is only stored for bignum algorithm) */
|
||||
BN_ULONG n0[2];/* least significant word(s) of Ni;
|
||||
(type changed with 0.9.9, was "BN_ULONG n0;" before) */
|
||||
int flags;
|
||||
};
|
||||
|
||||
/* Used for reciprocal division/mod functions
|
||||
* It cannot be shared between threads
|
||||
*/
|
||||
struct bn_recp_ctx_st
|
||||
{
|
||||
BIGNUM N; /* the divisor */
|
||||
BIGNUM Nr; /* the reciprocal */
|
||||
int num_bits;
|
||||
int shift;
|
||||
int flags;
|
||||
};
|
||||
|
||||
/* Used for slow "generation" functions. */
|
||||
struct bn_gencb_st
|
||||
{
|
||||
unsigned int ver; /* To handle binary (in)compatibility */
|
||||
void *arg; /* callback-specific data */
|
||||
union
|
||||
{
|
||||
/* if(ver==1) - handles old style callbacks */
|
||||
void (*cb_1)(int, int, void *);
|
||||
/* if(ver==2) - new callback style */
|
||||
int (*cb_2)(int, int, BN_GENCB *);
|
||||
} cb;
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* BN_window_bits_for_exponent_size -- macro for sliding window mod_exp functions
|
||||
*
|
||||
|
@ -506,6 +556,10 @@ extern "C" {
|
|||
}
|
||||
#endif /* !BN_LLONG */
|
||||
|
||||
void BN_init(BIGNUM *a);
|
||||
void BN_RECP_CTX_init(BN_RECP_CTX *recp);
|
||||
void BN_MONT_CTX_init(BN_MONT_CTX *ctx);
|
||||
|
||||
void bn_mul_normal(BN_ULONG *r,BN_ULONG *a,int na,BN_ULONG *b,int nb);
|
||||
void bn_mul_comba8(BN_ULONG *r,BN_ULONG *a,BN_ULONG *b);
|
||||
void bn_mul_comba4(BN_ULONG *r,BN_ULONG *a,BN_ULONG *b);
|
||||
|
|
|
@ -1064,7 +1064,7 @@ asn1_add_error 1091 EXIST::FUNCTION:
|
|||
d2i_ASN1_BMPSTRING 1092 EXIST::FUNCTION:
|
||||
i2d_ASN1_BMPSTRING 1093 EXIST::FUNCTION:
|
||||
BIO_f_ber 1094 NOEXIST::FUNCTION:
|
||||
BN_init 1095 EXIST::FUNCTION:
|
||||
BN_init 1095 NOEXIST::FUNCTION:
|
||||
COMP_CTX_new 1096 EXIST::FUNCTION:
|
||||
COMP_CTX_free 1097 EXIST::FUNCTION:
|
||||
COMP_CTX_compress_block 1098 NOEXIST::FUNCTION:
|
||||
|
@ -1097,15 +1097,15 @@ bn_mul_recursive 1124 NOEXIST::FUNCTION:
|
|||
bn_mul_part_recursive 1125 NOEXIST::FUNCTION:
|
||||
bn_sqr_recursive 1126 NOEXIST::FUNCTION:
|
||||
bn_mul_low_normal 1127 NOEXIST::FUNCTION:
|
||||
BN_RECP_CTX_init 1128 EXIST::FUNCTION:
|
||||
BN_RECP_CTX_init 1128 NOEXIST::FUNCTION:
|
||||
BN_RECP_CTX_new 1129 EXIST::FUNCTION:
|
||||
BN_RECP_CTX_free 1130 EXIST::FUNCTION:
|
||||
BN_RECP_CTX_set 1131 EXIST::FUNCTION:
|
||||
BN_mod_mul_reciprocal 1132 EXIST::FUNCTION:
|
||||
BN_mod_exp_recp 1133 EXIST::FUNCTION:
|
||||
BN_div_recp 1134 EXIST::FUNCTION:
|
||||
BN_CTX_init 1135 EXIST::FUNCTION:DEPRECATED
|
||||
BN_MONT_CTX_init 1136 EXIST::FUNCTION:
|
||||
BN_CTX_init 1135 NOEXIST::FUNCTION:
|
||||
BN_MONT_CTX_init 1136 NOEXIST::FUNCTION:
|
||||
RAND_get_rand_method 1137 EXIST::FUNCTION:
|
||||
PKCS7_add_attribute 1138 EXIST::FUNCTION:
|
||||
PKCS7_add_signed_attribute 1139 EXIST::FUNCTION:
|
||||
|
|
Loading…
Reference in a new issue