A self-contained in-browser implementation of 3ncr.org v1 encryption and decryption. Useful for experimenting with the envelope format, cross-checking canonical test vectors, and confirming that a library implementation agrees with another language stack without installing one.
AES-256-GCM is provided by the browser's native WebCrypto API. SHA3-256, PBKDF2-SHA3 (legacy), and Argon2id are provided by the @noble/hashes library, loaded from esm.sh at runtime.
These ciphertexts are reproduced verbatim from the v1 spec and use the legacy PBKDF2-SHA3 KDF with secret = "a", salt = "b", iterations = 1000. Click Load to populate the demo with the ciphertext and matching KDF settings, then press Decrypt.
| Plaintext | Ciphertext |
|---|
The full source of this page is a single HTML file: view source. It mirrors the reference implementations (Go, Node.js, PHP) and is small enough to read end-to-end.
Copyright (c) 2018 3ncr.org. This demo page is distributed under the MIT license, the same license as the rest of 3ncr.org.