Skip to content

javidahmed64592/python-steganographer

Repository files navigation

Python FastAPI Next.js CI Build Docs Docker License: MIT

Python Steganographer

A production-ready FastAPI steganography server with hybrid encryption built on python-template-server. Hide encrypted messages in images using LSB or DCT algorithms with comprehensive API security.

Table of Contents

Features

Steganography Capabilities

Dual Algorithm Support:

  • LSB (Least Significant Bit): High capacity, fast encoding/decoding, ideal for lossless formats (PNG)
  • DCT (Discrete Cosine Transform): JPEG-compression resistant, robust to image transformations

Operations:

  • Encode: Hide encrypted messages in images with base64 input/output
  • Decode: Extract and decrypt hidden messages from images
  • Capacity Check: Calculate maximum message size for any image

Flexible Image Handling:

  • Supports multiple formats
  • Base64 encoding for API transmission
  • Configurable output formats
  • Maintains image dimensions and quality

Security Features

Hybrid Encryption Architecture:

  • RSA-2048: Asymmetric encryption for secure key exchange
  • AES-256-CFB: Symmetric encryption for message data
  • Random IV: Unique initialization vector for each operation
  • Multi-Channel Embedding: Data distributed across RGB channels

Quick Start

Installation

Download the latest release from GitHub Releases.

Configuration

Rename .env.example to .env and edit it to configure the server.

  • HOST: Server host address (default: localhost)
  • PORT: Server port (default: 443)
  • API_TOKEN_HASH: Leave blank to auto-generate on first run, or provide your own token hash

Managing the Container

# Start the container
docker compose up -d

# Stop the container
docker compose down

# Update to the latest version
docker compose pull && docker compose up -d

# View the logs
docker compose logs -f python-steganographer

Note: You may need to add your user to the Docker group and log out/in for permission changes to take effect:

sudo usermod -aG docker ${USER}

License

This project is licensed under the MIT License - see the LICENSE file for details.