9

I read on Wikipedia, the fastest Algorithm for breaking RSA is GNFS.

And in one IEEE paper (MVFactor: A method to decrease processing time for factorization algorithm), I read the fastest algorithms are TDM, FFM and VFactor.

Which of these is actually right?

kelalaka
  • 49,797
  • 12
  • 123
  • 211
user56036
  • 101
  • 1
  • 1
  • 3

3 Answers3

12

The IEEE paper is silly.

The factorization method they give is quite slow, except for rare cases. For example, in their table 1, where they proudly show that their improved algorithm takes 653.14 seconds to factor a 67 bit number; well, I just tried it using a more conventional algorithm, and it took 6msec; yes, that's 100,000 times as fast...

poncho
  • 154,064
  • 12
  • 239
  • 382
9

Which of these is actually right?

Both. From reading the abstract it appears the papper doesn't claim that "VFactor" or Fermat Factorization ("FFM") or Trial Division ("TDM") are the best methods in general. However, if the difference between primes $p,q$ with $n=pq$ is really small, like $\ll2^{100}$$\;\dagger$, then FFM (and probably the VFactor variants as well) will be a lot faster.

Though in general the difference between two same-length random primes is about $\sqrt{n}/2$ which is about $2^{1024}$ for realistically sized moduli, so these attacks don't work there. Even with 400-bit moduli, which are somewhat easily crackable using a home desktop using the GNFS, this difference is still about $2^{200}$ and thus way too large.

Of course the implementation of the key generation may be faulty and emit primes in a too small interval and it's in these cases where these specialized algorithms really shine.

$\dagger$: "$\ll$" meaning "a lot less" here

SEJPM
  • 46,697
  • 9
  • 103
  • 214
6

Quantum algorithms

There is of course Shor's algorithm, but as this algorithm only runs on quantum computers with a lot of qubits it's not capable to factor larger numbers than $21$ (reference).

There are multiple apparent new records using adiabatic quantum computation, although some are apparently stunts: See fgrieu's answer on a related question.

Classical algorithms

The general number field sieve is the fastest known classical algorithm for factoring numbers over $10^{100}$.

The Quadratic sieve algorithm is the fastest known classical algorithm for factoring numbers under $10^{100}$.

AleksanderCH
  • 6,511
  • 10
  • 31
  • 64