Categories
Programming Python Steganography

Décret à propos de Python et Stéganô

Trump's decree on Python
Trump’s decree on Python
$ sudo pip3.5 install --upgrade Stegano
$ wget https://blog.cedricbonhomme.org/wp-content/uploads/2017/02/Trump_decree_on_Python.png
$ lsb-set reveal -i Trump_decree_on_Python.png -g eratosthenes

Plus sérieusement, quelques améliorations (et corrections) pour Stéganô sont disponibles. Bien que je ne parle pas tellement de ce projet ici, le changelog est à jour.

Categories
Steganography

Stéganô 0.6

wall

$ sudo pip3.5 install --upgrade Stegano
$ wget --no-check-certificate https://blog.cedricbonhomme.org/wp-content/uploads/2016/08/wall.png
$ echo -e `lsb-set reveal -i wall.png -g eratosthenes`
Categories
Steganography

Avancées du projet Stéganô

Stéganô, le module Python de stéganographie, a beaucoup évolué ces derniers jours. J’ai principalement été motivé par quelques commentaires de personnes. Cela faisait aussi quelque temps que je voulais mieux structurer le code.

L’organisation du module est entièrement revue. Le découpage en sous-modules en fonction des différentes techniques est plus logique.
Les performances sont meilleures lors de l’utilisation de la technique LSB.
Il est maintenant possible de donner directement une fonction (pour générer les ensembles de pixels) aux fonctions lsb.hide() et lsb.reveal().
L’ensemble des changements est détaillé dans les notes de versions.

Le tutoriel a aussi été amélioré et est plus clair. Voici un bon exemple. Les nouveaux tests unitaires permettent également de mieux comprendre l’usage du module.

Si vous avez des commentaires ou idées, n’hésitez pas !

Categories
Steganography

Première contribution sur PyPI

Et voici ma première contribution sur le «Python Package Index». Le petit moment de fierté de la soirée.

J’ai récemment eu besoin de cet ancien code que je maintiens à jour de temps à autre. À cette occasion je m’étais dit que ce petit projet pourrait très bien avoir sa place sur PyPI. D’autres modules Python de stéganographie existent, mais ne sont généralement plus maintenus (ou ne supportent pas Python 3) et sont moins originaux.

Je serai aussi content que ce code puisse servir à quelqu’un. Voir attirer des contributeurs.

Il faut maintenant que j’améliore la documentation, afin que vous puissiez tranquillement exécuter la commande:

$ sudo pip install Stegano
Categories
Steganography

Stéganô fonctionne maintenant avec Pillow

Selena-Gomez

La série de billets sur la stéganographie n’est pas encore terminée, une chance pour vous (et pour moi). Aujourd’hui nous allons découvrir le message caché de Selena Gomez, la petite coquine. Ceci en utilisant comme toujours Stéganô que j’ai porté ce soir sous Python 3. Pillow le fork amical de PIL est dorénavant usité. Globalement le portage s’est fait facilement avec 2to3 et quelques modifications effectuées manuellement. Il y a encore des petits tests à réaliser (notamment à cause du changement de l’opérateur division avec Python 3).

Pour mémoire, nous avions déjà vu comment cacher des messages en utilisant des générateurs d’ensembles d’entiers avec Jennifer Morrison. L’avantage d’utiliser une suite (bien répartie) est de compliquer un peu la stéganalyse de l’image contenant le secret. Je ne fais pas durer le suspense et vous donne les quelques instructions nécessaires afin de trouver le secret de Selena.

$ hg clone https://bitbucket.org/cedricbonhomme/stegano/
$ cd stegano/stegano/
$ wget http://blog.cedricbonhomme.org/wp-content/uploads/2013/03/Selena-Gomez.png
$ python3.2 slsbset.py --reveal -i ./Selena-Gomez.png --generator OEIS_A000217
Impossible to detect message.

$ python3.2 slsbset.py --reveal -i ./Selena-Gomez.png --generator eratosthenes

Étant vraiment gentil, je vous donne même le générateur à utiliser. Un simple algorithme de stéganalyse est livré avec Stéganô.

N’oubliez pas le tutoriel qui explique plus en détail le fonctionnement.

Categories
Python Security Steganography

Installation simple et rapide de Stéganô (avec Ginnifer Goodwin)

Ginnifer Goodwin

Gentils lecteurs, je sais que vous aimez la série de billets sur la stéganographie. Nous avions commencé par Lena, puis Elisha Cuthbert, Jennifer Morrison, Jessica Alba et voici enfin Ginnifer Goodwin. Pour se rafraîchir les idées on pourra lire à nouveaux ces magnifiques posts.

L’objectif de ce petit billet (en plus de vous faire un cadeau de Noël un peu érotique en avance) est essentiellement de montrer comme il est maintenant simple d’installer et utiliser Stéganô. Pour des opérations encore un peu basiques mais intéressantes. Bref, voici comment installer Stéganô sur une distribution GNU/Linux:

hg clone https://bitbucket.org/cedricbonhomme/stegano/
cd stegano/
sudo python setup.py install

Vous pouvez faire quelques tests avec les scripts présents dans le dossier examples. Par exemple:

cd examples/
./example4.sh

Le script example4.sh va cacher un secret, effectuer deux stéganalyses afin de pouvoir comparer les images puis trouver le secret. Vous pouvez aussi directement trouver le secret de cette manière:

wget http://blog.cedricbonhomme.org/wp-content/uploads/2012/12/Ginnifer-Goodwin.png
slsb-set --reveal --generator eratosthenes -i ./Ginnifer-Goodwin.png

De nouveaux générateurs sont fournis. Certains sont plus adaptés pour cacher de petits messages, d’autres permettent même de cacher des fichiers binaires dans une photo.

Le tutoriel explique le fonctionnement de base.

Categories
Security Steganography

A gentle introduction to Steganography

J’ai tout récemment commencé à rassembler ce que j’ai déjà expérimenté avec la stéganographie et Stéganô. À cette occasion j’ai donc créé un dépôt simplement nommé: A gentle introduction to Steganography (puisqu’il existe déjà de très bon livres si tu veux plus de détails). L’objectif n’est pas exactement d’écrire un cours comme cela a été suggéré il y a quelques temps, mais surtout de compiler quelques connaissances de bases acquises dans ce domaine. L’ensemble abreuvé d’exemples concrets (et de belles photographies).

Le document sera au format LaTeX pour avoir un beau pdf (par exemple), ainsi qu’au format reStructuredText afin d’avoir une belle version HTML (générée avec Sphinx). Une version HTML à jour sera toujours disponible via le site Read the Docs, ici. Vous pouvez demander une mise à jour immédiate grâce à cette page.
Les versions seront quasiments identiques, la version Web certainement plus “intéractive” avec plus de liens, à voir…

Évidemment toute aide est la bienvenue! On verra jusqu’où ça ira!

Categories
Steganography

Mise à jour de Stéganô (cadeau à l’intérieur)

hg clone https://bitbucket.org/cedricbonhomme/stegano/
cd stegano/stegano
wget https://lh6.googleusercontent.com/-Sntb2St4xUQ/T5HgDH90JTI/AAAAAAAADwA/IQq_7mFeUhM/s0/sanga.png
python ./slsbset.py --reveal -i ./sanga.png -b OFD --generator XXX
cvlc -L OFD

Il faut remplacer XXX par le bon générateur (énorme indice). Ça fonctionnerai aussi avec une image de taille inférieure, mais je préfère donner une belle photo de Sanga.

Categories
Misc Steganography

7DC

Mon premier commit pour 2012, Stéganô 0.4.

J’espère pour vous que cette nouvelle année sera un bon cru. De bonnes nouvelles et un maximum d’épanouissement. Pour ma part 2012 et 2013 vont être je pense assez importantes dans ma vie.

Categories
Python Security Steganography

Séquence d’entiers A000217

Un test avec la séquence d’entiers A000217.

$ slsb-set --hide -i examples/pictures/Montenach.png -o ~/enc-OEIS_A000217.png --generator OEIS_A000217 -m 'Happy new year!'
$ slsb-set --reveal -i ~/enc-OEIS_A000217.png --generator OEIS_A000217
Happy new year!

$ slsb-set --reveal -i ~/enc-OEIS_A000217.png --generator fermat
Impossible to detect message.

Rien de bien compliqué ici. Il s’agit juste de montrer comme il est simple d’ajouter des générateurs.
J’ai aussi ajouté de nouveaux exemples plutôt intéressants, comme celui-ci.

Merci aussi à Vincent qui a répondu à l’appel à l’aide du billet précédent.

Ce post n’est pas assez important pour mériter une photo de Sarah. Mais ne vous inquiétez pas, elle va y passer.