End-to-end encryption
Why it matters "End-to-end encrypted, so even we cannot read it" appears on messaging apps, cloud drives and password managers. It can be a strong promise. Knowing exactly what it covers, and what it leaves out, helps you choose tools and keep your expectations honest.
Picture two ways to send a sealed letter through a courier. In the first, the courier opens it at the depot, reads it, and reseals it in a fresh envelope for the last leg. In the second, you seal it in a box that only your friend's key opens. The courier carries it the whole way and never could have opened it. The second is end-to-end encryption.
End-to-end encryption (E2EE): encryption where the keys exist only on the people's own devices (the "ends"). The service in the middle carries ciphertext it cannot decrypt.
How it differs from HTTPS
HTTPS from lesson 82 protects the trip from your device to the company's server. Once the message arrives, the server decrypts it, and the company can read, scan or store it. That is encryption in transit.
With E2EE, your device encrypts the message with a key only your friend's device can undo. The server still receives it over HTTPS, but what it gets is a sealed box. There is nothing it can read.
In transit only: you ==HTTPS==> [server reads it] ==HTTPS==> friend
End-to-end: you ==HTTPS==> [server holds a sealed box] ==HTTPS==> friend
key on your phone key on their phoneBehind the scenes, each device makes a key pair, publishes the public key to the service's directory, and keeps the private key. Senders use the public keys to agree shared secrets with recipients, exactly the lesson 81 pattern.
What "even we cannot read it" really covers
It covers the content: the words, photos and files. It usually does not cover:
- Metadata: who talks to whom, when, how often, from which IP address, and how large each message is. The service needs some of this just to deliver messages. Services differ a lot in how much they keep.
- Backups: if your chat history is backed up to a cloud account without its own end-to-end encryption, a readable copy can sit outside the protected path. Many apps let you turn on encrypted backups; check the setting.
- The ends themselves: the message is readable on both phones. A shared device, a screenshot, or a recipient who forwards it are all outside what encryption can promise.
Metadata: data about data. For a message: sender, recipient, time, size and location, rather than what it says.
The key directory problem
There is one subtle catch. Your app fetches your friend's public key from the service's directory. If the service (or someone who has broken into it) handed you a different key, it could sit in the middle, decrypt, and re-encrypt. That is a key substitution attack.
The defence is key verification. Many apps show a "safety number" or QR code made from both people's public keys. If you compare it in person or over a call and it matches, no one swapped the keys. Apps also warn you when a contact's key changes, which is normal after a new phone, but worth a quick check with them.
A common misconception: "E2EE means nobody can ever know I sent anything". It hides what you said, not that you said something to someone. Hiding who talks to whom is a separate, harder problem, and the deep half of this course comes back to it.
Try it Open the contact or chat info in a messaging app you use and look for an option such as "verify security code" or "safety number". Then check your app's backup settings and see whether backups are end-to-end encrypted. You do not need to change anything; just find out.
Recap
- E2EE keeps the keys on people's devices, so the service carries only sealed boxes.
- HTTPS alone protects the trip to the server; the server can still read the message.
- E2EE hides content, not metadata, and not unencrypted backups or the devices at each end.
- Comparing safety numbers is how you know the service did not swap a key.
This lesson is locked
Lessons open one at a time. Finish the previous lesson to unlock this one.