Set flag BN_FLG_CONSTTIME earlier Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
diff --git a/crypto/dsa/dsa_ossl.c b/crypto/dsa/dsa_ossl.c index 81c5239..9c97ef9 100644 --- a/crypto/dsa/dsa_ossl.c +++ b/crypto/dsa/dsa_ossl.c
@@ -167,6 +167,8 @@ goto err; } while (BN_is_zero(k)); + BN_set_flags(k, BN_FLG_CONSTTIME); + if (dsa->flags & DSA_FLAG_CACHE_MONT_P) { if (!BN_MONT_CTX_set_locked(&dsa->method_mont_p, dsa->lock, dsa->p, ctx)) @@ -189,8 +191,6 @@ goto err; } - BN_set_flags(k, BN_FLG_CONSTTIME); - if ((dsa)->meth->bn_mod_exp != NULL) { if (!dsa->meth->bn_mod_exp(dsa, r, dsa->g, k, dsa->p, ctx, dsa->method_mont_p)) @@ -200,7 +200,6 @@ goto err; } - if (!BN_mod(r, r, dsa->q, ctx)) goto err;