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 ChaCha20-Poly1305
linked to: Poly1305
basedOn ChaCha stream cipher family
linked to: ChaCha20

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 CHACHA20-POLY1305
linked to: 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
TLS 1.3
linked to: RFC 8446

WireGuard
linked to: IPsec
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 ChaCha stream cipher family
linked to: ChaCha20
RC4 replacedBy ChaCha20
subject linked to: RC4 stream cipher
Poly1305 oftenUsedWith ChaCha20
Poly1305 combinedConstruction ChaCha20-Poly1305
linked to: ChaCha20
Poly1305 combinedAsAEADWith ChaCha20
Salsa20 relatedTo ChaCha20
RFC 7539 title ChaCha20 and Poly1305 for IETF Protocols
linked to: ChaCha20
RFC 7539 defines ChaCha20
RFC 7539 specifies ChaCha20 stream cipher
linked to: ChaCha20
RFC 8439 defines ChaCha20
RFC 8439 specifies ChaCha20 stream cipher
linked to: ChaCha20
ChaCha hasVariant ChaCha20
OpenSSL supportsAlgorithm ChaCha20
BoringSSL supportsAlgorithm ChaCha20
WireGuard usesCryptography ChaCha20
subject linked to: WireGuard VPN protocol
RFC 7539 title ChaCha20 and Poly1305 for IETF Protocols
subject linked to: Yoav Nir
linked to: ChaCha20
XChaCha20-Poly1305 AEAD construction basedOn ChaCha20 stream cipher
linked to: ChaCha20