
Модуль стеганографии на чистом Python.
Stegano — модуль стеганографии на чистом Python.
Стеганография — это искусство и наука написания скрытых сообщений таким образом, чтобы никто, кроме отправителя и предполагаемого получателя, не подозревал о существовании сообщения; это форма защиты через сокрытие. Следовательно, функции, предоставляемые Stegano, только скрывают сообщения, без шифрования. Стеганографию часто используют вместе с криптографией.
$ poetry install stegano
После этого вы сможете использовать Stegano в своих программах на Python.
Если вы хотите установить Stegano только как инструмент командной строки:
$ pipx install stegano
pipx устанавливает скрипты (доступные на уровне всей системы), предоставляемые пакетами Python, в отдельные виртуальные окружения, чтобы изолировать их от вашей системы и друг от друга.
Доступен учебник.
Если вы хотите использовать Stegano в своей программе на Python, вам достаточно импортировать соответствующую технику стеганографии. Например:
>>> 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")
Для обратимого сокрытия данных (исходный контейнер можно точно восстановить после извлечения сообщения) используйте технику сдвига гистограммы:
>>> 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") # восстанавливает исходное изображение
$ 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 == исходное изображение
$ stegano-lsb hide -i ./tests/sample-files/Lenna.png -m 'Secret Message' --generator eratosthenes -o Lena2.png
Сообщение будет рассеяно по изображению в соответствии с множеством, описываемым решетом Эратосфена. Доступны и другие множества. Вы также можете использовать свои собственные генераторы.
Это сделает стеганализ более сложным.
$ python -m unittest discover -v
Запуск статического проверяльщика типов:
$ mypy stegano
Вклад приветствуется. Если вы хотите внести свой вклад в Stegano, я настоятельно рекомендую установить его в виртуальное окружение Python с помощью poetry.
Если вы желаете и если вам нравится Stegano, вы можете сделать пожертвование через GitHub Sponsors:
или в биткоинах на этот адрес:
bc1q56u6sj7cvlwu58v5lemljcvkh7v2gc3tv8mj0e
Спасибо!
Это программное обеспечение лицензировано в соответствии с GNU General Public License version 3
Copyright (C) 2010-2026 Cédric Bonhomme
Дополнительная информация доступна в списке авторов и участников.