Le masque jetable : incassable sur papier
Tout sur ce site tourne sur un ordinateur qui calcule avec des nombres auxquels tu n'as pas accès. Pas ce chapitre. Ici tu fabriques un chiffrement que tu exécutes au crayon, sur une feuille que tu mets dans ta poche, et dont on a prouvé que personne ne peut le casser. Ni superordinateur, ni ordinateur quantique, personne. Et ensuite tu vois pourquoi presque personne ne s'en sert.
Des mots dont tu vas avoir besoin
- Masque jetable
- Une liste de lettres au hasard, imprimée deux fois : une pour toi, une pour l'autre. Tu utilises chaque lettre de cette liste exactement une fois. En anglais : one-time pad.
- Modulo 26
- Calculer avec l'alphabet comme une horloge de 26 heures. Après Z revient A. Tu connais ça de chapitre 6, où c'était une horloge de 23.
- Sûr par preuve
- Pas « jamais cassé », mais démontré mathématiquement qu'il n'y a rien à casser. C'est une affirmation forte, et c'est à peu près le seul chiffrement pour lequel elle tient.
- Distribution des clés
- Le problème de faire parvenir une clé à l'autre sans que personne ne la lise en route. En bas de ce chapitre, il apparaît que tout le problème est là.
Comment ça marche
Donne son numéro à chaque lettre : A vaut 0, B vaut 1, jusqu'à Z qui vaut 25. Prends la première lettre de ton message, prends la première lettre de ton masque, additionne les deux numéros. Si tu dépasses 25, enlève 26. Le numéro qui reste est ta lettre chiffrée. Puis la deuxième lettre, avec la deuxième lettre du masque. Et ainsi de suite.
lettre chiffrée = (message + masque) mod 26
message = (lettre chiffrée − masque) mod 26
Rien de plus. Additionner pour fermer, soustraire pour ouvrir. Ça se fait au crayon, et pendant la guerre froide on a procédé exactement comme ça pendant des années, avec des carnets grands comme un timbre.
Pourquoi c'est incassable
Imagine que tu intercepte le texte chiffré XQFMB. Tu essaies
tous les masques. Avec l'un il sort NUAGE. Avec un autre
TRAIN. Avec un troisième SALLE. Les trois sont des
mots français parfaitement valables, et il n'y a aucune raison de croire que
l'un serait plus juste que l'autre.
C'est la différence avec tout ce que tu as vu jusqu'ici. Avec un César, la bonne réponse donne un texte lisible et les 24 autres du charabia : tu sais tout de suite laquelle c'est. Ici, tout message possible de cette longueur donne un masque valable. Le texte chiffré ne te dit littéralement rien du message, sauf sa longueur.
Trois règles, et aucune des trois n'est négociable. Le masque doit être aussi long que le message. Il doit être vraiment au hasard, donc lancé et pas inventé, voir chapitre 2. Et tu ne peux l'utiliser qu'une fois. Lâche l'une des trois et toute la preuve s'effondre ; plus bas sur cette page, tu vois à quel point.
Fabrique ton propre masque
Un masque de lettres au hasard
Tout se passe dans ton navigateur. Rien n'est envoyé au serveur, et rien n'est conservé.
- Choisis combien de lettres tu veux et clique sur Fabrique le masque.
- Clique sur Imprime. Imprime deux fois : une feuille pour toi, une pour la personne à qui tu vas écrire. Donne-la-lui quand vous vous voyez.
- Ferme cet onglet et reviens. Le masque a disparu. C'est voulu : ce que tu n'as pas imprimé n'existe plus.
Masque jetable
Utilise chaque lettre une fois et barre-la
Les lettres, numérotées par 25
Chiffre à la main
Tout se passe dans ton navigateur. Rien n'est envoyé au serveur.
- Tape ton message. Fabrique d'abord un masque ci-dessus si ce n'est pas fait.
- Calcule les cinq premières lettres toi-même, sur papier. Mets ta réponse dans Mon résultat et clique sur Vérifie-moi.
- Clique ensuite sur Montre l'addition pour voir comment la démo s'y est prise, lettre par lettre.
Ce qui arrive si tu utilises le masque deux fois
Il te reste du masque et tu veux encore envoyer quelque chose. Tentant, et fatal. Appelle les deux messages m1 et m2, et le masque k. Un texte chiffré vaut alors m1 + k et l'autre m2 + k. Soustrais-les :
(m1 + k) − (m2 + k) = m1 − m2
Le k disparaît. L'oreille indiscrète garde la différence de tes deux messages, et il n'y a plus là-dedans le moindre secret. À partir de là, une seule supposition suffit : devine un bout d'un message et l'autre sort tout seul.
Deux messages, un masque
Tout se passe dans ton navigateur. Rien n'est envoyé au serveur.
- Clique sur Envoie-les tous les deux. Tu vois les deux textes chiffrés et leur différence.
- Fais maintenant comme si tu étais l'espion. Tu soupçonnes que le premier
message commence par
ATTAQUE. Tape ça dans Ma supposition et clique sur Alors il y a quoi dans l'autre ? - Essaie une supposition qui n'y est pas, et regarde ce qui sort alors.
Pourquoi presque personne ne s'en sert
Tu viens de fabriquer le meilleur chiffrement du monde, et ça t'a coûté une feuille. Alors pourquoi n'est-ce pas dans ton téléphone ?
Parce que tu devais d'abord remettre le masque. Vous deviez vous voir. Et si tu peux déjà te voir sans que personne n'écoute, tu aurais aussi bien pu chuchoter le message sur place. Pour envoyer cent lettres ce soir, il faut en remettre cent aujourd'hui. Pour une heure de discussion sur une messagerie, il t'en faut des millions.
C'est la raison d'être de tout le reste de ce site. chapitre 6 résout exactement ça : se mettre d'accord sur un secret sans s'être jamais vus. Tu le paies d'un chiffrement qui n'est plus incassable par preuve, seulement incassable tant que personne ne trouve une astuce. C'est le marché, et presque tout le monde l'a conclu.
Un groupe, non. Pour les liaisons où ça compte vraiment, il existe encore des masques jetables sur papier, lancés au dé et remis de la main à la main. Pas parce que c'est pratique, mais parce que c'est la seule chose dont tu n'as pas à espérer qu'elle tienne.
Ça, c'est des maths : le secret parfait
Claude Shannon, celui de l'entropie dans chapitre 2, a écrit en 1949 ce que veut dire exactement « incassable » : un chiffrement est parfaitement secret si la probabilité d'un message donné, après avoir vu le texte chiffré, est exactement la même qu'avant. Tu n'as rien appris. Il a prouvé que le masque jetable y arrive, et juste derrière quelque chose de bien moins agréable : que ce n'est possible que si ta clé contient au moins autant d'entropie que ton message. Ce n'est pas un défaut de ce système-là mais une borne inférieure pour tous. Chaque fois que tu utilises une clé de 256 bits sur un film de deux gigaoctets, tu n'achètes donc pas un secret parfait mais quelque chose de plus faible : un système cassable, seulement pas dans le temps dont quelqu'un dispose. Cette distinction entre « impossible » et « trop long » traverse toute la cryptographie moderne, et c'est ici que tu la vois nettement pour la première fois.