All-or-nothing transform

提供: tezos-wiki
移動先: 案内検索

暗号化では、「オール・オア・ナッシング・プロトコル」とも呼ばれる「オール・オア・ナッシング・トランスフォーメーション」(「 'AONT' )」は暗号化モードであり、すべてが分かっている場合にのみ理解されるデータ。 AONTは暗号化ではないが、しばしば対称暗号を利用し、暗号化の前に適用することができる。正確に言えば、「AONTは、すべての出力がわかっていなければ反転するのが難しい性質を持つ、鍵のない、可逆で無作為化された変換です。

アルゴリズム[編集]

オリジナルのAONTであるパッケージ変換は、Ronald L. Rivestによって[1]をクリックします。簡単に言えば、Rivestは各平文ブロックをランダムキーで暗号化して「疑似メッセージ」を生成し、各暗号化ブロックをハッシュし、疑似メッセージの最後のブロックを生成するためにすべてのハッシュをランダムキーと共にXORします。 ブロックもインクリメントカウンタと排他的論理和(XOR)され、ブロックの重複を防ぐことができます。この結果、部分的にデコードできない「パッケージ」が生成されます。

パッケージ変換では、任意のモードで暗号を使用して、パッケージECB変換、パッケージCBC変換などを作成できます。

1999年、Victor Boykoは別のAONTを提案しました。これは無作為oracleモデルの下で確かに安全です。この実装は線形変換であり、おそらく元の定義の弱点を強調します。

アプリケーション[編集]

AONTを使用すると、鍵のサイズを増やすことなく暗号化の強度を高めることができます。これは、例えば、政府の暗号技術の輸出規制に準拠して秘密を保護するのに役立ちます。 AONTはいくつかの[攻撃]を防ぐのに役立ちます。

AONTが暗号化の強さを向上させる方法の1つは、部分的な情報だけで元のメッセージを回復するには不十分であるため、情報の一部だけを明らかにする攻撃を防ぐことです。

元の論文で提案されているもう1つのアプリケーションは、セキュリティのコストを削減することです。たとえば、ファイルをAONTで処理し、その一部しか暗号化できないなどです(スマートカードなど)。 AONTはその結果、ファイル全体が保護されることを保証します。変換の強力なバージョン(上記のBoykoによるものなど)を使用することが重要です。

AONTは順方向誤り訂正と組み合わされて、計算上安全な秘密分散方式を生み出すことができる。

AONTの他の用途は、最適な非対称暗号化パディング(OAEP)で見つけることができます。

関連項目[編集]

ソース[編集]

http://wikipedia.org/