MAKALAH KEAMANAN SISTEM INFORMASI SKEMA PROSES MD5

Nama : Muhammad Rachman Nurhakim TI - 3B

UNIVERSITAS NASIONAL PASIM BANDUNG 2012

................................................ Output .................... Algoritma MD5 ... 7............................................... 3........................................ 2......................................................................................................................... 3.................1........ Referensi ........ Pemrosesan Pesan dalam blok 16-word ............................. Latar belakang MD5 ...................... 1................................................................................................................................................................... Inisialisasi Buffer MD .. 1 2 3 4 4 4 4 5 8 8 1 ....3............ Pendahuluan ............................................................... Penambahan Panjang Bit ............................................................................................................................ 3....... Penambahan Panjang Pesan Total ..........................5.2.............................................. 3........ 3................Daftar Isi Daftar Isi ................4..... 3.........

Proses ini diulangterus menerus. MD 4 banyak digunakan sebagai dasar dari banyak desain fungsi enkripsi. Hasil akhir dari nilai ini kemudian menjadi nilai akhir. termasuk MD5. atau message digest. digunakan sebuah nilai tertentu yang disebut initial value. MD 5 merupakan salah satu yang banyak digunakan saat ini. Output ini biasa dikenal dengan sebuatn hash value. Skema umum suatu hash function Hash function memiliki struktur berupa pengulangan fungsi yang sama. Definisi dari hash function. fungsi ini seringkali digunakan untuk pengamanan password pada halaman website yang memerlukan otentifikasi pengguna untuk aksesnya. atau yang disebut hash value. Salah satu implementasinya adalah pada bahasa pemrograman PHP. atau kadang juga dikenal dengan hash function. Pendahuluan MD2. “suatu hash function. Dalam PHP sendiri terdapat fungsi built-in untuk enkripsi MD5. dan RIPEMD.1. Secara umum. SHA-1. dan MD5 termasuk ke dalam algoritma message-digest. Pada PHP. algoritma dari sebuah hash function adalah sebagai berikut : gambar 1. 2 . Fungsi kompresi ini kemudian digunakan untuk mengupdate nilai ini dengan cara tertentu berdasarkan pesan yang sedang dienkripsi. atau lebih tepatnya cryptographic hash function. diambil dari salah satu buletin RSA [11] adalah sebagai berikut. MD4. Pada awal algoritma. yang biasa disebut fungsi kompresi. atau juga algoritma message digest. sampai seluruh bagian dari pesan digunakan. dan menghasilkan string output dengan panjang yang sudah ditentukan. beroperasi pada sebuah string input dengan panjang tidak tentu.

kadangkala serangan semacam ini disebut pseudo-collision. sedangkan dua perubahan yang terakhir merupakan suatu cara untuk meningkatkan tingkat keamanan enkripsi MD5. Ron Rivest memberikan penjelasan awal mengenai MD5. Pada intinya. Latar belakang MD5 Algoritma MD5 disusun oleh Profesor Ronald L. dari MIT. Empat perubahan pertama merupakan solusi yang ditawarkan berdasarkan serangan yang terjadi pada metode enkripsi MD4. yaitu suatu algoritma yang inputnya berupa sebuah pesan yang panjangnya tidak tertentu. seperti checksum.2. Prof. den Boer dan Bosselaers [5] memberikan penjelasan mengenai hal ini. Diperkirakan (conjectured) tidak mungkin untuk menghasilkan dua pesan dengan message digest yang sama. MD5 adalah sebuah cara untuk melakukan verifikasi integritas data. dan menghasilkan keluaran sebuah message digest dari pesan inputnya dengan panjang tepat 128 bit. yaitu : Penambahan tahap ke-empat  Fungsi pada tahap ke-dua diubah dari XY v XZ v YZ menjadi XZ v YZ’ Urutan pembacaan input pada tahap ke-dua dan ke-tiga diubah Jumlah pergeseran bit pada setiap tahap tidak ada yang sama Setiap tahap memiliki penambahan konstanta yang unik Untuk mendapatkan hasil akhir. Dalam makalahnya. Terdapat 6 perbedaan utama antara MD5 dan MD4 [5]. namun MD5 sendiri sebenarnya sudah mulai dikenal pada tahun 1991. yaitu mengenai algoritma MD5. Algoritma MD5 dimaksudkan untuk aplikasi tanda tangan digital (digital signature). RFC 1321 dikeluarkan pada bulan April 1992. yaitu MD4. MD5 sebenarnya merupakan perbaikan dari pendahulunya. oleh karena itu. 3 . Pada RFC 1321. Namun serangan ini bukanlah terjadi pada keseluruhan fungsi MD5. dimana sebuah pesan yang besar harus dipadatkan / di compress dengan cara yang aman sebelum di enkripsi dengan private key dalam sebuah sistem key seperti RSA1 [1]. penambahan hasil dari tahap sebelumnya memungkinkan terjadinya collision untuk fungsi kompresi MD5. dan dapat lebih diandalkan daripada metode yang lebih umum digunakan. Perubahan yang terakhir memiliki efek yang cukup serius [5]. Rivest. output dari setiap tahap ditambahkan ke tahap setelahnya Penjelasan lebih khusus mengenai tahapan yang dilakukan pada enkripsi menggunakan     MD5 dijelaskan pada bab berikutnya.

B. 3. Tujuan dari penambahan pesan ini adalah membuat panjang pesan menjadi (kelipatan) 512 bit. Penambahan panjang pesan ini dilakukan dengan cara sebagai berikut. dan D). dan begitu seterusnya. yang disusun oleh Ron Rivest. Jika representasi “b” ini ternyata lebih besar dari 64 bit. Pengolahan pesan pada tahap keempat nanti akan dilakukan untuk setiap blok sebesar 16 word. Panjang pesan total sampai pada tahap ke-dua ini sebesar (kelipatan dari) 512 bit.3. dan akan dicari message digestnya.Penambahan Panjang Bit Pesan diperpanjang sampai sebesar 448 bit. Dimisalkan kita memiliki pesan sepanjang “b” -bit. C.Penambahan Panjang Pesan Total Representasi sebesar 64 bit dari “b” (panjang pesan awal) ditambahkan ke dalam pesan. Tujuan dari penambahan ukuran pesan sampai sebesar kelipatan dari 512 bit ini adalah agar pesan memiliki panjang tepat kelipatan dari 16 word (satu word memiliki ukuran 32 bit).1.3. dengan modulo 512. Kemudian bit “0” ditambahkan sampai panjang pesan menjadi 448 bit. 3. Untuk menghitung message digest dari sebuah pesan. sebuah bit “1” ditambahkan ke dalam pesan. maka yang akan diambil hanyalah 64 bit awal (low-order) saja. dikurangi 64 bit. maka perpanjangan pesan akan dilakukan sampai sebesar 512 + 448 bit. pada MD5 dilakukan lima langkah sebagai berikut : 3.2. Kekurangan 64 bit ini akan diatasi pada tahap kedua. Ke empat register ini diinisialisasi dengan nilai-nilai berikut (LSB di sebelah kiri): 4 . Algoritma MD5 Algoritma yang diberikan disini diambil dari RFC 1321. artinya jika panjang pesan telah melebihi 448 bit ini. Inisialisasi Buffer MD Pada tahap ini digunakan 4 buah register sebagai buffer untuk perhitungan pesan (A. Setiap buffer ini memiliki ukuran 32 bit.

Fungsi-fungsi ini dideskripsikan sebagai berikut : Pada proses enkripsi pesan dengan MD5 ini juga diperlukan sebuah array T[i] yang berisi 64 elemen. B.Pemrosesan Pesan dalam blok 16-word Pada awal tahap ini didefinisikan 4 buah fungsi dengan input 3 buah word 32-bit. Langkah-langkah yang harus dilakukan dijelaskan dalam tahapan berikut : 1. Tahap ini dibagi menjadi 4 bagian. dan II. FF : Andaikan [ abcd k s i ] → a = b + ( ( a + F ( b. d ) + X [ k ] + T [ i ] ) <<< s ) dimana “<<<” melambangkan rotasi ke kiri. biasa disebut tahap FF. dan D pada tahap tiga. BB. yang berisi nilai A. Pengolahan pesan dilakukan untuk setiap potongan blok dari pesan dengan ukuran tepat 16 word. Definisikan suatu array x[i] yang berisi setiap word dari pesan (total ukuran array adalah 16 elemen). GG. c. Loop untuk setiap 16 word 2. Seluruh elemen ini didapat dengan perhitungan tertentu menggunakan fungsi sinus. C. Definisikan variabel AA.4. dan menghasilkan output satu buah word 32-bit. Seluruh nilai dari tiap elemen array ini diberikan dalam RFC 1321.3. Bagian 1. 4. 3. dan DD. Lakukan seluruh operasi sebagai berikut : [ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3 22 4] [ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7 22 8] [ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11 22 12] [ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15] [BCDA 15 22 16] 5 . HH. CC. Dengan demikian pada langkah awal harus dilakukan looping untuk setiap potongan pesan ini.

HH : Andaikan [ abcd k s i ] → a = b + ( ( a + H ( b. c. c. d ) + X [ k ] + T [ i ] ) <<< s ) Lakukan seluruh operasi sebagai berikut : [ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35] [BCDA 14 23 36] [ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16 39] [BCDA 10 23 40] [ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16 43] [BCDA 6 23 44] [ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16 47] [BCDA 2 23 48] Bagian 4. Kembali ke loop 6 . d ) + X [ k ] + T [ i ] ) <<< s ) dimana “<<<” melambangkan rotasi ke kiri. Lakukan penambahan berikut : 6. GG : Andaikan [ abcd k s i ] → a = b + ( ( a + G ( b. II : Andaikan [ abcd k s i ] → a = b + ( ( a + I ( b. d ) + X [ k ] + T [ i ] ) <<< s ) Lakukan seluruh operasi sebagai berikut : [ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51] [BCDA 5 21 52] [ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15 55] [BCDA 1 21 56] [ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15 59] [BCDA 13 21 60] [ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15 63] [BCDA 9 21 64] 5. Lakukan seluruh operasi sebagai berikut : [ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA 0 20 20] [ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23] [BCDA 4 20 24] [ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14 27] [BCDA 8 20 28] [ABCD 13 5 29] [DABC 2 9 30] [CDAB 7 14 31] [BCDA 12 20 32] Bagian 3.Bagian 2. c.

diberikan gambaran dalam bentuk diagram alir : gambar 2.Untuk memperjelas langkah pengolahan pesan yang harus dilakukan. Flowchart tahap ke-empat algoritma MD5. 7 .

.html. Computer Science Department – Eastern Kentucky University. rev May 2005. http://en.RSA Data Security. dan D. Referensi Rivest. R.org/wiki/Initialisation_vector.org/wiki/MD5. April 1992. 8 .5. B. RFC 1321. MD5 encryption example. Mar 2005. http://www. http://en.cs.net/blog/2004/08/23/Electronic-Forgery. Eugene Styer.3.eku. Hasil dari fungsi MD5 didapat dengan rumusan berikut : 7.intertwingly.edu/faculty/styer/460/index. Inc.wikipedia.509 Certificates.wikipedia. Colliding X. MIT . Output Output yang dihasilkan dari tahap empat ialah A.. Arjen Lenstra and Xiaoyun Wang and Benne de Weger. http://www. C. The MD5 Message Digest Algorithm.

Sign up to vote on this title
UsefulNot useful