David Schwartz wrote:
>>>openssl prime 2
>>
>>2 is not prime
>>
>>openssl version openssl-0.9.8a
> 
> 
>       This is a known issue. The prime testing code was designed to test large
> primes.

rubbish, it is a simple overeager optimisation. Attached is a fix.

-d

Index: lib/libssl/src/crypto/bn/bn_prime.c
===================================================================
RCS file: /cvs/src/lib/libssl/src/crypto/bn/bn_prime.c,v
retrieving revision 1.5
diff -u -p -r1.5 bn_prime.c
--- lib/libssl/src/crypto/bn/bn_prime.c 12 May 2003 02:18:36 -0000      1.5
+++ lib/libssl/src/crypto/bn/bn_prime.c 7 Jan 2006 00:47:06 -0000
@@ -234,7 +234,7 @@ int BN_is_prime_fasttest(const BIGNUM *a
 
        /* first look for small factors */
        if (!BN_is_odd(a))
-               return 0;
+               return (BN_num_bits(a) == 2);
        if (do_trial_division)
                {
                for (i = 1; i < NUMPRIMES; i++)

Reply via email to