instance method
OpenSSL::BN#prime?
(?::int checks) -> bool
bn.prime? => true | false
bn.prime?(checks) => true | false
ext/openssl/ossl_bn.c
View on GitHub ↗
static VALUE
ossl_bn_is_prime(int argc, VALUE *argv, VALUE self)
{
BIGNUM *bn;
int ret;
rb_check_arity(argc, 0, 1);
GetBN(self, bn);
#ifdef HAVE_BN_CHECK_PRIME
ret = BN_check_prime(bn, ossl_bn_ctx, NULL);
if (ret < 0)
ossl_raise(eBNError, "BN_check_prime");
#else
ret = BN_is_prime_fasttest_ex(bn, BN_prime_checks, ossl_bn_ctx, 1, NULL);
if (ret < 0)
ossl_raise(eBNError, "BN_is_prime_fasttest_ex");
#endif
return ret ? Qtrue : Qfalse;
}
Performs a Miller-Rabin probabilistic primality test for bn.
checks parameter is deprecated in version 3.0. It has no effect.