Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AES File Encryptor / Decryptor

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.

Features

  • 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 ShortcutsCtrl+O browse, Ctrl+Enter process

Tech Stack

Technology Purpose
Python 3.10+ Core language
Cryptography AES-256-CBC encryption
Tkinter GUI framework

Installation

# Clone the repository
git clone https://github.com/sahilparihar-git/AES-Guard.git
cd AES-Guard

# Install dependencies
pip install -r requirements.txt

How It Works

Encryption

  1. User selects a file and enters a secret key
  2. A random salt (16 bytes) and IV (16 bytes) are generated
  3. The key is derived from the password using PBKDF2-HMAC-SHA256
  4. File data is padded with PKCS7 and encrypted with AES-256-CBC
  5. Output file format: salt + IV + ciphertext (saved as .enc)
  6. Original file is deleted after successful encryption

Decryption

  1. User selects the .enc file and enters the same secret key
  2. Salt and IV are extracted from the file header
  3. Key is re-derived using PBKDF2 with the extracted salt
  4. Ciphertext is decrypted and unpadded
  5. Decrypted file is saved, encrypted file is deleted

Launch

python app.py

Author

Sahil Parihar

About

Tool to encrypt and decrypt any file using AES-256

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages