Verify and decrypt ChaCha20-Poly1305 ciphertext without releasing unauthenticated bytes.
The frame below runs the same code as this page, in the reader's own browser. Nothing is sent to us, and nothing is sent to you.
Pick a dark background and the text and panels follow it, so the frame stays readable on a dark page.
Poly1305 checks the tag over ciphertext and additional data before ChaCha20 decryption releases plaintext. The same key and nonce are required, and failures return no trusted bytes.
Input: Gpbz67SogkqhFr2pwuHJSkErsKLZ1j2AZjiD57zPgDCrL5f7CwP6bvmROxkWatMbsuVvs2hlNXDT5E0PA1iwH6mIuMbyIf6lkwbr+RUeUDHXMO/Wg5axAA== Key: correct horse battery staple
The quick brown fox jumps over the lazy dog.
Mobile services, token stores, and protocol tests decrypt authenticated data.