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.

All labels observed (5)

How this entity was disambiguated

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

How these facts were elicited

Referenced by (19)

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

TLS supportsAlgorithmFamily ChaCha20
ChaCha20 basedOn ChaCha20 self-linksurface differs
this entity surface form: ChaCha stream cipher family
RC4 stream cipher replacedBy ChaCha20
subject surface form: RC4
Poly1305 oftenUsedWith ChaCha20
Poly1305 combinedConstruction ChaCha20
this entity surface form: ChaCha20-Poly1305
Poly1305 combinedAsAEADWith ChaCha20
Salsa20 relatedTo ChaCha20
RFC 7539 title ChaCha20
this entity surface form: ChaCha20 and Poly1305 for IETF Protocols
RFC 7539 defines ChaCha20
RFC 7539 specifies ChaCha20
this entity surface form: ChaCha20 stream cipher
RFC 8439 defines ChaCha20
RFC 8439 specifies ChaCha20
this entity surface form: ChaCha20 stream cipher
ChaCha hasVariant ChaCha20
OpenSSL supportsAlgorithm ChaCha20
BoringSSL supportsAlgorithm ChaCha20
WireGuard VPN protocol usesCryptography ChaCha20
subject surface form: WireGuard
Yoav Nir title ChaCha20
subject surface form: RFC 7539
this entity surface form: ChaCha20 and Poly1305 for IETF Protocols
XChaCha20-Poly1305 AEAD construction basedOn ChaCha20
this entity surface form: ChaCha20 stream cipher