5

完全な初心者と同じようにレインボーテーブルでチェーンがどのように機能するか、プログラミングに関連して誰かが詳細に説明できるかどうか疑問に思っていました。

チェーンの長さは 16 バイトであることを理解しています。8 バイトは開始点を示し、8 バイトは終了を示します。また、ファイル名のチェーン長が 2400 であることも理解しています。これは、開始点と終了点の間にわずか 16 バイトで 2400 の可能なクリア テキストがあることを意味します。それはどのように機能しますか?これらの 16 バイトで、どうすれば 2400 ハッシュとクリア テキストを取得できますか、またはこれを誤解していますか?

よろしくお願いいたします。

ありがとう。

PS: 関連する論文を読み、このトピックについてかなりググりました。これらのギアを回すために重要な何かが欠けているだけだと思います。

4

1 に答える 1

3

ハッシュ チェーンの開始点がわかれば、hash-and-reduce 関数を繰り返し適用することで、すべての中間点と終点を計算できます。

エンドポイントは、ハッシュ化されたパスワードのチェーンを検索するときに入ります。chain-length の回数まで hash-and-reduce を適用します。各段階で、中間体が計算したチェーンのエンドポイントと一致するかどうかを確認します。もしそうなら、パスワードを含むチェーンを見つけたことになります。開始点を保存したため、チェーンの開始場所がわかります。そのため、そこからチェーンを簡単にたどってパスワードを見つけることができます。これを一度ハッシュすると、ハッシュ値が得られます。

完全なレインボー テーブル プロセスは、この種の検索を適用しますが、ハッシュの衝突を避けるために、さまざまなリダクション関数のファミリを使用します。私は詳細に精通していません。

于 2011-05-06T12:53:00.130 に答える