Salsa20

Salsa20について



Salsa20は、ダニエル・バーンスタインにより創られたストリーム暗号です。この暗号は、32ビットの加算、XOR操作、固定ローテートから成る疑似乱数生成によって機能します。入力として必要なものは、256ビットの鍵、64ビットのnonce、そしてカウンタを示す64ビットの値です。これを元に、512ビットの鍵ストリームを1ブロック生成します。さらに、128ビットの鍵長のバージョンも用意されています。この特徴により、Salsa20は特定の位置の鍵ストリームを迅速に算出できるのです。

Salsa20の設計は特許によって保護されておらず、バーンスタイン自身が様々なアーキテクチャ向けに最適化実装を公開しています。最新のx86プロセッサ環境では、ソフトウェア実装の速度は1バイトあたり4〜14サイクルの範囲となります。

構造


Salsa20の運用は、初期状態として設定される16ワード(1ワードは32ビット)が基盤となります。この初期状態には、8ワードの鍵、2ワードのストリーム位置、2ワードのnonce、そして4つの固定ワードが含まれています。固定ワードは、ASCII形式で

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。