https://github.com/cedricbonhomme/stegano
A pure Python steganography module.
https://github.com/cedricbonhomme/stegano
hidden-message image-processing secret security steganalysis steganography
Last synced: 13 days ago
JSON representation
A pure Python steganography module.
- Host: GitHub
- URL: https://github.com/cedricbonhomme/stegano
- Owner: cedricbonhomme
- License: gpl-3.0
- Created: 2015-11-26T08:41:18.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-03-14T05:59:19.000Z (about 1 month ago)
- Last Synced: 2025-04-12T03:49:34.679Z (13 days ago)
- Topics: hidden-message, image-processing, secret, security, steganalysis, steganography
- Language: Python
- Homepage: https://stegano.readthedocs.io
- Size: 19.2 MB
- Stars: 543
- Watchers: 17
- Forks: 69
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: COPYING
Awesome Lists containing this project
README
# Stegano
[](https://github.com/cedricbonhomme/Stegano/actions?query=workflow%3A%22Python+application%22)
[Stegano](https://github.com/cedricbonhomme/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
```bash
$ 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:
```bash
$ 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](https://stegano.readthedocs.io) 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:```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")
```## Use Stegano as a command line tool
### Hide and reveal a message
```bash
$ 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
```bash
$ 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
```bash
$ python -m unittest discover -v
```Running the static type checker:
```bash
$ 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 via GitHub Sponsors:
[](https://github.com/sponsors/cedricbonhomme)
or with Bitcoin to this address:
bc1q56u6sj7cvlwu58v5lemljcvkh7v2gc3tv8mj0eThank you !
## License
This software is licensed under
[GNU General Public License version 3](https://www.gnu.org/licenses/gpl-3.0.html)Copyright (C) 2010-2025 [Cédric Bonhomme](https://www.cedricbonhomme.org)
For more information, [the list of authors and contributors](CONTRIBUTORS.md) is available.