パスワードの強さ·大文字と小文字 20
大文字と小文字 · 20
114
bit · 10^34.3

大文字と小文字20文字 — 114ビット

1文字が5.7ビットを担い全体で114ビット、組み合わせは10の34.3乗です。ASCII 94文字で同じ強さを出すには17.4文字必要です。

長さ
20
集合の大きさ
52
1文字あたりのビット
5.7 bit
全体のビット
114 bit
組み合わせ数
10^34.3
ASCIIに直すと
17.4

サイトがどう保存したか

  • NTLM (Windows)10^15.1年
  • MD510^15.3年
  • SHA-25610^16.2年
  • WPA2 Wi-Fi10^20.1年
  • bcrypt10^21.3年

同じパスワードでも保存方式で答えが100万倍以上変わります。RTX 4090 1枚がNTLMなら毎秒2,885億回、MD5なら1,641億回叩けますが、bcryptは18万4千回だけです。わざと遅くしてあるからです。だから記号を含むASCII 8文字はNTLMで保存された所では3時間もかからず、bcryptで保存された所では500年を超えます — そしてどちらかは使う人が選べません。

この表が数えるものと数えないもの

ここの時間は**無作為に選んだ**パスワードを端から端まで探す場合の値です。人が作ったものはそこまで持ちません — 辞書の単語、キーボードの並び、誕生日、末尾に足した!や1は攻める側が先に試します。「P@ssw0rd!」はASCII 9文字で59ビットですが実際は数秒です。逆にカードが何枚もあれば時間は枚数で割られます。

近い長さ

同じ集合、別の長さ

同じ長さ、別の集合

いちばん多い事故は破られることではありません

ある所から漏れたパスワードを別の所でそのまま試すほうがずっと多いです。何年もかかるはずのパスワードでも、2か所で使い回していれば弱いほうが破られた日に一緒に落ちます。長さを伸ばすことより、**使い回さないこと**と2段階認証が先です。

読み方

  • 1文字あたりのビット = log2(集合の大きさ)。全体は長さを掛けます。
  • 破る時間 = 組み合わせ数の半分 ÷ 毎秒の試行回数。
  • 速度はhashcatをRTX 4090 1枚で回した公開実測値です。
  • 無作為なパスワードを前提とした値です。人が作ったものはずっと早く落ちます。

よくある質問

Q. 大文字と小文字20文字は何ビットですか?

114ビットです。1文字が5.7ビットで、これに20を掛けた値です。

Q. 組み合わせはいくつですか?

10の34.3乗です。52を20回掛けた値です。

Q. ASCIIなら何文字分ですか?

17.4文字です。記号を含むASCII 94文字を基準にしています。

Q. 破るのにどれくらいかかりますか?

保存方式が答えを変えます。RTX 4090 1枚がNTLMは毎秒2,885億回、bcryptは18万4千回なので、時間が100万倍以上変わります。