← LibraryThe Quadratic Sieve AlgorithmEngineering · MathematicsLesson 134/385← PrevNext →
ArticlePublished 7 Aug 20263 min readBy Kevin Jogin

Engineering  /  Mathematics  — Discrete Logarithms and Factoring

The Quadratic Sieve Algorithm

The quadratic sieve: candidate generation near the square root, sieving for smoothness, and its practical range.

Page KV-MATH-0406Reading time 4 minReviewed 2026-08-07Author Kevin Jogin

Executive summary

The quadratic sieve generates candidates as values of a quadratic polynomial near the square root of n, so their residues are small and therefore more likely to be smooth.

Sieving detects smoothness across an interval at amortised low cost, which is the algorithmic advance that makes the method practical.

Learning objectives

  1. State the candidate polynomial and why it is chosen.
  2. Explain the sieving procedure.
  3. State the algorithm's practical range.

01Candidate generation

Take Q(x) = (x + ⌈√n⌉)² − n. For x small, Q(x) is small relative to n — of order √n — and is automatically congruent to a square modulo n.

Q(x) = (x + ⌈√n⌉)² − n ≡ (x + ⌈√n⌉)² (mod n)

Smallness is the whole point: smaller values are far more likely to be smooth, and the density estimate is highly sensitive to size. Generating candidates near the square root rather than at random is what makes the method work.

02Sieving

Testing each candidate for smoothness by trial division would be far too slow. Sieving inverts the loop: for each factor base prime, mark all the candidates it divides.

Algorithm

Quadratic sieve, sieving phase

Inputmodulus n, factor base, sieve interval
Outputsmooth values of Q with their factorisations
  1. Allocate an array of approximate logarithms over the sieve interval, initialised to zero.
  2. For each factor base prime p:
  3.   Solve Q(x) ≡ 0 (mod p) for the two roots modulo p.
  4.   For each root, step through the interval adding log p at every position divisible by p.
  5. Report positions whose accumulated total is close to log|Q(x)| as smooth candidates.
  6. Verify each reported candidate by trial division over the factor base.
Cost  amortised O(log log y) per candidate

Working with approximate logarithms rather than exact division is the practical trick: additions replace divisions, and single-byte precision suffices because a verification pass catches the few false positives.

03Practical range and variants

Quadratic sieve variants
VariantImprovementEffect
Basic quadratic sieveBaseline
Multiple polynomial QSMany polynomials, short intervals eachKeeps values small throughout; large gain
Large prime variationAllows one prime above the boundPartial relations combine; more relations per unit work
Double large primeAllows twoFurther gains at the cost of more bookkeeping

The multiple polynomial variant is the important one. A single polynomial produces values that grow as x moves away from zero, so the smoothness rate degrades along the interval. Switching polynomials frequently keeps every candidate small.

  1. Quadratic sieveL(1/2, 1)Best method up to roughly 100 digits
  2. Number field sieveL(1/3, 1.92)Better beyond; all records use it

The quadratic sieve remains the method of choice for moduli in the range where the number field sieve's much larger setup overhead is not yet amortised — roughly up to a hundred digits, which is well below cryptographic sizes but covers many practical factorisation tasks.

04Frequently asked questions

Why does Q(x) ≡ 0 (mod p) have exactly two roots?

Because it is a quadratic congruence modulo a prime, and n must be a quadratic residue modulo p for roots to exist at all. The factor base is restricted to primes for which that holds, which halves its size for free.

Why are approximate logarithms adequate?

Because the test only needs to identify candidates whose accumulated log total is near the expected value. Small errors produce a few false positives, which the verification pass removes cheaply.

When is the number field sieve preferable?

Above roughly 100 to 120 digits. Below that its substantial setup cost — particularly polynomial selection — outweighs its better asymptotic behaviour.

Sources and method

Structural reference: Victor Shoup, A Computational Introduction to Number Theory and Algebra, Version 1, Cambridge University Press, 2005 — book pages 354-356.

This page carries the durable method layer only: definitions, constructions, algorithms, complexity results and selection criteria, authored originally for KEVOS. No text is transcribed or paraphrased from the source, and no numeric tables or benchmark data are reproduced — these are routed to live authoritative sources instead.

Author: Kevin Jogin. Last reviewed 2026-08-07.

Continue learning

Better Smoothness Density EstimatesArticle · MathematicsNEXT LESSON →The Number Field Sieve and Factoring RecordsArticle · MathematicsSubexponential Integer FactoringArticle · MathematicsQuadratic ResiduesArticle · Mathematics