MD5がまだ頻繁に使用されるのはなぜですか?


回答:


16

生成は迅速で、多くの場合、衝突が理論的に可能であるという事実は大きな問題ではありません。つまり、新しいコピーのダウンロードを回避するために、キャッシュファイルが変更されたかどうかを確認します。

1996年に行われ簡単なベンチマークは、次のことを示しています。

            Digest Performance in MegaBytes per Second

      Pentium P5     Power Mac    SPARC 4     DEC Alpha
          90 MHz        80 MHz      110 MHz      200 MHz

MD5         13.1          3.1         5.1          8.5
SHA1         2.5          1.2         2.0          3.3

現代の使用-組み込みチップでは、MD5は同じ情報に対してSHA1よりも2〜3倍高速に生成できます。


10

MD5ハッシュは、ほとんどの些細な作業には「十分」です。同じバイト数で意味のある衝突を生成することは依然として非常に難しいことを思い出してください。

たとえば、来週、信頼できるミラーから新しいUbuntu 9.10をダウンロードするとします。ファイルが正しく完全にダウンロードされたことを確認します。MD5を起動してISOをハッシュするだけです。ハッシュと公開されたハッシュを比較します。ハッシュが一致する場合、ISOが正しく完全にコピーされたことを確認できます。


もう難しくありません。そして、sha256sum filename.iso代わりに実行するのはどのように難しいmd5sum filename.isoですか?
機械式カタツムリ

さらに、ISPが悪ければ、MD5はISOが正しくダウンロードされたことを保証しません。ISPはISOイメージを改ざんして、何か悪いことをする可能性があります。
機械式カタツムリ

4
  1. 短い-読みやすい。
  2. 広く普及している-他のシステムとの優れた相互運用性
  3. それは普通です-誰もがそれに慣れています。

そして、塩漬けにすることでセキュリティを改善できます。


3

MD5は高速で衝突率が非常に低いため、チェックサムハッシュ関数として広く使用されています。MD5チェックサムは32桁の16進数で構成され、これらが一緒になって、衝突のオッズ〜3.42e34の1を提供します。理論的には、米国のサイズの国のすべてのコンピューター内のすべてのファイルをハッシュし、衝突を発生させることはできません(*)。

暗号化の場合、セキュリティが中程度の懸念事項である場合、MD5は有効な代替手段です。これは、データベースパスワードまたはその速度のために内部セキュリティを必要とする他のフィールドをハッシュするための非常に実行可能なオプションですが、MD5は強力な暗号化が懸念されない合理的なレベルのセキュリティを提供するためです。


(*)ほとんどのチェックサムの目的で、衝突は、同じサイズの同じ起源の2つのオブジェクト間で発生する場合にのみ意味があります。MD5の高い一意性の確率にもかかわらず、最終的に2つの非常に異なるファイル間で衝突が発生する可能性があります。1.5Mbデータベースファイルと35k gifファイルがあるとします。ほとんどの場合、これは無意味な衝突です。MD5はファイルインデックスの1つの要素にすぎないためです。ファイルサイズも重要です。


2

MD5は広く使用されているため広く使用されており、ブレークは既存のシステムで明らかな問題になるほど重要ではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.