ALGORITMA MD5 Lengkap
ALGORITMA MD5 Lengkap
KELOMPOK 6
ocu
KELOMPOK 6
ocu
KELOMPOK 6
ocu
KELOMPOK 6
ocu
Message Integrity
Untuk mencegah ada seseorang ditengah perjalanan yang ingin mengganti pesan tersebut dalam bertukar pesan
ocu
Message Fingerprint
Penggunaan Hash sebagai sidik jari pesan (message fingerprint) digunakan untuk mengecek apakah file yang kita simpan masih sesuai dengan file asli ketika hash file tersebut dibuat dan belum berubah. Jika terdeteksi adanya file yang tidak memiliki hash yang sama dengan yang telah dibuat sebelumnya, maka dapat dipastikan bahwa file tersebut telah berubah.
ocu
ALGORITMA MD5
ALGORITMA MD5
SEJARAH SINGKAT
Dikembangkan oleh Ronald Rivest pada tahun 1991 sebagai bagian dari seri algoritma Message Direct yang dikembangkannya untuk menggantikan fungsi hash sebelumnya, yaitu MD4. Algoritma ini diterbitkan di internet melalui RFC 1321.
PRINSIP DASAR
MD5 fungsi hash ke 5 yang merupakan perkembangan dari MD4 , dimana terjadi penambahan satu ronde. MD5 pemroses teks masukan kedalam blok- blok bit sebanyak 512 bit, kemudian di bagi kedalam 32 bit sub blok sebanyak 24 16buah. Keluaran dari MD5 berupa 4 buah blok yang masing- masing 32 bit yang mana akan menjadi 128 bit yang biasa di sebut nilai hash.
riski
KELOMPOK 6
MD4. Ditulis pada tahun 1990 yang merupakan revisi dari MD2 . MD4 digunakan untuk memeriksa integritas dari sebuah pesan. Kelemahannya yaitu emiliki flowfatal dalam proses eksekusinya sehingga kode 32 bit heksadesimal yang dihasikannya dapat di tembus walaupun waktu yang di perlukan untuk membaca kode relatif lama
riski
MD5 pada tahun 1991 untuk menggantikan fungsi hash sebelumnya, MD4 . Pada tahun 1996, sebuah cacat telah ditemukan dengan desain MD5. MD5 secara garis besar adalah mengambil pesan yang mempunyai panjang variabel diubah menjadi sidik jari atau intisari pesan yang mempunyai penjang tetap 128 bit.
riski
riski
kurnia
KELOMPOK 6
Langkah 1 Penambahan Bit-bit Pengganjal: Proses pertama yang dilakukan adalah menambahkan pesan dengan sejumlah bit pengganjal sedemikian sehingga panjang pesan (dalam satuan bit) kongruen dengan 448 modulo 512. Ini berarti setelah menambahkan bit-bit pengganjal, kini panjang pesan adalah 64 bit kurang dari kelipatan 512. Hal yang perlu diingat adalah angka 512 muncul karena algoritma MD5 memproses pesan dalam blok-blok yang berukuran 512. Apabila terdapat pesan dengan panjang 448 bit, maka pesan tersebut akan tetap ditambahkan dengan bit-bit pengganjal. Pesan akan ditambahkan dengan 512 bit menjadi 96 bit. Jadi panjang bit-bit pengganjal adalah antara 1 sampai 512. Lalu satu hal lagi yang perlu diperhatikan adalah bahwasanya bit-bit pengganjal terdiri dari sebuah bit 1 diikuti dengan sisanya bit 0.
kurnia
KELOMPOK 6
Langkah 2 Penambahan nilai panjang pesan semula: Kemudian proses berikutnya adalah pesan ditambah lagi dengan 64 bit yang menyatakan panjang pesan semula. Apabila panjang pesan lebih besar dari 264 maka yang diambil adalah panjangnya dalam modulo 264. dengan kata lain, jika pada awalnya panjang pesan sama dengan K bit, maka 64 bit yang ditambahkan menyatakan K modulo 2 64. sehingga setelah proses kedua ini selesai dilakukan maka panjang pesan sekarang adalah 512 bit.
kurnia
KELOMPOK 6
Total panjangpenyangga adalah 4 32 = 128 bit. Keempat penyangga ini menampung hasil antara dan hasil akhirSehingga panjang total :
kurnia
KELOMPOK 6
Sambung
Keempat penyangga ini menampung hasil antara dan hasil akhir. Setiap penyangga diinisialisasi dengan nilai-nilai (dalam notasi Hexadesimal) sebagai berikut :
kurnia
Langkah 4 Pengolahan pesan dalam blok berukuran 512 bit : Proses berikutnya adalah pesan dibagi menjadi L buah blok yang masingmasing panjangnya 512 bit (Y0 sampai YL-1). Setelah itu setiap blok 512 bit diproses bersama dengan penyangga MD yang menghasilkan keluaran 128 bit, dan ini disebut HMD5. Berikut ini gambaran dari proses HMD5
kurnia
KELOMPOK 6
kurnia
Sambung
Yq menyatakan blok 512 bit ke-q dari pesan yang telah ditambahkan dengan bitbit pengganjal pada proses pertama dan tambahan 64 bit nilai panjang pesan semula pada proses kedua. MDq adalah nilai message digest 128 bit dari proses HMD5 ke-q. Pada awal proses , MDq berisi nilai inisialisasi penyangga MD. Kemudian fungsi fF, fG, fH, dan fI pada gambar, masing-masing berisi 16 kali operasi dasar terhadap input, setiap operasi dasar menggunakn elemen tabel T. Berikut ini ilustrasi gambar operasi dasar MD5
kurnia
Dimana,
kurnia
KELOMPOK 6
KELOMPOK 6
kurnia
kurnia
KELOMPOK 6
kurnia
PUTARAN 1
16 kali operasi dasar dengan g(b, c, d) F(b, c, d), dapat dilihat pada tabel berikut ini :
PUTARAN 2
16 kali operasi dasar dengan g(b, c, d) G(b, c, d), dapat dilihat pada tabel berikut ini :
PUTARAN 3
16 kali operasi dasar dengan g(b, c, d) H(b, c, d), dapat dilihat pada tabel berikut ini :
PUTARAN 4
16 kali operasi dasar dengan g(b, c, d) I(b, c, d), dapat dilihat pada tabel berikut ini :
KELOMPOK 6
kurnia
Dimana, IV = initial vector dari penyangga ABCD, yang dilakukan pada proses inisialisasi penyangga Yq = blok pesan berukuran 512-bit ke-q L = jumlah blok pesan MD = nilai akhir message digest
kurnia
KELOMPOK 6
Dimana, IV = initial vector dari penyangga ABCD, yang dilakukan pada proses inisialisasi penyangga Yq = blok pesan berukuran 512-bit ke-q L = jumlah blok pesan MD = nilai akhir message digest
kurnia
KELOMPOK 6
kurnia
kurnia
kurnia
kurnia
kurnia
Fungsi mainnya:
Outputnya :
kurnia
Penerapan MD5 :
Untuk menjamin data integrity
sebenarnya sudah berjalan tanpa di sadari sadari. Yang paling mudah jumpai adalah MD5 checksum yang tertera ketika akan men-download sebuah file. Ambil satu contoh www.filehippo.com pilih salah satu software yang ingin didownload lalu klik tab Technical-nya scroll agak kebawah sampai ada informasi MD5 checksum.
Nina pratiwi
Contoh penerapannya
Kolom MD5 checksum pada Down Them All (Firefox download extension) Informasi MD5 checksum ini dapat kita tambahkan ke download manager ketika akan melakukan pengunduhan sehingga pembandingan hash value akhir akan di lakukan oleh download manager secara otomatis ketika proses pengunduhan selesai. Begitulah caranya download manager menentukan file yang rusak dengan yang utuh.
Nina pratiwi
Nina pratiwi
Selanjutnya, message digest MD dienkripsikan dengan algoritma kunci-publik menggunakan kunci rahasia (SK) pengirim menjadi sidik dijital S, Sehingga rumusnya : S = ESK(MD) Pesan M disambung (append) dengan sidik dijital S, lalu keduanya dikirim melalui saluran komunikasi . Dalam hal ini, kita katakan bahwa pesan M sudah ditandatangani oleh pengirim dengan sidik dijital S. Di tempat penerima, pesan diverifikasi untuk dibuktikan keotentikannya dengan cara berikut: 1.Sidik dijital S didekripsi dengan menggunakan kunci publik (PK) pengirim pesan, menghasilkan message digest semula, MD, sebagai berikut: MD = DPK(S) 2. Pengirim kemudian mengubah pesan M menjadi message digest MD menggunakan fungsi hash satu-arah yang sama dengan fungsi hash yang digunakan oleh pengirim. 3. Jika MD = MD, berarti pesan yang diterima otentik dan berasal dari pengirim yang benar.
Nina pratiwi
keterangan
Keotentikan ini dijelaskan sebagai berikut: Apabila pesan M yang diterima sudah berubah, maka MD yang dihasilkan dari fungsi hash berbeda dengan MD semula. Ini berarti pesan tidak asli lagi.
Secret Key
Signature
Message Digest
? =
Message Digest
Nina pratiwi
Sambungan.
Signer Message Message Signature Fungsi Hash Signature Message Digest Public Key Signing Verify Fungsi Hash Verifier Message Signature Message
Secret Key
Signature
Message Digest
? =
Apabila pesan M tidak berasal dari orang yang sebenarnya, maka message digest MD yang dihasilkan dari persamaan 3 berbeda dengan message digest MD yang dihasilkan pada proses verifikasi (hal ini karena kunci publik yang digunakan oleh penerima pesan tidak berkoresponden dengan kunci rahasia pengirim). Bila MD = MD, ini berarti pesan yang diterima adalah pesan yang asli (message authentication) dan orang yang mengirim adalah orang yang sebenarnya (user authentication
Message Digest
Nina pratiwi
Nina pratiwi
Sambung
Simplicity Kedua algoritma simple untuk dijelaskan dan mudah untuk diiemplementasikan karena tidak membutuhkan program yang besar atau tabel subtitusi yang besar pula.
Contoh : Perhatikan perbedaan nilai hash untuk perintah MD5 dan SHA1 terhadap data "murdan" sbb: f8f33438c13ef064439e42b124f9e537 039949592e82eab2c43703c3e133149cb079cc1a
Nina pratiwi
KELOMPOK 6
dian
untuk verifikasi integritas file dimadsudkan dengan integritas file adalah keaslian file, apakah file sudah diubah atau belum. Biasanya pada saat mendownload sebuah file dari internet md5 berperan sebagai algoritma yang dipakai untuk membuktikan apakah file yang di download tersebut masih asli atau tidak. Md5 kelebihan sebagai pendeteksi perubahan file, misalnya pada tripwire di linux. Ini merupakan dari instuction detection system dimana bila ada file berubah nilai hashnya maka IDS akan menyalakan alarm bahwa telah terjadi perubahan file. Algoritma md5 sangat peka dalam perubahan data sekecil apapun
dian
Kekurangan
Serangan Collision Md 5 cenderung rentan terhadap serangan collision yaitu peristiwa dimana 2 nilai yang berbeda dapat memiliki nilai hash yang sama.collusion ini dimanfaatkan untul memasukkan sertifikat SSL jejaring palsu. rentan Preimage Attack Preimage attack merupakan serangan terhadap fungsi hash yang menyerupai collision attack, namun dengan tujuan mencari masukan m2 apabila masukan m1 sudah diketahui, sehingga f(m1) = f(m2). Tidak seperti collision attack di mana tujuannya adalah mencari kedua masukan m1 dan m2. Serangan preimage pada umumnya lebih kompleks dibandingkan serangan collision dan tidak jarang alternatif satu-satunya untuk melakukan serangan ini adalah dengan menggunakan brute force. o Kriptanalisis lebih lanjut tehadap MD5 o Proses perubahan data asli menjadi MD5 perlu waktu relatif lama (resource hardware)
dian
proses hash md5 terlebih dahulu untuk mengubah data plaintext menjadi chiper, kemudian Setelah diterima agar data bisa dibaca dan dipahami oleh penerima data, data harus melalui proses hash md5 pengubahan chiper menjadi plaintext Setelah data melalui proses pengubahan chiper menjadi plaintext. Proses perubahan data asli menjadi MD5 perlu waktu relatif lama (resource hardware) Md5 divonis tidak cocok untuk dipakai sebagai fungsi enkripsi yang membutuhkan ketahanan dari serangan collusion Keamanan fungsi hash MD5 terancam. Sebuah serangan tabrakan ada yang dapat menemukan tabrakan dalam hitungan detik pada komputer dengan prosesor Pentium4 2.6GHz.
dian
KELOMPOK 6
dian
KESIMPULAN
o MD5 merupakan fungsi hash satu arah yang mengubah masukan dengan panjang variabel menjadi keluaran dengan panjang tetap yaitu 128 bit. o Algoritma MD5 dengan fungsi hashnya sangat peka terhadap perubahan pesan, maka algoritma MD5 cocok untuk aplikasi yang menjaga integritas suatu data. o Algoritma MD5 dalam dipakai dalam aplikasi untuk Aplikasi Integritas Data Aplikasi digital Signature pada KTP o Algoritma MD5 mempunyai Kelebihan: untuk verifikasi integritas file, Md5 berfungsi sebagai pendeteksi perubahan file, Md5 berfungsi sebagai penyimpan password di database, dan sangat peka dalam perubahan data sekecil apapun. kekurangan : Serangan Collision, Kriptanalisis lebih lanjut tehadap MD5 dan Proses perubahan data asli menjadi MD5 perlu waktu relatif lama (resource hardware) o Eksistensi Algoritma MD5 dikalahkan oleh Algoritma hash yang baru yaitu SH-1 kerana MD5 rentan terhadap serangan- serangan.
PUT THE NAME OF YOUR COMPANY HERE
dian