Poly1305
Un code d'authentification de message rapide, publié par Daniel J. Bernstein en 2005.
Poly1305 calcule son étiquette en traitant le message comme un polynôme évalué modulo 2130−5. La clé fait 256 bits : une moitié alimente le polynôme, l'autre masque le résultat final. Il est rapide en logiciel et plutôt difficile à mal implémenter, ce qui faisait partie du cahier des charges.
La clé ne doit jamais servir deux fois. Dans ChaCha20-Poly1305, le problème est résolu en dérivant une clé neuve pour chaque message, de sorte que Poly1305 ne voit jamais deux fois la même clé.