]> de.git.xonotic.org Git - xonotic/d0_blind_id.git/blobdiff - d0_bignum-openssl.c
use is_prime_fasttest for the quick primality test
[xonotic/d0_blind_id.git] / d0_bignum-openssl.c
index 46c6f06621fbd466535b13d382687ee8fd62cfe0..c8316906f6b9a0b2d9327cbf852221934b6d2819 100644 (file)
@@ -29,7 +29,8 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Format:commit %H$, $Id$
+ * $Format:commit %H$
+ * $Id$
  */
 
 /* NOTE: this file links against openssl (http://www.openssl.org), which is
@@ -308,7 +309,10 @@ BOOL d0_bignum_mod_inv(d0_bignum_t *r, const d0_bignum_t *a, const d0_bignum_t *
 
 int d0_bignum_isprime(d0_bignum_t *r, int param)
 {
-       return BN_is_prime(&r->z, param, NULL, ctx, NULL);
+       if(param <= 0)
+               return BN_is_prime_fasttest(&r->z, 1, NULL, ctx, NULL, 1);
+       else
+               return BN_is_prime(&r->z, param, NULL, ctx, NULL);
 }
 
 d0_bignum_t *d0_bignum_gcd(d0_bignum_t *r, d0_bignum_t *s, d0_bignum_t *t, const d0_bignum_t *a, const d0_bignum_t *b)