diff options
Diffstat (limited to 'security/nss/lib/freebl/mpi/doc/isprime.pod')
-rw-r--r-- | security/nss/lib/freebl/mpi/doc/isprime.pod | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/security/nss/lib/freebl/mpi/doc/isprime.pod b/security/nss/lib/freebl/mpi/doc/isprime.pod new file mode 100644 index 000000000..a8ec1f7ee --- /dev/null +++ b/security/nss/lib/freebl/mpi/doc/isprime.pod @@ -0,0 +1,63 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +=head1 NAME + + isprime - probabilistic primality testing + +=head1 SYNOPSIS + + isprime <a> + +=head1 DESCRIPTION + +The B<isprime> program attempts to determine whether the arbitrary +precision integer I<a> is prime. It first tests I<a> for divisibility +by the first 170 or so small primes, and assuming I<a> is not +divisible by any of these, applies 15 iterations of the Rabin-Miller +probabilistic primality test. + +If the program discovers that the number is composite, it will print: + + Not prime (reason) + +Where I<reason> is either: + + divisible by small prime x + +Or: + + failed nth pseudoprime test + +In the first case, I<x> indicates the first small prime factor that +was found. In the second case, I<n> indicates which of the +pseudoprime tests failed (numbered from 1) + +If this happens, the number is definitely not prime. However, if the +number succeeds, this message results: + + Probably prime, 1 in 4^15 chance of false positive + +If this happens, the number is prime with very high probability, but +its primality has not been absolutely proven, only demonstrated to a +very convincing degree. + +The value I<a> can be input in standard decimal notation, or, if it is +prefixed with I<Ox>, it will be read as hexadecimal. + +=head1 ENVIRONMENT + +You can control how many iterations of Rabin-Miller are performed on +the candidate number by setting the I<RM_TESTS> environment variable +to an integer value before starting up B<isprime>. This will change +the output slightly if the number passes all the tests. + +=head1 SEE ALSO + +gcd(1), invmod(1), lap(1) + +=head1 AUTHOR + + Michael J. Fromberger <sting@linguist.dartmouth.edu> + Thayer School of Engineering, Hanover, New Hampshire, USA |