さて、実際の数値を見てみましょう。
Nvidia 9800GTX 1 台で 1 秒あたり 3 億 5000 万の MD5 ハッシュを計算できます。このレートでは、大文字と小文字の英数字のキースペース全体が 7 日で完了します。7文字、2時間。ソルティングを適用すると、アルゴリズムに応じて、これらの時間が 2 倍または 3 倍になります。
安価な最新の GPU は、1 秒あたり 10 億の MD5 ハッシュを容易に誇示します。決心した人々は通常、これらのうち約 6 つをリンクし、毎秒 60 億を取得し、26 日で 9 文字のキースペースを廃止します。
このレベルの複雑さの後にプリイメージ攻撃が適用される場合と適用されない場合があるため、ここではブルート フォースについて話していることに注意してください。
プロの攻撃者から防御したい場合、1 秒あたり 1 兆ハッシュを取得できない理由はありません。専用のハードウェアまたは安価な GPU マシンのファームのいずれか安価な方を使用するだけです。
10 文字のキースペースは 9.7 日で完了しますが、11 文字のパスワードは 602 日かかります。この時点で、10 文字または 20 文字の特殊文字を許可文字リストに追加しても、10 文字のキースペースのクラック時間はそれぞれ 43 日または 159 日になるだけであることに注意してください。
パスワードハッシュの問題は、無駄な破滅までの時間を短縮するだけだということです。本当に強力でありながら、保存されたハッシュ化されたパスワードと同じくらい単純なものが必要な場合は、PBKDF2 を使用してください。
さらに、もう 1 つの問題があります。ユーザーは、他のすべてのサイトで使用を強制されたこの「強力な」パスワードを使用するでしょうか? マスター パスワード ファイルに保存しない場合でも、保存することは間違いありません。そして、それらの他のサイトは、あなたが使用するのと同じ強力なハッシュアルゴリズムを使用せず、システムの目的を無効にします. ユーザーが複数のサイトで同じパスワードを使用するのを防ぐためでなければ、ハッシュを非常に強力にする必要がある理由がわかりません。攻撃者があなたのハッシュにアクセスできた場合、あなたはすでに負けている可能性が高いです。
一方、ハッシングスキームがどの程度「安全」であるかについて質問する人に何度も繰り返しますが、クライアント証明書を使用するだけで、すべての問題が解決されます。ユーザーが複数のサイトで同じ資格情報を使用することは不可能になり、攻撃者は資格情報を変更せずに資格情報を解読できなくなり、スマート カードに資格情報を保存している場合、ユーザーは資格情報を簡単に盗むことができなくなります。
あなたの質問に素朴に答えるには: 強力なパスワードは、強力なハッシュ アルゴリズムによってのみサポートされます。