混乱と拡散の違い
コンテンツ
混乱と拡散という用語は、安全な暗号を作成するためのプロパティです。混乱と拡散の両方が暗号化キーを演fromから防ぐか、最終的にオリジナルを防ぐのに使用されます。混乱は、無知な暗号を作成するために使用され、拡散は、暗号の大部分を覆うプレーンの冗長性を増加させてそれを不明瞭にするために使用されます。ストリーム暗号は混乱のみに依存しています。または、ストリーム暗号とブロック暗号の両方で拡散が使用されます。
クロードシャノンは、長くて時間のかかる統計手法を使用するのではなく、暗号機能の基本ブロックをキャプチャするための混乱と拡散の手法を提案しました。シャノンは主に、統計分析の助けを借りた暗号解読の防止について心配していました。
その理由は次のとおりです。攻撃者が平野の統計的特徴をある程度理解しているとします。たとえば、人間が理解できる場合、アルファベットの頻度分布は事前に知ることができます。その場合、既知の統計を暗号に反映できる暗号解読は非常に簡単に実行できます。この暗号解読は、確かにキーまたはキーの一部を推測できます。それがシャノンが二つの方法、すなわち混乱と拡散を提案した理由です。
- 比較表
- 定義
- 主な違い
- 結論
比較表
比較の根拠 | 混乱 | 拡散 |
---|---|---|
ベーシック | あいまいな暗号を生成するために利用されます。 | あいまいなプレーンsを生成するために使用されます。 |
に求める | 暗号の統計と暗号化キーの値との関係をできるだけ複雑にします。 | プレーンと暗号の間の統計的関係は可能な限り複雑にされています。 |
達成した | 置換アルゴリズム | 転置アルゴリズム |
によって使われた | ストリーム暗号とブロック暗号 | ブロック暗号のみ。 |
結果 | あいまいさの増加 | 冗長性の向上 |
混乱の定義
混乱 は、暗号の曖昧さを高めるために考案された暗号化技術です。簡単な言葉で言えば、この技術は、暗号が平野についての手がかりを与えないことを保証します。所定の手法では、暗号の統計と暗号化キーの値との関係は可能な限り複雑に維持されます。攻撃者は暗号の統計をある程度制御できますが、その暗号を生成するためにキーが使用された方法は非常に複雑であるため、キーを推測できませんでした。
混乱は、キーと入力(プレーン)に依存する置換と複雑なスクランブリングアルゴリズムを使用することで得られます。
拡散の定義
拡散 は、平野の冗長性を高めて平野の統計構造を不明瞭にし、キーを推測しようとするのを防ぐために発明された暗号技術です。拡散では、平野の統計構造が暗号の長距離統計に消えることがあり、それらの関係は複雑であるため、誰も元の鍵を推測できません。
これは、プレーンの1ビットが変更されると暗号全体に影響を与えるか、暗号全体に変更が発生する必要があるなど、個々のプレーン数字を多くの暗号数字に広げることによって実現されます。
ブロック暗号では、関数にデータの順列を適用することで拡散を取得できます。結果は、元のプレーンの異なる位置からのビットが暗号の1ビットに寄与することです。ブロック暗号の変換はキーに依存します。
- あいまいな暗号を作成するために混同技法が使用され、一方、あいまいな平野を生成するために拡散が使用されます。
- 拡散は、プレーンと暗号の間の統計的な関連付けを可能な限り複雑にすることを試みます。それどころか、混同技術は、暗号の統計と暗号化キーの値の間の相関関係を可能な限り複雑にすることを試みます。
- 混乱を得るために、置換アルゴリズムを使用できます。反対に、転位は転位法を使用して達成できます。
- ブロック暗号は拡散だけでなく混乱にも依存しますが、ストリーム暗号は混乱のみを使用します。
結論
混乱と拡散はどちらも暗号技術であり、混乱の目的は、暗号の統計と暗号化キーの値との関係を可能な限り複雑にすることです。一方、拡散は、個々のプレーン数字の影響を主要部分または暗号数字に広げることにより、プレーンの統計構造をあいまいにしようとします。