2018年5月29日、Ver1.1.0にバージョンアップしました。10秒間、性能を計測してハッシュレートを[K Hash/sec]で表示します。 (1ハッシュ=1回のパスワード解読試行)

sha1benchとは

ハッシュ関数 SHA-1を計算させてGPUをメインにパソコンの性能を測定するベンチマークソフトのフリーウェアです。 実際には有名なファイル暗号ソフト アタッシェケース#3のパスワードの解読時間を測定します。 CPUのみでも測定できますが、基本的にはSHA-1をGPUで計算させAESの復号化はCPUで計算させます。 記号と英数字の95文字を使った2,3,4文字のパスワードを総当たり攻撃(ブルートフォース)で解読します。



動作環境

Windows Vista以降のOSで動作します。 OpenCL 1.2以降に対応したGPU(or CPU)のドライバをインストールしている必要があります。 Windows10が自動的にダウンロードするドライバではなくて、 GPUのメーカーからドライバをダウンロードしてインストールすれば最初から入っています。 32bit版と64bit版がありますが64bit版ではAES-NIというAES暗号専用命令を使って高速に解読します。 ただ性能はSHA-1のほうがネックになる場合が多いのでハイエンドのGPUでなければ32bit版でも問題ないかと思います。 超ハイエンドではAES-NIを使っても間に合わない場合もあり得ます。 そういった場合、CPUのコア数が多ければAES復号を複数スレッドで高速に解読できます。



ライセンスについて

フリーソフトですが、詳しくはこちらを参照してください。 AES暗号(厳密にはrijndael)はcppcryptoというライブラリを使用しています。 cppcryptoのライセンスはBSDライセンスです。



解読の脅威はどのくらい?

9000円のCPUと23000円(GeForce GTX1060)のGPU(グラフィックボード)でも700台あれば、 あらゆる記号と英数字の8文字のパスワードでは約1年で解読できるくらいの状況です。
運が悪いと数カ月で解読されます。
PlayStation4にはAMDのGPUが搭載されているのでパソコンだけでなくPlayStaton4を混在させて解読することもできるようになるでしょう。

2017年1月8日追記
a-zの26種類の文字で6文字のパスワードを解読する時間はGeForce GTX1060 1個のパソコン 1台で1266秒。 8文字でも約10日で確実に解読できることを確認。



Linuxでは動作しないの?

開発はWindowsとLinuxを平行して行ったのでLinux版もあります。 ソースコードを公開するとアタッシェケース#3の利用者に迷惑がかかることもあり、現時点では、Linux版は公開していません。 要望があればバイナリ配布する場合もあります。



複数のGPUでは動作するの?

AMDのGPUは異なる機種でも複数動作させることが可能です。 最大4デバイスまでです。 nVIDIAのGeForceは1つしか動作しません。



GeForceとRADEONの混在は可能か?

できません。プラットフォームが異なるデバイスは同時には実行できません。



暗号解読ソフトなんて開発していいの?

最近、状況がかわったかどうかはわからないですが、2016年ごろに警察に問い合わせをしたことがあります。 「パスワードリカバリという商品は世界的には存在するが、日本で販売しても問題ないのかと」。 警察は総務省に聞いてくれといったので、総務省に問い合わせると、経済産業省に聞いてくれということになって、 経済産業省の情報処理振興課より、回答がありました。
「ナイフもリンゴの皮をむくことができるが人を刺すこともできる。要は使う人の問題」なのだと。
つまり暗号解読ソフトの開発、販売しても法律上は問題はないようです。

このsha1benchは性能測定だけで暗号解読機能はありませんが、GPUプログラマであれば、 このプログラムを開発するのに1か月は、かからないでしょう。 複数のパソコンを連動させる機能を追加したものは、もう少し開発に時間がかかるかもしれませが。



解読されにくファイル暗号はあるの?

アタッシェケース#3はSHA-1ですが、SHA-2を使ったファイル暗号が日本には多く存在しています。 ビットコインを採掘する専用ハードを転用することでGPUよりもさらに高速に解読される恐れがあります。 ファイル暗号 ToraToraは、SHA-1ですがループ数がアタッシェケース#3よりもかなり多いので比較的安全です。 そしてICカードを使ってパスワードクラックを不能にすることも可能なのでお薦めです。 USBメモリをICカードにするフリーウェアが使えるので無料で強力な暗号化が可能です。