A desktop tool to encrypt and decrypt any file using AES-256 (Advanced Encryption Standard) with a secret key. Built with Python, Cryptography, and Tkinter.
- AES-256 Encryption — military-grade symmetric encryption
- Any File Type — encrypt images, PDFs, documents, videos, anything
- Secure Key Derivation — PBKDF2 with SHA-256 (100k iterations)
- File Wiping — original file deleted after encrypt, encrypted file deleted after decrypt
- Password Strength Indicator — real-time feedback (Weak / Fair / Good / Strong)
- Weak Key Protection — blocks encryption with weak passwords
- Progress Bar — shows encryption/decryption progress
- Mode Themes — red for encrypt, blue for decrypt
- Keyboard Shortcuts —
Ctrl+Obrowse,Ctrl+Enterprocess
| Technology | Purpose |
|---|---|
| Python 3.10+ | Core language |
| Cryptography | AES-256-CBC encryption |
| Tkinter | GUI framework |
# Clone the repository
git clone https://github.com/sahilparihar-git/AES-Guard.git
cd AES-Guard
# Install dependencies
pip install -r requirements.txt- User selects a file and enters a secret key
- A random salt (16 bytes) and IV (16 bytes) are generated
- The key is derived from the password using PBKDF2-HMAC-SHA256
- File data is padded with PKCS7 and encrypted with AES-256-CBC
- Output file format:
salt + IV + ciphertext(saved as.enc) - Original file is deleted after successful encryption
- User selects the
.encfile and enters the same secret key - Salt and IV are extracted from the file header
- Key is re-derived using PBKDF2 with the extracted salt
- Ciphertext is decrypted and unpadded
- Decrypted file is saved, encrypted file is deleted
python app.pySahil Parihar