there are two keys required to code and decode a message: a so-called public key—a password, if you will—which is not kept secret, and a private key, which is. Essentially, you use the public key to encrypt a message that only the correct private key can then decode. The two keys are different, but they’re mathematically linked. Now, if you could somehow study just the public key and use it to figure out the private key, then the whole world opens up to you because everybody uses this technology—commercial, industrial, military, banking—you name it. Even our business networks use it. You could break almost all modern cryptography schemes. Nothing would be secure.”
He paused, and then continued. “The good news is that since the link between the two keys is based on ridiculously esoteric math functions using integer factorization and discrete logarithms, the private key is, for all intents and purposes, unsolvable. The numbers are so big and so complex that they are unbreakable—so far, anyways. Until now, there’s been no known mathematical way to discern the private key using just the public key—no formula, nothing like that. So what people try to do instead to figure out the private key is use what’s known as the brute-force method—that is, they simply use a powerful computer to try every possible combination of numbers until one works. For example, if the key were two digits long, there would be one hundred possible answers. The possible combinations would be somewhere between zero-zero and ninety-nine. The computer would start at the beginning and try every one of these combinations until it came up with the right combination, all in a couple of nanoseconds—that’s the essence of a brute-force attack. What the cryptologists do to thwart this attack is pretty simple. They use a great, big, long key with lots of digits. The universe of solutions increases exponentially. And I mean they get
really
big—huge, in fact. So much so that the fastest computers in the world today would still take at least
a couple thousand years
to run through all the combinations—maybe a lot longer. This makes the data being protected what they call
computationally
secure. And it means a brute-force attack will take so long to figure out the answer that the data would no longer be relevant when it finally unlocks the code. What difference does it make if someone can bust into your checking account if it will take them two thousand years to do it? With me so far?”
Surprisingly, Kenny’d made it fairly easy to understand. We were all with him.
“So that leads to Starfire. I don’t know much—only what I’ve picked up from my secret sources. But as I understand it, Thomas Rasmussen apparently came up with another way to figure out the private key. He developed an algorithm called Starfire. From what I’ve heard, Starfire may have the ability to factor those large numbers very quickly. There’s been speculation for years that such an algorithm could eventually be discovered, but it hasn’t happened yet—until now, if Starfire is legit. The rumor is that using the Starfire Protocol, ACS can supposedly factor out the private key in hours instead of thousands of years.”
It was silent for a moment. Then Richard said, “And then, this would unlock—”
“It would unlock pretty much anything to do with computers as we know them today,” Kenny said. “Since asymmetrical key cryptology is so prevalent, if you can crack it in a short time, nothing is secure. Like I said, banking, military, government, the entire Internet structure—everything becomes insecure.”
“Holy shit,” I said. “That could be profound. Everything would have to shift to another coding technology almost immediately.”
“That’s true,” Kenny said. “If another such technology exists. That's why I thought that it makes sense that the Starfire Protocol is step one in a one-two combination punch.”
“Explain,” I