コンテンツへスキップ
uencoder

Rainbow Table

レインボーテーブルは、ハッシュ関数の逆写像のためにMartin Hellmanの方式を改良した事前計算テーブルである。時間と空間のトレードオフでパスワードハッシュを解析する。

目的

事前計算したハッシュチェーンでストレージを大幅に削減し、ソルトなしのパスワードハッシュを効率的に解析する。

メカニズム

ハッシュチェーンを事前計算する:始点から終点までハッシュとリダクションを繰り返し、終点のみを保存する。検索時はターゲットハッシュからリダクションとハッシュを繰り返して終点と一致させ、始点からチェーンを再構築して原像を見つける。ソルトはユーザーごとに独立したテーブルを強制し、事前計算を不可能にする。

ユースケース

  • ソルトなしLM/NTLMハッシュの解析
  • パスワードハッシュのセキュリティ教育
  • Ophcrackツールでの利用
  • セキュリティ監査での活用

例

  • 入力
    MD5 without salt
    Output
    8-character alphabetic password cracked in seconds

    Salt defeats rainbow tables

よくあるエラー

Storing password hashes without salt
Unique per-user salt + slow hash

関連用語

関連ツール

References