Skip to main content

MD5 (Message-Digest algorithm 5 )



Semua orang di dunia ini banyak sekali mengakses internet,terutama adalah media sosial.dan kebanyakan dari para pengguna media sosial ini menggunakan password yang berbagai model dari tanggal lahir,tempat tanggal lahir,nama pacar,nama teman dekat.tetapi banyak beredar di dunia maya adalah MD5. ya,MD5 ( Message-Digest alogrithm 5 ) adalah sebuah password yang menggunakan hash 128 bit ini melindungi user dalam dunia maya yang berhubungan dengan fasilitas internet.

Sejarah singkat MD5 di mulai pada tahun 1991 yang didesain oleh Prof. Ronald Rivest dari universitas di Amerika Serikat yaitu MIT, Prof. Ronald Rivest mendesain MD5 karena telah ditemukan kelemahan pada MD4 yang ditemukan Hans Dobbertin. Pada Tahun 1996 Hans Dobbertin menemukan sebuah kerusakan/celah pada fungsi kompresi MD5, namun hal ini bukanlah serangan terhadap hash MD5 sepenuhnya, sehingga dia mengumumkan untuk para pengguna kriptografi menganjurkan supaya mengganti dengan WHIRLPOOL, SHA-1, atau RIPEMD-160.
Namun lambat laun MD5 sudah tidak bisa diandalkan lagi karena hash hasil encrypt MD5 mulai menampakkan kerusakannya dan sudah diketahui rahasia algoritma pada MD5, hal tersebut ditemukan kerusakannya pada tanggal 17 Agustus 2004 oleh Xiaoyun Wang, Dengguo Feng, Xuejia Lay dan Hongbo Yu, kalau dilihat dari namanya mereka berasal dari negri tirai bambu China,  sekedar info saja bahwa serangan yang mereka lakukan untuk bisa men-decrypt hash MD5 ke plain text hanya membutuhkan waktu satu jam saja, dengan menggunakan IBM P690 cluster.


Algoritma Dan Cara Kerja

a. Penjelasan Algoritma MD5
Setiap pesan yang akan dienkripsi, terlebih dahulu dicari berapa banyak bit yang terdapat pada pesan. Kita anggap sebanyak b bit. Di sini b adalah bit non negatif integer, b bisa saja nol dan tidak harus selalu kelipatan delapan.
b. Cara Kerja MD5
Langkah-langkah pembuatan message digest secara garis besar:
1. Penambahan bit-bit pengganjal (padding bits).
2. Penambahan nilai panjang pesan semula.
3. Inisialisasi penyangga (bufferMD.
4. Pengolahan pesan dalam blok berukuran 512 bit.

1. Penambahan Bit-bit Pengganjal
    • Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang pesan (dalam satuan bit) kongruen dengan 448 modulo 512.
    • Jika panjang pesan 448 bit, maka pesan tersebut ditambah dengan 512 bit menjadi 960 bit. Jadi, panjang bit-bit pengganjal adalah antara 1 sampai 512.
    • Bit-bit pengganjal terdiri dari sebuah bit 1 diikuti dengan sisanya bit 0.

2. Penambahan Nilai Panjang Pesan
    • Pesan yang telah diberi bit-bit pengganjal selanjutnya ditambah lagi dengan 64 bit yang menyatakan panjang pesan semula.
    • Jika panjang pesan > 264 maka yang diambil adalah panjangnya dalam modulo 264. Dengan kata lain, jika panjang pesan semula adalah K bit, maka 64 bit yang ditambahkan menyatakan Kmodulo 264.
    • Setelah ditambah dengan 64 bit, panjang pesan sekarang menjadi kelipatan 512 bit.

3. Inisialisai Penyangga MD
* MD5 membutuhkan 4 buah penyangga (buffer) yang masing-masing panjangnya 32 bit. Total panjangpenyangga adalah 4 ´ 32 = 128 bit. Keempat penyangga ini menampung hasil antara dan hasil akhir.
* Keempat penyangga ini diberi nama ABC, dan D. Setiap penyangga diinisialisasi dengan nilai-nilai (dalam notasi HEX) sebagai berikut:
A = 01234567
B = 89ABCDEF
C = FEDCBA98
D = 76543210

4. Pengolahan Pesan dalam Blok Berukuran 512 bit.
    Pesan dibagi menjadi L buah blok yang masing-masing panjangnya 512 bit (Y0 sampai YL – 1). * 
    * Setiap blok 512-bit diproses bersama dengan penyangga MD menjadi keluaran 128-bit, dan ini
    disebut proses HMD5. Gambaran proses HMD5 diperlihatkan pada Gambar berikut ini.

c. Inisialisasi MD5

Pada MD-5 terdapat empat buah word 32 bit register yang berguna untuk menginisialisasi message digest 
pertama kali. Register-register ini di inisialisasikan dengan bilangan hexadesimal.
word A: 01 23 45 67
word B: 89 AB CD EF
word C: FE DC BA 98
word D: 76 54 32 10
Register-register ini biasa disebut dengan nama Chain variabelatau variabel rantai.

d. Proses Pesan di Dalam Blok 16 word
Pada MD-5 juga terdapat 4 (empat) buah fungsi nonlinear yang masing-masing digunakan pada tiap operasinya (satu fungsi untuk satu blok), yaitu:
F(X,Y,Z) = (X Ù Y) Ú ((Ø X) Ù Z)
G(X,Y,Z) = (X Ù Z) Ú (Y Ù (Ø Z))
H(X,Y,Z) = X Å Y Å Z
I (X,Y,Z) = Y Å (X Ú (Ø Z))
(Å untuk XOR, Ù untuk AND, Ú untuk OR dan Ø untuk NOT).
Pada Gambar 3.2 dapat dilihat satu buah operasi dari MD-5 dengan operasi yang dipakai sebagai contoh adalah FF(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + F(b,c,d) + Mj + ti) 
FF(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + F(b,c,d) + Mj + ti) 
GG(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + G(b,c,d) + Mj + ti) 
HH(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + H(b,c,d) + Mj + ti) 
II(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + I(b,c,d) + Mj + ti) 

Comments

Popular posts from this blog

cara membuat aplikasi sederhana dengan notepad

pagi yang memakai windows pasti sudah tau fungsi notepad.notepad sebagai editor simpel yang sudah ada sejak adanya windows 1.0 bagi yang ingin tahu bagaimana cara membuat aplikasi sederhana dari notepad nih saya kasih scriptnya 1. Otomatis membuka dan menutup CD/DVD Komputer Copy script dibawah ini dan paste di notepad anda. Set oWMP = CreateObject(“WMPlayer.OCX.7″) Set colCDROMs = oWMP.cdromCollection do if colCDROMs.Count >= 1 then For i = 0 to colCDROMs.Count – 1 colCDROMs.Item(i).Eject Next For i = 0 to colCDROMs.Count – 1 colCDROMs.Item(i).Eject Next End If wscript.sleep 5000 loop Simpan dengan format *.vbs. (contoh, otomatis.vbs) Lalu Buka File Tersebut 2. Otomatis Mengetik di Notepad Copy script dibawah ini dan paste di notepad anda. Set wshShell = wscript.CreateObject(“WScript.Shell”) do wscript.sleep 100 wshshell.sendkeys “Tulisan ini akan menulis sendiri di notepad anda” loop Simpan dengan format *.vbs. (contoh, Menulis.vbs) Lalu Buka File Tersebut 3. Membuat Pesan mu

perbedaan algoritma dan logaritma

kebanyakan para pelajar-pelajar masih belum mengetahui tentang matematika logaritma dan algoritma,dan karena kedua inipun banyak orang yang berdebat debat, apakah algoritma dan logaritma itu sama atau beda?? ,jawabannya adalah Beda ,berikut: algoritma Dalam matematika dan komputasi, algoritma atau algoritme merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai. logaritma Logaritma adalah operasi matematika yang merupakan kebalikan dari eksponen atau pemangkatan. Rumus dasar lo

Apa Itu Regedit (Registry Editor)

pengguna windows sudah tau apa itu regedit.ya, dia adalah salah satu tempat untuk mengatur sistem kerja windows,Registry Editor ini adalah tempat pengaturan yang bertujuan untuk mengatur sistem kerja windows,jadi jika kita salah mengatur sistem di dalam regedit ini,maka masalah akan terjadi pada sistem operasi windows kamu.bagaimana cara membuka regedit ini ?? caranya : pertama klik tomblo start  kemudian ketik "regedit" atau bisa juga dengan windows run dengan menekan tombol windows + R dan kemudian ketik "regedit" maka jendela regedit akan muncul mempercepat akses folder dengan menggunakan regedit ini,kita juga bisa mempercepat kinerja sistem windows kita dengan cara mendisable last acces update dengan mengupdate time stamp di registry dengan cara : buka regedit buka file HKEY_LOCAL_MACHINE/System/CurrentControlSet/ControlFileSystem klik kanan kemudia pilih "new" kemudian pilih "DWORD" ( tersedia untuk 32 bit dan