Commit 283aedf4 authored by Andy Polyakov's avatar Andy Polyakov
Browse files

Privatize BN_*_no_branch [from HEAD].

parent 1a56614a
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -435,8 +435,6 @@ 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_div_no_branch(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m,
	const BIGNUM *d, BN_CTX *ctx);
#define BN_mod(rem,m,d,ctx) BN_div(NULL,(rem),(m),(d),(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);
@@ -505,8 +503,6 @@ 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); /* returns -2 for error */
BIGNUM *BN_mod_inverse(BIGNUM *ret,
	const BIGNUM *a, const BIGNUM *n,BN_CTX *ctx);
BIGNUM *BN_mod_inverse_no_branch(BIGNUM *ret,
	const BIGNUM *A, const BIGNUM *n,BN_CTX *ctx);
BIGNUM *BN_mod_sqrt(BIGNUM *ret,
	const BIGNUM *a, const BIGNUM *n,BN_CTX *ctx);

+5 −3
Original line number Diff line number Diff line
@@ -169,13 +169,15 @@ int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d,
#endif /* OPENSSL_NO_ASM */


/* BN_div computes  dv := num / divisor,  rounding towards zero, and sets up
 * rm  such that  dv*divisor + rm = num  holds.
/* BN_div[_no_branch] computes  dv := num / divisor,  rounding towards
 * zero, and sets up rm  such that  dv*divisor + rm = num  holds.
 * Thus:
 *     dv->neg == num->neg ^ divisor->neg  (unless the result is zero)
 *     rm->neg == num->neg                 (unless the remainder is zero)
 * If 'dv' or 'rm' is NULL, the respective value is not returned.
 */
static int BN_div_no_branch(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num,
        const BIGNUM *divisor, BN_CTX *ctx);
int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
	   BN_CTX *ctx)
	{
@@ -406,7 +408,7 @@ err:
/* BN_div_no_branch is a special version of BN_div. It does not contain
 * branches that may leak sensitive information.
 */
int BN_div_no_branch(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, 
static int BN_div_no_branch(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, 
	const BIGNUM *divisor, BN_CTX *ctx)
	{
	int norm_shift,i,loop;
+3 −1
Original line number Diff line number Diff line
@@ -203,6 +203,8 @@ err:


/* solves ax == 1 (mod n) */
static BIGNUM *BN_mod_inverse_no_branch(BIGNUM *in,
        const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx);
BIGNUM *BN_mod_inverse(BIGNUM *in,
	const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx)
	{
@@ -501,7 +503,7 @@ err:
/* BN_mod_inverse_no_branch is a special version of BN_mod_inverse. 
 * It does not contain branches that may leak sensitive information.
 */
BIGNUM *BN_mod_inverse_no_branch(BIGNUM *in,
static BIGNUM *BN_mod_inverse_no_branch(BIGNUM *in,
	const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx)
	{
	BIGNUM *A,*B,*X,*Y,*M,*D,*T,*R=NULL;
+0 −2
Original line number Diff line number Diff line
@@ -3510,8 +3510,6 @@ BIO_get_callback_arg 3902 EXIST::FUNCTION:
BIO_set_callback                        3903	EXIST::FUNCTION:
d2i_ASIdOrRange                         3904	EXIST::FUNCTION:RFC3779
i2d_ASIdentifiers                       3905	EXIST::FUNCTION:RFC3779
BN_div_no_branch                        3906	EXIST::FUNCTION:
BN_mod_inverse_no_branch                3907	EXIST::FUNCTION:
SEED_decrypt                            3908	EXIST::FUNCTION:SEED
SEED_encrypt                            3909	EXIST::FUNCTION:SEED
SEED_cbc_encrypt                        3910	EXIST::FUNCTION:SEED