Poly1305
Un codice di autenticazione dei messaggi veloce, pubblicato da Daniel J. Bernstein nel 2005.
Il Poly1305 calcola il tag trattando il messaggio come un polinomio e valutandolo modulo 2130−5. La chiave è di 256 bit: una metà governa il polinomio, l'altra maschera il risultato finale. È veloce in software e piuttosto difficile da usare male, il che faceva parte degli obiettivi di progetto.
La chiave non deve mai essere riutilizzata. Nel ChaCha20-Poly1305 il problema si risolve derivando una chiave nuova per ogni messaggio, così il Poly1305 non vede mai due volte la stessa chiave.