ImageStego
Multimedia Obfuscation & Steganography Toolkit — a Python library for image/video obfuscation and message hiding.
Features
Obfuscation (Image / GIF / MP4)
| Algorithm | Description |
|---|---|
| Pixel Scramble | Pseudo-random pixel permutation |
| Block Scramble | Block-level shuffling |
| Arnold Cat Map | Classic chaotic map transform |
| Baker's Map | Baker's map + optional XOR encryption |
| Henon Map | Henon chaotic system |
| Logistic Map | Logistic chaotic sequence |
| DNA Encoding | DNA-based pixel encoding |
| Spiral Scan | Spiral-order pixel rearrangement |
Steganography
| Method | Description |
|---|---|
| LSB | Least Significant Bit embedding |
| LSB Edge | Randomized LSB with edge detection |
| DCT | Frequency-domain (DCT coefficient) embedding |
| DWT | Wavelet-domain (Haar DWT) embedding |
| PVD | Pixel Value Differencing |
| Spread Spectrum | QIM-based spread spectrum |
All steganography methods support Fernet encryption (password-protected) and timestamp embedding.
Installation
pip install imagestego
Optional dependencies:
pip install imagestego[gui] # Web GUI (PyWebIO)
pip install imagestego[progress] # Progress bars (tqdm)
Quick Start
Obfuscation
from imagestego import pixel_obfuscate, pixel_deobfuscate
# Encrypt
pixel_obfuscate("input.png", "encrypted.png", seed=42)
# Decrypt
pixel_deobfuscate("encrypted.png", "restored.png", seed=42)
Multi-layer Pipeline
from imagestego import ObfuscationPipeline
pipeline = ObfuscationPipeline()
pipeline.add_layer("arnold", iterations=30)
pipeline.add_layer("bakers", iterations=10, password="secret")
pipeline.add_layer("dna")
sidecar = pipeline.encrypt("input.png", "output.png")
# Generates output.png + output.layers.json
pipeline.decrypt("output.png", "restored.png")
Steganography
from imagestego import lsb_embed_message, lsb_extract_message
# Hide a message
lsb_embed_message("cover.png", "Hello World", "stego.png", password="key123")
# Extract
result = lsb_extract_message("stego.png", password="key123")
print(result["message"])
Batch Processing
from imagestego.batch_processor import batch_obfuscate
result = batch_obfuscate(
input_dir="./images",
output_dir="./output",
method="arnold",
params={"iterations": 20},
max_workers=4,
)
print(result) # Total=10, Success=10, Failed=0
CLI
imagestego # Interactive CLI
imagestego-gui # Web GUI (requires pywebio)
Requirements
- Python >= 3.9
- numpy, Pillow, cryptography, scipy, moviepy
License
MIT
Metadata
Release files for imagestego 2.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| imagestego-2.1.0.tar.gz | 53.8 kB | Without provenance | Details for imagestego-2.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| imagestego-2.1.0-py3-none-any.whl | Python 3 | none | any | Details for imagestego-2.1.0-py3-none-any.whl |
Total release size: 126.1 kB
Release files / imagestego-2.1.0.tar.gz
| Download URL | imagestego-2.1.0.tar.gz |
|---|---|
| Size | 53.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6c198f55cbb2dd1add1d99ab67b73122de7697d41b4ee0f5058f2f40f39a1a19
|
|
BLAKE2b-256 checksum How to use checksums |
303a43de4c99c8971a64056bda4d771e0109c9321c1bb447a19cd50c1b30c88a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.9
|
Release files / imagestego-2.1.0-py3-none-any.whl
| Download URL | imagestego-2.1.0-py3-none-any.whl |
|---|---|
| Size | 72.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b8c42d3be341e0c50f5e02e14448f6d33f97ba80f8e2002d66b61f3ad79abcb3
|
|
BLAKE2b-256 checksum How to use checksums |
b30264051c1b385d2f3be9b304fab506ae36c0d2c79ecbe0e4173703e8279b24
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.9
|
Security for imagestego 2.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.