Aaron D. Lee df6125d098 Use growpart before resize2fs to expand full disk
resize2fs only fills the partition. Need growpart first to
expand the partition to fill the disk, then resize2fs to
expand the filesystem.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 12:36:06 -05:00
2026-01-03 21:36:04 -05:00
2026-01-07 00:08:59 -05:00
2026-01-01 22:18:13 -05:00
2026-01-07 00:08:59 -05:00
2026-01-01 22:18:13 -05:00

Stegasoo

A secure steganography system for hiding encrypted messages in images using hybrid authentication.

Tests Lint Python License: MIT Security

Features

  • AES-256-GCM authenticated encryption
  • Argon2id memory-hard key derivation (256MB RAM requirement)
  • Pseudo-random pixel selection defeats steganalysis
  • Multi-factor authentication: Reference photo + passphrase + PIN/RSA key
  • Multiple interfaces: CLI, Web UI, REST API
  • File embedding: Hide any file type (PDF, ZIP, documents)
  • DCT steganography: JPEG-resilient embedding for social media
  • Channel keys: Private group communication channels

Embedding Modes

Mode Capacity (1080p) JPEG Resilient Best For
DCT (default) ~150 KB Yes Social media, messaging apps
LSB ~750 KB No Email, direct file transfer

Web UI

Home Encode Decode Generate
Home Encode Decode Generate

Quick Start

# Install (Python 3.10-3.12)
pip install -e ".[all]"

# Generate credentials
stegasoo generate --pin --words 4

# Encode a message
stegasoo encode \
  --ref my_photo.jpg \
  --carrier meme.jpg \
  --passphrase "apple forest thunder mountain" \
  --pin 123456 \
  --message "Secret message"

# Decode
stegasoo decode \
  --ref my_photo.jpg \
  --stego stego_image.png \
  --passphrase "apple forest thunder mountain" \
  --pin 123456

Interfaces

Interface Start Command Documentation
CLI stegasoo --help CLI.md
Web UI cd frontends/web && python app.py WEB_UI.md
REST API cd frontends/api && uvicorn main:app API.md

Security Model

Reference Photo ──┐
(~80-256 bits)    │
                  ├──► Argon2id KDF ──► AES-256-GCM Key
Passphrase ───────┤    (256MB RAM)
(~43-132 bits)    │
                  │
PIN ──────────────┤
(~20-30 bits)     │
                  │
RSA Key ──────────┘
(optional)
Configuration Entropy Use Case
4-word passphrase + 6-digit PIN ~153 bits Standard security
4-word passphrase + PIN + RSA ~280+ bits Maximum security

Requirements

Requirement Version
Python 3.10-3.12
RAM 512 MB+

Development

pip install -e ".[dev]"
pytest
black src/ tests/ frontends/
ruff check src/ tests/ frontends/

Docker

# Quick start (HTTPS enabled by default)
docker-compose up -d

# Access
# Web UI:   https://localhost:5000  (self-signed cert)
# REST API: http://localhost:8000

# Disable HTTPS if needed:
STEGASOO_HTTPS_ENABLED=false docker-compose up -d

See DOCKER.md for full documentation.

Raspberry Pi

Pre-built SD card images available for Pi 4/5:

# Flash image (download from GitHub Releases)
zstdcat stegasoo-rpi-*.img.zst | sudo dd of=/dev/sdX bs=4M status=progress

# First boot runs interactive setup wizard:
# - WiFi configuration
# - HTTPS with port 443
# - Channel key generation
# - Optional overclocking

See rpi/README.md for manual installation.

Documentation

License

MIT License - see LICENSE. Use responsibly.


This tool is for educational and legitimate privacy purposes. Users are responsible for complying with applicable laws.

Description
Stegasoo DCT/LSB steganography toolkit.
Readme 48 MiB
Languages
Python 61.8%
HTML 19%
Shell 10.1%
JavaScript 5.1%
CSS 3.5%
Other 0.5%