Skip to content

This project is from my intership in HackSecure, this an UI tool to encrypt or decrypt files. This project was made for educational purposes.

Notifications You must be signed in to change notification settings

Will-Go/encryption-decryption_tool-UI

Repository files navigation

File Encryption/Decryption Tool

This project was made for my internship program in HackSecure.

Overview

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.

Features

  • 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

Requirements

  • Python 3.7+
  • Packages listed in requirements.txt:
    • cryptography

Installation

  1. Clone this repository
  2. Create and activate a virtual environment:
    python -m venv venv
    source venv/bin/activate  # Linux/MacOS
    .\venv\Scripts\activate  # Windows
  3. Install dependencies:
    pip install -r requirements.txt

Usage

Running the Application

python file_crypt.py

Encrypting a File

  1. Select the "Encrypt File" tab
  2. Click "Browse" to select ANY file type
  3. Choose file handling option (remove or keep original)
  4. Enter an encryption key or generate a new one
  5. Click "Encrypt File"
  6. Choose a location to save the encrypted file (.enc)

Decrypting a File

  1. Select the "Decrypt File" tab
  2. Click "Browse" to select an encrypted file (.enc)
  3. Choose file handling option (remove or keep encrypted file)
  4. Enter the correct decryption key
  5. Click "Decrypt File"
  6. Choose a location to save the decrypted file (with original extension)

Key Management

  • 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

Screenshots

Encrypt UI

Encrypt UI

Select a file to encrypt

Choose the file to encrypt

Choose the file to encrypt

Choose the file to encrypt

Generate a key

Save the encrypted file

Encryption success

  • Options: You can choose to remove or keep the original file after encryption.

Options

Decrypt UI

Decrypt UI

Select a file to decrypt

Choose the file to decrypt

Decrypt the file

Save the decrypted file

Decryption success

  • Options: You can choose to remove or keep the encrypted file after decryption.

Options

Future Enhancements

  • Support for multiple file types
  • Drag and drop functionality
  • Key export/import functionality
  • File hashing verification
  • Password-based key derivation

Acknowledgements

  • cryptography module for robust encryption implementation
  • Python community for excellent documentation

About

This project is from my intership in HackSecure, this an UI tool to encrypt or decrypt files. This project was made for educational purposes.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages