Stéganographie avec GIMP

La stéganographie est l’art de cacher une information dans une image. Cette technique peut vous permettre de transmettre un bref message en toute sûreté à un correspondant à condition qu’il soit dûment informé. Elle peut aussi vous permettre de protéger vos images contre la copie illégale. Vous pourriez prouver devant un tribunal que telle photo vous appartient en faisant apparaître votre nom ou un logo dissimulé dans celle-ci.

 

Steganography is the art of hiding information in an image. This technique can allow you to send a short message safely to a correspondent as long as he or she is duly informed. It can also allow you to protect your images from illegal copying. You could prove in court that this photo belongs to you by showing your name hidden in it.

A-Préliminaires

Lancer Gimp. M Fichier > allez chercher une image sans région totalement blanche

Pour vérifier faites M Couleurs > niveaux. Vous obtenez ceci.

niveaux

On voit sur la courbe en haut qu’aucun pixel ne dépasse le niveau 210 environ ; c’est parfait !.

Toutefois, si votre image a des parties blanches, vous pourrez l’utiliser à condition de ne pas écrire dans ces zones.

Une autre solution consiste à exporter votre image au format pnp. Vous ouvrez ensuite cette image. Vous faites M couleur > niveau > dans limiter la sortie,   vous descendez à 240 > valider. Refaites un tour pour contrôler: vous constatez sur la courbe qu'aucun pixel ne dépasse le niveau 240.

Votre fenêtre Gimp devrait ressembler à ceci :

fenetreGimp

Ce n’est pas l’endroit ici pour expliquer les bases de Gimp. Vous devriez être capable de mettre en place les différentes fenêtres ancrables nécessaires.

Commencez par redimensionner votre image. Voir la vidéo plus loin). Un format avec 1000 pixels de largeur sera bien suffisant et donnera une image à transmettre peu emcombrante.

Exportez l'image: M Fichier > exporter sous > donnez un nom, disons IMG220-1000.png.

Fermez l'image (on repart de zéro): M fichier > fermer la vue.

B- Incorporer le message dans l’image

Ouvrez votre image IMG220-1000.png.

Prendre l'outil texte. Régler la couleur des lettres dans les paramètres de texte à presque noir ( dans la case HTML mettre 101010  (ou un peu moins jusqu'à 050505 suivant la zone d'image où vous ecrirez ---préférez les zones sombres--- ) et la police en gras (ex « sans bold »taille 18 px donnera un texte parfaitement lisible mais vous pouvez monter à 100). Clicgl dans l'image pour définir l’espace du texte.

. Taper le texte .

Déplacer si nécessaire avec les grosses poignées aux 4 coins du texte..

NB :Attention, si vous déplacez le texte avec l'outil de déplacement, (la croix fléchée) de bien déplacer le texte et pas l’image (activer le calque texte et vérifier dans les options d'outils que "déplacer le calque actif" est coché) ! Si d’aventure cela vous arrive, faites une annulation, n’essayez pas de remettre l’image en place, elle risquerait de se trouver décalée d’un ou deux pixels et cela compromettrait la suite.

 

Activer le calque texte (mais en principe c’est déjà fait). Et passez le en mode addition (voir ci-dessous).

Vous pourrez trouver ici des explications très claires - même si c’est parfois compliqué - sur les modes de fusion des calques :

https://docs.gimp.org/2.10/fr/gimp-concepts-layer-modes.html

 

 

addition

Votre texte disparaît. C’est normal ! En fait, il est comme incorporé à l’image. Chaque pixel concerné voit son niveau augmenté de 10 points pour chaque couleur RVB (10 en hexadécimal soit 16 en décimal) ce qui est imperceptible. Mais l’incorporation n’est pas définitive.

Fusionner le calque texte avec l'arrière plan (la photo) : M calque > fusionner vers le bas.

Ne pas se soucier s'il reste un cadre de texte. Votre image n’a plus qu’un calque, elle est prête !

 

Exporter l’image (M fichier > exporter sous). Il ne faut pas enregistrer en jpg car la compression modifierait l'image et le résultat serait incertain. Prendre le format png. La compression ne modifie pas l'image, contrairement à jpg. Disons qu'elle s'appelle IMG220-1000texte.png

Attention, j’ai bien dit exporter et pas enregistrer. Voyez au besoin la différence dans la doc. Au moment de fermer/quitter, on vous demandera si vous voulez enregistrer. Vous pouvez répondre non.

C-Vérifier que tout est correct

M fichier > fermer la vue (on repart de 0) > M fichier > ouvrir > ouvrez votre fichier original (IMG220-1000.png). Faites un second tour > M fichier > ouvrir en tant que calque > ouvrez le fichier IMG220-1000texte.png.

Passer le calque du dessus (avec "texte" dans le nom) en mode différence.

Vous pourriez aussi utiliser le mode soustraire mais alors c’est le fichier d'origine qui devrait être impérativement au-dessus. Avec le mode différence, l’ordre n’a pas d’importance (on fait la soustraction et on prend la valeur absolue du résultat).

difference

amusant: dans la vignette on croirait voir un espion! Mais je n'ai pas fait exprès.


L'image devient toute noire.

Fusionner les deux calques (calque du haut actif. M calque > fusionner vers le bas).

Ce noir comporte en fait des minis nuances invisibles qui sont au niveau 10 hexadécimal alors que le reste est au niveau 0. Il faut les faire ressortir :

lecture

M couleur > niveaux. Prendre le curseur ▲au milieu et le déplacer tout à gauche.

Le message apparaît en gris clair sur fond noir ! Si vous voulez vraiment le voir en blanc, déplacez aussi le de droite, tout à gauche. Mais vous pouvez tout simplement commencer par là !

Récapitulation en vidéo :

Pardon pour la faute d'orthographe. Je ne vais pas refaire la vidéo.

D-Comment transmettre le message secret :

Envoyer un premier mail à votre comparse avec des images dont l’originale en fichiers joints et

un message anodin, clair pour le destinataire mais qui ne doit pas attirer l'attention des indiscrets.

Envoyer un autre mail avec l'image trafiquée et un message quelconque aussi anodin que le premier, de toutes façons votre correspondant a été préalablement mis au courant.

Vous pouvez aussi utiliser le cloud avec par exemple Dropbox ou Wetransfer.

E-Que doit faire le réceptionnaire ?

Exactement ce que vous avez fait pour vérifier.

Il lance Gimp puis il ouvre le premier fichier.

Il ouvre le second en tant que calque (M fichier > ouvrir comme calque).

NB : ajouter "texte" dans le nom original n'est pas une très bonne idée pour passer inaperçu.

Il passe le calque du dessus (image trafiquée) en mode différence (attention : pas soustraire, voir remarque plus haut).

 

L'image devient toute noire.

Il fusionne les deux calques (calque du haut actif. M calque > fusionner vers le bas).

Il fait ensuite : M couleur > niveaux. Il prend le curseur et le déplace tout à gauche.

 

 

Remarque : Il n’est pas nécessaire que votre image ait une résolution fantastique. Voici le résultat sur une image en 1000 x 600. Le texte est en gras 40 pixels (20 auraient largement suffit).

definition stegano

Ahrg ! Il y a encore une faute dans la dernière ligne ! Tant pis...

 **** © M Guignard ****

 

Comments powered by CComment