Mengapa MD5 masih banyak digunakan?

17

MD5 tampaknya memiliki kerentanan yang terdokumentasi dengan baik namun penggunaannya masih meluas. Apakah ada yang punya alasan untuk itu tetap menjadi opsi yang layak ketika alternatif lain (misalnya SHA-2) tampaknya lebih kuat?

David di Dakota
sumber

Jawaban:

16

Ini cepat untuk menghasilkan, dan seringkali fakta bahwa tabrakan secara teori mungkin bukan masalah besar. yaitu memeriksa apakah file yang di-cache telah diubah untuk menghindari mengunduh salinan baru.

Sebuah patokan cepat dilakukan pada tahun 1996 menunjukkan berikut ini:

            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

Untuk penggunaan modern - pada chip tertanam, MD5 dapat 2-3x lebih cepat untuk diproduksi daripada SHA1 untuk informasi yang sama.

Bradshaw yang kaya
sumber
10

Hash MD5 adalah "cukup baik" untuk sebagian besar tugas-tugas kasar. Ingatlah bahwa masih sangat sulit untuk menghasilkan tabrakan yang berarti dalam jumlah byte yang sama.

Misalnya, Anda mengunduh Ubuntu 9,10 baru minggu depan dari mirror tepercaya. Anda ingin memverifikasi bahwa file telah diunduh dengan benar dan lengkap. Cukup nyalakan MD5 dan hash ISO. Bandingkan hash dengan hash yang dipublikasikan. Jika hash cocok, Anda dapat yakin bahwa ISO telah disalin dengan benar dan sepenuhnya.

sebelas81
sumber
Tidak sulit lagi. Dan bagaimana sulit untuk menjalankan sha256sum filename.isobukannya md5sum filename.iso?
Siput mekanik
Lebih jauh, jika ISP Anda jahat, MD5 tidak menjamin bahwa ISO diunduh dengan benar. ISP dapat merusak citra ISO untuk melakukan sesuatu yang jahat.
Siput mekanik
4
  1. Ini pendek - lebih mudah dibaca.
  2. Ini tersebar luas - interoperabilitas hebat dengan sistem lain
  3. Itu biasa - semua orang terbiasa dengannya.

dan keamanan dapat ditingkatkan dengan mengasinkannya.

Josip Medved
sumber
3

MD5 banyak digunakan sebagai fungsi hash checksum karena cepat dan menyajikan rasio tabrakan yang sangat rendah. Sebuah checksum MD5 terdiri dari 32 digit heksadesimal yang bersama-sama memberikan peluang tabrakan 1 in ~ 3.42e34. Secara teoritis Anda bisa meng-hash semua file di semua komputer di negara seukuran AS dan tidak menghasilkan tabrakan (*).

Untuk kriptografi, MD5 adalah alternatif yang valid jika keamanan hanya menjadi perhatian moderat. Ini adalah opsi yang sangat layak untuk membuat kata sandi basis data atau bidang lain yang membutuhkan keamanan internal untuk kecepatannya sebagian besar, tetapi juga karena MD5 memang menawarkan tingkat keamanan yang wajar di mana enkripsi yang kuat tidak menjadi masalah.


(*) untuk sebagian besar tujuan checksum, tabrakan hanya bermakna jika terjadi antara dua objek dengan asal yang sama dan dengan ukuran yang sama. Meskipun probabilitas keunikan tinggi MD5, tabrakan akhirnya dapat terjadi antara dua file yang sangat berbeda. Katakanlah, file database 1.5Mb dan file gif 35k. Untuk sebagian besar tujuan, ini adalah tabrakan yang tidak berarti. Terlebih lagi karena MD5 hanyalah salah satu elemen dari pengindeksan file. Ukuran file menjadi hal penting lainnya.

A Dwarf
sumber
2

MD5 banyak digunakan karena telah banyak digunakan, dan jeda belum cukup signifikan untuk menjadi masalah yang jelas dalam sistem yang ada.

Douglas Leeder
sumber