Penjana cincangan MD5

Tambah ke situs Metainformasi

Alat lain

Penjana cincangan MD5

Penjana cincangan MD5

MD5 ialah algoritma cincang 128-bit yang dicipta oleh saintis Ronald L. Rivest pada awal 1990-an. Singkatan MD5 adalah singkatan kepada Message Digest Versi 5.

Penyulitan MD5 adalah berdasarkan pencincangan, yang melibatkan pembentukan "cap jari" atau "jumlah" untuk mengesahkan kesahihannya. Menggunakan kaedah ini, anda boleh mengesahkan integriti maklumat serta penyimpanan cincang kata laluan.

Sejarah MD5

Sejarah Algoritma Message Digest (MD5) bermula pada tahun 1991, apabila profesor MIT Ronald L. Rivest melaporkan penciptaan algoritma baharu yang menggantikan MD4 yang usang. Bagi MD4, beberapa kelemahan memang ditemui di dalamnya, seperti yang ditulis oleh pakar kriptologi Jerman Hans Dobbertin kemudiannya.

Rivest menerangkan algoritma MD5 baharu dalam RFC 1321.

Kerja pada algoritma diteruskan oleh penyelidik Bert den Boer dan Anton Bosselars, yang pada tahun 1993 membuktikan kemungkinan perlanggaran pseudo dalam MD5, apabila vektor permulaan yang berbeza boleh dipadankan dengan ringkasan mesej yang sama.

Selanjutnya, pada tahun 1996 Hans Dobbertin mendakwa telah menemui perlanggaran dalam MD5. Pada masa itu, lebih banyak algoritma pencincangan pilihan diketahui, seperti fungsi cincang kriptografi RIPEMD-160 - dibangunkan oleh Hans Dobbertin, Anton Bosselars dan Bart Prenel, Whirlpool - dibangunkan oleh Vincent Raymen dan Paulo Barreto dan algoritma pencincangan kriptografi SHA-1.

Disebabkan saiz cincang yang agak kecil (128 bit) dalam MD5, terdapat perbincangan tentang kemungkinan serangan hari lahir. Projek MD5CRK, yang dilancarkan oleh Jean-Luc Cook pada tahun 2004, bertujuan untuk mengkaji kelemahan algoritma menggunakan serangan hari lahir. Tetapi, selepas lima bulan, pada 17 Ogos 2004, projek itu telah disekat kerana penemuan kelemahan dalam algoritma oleh sekumpulan kriptografi China yang diketuai oleh Lai Xuejia.

Pada Mac 2005, ahli matematik dan kriptografi Benne de Weger, Arjen Lenstra dan Wang Xiaoyun mencipta dua dokumen X.509 dengan cincang yang sama dan kunci awam yang berbeza.

Setahun kemudian, pada Mac 2006, satu algoritma telah diterbitkan oleh ahli kriptografi Czech Vlastimil Klima, yang membolehkan anda menentukan perlanggaran pada komputer mudah dalam masa satu minit sahaja. Algoritma ini dikenali sebagai kaedah "terowong".

Hasil analisis hasil kerja, pada tahun 2008, bahagian Pentadbiran Keselamatan Siber Kebangsaan Jabatan Keselamatan Dalam Negeri AS (US-CERT) mengesyorkan agar semua orang yang terlibat dalam pembangunan perisian, tapak web, serta pengguna rangkaian, berhenti menggunakan algoritma MD5 , tanpa mengira tujuan penggunaannya. Sebab bagi pengesyoran sedemikian ialah ketidakbolehpercayaan yang ditunjukkannya dalam proses mengkajinya.

Pada Disember 2010, pakar kriptologi China Tao Xie dan Feng Denguo menemui perlanggaran mesej sebanyak 512 bit (satu blok). Sebelum ini, perlanggaran ditemui hanya dalam mesej yang panjangnya dua blok atau lebih. Kemudian, Mark Stevens mencapai hasil yang serupa dengan menerbitkan blok dengan cincangan MD5 yang sama. Dia juga membangunkan algoritma untuk mendapatkan perlanggaran jenis ini.

Dokumen terakhir yang menamatkan sejarah pembangunan algoritma MD5 ialah permintaan untuk ulasan - RFC 6151 (RFC ialah dokumen rasmi yang dibangunkan oleh Internet Engineering Council (IETF), yang menerangkan spesifikasi untuk sesuatu teknologi), yang sebenarnya mengiktiraf MD5 sebagai algoritma pencincangan yang tidak selamat . Dokumen itu mengesyorkan untuk meninggalkannya, memilih keluarga algoritma kriptografi SHA-2 sebagai alternatif.

Algoritma MD5 yang dibincangkan dianggap sebagai salah satu piawaian algoritma pertama yang digunakan untuk menyemak integriti fail dan menyimpan kata laluan dalam pangkalan data aplikasi web.

Tetapi, sebenarnya, kefungsian yang agak mudah, panjang keluaran pendek dan kesederhanaan operasi yang dilakukan, sebagai kelebihan algoritma, juga menentukan kelemahannya - MD5 merujuk kepada algoritma yang terdedah kepada penggodaman dan mempunyai tahap rendah perlindungan terhadap serangan hari lahir.

Apakah MD5?

Apakah MD5?

Algoritma pencincangan MD5 boleh digunakan dalam pelbagai bidang yang berkaitan dengan penciptaan tandatangan digital elektronik, kata laluan selamat, kunci dalam talian kriptografi. Ia membolehkan anda menyemak integriti maklumat pada PC.

Pada mulanya, MD5 dianggap sebagai algoritma penyulitan yang agak kuat, tetapi disebabkan kekurangan yang dikenal pasti semasa kajian, pada masa ini disyorkan untuk menggantikannya dengan algoritma pencincangan lain yang lebih selamat.

Contoh penggunaan

Kelebihan utama algoritma MD5 ialah skop aplikasinya yang luas.

Algoritma membolehkan anda menyemak maklumat yang dimuat turun untuk kesahihan dan integriti

Sebagai contoh, bersama-sama dengan pakej untuk memasang perisian, terdapat nilai checksum untuk pengesahan.

Ia juga diamalkan untuk menggunakan algoritma MD5 untuk pencincangan kata laluan

Sebagai contoh, sistem pengendalian Unix secara aktif menggunakan algoritma ini sebagai alat pencincang. Perlu diingatkan bahawa dalam sesetengah sistem Linux, kaedah MD5 juga digunakan secara aktif untuk menyimpan kata laluan.

Cara berikut untuk menyimpan kata laluan diketahui:

  • Storan standard tanpa pencincangan. Kelemahan kaedah ini ialah risiko kebocoran maklumat yang tinggi apabila pangkalan data digodam.
  • Hanya cincang kata laluan disimpan. Data sedemikian mudah didapati menggunakan jadual cincang yang disediakan terlebih dahulu. Untuk mengisi jadual sedemikian, kata laluan biasa dengan kerumitan rendah digunakan.
  • Menambahkan beberapa aksara pada kata laluan yang dipanggil "garam". Selepas itu, hasilnya dicincang. Kata laluan yang diperoleh hasil daripada tindakan tersebut mesti disimpan dalam teks yang jelas. Apabila mencari kata laluan yang dibuat dengan cara ini, jadual tidak akan membantu.

Algoritma pencincangan MD5 boleh digunakan untuk mengesahkan fail yang dimuat turun dari web

Ini menjadi mungkin apabila menggunakan utiliti khusus yang boleh menukar sifat fail dan mendayakan penggunaan algoritma pengekodan cincang.

MD5 digunakan semasa membuat aplikasi web

Dalam proses membangunkan dan mengkonfigurasi sistem pengesahan, skrip atau panel, anda boleh menjana kod cincang untuk baris individu.

Kebolehpercayaan algoritma MD5

Teknologi pencincangan yang kami kenali sebagai algoritma MD5 telah lama dianggap agak boleh dipercayai. Pada masa yang sama, tiada siapa yang bercakap tentang idealitinya. Tiada jaminan bahawa algoritma itu akan kebal dan memberikan seratus peratus maklumat yang tidak boleh dilanggar.

Hasil daripada kerja beberapa saintis, kelemahan tertentu teknologi ini telah dikenal pasti. Yang utama ialah kelemahan akibat pengesanan perlanggaran semasa penyulitan.

Perlanggaran ialah kebarangkalian untuk mencapai hasil keluaran yang sama apabila data input berbeza dimasukkan. Semakin tinggi kebarangkalian ini, semakin rendah tahap perlindungan algoritma yang digunakan.

Penyelidik menjalankan analisis kriptografi dan mengenal pasti beberapa cara untuk memecahkan cincang MD5:

  • Serangan kekerasan boleh dianggap sebagai kaedah penggodaman universal. Tetapi, ia juga mempunyai kelemahannya - kaedahnya sangat panjang. Untuk mengatasinya, teknik menambah bilangan kunci digunakan. Kaedah ini sering digunakan untuk menilai tahap kekuatan dan kekuatan penyulitan kata laluan.
  • RainbowCrack ialah program khas yang membolehkan anda mencipta pangkalan cincang, yang berasaskannya pemecahan kata laluan hampir serta-merta huruf dan nombor dijalankan.
  • Untuk memilih kata laluan menggunakan kamus, pangkalan data kamus dan atur cara sedia digunakan.
  • Apabila menggunakan kaedah pengesanan perlanggaran, mereka mengambil nilai fungsi yang serupa untuk mesej berbeza yang mempunyai permulaan yang sama. Kaedah ini digunakan secara aktif pada akhir abad ke-20.

Formula untuk mendapatkan kod cincang yang sama ialah: MD5(4L1) = MD5(4L2).

Pada tahun 2004, saintis China menemui kelemahan dalam sistem yang memungkinkan untuk mengesan perlanggaran dalam tempoh yang singkat.

Pada tahun 2006, kaedah ditemui yang membolehkan anda mengesan fail berbahaya pada komputer biasa menggunakan apa yang dipanggil "terowong".

Walaupun masalah tertentu dikaitkan terutamanya dengan kerentanan MD5, algoritma ini masih dalam permintaan kerana penggunaan aktifnya dalam pembangunan bebas aplikasi web, serta dalam kes lain yang perlu.