PGP / GPG Encryption
For my PGP public key, click here
I strongly encourage people to make use of PGP / GPG encryption to protect their privacy. PGP, which stands for Pretty Good Privacy, is a set of tools that implements RSA keys and AES encryption that was put together by Phil Zimmermann in 1991 and was the subject of controversey and a criminal investigation because, as you might recall, back then, strong encryption was considered a weapon (you might recall, back in the late 90s, having to digitally sign something saying you would not export strong encryption -- 128 bit -- in order to download it to upgrade the stock 56 bit encryption that shipped with Microsoft Internet Explorer and Netscape Navigator). Now, I like to compare myself to Prometheus, but my hat's off to Phil Zimmermann because if that's not the modern equivalent of stealing fire from the gods, then I don't know what is. Do a search on him and read the story -- it's interesting. And look at his photo -- look at that "FU authority" smirk on his face. He risked his freedom to protect ours.
Mr. Zimmermann, I salute you!
RSA encryption keys are asymmetrical, which was a breakthrough developed by Ron Rivest, Adi Shamir, and Leonard Adleman, addressing a millenia-old problem with ciphers and their keys -- how do you distribute the keys given that your need to encipher is driven by the lack of security in your communications systems? In other words, you cannot send the encryption key using a channel that is potentially monitored by the very parties you wish to prevent from reading/hearing your messages. Plus, if this key is ever recovered by the enemy, now they can read everything it was used to encrypt.
With asymmetrical encryption there are 2 keys -- a public key and a private or secret key. The public key encrypts and the private key is used to decrypt. So you publish or freely give out your public key, which anyone can use to encrypt a message to you. Only you can decipher that message by using your private key, assuming that you have, indeed, kept it private. There is also a complimentary set of functions that the key pair performs: A message (or document or file -- doesn't matter what to the computer as it's all 0s and 1s in the end) can be signed using the private or secret key. That signature tells the recipient that the message is really from you and that it was not altered from the point at which you signed it. It is the public key that the recipient would then use to verify the signature.
This encryption technology exists and is unbreakable. There are some claims out there that the NSA can break it, but I don't believe they can. At least not given significant key size (strength). Perhaps a key of 1024 bits is in danger of being broken, but even that would take an enormous amount of processing power. The typical way of explaining this is that it would take all the processing power on Earth thousaands of years to attempt half the possible solutions. It becomes a matter of cost versus reward -- Let's say processor tech is at the point where smaller keys can be cracked in 90 days. How many secrets are worth the time and the electricity it would take? Keep in mind how easy it is to change keys.
Bitcoin miners are actually performing something similar to trying to crack a public key. They are using processing power to solve a math problem which is to hash the last block on the blockchain + a "random" string, to produce a hash value within a certain range (below a threshold). Hashing is akin to encryption, but it's only one way -- there is no decryption. Bitcoin mining rigs attempt trillions of combination per second and yet, they barely scratch the address space that bitcoin exists in.
To put it another way, 1024 bits represents a number that exceeds the number of atoms in the universe, and by quite a lot. Scientists believe that the observable universe contains approximately 1082 atoms (10 to the 82nd power or ten sexvigintillion), which is roughly 273 bits (2273). Wrap your brain around that!
Do you really think the NSA can crack that?
PGP was eventually purchased by Symantec. OpenPGP is an open standard created based on PGPGPG is the free, open source version of PGP. G for GNU -- think Linux, etc., but there is a GPG implementation for Windows, Mac, Linux, iOS, Android, etc.
AES stands for Advanced Encryption Standard and it is the successor to DES or Data Encryption Standard. It's the actual algorithm for using a cipher key to encrypt or decrypt a message. One of the main requirements of a cipher technique is that one small change in the clear text -- the message being encrypted -- will not make a predictable change in the cipher text -- the encrypted form. Instead, one small change will yield a completely different cipher text. This makes it much harder to attack the cipher if you have some messages where you have access to both the encrypted and clear messages.
The technology exists and it works. Many people continue to maintain and enhance it; and some poeple have taken big risks to keep it in the hands of the people. So use it!