ChaCha20

E6785

ChaCha20 is a modern stream cipher designed by Daniel J. Bernstein, widely used for its high performance and strong security in protocols like TLS.

Jump to: Surface forms Statements Referenced by

Observed surface forms (4)


Statements (50)

Predicate Object
instanceOf cryptographic primitive
stream cipher
symmetric-key algorithm
AEADName Poly1305
surface form: ChaCha20-Poly1305
basedOn ChaCha20 self-linksurface differs
surface form: ChaCha stream cipher family

Salsa20
blockFunctionSize 512-bit
category software-oriented cipher
cipherSuiteName TLS_AES_128_CCM_8_SHA256 (variant context)
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
comparedWith AES-CTR
Salsa20
counterSize 32-bit
cryptanalysisStatus no practical attacks known on full 20-round cipher as of 2024
designer Daniel J. Bernstein
designerAffiliation University of Illinois at Chicago
firstPublished 2008
formsAEADWith Poly1305
IANAName Poly1305
surface form: CHACHA20-POLY1305
keySize 256-bit
license public domain
nonceSize 96-bit
property designed for high performance in software
does not require hardware acceleration for good performance
resistant to cache-timing attacks in typical implementations
suitable for mobile devices
uses 4x4 matrix state
roundCount 20
securityGoal confidentiality
securityLevel 128-bit security
specifiedWith Poly1305
standardizedIn RFC 7539
RFC 8439
stateSize 16 32-bit words
status publicly analyzed
widely deployed
usedInProtocol Noise protocol framework
QUIC
SSH
TLS 1.2
RFC 8446
surface form: TLS 1.3

IPsec
surface form: WireGuard
usesOperation add-rotate-xor (ARX)
bitwise XOR
bitwise rotation
modular addition
weakerVariant ChaCha12
ChaCha8
wordSize 32-bit

Referenced by (12)

Full triples — surface form annotated when it differs from this entity's canonical label.

ChaCha20 basedOn ChaCha20 self-linksurface differs
this entity surface form: ChaCha stream cipher family
Poly1305 combinedAsAEADWith ChaCha20
Poly1305 combinedConstruction ChaCha20
this entity surface form: ChaCha20-Poly1305
RFC 7539 defines ChaCha20
RFC 8439 defines ChaCha20
Poly1305 oftenUsedWith ChaCha20
Salsa20 relatedTo ChaCha20
RC4 stream cipher replacedBy ChaCha20
subject surface form: RC4
RFC 7539 specifies ChaCha20
this entity surface form: ChaCha20 stream cipher
RFC 8439 specifies ChaCha20
this entity surface form: ChaCha20 stream cipher
TLS supportsAlgorithmFamily ChaCha20
RFC 7539 title ChaCha20
this entity surface form: ChaCha20 and Poly1305 for IETF Protocols