## 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.