La cryptographie existe depuis des millénaires, ses premières traces remontant à 1900 av. J.-C. en Égypte. Sans la cryptographie moderne, Internet tel que nous le connaissons ne serait pas possible. Elle sécurise les transferts financiers, les communications privées et les secrets militaires, et vous en bénéficiez dès que vous êtes en ligne.
Dans cet article, nous allons passer en revue les principaux types de cryptographie, les clés sur lesquelles ils reposent et les algorithmes dont vous avez probablement déjà entendu parler. Ainsi, la prochaine fois que quelqu’un parlera d’« AES-256 » ou de « chiffrement de bout en bout », vous saurez ce qui se passe en coulisses.
Qu’est-ce que la cryptographie et pourquoi est-elle importante ?
La cryptographie est la discipline qui consiste à sécuriser et à vérifier les informations, qu’elles soient en transit ou au repos. Dans cet article, nous nous concentrerons uniquement sur la cryptographie moderne utilisée dans les technologies informatiques. La cryptographie moderne s’articule autour de quatre objectifs :
- La confidentialité garantit que seul le destinataire autorisé peut lire les données.
- L’authentification permet de prouver l’origine réelle des données et/ou l’identité du destinataire, selon les circonstances.
- La non-répudiation garantit que l’expéditeur ne peut pas nier avoir envoyé les données.
- L’intégrité garantit que les données n’ont pas été modifiées ni altérées pendant leur stockage ou leur transmission.
Sans cryptographie, vos données circuleraient en clair sur Internet, et toute personne située sur leur trajet pourrait les lire. Les algorithmes de chiffrement les transforment en texte chiffré, de sorte que même si un pirate intercepte votre trafic, les octets ne ressemblent plus qu’à du bruit sans la clé. C’est le même principe que celui sur lequel repose un tunnel VPN.
Chaque fois que vous achetez quelque chose en ligne, la cryptographie garantit la transmission sécurisée des informations de votre carte au site web ou au prestataire de paiement. Les protocoles d’authentification permettent, eux, de vérifier les transactions.
Il en va de même pour les communications privées dans les applications de messagerie chiffrées de bout en bout (E2EE) comme WhatsApp, le stockage dans le cloud, la navigation privée, les gestionnaires de mots de passe et les systèmes de dossiers médicaux. Partout où vos données doivent rester confidentielles, qu’elles circulent sur Internet ou qu’elles soient stockées sur un serveur qui ne vous appartient pas, c’est la cryptographie qui s’en charge.
Comment fonctionne la cryptographie : principes fondamentaux et clés
Quatre autres notions permettent de comprendre tout le reste.
- Le texte en clair correspond aux données d’origine non modifiées, comme les messages texte et les mots de passe.
- Le texte chiffré correspond à des données chiffrées, donc rendues illisibles, qui ne peuvent être retransformées en texte en clair qu’à l’aide de clés cryptographiques.
- La clé cryptographique est une chaîne de bits, composée de 0 et de 1, généralement représentée sous forme de chiffres et de lettres dans un format lisible par un être humain. Elle est générée par un algorithme propre au type de cryptographie utilisé. La longueur et le caractère aléatoire de la clé sont les deux critères de sécurité les plus importants, car ils déterminent ensemble le temps nécessaire à une attaque par force brute.
- Le chiffre, ou algorithme de chiffrement, est la méthode mathématique qui transforme le texte en clair en texte chiffré. Les algorithmes de chiffrement modernes sont conçus pour résister aux méthodes détournées qui permettraient à un attaquant de récupérer le texte en clair sans la clé.
Voici le fonctionnement simplifié. Avant que la moindre donnée ne quitte votre appareil, l’algorithme de chiffrement et la clé cryptographique transforment le texte en clair en texte chiffré. À l’arrivée, le serveur utilise une clé correspondante pour déchiffrer le texte chiffré et le retransformer en texte en clair. La réponse suit le même processus en sens inverse : elle est chiffrée sur le serveur, puis déchiffrée sur votre appareil.
C’est la version simplifiée. En réalité, la communication en ligne fonctionne comme un tunnel bidirectionnel en temps réel et, avec le chiffrement asymétrique, plusieurs clés cryptographiques entrent en jeu. Cela nous amène à la section suivante.
Types de cryptographie : symétrique et asymétrique
La cryptographie symétrique et la cryptographie asymétrique sont les deux méthodes les plus largement utilisées, chacune avec ses propres avantages et inconvénients. Dans de nombreux protocoles concrets, elles sont utilisées côte à côte afin de combiner leurs avantages, une approche connue sous le nom de cryptographie hybride.
La cryptographie symétrique utilise la même clé secrète pour le chiffrement et le déchiffrement. Votre appareil chiffre les données avec cette clé, puis le serveur les déchiffre avec la même clé secrète.
Le problème est que les deux parties doivent posséder la clé secrète. Si vous l’envoyez en ligne, toute personne qui espionne le canal de communication peut s’en emparer. À ce stade, votre chiffrement devient pratiquement inefficace contre cette personne.
En revanche, il s’agit d’une solution peu gourmande en ressources, ce qui la rend parfaite pour chiffrer les données au repos. Comme vous n’avez pas besoin d’envoyer les données ailleurs, vous êtes la seule personne à détenir la clé secrète permettant de les déchiffrer. Dans un environnement d’entreprise, la clé secrète est partagée entre plusieurs utilisateurs, mais la structure sous-jacente reste la même.
La cryptographie asymétrique répond aux problèmes de sécurité liés au partage des clés. Elle utilise une clé publique pour le chiffrement des données et une clé privée pour le déchiffrement. N’importe qui peut utiliser la clé publique pour chiffrer des données et les envoyer à votre appareil. Mais vous seul possédez la clé privée permettant de les déchiffrer. Par exemple, les messages que vous recevez dans les applications E2EE sont chiffrés à l’aide d’une clé publique, mais seule votre clé privée unique peut transformer le texte chiffré en texte en clair.
À l’inverse, chaque fois que vous consultez un site web, vous utilisez sa clé publique pour chiffrer la requête HTTPS. Le processus complet implique un certificat SSL/TLS, une phase de négociation appelée handshake et la négociation de clés de session symétriques que les deux parties utilisent pour le reste de la session.
Le détail important est que la clé publique ne peut pas déchiffrer les données qui ont été chiffrées avec elle. Seule la clé privée correspondante le peut. Quant aux clés privées, elles ne transitent jamais par le réseau ; elles restent sur le serveur local ou sur l’appareil de l’utilisateur qui les a générées.
Il convient de noter que la cryptographie asymétrique est coûteuse en puissance de calcul. Dans la pratique, les protocoles ne l’utilisent que pour la phase de négociation initiale, juste le temps de convenir en toute sécurité d’une clé de session partagée, puis passent au chiffrement symétrique pour la suite de l’échange, ce qui est beaucoup plus rapide pour l’essentiel du trafic.
Algorithmes et méthodes cryptographiques les plus courants
Voilà pour la théorie. Voici les algorithmes qui font réellement fonctionner l’Internet moderne.
Advanced Encryption Standard (AES)
L’AES est la norme mondiale de référence pour le chiffrement des données. Il est considéré comme pratiquement impossible à casser par force brute, mais il hérite du problème de distribution des clés propre à toute méthode symétrique. Le protocole OpenVPN, largement déployé et utilisé par NordVPN, Proton VPN, Surfshark et bien d’autres, s’appuie sur AES-256, où 256 désigne la longueur de la clé en bits.
ChaCha20
ChaCha20 est un algorithme de chiffrement symétrique plus récent, conçu pour offrir de bonnes performances sur des appareils dépourvus d’accélération matérielle AES dédiée, tels que les smartphones d’entrée de gamme, les objets connectés et les puces mobiles plus anciennes. Il est optimisé pour une exécution logicielle plutôt que dépendant d’un matériel spécifique, ce qui le rend, sur le papier, aussi sûr qu’AES, tout en étant nettement plus rapide en pratique sur des processeurs moins puissants. ChaCha20, associé à Poly1305 pour l’authentification, est au cœur du protocole VPN WireGuard, raison pour laquelle WireGuard donne généralement une impression de plus grande réactivité qu’OpenVPN sur un téléphone.
RSA (Rivest-Shamir-Adleman)
RSA est l’un des premiers grands algorithmes asymétriques et celui qui a popularisé le modèle de clé publique et clé privée. Même si un attaquant intercepte chaque octet d’un échange protégé par RSA, la clé privée ne transite jamais avec les données, il ne peut donc pas la déduire à partir de ce qui circule sur le réseau. La limite, c’est que pour obtenir un niveau de sécurité moderne avec RSA, il faut des clés très longues, de 2 048 ou 4 096 bits, c’est pourquoi des méthodes plus récentes le remplacent progressivement.
ECC (Elliptic Curve Cryptography)
L’ECC est la réponse moderne au problème de la taille des clés RSA. Elle fonde sa sécurité sur la complexité des calculs sur les courbes elliptiques plutôt que sur la factorisation d’entiers. Concrètement, une clé ECC de 256 bits offre à peu près la même sécurité qu’une clé RSA de 3 072 bits. Des clés plus courtes signifient des phases de négociation plus rapides et moins de bande passante, c’est pourquoi l’ECC remplace progressivement RSA dans les versions modernes de TLS, les applications de messagerie et les portefeuilles de cryptomonnaie.
Applications concrètes
La cryptographie moderne fonctionne discrètement en arrière-plan dans presque tout ce que vous faites en ligne.
Le cas le plus évident est votre navigateur : chaque site que vous ouvrez en HTTPS utilise la cryptographie pour chiffrer la connexion entre vous et le serveur. L’icône du cadenas à côté d’une URL est simplement le signal visible que la phase de négociation a réussi.
Et la liste ne s’arrête pas là. Les applications de messagerie E2EE comme WhatsApp et Signal s’appuient sur la cryptographie pour que les messages ne soient lisibles que par leur destinataire. Les protocoles VPN l’utilisent pour encapsuler votre trafic dans un tunnel chiffré. Les réseaux de cryptomonnaie s’appuient sur l’ECC pour signer les transactions. Et les services cloud utilisent AES en arrière-plan pour protéger les données stockées sur leurs disques.
Foire aux questions
+ Quelle est la différence entre la cryptographie symétrique et asymétrique ?+ La cryptographie est-elle la même chose que le chiffrement ?
+ Qu’est-ce que la cryptographie quantique, et est-elle sécurisée ?