ストリーム暗号
ストリーム暗号（ストリームあんごう、stream cipher）とは、平文をビット単位あるいはバイト単位などで逐次、暗号化する暗号である。平文を64ビットや128ビットなどの固定長のブロックに分割して暗号化する暗号を指すブロック暗号に対比した語である。その構成上、入力がファイルではなくストリーム等の逐次追加されるデータであった場合、ブロック暗号は入力がブロックサイズに達するまで溜まらないと処理を進めることができないのに対し、ストリーム暗号はその必要がないのが特徴である。
種類
ここでは、使用する擬似乱数列生成器のタイプ別に種類分けする。
ストリーム暗号用に設計されたもの
RC4やSEAL（en:SEAL (cipher) ）、Salsa20(ChaCha20)など。
暗号論的擬似乱数生成器
一般的な暗号論的擬似乱数列生成器を使うこともある（一般的には計算量の点で利点が無いが、他の部分により重い計算があるなど、それが問題にならない場合。例えば en:Blum–Goldwasser cryptosystem の内部に、Blum-Blum-Shubを利用するストリーム暗号、という構造が含まれている）。
カオス
カオスに基づく擬似乱数生成器の利用も提案されている（梅野健の提案による「Vector Stream Cipher（VSC）」など）。
用途
ストリーム暗号は、平文がいつ何バイト発生するか不確定なアプリケーションによく採用される。例えば、音声暗号化（秘話）などの秘匿通信である。
ウェブブラウザで使用される暗号化通信SSLの暗号方式としてRC4が (オプションとして) 採用されている。無線LAN (WEP,WPA) でもRC4が使用される。他に、携帯電話用に A5/1, A5/2 などがある。