
Um módulo de esteganografia em Python puro.
Stegano, um módulo de esteganografia em Python puro.
A esteganografia é a arte e a ciência de escrever mensagens ocultas de tal forma que ninguém, além do remetente e do destinatário pretendido, suspeite da existência da mensagem, uma forma de segurança por obscuridade. Consequentemente, as funções fornecidas pelo Stegano apenas ocultam mensagens, sem criptografia. A esteganografia é frequentemente usada com criptografia.
$ poetry install stegano
Você poderá usar o Stegano nos seus programas Python.
Se você quiser apenas instalar o Stegano como uma ferramenta de linha de comando:
$ pipx install stegano
O pipx instala os scripts (disponíveis em todo o sistema) fornecidos por pacotes Python em virtualenvs separados, para isolá-los do seu sistema e uns dos outros.
Um tutorial está disponível.
Se você quiser usar o Stegano no seu programa Python, basta importar a técnica de esteganografia adequada. Por exemplo:
>>> 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")
Para a ocultação de dados reversível (a imagem de cobertura original pode ser restaurada exatamente após a extração da mensagem), use a técnica de deslocamento de histograma:
>>> 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") # restores the original image
$ 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 == the original image
$ stegano-lsb hide -i ./tests/sample-files/Lenna.png -m 'Secret Message' --generator eratosthenes -o Lena2.png
A mensagem será espalhada pela imagem, seguindo um conjunto descrito pelo Crivo de Eratóstenes. Outros conjuntos estão disponíveis. Você também pode usar os seus próprios geradores.
Isso tornará a esteganálise mais complicada.
$ python -m unittest discover -v
Executando o verificador estático de tipos:
$ mypy stegano
Contribuições são bem-vindas. Se você quiser contribuir para o Stegano, recomendo fortemente que o instale em um ambiente virtual Python com poetry.
Se desejar e se gostar do Stegano, você pode doar via GitHub Sponsors:
ou com Bitcoin para este endereço:
bc1q56u6sj7cvlwu58v5lemljcvkh7v2gc3tv8mj0e
Obrigado!
Este software é licenciado sob a GNU General Public License versão 3
Copyright (C) 2010-2026 Cédric Bonhomme
Para mais informações, está disponível a lista de autores e contribuidores.