Entry № 1232
ストリーム暗号
ストリーム暗号 とは何ですか?
ストリーム暗号鍵とナンスから導出した擬似乱数の鍵ストリームを平文とビットまたはバイト単位で XOR して暗号化する対称暗号。
ストリーム暗号は秘密鍵とナンスから擬似乱数の鍵ストリームを生成し、平文と XOR して暗号文を得ます。復号時は同じ鍵ストリームを再生成して暗号文と XOR します。ブロック境界がなく状態量も小さいため、ストリーミング処理や省リソース環境に向きます。ChaCha20 や Salsa20 のような現代的設計は高速・定数時間で安全ですが、RC4 のような旧来の設計は破られており、TLS や WPA など多くの標準で禁止されています。最重要のルールは(鍵, ナンス)組を二度と使わないことです。同じ鍵ストリームで暗号化された 2 つのメッセージはその XOR を露呈し、しばしば両方の平文を復元できてしまいます。そのため通常は ChaCha20-Poly1305 のような認証付きモードで利用します。
● 例
- 01
ChaCha20-Poly1305 は TLS 1.3 と QUIC で主流のストリーム暗号系 AEAD。
- 02
RC4 は WEP や SSL/TLS で歴史的に用いられたが現在は禁止されている。
● よくある質問
ストリーム暗号 とは何ですか?
鍵とナンスから導出した擬似乱数の鍵ストリームを平文とビットまたはバイト単位で XOR して暗号化する対称暗号。 サイバーセキュリティの 暗号 カテゴリに属します。
ストリーム暗号 とはどういう意味ですか?
鍵とナンスから導出した擬似乱数の鍵ストリームを平文とビットまたはバイト単位で XOR して暗号化する対称暗号。
ストリーム暗号 からどのように防御しますか?
ストリーム暗号 に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。