John the Ripperでインクリメンタルモード(ブルートフォース)モードを使用して、Linux MD5パスワードを解読しています。私は、12のパスワード(パスワードごとに12の異なるソルトを使用)のすべての組み合わせを実行するのにかかる時間を計算しようとしています。
95文字のカウントと最大長6文字を使用すると、735,091,890,625の組み合わせ(95 ^ 6)があります。
各パスワードはソルトされるため、(735,091,890,625 x 12)8,821,102,687,500のハッシュ計算になります。
John the Ripperを実行すると、通常1133p/s 14273c/s 14273C/sで実行されます。
つまり、8,821,102,687,500/14273 = 618,027,232.36秒
51,502,269.36/60 = 10,300,453.87分
858,371.16/60 = 171,674.23時間
14,306.19/24 = 7,153.09日
パスワードが早期に解読される可能性は常にあることに気づきました。しかし、私はそれを正しく計算しましたか?すべての組み合わせを実行するには、7,153.09日(最大でも)かかりますか?
修正を加えた編集後、実際の計算は確かに見えます。
ただし、ここでは数秒で数学をハンドウェーブして指数関数的な速度の増加を実証します。これにより、ほんの数日で済みます。その上、再起動や2回の再起動は、実際にマシンを他のものに使用することは言うまでもなく、定期的なパッチ適用、停電、他のプロセスの実行に伴う通常の速度変動など、混乱を招きます。
予想される時間は、想定に依存します。この正確なコンピューターを12のパスワードすべてとこのバージョンのJtRで実行し、数十年そのままにしておくと仮定すると、そうです。
ただし、ムーアの法則に対するHouseの帰結を使用する場合、つまり、計算能力が18か月ごとに2倍になる(パスワードハッシュクラッキングが非常に並列である場合、これは最初から十分に妥当です)場合、1.5年待つだけで、 2倍の速さでクラックするため、約2年ではなく約10年で完了します。
より高度:このマシンを6年間使用していて、その経過時間のおよそ6/20です。次に、古いセットアップの使用を中止し、おおよそ妥当な価格で約16倍速い新しいセットアップを購入します。残りの14/20は、1/4の時間で実行されます。つまり、14/16 = 1年弱+ 6年待つ= 7年弱。
もちろん数字はお金で変わります。
追加のクレジットについては、優れたGPUを所有または購入して、 oclHashcat などのGPUベースのツールをより早く使い始めると、速度が劇的に向上します。