ストリーム暗号とは【用語集詳細】
ストリーム暗号(Stream Cipher)は、対象暗号の1つです。
入力された平文をビット化し、ビットごと、あるいはバイトや文字列ごとに、キーストリームによってXOR演算することで暗号化を行います。
キーストリームは、暗号鍵から一方向的に生成される疑似乱数であり、簡単に予測されないこと、また短い周期で反復しないことが強度の鍵となります。
ストリーム暗号に対して、平文を特定サイズのブロックに分割し暗号処理を行うものをブロック暗号と呼びます。
ストリーム暗号に類似する方式としてワンタイムパッドがあります。ワンタイムパッドは現代暗号が発達する以前から使われていますが、キーストリームに真の乱数を用いる点でストリーム暗号とは異なります。
広く普及しているストリーム暗号にはRC4やSalsa20、ChaChaがあります。ただし、RC4は複数の脆弱性を抱えており、RC4を用いた無線ネットワークセキュリティ方式であるWEPは、不安全として現在は利用を推奨されていません。
マルウェアやランサムウェアは、自身のソースコード内でSalsa20やChachaをよく利用しています。