ChaCha20-Poly1305

What you use when AES has no hardware behind it — a phone, an embedded board, a VM without AES-NI. Authenticated, and constant-time by construction rather than by careful implementation.

What it is made of

Key size
256 bits
Authenticated
Yes — the cipher produces its own tag
Nonce
12 bytes
Runs in
The server only

What it is

What you use when AES has no hardware behind it — a phone, an embedded board, a VM without AES-NI. Authenticated, and constant-time by construction rather than by careful implementation.

Where it runs

WebCrypto has no ChaCha20. Run this one on the server lane. Everything else in the lab runs in your browser by default, and the lab switches lane for you rather than hiding the option.

What it does not protect

A cipher protects the CONTENT and not the shape. The length of the file, the moment you sent it and who you sent it to all survive encryption untouched, and no setting on this page changes that. The container header is plaintext too — it records which cipher you chose, which is correct and deliberate, and it records the original filename only if you explicitly ask it to.

Try it

Open the lab, pick this in the cipher list, and encrypt the same file twice. The two results share no bytes — that is the random salt and IV doing their job — and both open with the same passphrase. The lab is a Leumas membership away; everything on this page is free.