{% extends "base.html" %} {% block title %}About - Stegasoo{% endblock %} {% block content %}
Stegasoo hides encrypted messages and files inside images using multi-factor authentication.
Two modes optimized for different use cases.
DCT (Discrete Cosine Transform) embeds data in frequency coefficients. Survives JPEG recompression.
LSB (Least Significant Bit) embeds data in the lowest bit of each color channel. Imperceptible to the eye.
| Aspect | DCT Mode Default | LSB Mode |
|---|---|---|
| Capacity (1080p) | ~50 KB | ~770 KB |
| Survives JPEG | ✅ Yes | ❌ No |
| Social Media | ✅ Works | ❌ Broken |
| Detection Resistance | Better | Moderate |
Multi-factor authentication derives encryption keys:
{% if has_argon2 %}
Argon2id
256MB memory cost. Memory-hard KDF defeats GPU/ASIC attacks.
{% else %}
Argon2 Not Available
Using PBKDF2-SHA512 with 600k iterations.
Install argon2-cffi for stronger security.
{% endif %}
Channel keys provide deployment/group isolation. Messages encoded with one channel key cannot be decoded with a different key, even if all other credentials match.
Uses server-configured key if available, otherwise public mode.
STEGASOO_CHANNEL_KEY env varchannel_key in config fileNo channel key. Compatible with other public installations.
Your own group key. Share with recipients.
XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX{{ channel_fingerprint }}
({{ channel_source }})
STEGASOO_CHANNEL_KEY to enable server-wide channel isolation.
Generate a QR code to share a channel key with others.
| Version | Changes |
|---|---|
| 4.0.0 | Channel keys for group/deployment isolation, DCT default, simplified auth, passphrase replaces day_phrase, 4-word default, JPEG fix, large image support, subprocess isolation, Python 3.10-3.12 |
| 3.2.0 | Single passphrase, more default words |
| 3.0.0 | DCT mode, JPEG output, color preservation |
| 2.2.0 | QR code RSA key import/export |
| 2.1.0 | File embedding, compression |
| 2.0.0 | Web UI, REST API, RSA keys |
| 1.0.0 | Initial release, CLI only, LSB mode |
| Max text | 2M characters |
| Max file | {{ max_payload_kb }} KB |
| Max carrier | 24 MP (~6000x4000) |
| DCT capacity | ~75 KB/MP |
| LSB capacity | ~375 KB/MP |
| Max upload | 30 MB |
| File expiry | 5 min |
| PIN | 6-9 digits |
| RSA keys | 2048, 3072, 4096 bit |
| Passphrase | 3-12 words (BIP-39) |
| Python Version | 3.10-3.12 |
| Built with | Flask, Pillow, NumPy, SciPy, jpegio, cryptography, argon2-cffi |