ストリーム暗号
擬似乱数の鍵ストリームを生成し、平文とXORして暗号化する共通鍵暗号。短いメッセージでも速く、パディングの問題がない。対になるのはブロック暗号。
古典はRC4(Ron Rivest、1987年)で、90年代に普及したが現在では破られ、TLS 1.3では禁止されている。現代の代表はChaCha20(Daniel J. Bernstein、2008年)で、TLS 1.3、WireGuard、Signalが採用している。前身はSalsa20である。認証付き暗号(AEAD)の形ではChaCha20-Poly1305(TLS)やXSalsa20Poly1305(NaCl/libsodium)がある。携帯電話のGSMでもA5/1やA5/3が使われている。鍵が真にランダムでメッセージと同じ長さなら、ワンタイムパッドが理論上完全なストリーム暗号になる。