Factoring Breakthrough?
An anonymous reader sent in: "In this post to the Cryptography Mailing List, someone who knows more about math than I do claimed "effectively all PGP RSA keys shorter than 2k bits are insecure, and the 2kbit keys are not nearly as secure as we thought they were." Apparently Dan Bernstein of qmail fame figured out how to factor integers faster on the same cost hardware. Should we be revoking our keys and creating larger ones? Is this "the biggest
news in crypto in the last decade," as the original poster claims, or only ginger-scale big?"
Cryptography is going to be a perpetual game of "measure, counter-measure" as computing power increases and people develop more clever ways of doing things.
Does anybody have good sources about this? Ones based on historical encryption and decryption that lead into modern times would be ideal.
Either give it away or get top dollar, but never sell yourself cheap.
The NSA factors numbers, and their work is top-secret. When I read stories like this, I wonder if people are just discovering things that the NSA has known about for years. If the NSA could factor 2 Kbit keys, would they tell people? Probably not.
So when you ask "Are our keys secure" the logical follow-up question is, "From who?"
From me? Yes. I probably couldn't factor a 1000 digit number.
From your boss? Yes. You could use rot-13 and your boss would probably be baffeled.
From your boss' lawyers? From the police? Here is where we get into the gray area; where the article becomes relevant
From the government? I think you were kidding yourself when you thought it was secure in the first place. I find it easy to believe that the NSA is far ahead of the public in the encryption arms-race.
God is real unless declared integer
The Rijndael/AES cryptosystem does not depend on the difficulty of factoring. This is a big deal mostly for RSA.
Shouldn't we all hang on until crypto experts validate this? Is it theoretical? How much does the attack cost? etc. etc.
I wouldn't start sending those revocation certificates just yet.
e4 e5
Using 128 bits is fine for symmetric key algorithms like IDEAS and Blowfish. It's not ok for public/private key algorithms like RSA. You're comparing Apples to Oranges.
I find it funny and interesting that because the NSA and other TLA agengies are *so* tight lipped we assume their skills and abilities are far ahead of current "joe-sixpack" tech.
I suppose this very well could be the case, but it sure lends itself to great conspiracy theories.
I suppose the TLA agengies don't really need strong crypto to invade on my privacy. They just need a court order.
Sure I use a 2048bit key (soon to be 4096bit I guess), but will that really stop them from making me give up the goods if faced with jail when they come asking for my data?
Nope, because I have nothing really to hide. Maybe I keep my cache of pr0n encrypted so my fiancee doesn't discover it, but I will sure-as-shooting give that information up to keep me out of jail.
I'm to pretty for jail!
Only a threefold increase in speed? That would make hardly any difference, you'd get a threefold speed increase just by waiting a few years for Moore's law to deliver.
My understanding is that keys of three times the length can be cracked in about the same time - which is an _exponential_ increase in speed.
-- Ed Avis ed@membled.com
The poster seems to think speeding the calculation by 3x means reducing the strength of 300bits to that of 100bits. I know this is plain wrong but I'm not sure of the correct value.
TWW
"Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
I've seen a lot of comments about how this means that all SSL and PGP encryption is transparent, etc.
Please, get a grip.
Most "transient" connections still use 512 bit keys. If this effectively reduces the key size by 3, that's still 170 bits. That's far larger than the RSA key that took years to crack a few years back.
Technology improves, algorithms improve, and the TLAs can certainly afford to build cracking engines, but it will probably still take a substantial amount of time to crack a key. (Substantial = days.) Well worth the effort if you're looking at suspected terrorists or double agents inside of the FBI, but hardly worth it for anyone reading this comment.
What we *do* need to worry about is the effect on long-term keys. E.g., root CA keys often have 20-year lifetimes, something that now seems foolish with 1k bit keys.
For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
Bernstein's results are asymptotic. That is, he states that a key of length n is about a secure on his special hardware as a key of length 3n on standard hardware. But this is an approximation for very large n. It is completely possible that for n near the length commonly used, his hardware could actually take longer than other equiptment.
Bernstein's result isn't the RSA killer you hotheads are making it out to be. It's a very cool result, but it's not the biggest and the baddest in the last decade.
In terms of big-Oh, it went from O(x^N) to O(x^(N/3)).
Exactly. That means we have to make N three times as large as we thought we had to. This is not a catastrophe, except in high-security applications. But these should use something like "make absolute sure its enough bits and then quadruple the number" anyway...
Most ACs are not even worth the keystrokes to insult them. Be generically insulted and ignored otherwise.
A common mistake that some people make is to assume that one only needs to count CPU cycles. The so-called "MIPS years" measurements.
Consider two keys that require the same number of CPU cycles to crack, one Elliptic Curve (EC) and one RSA. The EC key crack requires only a modest amount of memory, even for large EC keys. The RSA key (by factoring) requires a larger and larger working sets as the key size increases.
Consider the cracking a 256 bit EC key and the cracking of a 1620 bit RSA key by factoring:
So when I said two equivalently hard keys I should had said: two keys that require the same number of CPU operations to crack.
Two keys can require the same number of CPU ops to crack. However, a 256 bit EC key needs only a modest amount of memory and can be cracked on many machines running in parallel. A 1620 bit RSA requires a HUGE 120 TByte matrix sitting in a single address space where swapping and/or inter-processor communication become a major problem.
chongo (was here)
No, that is not what I am saying. EC is more vulerable than RSA for a given key size where the CPU ops to perform the best known cracking algorithm are the same.
CPU-op equivalent EC searches require only a modest amount of memory and can be run in parallel with nil communcation requirements. CPU-op equivalent RSA searches require large working sets with matrix operations that do not lend themselves to parallel operations once the initial sieve is performed.
Even if you deploy a TWINKLE device in an RSA key crack that reduces the initial loading of the matrix to nil, the working set size of the matrix, the swap and/or system communication requirements become non-trivial for an CPU-op equivalent RSA key.
chongo (was here)