Factoring assumption

The factoring assumption states that there is no efficient algorithm that factors the product of two large, random, equal-length primes and . This is one of the oldest and most studied hardness assumptions in computational number theory and is the basis of RSA-based cryptography.

Assumption

For security parameter , let be independently uniform random -bit primes and . The factoring advantage of an adversary is

Factoring is hard if for all efficient , is negligible.

Known Results

  • The RSA assumption (hardness of computing -th roots mod ) is implied by the factoring assumption — RSA78; the converse is open (factoring may be harder than RSA)
  • The QR assumption follows from factoring hardness — GM84
  • The DCR assumption (Paillier) follows from factoring hardness — Pai99
  • Quantum computers can factor in polynomial time via Shor’s algorithm — Shor97

Variations

Strong RSA assumption

The strong RSA assumption requires that it is hard to compute any -th root of a random group element for an adversarially chosen , not just a fixed . This is a stronger assumption than standard RSA.

Factoring with known factor structure

Some protocols assume factoring is hard even given additional structural information about (e.g., with , so-called Blum integers). Blum integers are used in the Blum-Blum-Shub PRG.

Attacks

  • Trial division: — practical only for very small factors
  • Pollard’s algorithm: expected time
  • Elliptic curve method (ECM): efficient when is small; runs in
  • Quadratic sieve: — best algorithm for
  • General Number Field Sieve (GNFS): sub-exponential — best known classical algorithm for large
  • Quantum: Shor’s algorithm — polynomial time Shor97