
A pure Python steganography module.
Stegano, un module de stéganographie pur Python.
La stéganographie est l'art et la science d'écrire des messages cachés de telle manière que personne, à part l'expéditeur et le destinataire prévu, ne soupçonne l'existence du message, une forme de sécurité par l'obscurité. Par conséquent, les fonctions fournies par Stegano ne font que cacher des messages, sans cryptage. La stéganographie est souvent utilisée avec la cryptographie.
$ poetry install stegano
Vous pourrez utiliser Stegano dans vos programmes Python.
Si vous souhaitez uniquement installer Stegano en tant qu'outil en ligne de commande :
$ pipx install stegano
pipx installe les scripts (disponibles à l'échelle du système) fournis par les paquets Python dans des virtualenvs séparés pour les isoler de votre système et les uns des autres.
Un tutoriel est disponible.
Si vous souhaitez utiliser Stegano dans votre programme Python, il vous suffit d'importer la technique de stéganographie appropriée. Par exemple :
>>> from stegano import lsb
>>> secret = lsb.hide("./tests/sample-files/Lenna.png", "Hello World")
>>> secret.save("./Lenna-secret.png")
>>>
>>> clear_message = lsb.reveal("./Lenna-secret.png")
Pour le masquage de données réversible (le support original peut être restauré exactement après l'extraction du message), utilisez la technique de décalage d'histogramme :
>>> from stegano import rdh
>>> secret = rdh.hide("./tests/sample-files/Lenna-grayscale.png", "Hello World")
>>> secret.save("./Lenna-secret.png")
>>>
>>> clear_message = rdh.reveal("./Lenna-secret.png")
>>> cover = rdh.recover("./Lenna-secret.png") # restore l'image originale
$ stegano-lsb hide -i ./tests/sample-files/Lenna.png -m "Secret Message" -o Lena1.png
$ stegano-lsb reveal -i Lena1.png
Secret Message
$ stegano-rdh hide -i ./tests/sample-files/Lenna-grayscale.png -m "Secret Message" -o stego.png
$ stegano-rdh reveal -i stego.png
Secret Message
$ stegano-rdh recover -i stego.png -o cover.png # cover.png == l'image originale
$ stegano-lsb hide -i ./tests/sample-files/Lenna.png -m 'Secret Message' --generator eratosthenes -o Lena2.png
Le message sera dispersé dans l'image, selon un ensemble décrit par le crible d'Ératosthène. D'autres ensembles sont disponibles. Vous pouvez également utiliser vos propres générateurs.
Cela rendra une stéganalyse plus compliquée.
$ python -m unittest discover -v
Exécution du vérificateur de types statique :
$ mypy stegano
Les contributions sont les bienvenues. Si vous souhaitez contribuer à Stegano, je vous recommande vivement de l'installer dans un environnement virtuel Python avec poetry.
Si vous le souhaitez et si vous aimez Stegano, vous pouvez faire un don via GitHub Sponsors :
ou avec Bitcoin à cette adresse :
bc1q56u6sj7cvlwu58v5lemljcvkh7v2gc3tv8mj0e
Merci !
Ce logiciel est sous licence GNU General Public License version 3
Copyright (C) 2010-2026 Cédric Bonhomme
Pour plus d'informations, la liste des auteurs et contributeurs est disponible.