Exposé complet — objectif 10 minutes
00:00–01:00Introduction : un cadenas dans le navigateur
Chaque fois que je me connecte à un compte ou que je consulte une page en HTTPS, des informations traversent Internet. Elles passent par plusieurs machines et réseaux que je ne contrôle pas. Une question apparaît : comment éviter qu’un intermédiaire puisse lire mon message ou le modifier discrètement ? On répond souvent : « les données sont chiffrées ». Mais cela cache une difficulté : si deux ordinateurs ne se sont jamais rencontrés, comment peuvent-ils se mettre d’accord sur une clé secrète sans transmettre cette clé en clair ? Ma problématique est donc : comment sont chiffrées nos données sur Internet ? Je partirai d’un chiffrement élémentaire, puis je montrerai comment les puissances, les restes de division et les probabilités aident à comprendre une connexion HTTPS. Je distinguerai également la confidentialité des données de l’identité du site visité.
01:00–02:001. Chiffrer un message : une transformation réversible
Le principe du chiffrement est de transformer un message lisible, appelé « texte en clair », en un texte incompréhensible pour celui qui ne possède pas la bonne clé. Pour comprendre, imaginons un alphabet numéroté de zéro à vingt-cinq. Avec un décalage de trois lettres, la lettre A, numéro zéro, devient D, numéro trois. Une lettre numérotée \(x\) est transformée selon :
\[\boxed{C(x)=\text{reste de }(x+3)\text{ dans la division par }26}.\]
C’est le chiffrement de César : il illustre l’idée d’une clé commune mais il n’est pas sécurisé, car il n’existe que vingt-six décalages possibles. Le chiffrement moderne repose lui aussi sur des transformations calculables dans un sens avec la clé, mais elles sont bien plus complexes et conçues pour résister à de très nombreux essais.
02:00–02:552. Le chiffrement symétrique et le problème du secret
Une méthode de chiffrement est dite symétrique lorsque les deux correspondants utilisent une clé secrète partagée. C’est très efficace pour protéger beaucoup de données : une fois la communication établie, le navigateur et le serveur utilisent des clés de session pour sécuriser les échanges. Mais un problème logique surgit : si j’envoie directement cette clé secrète sur un réseau observable, un espion peut la récupérer. Comment fabriquer un même secret de part et d’autre, sans l’avoir transmis ? Le protocole Diffie–Hellman fournit une idée mathématique remarquable : échanger certaines valeurs publiques calculées à partir de puissances, tout en conservant des exposants privés. Je vais en montrer une version miniature que l’on peut entièrement calculer au tableau.
02:55–04:153. Des puissances et des restes de division
Choisissons deux nombres publics : \(p=11\) et \(g=2\). Pour simplifier, lorsque j’écris « modulo onze », je ne conserve que le reste de la division euclidienne par onze. Cette petite technique arithmétique est une ouverture au-delà des notions centrales du programme, mais elle ne demande ici que des puissances et des divisions. Alice choisit secrètement \(a=3\), et Bob choisit secrètement \(b=4\). Alice calcule :
\[A=2^3=8.\]
Bob calcule :
\[B=2^4=16\equiv5\pmod{11}.\]
Alice transmet publiquement huit, Bob transmet publiquement cinq. L’observateur voit donc les nombres onze, deux, huit et cinq ; il ne reçoit pas les exposants privés trois et quatre. Les deux correspondants peuvent maintenant combiner la valeur publique reçue avec leur propre exposant privé. C’est ce calcul qui va créer un secret identique.
04:15–05:304. Deux calculs différents conduisent au même secret
Alice reçoit le nombre cinq et élève à sa puissance secrète trois :
\[5^3=125=11\times11+4.\]
Le reste de la division par onze est donc quatre. De son côté, Bob reçoit le nombre huit et l’élève à sa puissance secrète quatre :
\[8^4=4096=11\times372+4.\]
Lui aussi obtient quatre ! Les correspondants ont donc calculé le même résultat sans envoyer ce résultat directement sur Internet. Pourquoi cela fonctionne-t-il ? Parce qu’au fond, ils calculent chacun une puissance équivalente à \(g^{ab}\) :
\[\boxed{(g^a)^b=(g^b)^a=g^{ab}}.\]
On retrouve exactement les mêmes restes après division par onze. Ici le secret quatre serait évidemment très facile à retrouver : les nombres ont été choisis volontairement trop petits pour être sûrs. Dans la réalité, le mécanisme utilise des paramètres beaucoup plus difficiles à attaquer, souvent liés aux courbes elliptiques, et le secret commun sert ensuite à dériver des clés de session.
05:30–06:355. Pourquoi HTTPS ne se résume pas à ce calcul
Il faut faire une distinction très importante : établir un secret commun ne signifie pas encore chiffrer les données. En HTTPS, le protocole TLS met en place une connexion sécurisée. Il vérifie notamment l’identité du serveur à l’aide d’un certificat et de signatures numériques, puis établit des clés de session. Cette étape d’authentification est essentielle : sans elle, un attaquant placé au milieu pourrait essayer d’établir un secret différent avec chaque correspondant, en se faisant passer pour l’autre. Une fois la connexion établie, les données sont protégées par un chiffrement symétrique authentifié, par exemple AES-GCM ou ChaCha20-Poly1305. Le chiffrement vise la confidentialité ; l’authentification des messages permet également de détecter une modification. Notre petit calcul n’est donc qu’une analogie mathématique du mécanisme d’échange de clés, et non une reproduction complète de TLS.
06:35–07:456. La sécurité d’une clé : des puissances de deux
Une clé binaire de \(n\) bits est une suite de \(n\) chiffres, chacun valant zéro ou un. Pour chaque position, il y a deux choix. Le principe multiplicatif donne donc :
\[\boxed{N=2^n\text{ clés possibles}.}\]
Pour une clé de cent vingt-huit bits, comme dans AES-128, cela représente environ :
\[2^{128}\approx\boxed{3{,}4\times10^{38}}.\]
Ce chiffre devient encore plus parlant avec une probabilité. Supposons une clé choisie uniformément parmi toutes les possibilités et un adversaire effectuant \(q\) essais distincts sans aucune autre information. La probabilité qu’il devine la clé est alors \(q/2^n\), tant que \(q\le2^n\). Avec mille milliards d’essais, soit \(10^{12}\), et une clé de cent vingt-huit bits, cela donne seulement :
\[\boxed{P\le\frac{10^{12}}{2^{128}}\approx2{,}94\times10^{-27}}.\]
Cette estimation n’est valable que dans notre modèle idéal de recherche exhaustive d’une clé aléatoire ; elle ne mesure pas toutes les façons réelles de compromettre un système.
07:45–08:457. Une question de Terminale : quelle longueur de clé choisir ?
On peut maintenant utiliser les logarithmes pour répondre à un vrai problème de dimensionnement. Imaginons qu’on autorise \(10^{12}\) essais et qu’on souhaite, dans le modèle précédent, une probabilité de réussite au plus égale à \(10^{-9}\), c’est-à-dire une chance sur un milliard. Il faut imposer :
\[\frac{10^{12}}{2^n}\le10^{-9}.\]
Cela revient à écrire :
\[2^n\ge10^{21}.\]
En prenant le logarithme népérien :
\[n\ln2\ge21\ln10,\quad\text{donc}\quad n\ge\frac{21\ln10}{\ln2}\approx69{,}76.\]
Comme \(n\) est un entier :
\[\boxed{n\ge70\text{ bits}.}\]
Attention : ce seuil est un simple exercice de probabilités. Ce n’est pas une recommandation de sécurité. Les systèmes actuels utilisent des tailles et protocoles standardisés, avec des marges de sécurité plus importantes.
08:45–09:308. Ce que protège — et ne protège pas — le cadenas HTTPS
Le cadenas du navigateur indique qu’une connexion chiffrée et authentifiée avec le site est établie, mais il ne garantit pas que le site soit honnête. Si je donne mes informations à un site malveillant utilisant HTTPS, il les recevra quand même. De plus, le site destinataire doit généralement pouvoir lire les informations qu’il traite. HTTPS protège donc essentiellement le transport entre le navigateur et le serveur : ce n’est pas automatiquement du chiffrement de bout en bout entre personnes. Enfin, un mot de passe ne devrait normalement pas être conservé en clair sur le serveur. Il est en général vérifié grâce à une fonction de hachage adaptée avec un sel : le hachage n’est pas la même opération que le chiffrement, puisqu’il n’est pas conçu pour être inversé.
09:30–10:00Conclusion : puissance, secret et confiance
Pour comprendre le chiffrement des données sur Internet, il faut donc assembler plusieurs idées. Les puissances et les restes illustrent comment créer un secret commun. Le chiffrement symétrique protège ensuite les échanges. Le certificat permet de vérifier à qui on parle. Enfin, les probabilités, les puissances de deux et les logarithmes permettent d’évaluer l’ampleur d’une recherche exhaustive de clé. La conclusion est que les données sont protégées non par un calcul magique, mais par une coopération de mécanismes mathématiques et de règles de sécurité. Et surtout, la protection du canal ne remplace jamais la vigilance sur le site auquel on confie ses informations.
Calibration : environ 1161 mots hors formules. Répéter à voix haute avec un chronomètre ; les démonstrations au support occupent une partie du temps.