Hugh Pickens writes "Bruce Schneier has a story on Wired about the new official standard for random-number generators the NIST released this year that will likely be followed by software and hardware developers around the world. There are four different approved techniques (pdf), called DRBGs, or 'Deterministic Random Bit Generators' based on existing cryptographic primitives. One is based on hash functions, one on HMAC, one on block ciphers and one on elliptic curves. The generator based on elliptic curves called Dual_EC_DRBG has been championed by the NSA and contains a weakness that can only be described as a backdoor. In a presentation at the CRYPTO 2007 conference (pdf) in August, Dan Shumow and Niels Ferguson showed that there are constants in the standard used to define the algorithm's elliptic curve that have a relationship with a second, secret set of numbers that can act as a kind of skeleton key. If you know the secret numbers, you can completely break any instantiation of Dual_EC_DRBG."
But this is the NSA we're talking about... Not the Bush administration.
I wish I could remember the show I saw. But the scientist (MIT, PhD scientist) was amazed at the intellect of the NSA folks who came to see him about his research. I can't remember who it was - it was a NOVA episode (but it stuck in my head because of his fear!). And after talking to friends who work with various internet security companies and defense contractors, I have to reiterate their opinion of these guys - they're really sharp. And as much as I like to disparage Government workers, these guys aren't to be trifled with.
And, as I was previewing, I noticed that the parent was moderated "Offtopic".
As an Offtopic note: 2 out of 3 down mods that I meta mod are unfair. Keep that in mind. It's really pissing me off.
1. CIA=sharp, Academe=smart. The NSA boys are both smart and sharp. They've got the budget. Wonder when the 'super brains' from Google will get into crypto? They have the market cap now - thanks to the inexplicable hype over Android... 2. Yup - I tend to metamod the -ve mods as 'unfair', because they seem to be driven by bigotry than than sense.
So, inserting one trapdoor? Likely, but not probable. Insert an easy one to find, so we miss the others...now that's smart 'n' sharp
I think the point of Schneier's article is that everybody (i.e. everybody who means anybody in terms of cryptoanalysis) has crawled over each algorithm, and there's only one that has failed the peer review.
It's somewhat surprising that an algorithm with a documented flaw made it through to the standard, but Schneier makes it clear that the NSA pressured NIST to let it through, so there are grounds for concern.
bhima's comment was alluding to the fact that while NSA designed and distributed the Dual_EC_DRBG algorithm, they had no part in the other two algorithms (that we know of) other than as an outside commentator, and thus could not put a backdoor into them. In other words 'you' referred to the NSA, not to you, a user of the algorithms.
No. I was replying to someone who said the NSA had put backdoors in all available Random Number Generators and I wondered how the NSA could possibly get a backdoor in all of such algorithms. My line of thinking was this
1: Open algorithms are the mainstay of the crypto community 2: All those algorithms described in the article have been published 3: The NSA did not sponsor, develop, or promote all of random number generators described in article (much less all that are available) 4: The NSA is not the sole distributor of the source or binary versions of these algorithms
I know the NSA has a bunch of really sharp folks but how could they pull off having a backdoor in an Random Number Generator algorithm which they did not design, did not sponsor development of, and do not distribute?
As far as Dual_EC_DRBG goes it is clear how they could have pulled off a stealthy backdoor, the algorithm is their own design.
Huh? You seem to be implying either that the algorithm criticized by Bruce is in fact secure, or that the insecure algorithm is unlike the other three in some way that renders the other three immune to a similar insecurity. Neither implication makes any sense.
Sorry, the second implication is both completely true, and makes perfect sense. I don't really understand how you could claim otherwise.
It is unlike the other three, just as the other three are all unlike each other. It uses elliptic curves, where the other three don't, and the attack is specific to elliptic curves.
by Anonymous Coward
on Thursday November 15 2007, @02:43PM (#21368875)
There is another explanation; difference of opinion between management and staff
- Management wants a backdoor in public standard, orders their very smart math geeks to make it so - Math geeks say it can't be done - Management insists - Math geeks go away and come up with something out of left field that technically fulfils the request of management, knowing it's vulnerabilities. They probably tell management that their solution is the best they could do, but it still has all the following problems (slow, crypto-nerds will see through it sooner or later, etc) - Management hears the 'best' and 'done' part, discounts possibility of anyone outsmarting their 'uber-elite' NSA math geeks
Anyone else reminded of the little Black Box from Sneakers? The one that used a mathematical backdoor to break any encryption based on a certain algorithm that was only used in the USA?
Anyone else reminded of the little Black Box from Sneakers? The one that used a mathematical backdoor to break any encryption based on a certain algorithm that was only used in the USA?
More to the point, anyone else remember the premise of that movie? That said black box was utterly useless for doing anything other then spying on Americans, which (prior to Dubya anyway) was outside of the NSAs mandate.
Of course the truly paranoid individual would realize that the backdoor in Dual_ECD_RBG was merely an "obvious" decoy designed to herd us all onto the other three which also have backdoors.;)
(not to make light of what Mr. Schneier's point - the NSA has every reason to deny others effective cryptographic tools)
* WHAT WE ARE NOT SAYING: NIST intentionally put a backdoor in this PRNG
* WHAT WE ARE SAYING: The prediction resistance for this PRNG (as presented in NIST-SP800-90) is dependent on solving one instance of the elliptic curve discrete log problem. (And we do not know if the algorithm designer knew this beforehand.)
On the last slide, the researchers add some suggestions:
Truncate off more than the top 16 bits of the output block. - Results on extractors from x coordinates of EC points of prime curves suggest truncating off the top bitlen/2 bits is reasonable. * Generate a random point Q for each instance of the PRNG.
If this story leaves you confused, join the club. I don't understand why the NSA was so insistent about including Dual_EC_DRBG in the standard. It makes no sense as a trap door: It's public, and rather obvious. It makes no sense from an engineering perspective: It's too slow for anyone to willingly use it. And it makes no sense from a backwards-compatibility perspective: Swapping one random-number generator for another is easy.
My recommendation, if you're in need of a random-number generator, is not to use Dual_EC_DRBG under any circumstances. If you have to use something in SP 800-90, use CTR_DRBG or Hash_DRBG.
In the meantime, both NIST and the NSA have some explaining to do.
Again, because we are talking about public algorithms. Things like this are public, open algorithms. Anyone can evaluate them, as Bruce noted. As such you can't "hide" something in there unless you are waaaay better than anyone else. If that is the case, well then why bother with any deception in the first place? This isn't a "This is a black box just trust it." It's an open algorithm and any experts can look at it, as has happened.
"It's possible to implement Dual_EC_DRBG in such a way as to protect it against this backdoor, by generating new constants with another secure random-number generator and then publishing the seed. This method is even in the NIST document, in Appendix A. "
Should use the one that is hardest to break. If the NSA thinks elliptic curves are the best, only the NSA should use it. Let's see how happy they are having their own "unbreakable" code just for them.
Personally, I wish the NSA was a bit more chivalrous when it comes to these kind of things. If it is your **JOB** to break codes, why whine when people pick the one that is hardest to break. The rest of the world doesn't have the luxury to pick how hard their job gets to be, so why should you?
The NSA is like an anti-virus / a pharmaceutical company where a cure is only good if it's in the company's best interests. Not to say that anti-virus / pharmaceutical companies are not ethical. But there is a saying along the lines of "If you can't come up with the solution, there is good money to be made in the problem."
The NSA is spying on all telecom signals passing through the US (including this message. Hi, Dick Cheney!). Despite the Constitution's prohibitions. Why would you trust them not to make your crypto crackable?
This situation shows one of the strongest arguments for open source. Trust no one.
I can't be the only one who clicked on the link and was astonished to see: "On the Possibility of a Back Door in the NIST SP800-90 Dual Ec Prng - by Dan Shumow, Niels Ferguson, Microsoft"
Microsoft are exposing this? Are they funding the group making these kind of claims? If this was true, wouldn't this intensely annoy the NSA to have this exposed? Am I missing something here? .
- I see the disclaimer ("What we are NOT saying") where they seem to be saying - "No way did the NSA intentionally make this broken - maybe it was an errant developer and maybe they knew what they were doing", but it amounts to the same thing, surely?
Well I'm not surprised. Microsoft Research has tons of sharp security guys working there. Niels Ferguson is quite well-known in security circles. You don't get your company's name as an "author" unless your employees actually did the work; funding is not good enough. It might annoy the NSA, but academics don't care that much.
The NSA is a lot more competent than you think. Go google "NSA DES" sometime.
"The NSA was embroiled in controversy concerning its involvement in the creation of the Data Encryption Standard (DES), a standard and public block cipher used by the US government. During development by IBM in the 1970s, the NSA recommended changes to the algorithm. There was suspicion the agency had deliberately weakened the algorithm sufficiently to enable it to eavesdrop if required. The suspicions were that a critical component -- the so-called S-boxes -- had been altered to insert a "backdoor"; and that the key length had been reduced, making it easier for the NSA to discover the key using massive computing power, although it has since been observed that the changes in fact strengthened the algorithm against differential cryptanalysis, which was not publicly discovered until the late 1980s."
So they made some small changes to DES... then a *decade* later, the rest of the crypto world says, "Huh. We've just done the sums and that actually made it better."
Not to say that in this case they're just screwing with the algorithm though:-P
The same thing happened with SHA. Even creepier was that they just threw a "leftshift 1" in the middle of the algorithm. This is the difference between SHA0 and SHA1, yet 10 years later new attacks on hashing algorithms emerged that broke SHA0 wide open, but SHA1 was resistant.
This 10 year thing starts to tickle my paranoia. NIST has the stated goal to make all of it's algorithms unbreakable for at least 10 years, and the NSA claims on their website that they are always 10 years ahead of what is known publicly (with respect to computational power and cryptographic research).
I'm getting a distinct feeling of déjà vu about this. Anyone remember the Clipper Chip [wikipedia.org]? Key escrow? Same basic idea, and that proposal came out of the NSA as well. Only then the backdoor was explicit.
The crypto community spoke out strongly against it, and the proposal, despite having a great deal of political muscle behind it, did not fly very far. Another sensible reason for its failure to gain acceptance was that it would have had no chance of success on the international market. Even if domestic use could have been forced through legislation, let's say, no other nation with a clue would pick it up.
I see how it could be a problem for embedded work. But on personal computers, which nowdays have tremendously abundant resources, why not use multiple algorithms and entropy sources to build your pool? (Yes, I know some systems already do this.) NSA may be able to predict one sequence, but they sure as hell can't predict a bunch of them, XORed. They'd need mathematicians to crack all the RNGs, have a camera on your lava lamp, a microphone listening to the room, a tap on your power line, etc. By the time they do all of that, they might as well have just asked you what your plaintext is.
In my final year in CS, I wrote a lengthy paper researching various DRBGs. To my surprise, there were very few good candidates for cryptographic DRBGs, but of the 7 I looked at, Dual_EC_DRBG rated the worst. I was unable to find any theoretic proofs for Dual_EC_DRBG, but I did find a few papers exposing serious flaws in Dual_EC_DRBG including this one [iacr.org] which describes a tractable distinguisher so efficient it can run on a modest desktop.
The other three DRBGs recommended by NIST were all reliant on the security of various other cryptographic primitives such as SHA (Hash_DRBG), HMAC (HMAC_DRBG - which is often based on SHA) and AES or 3DES (CRT_DRBG). They were all reasonably obvious, and only really tried to set out some sort of standard for jumbling the output of their respective primitives enough that they would be resilient to any unknown vulnerabilities in said primitives (though certain paths also failed to do this). This was mostly accomplished by calling the primitives several times (HMAC_DRBG with the NIST HMAC implementation called for 6 SHA hashes per SHA sized output) which isn't very efficient.
I suspect they only included Dual_EC_DRBG because it wouldn't have looked too good if they were unable to come up with a single number theoretic or otherwise novel DRBG. They shouldn't be too disappointed, however, as the only one I was able to find was Blum Blum Shub [wikipedia.org] which is terribly inefficient. CryptMT [iacr.org] (Cryptanalysis [eu.org]) also deserves a mention as it looks like a promising pseudo-number theoretic DRBG, at least a better candidate than Dual_EC_DRBG.
I thought the article was saying something slightly different: The standard does have a backdoor, it's just not clear who - if anyone - holds the keys.
The safe assumption is that someone does hold the keys and therefore the standard is useless for cryptography, even though it might be just fine for other applications.
This seems to be more an issue with something like SSL in which the security of the system is reliant on not being able to guess the next number out of the PRNG.
What happens in the article is that one of the algorithms proposed by NSA for standardization contains possibly a major backdoor because the constants it uses to generate numbers are such that there might be other constants, unknown by looking at the algorithm itself but nevertheless possibly known to the authors at NSA that allow to get the whole generated sequence of numbers based on only 32 byte sequence of generated numbers. Maybe or maybe not, depending on whether there are such constants, which only NSA knows.
Randomness is absolutely at the heart of cryptography. So yes, to answer your question, it does matter.
If I can predict the value of a symmetric key, or the value whose two factors constitute an asymmetric key pair, I have effectively broken the encryption. Even supposing that I can't do this deterministically, but merely somewhat better than random, I'm still that much further ahead.
starfishsystems gives a good answer, but I'll say it a bit differently in case it helps.
The random number generator in question is a mathematical tool for generating randomness, not a cryptosystem of any kind. It has many potential applications. However, modern cryptography is absolutely dependent on high-quality randomness, so cryptosystems tend to use exactly this sort of tool. The thing is, if the "random" data stream one uses in a cryptosystem is actually predictable, then the whole cryptosystem is insecure right from the start no matter how good it otherwise appears.
It's is very much analagous to building a house on sand: if the foundation is unstable, it pretty much doesn't matter how good the rest of the construction on top of it may be; the whole structure is in dire and immediate peril.
The random number generator itself may be just fine for many applications. However, any cryptosystem built on this random number generator is presumed to be useless just because there exists a set of keys which can easily predict the whole random number stream given a tiny part of it. We don't actually know if anyone holds the keys, but if someone does then that person could undetectably open any cryptographic locks built on this random number generator, or release the keys so everyone could open the locks.
"[...] it's still nontrivial to generate the plaintext from the ciphertext, or am I completely offbase on this?"
I Am Not A Cryptanalist, but it is my impression that you are off base in this. Generating the plaintext may not become a completely trivial task with the backdoor key, but it at least would become so many orders of magnitude easier that the system would be essentially useless.
In really basic broad-brush terms, we can say that the ciphertext consists of the plain text added to a keystream by a method defined in a certain protocol. To decrypt the ciphertext, the legitimate recipient needs to subtract the keystream from the ciphertext using the same protocol. Any attacker who could capture the whole ciphertext usually should also discover the protocol in use. (That's not necessarily a trivial step, but often it is... especially with computers using known protocols.*) So the only unknown the attacker needs in order to reveal the plaintext is the keystream.
Schneier's article says that by observing a mere 32 consecutive bytes of randomness, an attacker with the key to the backdoor can generate the whole random stream, at least from that point forward. So if such an attacker can suss out that small portion of the keystream or plaintext - and that's what cryptanalysis is all about - then they can use that to break the whole message with relative ease.
[*: It is widely thought, and has been repeatedly proven by real world cryptosystem breaks where the protocol is unknown to the breaker, that for the most part hiding the protocol does no damn good. This is what's meant by "obscurity is not security".]
Well I know one thing that is not right...your thinking. Perhaps you do not know about how engineering works? When you design something you design it to the best of your ability. If you notice a flaw, you fix it. You try and prepare for all known and unknown problems, but you are not going to catch them all. You are looking at specific examples and not at the whole picture. Yes maybe the 787 was flawed, maybe the NSA's choice is wrong. But what have we done right? Well you brought up airplanes lets see. The
The thirty-year-old F-15 has been "defeated" during exercises with allied powers, flying planes developed twenty-five years later that are it's equal in technology, with pilots as well trained as ours.
It's not the same thing. For a start, it's not even necessarily software. It's a mathematical algorithm.
So, yes, the implementation can be buggy, but for something like cryptography you'd at least expect the maths behind it to be rock-solid.
A lot of cryptography is based on stuff like that it's _far_ easier to multiply two prime numbers, than to find out which two large primes are the factors of a very large number. (I don't know this particular algorithm in TFA yet, so I used RSA as a simple example.) Once some maths guy has figured that out, and how it can be used, then the actual implementation in software tends to be actually very simple and straightforward. You just do one operation over and over again to encrypt the stuff, and another operation again and again to decrypt it. So even an error in the implementation is pretty inexcusable, because it's not a lot of code and you have a step-by-step description of exactly what to do.
Usually when an error in the implementation happens, it's not as much a programming bug, as the fact that (again) someone didn't understand the underlying maths and principles. E.g., I vaguely remember a disk encryption program which used a secure algorithm, but... had an invariable and huge block of known text at the beginning of it, which meant it was crackable anyway.
Anyway, to get back to the important part: it's not software, it's maths. Pure old-fashioned maths.
And... well, I'm not saying that that maths is easy. The average code monkey trying to invent encryption _will_ come with something ridiculously easy to crack.
But I'll say this: if the best and brightest mathematicians the NSA can find, still aren't competent enough, then I'd worry about the USA. I'm not even an American, and my attitude is somewhat anti-American (or at least anti-Bush), but even I in my crankiest hour wouldn't have _that_ bad an opinion of the USA.
To put it in perspective: something like this isn't like your average piece of code that someone typed on a Friday afternoon and never bothered to test. Something like this is bound to be reviewed by at least 2-3 other pairs of eyes before it becomes an official spec. So if they simply couldn't find anyone qualified enough to review it... I'd worry. A lot.
The conspiracy theory there is actually the _far_ more flattering alternative.
They're in the business of national security. That's generally at odds with personal security and liberty. Those who would trust such a product from them are suckers.
The problem is that this flaw is a much bigger threat to national security than to personal security. These "official recommendations" from the NSA are used to form official policies and guidelines in just about every branch of government (FBI, CIA, DOD, etc.).
So, if the NSA was indeed intentionally creating a backdoor, then they were doing a disservice to the "national security" they are supposedly protecting. By allowing (encouraging, in fact) top-secret government data to be encrypted in this way, they would be making the nation's secrets quite vulnerable. By comparison, private citizens and corporations can use whatever encryption they like, regardless of NSA recommendations.
I suppose one could argue that the NSA thought that no one would figure it out, so that they (and they alone) would be able to break that encryption for all time (so that they can spy on other branches of the government?). I think a simpler explanation is that NSA just made a mistake in endorsing that algorithm, and never intended to threaten national security. Of course it will be interesting to see what position they take now that a flaw has been publicly identified.
Using the backdoor requires solving a discrete log problem. The NSA may have an actual proof of hardness for these problems putting a minimum bound on the amount of computer power required. This in turn might give them a minimum bound of a decade or so (someone really needs to check just how hard this discrete log problem turns out to be) for anyone else to discover the secret keys and they can just announce finding a security flaw in the algorithm 2 years before anyone might have found the keys. Supposing
Read the post above. Getting the key involves solving a discrete log problem for one instance of an elliptic curve. Discrete log problem is an unsolved mathematical problem. So its solution essentially (you mileage may vary slightly) requires brute force. Either NSA has a solution and was hoping the weakness would go unnoticed, or they don't have it. If they don't have it, no one will have it for a long time. These are more difficult to compute (and therefore more time consuming) than the traditional encryption schema (discrete log problems for Z/pZ). Now the question of whether you believe malice or incompetence is at play here is essentially up to you.
If any of you think this is the least bit specious, the VeriSign website proudly proclaims that they will subcontract to telcos/ISPs that are ordered to eavesdrop in a "legal intercept" capacity. There is no other reason for VeriSign to be in that line of work unless they are using their ability as CA to stage undetectable MITM surveillance attacks.
umm (Score:5, Interesting)
Don't look for malice where incompetence will do.
-- NapoleonRe:umm (Score:5, Insightful)
Parent
Ummm, parent is right. (Score:5, Interesting)
I wish I could remember the show I saw. But the scientist (MIT, PhD scientist) was amazed at the intellect of the NSA folks who came to see him about his research. I can't remember who it was - it was a NOVA episode (but it stuck in my head because of his fear!). And after talking to friends who work with various internet security companies and defense contractors, I have to reiterate their opinion of these guys - they're really sharp. And as much as I like to disparage Government workers, these guys aren't to be trifled with.
And, as I was previewing, I noticed that the parent was moderated "Offtopic".
As an Offtopic note: 2 out of 3 down mods that I meta mod are unfair. Keep that in mind. It's really pissing me off.
Parent
Re:Ummm, parent is right. (Score:4, Insightful)
1. CIA=sharp, Academe=smart. The NSA boys are both smart and sharp. They've got the budget.
Wonder when the 'super brains' from Google will get into crypto? They have the market cap now - thanks to the inexplicable hype over Android...
2. Yup - I tend to metamod the -ve mods as 'unfair', because they seem to be driven by bigotry than than sense.
So, inserting one trapdoor? Likely, but not probable. Insert an easy one to find, so we miss the others...now that's smart 'n' sharp
Parent
Re:Ummm, parent is right. (Score:4, Funny)
Turns out Vista doesn't have the uptake they thought it would...so, they really can't exploit the windows backdoor any longer...
They gotta try something!!
Parent
Re:Ummm, parent is right. (Score:5, Insightful)
It's somewhat surprising that an algorithm with a documented flaw made it through to the standard, but Schneier makes it clear that the NSA pressured NIST to let it through, so there are grounds for concern.
Parent
Re:umm (Score:4, Insightful)
And if it is incompetence, in this case the malice can come later if anyone ever figures out the 'secret numbers'.
Parent
Re:umm (Score:5, Insightful)
Parent
You misunderstood 'you' :) (Score:3, Informative)
Re:umm (Score:5, Informative)
1: Open algorithms are the mainstay of the crypto community
2: All those algorithms described in the article have been published
3: The NSA did not sponsor, develop, or promote all of random number generators described in article (much less all that are available)
4: The NSA is not the sole distributor of the source or binary versions of these algorithms
I know the NSA has a bunch of really sharp folks but how could they pull off having a backdoor in an Random Number Generator algorithm which they did not design, did not sponsor development of, and do not distribute?
As far as Dual_EC_DRBG goes it is clear how they could have pulled off a stealthy backdoor, the algorithm is their own design.
Parent
Re: (Score:3, Informative)
Huh? You seem to be implying either that the algorithm criticized by Bruce is in fact secure, or that the insecure algorithm is unlike the other three in some way that renders the other three immune to a similar insecurity. Neither implication makes any sense.
Sorry, the second implication is both completely true, and makes perfect sense. I don't really understand how you could claim otherwise.
It is unlike the other three, just as the other three are all unlike each other. It uses elliptic curves, where the other three don't, and the attack is specific to elliptic curves.
Re:umm (Score:4, Funny)
Still..........I'd better go change the combination on my luggage....
Parent
Re:umm (Score:4, Interesting)
The incompetence is that they failed to hide it.
Parent
alternate explanation for incompetence (Score:5, Interesting)
- Management wants a backdoor in public standard, orders their very smart math geeks to make it so
- Math geeks say it can't be done
- Management insists
- Math geeks go away and come up with something out of left field that technically fulfils the request of management, knowing it's vulnerabilities. They probably tell management that their solution is the best they could do, but it still has all the following problems (slow, crypto-nerds will see through it sooner or later, etc)
- Management hears the 'best' and 'done' part, discounts possibility of anyone outsmarting their 'uber-elite' NSA math geeks
predictable results follow.
Parent
Re:umm (Score:5, Insightful)
Don't tolerate incompetence.
Especially when the party involved should know better, and when there's a lot at stake.
Parent
Re: (Score:3, Informative)
USA has done these things before. Just google for Crypto AG.
The answering machine (Score:5, Interesting)
Re:The answering machine (Score:5, Insightful)
More to the point, anyone else remember the premise of that movie? That said black box was utterly useless for doing anything other then spying on Americans, which (prior to Dubya anyway) was outside of the NSAs mandate.
Parent
Re: (Score:3, Interesting)
From TFA: (Score:5, Informative)
On the last slide, the researchers add some suggestions:
Re:From TFA: (Score:5, Interesting)
Parent
Lock the Trojan Horse in a Stable (Score:5, Insightful)
Parent
Doesn't work (Score:4, Insightful)
Parent
T-shirts (Score:5, Funny)
Fix (Score:4, Informative)
Everyone who is not in NSA... (Score:4, Interesting)
Personally, I wish the NSA was a bit more chivalrous when it comes to these kind of things. If it is your **JOB** to break codes, why whine when people pick the one that is hardest to break. The rest of the world doesn't have the luxury to pick how hard their job gets to be, so why should you?
The NSA is like an anti-virus / a pharmaceutical company where a cure is only good if it's in the company's best interests. Not to say that anti-virus / pharmaceutical companies are not ethical. But there is a saying along the lines of "If you can't come up with the solution, there is good money to be made in the problem."
Trust the Spies (Score:5, Insightful)
This situation shows one of the strongest arguments for open source. Trust no one.
Re: (Score:3, Funny)
Version: GnuPG v1.4.6 (GNU/Linux)
jA0EAwMCPPnmI+wr8DVgyRye1U/9KBxX5jcOp0oidm/5y9TesyWpjQbYvE3j
=pvFV
-----END PGP MESSAGE-----
This is secure. The password is foo. Let's have a symmetrically encrypted discussion using GPG. All passwords are foo.
Don't trust any encryption (Score:3, Insightful)
Encryption keys can be demanded by the government, they'll throw you in jail for not complying.
Keep your dirty laundry out of your computer.
The government doesn't think that your data is something that should be protected from unreasonable search, you shouldn't either.
I can't be the only one: (Score:5, Interesting)
"On the Possibility of a Back Door in the NIST SP800-90 Dual Ec Prng - by Dan Shumow, Niels Ferguson, Microsoft"
Microsoft are exposing this? Are they funding the group making these kind of claims? If this was true, wouldn't this intensely annoy the NSA to have this exposed? Am I missing something here? .
- I see the disclaimer ("What we are NOT saying") where they seem to be saying - "No way did the NSA intentionally make this broken - maybe it was an errant developer and maybe they knew what they were doing", but it amounts to the same thing, surely?
Re:I can't be the only one: (Score:5, Insightful)
Parent
Things we know we don't know. (Score:5, Interesting)
Go google "NSA DES" sometime.
"The NSA was embroiled in controversy concerning its involvement in the creation of the Data Encryption Standard (DES), a standard and public block cipher used by the US government. During development by IBM in the 1970s, the NSA recommended changes to the algorithm. There was suspicion the agency had deliberately weakened the algorithm sufficiently to enable it to eavesdrop if required. The suspicions were that a critical component -- the so-called S-boxes -- had been altered to insert a "backdoor"; and that the key length had been reduced, making it easier for the NSA to discover the key using massive computing power, although it has since been observed that the changes in fact strengthened the algorithm against differential cryptanalysis, which was not publicly discovered until the late 1980s."
So they made some small changes to DES... then a *decade* later, the rest of the crypto world says, "Huh. We've just done the sums and that actually made it better."
Not to say that in this case they're just screwing with the algorithm though
Re:Things we know we don't know. (Score:5, Interesting)
This 10 year thing starts to tickle my paranoia. NIST has the stated goal to make all of it's algorithms unbreakable for at least 10 years, and the NSA claims on their website that they are always 10 years ahead of what is known publicly (with respect to computational power and cryptographic research).
Parent
Clipper Chip (Score:4, Informative)
The crypto community spoke out strongly against it, and the proposal, despite having a great deal of political muscle behind it, did not fly very far. Another sensible reason for its failure to gain acceptance was that it would have had no chance of success on the international market. Even if domestic use could have been forced through legislation, let's say, no other nation with a clue would pick it up.
why put all your eggs in one basket? (Score:4, Interesting)
I see how it could be a problem for embedded work. But on personal computers, which nowdays have tremendously abundant resources, why not use multiple algorithms and entropy sources to build your pool? (Yes, I know some systems already do this.) NSA may be able to predict one sequence, but they sure as hell can't predict a bunch of them, XORed. They'd need mathematicians to crack all the RNGs, have a camera on your lava lamp, a microphone listening to the room, a tap on your power line, etc. By the time they do all of that, they might as well have just asked you what your plaintext is.
Don't Use Dual_EC_DRBG (Score:5, Informative)
In my final year in CS, I wrote a lengthy paper researching various DRBGs. To my surprise, there were very few good candidates for cryptographic DRBGs, but of the 7 I looked at, Dual_EC_DRBG rated the worst. I was unable to find any theoretic proofs for Dual_EC_DRBG, but I did find a few papers exposing serious flaws in Dual_EC_DRBG including this one [iacr.org] which describes a tractable distinguisher so efficient it can run on a modest desktop.
The other three DRBGs recommended by NIST were all reliant on the security of various other cryptographic primitives such as SHA (Hash_DRBG), HMAC (HMAC_DRBG - which is often based on SHA) and AES or 3DES (CRT_DRBG). They were all reasonably obvious, and only really tried to set out some sort of standard for jumbling the output of their respective primitives enough that they would be resilient to any unknown vulnerabilities in said primitives (though certain paths also failed to do this). This was mostly accomplished by calling the primitives several times (HMAC_DRBG with the NIST HMAC implementation called for 6 SHA hashes per SHA sized output) which isn't very efficient.
I suspect they only included Dual_EC_DRBG because it wouldn't have looked too good if they were unable to come up with a single number theoretic or otherwise novel DRBG. They shouldn't be too disappointed, however, as the only one I was able to find was Blum Blum Shub [wikipedia.org] which is terribly inefficient. CryptMT [iacr.org] (Cryptanalysis [eu.org]) also deserves a mention as it looks like a promising pseudo-number theoretic DRBG, at least a better candidate than Dual_EC_DRBG.
No, it *does* have a backdoor (Score:3, Insightful)
The safe assumption is that someone does hold the keys and therefore the standard is useless for cryptography, even though it might be just fine for other applications.
Re:Ummm...encryption standard? (Score:4, Informative)
Parent
Re:Ummm...encryption standard? (Score:5, Informative)
Parent
Re:Ummm...encryption standard? (Score:5, Insightful)
If I can predict the value of a symmetric key, or the value whose two factors constitute an asymmetric key pair, I have effectively broken the encryption. Even supposing that I can't do this deterministically, but merely somewhat better than random, I'm still that much further ahead.
Parent
Re:Ummm...encryption standard? (Score:5, Insightful)
The random number generator in question is a mathematical tool for generating randomness, not a cryptosystem of any kind. It has many potential applications. However, modern cryptography is absolutely dependent on high-quality randomness, so cryptosystems tend to use exactly this sort of tool. The thing is, if the "random" data stream one uses in a cryptosystem is actually predictable, then the whole cryptosystem is insecure right from the start no matter how good it otherwise appears.
It's is very much analagous to building a house on sand: if the foundation is unstable, it pretty much doesn't matter how good the rest of the construction on top of it may be; the whole structure is in dire and immediate peril.
The random number generator itself may be just fine for many applications. However, any cryptosystem built on this random number generator is presumed to be useless just because there exists a set of keys which can easily predict the whole random number stream given a tiny part of it. We don't actually know if anyone holds the keys, but if someone does then that person could undetectably open any cryptographic locks built on this random number generator, or release the keys so everyone could open the locks.
That help?
Parent
Re:Ummm...encryption standard? (Score:4, Informative)
I Am Not A Cryptanalist, but it is my impression that you are off base in this. Generating the plaintext may not become a completely trivial task with the backdoor key, but it at least would become so many orders of magnitude easier that the system would be essentially useless.
In really basic broad-brush terms, we can say that the ciphertext consists of the plain text added to a keystream by a method defined in a certain protocol. To decrypt the ciphertext, the legitimate recipient needs to subtract the keystream from the ciphertext using the same protocol. Any attacker who could capture the whole ciphertext usually should also discover the protocol in use. (That's not necessarily a trivial step, but often it is... especially with computers using known protocols.*) So the only unknown the attacker needs in order to reveal the plaintext is the keystream.
Schneier's article says that by observing a mere 32 consecutive bytes of randomness, an attacker with the key to the backdoor can generate the whole random stream, at least from that point forward. So if such an attacker can suss out that small portion of the keystream or plaintext - and that's what cryptanalysis is all about - then they can use that to break the whole message with relative ease.
[*: It is widely thought, and has been repeatedly proven by real world cryptosystem breaks where the protocol is unknown to the breaker, that for the most part hiding the protocol does no damn good. This is what's meant by "obscurity is not security".]
Parent
Re: (Score:3, Insightful)
Fixed that for ya... (Score:4, Informative)
Parent
Not the same thing (Score:5, Insightful)
So, yes, the implementation can be buggy, but for something like cryptography you'd at least expect the maths behind it to be rock-solid.
A lot of cryptography is based on stuff like that it's _far_ easier to multiply two prime numbers, than to find out which two large primes are the factors of a very large number. (I don't know this particular algorithm in TFA yet, so I used RSA as a simple example.) Once some maths guy has figured that out, and how it can be used, then the actual implementation in software tends to be actually very simple and straightforward. You just do one operation over and over again to encrypt the stuff, and another operation again and again to decrypt it. So even an error in the implementation is pretty inexcusable, because it's not a lot of code and you have a step-by-step description of exactly what to do.
Usually when an error in the implementation happens, it's not as much a programming bug, as the fact that (again) someone didn't understand the underlying maths and principles. E.g., I vaguely remember a disk encryption program which used a secure algorithm, but... had an invariable and huge block of known text at the beginning of it, which meant it was crackable anyway.
Anyway, to get back to the important part: it's not software, it's maths. Pure old-fashioned maths.
And... well, I'm not saying that that maths is easy. The average code monkey trying to invent encryption _will_ come with something ridiculously easy to crack.
But I'll say this: if the best and brightest mathematicians the NSA can find, still aren't competent enough, then I'd worry about the USA. I'm not even an American, and my attitude is somewhat anti-American (or at least anti-Bush), but even I in my crankiest hour wouldn't have _that_ bad an opinion of the USA.
To put it in perspective: something like this isn't like your average piece of code that someone typed on a Friday afternoon and never bothered to test. Something like this is bound to be reviewed by at least 2-3 other pairs of eyes before it becomes an official spec. So if they simply couldn't find anyone qualified enough to review it... I'd worry. A lot.
The conspiracy theory there is actually the _far_ more flattering alternative.
Parent
Re:What part of "NSA Approved" don't you understan (Score:3, Funny)
Re:What part of "NSA Approved" don't you understan (Score:5, Insightful)
So, if the NSA was indeed intentionally creating a backdoor, then they were doing a disservice to the "national security" they are supposedly protecting. By allowing (encouraging, in fact) top-secret government data to be encrypted in this way, they would be making the nation's secrets quite vulnerable. By comparison, private citizens and corporations can use whatever encryption they like, regardless of NSA recommendations.
I suppose one could argue that the NSA thought that no one would figure it out, so that they (and they alone) would be able to break that encryption for all time (so that they can spy on other branches of the government?). I think a simpler explanation is that NSA just made a mistake in endorsing that algorithm, and never intended to threaten national security. Of course it will be interesting to see what position they take now that a flaw has been publicly identified.
Parent
Re: (Score:3, Insightful)
Supposing
Re:Give everyone the key (Score:5, Informative)
Parent
Re:Of course! Just look what they did with the tel (Score:4, Interesting)
If any of you think this is the least bit specious, the VeriSign website proudly proclaims that they will subcontract to telcos/ISPs that are ordered to eavesdrop in a "legal intercept" capacity. There is no other reason for VeriSign to be in that line of work unless they are using their ability as CA to stage undetectable MITM surveillance attacks.
Parent