0

non-random-salt-for-password-hashes について質問します。Potato Head氏は、SHA-512 の代わりに md5 を使用すると、レインボー テーブルの生成が容易になると述べています。レインボーテーブルが生成されたら、使用されるアルゴリズムは無関係だと思いましたか? レインボー テーブルを使用して既知のハッシュを確認する方法に違いはありませんか? また、どのハッシュアルゴリズムが使用されたかを知る方法はありますか?

更新を編集:

アプリケーションを保護するためではなく、ユーザーがパスワードと ID を再利用する他のすべての人を保護するために、パスワード テーブルの適切なハッシュが必要だと思います。

4

4 に答える 4

3

彼は言った

SHA-512 の使用は、MD5 よりもレインボー テーブルを生成する人にとっては苦痛であることが証明されます。

MD5 ハッシュを計算するよりも、SHA-512 ハッシュを計算する方がコストがかかります。

于 2009-03-30T10:36:47.510 に答える
2

純粋にパフォーマンスの問題です。MD5 は SHA-512 よりも単純であるため、特定の時間枠でより多くのレインボー テーブル エントリまたはより多くのブルート フォース攻撃を生成できます。

于 2009-03-30T10:50:02.737 に答える
1

レインボー テーブルで十分: 安全なパスワード スキームについて知っておくべきことで、これについて簡単に触れています。レインボー テーブルとそれがもたらす危険の実際のレベルを人々が誤解していることについてのちょっとした暴言から始まりますが、その後、パスワード ハッシュ アルゴリズムのパフォーマンスの影響についての良い議論に変わります。

最後の質問では、より直接的な答えは、出力だけを調べると、最終的なハッシュ アルゴリズムの出力のビット数しか判断できないということです。アルゴリズムに応じて、これは一意である場合とそうでない場合がありますが、アルゴリズムが適切である場合、それを正確に識別する検出可能なパターンはありません。(最後のステップはどちらの場合も同じであるため、MD5-only の出力は SHA512-then-MD5 の最終結果と同じに見えるため、「最終」と言います。)

ただし、より実際には、パスワード データベースを盗むことができる人は、おそらくソース コードも盗むことができるため、ソースを見てアルゴリズムが何であるかを確認し、それを複製してデータベースへの攻撃を行うことができます。

于 2009-03-30T11:11:09.563 に答える
1

実際には、テーブルを生成する時間はまったく関係ありません。これは一度だけ行うためです。

クラックする時間は、はるかに重要です。レインボー テーブルは、パスワードを回復するために必要なハッシュ操作の数を減らす方法にすぎませんが、パスワードをクラックするときにハッシュ関数を適用する必要があります。たとえば、レインボー テーブルを使用すると、ハッシュ操作の数を 10,000 分の 1 に減らすことができます。ハッシュが遅い場合 (SHA-512 など)、クラッキングは遅くなります。

優れたパスワード ハッシュ関数にはソルトが含まれているだけでなく、ハッシュ関数を数千回も適用することに注意してください。ハッシュは実用上は依然として高速ですが、クラッキング (方法が何であれ) は何千倍も遅くなります。

于 2009-04-30T11:26:08.833 に答える