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

VERSION

Version 0.58

SYNOPSIS

DESCRIPTION

Routines to generate random primes, including constructing proven primes.

RANDOM UTILITY FUNCTIONS

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 FUNCTIONS

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.

RANDOM PRIMALITY FUNCTIONS

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]>

COPYRIGHT

Copyright 2012-2013 by Dana Jacobsen <[email protected]>

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.