SHA1 入力の 80% を知っていると仮定します。SHA1 ハッシュ値から残りの 20% をクラックすることは、入力全体をクラックするよりも簡単ですか? もしそうなら、何パーセントですか?
例: 入力 SHA1(xxxxxxxxyy)= ハッシュ値の x を知っています
SHA1 入力の 80% を知っていると仮定します。SHA1 ハッシュ値から残りの 20% をクラックすることは、入力全体をクラックするよりも簡単ですか? もしそうなら、何パーセントですか?
例: 入力 SHA1(xxxxxxxxyy)= ハッシュ値の x を知っています
入力に 10 バイトがあるとします。入力全体をクラックするには、2^(10*8) 入力を試す必要があります。80% が与えられたので、2^(2*8) 入力を試すだけで済みます。それは約100京少ない。入力サイズが大きくなると、比率はさらに大きくなります。
SHA1 は現在、入力に約 100 の不明なビット (12 バイト) が含まれているため、元に戻すことができません。入力の不明な部分は 20% に過ぎないため、入力サイズを安全にするには約 500 ビット、または約 62 バイトにする必要があります。
不明な部分が最初か最後かは実際問題です。最初の 32 ビットの既知のデータごとに、計算の一部を再利用できるため、必要な操作の数が予想よりも少し少なくなります。