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