Dans les pages précédantes, nous avons vu qu'il était facile de chiffrer un texte en code hexadécimal, soit directement depuis les caractères ASCII du message, soit en code Morse pseudo-hexadécimal ou encore par une toute autre méthode.
Afin de brouiller les pistes, pourquoi ne pas imaginer créer une image qui semblerait aléatoire, mais qui contiendrait le code hexadécimal précédant ?
Dans la page dédiée au format BitMap, nous avons vu qu'un pixel était codé sur 3 octets (1 octet = 8 bits), et un chiffre hexadécimal sur 4 bits. Ainsi, si nous codions les pixels d'une image 24 bits avec la chaine hexadécimale de notre message, nous arriverions à produire 6 fois moins de pixels que de chiffres hexadécimaux.
Prenons par exemple ce message : Ceci est le message à encoder. Je confirme notre rendez-vous lundi prochain à 22h00 au lieu suivant. Coordonnées : +45° 45' 27.30", +4° 49' 55.47"
En chiffrant ce message en hexadécimal directement depuis ses caractères ASCII, nous arrivons à : 436563 692065 737420 6C6520 6D6573 736167 6520E0 20656E 636F64 65722E 204A65 20636F 6E6669 726D65 206E6F 747265 207265 6E6465 7A2D76 6F7573 206C75 6E6469 207072 6F6368 61696E 20E020 323268 303020 617520 6C6965 752073 756976 616E74 2E2043 6F6F72 646F6E 6EE965 73203A 202B34 35B020 343527 203237 2E3330 222C20 2B34B0 203439 272035 352E34 372200
Pour plus de lisibilité, nous avons regroupé les caractères par groupe de 6, et complété le dernier groupe par des 0 pour qu'il ait une taille de 6 chiffres.
Sachant que dans une image BitMap en 24 bits chaque pixel est codé sur 3 octets (RVB inversé), alors pour chaque mot de 6 chiffres hexadécimaux, nous pouvons faire correspondre ces chiffres avec la définition d'un pixel.
Ainsi le premier groupe de 6 chiffres : 436563 pourrait se décomposer pour le premier pixel en (attention RVB inversé) :
Ainsi, nous obtenons le pixel suivant .
De la même manière, pour les mots de 6 chiffres suivants :
De cette façon, pour le message précédant, nous obtenons l'image suivante de dimensions 7 pixels par 7 pixels ; ce qui fait un gain de compression non négligeable lors de l'affichage à l'écran.
Cette image se décompose ainsi :
Note : prudence tout de même, cette technique est efficace à condition d'utiliser du code hexadécimal résultant d'un cryptage. Si comme dans notre exemple, nous remplaçons juste les caractères ASCII par leurs valeurs hexadécimales (sans chiffrage), nous pouvons retrouver immédiatement le texte clair en ouvrant l'image bitmap avec un éditeur hexadécimal.
Page en cours de réalisation
A effacer une fois que tout marche :
Laisser le menu : "Choisissez l'action à réaliser : Codage d'une chaine hexadécimale ou Décodage d'une image BitMap"
Aucun bouton radio ne sera sélectionné.
Lors d'un clic sur l'un des boutons radio, faire apparaitre en jQuery soit le textarea, soit le truc pour sélectionner et ouvrir un fichier.
Dernière modification de cette page le 11 novembre 2014 à 14:03
Sauf mention contraire, le contenu de cette page est sous licence Creative Commons Paternité et Conditions de partage à l'identique
Page générée en 747.368 millisecondes | Votre adresse IP : 10.3.76.90 via 216.73.216.172 | Me contacter