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
Time Complexity
Time Complexity (category)
Linear Time -- O(n) 1
Credited To
Daniel J. Bernstein 2
Connections

In Field

Cryptography, Fields
Source Wikipedia: ChaCha20-Poly1305
Sources
1. ChaCha20 Algorithm (Wikipedia)
Wikipedia infobox: time complexity linear
Quote, Wikipedia infobox: time complexity linear
linear
View the Source
2. Wikipedia: ChaCha20-Poly1305
  • 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.
  • In Field: Cryptography, Lead sentence
    ChaCha20-Poly1305 is an authenticated encryption with associated data (AEAD) algorithm, that combines the ChaCha20 stream cipher with the Poly1305 message authentication code.
View the Source
IETF RFC Editor: RFC 8439: ChaCha20 and Poly1305 for IETF Protocols
IETF RFC EditorIn Group: Stream Cipher, Abstract
Quote, In Group: Stream Cipher, Abstract
This document defines the ChaCha20 stream cipher as well as the use of the Poly1305 authenticator, both as stand-alone algorithms and as a "combined mode", or Authenticated Encryption with Associated Data (AEAD) algorithm.
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.