質問:
xor暗号化を検出して破る最も効率的な方法は何ですか?
perror
2013-05-20 21:44:55 UTC
view on stackexchange narkive permalink

最新の暗号化アルゴリズムは完全にランダムなデータ(暗号文識別不能性)に可能な限り近いこと、そしてそれを検出しようとしてもまったく役に立たないことを私は知っています。しかし、 xor暗号化などの弱い暗号で何ができるでしょうか?特に、暗号化されているものの統計的研究を得ることができれば?

どのような方法があり、どの方法が最も効率的ですか(そしてどのような仮説の下で)?そして最後に、この種の暗号化を効率的に破る方法(暗号化されたものの統計的知識のみに基づく)?

あなたはxor暗号化を意味します-私が知る限り、XOR暗号化のようなものはありません:)
実際、「xorエンコーディング」、「xor暗号化」、「xor暗号化」はすべて同じように使用されてこの手法を参照していると思います。思いませんか?
三 答え:
mikeazo
2013-05-21 00:04:29 UTC
view on stackexchange narkive permalink

短いパッド(つまり、平文よりも短い)を使用したXOR暗号化は、基本的にヴィジュネル暗号です。したがって、Vigenèreを破る標準的な手法はxor暗号化を破るはずです。

基本的な考え方は、暗号化キーが d 記号の長さである場合、すべての d 番目のシンボルは同じパッドで暗号化されます。したがって、すべての d 番目の暗号文記号を取り、それを単純な換字式暗号のように扱い、それを破ると、キーの最初の記号が得られます。 d + 1 番目の暗号文シンボル、 d + 2 番目の暗号文シンボルなどについて繰り返します。最終的には、すべての d シンボルがキー。

単純な換字式暗号を破るには、ブルートフォース(記号セットが小さい場合)を試して、可能な平文を既知の統計データと比較します。特定の平文(たとえば英語)の場合、ほとんどの場合、さらに速く分割できます(たとえば、英語のテキストでは、暗号文で最も頻繁に使用される記号は、おそらく e にマップされます)。

今、あなたは考えているかもしれません。 d がわからない場合はどうでしょうか。多くの場合、Vigenèreでは、キーの長さはブルートフォースされます。 d = 1、d = 2、d = 3、...を試してください。各dについて、出力平文が統計データとどの程度一致しているかを確認します。平文が統計データに最も近いキーを返します。

暗号文が比較的短い場合、方法はありますか?
0xea
2013-05-21 00:44:19 UTC
view on stackexchange narkive permalink

マルチバイトXOR周波数分析の場合は、次の方法です。

一般的に知られているように、通常の英語のテキストで最も頻繁に使用される文字はE(etaoinshrdluがトップ12)ですが、場合によってはスペース(特に短いメッセージでは、ASCIIの0x20)の頻度が高くなる可能性があります。

一方、実行可能コードの場合、参照が見つかりません。最も頻繁な文字は0x00または0xFFで、どちらも一般的です。整数。実行可能コードとバイナリファイルの場合、いくつかのショートカットがあることに注意してください。たとえば、暗号文のある場所で0x00バイト(またはシーケンス)が発生しなければならないことがわかっている場合、キーの一部がリークします。

シングルバイトXORの場合、キースペースは制限されます。明らかに256文字まで。

xortoolと呼ばれるhellmanによる単純なpythonツールがあります。これはCTFの課題に特に便利です:)

ツールxor分析を行うには:

  • キーの長さを推測します(等しい文字の数に基づいて)
  • キーを推測します(最も頻繁な文字の知識に基づいて)
非常に素晴らしいツールです!リンクをありがとう。
または、Windowsバイナリ実行可能ファイルの場合、最初の2バイトは0x4D5A(MZマジックヘッダー)になります。
k0ng0
2013-05-21 08:25:38 UTC
view on stackexchange narkive permalink

リストに追加するだけです。 SANSは、約1週間前に、XOR暗号化のさまざまなツールに関するブログを投稿しました。リストは非常に優れており、いくつかのツールが提供されていますが、すべて私の意見では優れています。

リンクは次のとおりです: XORツールに関するSANSブログ



このQ&Aは英語から自動的に翻訳されました。オリジナルのコンテンツはstackexchangeで入手できます。これは、配布されているcc by-sa 3.0ライセンスに感謝します。
Loading...