DES は安全ではないと言われています。キーの長さが55ビットであるためだと思います。そのため、ブルートフォースを使用すると、最近では多くないキーを見つけるために最大2 ^ 55の反復が必要になります。しかし、2^55 を反復する場合、停止するタイミングはいつわかるのでしょうか。
2 に答える
2 55ではなく2 56です。
いつ停止するかを知る方法には、いくつかのオプションがあります。1 つは、既知の平文攻撃を行っていることです。つまり、特定のメッセージの実際のテキストを知っていて、それを使用してキーを学習し、それを使用して他のメッセージを読み取ることができます。多くの場合、全文はわかりませんが、いくつかの部分は知っているかもしれません。たとえば、関心のあるタイプのすべてのメッセージで使用されるアドレス ブロックについて、またはファイルがencrypted には、実際のコンテンツが不明であっても、認識可能なヘッダーが含まれている場合があります。
メッセージのテキスト (のいずれか) を知らない場合、一般的に、自然言語は一般にかなり冗長であるという事実に依存しています。その構造についてはかなりのことがわかっています。いくつかの例として、英語では、スペースが一般的に最も一般的な文字でe
あり、最も一般的な文字であり、同じ文字が 2 つ以上連続する単語はほとんどなく、ほぼすべての単語に少なくとも 1 つの母音が含まれていることがわかっています。典型的なケースでは、いくつかの異なるレベルの統計分析を行います。ほとんどの可能性を非常に迅速に除外する非常に単純な分析です。そのテストに合格したものについては、残りの大部分をかなり迅速に除外する 2 番目の分析を行います。
完了したら、いくつかの可能性から選択するために人間の判断が必要になる可能性がありますが、正直なところ、それはかなり珍しいことです。一般に、統計分析は完全に適切です。
ハフマン圧縮などのアルゴリズムを使用してデータを圧縮し、圧縮されたデータのエントロピーを最大化するなどして、統計分析に問題があると感じている人もいることを付け加えておく必要があります。
内容によります。どんなキーでもなんらかの出力が生成されるため、探しているものの種類を推測できない限り、正しいキーが見つかったことを自動的に知る方法はありません。暗号化されたデータがテキストであると予想される場合は、各復号化に主に ASCII 文字が含まれているかどうかを確認できます。同様に、JPEG ファイルであることが予想される場合は、復号化が文字 "JFIF" で始まるかどうかを確認できます。
データが圧縮されていないと予想される場合は、復号化に対してさまざまなエントロピー テストを実行して、エントロピーの低い復号化を探すことができます。