Math::Prime::Util::RandomPrimes(3) Generate random primes

Version 0.58

## DESCRIPTION

Routines to generate random primes, including constructing proven primes.

## get_randf

Gets a subroutine that will produce random integers between 0 and "n", inclusive. The argument "n" can be a bigint.

## get_randf_nbit

Gets a subroutine that will produce random integers between 0 and "2^n-1", inclusive.

## random_prime

Generate a random prime between "low" and "high". If given one argument, "low" will be 2.

## random_ndigit_prime

Generate a random prime with "n" digits. "n" must be at least 1.

## random_nbit_prime

Generate a random prime with "n" bits. "n" must be at least 2.

## random_maurer_prime

Construct a random provable prime of "n" bits using Maurer's FastPrime algorithm. "n" must be at least 2.

## random_maurer_prime_with_cert

Construct a random provable prime of "n" bits using Maurer's FastPrime algorithm. "n" must be at least 2. Returns a list of two items: the prime and the certificate.

## random_shawe_taylor_prime

Construct a random provable prime of "n" bits using Shawe-Taylor's algorithm. "n" must be at least 2. The implementation is from FIPS 186-4 and uses SHA-256 with 512 bits of randomness.

## random_shawe_taylor_prime_with_cert

Construct a random provable prime of "n" bits using Shawe-Taylor's algorithm. "n" must be at least 2. Returns a list of two items: the prime and the certificate.

## random_strong_prime

Construct a random strong prime of "n" bits. "n" must be at least 128.

## random_proven_prime

Generate or construct a random provable prime of "n" bits. "n" must be at least 2.

## random_proven_prime_with_cert

Generate or construct a random provable prime of "n" bits. "n" must be at least 2. Returns a list of two items: the prime and the certificate.

## miller_rabin_random

Given a number "n" and a number of tests to perform "k", this does "k" Miller-Rabin tests on "n" using randomly selected bases. The return value is 1 if all bases are a witness to to "n", or 0 if any of them fail.

## AUTHORS

Dana Jacobsen <[email protected]>