Post-quantique et sujets avancésDans le dialogue d’impression, choisissez « Enregistrer au format PDF » comme destination.
Retour

Cryptographie · C6 Ouvertures · Chapitre 1 · 4 h

Post-quantique et sujets avancés

Shor et Grover, réseaux euclidiens avec ML-KEM et ML-DSA, codes correcteurs, signatures à base de hachage, agilité cryptographique ; aperçu du partage de secret, du calcul multipartite et des preuves à divulgation nulle.

Tout le bloc asymétrique de ce cours — RSA, Diffie-Hellman, ElGamal, les courbes elliptiques, la PKI qui les atteste — repose sur deux problèmes : la factorisation et le logarithme discret. En 1994, Peter Shor a montré qu'un ordinateur quantique les résout tous les deux en temps polynomial. Le jour où une telle machine existera à l'échelle, ce bloc entier tombera d'un coup. Ce dernier chapitre pose la menace, présente les familles qui y résistent, et fait de la migration une compétence — non une note de bas de page.

C'est un chapitre d'ouverture : chacune de ses sections est un cours en soi, et un module entier peut être consacré à la seule cryptographie post-quantique. On installe ici les idées maîtresses et le vocabulaire.

Shor et Grover : deux menaces de nature différente

Il faut distinguer nettement deux algorithmes quantiques, car ils ne font pas le même dégât.

Shor est catastrophique et ciblé. Il factorise et calcule les logarithmes discrets — y compris sur courbes elliptiques — en temps polynomial. Ce n'est pas une accélération : c'est un changement de classe de complexité. RSA-2048, ECDSA sur P-256, ECDH sur Curve25519 passent de « infaisable » à « facile ». Aucune augmentation de taille de clé n'y résiste, puisque le coût de Shor est polynomial en la taille. Toute la cryptographie asymétrique classique est concernée.

Grover est modéré et général. Il accélère quadratiquement toute recherche exhaustive, ramenant 2n2^n à 2n/22^{n/2}. Contre le symétrique, l'effet est gérable : AES-128 tomberait à 64 bits de sécurité quantique, mais AES-256 conserve 128 bits — d'où la recommandation d'AES-256 en perspective post-quantique. Le symétrique et les fonctions de hachage sont affaiblis, pas effondrés ; doubler les tailles suffit.

Le résumé tient en une ligne : Grover fait mal au symétrique mais on compense en doublant, Shor tue l'asymétrique et rien ne compense — il faut en changer.

Quiz · 1 question

Pourquoi AES-256 reste-t-il sûr face à un ordinateur quantique alors que RSA-2048 s'effondre ?

  • Parce qu'AES n'a pas de structure algébrique, et Grover n'offre qu'une accélération quadratique qu'on compense en doublant la cléGrover quadratique
  • Parce qu'AES-256 utilise des clés plus longues que RSA-2048longueur de clé
  • Parce qu'aucun algorithme quantique ne s'applique à AESaucun algorithme

Réponse : Grover s'applique bien à AES, mais il ne fait que ramener 2^256 à 2^128 — encore hors de portée. Contre RSA, ce n'est pas Grover mais Shor qui agit, en exploitant la STRUCTURE algébrique (périodicité) pour factoriser en temps polynomial : là, aucune taille de clé ne suffit. La différence n'est pas la longueur, c'est la nature de l'attaque — recherche accélérée contre effondrement structurel.

« Récolter maintenant, déchiffrer plus tard »

La menace n'est pas seulement future, et c'est le point que les étudiants sous-estiment. Un adversaire peut enregistrer aujourd'hui du trafic chiffré et le déchiffrer dans dix ou vingt ans, quand la machine existera. Tout secret qui doit rester confidentiel au-delà de cet horizon est déjà exposé — dossiers médicaux, secrets d'État, données biométriques.

La confidentialité persistante du chapitre 13 n'y change rien : elle protège contre la compromission d'une clé de long terme, pas contre un adversaire qui casse le Diffie-Hellman éphémère lui-même une fois la machine disponible. C'est pourquoi la migration a commencé avant que l'ordinateur quantique n'existe, ce qui déconcerte, mais se justifie entièrement par cet horizon de rétro-déchiffrement.

Les familles qui résistent

La cryptographie post-quantique cherche des problèmes difficiles même pour un ordinateur quantique. Aucun ne bénéficie de la structure périodique qu'exploite Shor. Cinq familles émergent.

Les réseaux euclidiens dominent. Les problèmes SVP et CVP (trouver le vecteur le plus court, le point le plus proche) résistent au quantique, et surtout offrent de bonnes performances. Le NIST a normalisé en 2024 ML-KEM (issu de Kyber) pour l'encapsulation de clé et ML-DSA (issu de Dilithium) pour la signature, tous deux fondés sur les réseaux. Ils sont, à ce jour, le socle de la transition.

Les codes correcteurs. Décoder un code linéaire général est difficile ; McEliece l'exploite depuis 1978 et n'a jamais été cassé — au prix de clés publiques énormes, ce qui le réserve à des usages spécifiques.

Les fonctions de hachage. C'est le socle le plus sûr, car il ne suppose rien de plus que ce que ce cours a déjà utilisé : une fonction à sens unique résistante aux collisions. SPHINCS+, normalisé lui aussi, en fait des signatures. Vous allez en construire la brique de base.

Les isogénies (chemins entre courbes elliptiques) offraient les clés les plus courtes — mais le candidat vedette, SIKE, a été cassé classiquement en 2022, quelques semaines avant sa normalisation probable. Rappel salutaire : « post-quantique » ne veut pas dire « sûr », seulement « pas cassé par Shor ». Ces schémas sont jeunes, et leur cryptanalyse classique est encore en cours.

Le multivarié, enfin, fondé sur la difficulté de résoudre des systèmes polynomiaux, a connu des ruptures répétées et reste marginal.

Exercice de code

Construisez une signature de Lamport — post-quantique, fondée sur une seule fonction de hachage. Complétez la signature et la vérification, puis voyez pourquoi Grover l'affaiblit sans l'abattre.

Point de départ

// Signature à usage unique de Lamport (1979). Sa sécurité ne dépend d'AUCUN
// problème algébrique — ni factorisation, ni logarithme discret. Elle repose
// uniquement sur l'irréversibilité d'une fonction de hachage. Donc : rien que
// Shor puisse abattre. C'est le principe des signatures post-quantiques à base
// de hachage (SPHINCS+, normalisé par le NIST).

// Fonction de hachage jouet, à sens unique (chapitre 7).
function H(x) {
  let v = (x >>> 0) * 2654435761 >>> 0;
  v ^= v >>> 15; v = (v * 0x85ebca6b) >>> 0; v ^= v >>> 13;
  return v >>> 0;
}

const N = 8; // on signe des messages de 8 bits (jouet ; en vrai, 256)

// ── Génération des clés ───────────────────────────────────────────────────
// Clé privée : pour chaque bit, une PAIRE de secrets aléatoires (un pour 0,
// un pour 1). Clé publique : leurs empreintes.
function genererCle() {
  const priv = [], pub = [];
  for (let i = 0; i < N; i++) {
    const s0 = (Math.random() * 1e9) >>> 0;
    const s1 = (Math.random() * 1e9) >>> 0;
    priv.push([s0, s1]);
    pub.push([H(s0), H(s1)]);
  }
  return { priv, pub };
}

// ── À COMPLÉTER : signer ──────────────────────────────────────────────────
// Pour chaque bit du message, RÉVÉLER le secret correspondant à sa valeur :
// le secret « 0 » si le bit est 0, le secret « 1 » s'il est 1.
function signer(message, priv) {
  const signature = [];
  for (let i = 0; i < N; i++) {
    const bit = (message >> i) & 1;
    // à compléter : ajouter le bon secret à la signature
  }
  return signature;
}

// ── À COMPLÉTER : vérifier ────────────────────────────────────────────────
// Pour chaque bit, hacher le secret révélé et le comparer à l'empreinte
// publique du bon côté.
function verifier(message, signature, pub) {
  for (let i = 0; i < N; i++) {
    const bit = (message >> i) & 1;
    // à compléter : rejeter si H(signature[i]) ne correspond pas à pub[i][bit]
  }
  return true;
}

// ── Tests ─────────────────────────────────────────────────────────────────
const { priv, pub } = genererCle();
const message = 0b10110101;
const signature = signer(message, priv);

console.log("signature valide ?", verifier(message, signature, pub));
console.log("même signature sur un AUTRE message ?", verifier(0b10110100, signature, pub));

Solution

function signer(message, priv) {
  const signature = [];
  for (let i = 0; i < N; i++) {
    const bit = (message >> i) & 1;
    signature.push(priv[i][bit]); // on révèle un secret par bit
  }
  return signature;
}

function verifier(message, signature, pub) {
  for (let i = 0; i < N; i++) {
    const bit = (message >> i) & 1;
    if (H(signature[i]) !== pub[i][bit]) return false;
  }
  return true;
}

// La signature valide passe ; la même signature sur un autre message échoue,
// car un bit différent exigerait un secret jamais révélé — que l'attaquant ne
// peut pas calculer sans inverser H.
//
// Pourquoi « post-quantique » : forger une signature demanderait de trouver
// une préimage de H, à 2^n classiquement. Grover ramène cela à 2^(n/2) sur
// machine quantique — un affaiblissement, PAS un effondrement. On double la
// taille de sortie et la sécurité est rétablie. Rien à voir avec RSA ou ECDSA,
// que Shor abat en temps polynomial : ici il n'y a aucune structure algébrique
// à exploiter, seulement une fonction à sens unique.
//
// Pourquoi « à usage unique » : signer DEUX messages avec la même clé révèle,
// pour les bits qui diffèrent, les secrets des DEUX côtés — et l'attaquant
// recombine alors des signatures pour des messages non signés. Les schémas
// réels (SPHINCS+) empilent des milliers de clés Lamport dans un arbre de
// Merkle (chapitre 7) pour en faire une signature réutilisable. Le principe
// que vous venez de coder en est la brique élémentaire.

Quiz · 1 question

La signature de Lamport ne repose que sur une fonction de hachage. Pourquoi est-elle post-quantique, et que lui inflige Grover ?

  • Grover la casse en temps polynomial, comme Shor casse RSAcassée en polynomial
  • Aucune structure algébrique à exploiter : forger exige d'inverser H (2^n), que Grover ramène à 2^(n/2) — un affaiblissement compensé en doublant la sortieinversion de H affaiblie
  • Elle est immunisée : aucun algorithme quantique ne l'affecteimmunisée

Réponse : Lamport ne s'appuie sur aucun problème algébrique périodique : Shor n'a aucune prise. Forger revient à inverser H, à 2^n classiquement ; Grover ramène cela à 2^(n/2), un affaiblissement quadratique qu'on compense en doublant la taille d'empreinte. C'est tout l'intérêt des signatures à base de hachage (SPHINCS+) : leur sécurité se ramène à celle, bien comprise, d'une fonction de hachage.

Migrer : l'agilité comme compétence

La leçon finale du cours n'est pas un algorithme, c'est une posture. On a longtemps câblé une primitive au cœur d'un système, pour découvrir ensuite qu'on ne pouvait plus l'en déloger — MD5 et SHA-1 ont survécu des années à leur condamnation, faute de pouvoir migrer.

L'agilité cryptographique est la capacité à changer de primitive sans refondre le système : négocier l'algorithme, le versionner, prévoir sa succession dès la conception. TLS 1.3 (chapitre 13) en posait déjà les bases en imposant des choix par défaut sûrs tout en gardant la négociation propre.

La transition post-quantique se fait aujourd'hui en hybride : on combine un schéma classique éprouvé (X25519) et un schéma post-quantique récent (ML-KEM) dans le même échange, et le secret n'est sûr que si les deux tiennent. On se protège ainsi à la fois de l'ordinateur quantique et d'une cryptanalyse classique surprise du nouveau venu — le sort de SIKE rappelle que ce risque est réel. C'est de l'ingénierie prudente : ne pas remplacer une certitude par un pari.

Aperçu : au-delà du chiffrer-et-signer

Le cours s'est concentré sur la confidentialité, l'intégrité et l'authenticité. La cryptographie moderne va bien plus loin, et trois idées méritent d'être nommées en clôture.

Le partage de secret (Shamir) découpe un secret en nn parts telles que tt d'entre elles le reconstituent, mais t1t-1 n'en révèlent rien — la sécurité inconditionnelle du chapitre 3, appliquée au contrôle d'accès. Le calcul multipartite permet à plusieurs acteurs de calculer une fonction de leurs données sans jamais se les dévoiler — voter, enchérir, comparer sans rien révéler d'autre que le résultat. Les preuves à divulgation nulle permettent de prouver qu'on connaît un secret sans le montrer — fondement des systèmes d'identité et des blockchains de confidentialité.

Ces sujets prolongent naturellement ce cours ; ils en sont l'horizon.

Le mot de la fin

Ce cours a suivi un fil constant : construire une garantie, puis la mettre à l'épreuve. Chaque primitive est venue avec son attaque — le masque rejoué, l'oracle de padding, la rencontre au milieu, l'exposant faible, le nonce de DSA, le pgcd des clés. Ce n'est pas du pessimisme : c'est la méthode. On ne fait confiance qu'à ce qui a résisté à une attaque sérieuse, et la seule façon de comprendre une défense est d'avoir tenu, un moment, le rôle de l'attaquant. Vous l'avez tenu quatorze fois. C'est le meilleur bagage pour la suite — y compris pour un monde où les règles du jeu, avec le quantique, sont en train de changer.

À retenir

Flashcards · 3 cartes

Shor et Grover : quelle menace chacun fait-il peser, et sur quoi ?
Shor factorise et calcule les logarithmes discrets (courbes comprises) en temps POLYNOMIAL : il abat toute l'asymétrique classique, sans qu'aucune taille de clé n'y résiste. Grover accélère quadratiquement la recherche exhaustive (2^n → 2^(n/2)) : il affaiblit le symétrique et les hachés, qu'on rétablit en DOUBLANT les tailles (AES-256).
Pourquoi migrer maintenant, avant même que l'ordinateur quantique n'existe ?
À cause du « récolter maintenant, déchiffrer plus tard » : un adversaire enregistre aujourd'hui le trafic chiffré et le déchiffrera quand la machine existera. Tout secret devant rester confidentiel au-delà de cet horizon est déjà exposé. La forward secrecy n'y change rien, puisque le DH éphémère lui-même tombera devant Shor.
Quelles familles résistent au quantique, et pourquoi migrer en hybride ?
Réseaux euclidiens (ML-KEM, ML-DSA, le socle), codes correcteurs (McEliece), fonctions de hachage (SPHINCS+, le plus sûr), isogénies (SIKE cassé en 2022, classiquement), multivarié (fragile). On migre en HYBRIDE — classique X25519 + post-quantique ML-KEM — pour se couvrir à la fois du quantique et d'une cryptanalyse classique surprise du schéma récent.

QCM de synthèse — Bloc V — Ouvertures

Le QCM ci-dessous porte sur l'ensemble du bloc : plusieurs questions relient les leçons entre elles. En cas d'erreur, le bilan indique le chapitre à revoir.

QCM de bloc · 5 questions

Bloc V — Ouvertures

1. Shor et Grover menacent la cryptographie de façons différentes. Laquelle ?

  • Les deux cassent le symétrique en temps polynomial
  • Shor factorise et casse le log discret en temps polynomial (asymétrique anéantie) ; Grover n'accélère la recherche exhaustive que quadratiquement (symétrique affaibli, compensé en doublant)
  • Grover casse RSA, Shor casse AES

Réponse : Shor exploite la structure algébrique périodique pour factoriser et calculer les logarithmes discrets (courbes comprises) en temps polynomial : aucune taille de clé n'y résiste, toute l'asymétrique classique tombe. Grover ne fait qu'accélérer quadratiquement (2^n → 2^(n/2)) : AES-256 garde 128 bits, on compense en doublant. Grover fait mal au symétrique, Shor tue l'asymétrique.

2. Pourquoi migrer vers le post-quantique AVANT même que l'ordinateur quantique n'existe ?

  • Pour être prêt le jour J, par simple prudence administrative
  • À cause du « récolter maintenant, déchiffrer plus tard » : un adversaire enregistre aujourd'hui le trafic et le déchiffrera quand la machine existera
  • Parce que les schémas classiques sont déjà cassés

Réponse : Un adversaire peut enregistrer aujourd'hui du trafic chiffré et le déchiffrer dans dix ou vingt ans. Tout secret devant rester confidentiel au-delà de cet horizon est DÉJÀ exposé — dossiers médicaux, secrets d'État. La forward secrecy n'y change rien, puisque le DH éphémère lui-même tombera devant Shor. C'est ce qui justifie une migration commencée avant l'existence de la machine.

3. La signature de Lamport ne repose que sur une fonction de hachage. Pourquoi est-elle post-quantique, et que lui inflige Grover ?

  • Grover la casse en temps polynomial, comme Shor casse RSA
  • Aucune structure algébrique à exploiter : forger exige d'inverser H (2^n), que Grover ramène à 2^(n/2) — un affaiblissement compensé en doublant la sortie
  • Elle est immunisée : aucun algorithme quantique ne l'affecte

Réponse : Lamport ne s'appuie sur aucun problème algébrique périodique : Shor n'a aucune prise. Forger revient à inverser H, à 2^n classiquement ; Grover ramène cela à 2^(n/2), affaiblissement quadratique compensé en doublant la taille d'empreinte. C'est l'intérêt des signatures à base de hachage (SPHINCS+) : leur sécurité se ramène à celle, bien comprise, d'une fonction de hachage.

4. « Post-quantique » signifie-t-il « sûr » ? Que rappelle le sort de SIKE ?

  • Oui : un schéma post-quantique est prouvé inviolable
  • Non : « post-quantique » veut seulement dire « pas cassé par Shor ». SIKE, candidat vedette, a été cassé CLASSIQUEMENT en 2022, avant sa normalisation
  • Oui, mais uniquement pour les réseaux euclidiens

Réponse : SIKE (isogénies) offrait les clés les plus courtes et a été cassé par un ordinateur classique en 2022, quelques semaines avant sa normalisation probable. « Post-quantique » ne certifie que la résistance à Shor, pas l'absence de cryptanalyse classique. Ces schémas sont jeunes et leur analyse est en cours — d'où la prudence de la migration hybride.

5. Pourquoi la transition post-quantique se fait-elle en HYBRIDE (par exemple X25519 + ML-KEM) ?

  • Pour doubler la vitesse de l'échange
  • Pour être sûr si l'un des deux tient : on se protège à la fois de l'ordinateur quantique ET d'une cryptanalyse classique surprise du schéma récent (cf. SIKE)
  • Parce que ML-KEM seul est trop lent

Réponse : On combine un schéma classique éprouvé (X25519) et un schéma post-quantique récent (ML-KEM) : le secret n'est sûr que si les deux tiennent. On se couvre ainsi du quantique ET d'une cryptanalyse classique surprise du nouveau venu — le sort de SIKE rappelle que ce risque est réel. C'est de l'ingénierie prudente : ne pas remplacer une certitude par un pari.