このページから、毎秒 50 億回のハッシュを実行できるようです。これは、衝突を起こすのは難しくないということですか? 特定の MD5 または SHA1 でファイルを作成したい場合、どのくらいの時間がかかりますか?
私の計算 (2^160 を使用) によると、まだ長い時間がかかりますが、160 ビットの sha1 ハッシュをブルート フォースするのは 2^160 ではないと聞いています。
このページから、毎秒 50 億回のハッシュを実行できるようです。これは、衝突を起こすのは難しくないということですか? 特定の MD5 または SHA1 でファイルを作成したい場合、どのくらいの時間がかかりますか?
私の計算 (2^160 を使用) によると、まだ長い時間がかかりますが、160 ビットの sha1 ハッシュをブルート フォースするのは 2^160 ではないと聞いています。
1 秒あたり 50 億回のハッシュが真である場合、およそ45 211 226 851 851 851 851 852 年でハッシュを作成/「反転」できることを意味します (したがって、まだ若いうちに開始することをお勧めします)。
結論:ビッグバンから始めて、3 兆台のコンピューターが必要になり、今日では MD5 ハッシュが得られます。
暗号化に関して言えば、総当りは決して答えではありません。そうなった場合、それは単純に、暗号化アルゴリズムが十分に強力でないこと、つまり十分なビット数がないことを意味します。これは、56 ビットのキーを持つDESで発生しましたが、それだけでは十分ではありませんでした。
また、256 ビットは 128 ビットの「2 倍」ではないことに注意してください。256 ビットは、実際には 128 ビットの 2^128 倍です。
2^256 / 2^128 = 2^128
したがって、ブルート フォースを使用すると、どこにも行けなくなります。コンピューターの数に関係なく。残された唯一の選択肢は、数学でアルゴリズムを攻撃することです。
世界中の暗号アナリストと数学者がこれを研究しています。
彼らは、アルゴリズムをクラックすることで、妥当な時間内に MD5 衝突を作成することに成功しました。彼らがこれをどのように管理したかは聞かないでください。しかし、ここに例があります:
d131dd02c5e6eec4 693d9a0698aff95c 2fcab5 8 712467eab 4004583eb8fb7f89 55ad340609f4b302 83e4888325 7 1415a 085125e8f7cdc99f d91dbdf280373c5b d8823e3156348f5b ae6dacd436c919c6 dd53e2 b 487da03fd 02396306d248cda0 e99f33420f577ee8 ce54b67080 80d1e c69821bcb6a88393 96f965 2 b6ff72a70
と同じ MD5 を持っています
d131dd02c5e6eec4 693d9a0698aff95c 2fcab5 0 712467eab 4004583eb8fb7f89 55ad340609f4b302 83e4888325 f 1415a 085125e8f7cdc99f d91dbd7280373c5b d8823e3156348f5b ae6dacd436c919c6 dd53e2 3 487da03fd 02396306d248cda0 e99f33420f577ee8 ce54b67080 2 80d1e c69821bcb6a88393 96f965 b6ff72a70
したがって、ハッシュを逆にすることはできませんが、md5crackerのようなレインボー テーブルがあります。彼らは、文字列 (通常はパスワード) とそのハッシュの巨大なデータベースを持っています。したがって、単純なパスワードを使用する場合は、そこでハッシュを検索できます。
このハッシュを調べてみてください:
5a8dd3ad0756a93ded72b823b19dd877
そのため、パスワードの MD5 をデータベースに保存する場合、salt を追加するのは賢い考えです。たとえば、代わりmd5(password)
にmd5("salt1234" + password)
. または、さらに良いことに、ユーザーごとに異なるソルトを使用して、同じパスワードを共有しているユーザーを誰も見ることができないようにします。
ここでの結論:ハッシュを元に戻すことはできませんが、ハッシュを検索することはできます。これは、上記のような無塩ハッシュの場合は簡単です。
ハッキング映画とそのアクションは、通常、ブルート フォースに依存しています。しかし、それは真実ではありません。