Advanced Image Steganography Tool with Windows 11 Fluent Design
Hide secret messages inside images with military-grade encryption
Features β’ Installation β’ Usage β’ Troubleshooting
Steganography-Project is a modern, feature-rich desktop application for hiding secret messages inside images using advanced steganographic techniques. Built with Python and PyQt6, it features a beautiful Windows 11 Fluent Design interface and implements multiple steganography algorithms with AES-256 encryption for maximum security.
Steganography is the practice of concealing information within another file, message, or image. Unlike encryption, which makes data unreadable, steganography hides the existence of the data itself, making it perfect for covert communication.
- Multiple Steganography Algorithms
- LSB (Least Significant Bit) - Standard, fast and efficient
- PVD (Pixel Value Differencing) - Advanced, more secure against detection
- LSB-Match - Histogram-preserving, resistant to Chi-square attacks
- AES-256 Encryption with PBKDF2 key derivation (100,000 iterations)
- Password Strength Meter with real-time feedback
- Secure Password Hashing with random salt generation
- Built-in Steganalysis Detection
- Chi-Square Attack Detection
- LSB Bit Pattern Analysis
- Entropy Analysis
- Confidence scoring system
- PSNR Quality Metrics to measure image degradation
- Image Capacity Calculator to check maximum message size
- Process multiple images simultaneously
- Multi-threaded background processing
- Progress tracking with status updates
- Same message and password for all files
- Windows 11 Fluent Design aesthetic
- Sidebar navigation with 4 main sections
- Rounded corners, proper shadows, and spacing
- Responsive layout with smooth transitions
- Dark-themed cards and surfaces
- Real-time character counter
- Drag-and-drop support (planned)
- Support for PNG, JPEG, BMP formats
- Auto-save encrypted images
- Export decrypted messages to text files
- Copy to clipboard functionality
- Organized output directory structure
- Python 3.8 or higher
- pip (Python package manager)
- Windows 10/11, Linux, or macOS
git clone https://github.com/ak-rahul/Steganography-Project.git
cd Steganography-Project
pip install -r requirements.txt
python main.py
- PyQt6==6.6.1
- opencv-python==4.8.1.78
- Pillow==10.1.0
- numpy==1.24.3
- cryptography==41.0.7
- scipy==1.11.4
pip install PyQt6 opencv-python Pillow numpy cryptography scipy
Steganography-Project/
β
βββ main.py
βββ config.py
βββ requirements.txt
βββ README.md
βββ LICENSE.md
β
βββ core/ # Core functionality
β βββ init.py
β βββ steganography.py
β βββ encryption.py
β βββ steganalysis.py
β
βββ gui/ # User interface
β βββ init.py
β βββ main_window.py
β βββ encrypt_widget.py
β βββ decrypt_widget.py
β βββ analysis_widget.py
β βββ batch_widget.py
β βββ styles.py
β
βββ encrypted_images/ # Output directory (auto-created)
- Launch the application:
python main.py - Navigate to "Encrypt Message" (default tab)
- Select Algorithm: Choose LSB, PVD, or LSB-Match
- Browse Image: Click "π Browse Image" and select your cover image
- Enter Password: Type a strong password (minimum 4 characters)
- Type Message: Enter your secret message in the text area
- Click "β Encrypt & Save": Your encrypted image will be saved to
encrypted_images/
- Navigate to "Decrypt Message" tab
- Browse Encrypted Image: Select the image containing hidden data
- Enter Password: Type the correct decryption password
- Click "π Decrypt Message": View the hidden message
- Copy or Save: Use "π Copy" or "πΎ Save to File" buttons
- Navigate to "Steganalysis" tab
- Browse Image: Select any image to analyze
- Click "π Run Full Analysis": View detailed detection report
- Review Results: Check confidence score and verdict
- Navigate to "Batch Processing" tab
- Add Images: Click "π Add Images" and select multiple files
- Configure Settings: Choose algorithm, password, and message
- Click "β‘ Process All Images": Watch progress in real-time
- Check Output: Find all encrypted images in
encrypted_images/
- β Use PNG format (lossless compression)
- β Choose PVD or LSB-Match algorithms
- β Use strong passwords (12+ chars, mixed case, symbols)
- β Use large cover images for better stealth
- β Test decryption immediately after encryption
- β Avoid JPEG for encrypted images (lossy compression destroys data)
- β Don't reuse the same cover image multiple times
- Weak: < 8 characters
- Fair: 8-11 characters, mixed case
- Good: 12+ characters, mixed case + numbers
- Strong: 12+ characters, mixed case + numbers + symbols
Solution: Install PyQt6: pip install PyQt6
Solution:
- Ensure image file is not corrupted
- Use supported formats (PNG, JPEG, BMP)
- Check file permissions
Solution:
- Use a larger cover image
- Shorten your message
- Check capacity with info display
Solution:
- Verify password is correct (case-sensitive)
- Ensure image hasn't been modified/compressed
- Check if image was encrypted with this tool
This project is licensed under the MIT License - see the LICENSE file for details.