Encodeur stéganographique
Cachez un message dans une grille de nombres — double référent croix ansée + Jacquard
Voir la démo interactive Carter Random — visualisation de la grille (référents dérivés de la clé), en accès libre
Chargement des référents…
Démonstration : message ANIBALAMIOTX
ANIBALAMIOTX est d'abord chiffré avec XChaCha20-Poly1305 (clé maître de 256 bits), puis le texte chiffré est réparti sur les blocs qu'une seule et même clé désigne comme « message » dans une grille 90×90 — le reste est du bruit indiscernable, y compris les blocs « structurés », statistiquement identiques aux blocs « message » sans la clé. La confidentialité vient du chiffrement, la géométrie ne fait que cacher où se trouve le texte chiffré.
Échange de clés — X25519 authentifié (triple DH)
Deux correspondants dérivent la même session sans transmettre de secret. Trois Diffie-Hellman entrent dans la dérivation : éphémère × éphémère pour la forward secrecy, puis éphémère × identité de chaque côté, ce qui lie les identités long terme à la session. Un relais qui substitue ses propres clés éphémères ne possède aucune des deux identités privées : il ne peut pas calculer la clé. Même protocole que la CLI Python — une session dérivée ici et une session dérivée par secu-box exchange aboutissent à la même clé.
Sur votre identité : sa clé privée est conservée dans ce navigateur sous une forme que le code de la page ne peut pas lire — il peut seulement s'en servir pour dériver. Contrepartie : elle ne peut être ni sauvegardée ni déplacée vers un autre navigateur. Effacer les données du site la détruit définitivement, avec le fingerprint que vos correspondants connaissent. Une identité de la CLI Python ne peut pas non plus être importée ici : chaque côté garde la sienne, ce qui n'empêche pas les deux de dialoguer.
Étape 0 — Votre identité
Étape 1 — Votre offer
Étape 2 — Offer de votre correspondant
Les clés de session sont stockées dans votre navigateur (localStorage). Effacer l'historique ou utiliser la navigation privée les supprime. Aucune donnée n'est envoyée au serveur.
Session active
Envoyer avec la session active
Encoder un message (clé libre)
Grille Carter (grammaire dérivée de la clé)
Une seule passphrase dérive, par HKDF-SHA256, la clé de chiffrement et la grammaire de la grille (rôle — pur / structuré / message — et forme de chacun de ses blocs) — aucun placement n'est stocké en dehors de la clé. Les blocs « structurés » et « message » sont statistiquement indiscernables sans elle. Chaque encodage tire un sel aléatoire, affiché après coup : le transmettre avec la passphrase. Il n'est pas secret et ne figure pas dans le CSV, mais sans lui la grille reste close — et c'est lui qui empêche qu'une table précalculée sur des passphrases courantes n'ouvre les grilles de tous les utilisateurs à la fois.
Déchiffrer avec la session active
Décoder avec une clé manuelle
Charger depuis un fichier
Décoder une grille Carter
Vault chiffré — fichiers
Chiffre vos fichiers dans le navigateur (AES-256-GCM par entrée, manifest chiffré, HMAC-SHA256 global — format inspiré de vault_lib.py). Aucun fichier ni passphrase n'est transmis au serveur.
secu-box vault (voir À propos).Ajouter un fichier
Contenu du vault
Exporter
Référent 256 — Table des formes de la croix ansée
256 configurations géométriques distinctes : non des rotations, mais toutes les colorations qui satisfont les critères I à IV de la croix ansée (dénombrement exhaustif, 128 par chiralité EGO/ALTER — voir l'article The Ansate Cross). Survolez une cellule pour voir ses positions. ×2 couleurs = 512 formes utilisables.
Référent 360 — Calques Jacquard
60 images × 6 niveaux = 360 calques (15 familles × 4 natures). Chaque calque sélectionne 8 positions de lecture dans un bloc 12×12. (— formes extraites des fichiers SVG sources.)
Stéganographie géométrique — chiffrer puis dissimuler
Ce système est une application cryptographique des constructions arithmogéométriques développées dans La Livrée d'Hermès (Anibal Edelberto Amiot, 2026). Soumis à l'IACR Cryptology ePrint Archive en septembre 2026. Architecture revue suite à un audit cryptologique externe (2026-09-10).
Clé maître : 256 bits, générée aléatoirement (ou dérivée d'une passphrase, ou d'une session Exchange). Une seule clé, dérivée par HKDF-SHA256 en une clé de chiffrement et une clé de grammaire — ces deux usages ne partagent jamais le même matériel de clé.
Grammaire : la clé de grammaire assigne à chaque bloc de la grille un rôle (pur / structuré / message) et une forme, tirés dans le Référent 256 (croix ansée) ou un référent 6×6 régénéré pour Carter-Random. Les blocs « structurés » et « message » sont statistiquement indiscernables l'un de l'autre sans la clé — ils existent précisément pour cette raison, pas pour porter du contenu.
Authentification : une clé ou des données incorrectes échouent explicitement à l'authentification (Poly1305), jamais rendues en fausse lecture plausible.
Variantes : Carter-256 (référent croix ansée fixe) et Carter-Random (référent 6×6 régénéré par clé) sont portées et vérifiées en JavaScript contre les vecteurs produits par le code Python. Les autres variantes du même système (Deniable, Carter-360, Carter-Mix, Carter-18, Carter-Hybrid) existent côté Python mais ne sont pas encore portées dans le navigateur.
Brevet antécédent : FR2865054 (2004) — composition automatisée d'un motif symbolique à partir d'une relation mathématique.
Contact : anibaledel@gmail.com · anibal-amiot.com · Wikidata Q141191562
Architecture SecuBox
SecuBox assemble cinq composants indépendants, chacun documenté et vérifié séparément dans ses propres onglets :
secu-box exchange aboutissent à la même clé — vérifié par dérivation croisée des deux implémentations. Seule l'identité elle-même n'est pas transportable d'un côté à l'autre : la CLI protège la sienne par Argon2id, absent de Web Crypto, et celle du navigateur est non extractible par construction. Chaque côté garde donc la sienne.2. Message / Déchiffrer — stéganographie géométrique Carter (voir ci-dessus), utilisant la clé maître dérivée par la session Exchange active, une passphrase, ou saisie directement.
3. Vault — chiffrement de fichiers en local, AES-256-GCM par entrée, manifest chiffré, HMAC-SHA256 global (architecture inspirée de
vault_lib.py).4. Chiffrement fichier — SPN géométrique (Ref256+Ref360) en couche de diversification de clé, AES-256-GCM en couche de chiffrement authentifié (voir l'onglet Chiffrement).
5. Référents 256 et 360 — les tables de formes géométriques (croix ansée, Jacquard) qui alimentent les composants ci-dessus.
Note sur les substitutions de chiffrement : le composant Message/Déchiffrer (2) utilise XChaCha20-Poly1305 en JavaScript pur, identique à la référence Python (
stegano/carter.py, stegano/carter_random.py) et vérifié contre ses vecteurs — plus de substitution ici. Le Vault (3) et le Chiffrement fichier (4) restent sur AES-256-GCM natif du navigateur, XChaCha20-Poly1305 n'étant pas exposé par l'API Web Crypto pour ces deux composants ; même classe de garantie (AEAD, 256 bits, standard audité). X25519 est implémenté nativement et identiquement des deux côtés.Écart connu — dérivation de clé du Vault : depuis sa version 1.2,
vault_lib.py utilise Argon2id (memory-hard, résistant GPU/ASIC) au lieu de PBKDF2 pour sa dérivation de clé interne. Les navigateurs n'ont ni Argon2id ni scrypt en natif — contrairement aux cas ci-dessus, il n'existe pas d'équivalent Web Crypto à substituer sans ajouter une dépendance externe. Le Vault de cette page reste donc sur PBKDF2 (300 000 itérations) et, de ce fait, moins résistant au brute-force par GPU/ASIC que son homologue Python. Pour une utilisation sensible en production, préférer la CLI Python (secu-box vault).Avertissement général : SecuBox est un système expérimental basé sur des constructions géométriques originales. La couche cryptographique (AES-256-GCM, X25519, HKDF, PBKDF2) est standard et auditée. La couche géométrique (La Livrée d'Hermès) est en cours d'évaluation formelle — voir l'audit cryptologique externe du 2026-09-10 mentionné dans les onglets Chiffrement et Déchiffrer.
Chiffrement hybride — géométrique + AES-256-GCM
Architecture à deux couches, suite à un audit cryptologique externe : une couche géométrique (SPN Ref256+Ref360, S-box GF(2⁸), 4 tours) dérive une clé de session unique par secteur — diversification de clé, pas le chiffrement lui-même — puis AES-256-GCM chiffre et authentifie chaque secteur individuellement, avec une authentification HMAC-SHA256 globale par-dessus. Une passphrase incorrecte ou un fichier altéré sont détectés, jamais rendus en bruit silencieux. Distinct de l'outil de stéganographie ci-dessus. Entièrement côté client : la passphrase et les fichiers ne quittent jamais le navigateur.
Saisie une seule fois, utilisée directement par les boutons Chiffrer et Déchiffrer ci-dessous.
Chiffrer un fichier
Déchiffrer un fichier
Une passphrase incorrecte ou un fichier altéré déclenchent une erreur explicite (vérification HMAC-SHA256) plutôt que de produire du bruit silencieux.
Statistiques de sécurité
Licence
Ce logiciel est distribué sous GNU AGPL v3 pour usage non-commercial.
Usage commercial (intégration produit, application défense, service payant) : anibaledel@gmail.com — voir aussi la licence commerciale.
Algorithme décrit dans l'IACR ePrint 2026 (CC BY) · Brevet antécédent : FR2865054 · Wikidata Q141191562