3ncr.org v1 — browser demo

← back to the v1 spec

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.

Demo only. This page runs entirely in your browser — nothing is uploaded — but a production-grade secret still should not be pasted into a web page. Browser extensions, devtools, history, clipboard managers, and swap files can all retain the values you enter. Use the demo with throwaway keys and sample data.

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.

Key

Key source

Message

Canonical v1 test vectors

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.

PlaintextCiphertext

Source

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.

License

Copyright (c) 2018 3ncr.org. This demo page is distributed under the MIT license, the same license as the rest of 3ncr.org.