Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Algorithm

ChaCha20 Algorithm

Cryptographic Algorithm

ChaCha20 is a symmetric stream cipher that generates a pseudorandom keystream from a 256 bit key, a nonce and a block counter through twenty rounds of addition, rotation and XOR operations arranged in a 4x4 matrix of 32 bit words, which is then combined with the plaintext to produce ciphertext. It was designed by Daniel J. Bernstein in 2008 as a variant of his earlier Salsa20 cipher offering improved diffusion per round. It is widely deployed today, notably paired with the Poly1305 authenticator in the ChaCha20-Poly1305 construction used by TLS and several major software products for its speed on hardware without dedicated AES instructions.

Facts
Credited To
Daniel J. Bernstein 1
Sources
1. Wikipedia: ChaCha20-Poly1305
Lead section, design paragraph
Quote, Lead section, design paragraph
The two building blocks of the construction, the algorithms Poly1305 and ChaCha20, were both independently designed, in 2005 and 2008, by Daniel J. Bernstein.
View the Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.