Skip to content

Hide text or files in images with AES-256 encryption - Python LSB steganography GUI built with customtkinter

Notifications You must be signed in to change notification settings

BrAtUkA/Stegano

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Python CustomTkinter Encryption

Stealth Messenger

A steganography tool for embedding secret text or files into images
with optional AES-256 encryption and compression.

Stealth Messenger UI

Features

  • Dual Embedding Modes - Hide text messages or entire files within PNG images
  • AES-256 Encryption - Optional password protection with PBKDF2 key derivation (480k iterations)
  • Smart Compression - Zlib compression to maximize storage capacity
  • Auto-Detection - Extraction automatically detects bit depth, compression, and encryption settings
  • Adjustable Bit Depth - Trade-off between capacity (1-8 bits per channel) and detection resistance
  • Real-time Capacity Display - See available space as you compose your message
  • Resolution Adaptive - UI scales automatically to different screen sizes

Installation

pip install customtkinter pillow

# Optional: Enable encryption support
pip install cryptography

Usage

python StealthMessenger.py

Encoding: Select a cover image → Enter message or choose file → Configure options → Embed → Save

Decoding: Select encoded image → Enter password (if encrypted) → Extract → Save


Technical Specifications

Capacity vs. Stealth

Bit Depth Relative Capacity Detection Risk
1-2 bits Low-Medium Minimal
3-4 bits High Low
5-8 bits Maximum Moderate-High

Data Format

[Signature: 7B] [Header: 4B] [Payload: Variable] [Terminator: 4B]

Header: Version | Bit Depth | Flags | Type
Flags:  Bit 0 = Compressed, Bit 1 = Encrypted
Type:   0x00 = Text, 0x01 = File

Storage Capacity

A 1920×1080 image at 2-bit depth provides approximately 1.5 MB of usable storage.


Dependencies

Package Purpose Required
customtkinter UI framework Yes
pillow Image processing Yes
cryptography AES encryption Optional

Notes

  • Always save as PNG - JPEG compression destroys embedded data
  • Encrypted data cannot be recovered without the correct password
  • Temporary files are automatically cleaned up on application exit

Semester Project - Advanced Steganography Implementation
Spring 2025

About

Hide text or files in images with AES-256 encryption - Python LSB steganography GUI built with customtkinter

Topics

Resources

Stars

Watchers

Forks

Languages