Salsa20
Salsa20 とは何ですか?
Salsa20Daniel J. Bernstein が 2005 年に設計した 256 ビット鍵のストリーム暗号。eSTREAM ポートフォリオに選定され、ChaCha20 の直接の先祖となるアルゴリズム。
Salsa20 は Daniel J. Bernstein が 2005 年に発表したストリーム暗号で、欧州 eSTREAM コンペティションのソフトウェアポートフォリオ最終版に採用されました。256 ビット鍵、64 ビットナンス、ブロックカウンタから得られる 512 ビットの内部状態に対し、加算・回転・XOR ベースの quarter-round 関数を 20 ラウンド適用(Salsa20/20)して鍵ストリームを生成します(Salsa20/12 や Salsa20/8 の縮小版も存在)。ソフトウェア実装で高速・定数時間であり、縮小ラウンドへの攻撃を除いて十分な暗号解析耐性を維持しています。現在は拡散性とより長いナンスを持つ ChaCha20 にほぼ置き換わっていますが、ナンス拡張版 XSalsa20 として NaCl/libsodium ライブラリや、過去には Tor の Hidden Service で利用されてきました。
● 例
- 01
NaCl/libsodium の secretbox は既定の AEAD として XSalsa20-Poly1305 を採用している。
- 02
Salsa20/12 は eSTREAM の最終ポートフォリオに選ばれた。
● よくある質問
Salsa20 とは何ですか?
Daniel J. Bernstein が 2005 年に設計した 256 ビット鍵のストリーム暗号。eSTREAM ポートフォリオに選定され、ChaCha20 の直接の先祖となるアルゴリズム。 サイバーセキュリティの 暗号 カテゴリに属します。
Salsa20 とはどういう意味ですか?
Daniel J. Bernstein が 2005 年に設計した 256 ビット鍵のストリーム暗号。eSTREAM ポートフォリオに選定され、ChaCha20 の直接の先祖となるアルゴリズム。
Salsa20 からどのように防御しますか?
Salsa20 に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。