Miller primality test

E735950

The Miller primality test is a randomized algorithm used to determine whether a number is prime with high confidence, forming the basis of the widely used Miller–Rabin primality test in computational number theory and cryptography.

All labels observed (4)

How this entity was disambiguated

Statements (48)

Predicate Object
instanceOf algorithm in number theory ⓘ
primality test ⓘ
randomized algorithm ⓘ
application cryptographic parameter generation ⓘ
key generation in public-key cryptography ⓘ
testing large integers for primality ⓘ
assumption generalized Riemann hypothesis for certain error bounds ⓘ
author Gary L. Miller ⓘ
basedOn Riemann hypothesis ⓘ
classification Monte Carlo algorithm ⓘ
linked to: Monte Carlo method
compositenessWitnessCondition x ≠ 1 and x ≠ n−1 and no square equals n−1 modulo n ⓘ
coreIdea search for nontrivial square roots of 1 modulo n ⓘ
use repeated squaring of a^d mod n ⓘ
deterministicUnder generalized Riemann hypothesis ⓘ
errorDirection may classify some composite numbers as probably prime ⓘ
never classifies a prime as composite ⓘ
errorType one-sided error ⓘ
field computational number theory ⓘ
cryptography ⓘ
generalizationOf Fermat primality test ⓘ
guarantee deterministic polynomial-time primality test under GRH ⓘ
never declares a composite number prime if the generalized Riemann hypothesis holds ⓘ
improvesOn Fermat primality test ⓘ
influenced practical primality testing algorithms ⓘ
input odd integer n > 2 ⓘ
inspired Miller–Rabin primality test ⓘ
language number-theoretic algorithm ⓘ
output "composite" or "probably prime" ⓘ
relatedAlgorithm AKS primality test ⓘ
relatedConcept Carmichael number ⓘ
strong pseudoprime ⓘ
witness for compositeness ⓘ
relation forms the theoretical basis of the Miller–Rabin primality test ⓘ
step check if x = 1 or x = n−1 ⓘ
choose random base a with 1 < a < n−1 ⓘ
compute x = a^d mod n ⓘ
square x repeatedly up to s−1 times ⓘ
write n−1 = 2^s·d with d odd ⓘ
timeComplexity polynomial in log n under GRH ⓘ
typicalImplementationLanguage C ⓘ
C++ ⓘ
Java ⓘ
Python ⓘ
usedWith modular exponentiation by repeated squaring ⓘ
uses decomposition of n−1 as 2^s·d ⓘ
modular exponentiation ⓘ
witnesses for compositeness ⓘ
yearProposed 1976 ⓘ

How these facts were elicited

Referenced by (12)

Full triples — surface form annotated when it differs from this entity's canonical label.

Adleman–Pomerance–Rumely primality test → relatedTo → Miller–Rabin primality test ⓘ
linked to: Miller primality test
Michael O. Rabin → knownFor → Rabin–Miller primality test ⓘ
subject linked to: Michael Rabin
linked to: Miller primality test
Michael O. Rabin → notableWork → Probabilistic Algorithm for Testing Primality ⓘ
subject linked to: Michael Rabin
linked to: Miller primality test
Fermat primality test → isSimplerThan → Miller–Rabin primality test ⓘ
linked to: Miller primality test
Fermat pseudoprime → relatedTo → Miller–Rabin primality test ⓘ
linked to: Miller primality test
Selfridge–Conway primality test → relatedTo → Miller–Rabin primality test ⓘ
linked to: Miller primality test
Miller primality test → inspired → Miller–Rabin primality test ⓘ
linked to: Miller primality test
AKS primality test → comparedTo → Miller primality test ⓘ
Michael Oser Rabin → notableWork → Rabin–Miller primality test ⓘ
linked to: Miller primality test
Michael Oser Rabin → knownFor → Rabin–Miller primality test ⓘ
linked to: Miller primality test
algorithmic number theory → notableAlgorithm → Miller–Rabin primality test ⓘ
linked to: Miller primality test