Skip to main content

StegoFox Pro 🦊

High-performance encrypted steganography CLI.

Hide any file inside a PNG image using LSB (least-significant-bit) embedding, optionally encrypted with AES-256-GCM before it ever touches the pixels.

Features

  • LSB steganography — embed arbitrary binary data in a cover image's pixel data
  • Optional AES-256-GCM encryption (PBKDF2-HMAC-SHA256, 100k iterations) before embedding
  • Lossless PNG output — the embedding survives save/reload exactly
  • Wrong-password and corrupted-payload detection fail cleanly (no crash, no garbage output)
  • Capacity checking — refuses to embed data too large for the cover image, before touching anything

Install

pip install -e .

Usage

stegofox embed cover.png secret.txt -o output.png
# With password protection
stegofox embed cover.png secret.txt -o output.png --password hunter2
🦊 StegoFox Pro

📸 Loading cover image: cover.png
🔐 Encrypting payload...
🧬 Embedding 712 bits...
✅ Successfully embedded! Saved to output.png
stegofox extract output.png --password hunter2
🦊 StegoFox Pro

🔍 Analyzing output.png
🔓 Decrypting...
✅ Extracted 33 bytes
checking output messages exactly
# Wrong password fails cleanly, no crash
stegofox extract output.png --password wrongpass
🦊 StegoFox Pro

🔍 Analyzing output.png
🔓 Decrypting...
❌ Decryption failed. Wrong password?

How it works

Each RGB channel byte of the cover image has its least-significant bit replaced with one bit of the payload. A 4-byte magic signature (SFOX) plus a 4-byte length header precede the payload so extraction knows exactly how much data to read back out. Output is always saved as PNG — a lossy format (JPEG, etc.) would destroy the embedded bits on save.

With --password, the payload is encrypted with AES-256-GCM (authenticated encryption) before embedding, so a wrong password fails the auth-tag check and returns a clean error rather than garbage bytes.

Requirements

Python >= 3.8, pillow, numpy, pycryptodome.

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stegofox-0.1.1.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stegofox-0.1.1-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file stegofox-0.1.1.tar.gz.

File metadata

  • Download URL: stegofox-0.1.1.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for stegofox-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c55dbbef718304a28709bc028dedf1c4417cadea7e5d568bfdcf039dc57987f7
MD5 936739db50b7af62d3f7bb8f80e6e201
BLAKE2b-256 72b3138c43ea2d4c5f0140237afcb67904c2d2c7e610d66a90a77634e1081f9b

See more details on using hashes here.

File details

Details for the file stegofox-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: stegofox-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for stegofox-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4689feeec62efb157ef7f172832ecc3afa93f7717b7a7ccb41e06752a6de3c9f
MD5 b9c2047a50305cf8ebdaec5bca13b578
BLAKE2b-256 b53f75c573f5da9bba6d4dc4a156035d74af633309e790292289027c7a48c25f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page