Simple steganography program based on the LSB method.

izcoser izcoser Last update: Apr 06, 2024

stegpy

A program for encoding information in image and audio files through steganography. Any type of data can be encoded, from raw strings to files, as shown below:

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 least significant bit of each color component in the host image.


Supported host formats

  • PNG
  • BMP
  • GIF
  • WebP
  • 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)

Installation

 pip3 install stegpy

Usage:

Hide a message or file:

 stegpy "Hello World!" image.png

Extract it:

 stegpy _image.png

Data is encoded without any protection by default, but it can be encrypted with the -p flag:

Encrypt:

 stegpy "Hello World!" image.png -p
Enter password (will not be echoed):
Verify password (will not be echoed):
 stegpy _image.png -p
Enter password (will not be echoed):
Hello World!

More options:

 stegpy -h

To do

  • Add docstrings
  • Allow encoding across multiple files
  • Support JPEG & FLAC as hosts

Subscribe to our newsletter