A lightweight and secure Streamlit web application that allows users to hide (encrypt) and retrieve (decrypt) secret messages inside images using LSB (Least Significant Bit) steganography and AES password encryption.
- 📤 Upload an image and embed a message securely inside it.
- 🔒 AES encryption support using a password (optional but recommended).
- 📥 Download the final image with the hidden message.
- 🔓 Decrypt hidden messages from uploaded images.
⚠️ Detects if no hidden message is present.- ✅ Works with PNG, JPG, JPEG, and BMP formats.
- Encryption Page:
- Upload a cover image.
- Enter a secret message and optionally a password.
- The message is encrypted (if password is given) and hidden in the image using LSB.
- Download the final stego-image.
- Decryption Page:
- Upload the stego-image.
- If a password was used during encryption, enter the same password to reveal the original message.
- If the password is incorrect or missing, the app will display incorrect or garbled output.
- If no message is hidden, a warning like “No hidden message found in the image.” will appear.
- Python 3.7+
- Compatible OS: Windows, macOS, Linux
- Web browser (Chrome, Firefox, etc.)
Install all dependencies using:
pip install -r requirements.txtrequirements.txt:
streamlit
pillow
numpy
pycryptodomeIf an encrypted image is uploaded to the Decryptor without providing the correct password:
- The app will display incorrect or scrambled text.
- This is intentional to protect the confidentiality of the message.
streamlit run app.pyThis project is developed solely for educational and research purposes. It is not intended for production use or to serve as a definitive fact-checking tool. The predictions made by the model may not always be accurate, and users are encouraged to verify news from official and reliable sources only.


