SecureImageTool 🔒
SecureImageTool is an advanced, cross-platform application for encrypting and decrypting images using state-of-the-art cryptographic techniques. Built with Python and Tkinter, it provides a user-friendly interface for securing sensitive image files with military-grade encryption.
- AES-256-GCM Encryption: Authenticated encryption ensures both confidentiality and integrity.
- Scrypt Key Derivation: Memory-hard key derivation function to resist brute-force attacks.
- Secure Metadata Handling: Preserves image metadata (format, mode) while encrypting.
- Password Strength Meter: Real-time feedback on password strength.
- Cross-Platform Support: Works on Windows, macOS, and Linux.
- Modern UI: Clean and intuitive design with dark/light theme support.
- Progress Indicators: Visual feedback during encryption/decryption operations.
- File Integrity Verification: SHA-256 hash verification for encrypted files.
- Input Validation: Ensures valid passwords and file selections.
- Comprehensive Error Messages: Clear feedback for cryptographic failures or corrupted files.
- Metadata Validation: Verifies image metadata during decryption to prevent tampering.
- Python 3.8 or higher
Pillow(PIL) for image processingcryptographyfor cryptographic operations
-
Clone the repository:
git clone https://github.com/tanm-sys/SecureImageTool.git cd SecureImageTool -
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python image_encrypt_decrypt.py
- Launch the application.
- Enter a strong password in the "Vault Key" field.
- Click Encrypt Image.
- Select the image file you want to encrypt.
- Choose a location to save the encrypted file (
.encformat).
- Launch the application.
- Enter the same password used for encryption.
- Click Decrypt Image.
- Select the encrypted file (
.encformat). - Choose a location to save the decrypted image.
- Key Derivation: Uses Scrypt with 1,048,576 iterations to derive a 256-bit key from the password.
- Encryption: Encrypts the image using AES-256-GCM with a 12-byte nonce.
- Metadata Preservation: Stores image metadata (width, height, mode, format) in the encrypted file header.
- Authentication: Includes an authentication tag to verify data integrity.
Encrypted files have the following structure:
- Header: Contains cryptographic parameters (salt, iterations, nonce) and image metadata.
- Metadata: Stores image mode and format as UTF-8 encoded strings.
- Ciphertext: Encrypted image data with authentication tag.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Submit a pull request with a detailed description of your changes.
This project is licensed under the MIT License. See the LICENSE file for details.
- Pillow: For image processing capabilities.
- cryptography: For providing secure cryptographic primitives.
- Tkinter: For the cross-platform GUI framework.
For questions, issues, or feature requests, please open an issue on the GitHub repository.
SecureImageTool is designed to provide robust security for your sensitive images while maintaining ease of use. Protect your digital assets with confidence! 🔒


