A desktop application that securely hides sensitive information within image files using advanced cryptography and steganography techniques.
- Image Upload: Select any image file as a carrier for hidden data
- Message Encryption: Secure messages using 128-bit AES encryption with Galois/Counter Mode (GCM)
- LSB Steganography: Hide encrypted data in image pixels using Least Significant Bit (LSB) technique
- Password Protection: Use custom passwords to generate encryption keys
- File Safety: Automatically saves encoded images in PNG format
- Easy Retrieval: Decode hidden messages with the original password
-
Launch the Application
python3 stego_app.py
-
Upload an Image: Click the upload button to select your cover image
-
Enter Password: Type a secure password in the password field
-
Type Your Message: Enter the text message you want to hide
-
Click Encode: The application will:
- Encrypt your message using 128-bit AES-GCM encryption with your password as the key
- Hide the encrypted message in the image's pixels using LSB steganography
- Save the result as a PNG file in your chosen location
-
Launch the Application
python3 stego_app.py
-
Upload Encoded Image: Select the image containing the hidden message
-
Enter Password: Type the same password used during encoding
-
Click Decode: The application will extract and decrypt your hidden message
- Algorithm: AES-128 in Galois/Counter Mode (GCM)
- Key Derivation: Password-based key generation
- Security: Authenticated encryption with associated data (AEAD)
- Key Size: 128 bits (16 bytes)
- Technique: Least Significant Bit (LSB) Embedding
- Method: The encrypted message is embedded into the least significant bit of each color channel (R, G, B) in image pixels
- Randomization: Embedding positions are randomized using a seed derived from the password, making the payload harder to detect
- Overhead: 32-bit header to store the message length for accurate extraction
- Input: Supports common image formats (JPEG, PNG, BMP, etc.)
- Output: Always saves as PNG to preserve data integrity and prevent lossy compression
See requirements.txt for all dependencies:
- Pillow: Image processing and manipulation
- tkinter: GUI framework (usually pre-installed with Python)
- Clone or download the project
- Install dependencies:
pip install -r requirements.txt
- Run the application:
python3 stego_app.py
- Use strong, memorable passwords for encryption
- The security of your hidden data depends on your password strength
- LSB steganography is not visible to the naked eye but can be detected with steganalysis tools
- Always keep backups of important encoded images
stego_app.py: Main GUI applicationStego.py: Core steganography functions (LSB embedding/extraction)aes_gcm.py: AES-128-GCM encryption implementationrequirements.txt: Python dependencies
This project implements steganography and encryption for educational purposes, demonstrating cryptographic concepts and data hiding techniques.