Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 

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