A program for encoding information in image and audio files through steganography.
On the left, a house with a steganographically hidden image. On the right, the extracted hidden image of a cat. It is revealed by removing all but the last significant bit of each color component in the host image.
Supported host formats:
- PNG
- BMP
- WAV
Images in a different format are automatically converted to PNG. Different audio formats are not supported at all.
Dependencies:
- numpy
- cryptography
- Pillow (PIL fork)
$ pip install -r requirements.txt
How to use:
- Hide a message:
$ python3 steg.py "Hello World!" image.png
- Hide a file:
$ python3 steg.py file.whatever image.png
- Encrypt:
$ python3 steg.py "Hello World!" image.png -p
Enter password (will not be echoed):
Verify password (will not be echoed):
$ python3 steg.py _image.png -p
Enter password (will not be echoed):
Hello World!
To do:
- Add docstrings
- Allow encoding across multiple files
- Use a proper header separator for audios
- Fix first pixel
- Support GIF, JPEG, FLAC as host