Poly1305 is a message authentication code: it helps detect changed data by processing input with polynomial arithmetic and a one-time authentication key. In ChaCha20-Poly1305, it authenticates both ciphertext and associated data. section 4.5.3
Inside ChaCha20-Poly1305
ChaCha20 encrypts the plaintext and derives the keys required by Poly1305; Poly1305 then authenticates the ciphertext and associated data.
