BlindCrypt is a static web app for client-side file encryption and decryption. Your passphrase and plaintext stay in your browser.
- Encrypt a file with a passphrase and download a
.blindcryptfile - Decrypt a
.blindcryptfile with the passphrase and download the original - Passphrase generator with adjustable security levels
- Versioned file format for future compatibility
- Encryption and decryption occur locally via WebCrypto
- Server only hosts static files
- If the endpoint is compromised (malware, hostile browser extensions), no web app can protect the data
- Cipher: AES-256-GCM (authenticated encryption)
- KDF: PBKDF2 with SHA-256
- Randomness:
crypto.getRandomValues
This starter uses PBKDF2 to remain dependency-free for GitHub Pages. For stronger GPU-resistant derivation, replace PBKDF2 with Argon2id via WASM.
BlindCrypt uses the 2048 word BIP39 English word list (bundled in assets/wordlist.js).
[4 bytes big-endian header length][header JSON UTF-8][ciphertext bytes]
The header contains version, KDF parameters, salt, IV, and original filename/type.
Use a local web server (recommended):
python -m http.server 8080Then visit http://localhost:8080.
- Push this repo to GitHub
- Settings -> Pages
- Source: Deploy from a branch
- Branch:
mainand folder/root - Save
MIT