catatan tanggal, 29 maret 2011
Kriptografi MD5
mencerna MD5 telah banyak digunakan dalam perangkat lunak dunia untuk memberikan jaminan bahwa file yang ditransfer telah tiba utuh. Sebagai contoh, file server sering menyediakan MD5 pra-dihitung (dikenal sebagai md5sum ) checksum untuk file, sehingga pengguna dapat membandingkan checksum file yang didownload untuk itu. Unix sistem operasi berbasis-termasuk jumlah utilitas MD5 dalam paket distribusi mereka , sedangkan pengguna Windows menggunakan aplikasi pihak ketiga.
Namun, sekarang yang mudah untuk menghasilkan tabrakan MD5, adalah mungkin bagi orang yang menciptakan file untuk membuat file kedua dengan checksum yang sama, jadi teknik ini tidak dapat melindungi terhadap beberapa bentuk gangguan berbahaya. Juga, dalam beberapa kasus checksum tidak dapat dipercaya (misalnya, apakah itu diperoleh melalui saluran yang sama seperti file yang didownload), di mana MD5 kasus hanya dapat menyediakan fungsionalitas pengecekan error: ia akan mengakui download korup atau tidak lengkap, yang menjadi lebih mungkin saat men-download file yang lebih besar.
MD5 secara luas digunakan untuk menyimpan password . Untuk mengurangi kerentanan yang disebutkan di atas, seseorang dapat menambahkan garam ke hashing password sebelum mereka. Some implementations may apply the hashing function more than once—see key stretching . Beberapa implementasi dapat menerapkan fungsi hashing lebih dari sekali-lihat kunci peregangan .
MD5 dan fungsi hash lainnya juga digunakan dalam bidang penemuan elektronik , dalam rangka menyediakan identifikasi unik untuk setiap dokumen yang dipertukarkan selama proses penemuan hukum. Metode ini dapat digunakan untuk menggantikan cap Bates sistem penomoran yang telah digunakan selama puluhan tahun selama pertukaran dokumen kertas.
Algoritma
Proses MD5 pesan variabel-panjang menjadi output tetap-panjang 128 bit. Pesan masukan dipecah menjadi potongan-bit blok 512 (enam belas 32-bit little endian integer); pesan empuk sehingga panjangnya dibagi oleh 512. Padding bekerja sebagai berikut: bit tunggal pertama, 1, ditambahkan ke akhir pesan. Hal ini diikuti oleh sebagai nol sebanyak yang diperlukan untuk membawa pesan panjang sampai dengan 64 bit kurang dari kelipatan 512. Bit sisa diisi dengan sebuah integer 64-bit yang mewakili panjang pesan asli, dalam bits.
Algoritma MD5 utama beroperasi pada kondisi 128-bit, dibagi menjadi empat-bit kata-kata 32, dinotasikan A, B, C dan D. Ini diinisialisasi dengan konstanta tetap tertentu. Algoritma utama kemudian beroperasi pada masing-masing blok pesan 512-bit pada gilirannya, setiap blok memodifikasi negara. Pengolahan blok pesan terdiri dari empat tahap yang sama, disebut putaran, setiap putaran terdiri dari 16 operasi serupa berdasar pada fungsi linier F-non, penambahan modular , dan rotasi kiri. Gambar 1 mengilustrasikan satu operasi dalam putaran. Ada empat kemungkinan fungsi F, berbeda satu digunakan dalam setiap putaran:
Kesimpulan:
jadi MD5 mengubah password menjadi bentuk hexadesimal yang panjangnya 128 bit, jadi tugasnya hanyalah memasukkan password hasil enkripsi ke dalam sebuah database, sehingga ketika user login, passwordnya tinggal di bandingkan saja dengan data yang ada di database, dan MD5 sampai sekarang tidak bisa di pecahkan.
Tidak ada komentar:
Posting Komentar