begin process at 2012 05 27 19:26:06
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité & Cryptage

 > STÉGANOGRAPHIE : CAMOUFLAGE DE TEXTE DANS UNE IMAGE

STÉGANOGRAPHIE : CAMOUFLAGE DE TEXTE DANS UNE IMAGE




 Description

Cliquez pour voir la capture en taille normale
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

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture VISUALISATION DES IMAGES EN 3D SANS OPENGL
Source avec Zip Source avec une capture ANALYSE DE LA TEXTURE D'UNE IMAGE : FILTRE DE GABOR
Source avec Zip Source avec une capture VIEWER COMPLET POUR LE TRAITEMENT DE L'IMAGE : IMANALYSE
Source avec Zip Source avec une capture ALGORITHMES D'OPTIMISATION NON LINÉAIRE: DESCENTE DE GRADIEN...
Source avec Zip Source avec une capture CLASSE GRAPH: GESTION DES GRAPHIQUES DANS LES APPLICATIONS W...

 Sources de la même categorie

PROJET DE CRYPTOGRAPHIE: RSA À JEU REDUIT D'INSTRUCTION par samatarahmed
Source avec Zip Source avec une capture CRYPTOSYSTÈME ELGAMAL LIBRAIRIE GMP par louelh95
Source avec Zip Source .NET (Dotnet) NOUVEL ALGORITHME D'ENCRYPTION-DÉSENCRYPTION DYNAMIQUE (INFA... par vletktol
Source avec Zip A2DCRYPT - CRYPTAGE 2048 BITS par darkor
Source avec Zip Source avec une capture CRYPTEUR-DÉCRYPTEUR-IP par antho974

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture DÉTECTION DES DROITES DANS UNE IMAGE : HOUGH par Pistol_Pete
Source avec Zip Source avec une capture TRANSFORMÉE DE HOUGH: DÉTECTION DE DROITES par Pistol_Pete
Source avec Zip Source avec une capture DIAGRAMME DE VORONOI par Pistol_Pete
Source avec Zip Source avec une capture TRAITEMENT DE L'IMAGE BINAIRE, RECONNAISSANCE DE FORMES par Pistol_Pete
Source avec Zip Source avec une capture TRAITEMENT IMAGE: MODIFICATION NON LINÉAIRE DES COULEURS (CM... par Pistol_Pete

Commentaires et avis

Commentaire de acx01b le 20/05/2007 23:06:22

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) !

Commentaire de Pistol_Pete le 21/05/2007 10:41:48

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...

Commentaire de DLink le 21/05/2007 11:37:35

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...

Commentaire de Pistol_Pete le 21/05/2007 12:44:40

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à.

Commentaire de DLink le 21/05/2007 19:02:26

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 :)

Commentaire de Pistol_Pete le 22/05/2007 19:50:07

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...

Commentaire de DLink le 22/05/2007 21:28:54

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 :)

Commentaire de Pistol_Pete le 23/05/2007 13:21:14

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

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

problème en stéganographie [ par jenny42 ] Je suis entrain d'essayer de faire un programme en C de stéganographie (cacher un texte dans une image BMP).Pour cela je pense choisir certain pixel d jai un petit probleme avec cet exercice [ par malsew ] bonjour, quelqu'un pourrait bien m'expliquer cet énoncer parcequ'il est ambigüe pour moi: Cryptage/Décryptage Déclaration des variables et structures CRYPTAGE D'UNE IMAGE EN C [ par zakardo7 ] slt tous le monde ,s'il vous plais je cherche un programme de cryptage d'image en C et merci d'avance. programme de cryptage d'image en c++ [ par ami2008 ] Asalam,s'il vous plais je cherche un programme simple en en visual c++ 6.0 qui traite une image (filtrage ou segmentation...) puis il'affiche comme un cryptage d'image en C [ par Maroi ] Bonjour à tous, je cherche des tutoriels ou bien un programme C qui crypte une image. Quels sont les fonctions en C nécessaires pour manipuler ces ima parcourir l'image pixel par pixel et dessiner un rectangle entourant la zone noir en OpenCv [ par DANIA511 ] SVP, j'ai besoin de votre aide. je veux binariser une image et puis détecter les zones noirs, les découper, et les afficher . "bien sure j'ai utilisé traitement d'image [ par witon ] bonjour, je vous expose mon problème, j'ai un projet de "vision" j'utilise la bibliothèque OpenCV.. j' ai extraite les contours d'un objet (dans mon i programme curseur [ par bassemamara1984 ] bonjour dans mon programme je veut afficher des image alors j'ai charger 4 image pour faire apparaitre un carré sur mon programme vous saver que pour Lire et écrire une image en format PGM [ par khaled79 ] #include #include #include int main() { int n,m; int i,j; unsigned char ** image; char ligne[100]; FILE* voiture; voiture=fopen("lena.pgm","r" ); i


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales