V VPN Glossaryvpnglossary.com
163 entries · 2026 ed.
№ 108 / 163 P Encryption

Poly1305

Poly1305 is a fast message authentication code (MAC) designed by Daniel J. Bernstein that proves a message has not been altered in transit.

§ 01

Definition

Encryption hides data, but it does not on its own stop an attacker from tampering with it. A MAC adds a short tag that only someone with the key can produce. Poly1305 is usually paired with the ChaCha20 cipher as ChaCha20-Poly1305, standardised in RFC 8439.

§ 02

How it works

For each message, a one-time key derived from the session key is used to compute a 16-byte tag over the ciphertext. The receiver recomputes the tag; if even one bit differs, the packet is dropped. This 'encrypt-then-authenticate' pairing is called AEAD (authenticated encryption with associated data).

§ 03

Why it matters

Poly1305 is part of WireGuard and of TLS 1.3's ChaCha20 cipher suite. It is a reason these protocols stay fast on phones and routers that lack AES hardware acceleration.

/ Sources

  1. RFC 8439: ChaCha20 and Poly1305
  2. Bernstein, 'The Poly1305-AES message-authentication code'