About the project
LSB steganography hides a message in the lowest bit of each pixel, so the image looks normal to the human eye. This app helps answer the opposite question: does an image likely carry a hidden message?
Users simply upload an image (PNG, BMP, TIFF, or JPG). The Flask server runs two classic steganalysis algorithms separately on the Grayscale, Red, Green, and Blue channels, then compares the results to reach a final High, Medium, or Low verdict.
All analysis happens in memory per request. No files are written to disk, so uploaded images never linger on the server.
The live demo on this site uses a JavaScript port of both algorithms that produces numbers identical to the Python version, so the analysis runs entirely in the browser without uploading the image.
Key features
- Chi-Square Attack (Westfeld, 2001) to test the frequency equality of pixel-value pairs
- RS Analysis (Fridrich, Goljan, Du, 2001) to estimate the length of the hidden message
- Per-channel analysis with a combined verdict from both methods
- Interactive result charts built with Chart.js
- No file storage: safe for sensitive images
- A live demo that runs both algorithms right in the browser — see Live Demo
Releases
There is no official release for this project yet. The latest code is always available in the GitHub repository.