Poly1305

E43495

Poly1305 is a high-speed message authentication code (MAC) algorithm commonly used with stream ciphers like ChaCha20 to provide data integrity and authenticity.

All labels observed (5)

How this entity was disambiguated

Statements (49)

Predicate Object
instanceOf MAC algorithm
cryptographic algorithm
message authentication code
advantageOverHMAC higher speed in software on many platforms
basedOn polynomial evaluation modulo a prime
belongsToFamily Carter–Wegman MACs
blockSizeBytes 16
category one-time MAC
combinedAsAEADWith AES in CTR mode
ChaCha20
combinedConstruction AES-Poly1305
ChaCha20-Poly1305
linked to: ChaCha20
comparedTo HMAC
definedOver prime field modulo 2^130-5
designedBy Daniel J. Bernstein
designProperty constant-time implementation possible
high-speed in software
provable security under standard assumptions
implementationLanguage C
assembly
introducedInYear 2004
oftenUsedWith AES
ChaCha20
Salsa20
outputSizeBits 128
requires one-time key
unique nonce per key
securityAssumption computational hardness of forging MAC without key
securityGoal data integrity
data origin authentication
message authentication
standardizedBy IETF
standardizedIn RFC 7539
linked to: RFC 8439

RFC 7905
linked to: RFC 7539

RFC 8439
suitableFor AEAD constructions
high-performance network protocols
typicalKeySizeBits 256
usedBy BoringSSL
OpenSSL
libsodium
usedIn IPsec
QUIC
SSH
TLS
usesOperation modular arithmetic
polynomial hash
vulnerabilityIfMisused key reuse across messages
nonce reuse with same key

How these facts were elicited

Referenced by (14)

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

ChaCha20 specifiedWith Poly1305
ChaCha20 formsAEADWith Poly1305
ChaCha20 AEADName ChaCha20-Poly1305
linked to: Poly1305
ChaCha20 IANAName CHACHA20-POLY1305
linked to: Poly1305
RFC 7539 defines Poly1305
RFC 7539 specifies Poly1305 message authentication code
linked to: Poly1305
RFC 7539 basedOn Poly1305 MAC by Daniel J. Bernstein
linked to: Poly1305
RFC 8439 defines Poly1305
ChaCha20 usedWith Poly1305
subject linked to: ChaCha
BoringSSL supportsAlgorithm Poly1305
AES-Poly1305 usesMAC Poly1305
WireGuard usesCryptography Poly1305
subject linked to: WireGuard VPN protocol