diff --git a/CHANGES b/CHANGES index f706c101110f1b1ac4be004f7071144df685297b..1ea0ffba74ef965c29aeac38a35eec0550ad911c 100644 --- a/CHANGES +++ b/CHANGES @@ -31,7 +31,9 @@ division before starting the Rabin-Miller test and has an additional BN_CTX * argument (whereas BN_is_prime always has to allocate at least one BN_CTX). - [Bodo Moeller] + 'callback(1, -1, cb_arg)' is called when a number has passed the + trial division stage. + [Bodo Moeller] *) Fix for bug in CRL encoding. The validity dates weren't being handled as ASN1_TIME. diff --git a/crypto/bn/bn_prime.c b/crypto/bn/bn_prime.c index e679c7c8224991b97fd50e36072af8707c9bbdc3..39b99ea6c3317aa64711cf4c1b58d3cf88d8fb88 100644 --- a/crypto/bn/bn_prime.c +++ b/crypto/bn/bn_prime.c @@ -173,9 +173,12 @@ int BN_is_prime_fasttest(BIGNUM *a, int checks, if (!BN_is_odd(a)) return(0); if (do_trial_division) + { for (i = 1; i < NUMPRIMES; i++) if (BN_mod_word(a, primes[i]) == 0) return 0; + if (callback != NULL) callback(1,-1,cb_arg); + } if (ctx_passed != NULL) ctx=ctx_passed; diff --git a/doc/crypto/DSA_generate_parameters.pod b/doc/crypto/DSA_generate_parameters.pod index bae4e1b5604facb1805588dda5de44a6c2958b3e..04d8c9dff4e70efd95675ed1892e77270086fce8 100644 --- a/doc/crypto/DSA_generate_parameters.pod +++ b/doc/crypto/DSA_generate_parameters.pod @@ -42,9 +42,11 @@ When a candidate for q is generated, B is called =item * -While a candidate for q is tested, B -is called in the outer loop of the Miller-Rabin primality tests -(once for each witness that confirms that the candidate may be prime). +When a candidate for q has passed a test by trial division, +B is called. +While a candidate for q is tested by Miller-Rabin primality tests, +B is called in the outer loop +(once for each witness that confirms that the candidate may be prime); i is the loop counter (starting at 0). =item * @@ -59,8 +61,10 @@ B is called. =item * -While a candidate for p is tested, B -is called in the outer loop of the Miller-Rabin primality test +When a candidate for p has passed the test by trial division, +B is called. +While it is tested by the Miller-Rabin primality test, +B is called in the outer loop (once for each witness that confirms that the candidate may be prime). i is the loop counter (starting at 0).