Ci-dessous, les différences entre deux révisions de la page.
stegano:lsb [2016/04/14 11:25] arkinar créée |
stegano:lsb [2016/07/04 08:38] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | **LSB : Least Significant Bit** | ||
- | Le but du LSB est de cacher des informations dans une image. | ||
- | |||
- | Les données sont insérées à la place des bits les moins importants. | ||
- | |||
- | Pour chaque composante RGB nous faisons varier uniquement le bit de poids faible. Ainsi, la transformation est la suivante: | ||
- | |||
- | <code>(R, G, B) = (00000000, 00000001, 00000000) -> (R, G, B) = (00000001, 00000000, 00000001)</code> | ||
- | |||
- | Pour coder un caractère ASCII, nous aurons besoin de deux pixels et deux composantes. | ||
- | |||
- | La modification du bit de poids faible a peu d'impact sur la valeur d'une composante. | ||
- | |||
- | LSB-Steganography est un outil python permettant de gérer le LSB dans une image. | ||
- | |||
- | Vous pouvez le récupérer ici : [[https://github.com/RobinDavid/LSB-Steganography|LSB-Steganography]] | ||
- | |||
- | L'outil utilisant la librairie opencv, il faudra l'installer avec la commande suivante : | ||
- | |||
- | <code> apt-get install python-opencv </code> | ||
- | |||
- | __1.Cacher un message dans une image__ | ||
- | |||
- | Voici un petit exemple de code python pour cacher un message avec la technique du LSB dans une image : | ||
- | |||
- | Il vous faut une image et un message à cacher. | ||
- | |||
- | <code> | ||
- | from LSBSteg import LSBSteg | ||
- | import cv2.cv as cv | ||
- | |||
- | str = "Message cache de wikisecu.fr" #Message a cacher | ||
- | carrier = cv.LoadImage("image.jpg") #Image dans laquel on va cacher le message | ||
- | steg = LSBSteg(carrier) | ||
- | steg.hideText(str) | ||
- | steg.saveImage("res.png") #Image qui contient le message | ||
- | </code> | ||
- | |||
- | En sortie vous obtenez une image nommé res.png qui contient votre message caché. | ||
- | |||
- | |||
- | __2.Retrouver un message dans une image__ | ||
- | |||
- | Voici un petit exemple de code python pour retrouver un message avec la technique du LSB dans une image : | ||
- | |||
- | <code> | ||
- | from LSBSteg import LSBSteg | ||
- | import cv2.cv as cv | ||
- | |||
- | im = cv.LoadImage("res.png") #image contenant le message cache | ||
- | steg = LSBSteg(im) | ||
- | print "Text value:",steg.unhideText() | ||
- | </code> | ||
- | |||
- | En sortie vous obtenez le message caché. |