Chaque fois que vous envoyez un message privé, vous vous connectez à votre banque ou achetez quelque chose en ligne, vos données traversent un véritable parcours mathématique conçu pour rendre l’espionnage pratiquement impossible. Les mathématiques du chiffrement en ligne qui protègent ces échanges reposent sur une idée simple mais puissante : certaines opérations mathématiques sont faciles à effectuer dans un sens, mais extraordinairement difficiles à inverser. Cette asymétrie est le fondement de la vie privée numérique moderne, et la comprendre ne demande aucun doctorat, juste la volonté de suivre la logique.
Le problème de la serrure et de la clé : pourquoi les mathématiques du chiffrement en ligne existent
Imaginez que vous devez transmettre un secret à quelqu’un que vous n’avez jamais rencontré, dans une pièce remplie de gens qui écoutent chaque mot. Vous ne pouvez pas chuchoter. Vous ne pouvez pas passer un billet. Tout ce que vous dites est entendu de tous. Comment partager un secret dans ces conditions ?
C’est le problème fondamental de la communication sur internet. Chaque message que vous envoyez traverse une infrastructure publique : routeurs, câbles et serveurs exploités par des inconnus. Avant 1976, la seule solution était que les deux parties partagent déjà un code secret. Puis deux chercheurs, Whitfield Diffie et Martin Hellman, ont publié un article qui a tout changé. Ils ont prouvé que deux personnes pouvaient créer un secret partagé sur un canal public sans jamais l’échanger directement. La logique de leur méthode, et de tout le chiffrement qui en a découlé, repose sur ce qu’on appelle les « fonctions à sens unique avec trappe » : des opérations faciles à effectuer mais difficiles à défaire.
Multiplier est facile, factoriser est difficile
La fonction à trappeOpération mathématique facile à calculer dans un sens mais pratiquement impossible à inverser sans clé secrète, fondement de la cryptographie moderne. la plus célèbre en cryptographie implique les nombres premiers. Multiplier deux grands nombres premiers est trivial pour un ordinateur. Mais à partir du seul produit, retrouver les deux nombres d’origine est d’une difficulté vertigineuse. C’est le fondement de RSA, le système de chiffrement décrit par Ron Rivest, Adi Shamir et Leonard Adleman en 1977.
Voici le principe réduit à l’essentiel. Vous choisissez deux grands nombres premiers et vous les multipliez pour obtenir un très grand nombre. Ce grand nombre fait partie de votre clé publique, visible de tous. Mais seule une personne connaissant les deux nombres premiers d’origine peut dériver la clé privée nécessaire pour déchiffrer les messages. La sécurité repose entièrement sur le fait qu’aucun algorithme connu ne peut factoriser efficacement un nombre suffisamment grand en ses composants premiers.
Qu’est-ce qu’un nombre « suffisamment grand » ? Les clés RSA modernes font généralement 2 048 ou 4 096 bits. Un nombre de 2 048 bits comporte environ 617 chiffres décimaux. Les meilleurs algorithmes de factorisation classiques mettraient plus longtemps que l’âge de l’univers à en venir à bout.
RSA est trop lent pour chiffrer de grandes quantités de données directement. En pratique, il est utilisé pour échanger de façon sécurisée une clé plus courte et plus rapide qui gère le chiffrement en volume. Considérez RSA comme le coursier sécurisé qui livre la vraie clé, pas comme le cadenas lui-même.
L’échange de clés : partager des secrets en public
Avant RSA, Diffie et Hellman ont résolu le problème de l’échange de clés en utilisant une autre trappe mathématique : le problème du logarithme discret. Leur échange de clés Diffie-Hellman fonctionne comme un mélange de couleurs.
Deux personnes s’accordent publiquement sur une couleur de départ. Chacune choisit secrètement sa propre couleur et la mélange avec la couleur publique, puis échange les résultats mélangés. Chaque personne ajoute ensuite sa couleur secrète au mélange reçu. Les deux arrivent à la même couleur finale, mais un observateur qui n’a vu que la couleur publique et les deux mélanges ne peut pas remonter jusqu’à elle. En termes mathématiques, les deux parties calculent un secret partagé à partir de valeurs échangées publiquement, et la difficulté d’inverser le calcul (calculer des logarithmes discrets) empêche quiconque d’écoute de dériver ce secret partagé.
Cette technique, ou des variantes modernes, est utilisée chaque fois que votre navigateur établit une connexion sécurisée avec un site web.
Le cheval de bataille : le chiffrement symétrique AES
Une fois que deux parties partagent une clé secrète, elles passent au chiffrement symétrique pour les données réelles. La norme mondiale est AES (Advanced Encryption Standard), adoptée par le gouvernement américain en 2001 après un concours de cinq ans remporté par les cryptographes belges Joan Daemen et Vincent Rijmen.
AES traite vos données par blocs de 128 bits (16 octets à la fois) et fait passer chaque bloc par plusieurs cycles de brouillage : substitution d’octets, décalage de lignes, mélange de colonnes, et combinaison avec des fragments de la clé. AES-128 utilise 10 cycles, AES-192 en utilise 12 et AES-256 en utilise 14. Chaque cycle rend la relation entre les données d’origine et le résultat chiffré plus embrouillée et plus difficile à inverser sans la clé.
AES est le premier et unique algorithme accessible au public approuvé par la NSA pour les informations top secrètes. Il est assez rapide pour fonctionner sur tout, des smartphones aux fermes de serveurs, ce qui explique pourquoi il gère la majeure partie du trafic chiffré mondial.
Les mathématiques du chiffrement en ligne dans votre navigateur
Quand vous visitez un site web en HTTPS (l’icône cadenas), votre navigateur effectue une poignée de main TLS. C’est là que toute la logique se réunit dans un protocole concret :
- Votre navigateur et le serveur s’accordent sur les algorithmes de chiffrement à utiliser.
- Le serveur prouve son identité avec un certificat numérique.
- Les deux côtés effectuent un échange de clés Diffie-Hellman (ou une variante utilisant des courbes elliptiques) pour créer une clé de session partagée.
- Toutes les données suivantes sont chiffrées avec AES en utilisant cette clé de session.
La dernière version, TLS 1.3, a réduit la poignée de main de deux allers-retours à un seul, divisant la latence par deux tout en éliminant les options de chiffrement plus anciennes et plus faibles.
Confidentialité persistantePropriété de sécurité garantissant que les sessions chiffrées passées ne peuvent être déchiffrées même si la clé privée du serveur est compromise. : pourquoi voler la clé d’aujourd’hui ne déverrouille pas les messages d’hier
Les applications de messagerie modernes comme Signal poussent le chiffrement plus loin avec l’algorithme Double Ratchet. Au lieu d’utiliser une seule clé pour toute une conversation, le Double Ratchet génère une nouvelle clé de chiffrement pour chaque message. Si un attaquant compromet une clé, il ne peut déchiffrer que ce seul message. Les messages précédents et futurs restent protégés.
L’algorithme y parvient en intégrant continuellement de nouveaux résultats Diffie-Hellman dans sa chaîne de dérivation de clés. Le résultat est la confidentialité persistante (les anciens messages restent en sécurité si une clé fuit) et ce que les cryptographes appellent la récupération après compromission (les messages futurs redeviennent sécurisés après une compromission). Ce protocole est utilisé par des milliards de personnes via Signal, WhatsApp et d’autres plateformes de messagerie.
Courbes elliptiques : une sécurité renforcée avec des clés plus courtes
Les clés RSA doivent être grandes pour rester sécurisées : 2 048 bits au minimum, avec 4 096 de plus en plus recommandés. La cryptographie sur courbes elliptiques (ECC) atteint une sécurité équivalente avec des clés nettement plus courtes. Une clé ECC de 256 bits offre la même sécurité qu’une clé RSA de 3 072 bits.
L’ECC repose sur une structure mathématique différente : l’ensemble des points d’une courbe définie par une équation comme y2 = x3 + ax + b. Les points de la courbe peuvent être « additionnés » selon des règles géométriques précises. La trappe est que multiplier un point par un nombre (l’additionner à lui-même de façon répétée) est rapide, mais qu’à partir du résultat et du point de départ, trouver le nombre d’opérations effectuées est infaisable en pratique. C’est le problème du logarithme discret sur courbes elliptiques, plus difficile à résoudre que la factorisation standard, bit pour bit.
Des clés plus courtes signifient des calculs plus rapides et moins de bande passante. L’ECC est donc le choix privilégié pour les appareils mobiles, les systèmes embarqués et les connexions TLS qui sécurisent votre navigation en ce moment même.
La menace quantique et ce qui vient ensuite
Tout ce qui précède repose sur l’hypothèse que certains problèmes mathématiques sont difficiles pour les ordinateurs. Les ordinateurs quantiques menacent cette hypothèse. En 1994, le mathématicien Peter Shor a conçu un algorithme capable de factoriser de grands nombres en temps polynomial sur un ordinateur quantique, ce qui signifie que RSA, Diffie-Hellman et l’ECC seraient tous cassables.
Aucun ordinateur quantique capable de cela n’existe encore. Les machines actuelles ont environ un millier de qubits physiques, bien loin des millions nécessaires pour factoriser de grands nombres avec correction d’erreurs. Mais la menace est prise au sérieux en raison des attaques « récolter maintenant, déchiffrer plus tard » : un adversaire pourrait enregistrer le trafic chiffré aujourd’hui et le déchiffrer une fois que les ordinateurs quantiques seront matures.
En août 2024, le NIST a publié trois normes de chiffrement post-quantique finalisées. Ces algorithmes, basés sur des problèmes mathématiques impliquant des réseaux euclidiens (structures géométriques dans des espaces de grande dimension), sont conçus pour résister aux attaques classiques et quantiques. Le NIST a également publié un plan de transition formel incitant les organisations à commencer la migration dès maintenant.
L’idée centrale n’a pas changé : trouver un problème mathématique facile dans un sens et difficile dans l’autre. La différence, c’est que les nouveaux problèmes doivent être difficiles même pour des machines qui exploitent la physique quantique. Les mathématiques évoluent, mais le principe demeure.
Chaque communication privée en ligne, des sessions TLS aux messageries chiffrées de bout en bout, est protégée par une pile de primitives mathématiques. Les mathématiques du chiffrement en ligne qui sous-tendent ces systèmes reposent sur des hypothèses de difficulté computationnelle : des problèmes de la classe de complexité supposés hors de P (et, pour les schémasCadres mentaux de représentations compressées et d'attentes que le cerveau utilise pour encoder, stocker et récupérer les informations. Lorsque vous vous souvenez de quelque chose, votre cerveau la reconstruit en utilisant des schémas plus tous les indices contextuels présents. post-quantiques, hors de BQP). Comprendre cette pile exige d’examiner les fonctions à trappe spécifiques, leurs paramètres de sécurité, et la façon dont elles se composent en protocoles réels.
Mathématiques du chiffrement en ligne : primitives asymétriques et hypothèses de difficulté
RSA : factorisation des entiers
RSA, décrit par Rivest, Shamir et Adleman en 1977 (et indépendamment par Clifford Cocks au GCHQ en 1973), tire sa sécurité du problème de la factorisation des entiers. La génération de clés sélectionne deux grands premiers p et q, calcule n = pq, et trouve des exposants e et d tels que ed ≡ 1 (mod λ(n)), où λ est la fonction indicatrice de Carmichael. La clé publique est (n, e) ; la clé privée est d. Le chiffrement calcule c ≡ me (mod n) ; le déchiffrement calcule m ≡ cd (mod n).
La meilleure attaque classique connue est le crible algébrique des corps de nombres (GNFS), qui s’exécute en temps sous-exponentiel : Ln[1/3, (64/9)1/3]. Pour un module de 2 048 bits, le GNFS est infaisable avec le matériel actuel. La plus grande clé RSA publiquement cassée est de 829 bits. Les directives actuelles du NIST recommandent des clés de 2 048 bits minimum, avec 3 072 bits pour une protection au-delà de 2030.
Le débit de RSA est trop faible pour le chiffrement en volume. En pratique, RSA est utilisé pour transmettre des clés partagées destinées à la cryptographie symétrique, qui gère le chiffrement réel des données.
Diffie-Hellman : problème du logarithme discret
L’échange de clés Diffie-Hellman (DH), publié en 1976, fut le premier protocole pratique à clé publique. Il opère dans le groupe multiplicatif des entiers modulo un premier p avec un générateur g. Alice calcule A = ga mod p (secret a) ; Bob calcule B = gb mod p (secret b). Les deux dérivent le secret partagé s = gab mod p. La sécurité repose sur l’hypothèse Diffie-Hellman computationnelle (CDH) : étant donnés g, p, ga mod p et gb mod p, calculer gab mod p est difficile.
Le problème CDH n’est pas plus difficile que le problème du logarithme discret (DLP) : si vous pouvez calculer des logarithmes discrets, vous pouvez résoudre CDH en retrouvant a depuis ga. La famille des algorithmes à calcul d’index (dont les variantes du crible des corps de nombres) fournit des attaques sous-exponentielles sur DLP dans les corps finis, exigeant des tailles de groupe d’au moins 2 048 bits pour des marges de sécurité adéquates.
Cryptographie sur courbes elliptiques : ECDLP
La cryptographie sur courbes elliptiques (ECC), proposée en 1985, opère sur le groupe de points d’une courbe elliptique E : y2 = x3 + ax + b sur un corps fini Fp. L’opération de groupe est l’addition de points, définie géométriquement par la règle de la corde et de la tangente. La multiplication scalaire (calculer nP = P + P + … + P, n fois) est efficace par doublement-et-addition. Le problème inverse, le problème du logarithme discret sur courbes elliptiques (ECDLP), trouver n à partir de P et nP, ne dispose d’aucun algorithme classique sous-exponentiel connu.
La meilleure attaque générale sur ECDLP est le rho de Pollard, s’exécutant en O(√n), ce qui est pleinement exponentiel en la taille de la clé. Cela signifie qu’une clé ECC de 256 bits offre une sécurité équivalente à une clé RSA de 3 072 bits : une réduction de taille de clé de 12x pour le même niveau de sécurité 128 bits. Les courbes standard comprennent NIST P-256, Curve25519 (X25519 pour l’échange de clés, Ed25519 pour les signatures) et les courbes Brainpool.
L’avantage asymptotique de l’ECC sur RSA croît avec le niveau de sécurité. À 256 bits de sécurité, l’ECC nécessite des clés de 512 bits tandis que RSA nécessiterait des clés de 15 360 bits. L’ECC est donc le choix dominant pour TLS, SSH et les applications mobiles.
Chiffrement symétrique : AES et le réseau de substitution-permutation
AES (Rijndael), normalisé par le NIST en 2001 sous FIPS 197, est un réseau de substitution-permutation opérant sur une matrice d’état de 4×4 octets (blocs de 128 bits). Il supporte des clés de 128, 192 et 256 bits avec respectivement 10, 12 et 14 tours. Chaque tour applique quatre transformations :
- SubBytes : substitution d’octets non linéaire via une S-box dérivée de l’inverse multiplicatif dans GF(28) composé avec une transformation affine. C’est le seul composant non linéaire du chiffre et sa principale source de confusion.
- ShiftRows : décalage cyclique à gauche des lignes de 0, 1, 2 et 3 positions, assurant la diffusion inter-colonnes.
- MixColumns : multiplication de chaque colonne par un polynôme fixe dans GF(28)[x]/(x4 + 1), assurant la diffusion intra-colonne. Omise au tour final.
- AddRoundKey : XOR avec une clé de tour dérivée du calendrier de clés via l’expansion de clé Rijndael.
La meilleure attaque connue sur AES-128 complet est l’attaque biclique à une complexité de 2126,1, amélioration marginale par rapport à la force brute (2128). AES reste le seul algorithme accessible au public approuvé par la NSA pour la classification top secrète. Sa marge de sécurité est considérée comme confortable pour un avenir prévisible face aux adversaires classiques. Face aux adversaires quantiques, l’algorithme de Grover réduit la sécurité effective d’AES-128 à 64 bits, c’est pourquoi AES-256 est recommandé pour la résilience post-quantique.
Composition de protocoles : TLS 1.3
La poignée de main TLS 1.3 (RFC 8446) compose les primitives ci-dessus en un protocole de chiffrement de canal pratique. La poignée de main se complète en un seul aller-retour :
- ClientHello : le client envoie les suites cryptographiques supportées, un nonce aléatoire et, élément crucial, un partage de clé pour son groupe d’échange de clés préféré (généralement X25519 ou P-256 ECDHE). En incluant le partage de clé de façon optimiste, TLS 1.3 élimine un aller-retour par rapport à TLS 1.2.
- ServerHello + EncryptedExtensions : le serveur sélectionne une suite cryptographique, répond avec son propre partage de clé et commence immédiatement à chiffrer. Il envoie également son certificat et une signature CertificateVerify.
- Dérivation de clés : les deux côtés utilisent le secret partagé ECDHE comme entrée de HKDF (fonction de dérivation de clés basée sur HMAC) pour dériver les clés de poignée de main, puis les clés de session pour les données applicatives.
TLS 1.3 impose la confidentialité persistantePropriété de sécurité garantissant que les sessions chiffrées passées ne peuvent être déchiffrées même si la clé privée du serveur est compromise. en exigeant un échange de clés éphémère (pas de transport de clé RSA statique). Chaque session génère de nouvelles clés ECDHE, de sorte que la compromission de la clé privée à long terme d’un serveur n’expose pas rétroactivement les sessions passées. Les seuls algorithmes AEAD autorisés sont AES-128-GCM, AES-256-GCM et ChaCha20-Poly1305.
Chiffrement de bout en bout : le Double Ratchet
Le Double Ratchet du protocole Signal étend la confidentialité persistante au niveau du message individuel. Il combine deux mécanismes de cliquet :
- Cliquet à clé symétrique : une chaîne KDF où chaque clé de message est dérivée de la clé de chaîne précédente. Une fois une clé de message utilisée, la clé de chaîne avance et l’ancienne clé est supprimée. Cela assure la confidentialité persistante au sein d’une chaîne d’envoi unique.
- Cliquet Diffie-Hellman : à chaque échange de messages, les parties font tourner leurs paires de clés DH éphémères. La sortie DH alimente une chaîne KDF racine qui dérive de nouvelles clés de chaîne d’envoi et de réception. Cela assure la récupération après compromission : même si un attaquant apprend les clés de chaîne actuelles, les nouvelles étapes du cliquet DH introduisent de l’entropie que l’attaquant ne possède pas.
L’effet combiné : chaque message utilise une clé unique. La compromission d’une seule clé ne révèle que ce message. Le protocole suit les numéros de messages et les longueurs de chaîne précédentes pour gérer la livraison hors ordre, en stockant les clés de messages sautés (bornées par MAX_SKIP) pour un déchiffrement ultérieur.
Les propriétés de sécurité du Double Ratchet, confidentialité persistante et sécurité post-compromission, découlent de la composition du sens unique de la chaîne KDF avec l’hypothèse CDH sur les groupes DH du cliquet. La spécification de Signal inclut également un Sparse Post-Quantum Ratchet (SPQR) pour une sécurité hybride classique/post-quantique.
La menace quantique et la cryptographie post-quantiqueMéthodes de chiffrement conçues pour résister aux ordinateurs quantiques, qui peuvent briser des algorithmes courants comme RSA grâce aux propriétés quantiques.
L’algorithme de Shor (1994) factorise les entiers et calcule les logarithmes discrets en temps polynomial sur un ordinateur quantique : O((log N)2(log log N)(log log log N)) portes pour factoriser N. Cela casse RSA, DH en corps fini et ECDH. L’algorithme de Grover fournit une accélération quadratique pour la recherche, réduisant de moitié la sécurité effective des chiffrements symétriques (AES-256 tombe à 128 bits de sécurité, encore adéquat).
Les processeurs quantiques actuels (de l’ordre de 1 000 qubits physiques) sont loin des millions de qubits corrigés d’erreurs nécessaires pour une factorisation cryptographiquement pertinente. Mais le modèle de menace « récolter maintenant, déchiffrer plus tard », où des adversaires enregistrent des chiffrés aujourd’hui pour un déchiffrement quantique futur, motive une migration immédiate.
En août 2024, le NIST a finalisé trois normes post-quantiques :
- FIPS 203 (ML-KEM) : mécanisme d’encapsulation de clés basé sur les réseaux modulaires (dérivé de CRYSTALS-Kyber). Norme principale pour l’encapsulation de clés générale. La sécurité repose sur la difficulté du problème Module Learning With Errors (MLWE).
- FIPS 204 (ML-DSA) : algorithme de signature numérique basé sur les réseaux modulaires (dérivé de CRYSTALS-Dilithium). Norme principale de signature numérique.
- FIPS 205 (SLH-DSA) : algorithme de signature numérique sans état basé sur les fonctions de hachage (dérivé de SPHINCS+). Norme de signature de secours basée uniquement sur la sécurité des fonctions de hachage.
La feuille de route de transition du NIST (NIST IR 8547) appelle à la dépréciation de RSA, DH en corps fini et ECDH pour l’établissement de clés d’ici 2035. HQC (Hamming Quasi-Cyclic) a été sélectionné comme candidat KEM supplémentaire en mars 2025, offrant une diversité algorithmique au-delà des schémas basés sur les réseaux.
Les problèmes de réseaux euclidiens qui sous-tendent ML-KEM et ML-DSA appartiennent à une famille de problèmes (LWE, MLWE, NTRU) qui ont résisté aux attaques classiques et quantiques pendant des décennies. Contrairement à la factorisation et au DLP, aucun algorithme quantique ne fournit d’accélération exponentielle contre ces problèmes. La difficulté mathématique se déplace de la théorie des nombres vers la géométrie des réseaux en grande dimension, mais le principe architectural demeure : des fonctions à sens unique suffisamment difficiles pour y confier les secrets de la civilisation.



