パスワードチェッカー

パスワードについて、組み合わせと解読時間を調べたり、実際のパスワードの解読時間をチェックできる。
※1秒間の計算回数によって、解読時間は変化する。

使える文字  組み合わせと解読時間  パスワードチェック  計算回数について 

パスワードで使える文字

パスワードで使える文字は以下の種類がある。
数字
0〜9 までの 10 個の数字。
英小文字
a〜z までの 26 個の文字。
英大文字
A〜Z までの 26 個の文字。
記号
! " # $ % & ' ( ) - ^ \ @ [ ; : ] , . / _ = ~ | ` { + * } < > ? の 32 個の記号。
ただし、使える文字が制限されている場合がある。
また、\(バックスラッシュ)の代わりに ¥(円記号)か"使われることがある。

組み合わせと解読時間

文字の種類
パスワードで使う文字の種類をチェックする。
     
組み合わせの数
下のスライダーを移動すると文字数を増減できる。

上記の種類と文字数の組み合わせは
{{ combi }} 通り。
つまり、{{ Jcombi }} 通りになる。

解読時間
下のスライダーを移動すると解読時における1秒間の計算回数を増減できる。

上記の計算回数で解読するとその最大時間は
{{ analysis }} 秒。
つまり、{{ Janalysis }} になる。


パスワードチェッカー

実際に使っているパスワードの強度を確認できる。
  • {{ passLen }} 文字
  • 数字が含まれている
  • 英小文字が含まれている
  • 英大文字が含まれている
  • 記号が含まれている
下のスライダーを移動すると解読時における1秒間の計算回数を増減できる。

このパスワード「{{ password }}」は、1秒間に {{ times2 }} 回総当たりで解読すると

通常は、総当たりではなく、辞書式など他の方式と組み合わせた解読方法が用いられるため、実際はもっと速く解読できる。


計算回数について

1秒間の計算回数について、目安は以下の通り。
参考文献として
  1. 12文字以下のパスワードは解読可能
  2. Wi-Fiの暗号化キーは何文字あれば安全か
  3. FLOPS @ Wikipedia
として上げておく。参考文献 2 では、半精度(FP16)のFLOPS(1秒間の浮動小数点演算回数) を目安としている。しかし、参考文献 1 の実測値(ZIP方式のハッシュ解析)と参考文献 3 の単精度(FP32)のFLOPSを比較して、計算回数が1000桁ほどズレている。そのため、100億回のRTX2080Ti 以外は、単精度(FP32)のFLOPS を1000で割った値で算出している。これは、参考文献 1 における GTX 1600 SUPER と Tesla(NVIDIA) V100 の実測値と参考文献 3 の単精度のFLOPSから1000を割った値がほぼ同じになることから、参考値としても問題ないと判断した。ただし、少なくとも NVIDIA のアーキテクチャであれば問題ないが、Apple M1 Max ではさらに10分の1になったことから、NVIDIA 以外のアーキテクチャでは1桁程度の差が出る可能性がある(RTX2080Ti と M1 Max のFLOPS はほぼ同じ)。
100万回
1000万回
1億回
10億回
Intel Iris Plus(GPU)でMD5(鍵長128bit)を演算した場合(実測:9.18億回
Apple M1 Max 32コアの内蔵 GPUで ZipCrypto 方式の内部ハッシュ(鍵長96bit)を演算した場合(実測:10.408億回
Intel Core i7-1065G7でMD5(鍵長128bit)を演算した場合(実測:13.225億回
Apple Ultra 48コアの内蔵 GPUで ZipCrypto 方式の内部ハッシュ(鍵長96bit)を演算した場合(実測:15.787億回
Sony Playstation 4 で ZipCrypto 方式の内部ハッシュ(鍵長96bit)を演算した場合(推定値:18億回)
100億回
NVIDIA GeForce RTX 2080Ti 1枚で ZipCrypto 方式の内部ハッシュ(鍵長96bit)を演算した場合(実測値:100億回
Sony Playstation 5 で ZipCrypto 方式の内部ハッシュ(鍵長96bit)を演算した場合(推定値:103億回)
Xbox Series X で ZipCrypto 方式の内部ハッシュ(鍵長96bit)を演算した場合(推定値:121.5億回)
Apple M1 Max 32コアの内蔵 GPUでMD5(鍵長128bit)を演算した場合(実測:132.753億回
Apple M1 Ultra 48コアの内蔵 GPUでMD5(鍵長128bit)を演算した場合(実測:171.389億回
1000億回
NVIDIA GeForce RTX 4090 1枚で ZipCrypto 方式の内部ハッシュ(鍵長96bit)を演算した場合(推定値:825.7536億回)
NVIDIA GeForce RTX 3090Ti 2枚で ZipCrypto 方式の内部ハッシュ(鍵長96bit)を演算した場合(推定値:799.9488億回)
1兆回
スーパーコンピュータ「京」で ZipCrypto 方式の内部ハッシュ(鍵長96bit)を演算した場合(推定値:1兆回)
10兆回
100兆回
1000兆回
スーパーコンピュータ「富岳」で ZipCrypto 方式の内部ハッシュ(鍵長96bit)を演算した場合(推定値:977兆回)
1京回
その他の参考文献
ハッシュについて
 通常、パスワードはそのまま保存されずに、ハッシュアルゴリズムを用いて別の文字列に変換される。ハッシュアルゴリズムによって作成された文字列は、そのままではパスワードとして使えないため、パスワードを知りたい場合はその文字列から解読を行う必要がある。
 ZipCrypto は Zip ファイルにパスワードをかけるときに使われるハッシュアルゴリズムである。現在は、比較的簡単に解読できてしまうため、非推奨となっている。
 MD5 はハッシュアルゴリズムの1つで、一番良く使われている。前身として、MD4 があり、Windows はこのハッシュアルゴリズムでパスワードを保存している(参考:パスワードの技術概要)。MD4 の解読時間は MD5 と比較しておおよそ半分程度になる。
 Mac OS X は、パスワードの保存に、SHA512 というハッシュアルゴリズムを採用している。これは Windows のハッシュアルゴリズムと比較して、2万倍程度の強度がある。つまり、解読時間は MD5 と比較して1万倍になる。