9

これは、必要なハッシュアルゴリズムの理論を伴う組み合わせ論の問題です。

入力が 30 kB から 5 MB のサイズのバイトの任意のランダムなシーケンスであるとしましょう (これにより、かなりの数の入力値の組み合わせが作成されると思います :))

バイト シーケンスから計算された MD5 ハッシュの最初の 4 バイト (または最初の n バイト) が異なるファイルで同じになる確率は?

これが MD5 ハッシュ専用に計算できない場合、一様に分散された m バイト ハッシュを生成するハッシュ関数が、指定された入力範囲の最初の n バイトで衝突を伴うハッシュを計算する確率はどれくらいですか?

4

6 に答える 6

9

バイト値の確率に関する詳細情報がない場合は、2^32に1日になると思います。

編集します。実際、純粋なバイトの代わりに16進文字を使用している場合は、2^16に1つです。

コメントに基づいて編集:

MD5は、計算された値が完全にランダムであるという均一性があると見なすことができますか?

MD5ハッシュアルゴリズムは、入力のわずかな変更によって完全に異なるハッシュが生成されるように設計されているため、MD5ハッシュバイトは同じ確率で分散されると言えます(とにかく何も賭けません)。とにかく、ハッシュに後処理を適用して(たとえば、キー付きMD5を使用できます)、ランダム性を高めます(ちなみに、プレーンなMD5ハッシュは安全でないことが証明されているため、より安全にします)。

于 2009-11-13T08:21:38.700 に答える
4

理想的なハッシュ関数の場合、出力は均等に分散されるため、2 つの衝突の可能性は 2^32 分の 1 です。ただし、誕生日のパラドックスは、ハッシュのすべてのペアを比較している場合、平均で 2^16 ハッシュになると衝突が発生することを期待する必要があることを示しています。 「私は40億よりもはるかに少ない値を持っています」.

私たちが知っているように、MD5 は理想的なハッシュ関数ではありませんが、弱点はここではいくらか偶発的です: 4 バイトで衝突を見つけることは、合理的なブルート フォース攻撃の領域内にあるため、暗号化の弱点に頼る必要はありません。無作為に選択されたデータのみに関心がある場合は、無作為性からの有意な統計的偏差は見られません。

于 2009-11-13T08:48:02.367 に答える
3

同じ4バイトのハッシュを持つ2つの特定の入力のオッズに関心がある場合は、1/2^32です。同じオッズを持つX個の合計入力のセットのうちの2つの入力のオッズに関心がある場合、セット内の2 ^ 16 = 65536の個別の入力に近づき始め、50%近くに達するまで、これはかなり低いままです(この現象は誕生日のパラドックスとして知られています)。

一般に、ハッシュ関数が暗号的に有用であるための基準の1つは、すべてのビットにわたる均一性です。

于 2009-11-13T09:36:37.723 に答える
3

誕生日のパラドックスにより、n ビット ハッシュでの衝突の確率は 2^(n/2) に約 1 です。この場合、2^16 に約 1 です。何らかの理由で 16 進エンコードの 32 ビットの使用について言及している場合、もちろんそれは最初の実際の 16 ビットのみであるため、衝突の確率は 2^8 分の 1 になります。

特定の固定ファイルが与えられた場合、ランダムに選択された他のファイルがそのファイルと同じハッシュを持つ確率は約 2^n です。暗号化ハッシュに関して、これらの違いは、最初は衝突であり、もう 1 つはプリイメージです。

このハッシュ サイズでは、MD5 に対する最もよく知られている攻撃は約 2^32 の計算を必要とするため、MD5 の弱点はほとんど関係ありませんが、理想的に安全な 32 ビット ハッシュでも約 2^16 の計算で衝突が発生する可能性があります (単にランダムな入力を選択すると、2^16 分の 1 の確率で衝突するため、およそ 2^16 回のランダムな推測の後、衝突する入力のペアが見つかる可能性があります)。

于 2009-11-13T12:19:59.487 に答える
0

MD5ハッシュは通常16進数であるため、各バイトに16の可能な値があります。したがって、4バイトの場合、16 * 16 * 16 * 16 = 65536の可能な組み合わせがあり、ハッシュ衝突の確率は1:65536になります。

于 2009-11-13T08:22:17.030 に答える
-1

md5は16進数であるため、各文字は16の対立遺伝子のいずれかになります。だからそれは16^n

4文字の場合、65536の異なる組み合わせが可能になります。

于 2009-11-13T08:22:56.083 に答える