A pure Python steganography module.
Find a file
dependabot[bot] 136ce42ae9
build(deps): bump pillow from 10.2.0 to 10.3.0
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.2.0 to 10.3.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/10.2.0...10.3.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-03 16:04:32 +00:00
.builds chg: [sourcehut] Restored export of PATH. 2024-01-04 02:16:19 +01:00
.github/workflows chg: [GitHub workflox] Added Python 3.10 and 3.11. 2024-01-04 01:51:44 +01:00
bin Updated copyright years. 2024-01-01 20:32:02 +01:00
docs chg: Updated repository default URL. 2024-03-01 10:14:10 +01:00
stegano chg: Updated repository default URL. 2024-03-01 10:14:10 +01:00
tests chg: Updated repository default URL. 2024-03-01 10:14:10 +01:00
.editorconfig new: added .editorconfig 2021-11-01 13:51:47 +01:00
.gitignore Updated .gitignore. 2020-08-20 09:56:34 +02:00
.pre-commit-config.yaml chg: [pre-commit] Removed useless django-upgrade hook. 2024-03-12 08:22:40 +01:00
.readthedocs.yaml Moved the requirements file dedicated to the documentation. 2023-12-31 00:45:28 +01:00
CHANGELOG.md chg: Updated repository default URL. 2024-03-01 10:14:10 +01:00
CONTRIBUTORS.md chg: [contributors] Added a new contributor. 2022-11-20 00:11:16 +01:00
COPYING Dropped Python 3.8 support. 2023-12-31 00:38:32 +01:00
poetry.lock build(deps): bump pillow from 10.2.0 to 10.3.0 2024-04-03 16:04:32 +00:00
pyproject.toml chg: Updated repository default URL. 2024-03-01 10:14:10 +01:00
README.md Updated README. 2024-03-02 14:27:08 +01:00

Stegano

builds.sr.ht status Workflow

Stegano, a pure Python Steganography module.

Steganography is the art and science of writing hidden messages in such a way that no one, apart from the sender and intended recipient, suspects the existence of the message, a form of security through obscurity. Consequently, functions provided by Stegano only hide messages, without encryption. Steganography is often used with cryptography.

Installation

$ poetry install stegano

You will be able to use Stegano in your Python programs.

If you only want to install Stegano as a command line tool:

$ pipx install stegano

pipx installs scripts (system wide available) provided by Python packages into separate virtualenvs to shield them from your system and each other.

Usage

A tutorial is available.

Use Stegano as a library in your Python program

If you want to use Stegano in your Python program you just have to import the appropriate steganography technique. For example:

>>> 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")

Use Stegano as a command line tool

Hide and reveal a message

$ stegano-lsb hide -i ./tests/sample-files/Lenna.png -m "Secret Message" -o Lena1.png
$ stegano-lsb reveal -i Lena1.png
Secret Message

Hide the message with the Sieve of Eratosthenes

$ stegano-lsb hide -i ./tests/sample-files/Lenna.png -m 'Secret Message' --generator eratosthenes -o Lena2.png

The message will be scattered in the picture, following a set described by the Sieve of Eratosthenes. Other sets are available. You can also use your own generators.

This will make a steganalysis more complicated.

Running the tests

$ python -m unittest discover -v

Running the static type checker:

$ mypy stegano

Contributions

Contributions are welcome. If you want to contribute to Stegano I highly recommend you to install it in a Python virtual environment with poetry.

Donations

If you wish and if you like Stegano, you can donate:

GitHub Sponsors

Thank you !

License

This software is licensed under GNU General Public License version 3

Copyright (C) 2010-2024 Cédric Bonhomme

For more information, the list of authors and contributors is available.