Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

EasyCryptor 🔒

A lightweight, zero-dependency, single-file HTML web tool for secure offline text encryption and decryption using the native Web Crypto API.

Designed for privacy-conscious users who need a clean, transparent, and air-gapped solution to encrypt sensitive strings (such as extended public keys xpub, seed phrases, or private notes).


✨ Features

  • Zero External Dependencies: Built entirely with pure HTML and vanilla JavaScript—no npm packages, frameworks, or external scripts.
  • Strict Content Security Policy (CSP): Includes a restrictive meta CSP tag (connect-src 'none') that physically prevents the browser from making any network requests.
  • 100% Client-Side: All cryptographic operations run locally inside your browser. No data or passphrases ever leave your machine.
  • Air-Gapped Ready: Works completely offline. You can download index.html and run it on a secure, disconnected device.
  • Transparent Cryptography: Encryption parameters are explicitly displayed on-screen for complete auditability.

🛠️ Cryptographic Parameters

Parameter Specification
Cipher AES-256-GCM (Galois/Counter Mode)
Key Derivation Function PBKDF2
Hashing Function SHA-256
PBKDF2 Iterations 100,000
Key Length 256 bits
Salt Size 16 bytes (Randomly generated via crypto.getRandomValues)
Initialization Vector (IV) 12 bytes (Randomly generated via crypto.getRandomValues)
Output Encoding Base64

📦 Data Format

The resulting Base64 string encapsulates the salt, IV, and encrypted payload in a single unified format:

Base64 [ Salt (16 Bytes) + IV (12 Bytes) + Ciphertext + Auth Tag ]

Because standard parameters and native browser cryptographic primitives are used, data encrypted with EasyCryptor can be easily decrypted using standard cryptographic libraries in Python, JavaScript, or Go.


🚀 How to Use

Option 1: Live Web Version (GitHub Pages)

  1. Open your hosted GitHub Pages link: https://coldtest-berlin.github.io/easycryptor/
  2. Enter your Master Passphrase.
  3. Input plain text to encrypt or a Base64 string to decrypt.
  4. Click Encrypt or Decrypt.

Option 2: 100% Offline (Recommended for High Security)

  1. Download or copy the index.html file to your computer or USB drive.
  2. Disconnect your device from the internet (turn off Wi-Fi).
  3. Open index.html in any web browser.
  4. Encrypt/decrypt your text securely.

🛡️ Security Model

Content Security Policy (CSP)

Easy Cryptor enforces a zero-network policy directly in the HTML <head>:

<meta http-equiv="Content-Security-Policy" 
      content="default-src 'none'; script-src 'unsafe-inline'; style-src 'unsafe-inline'; base-uri 'none'; form-action 'none'; connect-src 'none'; img-src 'none'; font-src 'none'; object-src 'none';">

About

Lightweight, zero-dependency client-side text encryption tool using native Web Crypto API (AES-256-GCM + PBKDF2) with strict CSP.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages