NICETEXT : la première approche générative
NICETEXT (Chapman & Davida, 1997) est le premier système de stéganographie générative pour le texte. Il utilise une grammaire stochastique (grammaire hors-contexte probabiliste) pour générer du texte qui encode un messagedans les choix de production de la grammaire.
Principe : à chaque nœud de la grammaire, plusieurs expansions sont possibles. NICETEXT choisit l'expansion selon les bits du message à encoder. Le décodeur, connaissant la même grammaire, lit les bits à partir des choix effectués.
Exemple de grammaire NICETEXT (simplifiée) : S → NP VP NP → Det N | Det Adj N Det → "le" (bit 0) | "un" (bit 1) N → "chien" (bit 00) | "chat" (bit 01) | "renard" (bit 10) | "loup" (bit 11) VP → V NP | V Adv V → "mange" (bit 0) | "observe" (bit 1) Adv → "rapidement" (bit 0) | "lentement" (bit 1) Encodage de 0b10100 : Det : bit 1 → "un" N : bits 01 → "chat" V : bit 0 → "mange" Adv : bit 0 → "rapidement" → "un chat mange rapidement" Décodage → relire l'arbre syntaxique → extraire bits : 10100
Transformations syntaxiques
Plutôt que de générer du texte from scratch, on peut prendre un texte existant et y appliquer des transformations syntaxiques réversiblespour encoder des bits. Ces transformations préservent le sens tout en modifiant la structure.
Voix active / passive
1 bit/phrase"Le chat mange la souris" → "La souris est mangée par le chat" (bit 1)
⚠ Certaines phrases ne se passivisent pas bien
Ordre sujet-objet
1 bit/phrase"Marie voit Paul" → "Paul, Marie le voit" (topicalisation)
⚠ Peu naturel en français
Relatives (pré/post-nominale)
1 bit/phrase"L'homme grand" → "L'homme qui est grand" (bits selon position de la relative)
⚠ Change légèrement le poids stylistique
Coordination (et/ou/mais)
2 bits/phrase"X et Y" / "X ou Y" / "X mais Y" → 3 options = 1.5 bits
⚠ Change le sens si mal choisi
Génération par LLM : METEOR, Discop
Les LLMs modernes (GPT, Claude, LLaMA) génèrent du texte en échantillonnant à partir d'une distribution de probabilité sur les tokens. Cette distribution peut être utilisée comme canal de codage arithmétiquepour encoder des bits directement dans les choix de tokens — sans aucun post-traitement.
METEOR (Yang et al., 2021) et Discop (Zhang et al., 2023) sont les approches les plus avancées : ils génèrent du texte parfaitement naturel (indétectable par GPTZero) tout en encodant plusieurs bits par token.
Principe : codage arithmétique sur la distribution LLM
1. LLM(prompt) → distribution P = [(token1, p1), (token2, p2), ...]
ex: [("chat", 0.4), ("chien", 0.3), ("lapin", 0.2), ("loup", 0.1)]
2. Convertir message en nombre dans [0, 1) via codage arithmétique :
Message bits : "01" → fraction 0.25 dans [0, 1)
3. Trouver le token qui correspond à cet intervalle :
0.0 - 0.4 : "chat" ← bits 00-01 (probabilité 40%)
0.4 - 0.7 : "chien" ← bits 10 (probabilité 30%)
...
0.25 tombe dans [0.0, 0.4) → choisir "chat"
→ ce token encode "01"
4. Répéter pour chaque token du texte généré
Décodage : même LLM + même prompt + inverse du codage arithmétique
→ Texte 100% naturel, codage optimal (proche de l'entropie théorique)Capacité et qualité linguistique
| Méthode | Bits/token | Qualité texte | Détectable GPTZero |
|---|---|---|---|
| NICETEXT (1997) | ~0.5 | Médiocre | N/A (pré-LLM) |
| Synonymes naïfs | 0.3-1 | Variable | ✗ Non (pas IA) |
| METEOR (2021) | ~1.5 | Bonne | ✗ Non |
| Discop (2023) | ~2.0 | Très bonne | ✗ Non |
Détection par analyse stylistique
La stéganographie linguistique moderne est extrêmement difficile à détecter. Le texte généré par METEOR ou Discop est statistiquement indistinguable d'un texte humain ou d'un texte LLM non stéganographié.
La détection passe par l'analyse de la distribution des tokens : un texte stéganographié par codage arithmétique présente une distribution d'entropie légèrement anormale — mais cette différence est très faible et nécessite de connaître le modèle de langage utilisé.
Résistant aux détecteurs IA
METEOR et Discop génèrent du texte qui passe GPTZero, ZeroGPT et la plupart des détecteurs de contenu IA.
Robuste au copier-coller
Le message est dans les mots eux-mêmes. Copier le texte dans n'importe quel éditeur préserve le canal.
Nécessite le même LLM
Encodeur et décodeur doivent utiliser exactement le même modèle et prompt. Un modèle différent donne des distributions différentes.
Détectable par watermarking LLM
Les watermarks LLM (Google SynthID, Kirchenbauer 2023) peuvent interférer avec le canal stéganographique.
Questions fréquentes
Un LLM comme ChatGPT peut-il détecter du texte encodé par METEOR ou Discop ?
C'est justement l'enjeu de ces techniques. METEOR et Discop génèrent du texte via l'échantillonnage stochastique d'un LLM — le texte produit EST du vrai texte généré par le modèle. GPTZero et les détecteurs d'IA ne voient rien d'anormal car le texte vient bien d'une IA, avec un message caché dans les choix de tokens.
Pour un débutant, comment expérimenter avec la stéganographie linguistique ?
Sans implémentation formelle, vous pouvez créer un système simple : définir un code partagé (formulation A = bit 0, formulation B = bit 1) et demander à un LLM de reformuler selon ce code. La capacité et la fiabilité seront faibles. Pour une vraie implémentation, METEOR est disponible sur GitHub avec Hugging Face Transformers.
Est-ce un risque réel pour la désinformation ?
Oui, potentiellement. Des acteurs malveillants pourraient utiliser cette technique pour coordonner des actions via des posts de réseaux sociaux apparemment anodins. Le texte semble normal, passe les filtres de modération, mais contient des instructions pour des réseaux d'agents. C'est un domaine de recherche actif en contre-mesures.
Quelle est la capacité d'encodage ?
METEOR et Discop atteignent 2-3 bits par token environ (un token représente un mot ou une partie de mot). Pour un texte de 100 mots, c'est environ 200-300 bits encodés — suffisant pour cacher un court message ou une clé cryptographique. La capacité est faible mais la discrétion est maximale.
Peut-on décoder le message sans la clé ?
Non. Sans connaître le modèle de langage exact, les paramètres d'échantillonnage, et la clé secrète utilisée pour orienter les choix de tokens, il est cryptographiquement impossible de retrouver le message. La sécurité repose à la fois sur le secret du protocole et sur l'indiscernabilité du texte généré.
Techniques texte connexes
Découvrez les techniques de stéganographie textuelle plus accessibles.