XChaCha20
192ビットのナンスを持つChaCha20の変種。メッセージごとにランダムに選んでも衝突を心配しなくてよい。
IETF版ChaCha20のナンスは96ビットである。カウンタで管理するなら問題ないが、ランダムに選ぶと誕生日の限界により約248メッセージで衝突が起こりはじめ、ナンスの再利用は平文を漏らす。XChaCha20は、まず鍵とナンスの先頭128ビットにHChaCha20という補助関数をかけてサブ鍵を作り、残りのナンスを通常どおり使うことでこれを回避する。
構成はDaniel J. Bernsteinが2008年に作ったXSalsa20に倣っている。libsodiumに入っており、WireGuardはクッキー応答の暗号化に使う。標準化を目指したIETFドラフトはRFCにならなかったが、それで使うのをやめた人はまずいない。