KEVOS
ArticlesServicesCase studiesAboutContact
ArticlesServicesCase studiesAboutContact
← ArticlesCompositeness Tests: Fermat and Miller–RabinEngineering · Engineering MathematicsLesson 2/5← PrevNext →
GuidePublished 6 Aug 2026Updated 13 Aug 20269 min readBy Kevin JoginComputational Number TheoryPrimalityFermat TestMiller-Rabin
On this page

Ask about this page

KEVOS AICompositeness Tests: Fermat and Miller–Rabin

KEVOS knowledge first · trusted web sources when needed

Skip to the main content

Mathematics•Primality

Compositeness Tests: Fermat and Miller–Rabin

The fast tests that filter almost everything — and the Carmichael numbers that show why the strong version is required.

  • Engineering
  • Mathematics
  • Part 2 of 5
  • 10 min read
  • KV-MATH-0045
Executive summary

One modular exponentiation, with the intermediate squarings inspected

Fermat's little theorem gives an immediate test: if an−1 ≢ 1 (mod n) then n is composite. Carmichael numbers defeat it for every coprime base. Miller–Rabin strengthens the test by writing n − 1 = 2sd and inspecting the sequence of squarings, exploiting the fact that a field has only two square roots of 1. At most a quarter of bases can fail to witness a composite.

Learning objectives

  • State Fermat's test and the reason for its failure.
  • Implement the strong probable prime test correctly.
  • State the error bound and how it improves for random inputs.
  • Use verified deterministic base sets for bounded ranges.
  • Explain why Baillie–PSW combines two dissimilar tests.

Section 01The Fermat test and Carmichael numbers

an−1 ≡ 1   (mod n)    for prime n and gcd(a, n) = 1

A composite passing this for a given base is a Fermat pseudoprime to that base. Carmichael numbers pass for every coprime base — 561, 1105 and 1729 are the smallest — and there are infinitely many. The Fermat test alone is therefore not merely weak but systematically defeatable.

A GCD failure is a factor, not an error

If gcd(a, n) > 1 the test is inapplicable, but that GCD is a non-trivial factor of n — a useful outcome for a test that was only meant to detect compositeness. Implementations should report it rather than discard it.

Section 02The strong test

In a field, x2 = 1 forces x = ±1. The strong test checks this at every squaring on the way to an−1.

AlgorithmMiller–Rabin strong probable prime testin: odd n > 2, base a  →  out: composite, or probable prime
  1. Write n − 1 = 2sd with d odd.
  2. Set x ← ad mod n. If x = 1 or x = n − 1, report probable prime for this base.
  3. For r = 1, …, s−1: set x ← x2 mod n.
  4.    If x = n − 1, report probable prime for this base.
  5.    If x = 1, report composite — a non-trivial square root of 1 was found. This is the strengthening over Fermat.
  6. Report composite.
Cost is one modular exponentiation, with the intermediate squarings inspected as they occur — so the strong test is no more expensive than the Fermat test.
≤ 1/4proportion of bases failing to witness a composite
4−kworst-case error after k random bases
No universal pseudoprimesunlike Fermat, no Carmichael analogue exists
Random bases, not fixed ones

The 1/4 bound applies to bases chosen at random. Fixed bases can be defeated by adversarially constructed composites, and such constructions are published. Any implementation used on untrusted input must randomise its bases.

Section 03Deterministic variants

For bounded ranges, exhaustively verified base sets make the test deterministic. These sets are the result of computation, not theory, and are valid only within their stated bound.

Verified deterministic base sets
Bound on nSufficient bases
3 215 031 7512, 3, 5, 7
3 474 749 660 3832, 3, 5, 7, 11, 13
341 550 071 728 321the first 9 primes
3 317 044 064 679 887 385 961 981the first 13 primes
Do not extrapolate a base set

These sets are proved only up to their bounds. Applying a set beyond its range converts a deterministic test into an unsound one with no error bound at all. Above 64 bits, use random bases and report a probability, or use a proving algorithm.

Section 04Baillie–PSW

The Baillie–PSW test combines a strong probable prime test to base 2 with a strong Lucas test using parameters chosen by a Jacobi symbol condition. The two tests fail in structurally different ways, so a composite passing both would need to be exceptional in two unrelated respects.

No counterexample is known

Despite extensive search, no composite has been found that passes Baillie–PSW, though heuristic arguments suggest such numbers exist. It is not a proof of primality, but as a practical filter it is stronger than any comparable number of Miller–Rabin rounds and is the default in several major libraries.

ReferenceFrequently asked questions

Why is the error probability better in practice than 4^(-k)?

Because the 1/4 bound is attained only by rare, specially structured composites. For a random odd candidate of a given size, the probability that it is composite yet passes even a single round is far smaller, which is why candidate generation and adversarial testing require different round counts.

Should the base 1 or n-1 be used?

No — both pass trivially for every n and carry no information. Bases should be drawn uniformly from the range 2 to n−2.

Does the strong test detect all Carmichael numbers?

Yes, for most bases. Carmichael numbers are Fermat pseudoprimes to all coprime bases, but they are not strong pseudoprimes to all bases — the intermediate square root condition catches them, which is precisely why the strong test superseded Fermat's.

NavigateContinue in this stream

Curated next steps from this page. The site also surfaces algorithmically related reading below.

  • PrimalityPrimality Testing versus Factoring
  • PrimalityClassical Primality Proofs: Pocklington and Lehmer
  • Foundational AlgorithmsModular Exponentiation and Powering Algorithms
  • Foundational AlgorithmsLegendre, Jacobi and Kronecker Symbols

ProvenanceSources and further reading

This page is an original KEVOS explanatory article. It presents the underlying mathematics — definitions, algorithms, complexity results and selection criteria — in KEVOS editorial voice. No text is reproduced from any copyrighted source. Where numerical tables are relevant, KEVOS links to live authoritative databases rather than republishing static values.

Handbook application: from concept to controlled practice

Purpose. This expanded section turns the original page into a practical handbook. It preserves the supplied material and adds a repeatable way to apply, check and review Compositeness Tests: Fermat and Miller–Rabin. It does not replace a contract, legislation, a controlled standard, competent engineering judgement or specialist advice.

The operating aim is to turn a compact mathematical statement into a usable chain of definitions, claims, examples and checks. Read the original explanation first, then use the workflow and checks below to convert knowledge into evidence.

Treat Compositeness Tests: Fermat and Miller–Rabin as a network of definitions and implications, not as a list of formulas. The working vocabulary on this page—test, fermat, section, carmichael, strong—should be made explicit before any proof or computation begins. Record the ambient set or structure, the permitted operations and the equality or equivalence relation in use. A compact theorem often changes meaning when the base field, finiteness condition, commutativity assumption or direction of an action changes.

For a proof, write the hypotheses as a checklist and mark the line at which each one is used. For a computation, state the representation of the input, the arithmetic model, the termination condition and the output invariant. For a classification problem, distinguish existence from uniqueness and distinguish an object from its representation. These separations prevent a correct local calculation from being mistaken for the general result.

A useful worked example should be small enough to inspect completely but rich enough to exercise the main mechanism. Compute the result in two ways where practical: symbolically and by substitution, structurally and numerically, or directly and through a normal form. Then include one near-miss example in which a hypothesis fails. The contrast explains why the theorem is shaped as it is and gives the reader a diagnostic pattern for later problems.

Verification is part of the mathematics. Check domains and codomains, substitute proposed solutions, test identity and zero cases, compare dimensions or cardinalities, and confirm that maps respect the required operations. In numerical work, report precision, conditioning and a residual rather than digits alone. In algorithmic work, separate mathematical correctness from implementation complexity and resource limits.

Step-by-step operating method

  1. Fix the setting. State the objects, ambient structure, notation and assumptions before manipulating symbols.
  2. Separate claims. Distinguish definitions, hypotheses, conclusions, equivalent conditions and consequences.
  3. Choose a method. Select proof, construction, calculation or algorithm according to the question actually asked.
  4. Work a small case. Use the smallest non-trivial example to expose the mechanism and test edge behaviour.
  5. Verify independently. Substitute back, check invariants, test boundary cases or use an alternative derivation.

Worked-example protocol

Illustrative method—not a source theorem. Start with a small admissible input and list the definitions it must satisfy. Carry out each transformation on a separate line, citing the property that permits it. Preserve exact values until approximation is necessary. At the end, verify the output against the original definition and one invariant such as dimension, degree, determinant, order, norm or residual. Then alter one hypothesis and observe which step ceases to be valid. This protocol creates a reusable example without inventing a theorem-specific numerical answer.

StageRecordQuality check
InputObjects, domain, notation, assumptionsEvery symbol is defined
MethodPermitted operation or cited result at each stepAll hypotheses hold
OutputExact result and representationCorrect type, domain and form
VerificationSubstitution, invariant or alternative derivationIndependent agreement
Boundary testZero, identity, degenerate or failed hypothesisScope is understood

Common failure modes and recovery actions

1. Watch for

Using a theorem without checking every hypothesis.

Recovery: Return to the governing definition or requirement and restate the decision in one sentence.

2. Watch for

Treating a suggestive example as a proof of the general case.

Recovery: Separate evidence from assumption, assign an owner and set a date for validation.

3. Watch for

Changing notation or conventions part-way through an argument.

Recovery: Run a small counterexample, boundary test, pilot or independent check before proceeding.

4. Watch for

Hiding a division-by-zero, convergence, finiteness or commutativity assumption.

Recovery: Record the consequence, decision and rationale, then update the controlled baseline.

5. Watch for

Reporting a computed result without a residual, substitution or structural check.

Recovery: Escalate when the issue affects safety, compliance, acceptance, material value or an agreed tolerance.

Review checklist

  • Can every symbol be traced to a definition or prior result?
  • Which hypothesis does each major step use?
  • Does the method cover zero, identity, degenerate and boundary cases?
  • Can the conclusion be checked by a second representation or calculation?
  • Are mandatory requirements distinguished from recommendations and illustrative values?
  • Are sources, assumptions, units, dates and versions recorded closely enough to reproduce the decision?
  • Have safety, legal, ethical, stakeholder and operational consequences been considered at the appropriate level?
  • Is there a named owner and a trigger for review, escalation, change or retirement?

Questions for deeper application

What is the most important distinction a practitioner must preserve when applying Compositeness Tests: Fermat and Miller–Rabin?

Answer with a fact or cited source where available. Where evidence is incomplete, record the assumption, consequence, responsible owner and next validation action.

Which assumption about test would change the result most if it proved false?

Answer with a fact or cited source where available. Where evidence is incomplete, record the assumption, consequence, responsible owner and next validation action.

What evidence would allow an independent reviewer to reproduce or challenge the conclusion?

Answer with a fact or cited source where available. Where evidence is incomplete, record the assumption, consequence, responsible owner and next validation action.

Which boundary, exception or failure case has not yet been tested?

Answer with a fact or cited source where available. Where evidence is incomplete, record the assumption, consequence, responsible owner and next validation action.

What must be handed over, monitored or reviewed after the immediate work is complete?

Answer with a fact or cited source where available. Where evidence is incomplete, record the assumption, consequence, responsible owner and next validation action.

Authoritative references and use notes

The sources below were selected as institutional or primary guidance for the broader practice. They support the handbook method; they do not imply that every statement or clause in a source applies to every project. Confirm the current edition, jurisdiction, contract and application before treating any requirement as mandatory.

  • MIT OpenCourseWare — Number Theory I — Massachusetts Institute of Technology. Used for algebraic and analytic number theory. Accessed 2026-08-13.
  • MIT OpenCourseWare — Algebra I — Massachusetts Institute of Technology. Used for groups, vector spaces, linear transformations and linear groups. Accessed 2026-08-13.

On this page

  1. Executive summary
  2. The Fermat test and Carmichael numbers
  3. The strong test
  4. Deterministic variants
  5. Baillie–PSW
  6. FAQ
  7. Continue in this stream
  8. Sources
Page ID
KV-MATH-0045
Taxonomy
ENG-MATH — Engineering / Mathematics
Collection
COL-CANT-001
Topic stream
CANT-PRIMALITY
Version
1.1.0 / content 2026.08
Last reviewed
2026-08-06

Continue learning

Primality Testing versus FactoringGuide · Engineering MathematicsNEXT LESSON →Classical Primality Proofs: Pocklington and LehmerGuide · Engineering MathematicsThe Jacobi Sum Primality TestGuide · Engineering MathematicsElliptic Curve Primality ProvingGuide · Engineering Mathematics
KEVOS · Engineering, manufacturing and project improvement
ArticlesServicesCase studiesAboutContact
© 2026 KEVOS®