Modern asymmetric key encryption takes advantage of the mathematical principle that it is easier to multiply two prime numbers together than it is to factor a number into its prime components - if somebody were to come up with a way to factor products of large primes quickly, this would obliterate modern encryption as we know it. Presumably, this is what happened in Shadowrun.

However, asymmetric key encryption is not the only kind of encryption in the real world. Symmetric key encryption, if properly implemented, is mathematically perfect. Consider the following encryption algorithm - I have a string of characters, "dumpshock". I come up with perfectly random string of characters (there are ways to do this, but the one that I'm going to use, mashing on my keyboard, is not one of them) - "avzliwamf". I then take each character's numerical value (a = 1, etc.) from the plaintext ("dumpshock") and add it to the key ("avzliwamf"), and if the result is greater than 26, I subtract 26.

In cryptography parlance,

Plaintext: dumpshock

Key: avzliwamf

Ciphertext: dumpshock + avzliwam = eplxadppp

This cipher is unbreakable because while I could try guessing different keys and seeing if I get "dumpshock" back, I would only know that's the correct answer if I knew it going in - "eplxadppp" could also mean "kjonesroxx" or "iluvdandd" or

*anything*, and there's no way of knowing. (Assuming that the key generated was perfectly random.)

Now, the obvious problem with this method is that if Alice wants to send Bob a message encrypted with this algorithm (known as a "one-time pad"), Alice must first work out a way to send Bob the key. This is why we don't use one-time pads in the real world - key exchange is too much of a hassle.

But, say you're a shadowrunner, and you have a very real and immediate need for secure exchange of data among your teammates. Since data storage in the 6th world is "enough", there's nothing stopping you from generating a couple billion megapulses of randomly generated keys and passing them among your team the next time you all meet up at the Stuffer Shack. It would not be hard to encrypt all data passed among your teammates during a run (or whenever) using these one-time pads. If you run out, knock off a couple billion more.

The irony here is that the greatest insecurity in this system is that a hacker can still waltz in, hack anyone's comm, and grab the keys, but there are ways to defend against this - firewalls, data bombs, and I seem to recall an option in Unwired that helps prevent files from being moved around. But there is no way to break this encryption by simply intercepting wireless signals. This helps solve, for example, the insecurity of tacnets.

Thoughts? Suggestions? Reasons why I'm wrong?