<a href="046">046</a>    [ 047 ]    <a href="048">048</a>something based on multiplying large primes, unscrambling it without knowing those primes will be hard. Wicked hard. Like, a trillion years of all the computers ever invented working 24/7 won't be able to do it. There are four parts to any crypto message: the original message, called the "cleartext." The scrambled message, called the "ciphertext." The scrambling system, called the "cipher." And finally there's the key: secret stuff you
feed into the cipher along with the cleartext to make ciphertext. It used to be that crypto people tried to keep all of this a secret. Every agency and government had its own ciphers *and* its own keys. The Nazis and the Allies didn't want the other guys to know how they scrambled their messages, let alone the keys that they could use to descramble them. That sounds like a good idea, right? Wrong. The first time anyone told me about all this prime factoring stuff, I immediately said, "No way, that's BS. I mean, *sure* it's hard to do this prime factorization stuff, whatever you say it is. But it used to be impossible to fly or go to the moon or get a hard-drive with more than a few kilobytes of storage. Someone *must* have invented a way of descrambling the messages." I had visions of a hollow mountain full of National Security Agency mathematicians reading every email in the world and snickering. In fact, that's pretty much what happened during World War II. That's the reason that life isn't more like Castle Wolfenstein, where I've spent many days hunting Nazis. The thing is, ciphers are hard to keep secret. There's a lot of math that goes into one, and if they're widely used, then everyone who uses them has to keep them a secret too, and if someone changes sides, you have to find a new cipher. The Nazi cipher was called Enigma, and they used a little mechanical computer called an Enigma Machine to scramble and unscramble the messages they got. Every sub and boat and station needed one of these, so it was inevitable that eventually the Allies would get their hands on one. When they did, they cracked it. That work was led by my personal all-time hero, a guy named Alan Turing, who pretty much invented computers as we know them today. Unfortunately for him, he was gay, so after the war ended, the stupid British government forced him to get shot up with hormones to "cure" his homosexuality and he killed himself. Darryl gave me a biography of Turing for my 14th birthday -- wrapped in twenty layers of paper and in a recycled Batmobile toy, he was like that with presents -- and I've been a Turing junkie ever since. Now the Allies had the Enigma Machine, and they could intercept lots of Nazi radio-messages, which shouldn't have been that big a deal, since every captain had his own secret key. Since the Allies didn't have the keys, having the machine shouldn't have helped. Here's where secrecy hurts crypto. The Enigma cipher was flawed. Once Turing looked hard at it, he figured out that the Nazi cryptographers had made a mathematical mistake. By getting his hands on an Enigma Machine, Turing could figure out how to crack *any* Nazi message, no matter what key it used. That cost the Nazis the war. I mean, don't get me wrong. That's good news. Take it from a Castle Wolfenstein veteran. You wouldn't want the Nazis running the country. After the war, cryptographers spent a lot of time thinking about this. The problem had been that Turing was smarter than the guy who thought up Enigma. Any time you had a cipher, you were vulnerable to someone smarter than you coming up with a way of breaking it. And the more they thought about it, the more they realized that *anyone* can come up with a security system that he can't figure out how to break. But *no one* can figure out what a smarter person might do. You have to publish a cipher to know that it works. You have to tell *as many people as possible* how it works,
<a href="046">046</a>    [ 047 ]    <a href="048">048</a>