Chiffrement
Bien que le chiffrement puisse rendre secret le sens d'un document, d'autres techniques cryptographiques sont nécessaires pour communiquer de façon sûre. Pour vérifier l'intégrité ou l'authenticité d'un document, on utilise respectivement un "Message Authentication Code (MAC)" ou une signature numérique. On peut aussi prendre en considération l'analyse de trafic dont la communication peut faire l'objet, puisque les motifs provenant de la présence de communications peuvent faire l'objet d'une reconnaissance de motifs. Pour rendre secrète la présence de communications, on utilise la stéganographie. La sécurité d'un système de chiffrement doit reposer sur le secret de la clé de chiffrement et non sur celui de l'algorithme. Le principe de Kerckhoffs suppose en effet que l'ennemi (ou la personne qui veut déchiffrer le message codé) connaisse l'algorithme utilisé.
ProtonMail
ProtonMail utilise une combinaison de cryptographie asymétrique (clé privée et clé publique) et de chiffrement symétrique pour offrir un chiffrement de bout en bout. Lorsqu'un utilisateur crée un compte ProtonMail, son navigateur web génère une paire de clés RSA (une publique et une privée). La clé publique est utilisée pour chiffrer les messages destinés à l'utilisateur. La clé privée, qui sert à déchiffrer les messages chiffrés reçus par l'utilisateur, est chiffrée dans le navigateur au moyen du mot de passe de messagerie en utilisant l’algorithme AES-256. Cette clé privée chiffrée et la clé publique sont stockées sur les serveurs de ProtonMail. Ainsi, la clé de déchiffrement (la clé privée) étant stockée sur les serveurs de ProtonMail en format chiffré, les développeurs de ProtonMail ne peuvent décoder les messages chiffrés ni la révéler à un utilisateur qui l'aurait oubliée. La clé publique peut être téléchargée par l'utilisateur pour être publiée sur le réseau des serveurs de clés publics, permettant à tout un chacun de lui envoyer des messages chiffrés de bout en bout.