ChaCha

ChaCha: ChaCha is a stream cipher designed by Daniel J.

Free · No sign-up required

Text input

Your result is ready to copy or download after running.

Tool options

About ChaCha

ChaCha is a stream cipher designed by Daniel J. Bernstein. It is a variant of the Salsa stream cipher. Several parameterizations exist; 'ChaCha' may refer to the original construction, or to the variant as described in RFC-8439. ChaCha is often used with Poly1305, in the ChaCha20-Poly1305 AEAD construction. Key: ChaCha uses a key of 16 or 32 bytes (128 or 256 bits). Nonce: ChaCha uses a nonce of 8 or 12 bytes (64 or 96 bits). Counter: ChaCha uses a counter of 4 or 8 bytes (32 or 64 bits); together, the nonce and counter must add up to 16 bytes. The counter starts at zero at the start of the keystream, and is incremented at every 64 bytes.

Input: text. Output: text.

Format reference: ChaCha background and specification

Example

Use “Try example” to load this public sample and its settings, then run it.

Settings used in this example
ParameterExample valueInput and choices
Key{"option":"Hex","string":"00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f:10:11:12:13:14:15:16:17:18:19:1a:1b:1c:1d:1e:1f"}Key/text encoding: Hex, UTF8, Latin1, Base64
Nonce{"option":"Hex","string":"00:00:00:00:00:00:00:4a:00:00:00:00"}Key/text encoding: Hex, UTF8, Latin1, Base64, Integer
Counter1Minimum: 0
Rounds2020, 12, 8
InputRawHex, Raw
OutputHexRaw, Hex

Sample keys and passwords are public. Never use them to protect real data.

Input

Ladies and Gentlemen of the class of '99: If I could offer you only one tip for the future, sunscreen would be it.

Result

6e 2e 35 9a 25 68 f9 80 41 ba 07 28 dd 0d 69 81 e9 7e 7a ec 1d 43 60 c2 0a 27 af cc fd 9f ae 0b f9 1b 65 c5 52 47 33 ab 8f 59 3d ab cd 62 b3 57 16 39 d6 24 e6 51 52 ab 8f 53 0c 35 9f 08 61 d8 07 ca 0d bf 50 0d 6a 61 56 a3 8e 08 8a 22 b6 5e 52 bc 51 4d 16 cc f8 06 81 8c e9 1a b7 79 37 36 5a f9 0b bf 74 a3 5b e6 b4 0b 8e ed f2 78 5e 42 87 4d

Parameters

ParameterDefault valueInput and choices
Key{"option":"Hex","string":""}Key/text encoding: Hex, UTF8, Latin1, Base64
Nonce{"option":"Hex","string":""}Key/text encoding: Hex, UTF8, Latin1, Base64, Integer
Counter0Minimum: 0
Rounds2020, 12, 8
InputHexHex, Raw
OutputRawRaw, Hex

Before interpreting the result

Use the exact key encoding, mode, padding and IV expected by the source system. Historical ciphers are useful for learning and analysis. Encoding alone provides no confidentiality.

How to use this page

  1. Paste your input or open a local file.
  2. Adjust tool options if needed, then choose Run tool.
  3. Copy the result or download the original output bytes.

Inputs and results are not added to the public catalogue or saved in the URL. Processing happens in your browser; HTTP Request and DNS over HTTPS send the requests you explicitly run. Files up to 128 MiB can be opened; decompression and image tools may have smaller processing limits. Large results have a shortened preview. Text and HTML downloads use UTF-8; binary downloads preserve output bytes. Pasted text follows browser newline handling; open a file when exact input bytes matter.

Related tools

Browse encryption / encoding tools