Apparemment, modifier les bits de poids faibles est totalement invisible. C'est vrai pour l'oeil, mais pas pour les statistiques! En effet, on pourrait penser que les valeurs du bit du poids faible sont uniformément réparties dans une image. Ce n'est pourtant pas le cas, car les capteurs des appareils numériques ou des scanners ont tendance à saturer certaines couleurs. Ainsi, un pixel de couleur blanc définie dans le système RVB sera toujours représentée par le triplet {255, 255, 255} et jamais {254, 253, 254}, par exemple.
Pour s'en convaincre, on peut transformer l'image en remplaçant les nombres de chaque triplet par 255 s'ils sont impairs ou par 0 s'ils sont pairs. Par exemple, le pixel de couleur {134, 12, 251} prendra la couleur {0, 0, 255}, c'est-à-dire bleu. Voici un exemple de ce que l'on obtient:
![]() |
![]() |
|
Image initiale | Couleurs obtenues en ne gardant que les bits de poids faible |
Les huit couleurs de l'image de droite sont: blanc, noir, rouge, bleu, jaune, vert, magenta et cyan. Ce sont les huit couleurs obtenues en mélangeant de manière saturée les trois couleurs rouge, vert et bleu (voir le système RVB).
Dans l'image de gauche ci-dessous, on a ajouté un message aléatoire en modifiant le bit de poids faible (en donc en modifiant la parité de certains nombres). On voit que cette opération rend la répartition des couleurs plus uniforme.
![]() |
![]() |
|
Image modifiée | Couleurs obtenues en ne gardant que les bits de poids faible |
Cette particularité permet de déceler quelles images ont été modifiées. On pourra plus tard essayer de les décrypter, ou, au pire, empêcher qu'elles arrivent à leur destinataire.
![]() |
![]() ![]() |