7

I was reading about the Blum-Blum-Shub random number generator, and its security depends on the hardness of factoring very large numbers (like many things in crypto do).

I'm just wondering, if I have 10 computers, can I break Blum-Blum-Shub 10 times faster? Or is it impossible to factor numbers more quickly using parallel computation?

yyyyyyy
  • 12,081
  • 4
  • 47
  • 68
Maestro
  • 1,069
  • 1
  • 10
  • 16
  • What exactly are you asking? Are you trying to use it as a PRNG? Are you trying to distinguish it from a truly random sequence? Are you trying, given $x_n$ and $M$, to find $x_{n-1}$? Are you trying to just factor a number, without regard to anything else? – cpast Mar 20 '15 at 21:32
  • Im asking if the process of factoring an integer can be done in parallel? For example, in audio or video decoding its very easy to split the job across threads/processes or even machines. Bruteforcing a hash can also be split across multiple machines. But some tasks are hard to split the work, and I want to know which category this falls in. – Maestro Mar 20 '15 at 22:25
  • I'm voting to close this question as off-topic because it is about mathematical algorithms. It should be on Math.SE or CS.SE. – fkraiem Mar 21 '15 at 02:05
  • don't use BBS 2) The standard factoring algorithm is the number field sieve. There exists a variant called Batch NFS which at least in theory reduces the average cost for factoring if you attack multiple moduli. But I don't know if it leads to a practical improvement for typical key sizes. I'm also not sure to which degree it can be parallelized.
  • – CodesInChaos Mar 21 '15 at 09:40
  • 1
    @fkraiem I consider the efficiency of factoring algorithms on-topic for crypto.se. – CodesInChaos Mar 21 '15 at 09:41