Skip to comments.Reading al Qaedas Encrypted Email
Posted on 08/04/2004 11:09:02 PM PDT by Straight Vermonter
The U.S. and Pakistan may have found a way to read months, or years, worth of secret al Qaeda messages. No one is saying anything about that, but it works like this.
The recent warnings that al Qaeda was planning attacks on specific targets in the United States was said to come from recent people, and information, captured in Pakistan. One of the two key al Qaeda people captured was Mohammed Naeem Noor Khan, an English speaking Pakistani computer engineer. Khan was running an al Qaeda communications network, using email and encryption to distribute messages that could not be read with out the decoding keys. What was left out of these reports was any mention of public key cryptography, PGP (a version of public key cryptography freely available to Internet users), the National Security Agency (NSA) and cracking (decoding) PGP. Theres more to Mister Khans capture than meets the eye.
During the 1990s, the NSA was frequently in court trying to keep PGP off the market. In the 1980s, NSA was trying to get the key length of commercial ciphers kept shorter than business wanted. NSA is in charge of developing systems to keep American government messages secret, and figuring out how to crack the codes other nations use. Although the NSA never admitted it, most cryptography experts believed NSA wanted to keep longer keys out of use, because NSA did not have powerful enough techniques, or computers, to crack longer keys.
OK, all this talk of cipers and keys length doesnt make sense to most people, so lets offer a brief explanation. It starts with the appearance of inexpensive computers, when it became possible to use new methods to turn messages into apparent gibberish with coding systems. This was done using a key, which was a string of letters and numbers. Think of it a kind of password. If the person receiving the message had the right key, the message could be decoded (using a mathematical routine similar to the one that garbled the message in the first place.) The most popular of these techniques was eventually released as an inexpensive commercial product called PGP (Pretty Good Privacy). Users could post a public key that other users of the PGP program could use to scramble an email message or data file. When you received a message scrambled with your public key, you entered your private key into PGP and it descrambled the email or file.
The trouble with PGP was that, as far as NSA was concerned, it was too good. NSA got the U.S. government to declare programs like PGP to be military equipment, and subject to export controls. Trying to stop the spread of PGP was absurd, however, and the government eventually backed off. But NSAs problem with PGP encoded messages remained. Or did it? NSA, obviously, is not going to admit that it can, or cannot, crack PGP encoded messages.
The most straightforward to read an encoded PGP message, without the decoding key is to use a computer to run through every possible combination of the key, to find the ones that work. A 516 digit key can be cracked using this computerized brute force method. For example, if you have a computer that can perform a million instructions per second going at it for 30,000 years, you can read the message encoded with a 516 digit key. Thats a little misleading, as a thousand dollar PC in 2004 can generate several thousand MIPS. So it would only take you ten years to crack that code. Of course, if you got several hundred of these PCs working together, you could get the job done in a few weeks. You can see where this is going. NSA has billions of dollars a year to play with, and building supercomputers out of cheap PCs has become quite popular.
However, increase the key to 768 characters, and it takes about 6,600 times longer to crack it. Go to key size of 1024, and it takes 1,500 times longer than the 768 character key. Go to a 2048 key size and it takes a billion times longer than a 1024 character long key. PGP can use a 1024 character key, and many users go for the larger key for obvious reasons.
Down at the NSA, all is not lost. Cracking a PGP code can be done with clever math as well as powerful computers. While we know there are a lot of cheap, powerful computers available to the NSA, we also know the NSA has a lot of clever people who specialize in figuring out better ways to crack codes. What we dont know is if NSA is able to crack PGP messages scrambled using 1024 character codes.
If al Qaedas computer savvy Mohammed Naeem Noor Khan was in charge of an al Qaeda communications network that used the Internet, then he was probably using PGP. Al Qaeda use of PGP has been reported many times, as have complaints about the potential for that providing al Qaeda with an invulnerable encryption system. NSA has remained silent. But if Kahn was the man in charge, and he had many of the decryption keys with him when he was captured, that enables the NSA to read many previous messages. How many? Depends on how many keys were captured. Could be months worth. Its also possible that months worth of actual messages was captured. This kind of information is invaluable in figuring out what al Qaeda has been doing, and is currently planning. Did Kahn have the keys? This is something you dont want to discuss, one way or the other. You want the al Qaeda users of Kahns network to sweat a bit, even if the keys were not grabbed. And if the keys were obtained, there are tough times ahead for terrorist users of "invulnerable" encryption.
There is a VERY fine article in the September 2004 Atlantic Monthly about the
Al-Quida goodies found on a desktop and a laptop obtained by a Wall Street Journal reporter
just after his arrival in liberated Kabul.
Reading the terse e-mails between a field operative and his boss at headquarters
over his handling of Al-Quida funds is a hoot.
The U.S. and Pakistan may have found a way to read months, or years, worth of secret al Qaeda messages. No one is saying anything about that, but it works like this.
This fool should shut his mouth, or have it shut for him.
This is like when some fool Senator spilled the beans we were listening to Bin Laden's cellphone. Why tip off the enemy? LOOSE LIPS........
It's also possible that the guy didn't bother encrypting the contents of his own hard drive. He could have left a trail of unencrypted messages on the drive through bits of cache files, text files and other stuff on the drive as well.
a one time key is the safest way to communicate.
I think the govt can deciper PGP...I remember they couldnt export, then all of a sudden they could.
Even so, CIA probably has hackers who stole the info from PGP
The nice thing about any strong crypto is that it should stand up to attack even if you know the algorithm and implementation.
Of course if you find a flaw.... it can make anything easier to crack, especially if you have known text to work with.
You might want to check out GPG, the GNU open source version of PGP.
It wasn't a senator. It was the prosecutor in one of the original 1993 WTC bombing case. That's because Bill Clinton treated terrorism as ordinary crime rather than a war crime or piracy.
I would rather plant spyware on the Hotmail page that loads to any computer that accesses it from Pakistan, and pings the CIA computer from there...
Look at all the Phishing exploits going on now....and how many people are unaware!
Nice article. I doubt that the NSA can crack PGP, either due to magical advances in technology, or some implementation flaw that's exploitable.
My guess is sloppy key handling. If they captured the guys laptop, chances are they were able to recover his keys, because most people a) don't change their keys enough, and b) have crappy passwords on their private keys.
I'd guess tossing words/phrases from the Koran at an AQ password would likely be fruitful. Just put together a
dictionary of permutations of 'Allah', and see what you
Someone needs to teach this reporter some math. The actual difficulty figures for a brute force crack are:
A 768-bit key takes 7.24x1075 times as long to crack as a 516-bit key (that's a 7 followed by *74* zeros).
A 1024-bit key takes 1.16x1077 times as long to crack as a 768-bit key (1 followed by 76 zeros).
A 2048-bit key takes 1.80x10308 times as long to crack as a 1024-bit key (about 2 followed by 307 zeros).
In each case the appropriate figure is 2(B2-B1), where B1 is the number of bits in the smaller key, and B2 is the number of bits in the larger key.
I don't know where in the hell the reporter got his figures from, but they're too small by enormous orders of magnitude.
If every single atom in the universe were a computer a trillion times faster than the fastest computer today, and ran for a trillion years, you still wouldn't have enough computer power to crack a single 2048-bit key by brute force.
Maybe they only found the Key in Pakistan...
The new IBM supercomputer "blue ocean" that the US navy is buying would do the job in 13 hours.
A quantum computer can break a PGP key in O((log N)3) time using Shor's algorithm.
I'll bet that quantum computation research has commanded a significant portion of NSA's budget for ten years or more.
"I think there is a world market for about five computers." -IBM founder Thomas Watson Sr.
Ah, good point, thanks for the correction. I was indeed thinking of n-bit conventional keys.
Is the number of valid 516-bit RSA keys known? It would be interesting to figure out how whether it would be feasible to pre-compute all possible keys into a "key dictionary", and then use that to brute-force test encrypted messages.
Odds are PGP still cannot be brute-forced without, literally, hundreds of millions of dollars worth of supercomputers. I DO believe the NSA can brute-force PGP, but only with superhuman super-expensive efforts.
Odds are any messages that were cracked were either decoded by physically capturing the private key, bugging a computer and learning the key that way.
The is some chance that having clear-text messages and their encrypted versions might help crack other encrypted messages.
But I don't find any evidence here that PGP can routinely be cracked.
Wouldn't help. PGP is open source. You can study it all you want. Anyone can.
I agree, a dictionary attack on a keystore would be the most probable solution.
I've always wondered about bruteforce attacks. Each attempt with a random key will produce some sort of result. How does the computer recognize when the correct key has been used, and a valid result has appeared?
"I would rather plant spyware on the Hotmail page that loads to any computer that accesses it from Pakistan, and pings the CIA computer from there... "
Intelligence agencies would get in big doodoo if caught doing something like that.
Plus, installing stuff on someome elses computer surrepititiously in that way requires specific browser versions etc to be in place etc - it's just not possible to bug every browser in Pakistan!
"I've always wondered about bruteforce attacks. Each attempt with a random key will produce some sort of result. How does the computer recognize when the correct key has been used, and a valid result has appeared?"
You can't do THAT kind of attack against asymmetric crypto.
You are describing dictionary attacks against symmetric crypto, like DES.
You have a dictionary, you encrypt each word, then compare the result to the captured password file, for example, and look for matches. That is (a vastly simplified but accurate) explanation of how people 'crack' passwords for example.
Yeah the cell phone thing was truly stupid too.
Bruce Schneier has a nice little primer on how to recognize plaintext.
Aren't we all assuming that there is no backdoor to PGP? Does anybody think that the NSA was simply going to drop their opposition to exporting this technology?
how would intelligence agencies get in trouble for that? no one can even hold the people who are doing it accountable!
they have caught a few sympathizers setting up fake AQ websites....who knows what else they are doing...
There are 3 different keys that are useful in attacking PGP encrypted traffic.
There's a message key, for the symmetric cipher that's used to encrypt the individual message. That should only be useful for decrypting one message, so it's not that useful. I'm pretty retro, so using PGP 2.6.2 this ciper would be IDEA, its key length will be 128 bits.
There's the private key of the recipient, which decrypts the
message key that's encrypted to the public key of the recipient. This is thing you want, because you can decrypt all messages sent to that key. That you've ever intercepted. Storage is cheap, so it's worthwhile to keep all encrypted traffic you can capture, in case you get ahold of the keys later on.
Then there's a symmetric key used to encrypt the private key for storage on disk. I'm thinking they used IDEA for PGP 2.6.2 to encrypt the private key, but I'm too lazy to look. There's a passphrase that allows decrypting the private key, note that you need the secret keyring to attack this. When you get the passphrase (the passphrase, if weak, will be a lot easier to attack than brute forcing the encryption on the key).
I just finished that article. It was a great piece of journalism. It was really odd to see al Qaeda in the light of functioning like any other organization, with all the pettiness and power struggles.
That picture was hilarious. It was surreal to see these images encased in the familiar Windows environment (and in English, no les). Reminded me of the Taliban rushing around in those old Toyota pickups.
I second your skepticism, but dare not express it in this neighborhood.
That's interesting. But wouldn't the overhead of testing each decrypted message slow down brute forcing considerably? It's one thing to try a billion keys a second, and it's quite another to look at each decryption and decide if it's any good or not.
If the encryptor knew the plaintext recognition algorithm, he could also take steps to dodge recognition:
If they're looking for spaces they're out of luck.
A brute-force cracking machine tries every possible key until it finds the right one. If the machine has a chunk of ciphertext and decrypts it with one key after the other, how does it know when it found the correct plaintext?
It seems obvious to me, but I get this question often enough to address it in these pages. The machine knows that it found the plaintext because it looks like plaintext.
Plaintext tends to look like plaintext. It's an English-language message, or a data file from a computer application (programs like Microsoft Word have large known headers; even PK-ZIP files have known headers), or a database in a reasonable format. When you look at a decrypted file, it looks like something understandable. When you look at a ciphertext file, or a file decrypted with the wrong key, it looks like gibberish.
In the 1940s, Claude Shannon invented a concept called the unicity distance. Among other things, the unicity distance measures the amount of ciphertext required such that there is only one reasonable plaintext. This number depends both on the characteristics of the plaintext and the key length of the encryption algorithm.
For example, RC4 encrypts data in bytes. Imagine a single ASCII letter as plaintext. There are 26 possible plaintexts out of 256 possible decryptions. Any random key, when used to decrypt the ciphertext, has a 26/256 chance of producing a valid plaintext. The analyst has no way to tell the wrong plaintext from the correct plaintext.
Now imagine a 1K e-mail message. The analyst tries random keys, and eventually a plaintext emerges that looks like an e-mail message: words, phrases, sentences, grammar. The odds are infinitesimal that this is not the correct plaintext.
Everything else is in the middle. The unicity distance determines when you can think like the second example instead of the first.
For a standard English message, the unicity distance is K/6.8, where K is the key length. (The 6.8 is a measure of the redundancy of English in ASCII. For other plaintexts it will be more or less, but not that much more or less.) For DES, the unicity distance is 8.2 bytes. For 128-bit ciphers, it is about 19 bytes.
This means that if you are trying to brute-force DES you need two ciphertext blocks. (DES's block length is 8 bytes.) Decrypt the first ciphertext block with one key after another. If the resulting plaintext looks like English, then decrypt the second block with the same key. If the second plaintext block also looks like English, you've found the correct key.
The unicity distance grows as the redundancy of the plaintext shrinks. For compressed files, the redundancy might be 2.5, or three blocks of DES ciphertext. For a 256-bit-key cipher, that would be 105 plaintext bytes. If the plaintext is a random key, the redundancy is zero and the unicity distance reaches infinity: it is impossible to recognize the correct plaintext from an incorrect plaintext.
But that's a special case. Most of the time, it is easy to recognize plaintext.
Hope you're right.
Actually, it's not all that hard to bug a lot of them. Writing a worm that attacks a particular Internet address space and checks for local languages, etc., is well within possibility, and vastly cheaper than recon satellites.
You can assume that U.S. intelligence and/or law enforcement have tried to strongarm every provider of encrypted communication to provide a backdoor.
There are, however, open source versions of PGP.
You need some clue, hack, or exploit. Even in the days of Enigma, info gathered in the field about the machines, cleartexts, etc., were vital to success. I don't believe that there is fundamental knowledge that exists only inside NSA that enables them to crack encryption that other people cannot crack or prove a crack exists.
That said, 2048 bit keys are probably not excessive.
"A 1024-bit key takes 1.16x10^77 times as long to crack as a 768-bit key (1 followed by 76 zeros)."
That would be a 1 followed by 77 zeros. Just like 1 times 10^2 is a one followed by 2 zeros.
How does the computer recognize when the correct key has been used, and a valid result has appeared?
I believe that Blenchley Park solved that problem with "The Bomb". They knew the constraints on enigma machine, they had an electro-mechanical computer that would brute force possible combinations until plain-text German appeared in short snippets. It could false alarm, but just reset and continue.
Sigh, it was the wee hours of the morning, and I've spent a lot of time correcting people who say that 10X is "10 followed by X zeros", when it's really X-1. So I was primed to make the reverse mistake myself out of habit. :-)
I agree it is not a hard problem. My point is speed. How many machine cycles will be needed to test each decryption for plaintext? If you're trying to test a billion keys per second, this definitely becomes a consideration.
There would be many ways around brute-force recognition algorithms for skilled operatives. For example, you could write you text in a graphics application, and save it as a .jpg. Then uuencode it or yenc it to disguise the filetype, and apply your encryption algorithm. The brute-force cracker cannot be programmed to recognize to many variants without slowing it down so much that it would be worthless.
I think the point is that even things like that have headers in them, which would make them even easier to decrypt and recognize. Besides, AQ don't want to be slowed up, they just wanna fire off emails without all the rigamarole.
Nah. This article is mostly just speculation. If the NSA is reading the PGP messages from al Qaeda laptops, it's most likely that it is because they have the 'secret key', and it is protected with a weak password rather than a brute force attack. People are generally pretty stupid when it comes to passwords, which is one reason that PGP always says "pass phrase" in its documentation. MY pgp pasphrase is more than 40 characters, but few people go to such lengths because they simply don't understand the concept of the "weakest link". If the NSA has posession of the encrypted message (cyphertext), the public key, and the private key, it should be obvious that they'll attack the private key because it is the "master" that enables them to decrypt messages at will.
It used to be that the NSA had the best crypto folks on the planet, and while this might still be true to a degree, there are a heck of a lot more high-quality cryptographers out there in the world at large than there used to be.
I'd still bet that absent physical posession of the secret keys, PGP is probably still opaque to the NSA. That's one reason why it is so important to safeguard your keys.
Even without the ability to decrypt messages, traffic analysis is a useful tool in building information about networks of people. Knowing that Alice, Bob, and Chuck are communicating with a bunch of encrypted messages acn tell you a lot about relationships.
I support the universal use of encrypted mail. Unfortunately, most people can't be bothered. They'd rather send their messages on postcards than protect them with an envelope.
I call keys like that 'heat death' keys, because they'll take longer to decrypt than the ultimate fate of the universe.
The more basic question: Why announce it and let them know we can read their mail?
I don't understand the need to tip off the enemy when we succeed at gathering info.
Oddly enough, AQ continues to use satellite phones, even though the CIA owns the satellites. My guess is that NSA can read PGP. All encryption systems have vulnerabilities, fatal ones if you get your hands on even one machine in the chain of communication.
THX. Will try and check it out.