Stéganographie : camouflage de texte dans une image

Soyez le premier à donner votre avis sur cette source.

Vue 15 481 fois - Téléchargée 1 668 fois

Description

La stégagraphie est l?art de remplacer les bits de poids faible de l?image par les bits du fichier texte. Aussi, à l??il nu, on ne voit aucune différence visuelle sauf lorsque l?on commence à remplacer les bits de poids fort.

Mon programme permet de visualiser l?impacte visuel de remplacer les bits de poids forts.

Il faut donc faire un compromis entre la taille de stockage et l?aspect visuel..

Merci à Buno, pour l?ouverture et l?enregistrement des images bmp.

Conclusion :


Vous pouvez trouver la lib CMUgraphics sur mon site internet :
http://pistol.petesampras.free.fr

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
6
Pour l'initialisation du rand si suffit d'utiliser l'instruction srand(int CLE)

la rand génère des nombres pseudo aléatoires, en connaissant la clé on génèrera une suite de nombre qui sera toujours identique.
On pourra donc décoder en connaissant la clé et en utilisant comme tu l'a dis un "tableau de pixel libre"

Je pense que ca pourrait être intéressant

Ciao
Messages postés
19
Date d'inscription
samedi 5 juillet 2003
Statut
Membre
Dernière intervention
22 mai 2007

hum... je ne saisis pas bien l'idée de l'initialisation du rand, tu veux dire que l'on choisit le pixel de façon aléatoire, puis on "enregistre" la position du pixel ?
cela me conviendrai, l'ennuie serai simplement de "maitriser" l'aléatoire. en effet il ne faudrai pas qu'il choisisse plusieurs fois le même pixel, pour cela, cela implique d'enregistrer un tableau de pixel disons "libre" et de laisser l'aléatoire faire son travail.
sinon l'idée est sympa, effectivement toute tentative de décodage est alors extremement difficil, si j'ai le temps j'essaierai de coder ça pendant les vacances :)
Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
6
Salut Dlink

Que dis tu de ceci: Tu choisis aléatoirement le pixel que tu souhaites modifier. Comme cela, il n'y aura plus une zone fortement modifier mais ce sera repartit sur l'ensemble de l'image.
Tu initialises alors le rand avec une clé pour pouvoir décoder le message.
Ca permettra d'augmenter le nombre de bit que l'on peut modifier sans que l'on s'en aperçoive...
Messages postés
19
Date d'inscription
samedi 5 juillet 2003
Statut
Membre
Dernière intervention
22 mai 2007

tiens j'avais pas pensé à faire comme ça, c'est pas bête.
Comme tu pourras le lire dans la doc de mon programme j'utilise une technique un peu differente, mais comme tu l'auras remarqué, l'algorithme de "hiding" est linéaire je veut dire par là que je ne revient jamais en arrière.
Comme tu l'as également remarqué, j'ai caché une image assez petite donc ca n'altère qu'une petite portion de l'image, mais on voit certe une difference, mais on peut encore mettre cela sur la "compression" eventuel du fichier, ou bien sur une qualité disons mauvaise de la resolution.

En revanche, pour la technique de stega, l'utilisateur rentre une liste de "masque", où chaque masque indique quel bits modifier sur l'octet courant.
donc le masque 1:1:1:0 modifie le bit de poid faible des 3 premiers octets et ne fait rien au quatrième (qui est l'octet reservé) et ainsi de suite.
(enfin plus d'info la bas http://theland.free.fr/index.php?title=Steganographie:Manuel).

voila :)
Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
6
Salut DLink

J'ai regardé les screenshots de ton programme et effectivement, sur la photo que tu as prises il n'y a pas de grandes différences avec l'original.

C'est pour cela que j'ai pris une photo où il y a du blanc, on peut mieux visualiser les différences. Aussi il faudrait que tu caches un doc beaucoup plus important en taille car tu ne modifies que quelques lignes de ta photo.
Personnellement, je pense qu'en changent 4 bits on peut voir qu'il y a un message.

Ciao
D'après ce que j'ai vu de tes screenshots, tu modifies les 3 couches d'affilées?
Moi je change la couche rouge puis lorsque j'ai rempli ce tableau je modifie la couche verte puis la bleu. La différence peut venir de là.
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.