これらの計算のどれも、実際には慣習法を考慮していません。しかし、なぜそうする必要がないのかを示すことができるかどうか見てみましょう:
ムーアの法則によると、処理能力は 18 か月ごとに 2 倍になります (完全ではありませんが、目的には十分です)。
つまり、今日の 13 万年は、18 か月後には 6 万 5000 年になります。36 か月で 32.5k などなど。
そのための方程式を考え出すことができます!
cost-at-time = cost-today * 0.5 ^ (months / 18)
今日のコストを差し込むと、この素敵なグラフが表示されます(x は年数)。
y = 130000 * .5 ^ (x / 1.5)
では、13 万年分のパスワードのコストが 50 年後にどうなるか見てみましょう。
y = 130000 * .5 ^ (50 / 1.5)
y = 130000 * .5 ^ 33.3333
y = 0.000012 years (~6.3 minutes)
それはかなり速いです!
10年くらい?
y = 130000 * .5 ^ (10 / 1.5)
y = 130000 * .5 ^ 15
y = 1279 years
相変わらず強いですね…。
でも。また、ムーアの法則を打ち負かすことができるように設計された bcrypt や scrypt などの調整可能なアルゴリズムの要点も見逃しています。
したがって、bcrypt、scrypt、または PBKDF2 を使用し、一定の時間内に実行されるようにコストを調整し続けると、現在解読に 13 万年かかる (推定) パスワードは、50 年後も解読に 13 万年かかることになります。
もちろん、攻撃者が今日パスワード ハッシュを盗み、今後 50 年間それを攻撃するのに費やすというケースは解決しません...それを攻撃しようとしている次の50年?
XKCD経由