This project was made for my internship program in HackSecure.
A secure Python-based GUI application for encrypting and decrypting files using Fernet symmetric encryption. The tool provides an intuitive interface for protecting sensitive files with strong encryption.
- File encryption with AES-256 (Fernet implementation)
- File decryption with proper key authentication
- Key generation functionality
- Modern, user-friendly GUI with Tkinter
- Cross-platform compatibility (Windows, macOS, Linux)
- Secure file handling practices with options to:
- Remove original file after encryption/decryption
- Keep original file after encryption/decryption
- Detailed error messages and validation
- Python 3.7+
- Packages listed in
requirements.txt
:- cryptography
- Clone this repository
- Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # Linux/MacOS .\venv\Scripts\activate # Windows
- Install dependencies:
pip install -r requirements.txt
python file_crypt.py
- Select the "Encrypt File" tab
- Click "Browse" to select ANY file type
- Choose file handling option (remove or keep original)
- Enter an encryption key or generate a new one
- Click "Encrypt File"
- Choose a location to save the encrypted file (.enc)
- Select the "Decrypt File" tab
- Click "Browse" to select an encrypted file (.enc)
- Choose file handling option (remove or keep encrypted file)
- Enter the correct decryption key
- Click "Decrypt File"
- Choose a location to save the decrypted file (with original extension)
- Always store your encryption keys securely
- The same key used for encryption must be used for decryption
- Lost keys cannot be recovered - encrypted files will be permanently inaccessible
- Options: You can choose to remove or keep the original file after encryption.
- Options: You can choose to remove or keep the encrypted file after decryption.
- Support for multiple file types
- Drag and drop functionality
- Key export/import functionality
- File hashing verification
- Password-based key derivation
- cryptography module for robust encryption implementation
- Python community for excellent documentation