Among the revelations brought to light by Edward Snowden (the ex-NSA contractor who leaked secret documents to the press), the idea that the NSA might be able to break most cryptographic codes protecting the Internet traffic stands as terrifying.
Whenever you visit a secured website such as Amazon, the connection is based on TLS/SSL (Transport Layer Security / Secure Socket Layer), an Internet protocol which encrypts any data exchanged between your computer and the server.
The entire security of this model is based on public-key cryptography: instead of using the same secret key to encrypt then decrypt your data (which brings the issue of securely sharing the secret key), two keys are used, one private and one public. Whereas your private key must remain secret, the public key may be safely shared.
This in turn is made possible by clever mathematics involving prime numbers. In short, the strength of public-key cryptography relies on the fact that it is easy to multiply large prime numbers A and B and get a result C, but really hard to guess A and B from C only (a task called Prime Factorization).
Well, this is what we thought so far. The thing is, even though Prime Factorization has been really slow to execute so far, there is no mathematical proof that it must be the case. It might just be that we haven’t found a way to do it quickly yet.
The NSA and its army of mathematicians may well have found a shortcut in the mathematics involved. And if that is the case, they would be able to easily decrypt the entire Internet traffic.