<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>History on kenji.blog</title><link>http://kenji.blog/fr/tags/history/</link><description>Recent content in History on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>fr</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 11 Sep 2026 15:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/fr/tags/history/index.xml" rel="self" type="application/rss+xml"/><item><title>Histoire de la cryptographie : du chiffre de César à la cryptographie post-quantique (PQC)</title><link>http://kenji.blog/fr/p/history-of-cryptography-caesar-to-pqc/</link><pubDate>Fri, 11 Sep 2026 15:00:00 +0900</pubDate><guid>http://kenji.blog/fr/p/history-of-cryptography-caesar-to-pqc/</guid><description>&lt;img src="http://kenji.blog/p/history-of-cryptography-caesar-to-pqc/img/eyecatch.jpg" alt="Featured image of post Histoire de la cryptographie : du chiffre de César à la cryptographie post-quantique (PQC)" />&lt;h1 id="1-introduction--quest-ce-que-la-cryptographie-">1. Introduction : Qu&amp;rsquo;est-ce que la cryptographie ?
&lt;/h1>&lt;p>La cryptographie (Cryptography) est la technologie permettant de préserver la confidentialité des informations, et a évolué avec l&amp;rsquo;histoire de l&amp;rsquo;humanité. De la transmission d&amp;rsquo;ordres secrets lors des guerres antiques à la protection des informations de cartes de crédit sur l&amp;rsquo;Internet moderne, le but de la cryptographie est resté le même. Il s&amp;rsquo;agit de « s&amp;rsquo;assurer que seul le destinataire prévu peut comprendre l&amp;rsquo;information, et qu&amp;rsquo;elle ne peut pas être déchiffrée par des tiers ».&lt;/p>
&lt;p>Dans la sécurité de l&amp;rsquo;information moderne, la cryptographie ne se limite pas à la simple « dissimulation de l&amp;rsquo;information (Confidentialité) », mais joue également un rôle important dans l&amp;rsquo;« Intégrité (Integrity) » des données, l&amp;rsquo;« Authentification (Authentication) », et la « Non-répudiation (Non-repudiation) ».&lt;/p>
&lt;p>Cet article retrace en détail l&amp;rsquo;histoire de l&amp;rsquo;évolution de la cryptographie d&amp;rsquo;un point de vue technologique et mathématique, en commençant par les simples chiffrements par substitution de l&amp;rsquo;Antiquité, en passant par les chiffrements mécaniques, la cryptographie moderne à clé symétrique et publique, jusqu&amp;rsquo;à l&amp;rsquo;ère de la « Cryptographie Post-Quantique (PQC) » provoquée par l&amp;rsquo;utilisation pratique des ordinateurs quantiques.&lt;/p>
&lt;hr>
&lt;h1 id="2-lère-de-la-cryptographie-classique--substitution-et-transposition-de-caractères">2. L&amp;rsquo;ère de la cryptographie classique : Substitution et transposition de caractères
&lt;/h1>&lt;p>Les origines de la cryptographie remontent avant notre ère. Les premiers chiffrements étaient principalement composés de deux approches : « transposition (réarrangement) » et « substitution (remplacement) ».&lt;/p>
&lt;h2 id="le-chiffre-de-la-scytale-chiffrement-par-transposition">Le chiffre de la scytale (Chiffrement par transposition)
&lt;/h2>&lt;p>Utilisée à Sparte, dans la Grèce antique, au Ve siècle av. J.-C., la « Scytale » est l&amp;rsquo;un des plus anciens dispositifs cryptographiques. Une longue et étroite bande de parchemin est enroulée autour d&amp;rsquo;un bâton de bois d&amp;rsquo;une épaisseur spécifique, et un message y est écrit horizontalement. Lorsque le parchemin est déroulé, les caractères apparaissent dans un ordre dénué de sens, mais un destinataire ayant un bâton de la même épaisseur peut enrouler le parchemin à nouveau pour lire le message original.&lt;/p>
&lt;h2 id="le-chiffre-de-césar-chiffrement-par-substitution-monoalphabétique">Le chiffre de César (Chiffrement par substitution monoalphabétique)
&lt;/h2>&lt;p>Au 1er siècle av. J.-C., le héros de la Rome antique Jules César aurait utilisé le « chiffre de César ». Il s&amp;rsquo;agit d&amp;rsquo;un chiffrement par substitution monoalphabétique (Monoalphabetic substitution) qui décale l&amp;rsquo;alphabet d&amp;rsquo;un certain nombre (généralement 3 caractères).&lt;/p>
&lt;p>Mathématiquement, en traitant les lettres comme des nombres de $0$ à $25$ et le nombre de décalages comme $K$, la conversion du texte clair $P$ en texte chiffré $C$ est exprimée par la congruence suivante :&lt;/p>
$$C \equiv P + K \pmod{26}$$
&lt;p>Le déchiffrement effectue l&amp;rsquo;opération inverse :&lt;/p>
$$P \equiv C - K \pmod{26}$$
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Exemple simple d&amp;#39;implémentation du chiffre de César en Python&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">caesar_cipher&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">text&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">shift&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">mode&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;encrypt&amp;#34;&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">result&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">mode&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="s2">&amp;#34;decrypt&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">shift&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">shift&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">char&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">text&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">char&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">isalpha&lt;/span>&lt;span class="p">():&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">base&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">ord&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;A&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">if&lt;/span> &lt;span class="n">char&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">isupper&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="k">else&lt;/span> &lt;span class="nb">ord&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;a&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Calcul du décalage&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">result&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="nb">chr&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="nb">ord&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">char&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">base&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">shift&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">26&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">base&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">else&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">result&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="n">char&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">result&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Exemple d&amp;#39;exécution&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">plaintext&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;HELLO WORLD&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ciphertext&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">caesar_cipher&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">plaintext&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;encrypt&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;Texte chiffré : &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">ciphertext&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># KHOOR ZRUOG&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="analyse-fréquentielle-et-le-chiffre-de-vigenère">Analyse fréquentielle et le chiffre de Vigenère
&lt;/h2>&lt;p>Les chiffrements par substitution monoalphabétique ont été facilement déchiffrés grâce à l&amp;rsquo;« Analyse Fréquentielle (Frequency Analysis) » conçue par le savant arabe du 9ème siècle Al-Kindi. Elle utilise les propriétés statistiques de la langue, comme le fait que « E » et « T » apparaissent fréquemment en anglais.&lt;/p>
&lt;p>Pour contrer cela, le « chiffre de Vigenère (Vigenère cipher) » a été inventé au 16ème siècle. Il s&amp;rsquo;agit d&amp;rsquo;un chiffrement par substitution polyalphabétique (Polyalphabetic substitution) qui utilise plusieurs décalages (clés) de manière périodique, et a été appelé « Le Chiffre Indéchiffrable » pendant environ 300 ans.&lt;/p>
&lt;p>Mathématiquement, le $i$-ème caractère $P_i$ du texte clair et le $i$-ème caractère $K_i$ de la clé répétée sont utilisés pour chiffrer comme suit :&lt;/p>
$$C_i \equiv P_i + K_i \pmod{26}$$
&lt;p>Ce chiffrement a également été déchiffré au 19ème siècle par Charles Babbage et Friedrich Kasiski, qui ont découvert la « méthode de Kasiski (Kasiski examination) », permettant de déduire la longueur de la clé à partir de motifs répétitifs dans le texte chiffré.&lt;/p>
&lt;div class="mermaid">graph TD
subgraph "Classification de la cryptographie classique"
A["Cryptographie classique"] --> B["Chiffrement par transposition"]
A --> C["Chiffrement par substitution"]
B --> D["Chiffrement Scytale"]
C --> E["Substitution monoalphabétique"]
C --> F["Substitution polyalphabétique"]
E --> G["Chiffre de César"]
F --> H["Chiffre de Vigenère"]
end&lt;/div>
&lt;hr>
&lt;h1 id="3-cryptographie-mécanique-et-guerres-mondiales--enigma-et-son-déchiffrement">3. Cryptographie mécanique et guerres mondiales : Enigma et son déchiffrement
&lt;/h1>&lt;p>Au 20ème siècle, alors que les moyens de communication passaient des lettres au télégraphe et à la radio, la vitesse et la complexité du chiffrement sont devenues nécessaires. C&amp;rsquo;est là que la « cryptographie mécanique », combinant des rotors (disques rotatifs), est apparue.&lt;/p>
&lt;h2 id="la-menace-denigma">La menace d&amp;rsquo;Enigma
&lt;/h2>&lt;p>Pendant la Seconde Guerre mondiale, l&amp;rsquo;« Enigma », utilisée par l&amp;rsquo;Allemagne nazie, est la machine de chiffrement la plus célèbre de l&amp;rsquo;histoire de la cryptographie. Enigma était composée de plusieurs rotors (généralement 3 à 4), d&amp;rsquo;un tableau de connexions (Steckerbrett) qui échangeait le câblage des lettres, et d&amp;rsquo;un réflecteur (rotor d&amp;rsquo;inversion).&lt;/p>
&lt;p>Le rotor tournant chaque fois qu&amp;rsquo;une lettre était tapée sur le clavier, taper la même lettre de suite produirait des caractères chiffrés différents (le summum du chiffrement polyalphabétique). Son espace de clés (combinaisons de paramètres) atteignait environ $1.58 \times 10^{19}$ (environ 15,8 quintillions), ce qui rendait le déchiffrement par force brute impossible avec la technologie de l&amp;rsquo;époque.&lt;/p>
&lt;h2 id="alan-turing-et-la--bombe-">Alan Turing et la « Bombe »
&lt;/h2>&lt;p>L&amp;rsquo;équipe de cryptanalyse de Bletchley Park en Grande-Bretagne a relevé le défi de cette imprenable Enigma, en s&amp;rsquo;appuyant sur les travaux initiaux de mathématiciens polonais comme Marian Rejewski.&lt;/p>
&lt;p>En particulier, Alan Turing a développé la « Bombe », une machine de déchiffrement électromécanique, en utilisant des suppositions de texte clair (Cribs) correspondant à des parties du texte chiffré. La Bombe détectait rapidement les contradictions logiques et éliminait un par un les paramètres de rotor impossibles, réussissant ainsi à déchiffrer Enigma. On dit que cet exploit a avancé la victoire des Alliés de plusieurs années.&lt;/p>
&lt;hr>
&lt;h1 id="4-laube-de-la-cryptographie-moderne--cryptographie-à-clé-symétrique-des-et-aes">4. L&amp;rsquo;aube de la cryptographie moderne : Cryptographie à clé symétrique (DES et AES)
&lt;/h1>&lt;p>Après la guerre, avec l&amp;rsquo;avènement des ordinateurs, la cryptographie a subi un changement de paradigme radical, passant de la manipulation de « caractères » à la manipulation de « bits (0 et 1) ».&lt;/p>
&lt;h2 id="claude-shannon-et-la-théorie-de-linformation">Claude Shannon et la théorie de l&amp;rsquo;information
&lt;/h2>&lt;p>En 1949, Claude Shannon a publié l&amp;rsquo;article « Communication Theory of Secrecy Systems », jetant les bases mathématiques de la cryptographie moderne. Il a proposé la « Confusion (Confusion) » et la « Diffusion (Diffusion) » comme principes pour la conception de chiffrements sécurisés.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Confusion&lt;/strong> : Rendre la relation entre la clé et le texte chiffré aussi complexe que possible. (Réalisé par substitution / boîtes S)&lt;/li>
&lt;li>&lt;strong>Diffusion&lt;/strong> : S&amp;rsquo;assurer que la modification d&amp;rsquo;un seul bit du texte clair affecte de nombreux bits du texte chiffré. (Réalisé par transposition / permutation)&lt;/li>
&lt;/ul>
&lt;h2 id="des-data-encryption-standard">DES (Data Encryption Standard)
&lt;/h2>&lt;p>En 1977, le National Institute of Standards and Technology américain (NIST, alors NBS) a établi « DES », basé sur un design d&amp;rsquo;IBM, comme chiffrement standard.
DES utilise une architecture appelée « Réseau de Feistel (Feistel Network) » et a une taille de bloc de 64 bits et une longueur de clé de 56 bits. Il avait l&amp;rsquo;avantage d&amp;rsquo;implémentation que les algorithmes de chiffrement et de déchiffrement avaient presque la même structure.&lt;/p>
&lt;p>Cependant, à mesure que la puissance de calcul des ordinateurs augmentait, il est devenu évident qu&amp;rsquo;une longueur de clé de 56 bits (environ $7.2 \times 10^{16}$ combinaisons) était insuffisante. En 1998, l&amp;rsquo;Electronic Frontier Foundation (EFF) a développé une machine dédiée « Deep Crack » et a déchiffré DES en quelques jours.&lt;/p>
&lt;h2 id="aes-advanced-encryption-standard">AES (Advanced Encryption Standard)
&lt;/h2>&lt;p>Comme nouveau standard pour remplacer DES, « AES » a été établi en 2001. L&amp;rsquo;algorithme « Rijndael », conçu par des cryptographes belges et sélectionné par appel d&amp;rsquo;offres public, a été adopté.&lt;/p>
&lt;p>AES adopte une « structure SPN (Substitution-Permutation Network) » au lieu d&amp;rsquo;une structure de Feistel, et utilise des opérations mathématiques sur le corps de Galois (corps fini) $GF(2^8)$. La longueur de la clé peut être choisie parmi 128, 192 ou 256 bits, et il est encore largement utilisé dans le monde aujourd&amp;rsquo;hui comme cryptographie à clé symétrique standard.&lt;/p>
&lt;div class="mermaid">graph TD
subgraph "Traitement d'un tour de AES (Structure SPN)"
A["État d'entrée (128-bit)"] --> B("SubBytes (Substitution d'octets / S-Box)")
B --> C("ShiftRows (Décalage de lignes)")
C --> D("MixColumns (Mélange de colonnes / Multiplication sur GF(2^8))")
D --> E("AddRoundKey (XOR avec la clé de tour)")
E --> F["Au tour suivant"]
end&lt;/div>
&lt;hr>
&lt;h1 id="5-la-révolution-de-la-cryptographie-à-clé-publique--de-diffie-hellman-à-rsa">5. La révolution de la cryptographie à clé publique : de Diffie-Hellman à RSA
&lt;/h1>&lt;p>La cryptographie à clé symétrique avait une faiblesse fatale. C&amp;rsquo;était le « Problème de distribution de clés (Key Distribution Problem) ». C&amp;rsquo;est la question de savoir comment partager en toute sécurité une « clé commune » avec une partie distante avant de commencer la communication chiffrée. Ce problème a été résolu par la « cryptographie à clé publique », née dans les années 1970.&lt;/p>
&lt;h2 id="léchange-de-clés-diffie-hellman">L&amp;rsquo;échange de clés Diffie-Hellman
&lt;/h2>&lt;p>En 1976, Whitfield Diffie et Martin Hellman ont publié l&amp;rsquo;article révolutionnaire « New Directions in Cryptography ». Ils ont proposé une méthode permettant de partager des clés en toute sécurité, même sur un canal de communication écouté, en utilisant la difficulté mathématique du « Problème du logarithme discret (Discrete Logarithm Problem) ».&lt;/p>
&lt;ol>
&lt;li>Un grand nombre premier $p$ et un générateur $g$ sont rendus publics.&lt;/li>
&lt;li>Alice choisit une valeur secrète $a$ et envoie $A = g^a \pmod{p}$ à Bob.&lt;/li>
&lt;li>Bob choisit une valeur secrète $b$ et envoie $B = g^b \pmod{p}$ à Alice.&lt;/li>
&lt;li>Alice calcule $K = B^a \pmod{p}$, et Bob calcule $K = A^b \pmod{p}$.&lt;/li>
&lt;li>Par les lois des exposants, $K = (g^b)^a = (g^a)^b = g^{ab} \pmod{p}$, réussissant ainsi à partager la même clé $K$.&lt;/li>
&lt;/ol>
&lt;h2 id="le-chiffrement-rsa">Le chiffrement RSA
&lt;/h2>&lt;p>L&amp;rsquo;année suivante, en 1977, le « chiffrement RSA » a été conçu par Ron Rivest, Adi Shamir et Leonard Adleman. Il est basé sur la propriété qu&amp;rsquo;« il est difficile de factoriser en nombres premiers d&amp;rsquo;énormes nombres composés ».&lt;/p>
&lt;p>&lt;strong>Mécanisme mathématique de RSA :&lt;/strong>&lt;/p>
&lt;ol>
&lt;li>Choisissez deux énormes nombres premiers $p$ et $q$, et calculez $n = p \times q$.&lt;/li>
&lt;li>Calculez l&amp;rsquo;indicatrice d&amp;rsquo;Euler $\phi(n) = (p-1)(q-1)$.&lt;/li>
&lt;li>Choisissez un entier $e$ (clé publique) premier avec $\phi(n)$.&lt;/li>
&lt;li>Calculez un entier $d$ (clé privée) tel que $e \times d \equiv 1 \pmod{\phi(n)}$.&lt;/li>
&lt;/ol>
&lt;p>Chiffrement : Pour le texte clair $M$, $C \equiv M^e \pmod{n}$
Déchiffrement : Pour le texte chiffré $C$, $M \equiv C^d \pmod{n}$&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Code Python illustrant le concept du chiffrement RSA (pas pour une utilisation pratique)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">ext_euclid&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">b&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Calcul de l&amp;#39;inverse modulaire par l&amp;#39;algorithme d&amp;#39;Euclide étendu&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">b&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">a&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">x&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">y&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">g&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">ext_euclid&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">b&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="n">b&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">y&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">x&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span> &lt;span class="o">//&lt;/span> &lt;span class="n">b&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">y&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">g&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">rsa_example&lt;/span>&lt;span class="p">():&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Exemple utilisant de petits nombres premiers&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">p&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">q&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">61&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">53&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">n&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">p&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">q&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">phi&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">p&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">q&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">e&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">17&lt;/span> &lt;span class="c1"># Valeur première avec phi&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">d&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">_&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">_&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">ext_euclid&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">e&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">phi&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">d&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">d&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="n">phi&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;Clé publique : (e=&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">e&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">, n=&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">)&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;Clé privée : (d=&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">d&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">, n=&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">)&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Chiffrement et déchiffrement d&amp;#39;un message&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">message&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">65&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">ciphertext&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">pow&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">message&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">e&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">decrypted&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">pow&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ciphertext&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">d&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;Texte clair : &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">message&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> -&amp;gt; Texte chiffré : &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">ciphertext&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> -&amp;gt; Après déchiffrement : &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">decrypted&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">rsa_example&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h1 id="6-lessor-de-la-cryptographie-sur-les-courbes-elliptiques-ecc">6. L&amp;rsquo;essor de la cryptographie sur les courbes elliptiques (ECC)
&lt;/h1>&lt;p>Le chiffrement RSA est puissant, mais à mesure que les performances des ordinateurs s&amp;rsquo;améliorent, il est devenu nécessaire d&amp;rsquo;augmenter la longueur de la clé (actuellement 2048 bits ou 3072 bits) pour maintenir la sécurité, ce qui a entraîné le problème de l&amp;rsquo;augmentation des coûts de calcul.&lt;/p>
&lt;p>Ainsi, la « Cryptographie sur les courbes elliptiques (Elliptic Curve Cryptography : ECC) » a été proposée en 1985. Elle utilise l&amp;rsquo;addition de points sur une courbe elliptique (généralement de la forme $y^2 = x^3 + ax + b$) sur un corps fini.&lt;/p>
&lt;p>Le problème du logarithme discret sur courbe elliptique (ECDLP) est connu pour être encore plus difficile à résoudre que le problème de factorisation en nombres premiers, et &lt;strong>la sécurité équivalente à 3072 bits pour RSA peut être atteinte avec une longueur de clé de seulement 256 bits pour ECC&lt;/strong>. Cela a rendu possible une communication chiffrée rapide et sécurisée (comme ECDSA et ECDH) même dans des environnements avec des ressources de calcul limitées, comme les smartphones et les appareils IoT.&lt;/p>
&lt;hr>
&lt;h1 id="7-la-menace-des-ordinateurs-quantiques-et-la-cryptographie-post-quantique-pqc">7. La menace des ordinateurs quantiques et la cryptographie post-quantique (PQC)
&lt;/h1>&lt;p>La technologie cryptographique semblait solide comme un roc, mais l&amp;rsquo;algorithme de Shor (« Shor&amp;rsquo;s algorithm ») publié par Peter Shor en 1994 a provoqué une onde de choc.&lt;/p>
&lt;p>Les ordinateurs quantiques effectuent des calculs en utilisant les propriétés de la mécanique quantique que sont la « superposition » et l&amp;rsquo;« intrication quantique ». Il a été mathématiquement prouvé que l&amp;rsquo;exécution de l&amp;rsquo;algorithme de Shor sur un ordinateur quantique suffisamment performant pourrait résoudre le problème de factorisation en nombres premiers et le problème du logarithme discret en « temps polynomial ». En d&amp;rsquo;autres termes, le jour où un ordinateur quantique pratique sera achevé (Q-Day), toute la cryptographie à clé publique actuellement utilisée, comme RSA et ECC, s&amp;rsquo;effondrera instantanément.&lt;/p>
&lt;h2 id="lémergence-de-la-pqc-post-quantum-cryptography">L&amp;rsquo;émergence de la PQC (Post-Quantum Cryptography)
&lt;/h2>&lt;p>Pour se préparer à cette menace sans précédent, la recherche sur la « Cryptographie Post-Quantique (PQC) », basée sur de nouveaux problèmes mathématiques difficiles à déchiffrer même pour les ordinateurs quantiques, progresse rapidement. Le NIST (National Institute of Standards and Technology des États-Unis) mène un processus de normalisation de la PQC depuis de nombreuses années, et les approches mathématiques suivantes sont considérées comme les plus prometteuses :&lt;/p>
&lt;h3 id="1-cryptographie-basée-sur-les-réseaux-euclidiens-lattice-based-cryptography">1. Cryptographie basée sur les réseaux euclidiens (Lattice-based Cryptography)
&lt;/h3>&lt;p>C&amp;rsquo;est actuellement l&amp;rsquo;approche la plus prometteuse et elle a été adoptée pour les algorithmes de normalisation du NIST (ML-KEM / Kyber, ML-DSA / Dilithium). Elle est basée sur la difficulté de trouver un point spécifique sur un « réseau (Lattice) » dans un espace multidimensionnel (comme le problème du plus court vecteur : SVP) et sur le problème LWE (Learning With Errors).&lt;/p>
&lt;p>Le concept du problème LWE utilise la propriété que si un « petit bruit (erreur) » est intentionnellement ajouté à un système d&amp;rsquo;équations linéaires, il devient soudainement très difficile de trouver la solution.
Système d&amp;rsquo;équations : $\mathbf{A}\mathbf{s} + \mathbf{e} \equiv \mathbf{b} \pmod{q}$
($\mathbf{A}$ et $\mathbf{b}$ sont publics, $\mathbf{s}$ est la clé privée, $\mathbf{e}$ est le petit bruit)&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Pseudo-code conceptuel du problème LWE (à des fins d&amp;#39;apprentissage)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">numpy&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">np&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">n&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">256&lt;/span> &lt;span class="c1"># Dimension&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">q&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">3329&lt;/span> &lt;span class="c1"># Modulo&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">m&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">512&lt;/span> &lt;span class="c1"># Nombre d&amp;#39;équations&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Clé secrète s et petite erreur e&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">s&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">random&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">randint&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">size&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">e&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">random&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">randint&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">size&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">m&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Matrice publique A et vecteur public b&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">A&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">random&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">randint&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">q&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">size&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">m&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">b&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">dot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">A&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">s&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">e&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="n">q&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Même en utilisant un ordinateur quantique, il est considéré comme très difficile de récupérer s à partir de A et b&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="2-cryptographie-basée-sur-le-hachage-hash-based-cryptography">2. Cryptographie basée sur le hachage (Hash-based Cryptography)
&lt;/h3>&lt;p>Il s&amp;rsquo;agit d&amp;rsquo;un système de signature numérique qui fonde sa sécurité uniquement sur la résistance aux collisions des fonctions de hachage. Comme il n&amp;rsquo;a pas de structure mathématique, il résiste aux attaques quantiques, mais la taille de la signature a tendance à être importante (comme SPHINCS+).&lt;/p>
&lt;h3 id="3-cryptographie-basée-sur-les-codes-code-based-cryptography">3. Cryptographie basée sur les codes (Code-based Cryptography)
&lt;/h3>&lt;p>Il s&amp;rsquo;agit d&amp;rsquo;un système de chiffrement basé sur la théorie des codes correcteurs d&amp;rsquo;erreurs. Le chiffrement de McEliece, proposé en 1978, est célèbre, a une longue histoire et une réputation de sécurité établie, mais son défi est que la taille de la clé publique est extrêmement grande (parfois de plusieurs mégaoctets).&lt;/p>
&lt;div class="mermaid">timeline
title "Histoire de l'évolution de la cryptographie et de l'informatique"
"Antiquité - Moyen Âge" : "Chiffre de César" : "Chiffre de Vigenère" : "Naissance de l'analyse fréquentielle"
"Années 1930 - 40" : "Opération et déchiffrement d'Enigma" : "Développement de la machine de Turing / Bombe"
"Années 1970" : "Standardisation de DES (1977)" : "Échange de clés Diffie-Hellman (1976)" : "Naissance du chiffrement RSA (1977)"
"Années 1980 - 90" : "Proposition de la cryptographie sur les courbes elliptiques (ECC)" : "Publication de l'algorithme de Shor (1994)"
"Années 2000" : "Standardisation de AES (2001)"
"Années 2010 - Présent" : "Accélération de la recherche sur les ordinateurs quantiques" : "Début du projet de standardisation PQC par le NIST"
"Futur proche (Q-Day)" : "Réalisation d'ordinateurs quantiques à grande échelle ?" : "Transition complète vers PQC (ML-KEM/ML-DSA)"&lt;/div>
&lt;hr>
&lt;h1 id="8-conclusion--une-bataille-sans-fin-entre-le-bouclier-et-la-lance">8. Conclusion : Une bataille sans fin entre le bouclier et la lance
&lt;/h1>&lt;p>L&amp;rsquo;histoire de la technologie cryptographique est l&amp;rsquo;histoire d&amp;rsquo;une bataille sans fin entre l&amp;rsquo;invention de nouvelles méthodes de chiffrement (le bouclier) et de nouvelles méthodes de déchiffrement (la lance) pour les percer.&lt;/p>
&lt;p>Le chiffre de César a été vaincu par l&amp;rsquo;analyse fréquentielle, et l&amp;rsquo;Enigma prétendument invincible a été vaincue par le génie de Turing et la puissance de la machine. Et aujourd&amp;rsquo;hui, les chiffrements puissants comme RSA et ECC qui soutiennent les fondements de la société Internet moderne sont menacés par une nouvelle « lance », l&amp;rsquo;ordinateur quantique.&lt;/p>
&lt;p>Cependant, l&amp;rsquo;humanité regarde déjà vers l&amp;rsquo;avenir, et se prépare à un nouveau « bouclier » appelé cryptographie post-quantique (PQC). Actuellement, dans les infrastructures informatiques du monde entier, la préparation à la transition de la cryptographie à clé publique existante vers la PQC (garantir la crypto-agilité) est une question urgente.&lt;/p>
&lt;p>La cryptographie n&amp;rsquo;est pas seulement un puzzle mathématique difficile, mais la barrière la plus solide pour protéger notre vie privée, nos biens, et l&amp;rsquo;infrastructure sociale elle-même.&lt;/p></description></item></channel></rss>