web-dev-qa-db-ja.com

暗号化された情報を知っていると、未知のキーを見つけやすくなりますか?

暗号化されたメッセージまたは複数のメッセージの正確な内容を知っていると、理論的には暗号化キーを見つけやすくなるかどうか知りたいです。これはブルートフォース攻撃を何らかの方法でスピードアップしますか?または、キーを発見する他の手段を提供しますか?

この概念は、対称暗号化と非対称暗号化の両方にどのように適用されますか?

4
William

いつものように、それはアルゴリズムに依存します。あなたが求めている攻撃手法は「 既知の平文攻撃 」と呼ばれますが、特定の種類の暗号化に対してのみ機能します。現代の暗号解読は、すべてパターン検出に関するものです。ブルートフォース攻撃は、暗号を攻撃する他のすべての手段が失敗したことを意味するため、最後に行われます。

Rot-13(難読化に勝る弱い暗号化)などの単純なシフト暗号を想像してみてください。あなたと私はシフトファクターが13であることを知っていますが、私たちの架空の暗号解読はそうではありません。ただし、平文と暗号文の両方のさまざまなサンプルを利用できるため、座って、各「a」が一貫して「n」にシフトしていることを非常に迅速に判断できます。これに気付くと、彼らはシフトキーが13であることをすばやく検出し、この基本的な暗号化スキームを「破り」ます。彼らが自分の仕事を簡単にチェックするこの能力を持っていなかった場合、コードを壊す行為ははるかに長くかかり、おそらく各シフトファクターを試すことによってそれを解決するための「強引な」方法を開始する必要があります。

暗号化アルゴリズムは通常、既知の平文攻撃の影響を受けやすいものの、最新のアルゴリズムは通常、意味のある方法で攻撃されないように構築されていることを理解しています。つまり、対称の256ビットキーを使用している可能性があり、多くの分析を行った後、純粋なブルートフォース攻撃から10ビットを削減します。アルゴリズムには、246ビットの複雑さがあります。そのキーをブルートフォースするのにはまだしばらく時間がかかります。 AESが意味のある攻撃を行うことは想定されていません。

非対称暗号化は、平文と比較したい数の暗号テキストを生成できるという点で興味深いケースです(結局、公開鍵に無料でアクセスできます)。この時間を使用して、アルゴリズムまたは特定の実装の弱点を見つけて悪用することができます。

7
logicalscope