A Mighty Number Falls 348
space_in_your_face writes "An international team has broken a long-standing record in an impressive feat of calculation. On March 6, computer clusters from three institutions (the EPFL, the University of Bonn, and NTT in Japan) reached the end of eleven months of strenuous calculation, churning out the prime factors of a well-known, hard-to-factor number — 2^1039 - 1 — that is 307 digits long." The lead researcher believes "the writing is on the wall" for 1024-bit encryption. "Last time, it took nine years for us to generalize from a special to a non-special hard-to factor number (155 digits). I won't make predictions, but let's just say it might be a good idea to stay tuned."
Re:How many people have the computing power ... (Score:5, Informative)
That said, not all 1024-bit numbers are hard to factor, in fact you have about a 1 in 300 chance of pulling 1024-bit prime out of your ass. The trick here is that RSA numbers are random and have less algebraic structure than Mersenne numbers.
Of course, with all that said, people should be using ECC anyways.
Tom
-1 author stupidity (Score:5, Informative)
That they pulled off a SNFS on a 1024 bit number is cool, but not the same amount of work for a GNFS against an 1024-bit RSA key.
Tom
Re:What are they? (Score:5, Informative)
1159420574 0725730643698071 48876894640753899791 70201772498686835353882248385
9966756608 0006095408005179 47205399326123020487 44028604353028619141014409345
3512334712 7396798885022630 75752809379166028555 10550042581077117617761009413
7970787973 8061870084377771 86828680889844712822 00293520180607475545154137071
1023817
factors:
5585366661 9936291260 7492046583 1594496864
6527018488 6376480100 5234631985 3288374753
×
2075818194 6442382764 5704813703 5946951629
3970800739 5209881208 3870379272 9090324679
3823431438 8414483488 2534053344 7691122230
2815832769 6525376091 4101891052 4199389933
4109711624 3589620659 7216748116 1749004803
6597355734 0925320542 5523689
(spaces added because of lameness filter)
Re:Why Does Encryption Need to "Scramble" Informat (Score:5, Informative)
You mean, like generating a analogous OTP out of a pseudo-random number generator? Not only has that been done before [wikipedia.org], but you're still left with a key: The seed which produced the pseudo-random sequence.
The Navajo code-talkers worked because the encoding was extremely obscure (security through obscurity at its finest!) and cryptography was still in its infancy. I sincerely doubt that the Navajo codes would stand up to a modern cryptographic analysis.
http://en.wikipedia.org/wiki/Navajo_Code_Talkers [wikipedia.org]
Re:Next step: FPGA cracking (Score:5, Informative)
Re:"the writing is on the wall" for 1024-bit (Score:5, Informative)
RSA 101.
Re:What are they? (Score:3, Informative)
Re:What are they? (Score:2, Informative)
Re:What are they? (Score:3, Informative)
5890680864316836766447387249177476247119386964598
8432079465555993259138490065014034006389161562581
8858456246071942881076106983317459922215338711318
3921469033288521558997823700137184806201826907368
91354912103343876844956209126576528293887
Some details of the computation size. (Score:3, Informative)
Re:What are they? (Score:1, Informative)
Damn, beaten, somewhat. (Score:5, Informative)
2^1039-1 = 5080711 * 5585366661993629126074920465831594496864652701848
is the correct factorization, as can be readily verified.
Also:
http://www.heise.de/english/newsticker/news/90031 [heise.de]
fixed link (Score:3, Informative)
another good link (Score:3, Informative)
Re:Quadruple AES? (Score:4, Informative)
The standard 3DES process is 3DES-EDE which uses 2 keys, thus giving you 112 bits.
ENCRYPT data with key1
DECRYPT output with key2
ENCRYPT output with key1
Since DES is symmetric, any paired combination of encrypt and decrypt will give you the same result. You can do E(D(data)) to get your result, or you can use D(E(data)) for the same thing. If you used the same key for key1 and key2, this would be the same as doing regular DES, and would just take 3x as long.
If you used three different keys for your 3DES instead, you would have the 168-bit key length. Thus, you can apply the same concept to 4AES, and depending on which way you do it you will end up with 256-, 512-, 768- or 1024-bit key strength.
Re:What are they? (Score:3, Informative)
Wrong number, in both the GP and the summary! (Score:3, Informative)
I don't know where she/he got her/his number, but it's wrong.
Use Python, Luke:
So the summary is wrong too: the number is 313, not 307 digits long. At least in base 10.
Re:Wrong number, in both the GP and the summary! (Score:2, Informative)
Re:What are they? (Score:2, Informative)
Firstly there are factor-finding algorithms, whose difficulty is dependent on properties of the individual factors of the composite. Examples of these are trial-division, Pollard/Brent Rho, Pollard P-1, someone else's P+1, and Lenstra's ECM algorithms.
Secondly there are splitting algorithms, whose difficulty is dependent on the properties of the composite itself, not its factors.
The difficulty of finding an 80-digit factor using the first type of algorithm is more or less impossibility. It's never been done. The record is something like 70 digits just last year. Only about half a dozen people have ever even found 60+ digit factors.
So with that in mind, when you're pretty sure there are no <60-digit factors (by running Lenstra's ECM many thousand times), you have pretty much no option but hitting the second type of algorithm.
(If you're looking at a 100-digit composite, you would only run ECM until you were fairly sure there were no <30-digit factors, if looking at a 130-digit composite, you'd run ECM until sure there were no 40-digit factors. Approximately - I pulled those figures out of my arse.)
Re:Three years isn't a whole lot. (Score:3, Informative)
We have in germany some really brain-fucked law about the requirement of digital signatures (s/mime based) on electronic invoices, but one idea they actually got right: You will get an invoice which is signed by the vendor. If you are required to keep incoming invoices (businesses) every once in a while you need to take the current file and sign it again with your own (current) key. So document+signature becomes (document+signature)+signature, then (((document+signature)+signature)+signature. So you will sign repeatedly an older signature with your newer key. This builds a chain of signatures and still proves integrity of the document and the signature when the original signature key length is long broken required you have done this "renew" regularly.
Re:Damn, beaten, somewhat. (Score:3, Informative)
Before someone starts panicking (Score:3, Informative)
It should be noted (before people start panicking) that the 1024-bit key size refers to asymmetric or public-key cryptography (software like PGP, GPG, algorithms like DH/DSS, RSA), not to symmetric cryptography (software like TrueCrypt, algorithms like AES, Blowfish, Twofish, etc.).
A 256-bit symmetric key is completely infeasible to brute force and even if quantum computers become available, the complexity of brute force attack will still be 2^128 (which is again infeasible to brute force).
Quadruple AES would be effectively 512 bits (Score:5, Informative)
The reason 3DES provides an effective key length of 112 bits, not 168, isn't because only two keys are used instead of three. We only bother using two keys because the effective length of three-key 3DES is still only 112 bits, so there's little reason to bother storing and managing a third.
The reason the effective length is only 112 bits is something called the "Meet in The Middle" attack. Suppose three keys were used and that the attacker has plaintext and ciphertext to mount a known-plaintext attack. An attacker can apply the first encryption step to the plaintext message using all possible 56-bit keys and then store the results in a big dictionary. Then, the attacker picks a 112-bit key and performs the first two decryption steps on the ciphertext. If the result is in the dictionary, then the attacker has probably found all three keys. If not, he picks another 112-bit key and tries again. So the attacker's work is (a) the effort required to create the dictionary plus (b) the effort required to brute force search a 112-bit keyspace. Since (b) completely dominates (a) we can ignore (a) and use (b) as our estimate of the attack complexity.
In the case of any quadruple encryption, then, the Meet in the Middle attack would require building a dictionary of all possible encryptions using the first two keys, then brute forcing the space of the last two keys. So, the effective strength is equivalent to the size of two of the four keys. Quintuple encryption is equivalent to three keys. Double encryption is equivalent to one key, which is why 2DES was never used.
What does all of this have to do with 1024-bit RSA keys? Not a thing. 1024-bit RSA keys consist of numbers that are the product of two 512-bit prime numbers. That means they're pretty sparse among the set of all possible 1024-bit numbers, and it means they have a particular mathematical structure that can be exploited.
Symmetric ciphers, like AES, are different. Unless there's something wrong with them, their keyspaces are flat, meaning that if they use n-bit keys, every possible n-bit value is a legitimate key. They have no particular mathematical properties, and there is no way to identify the right one except by trying them all.
So, assuming that AES doesn't have some weakness that allows attacks faster than brute force to succeed, how long until we need to use keys bigger than 256 bits?
Forever, basically. Barring weaknesses in the algorithm, 256-bit symmetric keys are safe until, as Bruce Schneier put it "computers are built from something other than matter and occupy something other than space."
In Applied Cryptography he outlines an interesting little computation to demonstrate why this is. Suppose you had a computer that contained a 256-bit register that was maximally efficient, meaning that toggling a bit required exactly one quantum of energy. Since smaller units of energy don't exist, you can't do better than that[*]. With that assumption, you can calculate how much energy it would take to cycle your 256-bit counter through all possible states. Schneier calculates that if you could capture all of the energy from a typical supernova and run your counter on that, you could count from 0 all the way up through about 2^219. So you'd need about 130 billion supernovas to run your counter through all of its 2^256 possible states.
That completely ignores the energy you'd need to perform a trial encryption with each of those values, and it also completely ignores how long it would take to perform all of these operations.
Quantum computers that can somehow handle the complex structures of symmetric ciphers, or some other radical change in computing technology would be required to make 256-bit keys accessible to brute force. A flaw in AES is far more likely, IMO.
[*] Just because someone will call me on it, I should point out that reversible computing means that in theory you might be able to do better than the theorized maximally-efficient computer. In practice, that probably isn't going to make your energy budget small enough to be reachable, and it certainly isn't going to help with the time factor.
Re:Damn, beaten, somewhat. (Score:3, Informative)
With[{x = 2^1039 - 1}, Prime[Select[Range[1, 360000], (Mod[x, Prime[#]] == 0) &]]]
Finding the next factor like this (by trial division) should take a mere 10^70 or so times longer.
Re:Wrong number, in both the GP and the summary! (Score:2, Informative)
Re:Wrong number, in both the GP and the summary! (Score:2, Informative)
Re:Why Does Encryption Need to "Scramble" Informat (Score:1, Informative)
After WWI Germany was forbidden by treaty from creating an Air Force, because it was known that air support would be critical in any future war. So the government encouraged its people to learn to fly gliders and other primitive aircraft as an apparently harmless hobby. Of course this training significantly reduced the time needed to create an Air Force once Germany began to ignore the terms of its treaty. On the other hand they made the mistake of outlawing amateur radio, fearing that it would be useful to anti-government activists and, later, to the resistance in occupied countries. This meant that Germany was constantly short of skilled radio people, forcing them to expend more resources on "idiot proof" radar and communications hardware which could be maintained with minimal training and no radio knowledge, whereas Britain was able to easily find experienced amateurs who could operate and maintain their more primitive equipment.
I don't expect much of an AC, but really. (Score:4, Informative)
For christsakes, at least read the list; I linked to it. And I did say only the public key algorithms, so AES isn't even relevant.
NSA Suite B:
What I said:
"...all the PK [public key] systems are based on elliptic curves, and not prime factorization, for the trapdoor function."
Of the algorithms in Suite B, AES and SHA aren't public-key algorithms; they're a symmetric block cipher and a hash function. The three relevant PK algorithms are ECMQV, ECDH, and ECDSA, and all of those are specifically noted as being "elliptic curve" variants, rather than the more common RSA-style prime-factorization-based algorithms.
PK algorithms which use elliptic curves use an entirely different set of mathematical functions as the basis for their 'trapdoor' or 'puzzle' (the function that's easy to compute but difficult to run backwards) from RSA. They're based on a variation of the discrete logarithm problem [wikipedia.org]. (From what I understand, the purest form of the discrete logarithm problem isn't reversible at all -- you can run it in one direction, but from the output you can't figure out all of the input parameters were with certainty -- so specific variations of the general problem are used, of which elliptic curves are one.)
Given the popularity of RSA, I think its absence from the list is notable at the very least, and it's furthermore interesting that the NSA seems to really like elliptic curve systems as a basis for PK crypto. At least according to Wikipedia, nobody has ever published a proof of the mathematical hardness of elliptic curve systems...maybe they're even better than is currently realized. (Although, the real tinfoil hat response is, 'maybe they're really flawed somehow, and that's why the NSA wants you to use them!' However, I think this is doubtful for any number of reasons.)