Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kecleon

A simple web app that allows you to hide and reveal messages inside images using LSB steganography.

Supports optional password-based encryption for added security.

Features

  • Hide messages inside images (LSB technique)
  • Reveal hidden messages from images
  • Optional password-based encryption
  • Image capacity validation
  • Safe PNG export to avoid data corruption
  • Simple UI built with Streamlit

Installation

Installation using UV (recommended)

git clone <repo-url>
cd <repo>
uv sync

To run the app:

uv run streamlit run app.py

Installation using pip

git clone <repo-url>
cd <repo>
python -m venv .venv

Activate the environment:

Linux / macOS

source .venv/bin/activate

Windows

.venv\Scripts\activate

Install dependencies:

pip install -r requirements.txt

To run the app:

streamlit run app.py

Important notes

  • Use PNG images to avoid data loss
  • Do not use "Save as" from the browser — use the download button
  • JPEG compression will destroy hidden data

How it works

This project uses Least Significant Bit (LSB) steganography:

  • Each pixel stores 1 bit of the hidden message
  • The message is optionally encrypted before embedding
  • A header is added to detect valid hidden data
  • The message is reconstructed during decoding until a null byte is found

Running tests

With uv

uv run pytest

With pip

pip install pytest
pytest

Future improvements

  • Support for file embedding (not just text)
  • Stronger encryption options
  • Randomized pixel selection for better security
  • Multi-channel encoding

About

A small Streamlit application for hiding and extracting encrypted messages inside images using Python and NumPy.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages