L'encodeur : cacher n'est pas protéger
Par Anibal Edelberto Amiot — Publié le 16 septembre 2026
« Le secret d'un message ne doit jamais être le secret de la méthode qui l'écrit. »
Un aveu en tête de page
Il y a, dans l'onglet d'explication de l'encodeur, une phrase qui mérite qu'on s'y arrête : la confidentialité vient du chiffrement, pas de la géométrie.
Elle est là pour désamorcer ce qu'un outil comme celui-ci suggère naturellement. Un message dissimulé dans une grille de nombres, à des positions désignées par des carrés issus d'une croix ansée et par les calques d'un métier Jacquard — l'imagination va vite, et elle va au mauvais endroit. Elle imagine que la complexité du dispositif fait sa force.
Elle ne la fait pas. La géométrie choisit où écrire. Ce qu'on écrit est déjà chiffré avant qu'elle intervienne. Si le chiffrement tombe, aucune subtilité de placement ne sauvera le message ; si le chiffrement tient, le placement n'ajoute rien à sa solidité. Ce sont deux couches qui font deux choses différentes, et les confondre est l'erreur que cette page refuse de laisser commettre.
Kerckhoffs, 1883
Le principe que l'encodeur invoque nommément date de 1883. Auguste Kerckhoffs, linguiste néerlandais installé en France, énonce alors ce qui deviendra la règle d'or de la cryptographie moderne : un système doit rester sûr même si tout de son fonctionnement est connu, à l'exception de la clé.
L'idée est contre-intuitive. Elle contredit le réflexe qui consiste à protéger sa méthode autant que son message. Mais le raisonnement est implacable : une méthode finit toujours par être connue — par indiscrétion, par capture d'un appareil, par analyse. Une sécurité qui reposerait sur son ignorance est une sécurité dont la date d'expiration est inconnue de celui qui s'y fie.
Cela place la stéganographie dans une position délicate, et il faut la nommer. Dissimuler l'existence d'un message, c'est parier sur l'inattention de l'adversaire, pas sur son ignorance de la méthode. Un observateur qui sait qu'une grille de nombres contient un message, et qui connaît l'algorithme jusqu'à la disposition des cases, n'a rien gagné pour autant : ce qu'il trouve aux positions désignées est un chiffré, uniforme, sans prise. La dissimulation ne lui a rien coûté, et elle ne lui a rien donné.
D'où l'ordre des opérations. Chiffrer d'abord, dissimuler ensuite. La première couche résiste à celui qui sait ; la seconde évite d'attirer l'attention de celui qui ne sait pas encore. L'une protège, l'autre rend discret. Les confondre, c'est croire qu'une porte fermée à clé et une porte peinte en trompe-l'œil offrent le même service.
Un audit, et zéro bit
Le passage le plus instructif de la page est celui où elle rapporte le résultat d'un audit.
Une première version du système comportait une clé de plus — un mélange secret des formes du référent — dont l'espace apparent se comptait en milliers de bits. Un nombre qui dépasse l'entendement, bien au-delà du nombre d'atomes de l'univers observable. On aurait pu croire cette clé décisive.
L'audit a constaté qu'elle apportait zéro bit de sécurité. Elle était entièrement redondante avec une autre clé du système : tout ce qu'elle permettait d'exprimer, l'autre l'exprimait déjà. Un adversaire qui cherchait l'une n'avait aucun travail supplémentaire à fournir pour l'autre.
Il faut mesurer ce que cet écart signifie. Entre des milliers de bits apparents et zéro bit réel, il n'y a pas une erreur de calcul — il y a la différence entre compter les configurations possibles et compter celles qui sont distinguables. C'est le piège le plus courant de la cryptographie amateur : bâtir un système dont l'espace des clés est immense et dont l'espace des effets est étroit. La même leçon vaut pour la géométrie elle-même : 256 carrés, 360 calques, huit sens de lecture, cela fait beaucoup de dispositions, et pas un bit de clé. La sécurité tient dans les 256 bits de la clé de chiffrement, et nulle part ailleurs.
Que cette découverte figure dans la page plutôt que d'avoir été discrètement corrigée dit quelque chose de la méthode. La clé redondante a été retirée. Le système a perdu un nombre impressionnant et n'a rien perdu de sa sécurité, puisqu'il n'en tirait rien.
Deux référents
Reste ce que la géométrie fait réellement, et qui est autre chose que de la protection : elle fournit un vocabulaire de positions.
Le Référent 256 vient de la croix ansée d'ordre 6 : les deux cent cinquante-six carrés magiques que la construction du livre engendre, cent vingt-huit de chaque chiralité. Chaque carré colorie ses trente-six cases en quatre couleurs — six, six, douze et douze — et ce sont les deux petites couleurs, douze cases, qui portent l'écriture. Le reste du carré est le fond.
Le Référent 360 vient du métier Jacquard à trois cent soixante calques : six niveaux de vingt-quatre cases, et soixante calques disponibles à chaque niveau. Une forme est un choix d'un calque par niveau ; la couleur d'écriture désigne huit cases par niveau, quarante-huit par bloc de douze sur douze.
Ces deux systèmes n'ont pas été inventés pour chiffrer. Ils existaient comme grammaires de motifs — l'un issu d'une figure, l'autre d'une technique de tissage. Leur emploi ici ne les détourne pas : un métier Jacquard est une machine à lire des positions, carte après carte, et c'est à ce titre qu'on le range parmi les ancêtres de l'informatique. Lui faire désigner les cases d'un message n'est pas une métaphore, c'est son usage propre appliqué à un autre contenu.
Et l'on peut en changer. Le référent est un paramètre de l'encodeur, pas une pièce de son mécanisme : on peut remplacer les carrés de la croix ansée par des formes tirées au hasard — c'est ce que fait la variante Carter-Random de l'outil — ou mélanger les deux sur une même grille, sans que rien ne change à ce qui protège le message. C'est le résultat que la page revendique, et c'est le seul.
Le bruit et le grain
Concrètement, le message chiffré s'écrit dans une grille de quatre-vingt-dix sur quatre-vingt-dix remplie de symboles aléatoires. Une clé de géométrie commande la lecture : le rôle de chaque bloc, la forme du référent qu'il prend, le sens dans lequel on parcourt ses cases. Les cases désignées portent le texte chiffré ; toutes les autres portent du bruit.
L'expression employée par la page est juste — le reste est du bruit indiscernable. Indiscernable, et non pas absent : c'est ce qui fait tenir l'ensemble. Une grille où les cases utiles se distingueraient des autres par une quelconque propriété statistique trahirait son contenu sans qu'on ait besoin d'aucune clé. C'est pourquoi le chiffré est encore masqué avant d'être posé, et converti dans le même alphabet que le bruit, symbole pour symbole : à la fin, une case écrite et une case vide se ressemblent exactement.
Il y a là une exigence qui rejoint, sans le chercher, celle du tissage. Une trame réussie est une trame où l'on ne voit pas le point de départ, pas la reprise, pas l'endroit où le motif a changé. La régularité d'une surface est ce qui permet à une irrégularité d'y disparaître.
Ce que l'outil propose
La page n'est pas une démonstration figée. Elle ouvre un message, un déchiffrement, un échange de clés X25519, un coffre chiffré, le chiffrement de fichiers, la grille Carter en quatre-vingt-dix sur quatre-vingt-dix, et la table complète des deux référents, qu'on peut parcourir forme par forme.
Le chiffrement sous-jacent n'a rien de particulier, et c'est voulu : XChaCha20-Poly1305 pour le message lui-même — la même implémentation, en JavaScript pur, des deux côtés du site, vérifiée octet pour octet contre le code Python de référence — AES-256-GCM pour le coffre et le chiffrement de fichiers, X25519 pour l'échange de clés. Des primitives standard, publiques, étudiées depuis des années par des gens dont c'est le métier. La partie originale du système est celle qui place, pas celle qui protège — et il vaut mieux qu'il en soit ainsi. Inventer son propre chiffrement est la faute que tout manuel de cryptographie apprend à ne pas commettre.
Ce qu'il faut en attendre
Essayez l'onglet de démonstration. Regardez la grille se remplir, et cherchez où sont les cases qui portent le message. Vous ne les trouverez pas — mais l'intérêt n'est pas là.
L'intérêt est de voir une grammaire de motifs, née pour orner du tissu, se révéler capable de désigner des positions dans une grille avec assez de précision pour qu'un texte s'y loge et s'en extraie. Ce qui passe d'un domaine à l'autre n'est pas un secret. C'est une manière de compter et d'ordonner, qui se moque de ce qu'on lui demande de compter.
Et si l'on veut retenir une seule chose de cette page, que ce soit sa phrase la plus sobre : cacher n'est pas protéger. Les deux gestes ont leur usage. Ils ne se remplacent pas.
Essayez l'outil → Ouvrir l'encodeur.