Skip to content

Ajay16code/File_Authentication

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Furious Chargers – AES File Encryption with 2FA

A Cybersecurity project that provides AES-256 file encryption and decryption with 2-Factor Authentication (2FA) using Time-based One-Time Passwords (TOTP) generated by authenticator apps like Google Authenticator.


Project Overview

Furious Chargers is a secure file authentication system where:

  • Files are encrypted using AES-256

  • Decryption requires:

    • Correct password
    • Valid OTP (changes every 30 seconds)
  • OTP is generated using Authenticator Apps (TOTP standard)

This ensures confidentiality, integrity, and strong access control.


Project UI Screenshot

Below is the actual working UI of the project

Furious Chargers UI


🚀 Features

  • AES-256 File Encryption
  • Secure File Decryption
  • Password-Based Protection
  • 2-Factor Authentication (TOTP)
  • OTP changes every 30 seconds
  • QR Code support for Authenticator Apps
  • Simple and clean Flask Web Interface

How 2-Factor Authentication Works (TOTP)

  1. During encryption/decryption, a secret key is generated

  2. The secret is shown as a QR Code

  3. User scans the QR using:

    • Google Authenticator
    • Microsoft Authenticator
    • Any TOTP-compatible app
  4. The app generates a 6-digit OTP

  5. OTP changes automatically every 30 seconds

  6. Only a valid OTP + correct password allows decryption

This follows the RFC 6238 – TOTP Standard


Technologies Used

Technology Purpose
Python Core logic
Flask Web framework
AES (PyCryptodome) Encryption & Decryption
PyOTP TOTP / 2FA
HTML, CSS Frontend
Google Authenticator OTP Generation

Project Structure

File_Authentication/
├── app.py
├── requirements.txt
├── templates/
│   └── index.html
├── static/
│   └── style.css
├── screenshots/
│   └── ui.png
└── README.md

Installation & Setup

1️ Clone Repository

git clone https://github.com/Ajay16code/File_Authentication.git
cd File_Authentication

2️ Install Dependencies

pip install -r requirements.txt

3️ Run Application

python app.py

4️ Open in Browser

http://127.0.0.1:5000

How to Use

Encrypt File

  1. Upload a text file
  2. Enter a strong password
  3. Click Encrypt & Download
  4. Encrypted .enc file is generated

Decrypt File

  1. Upload encrypted .enc file
  2. Enter password
  3. Enter OTP from Authenticator App
  4. Click Decrypt & Download

Security Highlights

  • AES-256 is industry-grade encryption

  • OTP expires every 30 seconds

  • Prevents:

    • Brute-force attacks
    • Unauthorized access
    • File tampering


License

This project is for educational & academic purposes in Cybersecurity.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors