Fred_76

Tutoriel pour dissimuler un texte dans une photo

Recommended Posts

Bonjour les astrogamers !!!

 

J'avais mis en oeuvre une méthode de stéganographie pour dissimuler un texte dans une photo. Voici comment j'ai procédé.

 

Il vous faut deux logiciels, Iris et un éditeur d'images (Photofiltre par exemple). Choisissez votre image de base, par exemple celle ci :

image.png.73d70637abafdebbea6411cf720b0556.png

L'original se trouve là : https://www.nasa.gov/feature/goddard/hubble-spies-big-bang-frontiers

 

Dans votre logiciel de traitement d'images, recadrez ou redimensionnez votre image pour qu'elle fasse 1024x1024 pixels.

 

Lancez Iris et réglez le répertoire de travail sur celui où vous avez placé votre photo (pour moi C:\local\perso\temp)

image.png.d8c4a22e2ff83aba76bb5b5aa89d0547.png

 

Puis ouvrez votre photo Fichier > Charger ... sélectionner la photo et OK

 

Il faut la convertir en 16 bits en cliquant sur le menu Photo Numérique > 48 bits vers 16 bits :

image.png.8c1d61da87d9f27ee53c78b90da2eb67.png

 

Ensuite, ouvrez la console de commandes et lancez la commande >FFTD A B (puis touche Entrée) :

image.png.46ec0ad6d2fb7a66a6f04f2996cb620f.png

 

Selon la taille de l'image et la puissance de votre ordinateur, Iris va mettre plus ou moins de temps à calculer. Vous allez vous retrouver avec une image globalement noir avec une tache blanche au centre :

 

image.png.3e785e897dcaacdce2be14bdbba2cf31.png

 

Dans la console d'Iris, entrez >SAVEBMP A puis Entrée.

image.png.63d255773b5825f0febde8a7eca4c131.png

 

Dans votre éditeur d'image, ouvrez l'image A.BMP qui vient d'être sauvée. Ne touchez pas aux niveaux, au contraste ou quoique ce soit. Sélectionnez une couleur blanche et une police de caractères assez grande (Taille 18 en Arial Gras convient pour une image de 1024x1024). Placez votre texte dans un angle de l'image, par exemple (dans Photofiltre) :

image.png.fa041e50af3c66a246c75b81c3c23c5f.png

Puis sauvez l'image (vous pouvez écraser l'ancienne).

Ouvrez là depuis Iris et convertissez là en 16 bits comme pour la photo d'origine. Et depuis la commande d'Iris, sauvez l'image en saisissant >SAVE A :

image.png.02566c4cbcf6fbecf5808b713d0c8d50.png

Depuis la commande d'Iris, saisissez la transformée de Fourier inverse : >FFTI A B

image.png.730f8a60b9bc290675191cc8ed6d43c1.png

Vous vous retrouvez avec une image complètement mélangée, constituée de bandes grises assez fouillies :

image.png.e55d1e0ebeda8416ef14ca3923f489eb.png

Depuis la console Iris, sauvez cette image avec >SAVEBMP C

image.png.af793b479a8cef82e56cbe48716966c1.png

Ouvrez cette image fouillie dans votre éditeur d'image et placez là dans un calque. Avec Photofiltre, je place l'image d'origine par dessus l'image fouillie et je règle la transparence de l'image d'origine à 96% en mode Normal.

 

image.png.b7abe370408837507cca4d9dc64eacda.png

 

En zoomant on voit qu'une trame a été ajoutée c'est elle qui contient le message :

image.png.df863a1cb7751757191213dd1a779232.png

 

On peut alors sauver l'image finale après l'avoir éventuellement recadrée ou légèrement (pas trop) redimensionnée :

 

image.png.00036c970a5cc82b23bbe55596f108b4.png

 

Voilà, l'image est codée.

 

  • J'aime 2

Share this post


Link to post
Share on other sites

Maintenant que faire pour la décoder ?

 

Et bien il suffit de relancer Iris, de charger l'image et de la convertir en 16 bits. Puis dans la console d'Iris on entre la commande >FFTD A B.

image.thumb.png.2fb940747f020d310b1fd6f56e725bc0.png

 

On se retrouve avec une image toute noire avec une tache blanche au centre. Il faut rectifier les seuils de visualisation en cliquant sur le bouton "réglages" sous le menu "Visualisation". On accède alors à la fenètre de réglage des seuils. En tirant le premier curseur vers la gauche, on voit apparaître le message codé, c'est magique !

 

image.png.8f6233136b43f7a0ce5dd94b5417bd50.png

 

Mais attendez, il y a encore plus de magie. Depuis votre logiciel de retouche d'image, faites une rotation de votre image codée, par exemple de 30°, puis recadrez là pour n'en conserver qu'une partie de 600x600 pixels par exemple :

image.png.55deb10e3c08775d7db490024e66e736.png

 

Refaites le travail de décodage avec Iris et hop, vous retrouverez le message codé, un peu dispersé il est vrai, mais toujours présent et lisible alors que vous avez recadré et fait pivoter l'image !

image.thumb.png.4267bd8ad9a3fca977fe66b6d582c5af.png

 

On obtient souvent un résultat plus lisible en allant dans Iris dans le menu Visualisation > Egalisation modifiée puis en réglant les curseurs des seuils de visualisation.

image.png.7732039eefd4c5da3dd9b45a14baa7e3.png

Ce qui donne :

image.thumb.png.9eddc86742e7c0c5483be462affafdf3.png

 

  • J'aime 2

Share this post


Link to post
Share on other sites

La méthode utilisée n'est pas super discrète. En zoomant on voit bien la dégradation de l'image par la trame. Mais elle est quand même assez discrète surtout si la photo est grande. Il faut faire des essais car la méthode d'incrustation de l'empreinte dépend beaucoup du fond de l'image. Sur un fond essentiellement noir, la méthode 96% de transparence en mode normal est pas trop mal. Si le fond est plus coloré, on peut essayer le mode Incrustation ou Minimum ou Produit. Les autres (couleur/différence/luminance/superposition/saturation) sont trop visibles ou ne fonctionnent pas. On peut essayer 97% et 98% d'opacité aussi.

 

Pour finir, cette façon de cacher un message dans une photo est très robuste. Elle est utilisée par pas mal de logiciels de watermarks qui l'exploitent de façon bien plus discrète en ne jouant que sur d'infimes variations de luminance. On peut alors modifier l'image (en ajoutant/supprimant des détails, par exemple en effaçant/substituant la signature), la recadrer, la redimensionner, la pivoter... et le watermark persiste.

 

Il existe un équivalent en audio et bien sûr en vidéo. Nos Cartes d’Identités sont aussi codées avec un principe similaire, les ondes (guillochis) qui les ornent contiennent en elles une clef dépendante du n° de la carte, un peu comme une empreinte digitale, ce qui la rend très compliquée à falsifier.

Share this post


Link to post
Share on other sites

Merci pour ce tuto très pédagogique pour les allergiques à Iris :)

Il y a une chose que je ne pige pas : pourquoi l'image initiale disparait-elle complètement lorsqu'on fait la transformée de Fourier inverse?

Share this post


Link to post
Share on other sites

Merci, je pense ne jamais avoir besoin de ce truc mais c’est sympa de nous le faire partager :)

 

Plus ça va, plus vaut mieux ne pas être parano pour vivre heureux :o 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.