Steganographie sur bitmap 24 bits

Soyez le premier à donner votre avis sur cette source.

Vue 8 653 fois - Téléchargée 809 fois

Description

Ce programme permet de dissimuler un fichier quelconque dans une image bitmap 24 bits.
Il utilise les 4 bits de poids faible de chaque couleur, cela dit le changement entre l'image d'origine et l'image contenant le fichier caché est trés léger. Le programme integre egalement un cryptage du fichier dissimulé.

Le cryptage utilisé utilise 2 clefs, la deuxieme clef empeche de recuperer le fichier avec une clef proche de l'originale. Sans cette sécurité, si on utilise comme clef "aaaa" pour cacher le fichier, on peut le récuperer avec la clef "a". Je sais pas si je suis assez clair, mais si vous avez des questions, n'hésitez pas...

Le code source est entierement commenté...

Conclusion :


Merci de laisser vos commentaires et de signaler les éventuels bugs que vous pourriez rencontrer.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_iorikyu
Messages postés
1
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
30 avril 2007

Il serait bien aussi d'ajouter un test sur la taille du fichier a cacher, quand il est trop grand le programme crash lamentablement ^^
kammax
Messages postés
1
Date d'inscription
jeudi 1 juillet 2004
Statut
Membre
Dernière intervention
30 août 2005

Salut W@$H! (t'aurait pu trouver plus simple comme nom...)
déja c'est cool de voir des sources qui s'intéressent à la stéganographie, merci.

tu veut des comm', OK :
-clef2, déclare le en char si tu veux qu'il soit toujours compris entre 0 et 255 (cue que tu fais dans la boucle se fait tout seul en fait, comme par magie)
-si tu veux garder unsigned int clef2=0;, alors remplace ta boucle par clef2 = clef2%256, ce qui te donnera le nombre positif le plus petit auquel est congru clef2 modulo 256; autrement dit, ça fera ce que fait ta boucle.
-la marque qui indique la fin du fichier chaché (octet valant 8) est un peu bancale : tu peut très bien avoir un caractère de code ASCII 8 dans un fivhier que tu cache, alors quand tu voudra le récupérer, tu n'aura qu'une partie du fichier cacher. utilise plutôt une série de bits plus longue, les bits étant aléatoires ou non.
-en ce qui concerne ton probleme de clef, le souci est que tu l'utilise de façon redondante, ce qui était le principe du chiffre de Vigenere avant une évolution majeure (majeure car cette évolution a démonter le moyen qui avait été trouver pour casser le chiffre de Vigenere, "Le chiffre incassable") : quand tu a utiliser tous les caractères de ta clef, au lieu de repartir avec le premier caractere, tu utilise le texte clair comme nouvelle clé. ainsi tu évite les problemes de clé équivalentes (aaaa = a) et tu a toujours une clé assez longue (pas d'utilisation redondante)


Enfin, sans revenir sur le "débat philosophique" entre console et win32, la console est excellente et tres simple d'utilisation pour travailler en programmation pure (etude des algorythmes...), mais si tu veux un jour lancer tes logiciels à la gueule du grand publique, tu sera obliger de voir l'aspet graphique (un gateau peut etre tres bon et tres moche, ça va pour la famille, mais si tu veut le vendre, il doit etre appétissant). quoi qu'il en soit, certaine personnes ont pensées, comme toi, que les fenetres windows, c'est tres chiant a programmer (ce qui est vrai quand on débute) et ont inventer les logiciels comme c++ builder...tu lui dit ce que tu veut, et il te pond le code, génial non???

sur ce, bonne nuit.

max
W@$h!
Messages postés
70
Date d'inscription
mercredi 24 septembre 2003
Statut
Membre
Dernière intervention
16 juin 2010

un peu plus de comm' ca ferait plaisir!!
W@$h!
Messages postés
70
Date d'inscription
mercredi 24 septembre 2003
Statut
Membre
Dernière intervention
16 juin 2010

merci de ton commentaire...
Pour le trucs ascii, g pa le choix, on fait les prog a plusieurs, et la majorité decide! J'ai pas mis d'image ou d'exemple dans le zip pour eviter la surcharge, mais je pense que tout le monde a un bitmap qui traine...
cosmobob
Messages postés
706
Date d'inscription
mardi 30 décembre 2003
Statut
Membre
Dernière intervention
27 janvier 2009
4
salut, c'est bien, mais tu aurais toujours pu ajouter un exemple d'utilisation de ton code (avec un bitmap de base, puis tu montres le resultat), les gens ici sont des faineants !!!
PS: ton truc ascii dans le main est super laid ;)

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.