ALGORITMA_MD5_lengkap
Short Description
algoritma MD5...
Description
ALGORITMA MD5 DIBAWAKAN OLEH KELOMPOK 6 TUGAS KEAMANAN INFORMASI
PENGERTIAN FUNGSI HASH FUNGSI HASH Merupakan sebuah algoritma yang mengubah teks atau pesan menjadi sederetan karakter acak yang memiliki jumlah karakter yang sama
KELOMPOK 6
ocu
PENGERTIAN FUNGSI HASH
KELOMPOK 6
ocu
SIFAT-SIFAT FUNGSI HASH o Tahan Preimej (Preimage Resistant) o Tahan Preimej Kedua (Second Preimage Resistant) o Tahan Tumbukan (Collision-Resistant)
KELOMPOK 6
ocu
KEGUNAAN FUNGSI HASH o Menyimpan Password o Sebagai Message Integrity
o Sebagai Message Fingerprint
KELOMPOK 6
ocu
Kegunaan Fungsi Hash Menyimpan Password • Password didalam sebuah sistem dianjurkan untuk disimpan dengan menggunakan fungsi hash. Dengan demikian administrator sistem tersebut sekalipun tidak akan dapat melihat atau menggunakan password user yang telah menjadi membernya. Hal ini akan memberikan impact yang baik kepada user bahwa baik sistem maupun administrator sangat menghargai privasi dari anggotanya. 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-Algoritma Fungsi Hash Kriptografi Beberapa contoh algoritma fungsi hash Kriptografi: • MD4 • MD5 • SHA-0 • SHA-1 • SHA-256 • SHA-512 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
Awal Perkembangan MD5 MD2 • Pada awal perembangannya Message Direct di kembangkan oleh Ronald Rivest Awalnya munculnya algoritma MD2 pada tahun 1989 untuk komputer berbasis bit, namun dalam perkembangnanya Algoritma MD2 memiliki kelemahan utama yang disebut collusion , dalam kelemahan ini berdasarkan sifat injektifknya, dimana range yang sama belum tentu memiliki domain yang sama. riski
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
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 (buffer) MD. 4. Pengolahan pesan dalam blok berukuran 512 bit.
riski
TAHAPAN KERJA MD5 DIAGRAM KERJA ALGORITAM MD5 Diagram berikut merupakan diagram dari keseluruhan proses algoritma MD5. Tanda panah menjelaskan diagram tahapan yang lebih kecil.
kurnia KELOMPOK 6
TAHAPAN KERJA MD5
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
TAHAPAN KERJA MD5
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
TAHAPAN KERJA MD5
Langkah 3 – Inisialisasi penyangga MD Pada algoritma MD5 dibutuhkan empat buah penyangga atau buffer, secara berurut keempat nama penyangga diberi nama A, B, C dan D. Masing-masing penyangga memiliki panjang 32 bit.
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
TAHAPAN KERJA MD5
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
TAHAPAN KERJA MD5 Langkah 4 – Pengolahan pesan dalam blok berukuran 512 bit (lanjutan): Dari gambar di samping dapat kita lihat bahwa proses HMD5 terdiri dari 4 buah putaran, dan masing-masing putaran melakukan opersi dasar MD5 sebanyak 16 kali. Dimana disetiap operasi dasar memakai sebuah elemen T. Sehingga setiap putaran memakai 16 elemen tabel T. 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
TAHAPAN KERJA MD5 Langkah 4 – Pengolahan pesan dalam blok berukuran 512 bit (lanjutan): Operasi dasar MD5 yang diperlihatkan gambar di samping dapat dituliskan dengan persamaan berikut ini :
Dimana,
kurnia
KELOMPOK 6
TAHAPAN KERJA MD5 Langkah 4 – Pengolahan pesan dalam blok berukuran 512 bit (lanjutan): Fungsi fF, fG, fH, dan fI adalah fungsi untuk memanipulasi masukan a, b, c, dan d dengan ukuran 32-bit. Masing-masing fungsi dapat dilihat pada tabel dibawah ini :
KELOMPOK 6
kurnia
TAHAPAN KERJA MD5 Langkah 4 – Pengolahan pesan dalam blok berukuran 512 bit (lanjutan): Kemudian nilai T[i] dapat dilihat pada tabel dibawah ini. Tabel ini disusun oleh fungsi 232 x abs(sin(i)), i dalam radian.
kurnia KELOMPOK 6
tabel nilai T[i] dari pengolahan proses 4
kurnia
TAHAPAN KERJA MD5 Langkah 4 – Pengolahan pesan dalam blok berukuran 512 bit (lanjutan): Sebagaimana telah dijelaskan sebelumnya bahwa fungsi fF, fG, fH, dan fI melakukan 16 kali operasi dasar. Misalkan notasi berikut ini , menyatakan operasi untuk operasi diatas,
View more...
Comments