Skip to content

devyasminn/secret-keeper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A simple file encryption desktop application built for study and experimentation. It allows users to encrypt and decrypt files using AES-GCM encryption with secure key derivation through the Scrypt algorithm.

frame

Cryptography

Algorithms

  • Encryption: AES-256
  • Mode: GCM (Galois/Counter Mode)
  • Key Derivation: Scrypt

Process

  1. Key Derivation

    • A key is derived from the user password using Scrypt
    • Parameters: N=16384, r=8, p=1
    • A random 32-byte salt is generated per operation
  2. Encryption (AES-GCM)

    • A random 16-byte nonce is generated
    • The file is encrypted using AES-256-GCM
    • GCM provides confidentiality and integrity via a 16-byte authentication tag
  3. Encrypted File Format

    [32 bytes Salt][16 bytes Nonce][Encrypted Data][16 bytes Auth Tag]
    
  4. Decryption

    • Salt and nonce are read from the encrypted file
    • The key is derived again from the password and salt
    • The authentication tag is verified before decryption

Tech Stack

  • Python 3
  • Flet
  • PyCryptodome

Usage

Install

git clone https://github.com/devyasminn/secret-keeper.git
cd secret-keeper
pip install -r requirements.txt

Run

python run.py
Preview.mp4

About

A study-focused desktop application for experimenting with encryption techniques.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages