From: David Benjamin Date: Tue, 17 Jul 2018 17:20:28 +0000 (-0400) Subject: Remove zero special-case in BN_mod_exp_mont. X-Git-Tag: OpenSSL_1_1_1-pre9~99 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=61ac9fc5c44718bf61ab68328333cc158230d090;p=oweals%2Fopenssl.git Remove zero special-case in BN_mod_exp_mont. A number intended to treat the base as secret should not be branching on whether it is zero. Test-wise, this is covered by existing tests in bnmod.txt. Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/6733) --- diff --git a/crypto/bn/bn_exp.c b/crypto/bn/bn_exp.c index 4e24c94ad3..2c92d7eac9 100644 --- a/crypto/bn/bn_exp.c +++ b/crypto/bn/bn_exp.c @@ -356,11 +356,6 @@ int BN_mod_exp_mont(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p, aa = val[0]; } else aa = a; - if (BN_is_zero(aa)) { - BN_zero(rr); - ret = 1; - goto err; - } if (!bn_to_mont_fixed_top(val[0], aa, mont, ctx)) goto err; /* 1 */