← Tous les textes du Grand Oral
MathsMaths expertesNSIHGGSP
Ce texte s'appuie sur l'option maths expertes : congruences, PGCD, théorèmes de Bézout et de Gauss, nombres premiers, matrices.
Envoyer un message que seul le destinataire pourra lire : c'est le problème de la cryptographie, aussi vieux que la guerre et la
diplomatie. Pendant deux mille ans, chiffreurs et casseurs de codes se sont livré une course, d'abord avec des alphabets décalés, puis
avec des mots-clés et des machines. Depuis les années 1970, cette course est devenue mathématique : chaque paiement par carte et chaque
page en https repose sur l'arithmétique des congruences et sur les nombres premiers.
Ce texte suit cette histoire en partant chaque fois d'un exemple calculé à la main, puis en démontrant pourquoi la méthode fonctionne. Il rassemble des connaissances ; à chacun d'y choisir une direction et d'y construire sa question.
Pour faire des mathématiques avec un texte, on remplace chaque lettre par son rang dans l'alphabet, en commençant à $0$ :
| A | B | C | D | E | … | L | … | O | P | … | R | S | … | Z |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | … | 11 | … | 14 | 15 | … | 17 | 18 | … | 25 |
Après Z, on revient à A : on compte modulo 26. Rappelons qu'on écrit $a \equiv b \pmod{26}$ lorsque $26$ divise $a - b$, c'est-à-dire lorsque $a$ et $b$ ont le même reste dans la division par $26$. Par exemple $30 \equiv 4 \pmod{26}$ : la lettre de rang $30$ « n'existe pas », mais en faisant le tour de l'alphabet on retombe sur E. Les congruences se comportent bien avec l'addition et la multiplication : on peut remplacer un nombre par son reste au milieu d'un calcul. C'est toute la mécanique des chiffrements qui suivent.
L'historien romain Suétone raconte que Jules César, pour ses lettres confidentielles, remplaçait chaque lettre par celle qui se trouve trois rangs plus loin : A devient D, B devient E, et ainsi de suite. En nombres, c'est la fonction $x \mapsto x + 3$ modulo $26$, et l'on déchiffre par $y \mapsto y - 3$.
Ce chiffre est d'une faiblesse totale : il n'y a que $25$ décalages possibles, qu'un ennemi patient essaie en quelques minutes. Il a pourtant servi très longtemps, parce que peu de gens savaient lire.
Pour multiplier les clés, on chiffre la lettre de rang $x$ par la lettre de rang $y$ définie par
$$y \equiv ax + b \pmod{26},$$où le couple $(a\,;b)$ est la clé. Chiffrons le mot ORAL avec la clé $(5\,;8)$.
| Lettre | $x$ | $5x + 8$ | Reste modulo 26 | Lettre chiffrée |
|---|---|---|---|---|
| O | 14 | 78 | 0 | A |
| R | 17 | 93 | 15 | P |
| A | 0 | 8 | 8 | I |
| L | 11 | 63 | 11 | L |
ORAL devient donc APIL. Mais attention : toutes les clés ne conviennent pas. Avec $a = 13$, la lettre A (rang $0$) donne $13 \times 0 = 0$ et la lettre C (rang $2$) donne $13 \times 2 = 26 \equiv 0$ : A et C sont chiffrées par la même lettre, et le destinataire ne peut plus savoir laquelle était écrite. Il faut comprendre quand on peut revenir en arrière.
Étape 1 : si $\mathrm{PGCD}(a\,;26) = 1$, on trouve un inverse de $a$. D'après le théorème de Bézout, il existe deux entiers $u$ et $v$ tels que $au + 26v = 1$. Modulo $26$, le terme $26v$ disparaît : $au \equiv 1 \pmod{26}$. Le nombre $u$ joue le rôle de « $\frac{1}{a}$ » modulo $26$.
Étape 2 : on isole $x$. Si $y \equiv ax + b$, alors $y - b \equiv ax$, et en multipliant par $u$ : $u(y - b) \equiv uax \equiv x$. Réciproquement, si $x \equiv u(y - b)$, on multiplie par $a$ et l'on retrouve $ax \equiv y - b$. Ainsi
$$\begin{aligned} &y \equiv ax + b \pmod{26} \\ \iff\ &x \equiv u(y - b) \pmod{26}. \end{aligned}$$Chaque lettre chiffrée provient d'une seule lettre claire : on déchiffre avec la formule de droite.
Étape 3 : si $d = \mathrm{PGCD}(a\,;26) > 1$, deux lettres se confondent. Posons $x_1 = 0$ et $x_2 = \dfrac{26}{d}$, qui est un entier compris entre $1$ et $13$. Comme $d$ divise $a$,
$$a x_2 = 26 \times \frac{a}{d} \equiv 0 \equiv a x_1 \pmod{26}.$$Les lettres de rangs $0$ et $x_2$ ont la même image : le chiffrement n'est pas déchiffrable. C'est exactement ce qui arrivait avec $a = 13$ : $d = 13$ et $x_2 = 2$, la lettre C.
Comme $26 = 2 \times 13$, les valeurs permises de $a$ sont les nombres impairs différents de $13$, entre $1$ et $25$ : il y en a $12$. Avec les $26$ valeurs de $b$, cela fait $12 \times 26 = 312$ clés. C'est mieux que César, mais un ordinateur les essaie toutes en une fraction de seconde.
Pour la clé $(5\,;8)$, il faut l'inverse de $5$ modulo $26$. L'algorithme d'Euclide donne $26 = 5 \times 5 + 1$, donc
$$1 = 26 - 5 \times 5,$$soit
$$5 \times (-5) \equiv 1 \pmod{26}.$$L'inverse est $u = -5 \equiv 21$ ; on vérifie : $5 \times 21 = 105 = 4 \times 26 + 1$. Pour des nombres plus grands, on remonte toutes les divisions de l'algorithme d'Euclide : c'est l'algorithme d'Euclide étendu, programmé plus bas en Python.
Déchiffrons APIL avec $x \equiv 21(y - 8)$ :
| Lettre | $y$ | $21(y-8)$ | Reste modulo 26 | Lettre claire |
|---|---|---|---|---|
| A | 0 | $-168$ | 14 | O |
| P | 15 | 147 | 17 | R |
| I | 8 | 0 | 0 | A |
| L | 11 | 63 | 11 | L |
Pour $-168$, on ajoute $7 \times 26 = 182$ et l'on trouve bien $14$ : le reste d'un nombre négatif se calcule en ajoutant des multiples de $26$.
Au IXe siècle, à Bagdad, le savant al-Kindi décrit une méthode qui ruine tous les chiffres de ce type. Dans une langue donnée, les lettres n'apparaissent pas aussi souvent les unes que les autres. En français, le E est de loin la plus fréquente (autour de $15\,\%$ des lettres d'un texte courant), devant A, S, I, N et T (de l'ordre de $7$ à $8\,\%$ chacune). Or un chiffrement affine remplace toujours une lettre par la même lettre : la lettre la plus fréquente du message chiffré est très probablement le E.
Supposons qu'un message chiffré par une clé affine inconnue contienne surtout des C, puis des U. On fait l'hypothèse que C chiffre E et que U chiffre S. En rangs : E $=4$ donne C $=2$, et S $=18$ donne U $=20$, d'où le système
$$\begin{cases} 4a + b \equiv 2 \\ 18a + b \equiv 20 \end{cases} \pmod{26}.$$Étape 1. On soustrait la première ligne de la seconde : $14a \equiv 18 \pmod{26}$.
Étape 2. Attention, on ne peut pas « diviser par $14$ », qui n'est pas premier avec $26$. On revient à la définition : $26$ divise $14a - 18$, donc $13$ divise $7a - 9$, soit $7a \equiv 9 \pmod{13}$. Comme $7 \times 2 = 14 \equiv 1 \pmod{13}$, on multiplie par $2$ : $a \equiv 18 \equiv 5 \pmod{13}$.
Étape 3. Entre $0$ et $25$, cela laisse $a = 5$ ou $a = 18$. Or $18$ est pair, donc pas premier avec $26$ : ce ne peut pas être une clé. Ainsi $a = 5$ et $b \equiv 2 - 4 \times 5 = -18 \equiv 8$.
On a retrouvé la clé $(5\,;8)$ sans l'avoir jamais vue. Il suffit ensuite de déchiffrer : si le texte obtenu a un sens, l'hypothèse était la bonne ; sinon, on essaie la troisième lettre la plus fréquente.
En 1586, Marie Stuart, reine d'Écosse prisonnière en Angleterre, correspond en secret avec des conjurés qui préparent l'assassinat d'Élisabeth Ire (le complot de Babington). Ses lettres sont chiffrées par substitution, avec quelques symboles pour des mots entiers. Elles sont interceptées et confiées au déchiffreur Thomas Phelippes, qui en vient à bout par l'analyse des fréquences. Les lettres déchiffrées servent de preuve à son procès, et Marie Stuart est exécutée en février 1587. Un chiffre faible est pire que pas de chiffre du tout : il donne confiance à celui qui écrit.
L'outil ci-dessous chiffre et déchiffre un texte par un chiffrement affine ou par le chiffre de Vigenère (présenté juste après). Le bouton « Reprendre le résultat » replace le texte obtenu dans la zone de saisie, pour le déchiffrer ensuite. L'outil affiche aussi les fréquences des lettres du résultat : chiffrez un long texte français avec une clé affine, et regardez la barre la plus haute.
Les accents et la ponctuation sont retirés, les espaces conservés ; les anciens chiffreurs supprimaient aussi les espaces, qui trahissent la longueur des mots.
Pour échapper à l'analyse des fréquences, il faut qu'une même lettre claire ne soit pas toujours chiffrée de la même façon. Le chiffre décrit par Giovan Battista Bellaso en 1553, puis par Blaise de Vigenère en 1586 (qui lui a laissé son nom), utilise un mot-clé : on écrit le mot-clé sous le message, en le répétant, et chaque lettre est décalée du rang de la lettre de la clé placée dessous. Chiffrons GRANDORAL avec la clé MATHS (rangs $12$, $0$, $19$, $7$, $18$) :
| Message | G | R | A | N | D | O | R | A | L |
|---|---|---|---|---|---|---|---|---|---|
| Rang | 6 | 17 | 0 | 13 | 3 | 14 | 17 | 0 | 11 |
| Clé | M | A | T | H | S | M | A | T | H |
| Décalage | 12 | 0 | 19 | 7 | 18 | 12 | 0 | 19 | 7 |
| Somme mod 26 | 18 | 17 | 19 | 20 | 21 | 0 | 17 | 19 | 18 |
| Chiffré | S | R | T | U | V | A | R | T | S |
Les deux A du message deviennent T, mais les deux R deviennent R, et le S chiffré provient tantôt de G, tantôt de L : les fréquences sont brouillées. Pendant près de trois siècles, ce chiffre passe pour « indéchiffrable ».
Le point faible est la répétition de la clé. Si un même groupe de lettres du message tombe deux fois sous la même portion de la clé, il est chiffré deux fois de la même façon. Cela arrive quand la distance entre les deux groupes est un multiple de la longueur de la clé. Charles Babbage l'avait compris vers 1854 sans le publier ; l'officier prussien Friedrich Kasiski publie la méthode en 1863.
Voici un message chiffré avec la clé MATHS :
MTMHIGESSWBOGAHGILLFEUBAWMTMHIGESSSSAKLHGILYWZDXGNAULHMBOGA
Celui qui l'intercepte ne connaît pas la clé, mais il remarque des groupes répétés. Numérotons les lettres à partir de $0$ :
La longueur de la clé divise probablement toutes ces distances, donc leur PGCD : $\mathrm{PGCD}(25\,;45) = 5$. La clé a très probablement $5$ lettres (ou $1$, ce que les fréquences écartent vite). Le message clair était ATTAQUEZ LE PONT PUIS ENSUITE ATTAQUEZ LA GARE PUIS RENDEZ VOUS AU PONT : les répétitions de ATTAQUEZ, de PUIS et de PONT ont trahi la clé. Une répétition peut aussi être due au hasard, surtout pour des groupes de deux ou trois lettres : c'est pourquoi on retient les groupes longs et l'on cherche le diviseur commun au plus grand nombre de distances.
Une fois la longueur $5$ connue, on sépare le message en cinq sous-messages : les lettres de rangs $0$, $5$, $10$, …, puis celles de rangs $1$, $6$, $11$, …, et ainsi de suite. Chacun est chiffré par un simple décalage de César, que l'analyse des fréquences casse comme plus haut. Le chiffre « indéchiffrable » tombe ainsi en cinq petits problèmes faciles.
Il n'existe qu'une parade complète : une clé aléatoire aussi longue que le message, utilisée une seule fois (le « masque jetable »). C'est le seul chiffre dont on démontre qu'il est incassable, mais il faut transporter autant de clé que de message, ce qui le réserve à des usages rares, comme le « téléphone rouge » entre Washington et Moscou pendant la guerre froide.
En 1929, le mathématicien américain Lester Hill propose de chiffrer les lettres non plus une à une, mais par blocs, à l'aide d'une matrice. Avec des blocs de deux lettres de rangs $x_1$ et $x_2$, on calcule
$$\begin{pmatrix} y_1 \\ y_2 \end{pmatrix} \equiv K \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} \pmod{26},$$où la clé est la matrice
$$K = \begin{pmatrix} 3 & 3 \\ 2 & 5 \end{pmatrix}.$$Chiffrons HELP, découpé en HE et LP.
HELP devient HIAT. Chaque lettre chiffrée dépend des deux lettres du bloc : les fréquences des lettres isolées ne suffisent plus.
Étape 1 : un produit remarquable. Pour $K = \begin{pmatrix} a & b \\ c & d \end{pmatrix}$, posons $\widetilde{K} = \begin{pmatrix} d & -b \\ -c & a \end{pmatrix}$. En effectuant le produit,
$$\begin{aligned} \widetilde{K}\,K &= \begin{pmatrix} da - bc & db - bd \\ -ca + ac & -cb + ad \end{pmatrix} \\ &= (ad - bc)\, I_2 . \end{aligned}$$Étape 2 : inverser le déterminant. Notons $\delta = ad - bc$. S'il est premier avec $26$, le théorème de Bézout fournit $u$ tel que $u\delta \equiv 1 \pmod{26}$.
Étape 3 : conclure. La matrice $K' = u\,\widetilde{K}$ vérifie $K'K = u\delta\, I_2 \equiv I_2 \pmod{26}$. Si $Y \equiv KX$, alors $K'Y \equiv K'KX \equiv X$ : on déchiffre en multipliant par $K'$.
Pour notre clé, $\delta = 3 \times 5 - 3 \times 2 = 9$, et $9 \times 3 = 27 \equiv 1$, donc $u = 3$ :
$$\begin{aligned} K' &= 3\begin{pmatrix} 5 & -3 \\ -2 & 3 \end{pmatrix} = \begin{pmatrix} 15 & -9 \\ -6 & 9 \end{pmatrix} \\ &\equiv \begin{pmatrix} 15 & 17 \\ 20 & 9 \end{pmatrix}. \end{aligned}$$On vérifie le déchiffrement de HI, c'est-à-dire $(7\,;8)$ : $15 \times 7 + 17 \times 8 = 241 \equiv 7$ (H) et $20 \times 7 + 9 \times 8 = 212 \equiv 4$ (E). On retrouve bien HE.
Le chiffre de Hill a une faiblesse : il est linéaire. Si l'ennemi connaît deux blocs clairs et leurs chiffrés (une formule de politesse, une date), il obtient une équation matricielle $Y \equiv KX$ dont il tire $K$ en inversant $X$. Les chiffres modernes mélangent pour cette raison des opérations linéaires et non linéaires.
Tous les chiffres précédents, comme la machine Enigma de la Seconde Guerre mondiale, sont symétriques : la même clé sert à chiffrer et à déchiffrer. Il faut donc d'abord se la transmettre en secret, ce qui est impossible avec un inconnu sur Internet. En 1977, Ronald Rivest, Adi Shamir et Leonard Adleman publient un chiffre à clé publique : chacun peut chiffrer avec la clé publiée par le destinataire, mais seul celui-ci sait déchiffrer. On sait depuis 1997 que Clifford Cocks, aux services secrets britanniques, avait trouvé la même idée en 1973, restée classée secrète.
L'image est celle d'un cadenas ouvert : n'importe qui peut le refermer sur une boîte, mais seul celui qui a la clé peut le rouvrir. Mathématiquement, RSA repose sur un théorème de 1640.
Commençons par un exemple avec $p = 7$ et $a = 3$. Les multiples $3, 6, 9, 12, 15, 18$ ont pour restes modulo $7$ :
$$3,\ 6,\ 2,\ 5,\ 1,\ 4 .$$On retrouve exactement les nombres de $1$ à $6$, dans un autre ordre. Et l'on constate que $3^6 = 729 = 104 \times 7 + 1$, donc $3^6 \equiv 1 \pmod 7$. Ce n'est pas un hasard.
Étape 1 : aucun des nombres $a, 2a, \ldots, (p-1)a$ n'est divisible par $p$. Si $p$ divisait $ka$, avec $1 \leqslant k \leqslant p-1$, comme $p$ est premier et ne divise pas $a$, on aurait $\mathrm{PGCD}(p\,;a) = 1$, et le théorème de Gauss donnerait $p$ divise $k$, ce qui est impossible car $0 < k < p$.
Étape 2 : leurs restes sont deux à deux distincts. Si $ka \equiv ja \pmod p$ avec $1 \leqslant j < k \leqslant p-1$, alors $p$ divise $(k-j)a$, donc $p$ divise $k - j$ (théorème de Gauss), impossible car $0 < k - j < p$.
Étape 3 : on reconnaît les nombres de $1$ à $p - 1$. Les $p - 1$ restes sont distincts et compris entre $1$ et $p - 1$ : ce sont donc exactement $1, 2, \ldots, p-1$ dans un certain ordre. En multipliant toutes les congruences,
$$\begin{aligned} &a \times 2a \times \cdots \times (p-1)a \\ \equiv\ &1 \times 2 \times \cdots \times (p-1) \pmod p, \end{aligned}$$c'est-à-dire $a^{p-1} \times (p-1)! \equiv (p-1)! \pmod p$.
Étape 4 : on simplifie. Ainsi $p$ divise $(p-1)! \times (a^{p-1} - 1)$. Chaque facteur de $(p-1)!$ est compris entre $1$ et $p - 1$, donc premier avec le nombre premier $p$ ; leur produit $(p-1)!$ est donc premier avec $p$. Par le théorème de Gauss, $p$ divise $a^{p-1} - 1$.
Le destinataire choisit deux nombres premiers distincts $p$ et $q$, calcule $n = pq$ et $\varphi = (p-1)(q-1)$. Il choisit un exposant $e$ premier avec $\varphi$, puis, par l'algorithme d'Euclide étendu, un entier $d$ tel que $ed \equiv 1 \pmod{\varphi}$.
Étape 1 : écrire $ed$. Comme $ed \equiv 1 \pmod{\varphi}$, il existe un entier naturel $k$ tel que $ed = 1 + k(p-1)(q-1)$.
Étape 2 : modulo $p$. Si $p$ ne divise pas $m$, le petit théorème de Fermat donne $m^{p-1} \equiv 1 \pmod p$, donc
$$\begin{aligned} m^{ed} &= m \times \left(m^{p-1}\right)^{k(q-1)} \\ &\equiv m \times 1 = m \pmod p. \end{aligned}$$Si $p$ divise $m$, alors $m$ et $m^{ed}$ sont tous deux divisibles par $p$ : la congruence est encore vraie. Dans tous les cas, $p$ divise $m^{ed} - m$.
Étape 3 : modulo $q$. Le même raisonnement, en échangeant les rôles de $p$ et $q$, montre que $q$ divise $m^{ed} - m$.
Étape 4 : modulo $n$. Les nombres premiers distincts $p$ et $q$ sont premiers entre eux et divisent tous deux $m^{ed} - m$ ; par un corollaire du théorème de Gauss, leur produit $n$ le divise aussi.
Puisque $c$ et $m^e$ sont congrus modulo $n$, on a $c^d \equiv m^{ed} \equiv m \pmod n$ : le reste de $c^d$ modulo $n$ est le message $m$, qui est déjà compris entre $0$ et $n - 1$.
Prenons $p = 5$ et $q = 11$ : $n = 55$ et $\varphi = 4 \times 10 = 40$. L'exposant $e = 3$ est premier avec $40$. Pour $d$, l'algorithme d'Euclide donne $40 = 13 \times 3 + 1$, donc $3 \times (-13) \equiv 1 \pmod{40}$ et $d = -13 + 40 = 27$ (on vérifie : $3 \times 27 = 81 = 2 \times 40 + 1$).
Chiffrer le message $m = 7$ : $7^3 = 343 = 6 \times 55 + 13$, donc $c = 13$.
Déchiffrer : il faut le reste de $13^{27}$ modulo $55$. Plutôt que de faire $26$ multiplications, on écrit $27 = 16 + 8 + 2 + 1$ et l'on élève au carré de proche en proche, en réduisant à chaque fois modulo $55$ :
| Puissance | $13^1$ | $13^2$ | $13^4$ | $13^8$ | $13^{16}$ |
|---|---|---|---|---|---|
| Calcul | $13$ | $169$ | $4^2 = 16$ | $16^2 = 256$ | $36^2 = 1296$ |
| Reste mod 55 | 13 | 4 | 16 | 36 | 31 |
Alors $13^{27} = 13^{16} \times 13^{8} \times 13^{2} \times 13^{1}$, et :
On retrouve $m = 7$ avec $7$ multiplications au lieu de $26$. C'est l'exponentiation rapide : pour un exposant de $2\,048$ chiffres binaires, elle demande quelques milliers de multiplications, au lieu d'un nombre qui dépasse tout ce qu'on peut écrire.
Le programme suivant code l'exponentiation rapide et l'algorithme d'Euclide étendu, puis construit une clé RSA avec $p = 61$ et $q = 53$. Modifiez le message ou les nombres premiers.
Un espion connaît $n$ et $e$. Pour trouver $d$, il lui faut $\varphi$, donc $p$ et $q$ : il doit factoriser $n$. Pour $55$, c'est immédiat. Mais on ne connaît aucune méthode rapide pour factoriser un produit de deux nombres premiers de plusieurs centaines de chiffres. En 2020, une équipe en grande partie française a factorisé le nombre RSA-250, de $250$ chiffres décimaux ($829$ bits), au prix d'environ $2\,700$ années de calcul d'un cœur de processeur, réparties sur des milliers de machines. Les clés utilisées aujourd'hui comptent en général $2\,048$ bits ou plus.
Toute la sécurité repose donc sur une asymétrie : multiplier deux nombres premiers est facile, retrouver les facteurs à partir du produit est très difficile. Personne n'a démontré que la factorisation est réellement difficile ; on constate seulement que des générations de chercheurs n'ont pas trouvé de méthode rapide.
En 1976, un an avant RSA, Whitfield Diffie et Martin Hellman montrent comment deux personnes qui ne se sont jamais rencontrées peuvent fabriquer une clé commune en ne s'échangeant que des messages publics. L'image habituelle est celle des pots de peinture : mélanger des couleurs est facile, les séparer est presque impossible.
En mathématiques, la peinture commune est un nombre premier $p$ et un entier $g$, publiés. Prenons $p = 23$ et $g = 5$.
Ils partagent le secret $2$, car $(g^b)^a = g^{ab} = (g^a)^b$. L'espion connaît $p$, $g$, $A$ et $B$ ; pour
trouver le secret, il devrait retrouver $a$ à partir de $5^a \equiv 8$ : c'est le problème du logarithme
discret. Avec $23$, on essaie toutes les valeurs ; avec un nombre premier de plusieurs centaines de chiffres, on ne sait pas le
faire. Le cadenas des pages https utilise aujourd'hui couramment une variante de cet échange, sur des courbes elliptiques.
En 1994, Peter Shor a montré qu'un ordinateur quantique suffisamment grand pourrait factoriser les entiers et calculer des logarithmes discrets rapidement. RSA et Diffie-Hellman tomberaient alors tous deux. Les machines quantiques actuelles sont encore très loin de la taille nécessaire, et personne ne sait dire avec certitude quand, ni si, elles l'atteindront.
Le danger est pourtant pris au sérieux dès maintenant, à cause d'une stratégie appelée « récolter maintenant, déchiffrer plus tard » : un service de renseignement peut enregistrer aujourd'hui des communications chiffrées et attendre de pouvoir les lire. Des secrets qui doivent rester protégés pendant trente ans sont donc déjà menacés.
D'où la cryptographie post-quantique : des méthodes fondées sur d'autres problèmes, que l'on ne sait résoudre rapidement ni avec un ordinateur classique ni avec un ordinateur quantique. Après un concours international ouvert en 2016, l'agence américaine de normalisation (NIST) a publié en août 2024 trois premières normes, dont deux reposent sur des problèmes de réseaux de points (trouver un point proche dans une grille de très grande dimension), décrits avec des matrices et des congruences. Plusieurs navigateurs et messageries ont commencé à les combiner avec les méthodes classiques.
La cryptographie a aussi toujours une dimension géopolitique : cassage d'Enigma, restrictions à l'exportation des logiciels de chiffrement dans les années 1990, débats actuels sur l'accès des polices aux messageries chiffrées. Les mathématiques y sont une arme autant qu'un bouclier.
Ce texte n'est pas un Grand Oral. Il rassemble des connaissances dans lesquelles chacun peut choisir une direction, la creuser et formuler sa propre question. Quelques directions possibles :
https et l'échange de clés.Le jury peut interroger sur les chapitres mobilisés. Avec ce thème, il est utile de connaître parfaitement, en maths expertes : la division euclidienne et les congruences, le PGCD et l'algorithme d'Euclide, les théorèmes de Bézout et de Gauss, les nombres premiers et le petit théorème de Fermat, le calcul matriciel et l'inverse d'une matrice $2 \times 2$. Côté spécialité, le raisonnement par récurrence et l'algorithmique en Python sont souvent sollicités.
Pour réviser les chapitres de spécialité, l'application Maths FlashBac reprend tout le cours en cartes.