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.0.tar.gz (5.9 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.0-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: stegofox-0.1.0.tar.gz
  • Upload date:
  • Size: 5.9 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.0.tar.gz
Algorithm Hash digest
SHA256 bd83b4edaf132129109193eb0c87fcc68bfb51ab405fb2ef45d09500f5aa26cb
MD5 f8508a47b8266d78b4539def2b107c2b
BLAKE2b-256 a3262a04a36214401637c51cb5879e6a3d6b287c9aa563f4fe4d8a3c2ca3709a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: stegofox-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.4 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d8949d8a28522a9ab254ee9fe745ccae89f18e48db86a71a6d09ba2799c323a
MD5 37cd5550f0a85c6ce8935be6c3f70cec
BLAKE2b-256 6dc7264cd7eca57c109056e436e7da38de81c8f26c44202f4e4d3226886966e4

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