Open-source LSB steganography for encrypted hidden messages.
StegoSphere is a desktop steganography app for hiding encrypted text inside images. It combines LSB image encoding, password-based encryption, and an optional email workflow into a single local-first tool.
The goal is simple: give you a polished, open-source way to prepare and recover hidden messages without relying on web services or external infrastructure.
- Hide text inside images using least-significant-bit (LSB) steganography.
- Encrypt hidden content before embedding it into the image.
- Recover hidden messages with the original password.
- Send generated steganographic images by email when configured.
- Use a PyQt6 interface designed for a straightforward desktop workflow.
Screenshots are not bundled yet. If you want this README to feel even more like a
large open-source project, add a few app screenshots or a short demo GIF to the
assets/ directory and link them here.
- You type the message you want to hide.
- StegoSphere encrypts that message with a password-derived key.
- The encrypted payload is embedded into the red channel of the chosen image.
- The resulting image can be saved locally or sent by email.
- On the decrypt tab, the app reads the payload back and decrypts it with the same password.
- Python 3.8 or newer
pip- A supported image format such as PNG, JPG, JPEG, or BMP
- SMTP credentials if you want email delivery
- Clone the repository.
git clone https://github.com/chethanyadav456/StegoSphere.git
cd StegoSphere- Create and activate a virtual environment.
python -m venv venv
source venv/bin/activateOn Windows PowerShell:
venv\Scripts\Activate.ps1- Install dependencies.
pip install -r requirements.txt- Configure email settings if you plan to use the send-email flow.
cp env.example .envSet these environment variables in your shell, .env file, or secret manager:
STEGOSPHERE_SENDER_EMAILSTEGOSPHERE_SENDER_PASSWORDSTEGOSPHERE_SMTP_SERVER(optional, default:smtp.gmail.com)STEGOSPHERE_SMTP_PORT(optional, default:465)
- Launch the app.
python main.py- Open the Encrypt tab.
- Upload an image.
- Enter the text you want to hide.
- Set a password.
- Optionally enter a receiver email address.
- Click Encrypt & Send Email.
- Open the Decrypt tab.
- Upload the steganographed image.
- Enter the same password used during encryption.
- Click Extract Text.
StegoSphere/
├── assets/
├── config.py
├── encryption.py
├── gui.py
├── lsb.py
├── main.py
├── requirements.txt
├── setup.bat
├── setup.sh
└── steganography.py
StegoSphere reads email configuration from environment variables so the project can stay safe for public distribution.
STEGOSPHERE_SENDER_EMAILsets the outbound sender address.STEGOSPHERE_SENDER_PASSWORDsets the SMTP app password.STEGOSPHERE_SMTP_SERVERoverrides the SMTP host when needed.STEGOSPHERE_SMTP_PORToverrides the SMTP port when needed.
- Do not commit
.envfiles or real credentials. - Use app-specific passwords where your provider supports them.
- Prefer dedicated sender accounts for automated email flows.
- Treat steganography as concealment, not as a substitute for operational security.
The repository includes helper scripts for local setup:
setup.shfor macOS and Linux.setup.batfor Windows.
Both scripts create a virtual environment, install dependencies, and launch the app.
We welcome improvements, bug fixes, and documentation updates.
See CONTRIBUTING.md for the contribution workflow and coding standards.
- Add screenshots and a short demo GIF to the README.
- Improve image capacity checks and user feedback.
- Add automated tests for the steganography and encryption helpers.
- Expand platform packaging options for easier installation.
This project follows the Contributor Covenant. See CODE_OF_CONDUCT.md.
StegoSphere is released under the MIT License. See LICENSE.
