KEVOS
ArticlesServicesCase studiesAboutContact
ArticlesServicesCase studiesAboutContact
← ArticlesFaster Integer Arithmetic: Karatsuba and BeyondEngineering · Engineering MathematicsLesson 553/884← PrevNext →
ArticlePublished 7 Aug 20263 min readBy Kevin Jogin
On this page

Ask about this page

KEVOS AIFaster Integer Arithmetic: Karatsuba and Beyond

KEVOS knowledge first · trusted web sources when needed

Engineering  /  Mathematics  — Integer Algorithms

Faster Integer Arithmetic: Karatsuba and Beyond

Karatsuba multiplication and the divide-and-conquer family that reduces the exponent below two.

Page KV-MATH-0325Reading time 3 minReviewed 2026-08-07Author Kevin Jogin

Executive summary

Karatsuba's observation is that the product of two two-part numbers requires three multiplications of the parts rather than four, because one cross term can be recovered from a product of sums.

Applied recursively this gives an exponent of log base 2 of 3, roughly 1.585, and it opened a line of work that continues to Toom-Cook and FFT-based methods.

Learning objectives

  1. Derive the three-multiplication identity.
  2. Solve the recurrence to obtain the exponent.
  3. Judge when the method is worth using.

01The identity

Split each operand at half its length: a = a₁B^h + a₀ and b = b₁B^h + b₀. The product expands to three coefficient groups, and the middle one is obtainable without a fourth multiplication.

ab = a₁b₁B^{2h} + (a₁b₀ + a₀b₁)B^h + a₀b₀
a₁b₀ + a₀b₁ = (a₁ + a₀)(b₁ + b₀) − a₁b₁ − a₀b₀

The two outer products are needed anyway, so the middle term costs one extra multiplication rather than two. Three multiplications of half-length operands replace four.

Algorithm

Karatsuba multiplication

Inputa, b of length ℓ
Outputa · b
  1. If the operands are shorter than the crossover threshold, use schoolbook multiplication and return.
  2. Split a and b at half length into a₁, a₀ and b₁, b₀.
  3. Recursively compute P₂ = a₁b₁, P₀ = a₀b₀, and P₁ = (a₁+a₀)(b₁+b₀).
  4. Set M = P₁ − P₂ − P₀.
  5. Return P₂B^{2h} + M B^h + P₀.
Cost  O(ℓ^{log₂3}) ≈ O(ℓ^1.585)

02The recurrence

Three subproblems of half size plus linear-time additions gives T(ℓ) = 3T(ℓ/2) + O(ℓ), whose solution is Θ(ℓ^{log₂3}).

  1. Schoolbookℓ² = ℓ^2.000Four half-size multiplications
  2. Karatsubaℓ^1.585Three half-size multiplications
  3. Toom-3ℓ^1.465Five third-size multiplications
  4. Toom-kℓ^{log_k(2k−1)}Diminishing returns as k grows
  5. Schönhage-Strassenℓ log ℓ log log ℓFFT over a ring with suitable roots of unity
Note
The Toom family is parameterised by the number of pieces, with Karatsuba as the two-piece case. Each increment lowers the exponent but raises the constant and the number of additions sharply, so implementations switch through several members as operand size grows.

03When it pays

Karatsuba wins only above a crossover, because it trades multiplications for additions, recursion overhead and worse memory locality. Well-tuned libraries place the threshold somewhere in the range of a few hundred to about a thousand bits.

Caution
Benchmarking the crossover on the target platform is not optional. A threshold copied from another implementation is frequently wrong by a factor of two, and setting it too low makes multiplication slower across the range that matters most for cryptography.

For RSA at 2048 bits, operands sit near or just above typical crossovers, so the gain is real but modest. For symbolic computation with numbers of millions of bits, the asymptotic methods dominate entirely.

04Frequently asked questions

Does Karatsuba apply to squaring?

Yes, with the same structure and a slightly better constant, since the middle term uses a square of a sum. Dedicated Karatsuba squaring is standard in libraries.

Why not always use the asymptotically fastest method?

Because asymptotic superiority says nothing below the crossover, and the crossovers for FFT methods are in the tens of thousands of bits. Using Schönhage-Strassen at 2048 bits would be far slower than schoolbook.

Is there a lower bound on multiplication?

The trivial bound is linear, since the output must be written. Whether that is achievable was open for decades; an algorithm achieving O(ℓ log ℓ) is now known, which is conjectured optimal but the matching lower bound is unproved.

Related pages

  • Modular Exponentiation by Repeated Squaring
  • Euclid's Algorithm for Integer GCD

Sources and method

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

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

Modular Exponentiation by Repeated SquaringArticle · Engineering MathematicsNEXT LESSON →Euclid's Algorithm for Integer GCDArticle · Engineering MathematicsComputing in the Integers Modulo nArticle · Engineering MathematicsThe Extended Euclidean AlgorithmArticle · Engineering Mathematics
KEVOS · Engineering, manufacturing and project improvement
ArticlesServicesCase studiesAboutContact
© 2026 KEVOS®