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é.
Histoire de la cryptologie
En raison des caractéristiques des fonctions à sens unique, la plupart des clés possibles sont de mauvais choix comme clés de chiffrement ; seule une petite fraction des clés possibles est acceptable. Conséquemment, les algorithmes de chiffrement asymétrique nécessitent des clés très longues pour atteindre le même niveau de sécurité que les clés de chiffrement symétrique qui sont relativement plus courtes. La nécessité de générer des paires de clés très longues et d'effectuer les opérations de chiffrement et de déchiffrement en utilisant ces longues clés rendent les algorithmes de chiffrement asymétrique coûteux en calcul comparativement à la plupart des algorithmes de chiffrement symétrique. Étant donné que ceux-ci peuvent utiliser comme clé secrète n'importe quelle suite de bits (au hasard, ou du moins imprévisibles), une clé secrète jetable peut être rapidement générée pour utilisation à court terme dans une seule session. Par conséquent, il est de pratique courante d'utiliser de longues clés asymétriques pour échanger une clé symétrique jetable beaucoup plus courte (mais tout aussi forte). L'algorithme de chiffrement asymétrique lent envoie, en toute sécurité, une clé de session symétrique ; l'algorithme de chiffrement symétrique, plus rapide, prend ensuite le relais pour le reste de la communication.