Principe : fonctions de coût adaptatives
La stéganographie adaptative part du constat que tous les pixels ne sont pas égaux face à la détection. Un pixel dans une zone lisse est facile à détecter si on le modifie. Un pixel dans une texture complexe ou un bord net absorbera la même modification sans déclencher d'alerte.
On calcule donc pour chaque pixel un coût ρ(i,j) : plus ce coût est élevé, plus la modification de ce pixel est "dangereuse" (détectable). L'algorithme d'embedding distribue ensuite les bits du message en minimisant le coût total de distorsion.
Principe de la fonction de coût : Image d'entrée → calcul de ρ(i,j) pour chaque pixel Zones lisses (ciel, mur uni) : → ρ très élevé → modifier ici = risqué Zones texturées (herbe, tissu, cheveux) : → ρ faible → modifier ici = safe Bords nets (contour d'objet) : → ρ modéré à faible → acceptable Algorithme d'embedding : Minimiser Σ ρ(i,j) × |modification(i,j)| sous contrainte : payload = n bits cachés Résultat : la majorité des bits sont cachés dans les zones à faible coût → détection difficile.
HUGO (2010) — SPAM features
HUGO (Highly Undetectable steGO) calcule son coût à partir des features SPAM (Subtractive Pixel Adjacency Matrix) : des statistiques sur les différences entre pixels voisins dans 8 directions (horizontale, verticale, deux diagonales, et leurs inverses).
Le coût ρ d'un pixel est la variation que sa modification induirait sur ces statistiques SPAM. HUGO cherche à minimiser l'impact sur le modèle statistique de l'image perçu par un détecteur entraîné sur des features SPAM.
HUGO — Calcul du coût via SPAM : Pour chaque pixel (i,j), calculer les différences dans 8 directions : d₁ = pixel(i,j) - pixel(i-1,j) ← vertical haut d₂ = pixel(i,j) - pixel(i+1,j) ← vertical bas d₃ = pixel(i,j) - pixel(i,j-1) ← horizontal gauche d₄ = pixel(i,j) - pixel(i,j+1) ← horizontal droite d₅..d₈ = différences diagonales Coût ρ(i,j) = mesure de l'impact d'une modification de ±1 sur les statistiques jointes (d₁,d₂), (d₃,d₄)... des pixels voisins Paramètre σ contrôle la sensibilité : σ élevé → pénalise surtout les zones lisses σ faible → pénalise même les zones texturées
WOW (2012) — Wavelet Obtained Weights
WOW (Wavelet Obtained Weights) base son coût sur les réponses de filtres en ondelettes à 3 orientations (horizontale, verticale, diagonale). Idée : une zone où toutes les directions montrent de fortes réponsesest texturée → faible coût. Une zone avec de faibles réponses est lisse → coût élevé.
WOW est souvent considéré comme supérieur à HUGO car sa mesure de complexité est plus robuste : il utilise 3 niveaux de décomposition en ondelettes, capturant la complexité à différentes échelles.
WOW — Calcul du coût via ondelettes : 1. Appliquer décomposition en ondelettes Daubechies 8 (3 niveaux) dans 3 orientations : H (horizontal), V (vertical), D (diagonal) 2. Pour chaque subband à chaque niveau : r_H(i,j), r_V(i,j), r_D(i,j) = réponses du filtre 3. Coût en direction k : ξ_k(i,j) = 1 / (|r_k| + ε) ← plus la réponse est forte, moins ça coûte 4. Coût global : ρ(i,j) = (1/ξ_H + 1/ξ_V + 1/ξ_D)^(-1) → zones complexes dans TOUTES les directions → ρ faible → zones lisses même dans une direction → ρ élevé
S-UNIWARD (2014) — Universal Distortion
S-UNIWARD (Spatial UNIWARD — Universal Wavelet Relative Distortion) est actuellement considéré comme l'algorithme de stéganographie spatiale le plus difficile à détecter. Il généralise WOW avec une formulation plus rigoureuse :
Le coût est basé sur la distorsion relativedans le domaine des ondelettes : le rapport entre les coefficients d'ondelettes de l'image originale et l'impact de la modification sur ces coefficients. Cette formulation "universelle" est moins dépendante du détecteur ciblé.
S-UNIWARD — Distorsion universelle en ondelettes : Pour chaque pixel (i,j) à modifier de ε (±1) : Distorsion D(i,j) = Σ_k Σ_l |W_kl(image') - W_kl(image)| / (|W_kl(image)| + σ) Où : W_kl = coefficients de la décomposition en ondelettes de Daubechies 8 k, l = indices de position dans toutes les subbands σ = paramètre de stabilité (évite division par zéro) image' = image avec pixel (i,j) modifié de ε Propriété "universelle" : La distorsion mesure l'impact total sur TOUTES les ondelettes → insensible au choix du détecteur spécifique → robuste contre de multiples types de stéganalyse
STC — Syndrome Trellis Codes
Une fois la fonction de coût calculée, comment distribuire les bits du message sur les pixels pour minimiser le coût total ? C'est le problème que résout les STC (Syndrome Trellis Codes).
STC est un algorithme de codage de canal adapté qui, connaissant le vecteur de coûts ρ et le message à cacher, calcule en temps quasi-linéaire la meilleure façon de modifier les pixels pour embeder le message tout en minimisant le coût total de distorsion. Il est utilisé par HUGO, WOW et S-UNIWARD.
STC (Syndrome Trellis Codes) — schéma d'embedding : Entrées : cover = image originale (vecteur de n valeurs) message = bits à cacher (m bits) ρ = coût de modification de chaque pixel Sortie : stego = image modifiée minimisant Σ ρ(i) × |stego(i) - cover(i)| sous contrainte : H × stego = message (mod 2) où H est la matrice de parité de STC Algorithme : programmation dynamique sur un treillis Complexité : O(n × 2^h) où h = hauteur du treillis (typiquement 7-10) → quasi-linéaire en pratique Efficacité : STC atteint l'efficacité théorique de Shannon → minimisation quasi-optimale du coût de distorsion
Stéganalyse et course aux armements
La stéganographie adaptative et la stéganalyse sont dans une véritable course aux armements depuis 2010. À chaque nouveau schéma adaptatif, de nouveaux détecteurs basés sur l'apprentissage automatique ont été développés.
| Algorithme stego | Meilleur détecteur | Précision (0.4 bpp) |
|---|---|---|
| LSB naïf | Chi-square / RS Analysis | ~99% |
| HUGO (2010) | SRM (2012) | ~70% |
| WOW (2012) | maxSRM | ~65% |
| S-UNIWARD (2014) | SRNet (CNN 2018) | ~62% |
| CMD / HILL (2016+) | SRNet + GFR | ~58% |
→ À 0.4 bits par pixel (taux d'encodage typique), les meilleurs schémas adaptatifs ne sont détectés qu'avec ~60% de précision par les meilleurs CNN — à peine mieux que le hasard (50%). La course aux armements continue en 2026.
Questions fréquentes
En quoi la stéganographie adaptative est-elle différente des autres techniques ?
Les techniques classiques (LSB, DCT) traitent tous les pixels de la même façon. La stéganographie adaptative analyse d'abord le contenu de l'image pour trouver les zones qui peuvent absorber des modifications sans déclencher de détection — zones texturées, bords nets, zones bruitées. C'est l'équivalent de chuchoter là où c'est déjà bruyant plutôt que dans le silence.
Un débutant peut-il utiliser HUGO ou S-UNIWARD ?
Directement, non — il n'existe pas d'interface graphique grand public. En revanche, des implémentations Python/MATLAB existent sur GitHub (cherchez 'hugo steganography matlab' ou 'S-UNIWARD python'). Pour expérimenter, il faut d'abord maîtriser LSB et DCT. La stéganographie adaptative est un domaine de recherche, pas un outil quotidien.
Quel est l'algorithme le plus difficile à détecter actuellement ?
En 2026, les algorithmes les plus résistants sont CMD (Cover Modification Direction) et HILL (2016+), qui améliorent encore S-UNIWARD. Détectés avec ~58% de précision par les meilleurs CNN de stéganalyse à 0.4 bpp — à peine mieux que le hasard. La course aux armements continue : chaque nouvelle technique génère de nouveaux détecteurs.
Les autorités peuvent-elles détecter la stéganographie adaptative ?
Avec les bons outils, oui, mais pas de façon fiable. Les stéganalyseurs basés sur l'apprentissage profond (SRNet, XuNet) atteignent ~60-65% de précision sur S-UNIWARD — ce qui signifie 35-40% de faux négatifs et faux positifs. En pratique judiciaire, cette incertitude rend les résultats peu exploitables sans autres preuves. Le chiffrement reste la couche essentielle.
Doit-on chiffrer le message avant d'utiliser la stéganographie adaptative ?
Absolument. HUGO, WOW et S-UNIWARD assurent que le message est difficile à détecter, pas que son contenu est protégé. Si quelqu'un extrait le message (avec la bonne clé ou par force brute), il le lira en clair. Chiffrez systématiquement avec AES-256 avant l'embedding : même si le message est extrait, il restera illisible sans la clé de chiffrement.
Commencer par les bases
La stéganographie adaptative est complexe. Maîtrisez d'abord LSB et DCT avant d'aborder HUGO/WOW/S-UNIWARD.