La sténographie est l’art de dissimuler des données. Nous proposons une application utilisant l’élément CANVAS d’HTML5 afin de dissimuler du texte crypté en AES 128 bits dans des images.
Le processus est le suivant pour l’encryptage :
- le texte en clair est crypté en utilisant la clef fournie en AES 128 bits. La sortie est en base 64,
- chaque caractère du texte crypté s’écrit donc avec 6 chiffres binaires (0 ou 1). Chaque caractère est séparé en 2 groupes de 3 bits
- Chaque groupe de 3 bit va être encodé sur un pixel de l’image, le premier sur le canal rouge, le deuxième sur le canal vert et le troisième sur le canal bleu. La parité de la valeur du pixel doit avoir dans chaque canal la même parité que le bit encodé, quitte à rajouter ou enlever 1 à cette valeur. Cependant cette modification n’est pas perceptible à l’oeil nu.
- L’image est affichée sur un canvas qui peut être sauvegardé en .PNG, format sans pertes liées à la compression.
Le processus de décryptage effectue ces opérations dans l’ordre inverse.
L’application est diponible ici : http://www.spacegoo.com/steganography