Encrypt/Decrypt

12 random words (or your choice of unique text):
Copy
Message to encrypt/decrypt:
Encrypt/decrypt Copy

Instructions

  1. A random set of 12 memorizable English words appears in the upper text box every time this page is refreshed.
  2. They should be securely stored and kept private because they are used to generate your secret encryption/decryption key.
  3. Type or paste text into the Message box and click on the Encrypt/decrypt button. The encrypted message appears in the Message box in place of the original message.

Technical notes:

This page uses the TweetNaCl-js implementaion of Ed25519 DSA (Digital Signature Algorithm) and SHA-512 for hashing the mnemonic seed.

Once it is served to your computer, has no further communication with the server or any other entity. No cookies or local data storage are created when the pages run in your browser. Therefore, secret data exist only temporarily within the browser while it is open, unless manually copied elsewhere. The browser cache should be cleared before closing it. The clipboard should also be cleared if a secret was copied to it.

For enhanced peace of mind, save this HTML page to your computer when it is blank and move it to an offline computer before using. Review the dowloaded code, which includes the two libraries nacl.min.js and nacl-util.min.js, obtained from Github user dchest (Dmitry Chestnykh). The originals are available at these links along with non-minified (and possibly more recent) versions:

  1. tweetnacl-js 1.0.3
  2. tweetnacl-util-js v0.15.0
TweetNaCl.js was ported from TweetNaCl / NaCl.