STÉGANOGRAPHIE : CAMOUFLAGE DE TEXTE DANS UNE IMAGE
acx01b
Messages postés280Date d'inscriptiondimanche 7 septembre 2003StatutMembreDernière intervention 8 juillet 2014
-
20 mai 2007 à 23:06
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 2013
-
23 mai 2007 à 13:21
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 23 mai 2007 à 13:21
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
cs_DLink
Messages postés19Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention22 mai 2007 22 mai 2007 à 21:28
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 :)
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 22 mai 2007 à 19:50
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...
cs_DLink
Messages postés19Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention22 mai 2007 21 mai 2007 à 19:02
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 :)
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 21 mai 2007 à 12:44
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à.
cs_DLink
Messages postés19Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention22 mai 2007 21 mai 2007 à 11:37
c'est pas tout à fait vrai, j'ai egalement fait un programme de stéganographie, et même avec 4 bits, ça reste assez bien caché.
voir ici -> http://theland.free.fr/index.php?title=Steganographie:Screenshots sur cette page, j'ai fait des screenshots avec des masquage differents, les resultats sont assez interessants...
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 21 mai 2007 à 10:41
Exactement, Si la taille du fichier texte est suffisant, en remplissant tous les bits de l'image, on voit bien qu'il s'agit d'un random.
Le but premier de cette source était de montrer comment était altéré l'image visuellement, en fonction de la taille de stockage des données.
Ici on voit bien qu'il ne faut pas trop dépasser les 3 bits...
acx01b
Messages postés280Date d'inscriptiondimanche 7 septembre 2003StatutMembreDernière intervention 8 juillet 20146 20 mai 2007 à 23:06
salut ça ressemble plus à un random qu'à de l'art (si on considère que les bits du fichier texte ressemblent à un nombre aléatoire) !
23 mai 2007 à 13:21
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
22 mai 2007 à 21:28
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 :)
22 mai 2007 à 19:50
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...
21 mai 2007 à 19:02
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 :)
21 mai 2007 à 12:44
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à.
21 mai 2007 à 11:37
voir ici -> http://theland.free.fr/index.php?title=Steganographie:Screenshots
sur cette page, j'ai fait des screenshots avec des masquage differents, les resultats sont assez interessants...
21 mai 2007 à 10:41
Le but premier de cette source était de montrer comment était altéré l'image visuellement, en fonction de la taille de stockage des données.
Ici on voit bien qu'il ne faut pas trop dépasser les 3 bits...
20 mai 2007 à 23:06