13
$\begingroup$

How much stronger is RSA-2048 compared to RSA-1024? It is hard to imagine very big numbers. So what would be your way to explain the difference to someone who doesn't know much about cryptography?

$\endgroup$
8
  • 1
    $\begingroup$ RSA-1024: no men will be able to decrypt it before the whole universe colapses. RSA-2048: even Chuck Norris won't be able to decrypt it before the universe colapses... $\endgroup$ Commented Jul 1, 2013 at 16:37
  • 1
    $\begingroup$ ...assuming the problem of factoring semiprimes is actually as difficult as we think it is. $\endgroup$ Commented Jul 1, 2013 at 16:55
  • 9
    $\begingroup$ @woliveirajr RSA-1024 is far weaker than that. AFAIK it's currently borderline feasible to break it for state level adversaries with a few billion to spend. If it's not breakable now, 10 years from now it should be. $\endgroup$ Commented Jul 1, 2013 at 16:59
  • $\begingroup$ @CodesInChaos is correct. RSA-768 was factored 4 years ago, which means semiprimes up to about 820 bits are vulnerable today. Faster hardware, etc. There's a chart somewhere that shows exactly how many bits are safe as a function of the year... Let me see if I can dig it up and make an edit. $\endgroup$
    – pg1989
    Commented Jul 1, 2013 at 18:29
  • $\begingroup$ I heard that they could factor RSA-1024 bit in a year, with just a milion dollar computer. That why you need at least 2048 bit nowadays. $\endgroup$
    – user27296
    Commented Jul 1, 2013 at 20:50

1 Answer 1

21
$\begingroup$

You can use the complexity of the GNFS, the fastest known general-purpose factoring algorithm, to estimate the strength (in bits) of an RSA key size.

Referencing the table linked above, a 1024-bit key has approximately 80 bits of strength, while a 2048-bit key has approximately 112 bits. Thus, it takes approximately 2112/280 = 232 times as long to factor a 2048-bit key. In other words, it takes around four billion times longer to factor a 2048-bit key.

Thus, if you were able to magically factor a 1024-bit key in 10 seconds (which is totally unrealistic in every way possible, I may add), then it would take around 1,200 years to factor a 2048-bit key (note: this is not adjusted for Moore's law). Of course, it took around two years and a massive collaborative effort just to factor a 768-bit key, so factoring a 1024-bit key takes far, far longer than 10 seconds. But this is just to demonstrate the point: 2048-bit keys are much more secure.

If you do want to adjust for Moore's law and the ever-faster pace of computing, you can use this approximation by fgrieu. If you solve the equation for when a 2048-bit key is expected to be factored (keeping in mind that this is a rough approximation), you arrive at the year... 2048. So somewhere around 2040-2050, if that linear approximation holds true, we expect 2048-bit keys to be feasibly factored. In comparison, you can see that the 1024-bit key is expected to be factorable sometime around 2015-2020.

$\endgroup$
5
  • 1
    $\begingroup$ Someone who does not understand encryption, will not understand anything about GNFS either... You forgot to explain why we can't just say that $2^{2048} = 2^{1024}·2^{1024}$ is $2^{1024}$ times harder than $2^{1024}$. I heard that you could factor $1024$-bit RSA in a year with a milion dollar computer. $\endgroup$
    – user27296
    Commented Jul 1, 2013 at 20:53
  • 1
    $\begingroup$ @user27296 I edited your comment to use MathJax formatting instead of HTML (which doesn't work in comments). I used $2^{1024}$, for example. $\endgroup$ Commented Jul 2, 2013 at 7:28
  • $\begingroup$ @user27296 it's implicit in Reid's answer. It's not $2^{1024}$ times harder because GNFS can attack it faster than simple brute force. It's $2^{32}$ times harder, as mentioned. $\endgroup$
    – Conrado
    Commented Jul 3, 2013 at 11:56
  • $\begingroup$ @user27296: The first link in the answer contains more info about specifics. I agree that someone who doesn't know much about cryptography or number theory probably wouldn't know what the GNFS was, but honestly, to know how much stronger a 2048-bit key is, you don't really need to know the details and reasons. Anyway, I provided links that go into more detail both in this answer and my other (linked) answer in case anyone was curious. $\endgroup$
    – Reid
    Commented Jul 3, 2013 at 18:16
  • 5
    $\begingroup$ Now that it's almost the end of 2020 I'd like an update on this. 😉 $\endgroup$ Commented Sep 5, 2020 at 1:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.