How End-to-End Encryption Works

You may have come across the phrase "End to End Encryption" once or twice when looking into more recent messaging services like WhatsApp.
Having encryption is ideal, but what makes end-to-end encryption different?

First, to understand end-to-end encryption we need to understand what we mean by encryption in general. Encryption is the process of taking a set of rules (a cipher) and using them to ensure that one or more computers can be confident that they are indeed communicating with the intended recipient.

The issue with the above method is that once trust between two computers is established, all the data stored is typically left in plain text. During transit the information is encrypted, however, in the database itself, most messages can be read or accessed by anyone who can access that database. For example, on Snapchat when you send and save a message in chat, this message is stored in Snapchat's database in plain text. This means Snapchat can read your message. With end-to-end encryption, this problem is non-existent.

So how does it work? First, you need 2 things: A public key, and a private key. The public key (as you may have guessed) is public: You can send this to your friends or publish it on the internet (like I did here). The private key however is the ultimate proof of your identity and is to NEVER be shared or sent off your local machine.

In end-to-end encryption, the sender and target must first agree on how to communicate. Once a cipher is agreed on, they will both share their public keys. The second you give someone your public key, that person will now be able to send you encrypted messages that only your private key can decrypt.

But you need messaging platforms to support end-to-end communications in order to use them, right? Not really! You can start encrypting and decrypting with your own Public and Private Keys today!

🍎 For my Tim Apple fans, I highly recommend GPGTools:
🪟 For the fresh air club, I recommend using Kleopatra: