How the File Encryption Tool Works
AnyTool encrypts files entirely in the browser. A 256-bit key is derived from the password with Argon2id (a memory-hard KDF, run via hand-tuned WebAssembly), then the file is encrypted with AES-256-GCM from the Web Crypto API in independent ~1 MiB chunks — Web Crypto AES-GCM has no native streaming, so chunking keeps memory bounded and removes any fixed size limit. Each chunk uses a unique nonce (base nonce concatenated with a counter) and authenticates the header, the chunk index and a final-chunk flag as additional data, so wrong passwords, tampering, truncation and reordering all fail the GCM authentication tag. The original filename is written into an encrypted metadata chunk rather than in plaintext, and the container is a versioned, self-describing format. All of this runs in a Web Worker; nothing is ever uploaded.
- Runs client-side — file and password never leave the device
- Argon2id key derivation (memory-hard, GPU-resistant) via WebAssembly
- AES-256-GCM authenticated encryption (Web Crypto API)
- Chunked: any file size, bounded memory, real progress
- Encrypted filename + tamper/truncation/reorder detection
- Versioned self-describing container; no server, no CDN
