Déscription de l'EzStego


Les images .gif (par compuserve) sont le lieu d'une méthode de stéganographie bien particulière. En effet, dans les .gif on commence par définir une palette de 256 couleurs prisent sur 2^24 possibilités (2^8 pour le rouge,2^8 pour le vert,2^8 pour le bleu).

Dans une premier temps, on crée une copie de la palette. Mais cette copie est triée. Le trie de la palette s'effectue de façon à ce que la différence entre 2 couleurs l'une à coté de l'autre soit quasi imperceptible. Ce trie est plus délicat qu'il ne peut y sembler au premier abord. En effet, un simple tri sur la luminance ne donne pas de bons résultats.

A partir de cela voici coment l'on procède pour introduire l'image.
On balaye toute l'image et pour chaque pixel on procède la manière suivante:
-on cherche l'index du pixel dans la palette triée.
-on regarde quel bit l'on doit coder sur le pixel en cours (pour cela on se refere à l'image en 2 couleurs qui va servir de masque). Et l'on met ce bit sur le bit de moindre importance de l'octet en cours (celui de l'index de la palette triée).
Ainsi, on se decale ou non d'1 index dans la palette triée. Si la palette est bien triée alors la différence entre les deux couleurs va être imperceptible.
-Ce nouvel index dans la palette triée correspond à un index dans la palette non triée. On remplace alors le pixel en cours par l'index de la palette non triée.

et ainsi de suite pour tous les pixels....

Pour retrouver l'image marquée, on procède de la façon suivante:
-on cherche l'index du pixel en cours dans la palette triée.
-le bit de poids le plus faible de cet indexe vient du masque appliqué sur l'image.

Cette méthode est une sorte de généralisation du marquage sur le bit de poids faible aux images indexées (c.a.d : qui ont une palette ou chaque pixels se réfèrent, contrairement aux images true color ou chaque pixel à ses propres composantes RGB).