Stéganographie et cryptologie visuelle

Professeurs référents :

M FAURY (ISN)

Objectif

Cryptographie et stéganographie visuelles consistent à dissimuler et/ou crypter un message dans une image.

La stéganographie est l’art de la dissimulation : son objet est de faire passer inaperçu un message dans un autre message.Cette méthode est connue depuis l’antiquité et elle a de multiples variantes, fonctions du support, de la méthode ou de la technologie existante. Dans ce projet, nous nous intéressons uniquement à la dissimulation d’une image dans une autre en en créant une troisième. En utilisant la stéganographie, on veut que, lorsqu’un autre que le destinataire découvre l’image obtenue, il ne puisse pas soupçonner l’existence d’une autre image dissimulée dans celle qu’il voit, ni même qu’il soupçonne un contenu caché. Ainsi, l’observateur ne peut pas empêcher la transmission de l’image cachée et ne peut pas non plus utiliser la même méthode pour faire passer d’autres informations fausses. Dans notre projet, pour dissimuler une image dans une autre, nous modifions les bits de poids faibles des pixels de l’image contenante.
Cependant, la stéganographie est une méthode connue et si l’on soupçonne une image de contenir une information secrète avec cette méthode, il est aisé de réussir à la récupérer. Aujourd’hui, il existe d’autres méthodes qui permettent de rendre incompréhensible une information à une personne autre que son destinataire.
La cryptologie permet de rendre un message inintelligible à autre que qui-de-droit et englobe la cryptographie, le codage et la cryptanalyse, le décodage. Elle est également connue depuis l’antiquité mais acquiert le statut de sciences seulement dans les années 1970 en devenant thème de recherche avec l’essor de l’informatique puis d’internet et des communications. Le but de la cryptologie visuelle, c’est que seul l’oeil humain doit être capable de décoder et d’authentifier le message. Dans ce projet, pour cacher une image, nous utilisons une méthode de cryptographie à clé secrète qui permet de chiffrer et déchiffrer à partir de la même clé. L’image doit être binarisée (seulement en noir et blanc, sans niveau de gris) et la clé est une image de taille proportionnelle à celle de l’image, composée aléatoirement de pixels noirs et blancs.

Présentation du projet

  • Peut-on modifier une image de façon à ce que seul le destinataire puisse la voir ?
  • Le projet se rapporte aux domaines de compétence suivants :
    • Dimension algorithmique : Création d’algorithmes qui permettent de coder une image selon deux méthodes : stéganographie et cryptologie à clé secrète.
    • Éléments de programmation : Pour la réalisation, nous utilisons le langage de programmation Python avec la distribution Pyzo qui inclut des modules complémentaires, un éditeur de programme et une console qui affiche les résultats du programme exécuté dans l’éditeur. Nous avons utilisé ces modules ou bibliothèques : imageio (pour travailler avec les images), matpotlib (pour afficher les images), pillow (pour travailler avec les images et en créer à partir de tableaux de valeurs numpy), numpy (pour créer des matrices), et tkinter (pour l’interface utilisateur).

Cahier des charges

Production finale attendue : Un algorithme qui permet de coder n’importe quelle image selon une clé donnée (ou générée aléatoirement) (cryptographie) ou bien de la cacher dans une autre (stéganographie) et de la décoder dans les deux cas.

Caractéristiques de la production finale : Fonctionne correctement, petite interface qui permet de rentrer une image ou de choisir la méthode.

Contraintes à respecter : Date butoir, travail en équipe, dossier écrit (5-10 pages)

Matériel et logiciel à mettre en œuvre :  Python et éditeur d’image

Tâches à réaliser

Clémence Vessaire Naouel Kouiss
Codage Stéganographie Décodage Stéganographie
Codage Cryptographie Décodage Cryptographie
Algorithme de binarisation d’image Interface utilisateur

 

Dossiers personnels

Naouel Kouiss

Clémence Vessaire

 

Stéganographie

CODAGE

Image conteneur Image secrète (à cacher)
Cliquer ici pour voir le code


 

Résulat :

Autres exemples :

  

 

DÉCODAGE

Cliquer ici pour voir le code


Cryptographie

Décodage

Cliquer ici pour voir le code


Interface graphique

Cliquer ici pour voir le code


 

Ressources

Fichiers du projet

  • Ajouter un(des) fichier(s) puis cliquer sur Téléverser.
  • Rafraichir la page pour vérifier que le dépôt a bien eu lieu.

 

 

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

code