Poly1305
オリジナルであるPoly1305-AESは、128ビットのAES鍵、106ビットの追加鍵、128ビットの1回だけ使われる値 (nonce)を用いて、可変長のメッセージから128ビット(16バイト)の認証子を生成する。素数である 2−5 およびAdvanced Encryption Standard (AES)を用いていることからその名が付けられた。
NaClではAESではなくSalsa20が、TLSおよびSSHではChaCha20が用いられる。
Googleは、共通鍵暗号としてChaCha20、メッセージ認証符号としてPoly1305を組み合わせたものを、RC4に代わるインターネットセキュリティで利用可能なストリーム暗号として提唱し、Google ChromeおよびGoogleのウェブサービスにおけるTLS/SSL通信 (https) においてChaCha20-Poly1305が実装されている。TLS/SSLにおけるChaCha20/Poly1305の利用は、RFC 7905 として標準化された。
GoogleによるTLSでの採用に続き、ChaCha20とPoly1305の組み合わせはchacha20-poly1305@openssh.comとしてOpenSSHに採用された。これにより、OpenSSHがOpenSSLに依存する必要がなくなった。