Lab-in-a-Tab

Cryptographie et sécurité

Chaque fois que tu achètes en ligne, les mathématiques protègent tes données de tout internet. Comment un secret reste-t-il secret en public ?

ChiffrementRSAQuantique
EssaieAppuie sur Lancer l'échange et suis chaque nombre qui traverse le centre. Puis demande-toi : la Clé partagée finale a-t-elle jamais traversé ?
Ce que tu voisAlice à gauche et Bob à droite veulent un nombre secret partagé. L'œil en haut est un espion qui voit absolument tout ce qu'ils envoient. Regarde les nombres voyager à travers, et garde l'œil sur Clé partagée à la fin.
À remarquer
Non — la clé partagée n'a jamais traversé le fil, pourtant Alice et Bob ont fini tous deux avec le même nombre. Chacun a gardé pour soi un nombre secret et n'a envoyé qu'un mélange brassé. Par la façon dont le brassage fonctionne, combiner son propre secret avec le mélange de l'autre personne donne la même réponse dans les deux sens. L'espion a vu chaque message et ne peut toujours pas le reproduire — ce qui est à peu près ce qui protège les données de ta carte chaque fois que tu achètes quelque chose en ligne.

Messages secrets et cadenas inviolables !

Niveau Débutant — langage simple, sans maths

Disons que tu veux glisser un mot à un ami à travers une pièce bondée où tout le monde adorerait le lire. Tu recours à un chiffre — un code secret. Le plus vieux tour du manuel, utilisé par Jules César il y a deux mille ans, décale simplement chaque lettre d'une quantité fixe : A devient D, B devient E, et ainsi de suite. Ton ami, qui connaît le décalage, le lit à l'instant ; tous les autres voient un charabia.

Mais il y a un hic qui hanta les faiseurs de codes pendant des millénaires : comment dis-tu à ton ami le décalage en premier lieu sans que quelqu'un l'entende ? La réponse, trouvée seulement dans les années 1970, ressemble à un tour de magie — la cryptographie à clé publique. Imagine un cadenas que n'importe qui peut claquer fermé mais dont seul toi tiens la clé pour l'ouvrir. Poste ce cadenas ouvert au monde entier ; n'importe qui peut y enfermer un message et le renvoyer, et seul toi peux l'ouvrir, alors même que tu n'as jamais partagé de secret.

C'est ainsi que fonctionne chaque site sécurisé. Quand le petit cadenas apparaît dans ton navigateur, ton ordinateur et le serveur conjurent un secret partagé au grand jour — juste sous le nez de tout indiscret, qui repart quand même avec rien. Dans la simulation ci-dessous, regarde cet échange de clés se dérouler une étape à la fois.

Bon à savoir

  • Le HTTPS chiffre aujourd'hui plus de 95% du trafic web. Les mathématiques protégeant tes mots de passe étaient essentiellement inexistantes avant 1976.
  • L'algorithme RSA, inventé en 1977, tire sa sécurité du fait que multiplier deux grands nombres premiers prend des millisecondes, mais factoriser le résultat prend plus de temps que l'âge de l'univers.
  • Les ordinateurs quantiques pourraient casser le chiffrement RSA — c'est pourquoi les gouvernements du monde entier passent déjà à des standards de cryptographie « post-quantique ».

RSA, Diffie-Hellman et les mathématiques des fonctions à sens unique

Niveau Élève — les équations essentielles

Le RSA (Rivest–Shamir–Adleman, 1977) repose sur une belle asymétrie : multiplier deux grands nombres premiers est instantané, mais dé-multiplier le résultat — le factoriser — est cru pratiquement impossible. Choisis des premiers \(p, q\), pose \(n = pq\) et \(\varphi(n) = (p-1)(q-1)\), choisis un exposant public \(e\), et calcule le privé \(d \equiv e^{-1} \pmod{\varphi(n)}\). Alors chiffrement et déchiffrement ne sont que des puissances modulaires : \(c = m^e \bmod n\) et \(m = c^d \bmod n\). Ils s'annulent car le théorème d'Euler garantit \(m^{\varphi(n)} \equiv 1 \pmod n\), donc \(m^{ed} \equiv m\). Récupérer \(d\) depuis le couple public \((e, n)\) est cru aussi difficile que factoriser \(n\) — non prouvé, mais sûr à 2048 bits.

Le Diffie-Hellman (1976) est le tour qui permet à deux inconnus de convenir d'un secret à la vue de tous. Alice et Bob fixent publiquement un premier \(p\) et un générateur \(g\) ; Alice garde un secret \(a\) et envoie \(g^a \bmod p\), Bob garde \(b\) et envoie \(g^b \bmod p\). Chacun élève ce qu'il a reçu à son propre secret, et tous deux atterrissent sur la même clé \(K = g^{ab} \bmod p\). Un indiscret voit \(g, p, g^a, g^b\) et ne peut toujours pas obtenir \(K\) sans résoudre le problème du logarithme discret — facile à calculer en avant, cru irréalisable à inverser.

Les maths à clé publique sont lentes, donc on les utilise avec parcimonie. Les vraies connexions font un hybride : Diffie-Hellman (ou son cousin à courbes elliptiques) convient d'une clé, puis un rapide chiffre symétrique comme AES chiffre le trafic réel. Ce qui tient tout ensemble, ce sont les fonctions de hachage (SHA-256, SHA-3), qui écrasent toute entrée en une empreinte de taille fixe qui est à sens unique, résistante aux collisions et follement sensible — inverse un bit d'entrée et environ la moitié des bits de sortie changent. Ces empreintes sont ce qui rend possibles les signatures numériques, les certificats et les blockchains.

Formules clés

Chiffrement RSA\(c = m^e \bmod n\)
Déchiffrement RSA\(m = c^d \bmod n,\quad d \equiv e^{-1}\!\!\pmod{\varphi(n)}\)
Théorème d'Euler\(m^{\varphi(n)} \equiv 1 \pmod n \;\Rightarrow\; m^{ed} \equiv m\)
Secret partagé DH\(K = g^{ab} \bmod p\)
Fonction de hachage\(H:\{0,1\}^{*} \to \{0,1\}^{256}\)à sens unique, résistante aux collisions
Borne des anniversaires\(\text{collision après } \sim\!\sqrt{2^{256}} = 2^{128} \text{ requêtes}\)

Bon à savoir

  • La clé de chiffrement RSA-2048 a 617 chiffres décimaux. La factoriser avec le meilleur algorithme connu sur tous les ordinateurs actuels prendrait plus de temps que l'âge de l'univers.
  • La connexion HTTPS de ton téléphone utilise l'Elliptic Curve Diffie-Hellman (ECDH) — offrant une sécurité équivalente à RSA avec des clés 20 fois plus petites, grâce à la difficulté du logarithme discret sur courbe elliptique.
  • Le NIST standardisa ses premiers algorithmes de cryptographie post-quantique en 2024 — CRYSTALS-Kyber pour l'échange de clés et CRYSTALS-Dilithium pour les signatures — tous deux fondés sur des problèmes de réseaux.

Sécurité théorique-informationnelle, cryptographie sur réseaux et preuves à divulgation nulle

Niveau Expert — profondeur mathématique complète

01Le secret parfait et son prix impossible

Shannon (1949) fixa le plafond théorique : un chiffre est parfaitement secret quand le texte chiffré ne trahit absolument rien sur le message, \(P(M=m \mid C=c) = P(M=m)\) pour tout \(m, c\). Le masque jetable (one-time pad) — XOR du message avec une clé vraiment aléatoire utilisée exactement une fois, \(c = m \oplus k\) — l'atteint, et Shannon prouva que c'est essentiellement la seule chose qui le fait. Le hic est dans l'exigence : la clé doit être aussi longue que le message et jamais réutilisée, donc pour envoyer secrètement un gigaoctet tu dois déjà avoir partagé secrètement un gigaoctet. Le secret parfait est réel, et presque inutile.

02Troquer la perfection contre la praticité

Tout ce qui est utilisable descend donc à la sécurité computationnelle : un chiffre est « sûr » si aucun adversaire borné au temps polynomial ne peut faire mieux que négligeablement mieux que deviner. Cela relocalise discrètement toute la cryptographie sur un terrain non prouvé — RSA s'appuie sur la difficulté de la factorisation, Diffie-Hellman sur les logarithmes discrets, et aucun n'est prouvé insoluble ; une preuve trancherait \(P\) contre \(NP\). Nous parions, en effet, internet sur des conjectures qui ont simplement résisté à chaque attaque jusqu'ici.

03La menace quantique et la réponse des réseaux

Ce pari a une date d'expiration connue. L'algorithme de Shor permet à un grand ordinateur quantique de factoriser et de prendre des logarithmes discrets en temps polynomial, démolissant discrètement RSA et le Diffie-Hellman classique. Le remplaçant en tête est la cryptographie sur réseaux, bâtie sur Learning With Errors : étant donné de nombreux échantillons bruités \(b_i = \langle a_i, s\rangle + e_i \bmod q\), récupérer le secret \(s\) paraît difficile même pour une machine quantique. Les premiers standards post-quantiques du NIST (2024) sont des schémas sur réseaux, et la migration est déjà en cours.

04Calculer sur des données que tu ne peux pas lire

Les réseaux débloquèrent quelque chose autrefois jugé impossible : le chiffrement pleinement homomorphe (Gentry, 2009), où un serveur calcule directement sur le texte chiffré, \(f(\mathrm{Enc}(x)) = \mathrm{Enc}(f(x))\), et rend une réponse chiffrée qu'il n'a jamais réellement vue. Tu peux lancer une recherche, entraîner un modèle ou interroger une base de données, les données restant scellées tout du long. Le premier FHE était un million de fois trop lent ; les schémas modernes ont ramené cela vers quelques centaines de fois, le faisant passer d'expérience de pensée vers le déploiement.

05Prouver que tu connais un secret sans le révéler

Les preuves à divulgation nulle de connaissance (Goldwasser–Micali–Rackoff, 1985) réussissent un vrai paradoxe : un prouveur convainc un vérifieur qu'un énoncé est vrai tout en ne révélant rien au-delà de sa vérité. Les trois exigences sont la complétude (les preuves honnêtes convainquent toujours), la solidité (les fausses affirmations ne passent presque jamais) et la divulgation nulle (le vérifieur n'apprend rien qu'il n'aurait pu inventer seul). Tu peux prouver que tu connais un mot de passe sans le prononcer, ou qu'une transaction est valide sans en divulguer le montant.

06Preuves succinctes et où cela mène

Les chevaux de trait modernes sont les zk-SNARK — des preuves à la fois non interactives et étonnamment compactes, une constante \(O(1)\) en taille et vérifiables en millisecondes quelle que soit l'ampleur du calcul qu'elles attestent. Elles alimentent déjà des monnaies préservant la vie privée, des identifiants anonymes et du calcul externalisé vérifiable, et rampent vers le fait de prouver qu'un modèle d'IA spécifique a produit une sortie spécifique sans exposer le modèle ni l'entrée. Une curiosité autrefois écartée comme pure théorie devient une infrastructure fondamentale.

Formules clés

Secret parfait\(P(M=m \mid C=c) = P(M=m)\quad \forall\, m,c\)
Masque jetable\(c = m \oplus k,\quad |k| = |m|\)k uniforme, utilisée une fois
Échantillon LWE\(b_i = \langle a_i, s\rangle + e_i \pmod q\)e_i petit bruit
Propriété homomorphe\(f(\mathrm{Enc}(x)) = \mathrm{Enc}(f(x))\)
Garanties ZKP\(\text{complétude} + \text{solidité} + \text{divulgation nulle}\)
Taille de preuve zk-SNARK\(|\pi| = O(1)\)indépendante de la taille du circuit

Bon à savoir

  • Une preuve zk-SNARK qu'un réseau de neurones a produit une sortie spécifique peut être générée et vérifiée — sans révéler les poids du modèle ni les données d'entrée.
  • Le problème LWE est si difficile que même un ordinateur quantique exécutant l'algorithme de Shor (qui casse RSA) ne peut le résoudre — aucune accélération quantique n'est connue.
  • Le prix Turing 2012 revint à Silvio Micali et Shafi Goldwasser pour avoir inventé les preuves à divulgation nulle — originellement considérées comme une curiosité purement théorique.

Sources

Article complet sur Wikipédia ↗