diff --git a/CHANGES b/CHANGES index ab334b87e..9a1ad16fe 100644 --- a/CHANGES +++ b/CHANGES @@ -32,7 +32,9 @@ [Richard Levitte] *) New function BN_mod_sqrt for computing square roots modulo a prime - (Tonelli-Shanks algorithm unless p == 3 (mod 4) or p == 5 (mod 8)). + (using the probabilistic Tonelli-Shanks algorithm unless + p == 3 (mod 4) or p == 5 (mod 8), which are cases that can + be handled deterministically). [Lenka Fibikova , Bodo Moeller] *) Store verify_result within SSL_SESSION also for client side to diff --git a/crypto/bn/bn_sqrt.c b/crypto/bn/bn_sqrt.c index a54d9d291..6d50b5d89 100644 --- a/crypto/bn/bn_sqrt.c +++ b/crypto/bn/bn_sqrt.c @@ -201,7 +201,7 @@ BIGNUM *BN_mod_sqrt(BIGNUM *in, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx) /* t := (2*a)*b^2 - 1*/ if (!BN_mod_mul(t, t, y, p, ctx)) goto end; - if (!BN_sub_word(t, 1)) goto end; /* cannot become negative */ + if (!BN_sub_word(t, 1)) goto end; /* x = a*b*t */ if (!BN_mod_mul(x, a, b, p, ctx)) goto end;