End-to-end encryption (E2EE)
Overview
End-to-end encryption (E2EE) is an encryption method in which data is encrypted on the sender's device and can be decrypted only on the recipient's device. Servers along the way and the service provider only relay the encrypted data and are designed to be unable to decrypt the message itself. It is a method that has been spreading in messaging apps, but how far each service makes E2EE the default can change as providers update their specifications.
How it differs from ordinary encryption
Encryption of communication with HTTPS (TLS) encrypts the channel between the client and the server. However, the data is processed in decrypted form on the server, so the server's administrators, or an attacker who breaks into the server, can read it.
With E2EE, the server only stores or forwards the encrypted data as is. Because the design keeps the private key needed for decryption inside the recipient's device, the confidentiality of the message is maintained even if the server is compromised. However, this is a property of a design that assumes the key never leaves the device, and the assumption breaks down if the key is entrusted to a backup route or if the device itself is compromised. This distinction matters a great deal when a security incident happens on the server side.
How key exchange works
The technical core of E2EE is how to safely share an encryption key with the other party. E2EE often uses methods based on Diffie-Hellman key exchange. Each user generates a pair of a public key and a private key, and they exchange public keys. Each side derives the same shared secret from the other's public key and their own private key, and uses it to encrypt messages.
The Signal Protocol goes further to achieve forward secrecy by using a different, throwaway key for each message. Even if the key for one message leaks, it is designed so that the key can't be used to decrypt other messages.
Where encryption fits in anonymous question services
Anonymous question services rarely apply E2EE to the content of the questions themselves. Questions are meant to be answered and shown by the owner on a public page, and the server needs to run content filtering. Filtering requires the server to be able to read the plaintext, which is structurally incompatible with E2EE.
That said, personal information such as the sender's IP address is stored encrypted. In this case, the server uses symmetric-key encryption (AES-256) rather than E2EE. Operational safety is ensured by strictly limiting access to the decryption key. E2EE is not a cure-all, and it's important to choose the encryption method that fits the service's requirements.