SlideShare a Scribd company logo
Algoritma MD5 
Bekerja sama dengan: 
Rinaldi Munir
Pendahuluan 
•MD5 adalah fungsi hash satu-arah yang dibuat oleh Ron Rivest. 
•MD5 merupakan perbaikan dari MD4 setelah MD4 ditemukan kolisinya. 
•Algoritma MD5 menerima masukan berupa pesan dengan ukuran sembarang dan menghasilkan message digest yang panjangnya 128 bit.
Gambaran umum 
Pesan1000...000Panjang PesanK bitPadding bitsK mod 264L x 512 bitY0......Y1YqYL - 1512512512512HMD5HMD5ABCD512512128128128HMD5512128128HMD5512128128Message Digest(1 - 512 bit)
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.
1. Penambahan Bit-bit Pengganjal 
•Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang pesan (dalam satuan bit) kongruen dengan 448 (mod 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 K modulo 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 panjang penyangga adalah 4  32 = 128 bit. Keempat penyangga ini menampung hasil antara dan hasil akhir. 
•Keempat penyangga ini diberi nama A, B, C, 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:
])16..1[,,(TYABCDfABCDqF ])32..17[,,(TYABCDfABCDqG ])48..33[,,(TYABCDfABCDqH ])64..49[,,(TYABCDfABCDqI ABCDABCDABCD++++ MDqMDq + 1128Yq512
•Pada Gambar tersebut, Yq menyatakan blok 512-bit ke-q 
•MDq adalah nilai message digest 128-bit dari proses HMD5 ke-q. Pada awal proses, MDq berisi nilai inisialisasi penyangga MD. 
•Proses HMD5 terdiri dari 4 buah putaran, dan masing- masing putaran melakukan operasi dasar MD5 sebanyak 16 kali dan setiap operasi dasar memakai sebuah elemen T. Jadi setiap putaran memakai 16 elemen Tabel T.
•Fungsi-fungsi fF , fG , fH , dan fI masing-masing berisi 16 kali operasi dasar terhadap masukan, setiap operasi dasar menggunakan elemen Tabel T. 
•Operasi dasar MD5 diperlihatkan pada Gambar berikut:
abcdg+ + + CLSs+ X[k] T[i]
Operasi dasar MD5 yang diperlihatkan pada Gambar di atas dapat ditulis dengan sebuah persamaan sebagai berikut: 
a  b + CLSs(a + g(b, c, d) + X[k] + T[i]) 
yang dalam hal ini, 
a, b, c, d = empat buah peubah penyangga 32-bit A, B, C, D 
g = salah satu fungsi F, G, H, I 
CLSs = circular left shift sebanyak s bit 
X[k] = kelompok 32-bit ke-k dari blok 512 bit message ke-q. 
Nilai k = 0 sampai 15. 
T[i] = elemen Tabel T ke-i (32 bit) 
+ = operasi penjumlahan modulo 232
•Karena ada 16 kali operasi dasar, maka setiap kali selesai satu operasi dasar, penyangga-penyangga itu digeser ke kanan secara sirkuler dengan cara pertukaran sebagai berikut: 
temp  d 
d  c 
c  b 
b  a 
a  temp
abcdg+ + + CLSs+ X[k] T[i] abcd
Tabel 1. Fungsi-fungsi dasar MD5 Nama Notasi g(b, c, d) fF F(b, c, d) (b  c)  (~b  d) fG G(b, c, d) (b  d)  (c  ~d) fH H(b, c, d) b  c  d fI I(b, c, d) c  (b  ~ d) Catatan: operator logika AND, OR, NOT, XOR masing-masing dilambangkan dengan , , ~, 
Tabel 2. Nilai T[i] T[1] = D76AA478 T[2] = E8C7B756 T[3] = 242070DB T[4] = C1BDCEEE T[5] = F57C0FAF T[6] = 4787C62A T[7] = A8304613 T[8] = FD469501 T[9] = 698098D8 T[10] = 8B44F7AF T[11] = FFFF5BB1 T[12] = 895CD7BE T[13] = 6B901122 T[14] = FD987193 T[15] = A679438E T[16] = 49B40821 T[17] = F61E2562 T[18] = C040B340 T[19] = 265E5A51 T[20] = E9B6C7AA T[21] = D62F105D T[22] = 02441453 T[23] = D8A1E681 T[24] = E7D3FBCB T[25] = 21E1CDE6 T[26] = C33707D6 T[27] = F4D50D87 T[28] = 455A14ED T[29] = A9E3E905 T[30] = FCEFA3F8 T[31] = 676F02D9 T[32] = 8D2A4C8A T[33] = FFFA3942 T[34] = 8771F681 T[35] = 69D96122 T[36] = FDE5380C T[37] = A4BEEA44 T[38] = 4BDECFA9 T[39] = F6BB4B60 T[40] = BEBFBC70 T[41] = 289B7EC6 T[42] = EAA127FA T[43] = D4EF3085 T[44] = 04881D05 T[45] = D9D4D039 T[46] = E6DB99E5 T[47] = 1FA27CF8 T[48] = C4AC5665 T[49] = F4292244 T[50] = 432AFF97 T[51] = AB9423A7 T[52] = FC93A039 T[53] = 655B59C3 T[54] = 8F0CCC92 T[55] = FFEFF47D T[56] = 85845DD1 T[57] = 6FA87E4F T[58] = FE2CE6E0 T[59] = A3014314 T[60] = 4E0811A1 T[61] = F7537E82 T[62] = BD3AF235 T[63] = 2AD7D2BB T[64] = EB86D391
Misalkan notasi 
[abcd k s i] 
menyatakan operasi 
a  b + ((a + g(b, c, d) + X[k] + T[i])<<<s) 
yang dalam hal ini <<< s melambangkan operasi circular left shift 
32-bit, maka operasi dasar pada masing-masing putaran dapat 
ditabulasikan sebagai berikut:
Putaran 1: 16 kali operasi dasar dengan g(b, c, d) = F(b, c, d) dapat dilihat pada Tabel 3. Tabel 3. Rincian operasi pada fungsi F(b, c, d) No. [abcd k s i] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [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]
Putaran 2: 16 kali operasi dasar dengan g(b, c, d) = G(b, c, d) dapat dilihat pada Tabel 4. Tabel 4. Rincian operasi pada fungsi G(b, c, d) No. [abcd k s i ] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [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]
Putaran 3: 16 kali operasi dasar dengan g(b, c, d) = H(b, c, d) dapat dilihat pada Tabel 5. Tabel 5. Rincian operasi pada fungsi H(b, c, d) No. [abcd k s i ] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [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]
Putaran 4: 16 kali operasi dasar dengan g(b, c, d) = I(b, c, d) dapat dilihat pada Tabel 6. Tabel 6. Rincian operasi pada fungsi I(b, c, d) No. [abcd k s i ] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [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]
•Setelah putaran keempat, a, b, c, dan d ditambahkan ke A, B, C, dan D, dan selanjutnya algoritma memproses untuk blok data berikutnya (Yq+1). 
•Keluaran akhir dari algoritma MD5 adalah hasil penyambungan bit-bit di A, B, C, dan D.
Contoh 13. Misalkan M adalah isi sebuah arsip teks bandung.txt sebagai berikut: 
Pada bulan Oktober 2004 ini, suhu udara kota Bandung terasa lebih panas dari 
hari-hari biasanya. Menurut laporan Dinas Meteorologi Kota Bandung, suhu 
tertinggi kota Bandung adalah 33 derajat Celcius pada Hari Rabu, 17 Oktober 
yang lalu. Suhu terseut sudah menyamai suhu kota Jakarta pada hari-hari biasa. 
Menurut Kepala Dinas Meteorologi, peningkatan suhu tersebut terjadi karena 
posisi bumi sekarang ini lebih dekat ke matahari daripada hari-hari biasa. 
Sebutan Bandung sebagai kota sejuk dan dingin mungkin tidak lama lagi akan 
tinggal kenangan. Disamping karena faktor alam, jumlah penduduk yang padat, 
polusi dari pabrik di sekita Bandung, asap knalpot kendaraan, ikut menambah 
kenaikan suhu udara kota. 
Message digest dari arsip bandung.txt yang dihasilkan oleh algoritma MD5 adalah 128-bit: 
0010 1111 1000 0010 1100 0000 1100 1000 1000 0100 0101 0001 0010 0001 1011 0001 
1011 1001 0101 0011 1101 0101 0111 1101 0100 1100 0101 1001 0001 1110 0110 0011 
atau, dalam notasi HEX adalah: 
2F82D0C845121B953D57E4C3C5E91E63
Kriptanalisis MD5 
•Dengan panjang message digest 128 bit, maka secara brute force dibutuhkan percobaan sebanyak 2128 kali untuk menemukan dua buah pesan atau lebih yang mempunyai message digest yang sama. 
• Pada awalnya penemu algoritma MD5 menganggap usaha tersebut hampir tidak mungkin dilakukan karena membutuhkan waktu yang sangat lama. 
•Tetapi, pada tahun 1996, Dobbertin melaporkan penemuan kolisi pada algoritma MD5 meskipun kecacatan ini bukan kelemahan yang fatal.
•Pada tanggal 1 Maret 2005, Arjen Lenstra, Xiaoyun Wang, dan Benne de Weger mendemostraskan pembentukan dua buah sertifikat X.509 (akan dijelaskan di dalam bab Infrastruktur Kunci Publik) dengan kunci publik yang berbeda tetapi mempunyai nilai hash yang sama (lihat publikasinya di dalam hhtp://eprint.iacr.org/2005/067). 
•Beberapa hari kemudian, Vlastimil Klima (http://eprint.iacr.org/2005/075) memperbaiki algoritma Lenstra dkk yang dapat menghasilkan kolisi MD5 hanya dalam waktu beberapa jam dengan menggunakan komputer PC [WIK06].

More Related Content

What's hot

Kriptografi
KriptografiKriptografi
Kriptografi
Hendriyawan Achmad
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
Rakhmi Khalida, M.M.S.I
 
kriptografi hill cipher
kriptografi hill cipherkriptografi hill cipher
kriptografi hill cipher
Adi Ginanjar Kusuma
 
Contoh Soal Huffman Code
Contoh Soal Huffman CodeContoh Soal Huffman Code
Contoh Soal Huffman Code
Albertus H.
 
Transmisi asynchronous dan synchronous
Transmisi asynchronous dan synchronousTransmisi asynchronous dan synchronous
Transmisi asynchronous dan synchronous
ridhaprilia
 
Kelompok 3 (keamanaan sistem terdistribusi)
Kelompok 3 (keamanaan sistem terdistribusi)Kelompok 3 (keamanaan sistem terdistribusi)
Kelompok 3 (keamanaan sistem terdistribusi)
AFirza
 
Kriptografi - Prinsip Perancangan Cipher Blok
Kriptografi - Prinsip Perancangan Cipher BlokKriptografi - Prinsip Perancangan Cipher Blok
Kriptografi - Prinsip Perancangan Cipher Blok
KuliahKita
 
Thread di Sistem Operasi
Thread di Sistem OperasiThread di Sistem Operasi
Thread di Sistem Operasi
eddie Ismantoe
 
Kriptografi - Serangan Terhadap Kriptografi
Kriptografi - Serangan Terhadap KriptografiKriptografi - Serangan Terhadap Kriptografi
Kriptografi - Serangan Terhadap Kriptografi
KuliahKita
 
Kriptografi Modern
Kriptografi ModernKriptografi Modern
Kriptografi Modern
Andini Putri
 
Neuron Mc Culloch Pitts dan Hebb
Neuron Mc Culloch Pitts dan HebbNeuron Mc Culloch Pitts dan Hebb
Neuron Mc Culloch Pitts dan Hebb
Sherly Uda
 
Bagan terstruktur
Bagan terstrukturBagan terstruktur
Bagan terstruktur
iimpunya3
 
Kriptografi - Tandatangan Digital
Kriptografi - Tandatangan DigitalKriptografi - Tandatangan Digital
Kriptografi - Tandatangan Digital
KuliahKita
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
Braga Rezpect
 
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHERTEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
Rivalri Kristianto Hondro
 
Arsitektur desain data pada RPL
Arsitektur desain data pada RPLArsitektur desain data pada RPL
Arsitektur desain data pada RPL
ari alfian
 
Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)
Farichah Riha
 
Laporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascalLaporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascal
Meycelino A. T
 
Sistem Kriptografi Klasik Berbasis Substitusi
Sistem Kriptografi Klasik Berbasis SubstitusiSistem Kriptografi Klasik Berbasis Substitusi
Sistem Kriptografi Klasik Berbasis SubstitusiFanny Oktaviarti
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar KriptografiRoziq Bahtiar
 

What's hot (20)

Kriptografi
KriptografiKriptografi
Kriptografi
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
kriptografi hill cipher
kriptografi hill cipherkriptografi hill cipher
kriptografi hill cipher
 
Contoh Soal Huffman Code
Contoh Soal Huffman CodeContoh Soal Huffman Code
Contoh Soal Huffman Code
 
Transmisi asynchronous dan synchronous
Transmisi asynchronous dan synchronousTransmisi asynchronous dan synchronous
Transmisi asynchronous dan synchronous
 
Kelompok 3 (keamanaan sistem terdistribusi)
Kelompok 3 (keamanaan sistem terdistribusi)Kelompok 3 (keamanaan sistem terdistribusi)
Kelompok 3 (keamanaan sistem terdistribusi)
 
Kriptografi - Prinsip Perancangan Cipher Blok
Kriptografi - Prinsip Perancangan Cipher BlokKriptografi - Prinsip Perancangan Cipher Blok
Kriptografi - Prinsip Perancangan Cipher Blok
 
Thread di Sistem Operasi
Thread di Sistem OperasiThread di Sistem Operasi
Thread di Sistem Operasi
 
Kriptografi - Serangan Terhadap Kriptografi
Kriptografi - Serangan Terhadap KriptografiKriptografi - Serangan Terhadap Kriptografi
Kriptografi - Serangan Terhadap Kriptografi
 
Kriptografi Modern
Kriptografi ModernKriptografi Modern
Kriptografi Modern
 
Neuron Mc Culloch Pitts dan Hebb
Neuron Mc Culloch Pitts dan HebbNeuron Mc Culloch Pitts dan Hebb
Neuron Mc Culloch Pitts dan Hebb
 
Bagan terstruktur
Bagan terstrukturBagan terstruktur
Bagan terstruktur
 
Kriptografi - Tandatangan Digital
Kriptografi - Tandatangan DigitalKriptografi - Tandatangan Digital
Kriptografi - Tandatangan Digital
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
 
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHERTEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
 
Arsitektur desain data pada RPL
Arsitektur desain data pada RPLArsitektur desain data pada RPL
Arsitektur desain data pada RPL
 
Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)
 
Laporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascalLaporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascal
 
Sistem Kriptografi Klasik Berbasis Substitusi
Sistem Kriptografi Klasik Berbasis SubstitusiSistem Kriptografi Klasik Berbasis Substitusi
Sistem Kriptografi Klasik Berbasis Substitusi
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi
 

Similar to Kriptografi - MD5

26.algoritma md5
26.algoritma md526.algoritma md5
8 algoritma-branch-and-bound-2
8 algoritma-branch-and-bound-28 algoritma-branch-and-bound-2
8 algoritma-branch-and-bound-2Octo Manurung
 
Algoritma dan Pemrograman-I_konsep_statement
Algoritma dan Pemrograman-I_konsep_statementAlgoritma dan Pemrograman-I_konsep_statement
Algoritma dan Pemrograman-I_konsep_statement
S N M P Simamora
 
Soal un fisika 2012 dan pembahasannya
Soal un fisika 2012 dan pembahasannyaSoal un fisika 2012 dan pembahasannya
Soal un fisika 2012 dan pembahasannyaRenny Aniwarna
 
Algoritma divide and conquer (lanjutan)
Algoritma divide and conquer (lanjutan)Algoritma divide and conquer (lanjutan)
Algoritma divide and conquer (lanjutan)
Edho Pratama
 
He dan destilasi
He dan destilasiHe dan destilasi
He dan destilasi
roniadesaputra
 
Bus Suspension Control System
Bus Suspension Control SystemBus Suspension Control System
Bus Suspension Control System
Lusiana Diyan
 
Kuliah 4&5 sistem digital
Kuliah 4&5 sistem digitalKuliah 4&5 sistem digital
Kuliah 4&5 sistem digitalsatriahelmy
 
Top sukses fisika pemb cd (c) 112 hlm
Top sukses fisika pemb cd (c) 112 hlmTop sukses fisika pemb cd (c) 112 hlm
Top sukses fisika pemb cd (c) 112 hlm
Nur Huda
 
Pembahasan soal un smp 2012 10 paket
Pembahasan soal un smp 2012 10 paketPembahasan soal un smp 2012 10 paket
Pembahasan soal un smp 2012 10 paketWayan Sudiarta
 
Contoh Soal Matematika Terapan
Contoh Soal Matematika TerapanContoh Soal Matematika Terapan
Contoh Soal Matematika Terapan
Relein Januarsie
 
Perhitungan rumah tinggal (beton1)
Perhitungan rumah tinggal (beton1)Perhitungan rumah tinggal (beton1)
Perhitungan rumah tinggal (beton1)
Rojulil Fadli
 
M8_TIF305_sns_ubb
M8_TIF305_sns_ubbM8_TIF305_sns_ubb
M8_TIF305_sns_ubb
staffpengajar
 
Soal dan kunci try out 2014 kompas
Soal dan kunci try out 2014 kompasSoal dan kunci try out 2014 kompas
Soal dan kunci try out 2014 kompasDiah Septi Utami
 
pdfslide.tips_7-bangun-ruang-sisi-datar.ppt
pdfslide.tips_7-bangun-ruang-sisi-datar.pptpdfslide.tips_7-bangun-ruang-sisi-datar.ppt
pdfslide.tips_7-bangun-ruang-sisi-datar.ppt
normalasari10
 
2. BGN RUANG SISI DATAR
2. BGN RUANG SISI DATAR2. BGN RUANG SISI DATAR
2. BGN RUANG SISI DATAR
IlmalSPd
 
06-2. Teori Bilangan.pdf
06-2. Teori Bilangan.pdf06-2. Teori Bilangan.pdf
06-2. Teori Bilangan.pdf
OrangOrang4
 
4.-Teori-Bilangan.ppt
4.-Teori-Bilangan.ppt4.-Teori-Bilangan.ppt
4.-Teori-Bilangan.ppt
ainulmarhamahhsb
 

Similar to Kriptografi - MD5 (20)

26.algoritma md5
26.algoritma md526.algoritma md5
26.algoritma md5
 
8 algoritma-branch-and-bound-2
8 algoritma-branch-and-bound-28 algoritma-branch-and-bound-2
8 algoritma-branch-and-bound-2
 
Algoritma dan Pemrograman-I_konsep_statement
Algoritma dan Pemrograman-I_konsep_statementAlgoritma dan Pemrograman-I_konsep_statement
Algoritma dan Pemrograman-I_konsep_statement
 
Soal un fisika 2012 dan pembahasannya
Soal un fisika 2012 dan pembahasannyaSoal un fisika 2012 dan pembahasannya
Soal un fisika 2012 dan pembahasannya
 
Algoritma divide and conquer (lanjutan)
Algoritma divide and conquer (lanjutan)Algoritma divide and conquer (lanjutan)
Algoritma divide and conquer (lanjutan)
 
He dan destilasi
He dan destilasiHe dan destilasi
He dan destilasi
 
Bus Suspension Control System
Bus Suspension Control SystemBus Suspension Control System
Bus Suspension Control System
 
Xii ips1,2
Xii ips1,2Xii ips1,2
Xii ips1,2
 
Kuliah 4&5 sistem digital
Kuliah 4&5 sistem digitalKuliah 4&5 sistem digital
Kuliah 4&5 sistem digital
 
Top sukses fisika pemb cd (c) 112 hlm
Top sukses fisika pemb cd (c) 112 hlmTop sukses fisika pemb cd (c) 112 hlm
Top sukses fisika pemb cd (c) 112 hlm
 
Pembahasan soal un smp 2012 10 paket
Pembahasan soal un smp 2012 10 paketPembahasan soal un smp 2012 10 paket
Pembahasan soal un smp 2012 10 paket
 
Contoh Soal Matematika Terapan
Contoh Soal Matematika TerapanContoh Soal Matematika Terapan
Contoh Soal Matematika Terapan
 
Perhitungan rumah tinggal (beton1)
Perhitungan rumah tinggal (beton1)Perhitungan rumah tinggal (beton1)
Perhitungan rumah tinggal (beton1)
 
M8_TIF305_sns_ubb
M8_TIF305_sns_ubbM8_TIF305_sns_ubb
M8_TIF305_sns_ubb
 
Soal dan kunci try out 2014 kompas
Soal dan kunci try out 2014 kompasSoal dan kunci try out 2014 kompas
Soal dan kunci try out 2014 kompas
 
pdfslide.tips_7-bangun-ruang-sisi-datar.ppt
pdfslide.tips_7-bangun-ruang-sisi-datar.pptpdfslide.tips_7-bangun-ruang-sisi-datar.ppt
pdfslide.tips_7-bangun-ruang-sisi-datar.ppt
 
2. BGN RUANG SISI DATAR
2. BGN RUANG SISI DATAR2. BGN RUANG SISI DATAR
2. BGN RUANG SISI DATAR
 
Kompilasi13 ka p (2)
Kompilasi13 ka p (2)Kompilasi13 ka p (2)
Kompilasi13 ka p (2)
 
06-2. Teori Bilangan.pdf
06-2. Teori Bilangan.pdf06-2. Teori Bilangan.pdf
06-2. Teori Bilangan.pdf
 
4.-Teori-Bilangan.ppt
4.-Teori-Bilangan.ppt4.-Teori-Bilangan.ppt
4.-Teori-Bilangan.ppt
 

More from KuliahKita

CSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup MenuCSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup Menu
KuliahKita
 
CSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 05-1 Popup KonfirmasiCSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 05-1 Popup Konfirmasi
KuliahKita
 
CSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-4 Elemen Sliding DoorCSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-4 Elemen Sliding Door
KuliahKita
 
CSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-3 Elemen Card FlipCSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-3 Elemen Card Flip
KuliahKita
 
CSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-2 accordionCSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-2 accordion
KuliahKita
 
CSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 04-1 informasi tabCSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 04-1 informasi tab
KuliahKita
 
CSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-3 Slide Side MenuCSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-3 Slide Side Menu
KuliahKita
 
CSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 BreadcrumbCSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 Breadcrumb
KuliahKita
 
CSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasarCSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasar
KuliahKita
 
CSS Eksperimen - 02-2 Flexbox Grid
CSS Eksperimen - 02-2 Flexbox GridCSS Eksperimen - 02-2 Flexbox Grid
CSS Eksperimen - 02-2 Flexbox Grid
KuliahKita
 
Eksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layoutEksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layout
KuliahKita
 
Eksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 PendahuluanEksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 Pendahuluan
KuliahKita
 
07 equity research (bagian 2)
07 equity research (bagian 2)07 equity research (bagian 2)
07 equity research (bagian 2)
KuliahKita
 
Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)
KuliahKita
 
Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)
KuliahKita
 
Pasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due DilligencePasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due Dilligence
KuliahKita
 
Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03
KuliahKita
 
Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02
KuliahKita
 
Pasar Saham -27 financial ratio 01
Pasar Saham -27 financial ratio  01Pasar Saham -27 financial ratio  01
Pasar Saham -27 financial ratio 01
KuliahKita
 
Pasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow StatementPasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow Statement
KuliahKita
 

More from KuliahKita (20)

CSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup MenuCSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup Menu
 
CSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 05-1 Popup KonfirmasiCSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 05-1 Popup Konfirmasi
 
CSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-4 Elemen Sliding DoorCSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-4 Elemen Sliding Door
 
CSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-3 Elemen Card FlipCSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-3 Elemen Card Flip
 
CSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-2 accordionCSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-2 accordion
 
CSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 04-1 informasi tabCSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 04-1 informasi tab
 
CSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-3 Slide Side MenuCSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-3 Slide Side Menu
 
CSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 BreadcrumbCSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 Breadcrumb
 
CSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasarCSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasar
 
CSS Eksperimen - 02-2 Flexbox Grid
CSS Eksperimen - 02-2 Flexbox GridCSS Eksperimen - 02-2 Flexbox Grid
CSS Eksperimen - 02-2 Flexbox Grid
 
Eksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layoutEksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layout
 
Eksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 PendahuluanEksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 Pendahuluan
 
07 equity research (bagian 2)
07 equity research (bagian 2)07 equity research (bagian 2)
07 equity research (bagian 2)
 
Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)
 
Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)
 
Pasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due DilligencePasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due Dilligence
 
Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03
 
Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02
 
Pasar Saham -27 financial ratio 01
Pasar Saham -27 financial ratio  01Pasar Saham -27 financial ratio  01
Pasar Saham -27 financial ratio 01
 
Pasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow StatementPasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow Statement
 

Recently uploaded

Daftar Lembaga Penyedia Jasa Linkungan.pdf
Daftar Lembaga Penyedia Jasa Linkungan.pdfDaftar Lembaga Penyedia Jasa Linkungan.pdf
Daftar Lembaga Penyedia Jasa Linkungan.pdf
Tsabitpattipeilohy
 
Metode Clayperon (Persamaan Tiga Momen) untuk balok menerus.pptx
Metode Clayperon (Persamaan Tiga Momen) untuk balok menerus.pptxMetode Clayperon (Persamaan Tiga Momen) untuk balok menerus.pptx
Metode Clayperon (Persamaan Tiga Momen) untuk balok menerus.pptx
ssuser2537c0
 
COOLING TOWER petrokimia gresik okdong d
COOLING TOWER petrokimia gresik okdong dCOOLING TOWER petrokimia gresik okdong d
COOLING TOWER petrokimia gresik okdong d
delphijean1
 
SURVEY REKAYASA SURVEY REKAYASA SURVEY REKAYASA
SURVEY REKAYASA SURVEY REKAYASA SURVEY REKAYASASURVEY REKAYASA SURVEY REKAYASA SURVEY REKAYASA
SURVEY REKAYASA SURVEY REKAYASA SURVEY REKAYASA
AnandhaAdkhaM1
 
Power Point TEMA 7 SUB TEMA 3 Pembelajaran 2
Power Point TEMA 7 SUB TEMA 3 Pembelajaran 2Power Point TEMA 7 SUB TEMA 3 Pembelajaran 2
Power Point TEMA 7 SUB TEMA 3 Pembelajaran 2
HADIANNAS
 
TUGAS UJI KOMPETENSI-INDAH ROSANTI-AHLI UTAMA MANAJEMEN KONSTRUKSI.pptx
TUGAS UJI KOMPETENSI-INDAH ROSANTI-AHLI UTAMA MANAJEMEN KONSTRUKSI.pptxTUGAS UJI KOMPETENSI-INDAH ROSANTI-AHLI UTAMA MANAJEMEN KONSTRUKSI.pptx
TUGAS UJI KOMPETENSI-INDAH ROSANTI-AHLI UTAMA MANAJEMEN KONSTRUKSI.pptx
indahrosantiTeknikSi
 
1. Paparan Penjelasan Permen PUPR 08 Tahun 2023.pdf
1. Paparan Penjelasan Permen PUPR 08 Tahun 2023.pdf1. Paparan Penjelasan Permen PUPR 08 Tahun 2023.pdf
1. Paparan Penjelasan Permen PUPR 08 Tahun 2023.pdf
AdityaWahyuDewangga1
 
436102098-0-K3-Elevator-Dan-Eskalator.ppt
436102098-0-K3-Elevator-Dan-Eskalator.ppt436102098-0-K3-Elevator-Dan-Eskalator.ppt
436102098-0-K3-Elevator-Dan-Eskalator.ppt
rhamset
 
NADIA FEBIANTI TUGAS PPT(GAMMA APP).pptx
NADIA FEBIANTI TUGAS PPT(GAMMA APP).pptxNADIA FEBIANTI TUGAS PPT(GAMMA APP).pptx
NADIA FEBIANTI TUGAS PPT(GAMMA APP).pptx
nadiafebianti2
 
TUGAS pelaksana pekerjaan jalan jenjang empat 4 .pptx -.pdf
TUGAS pelaksana pekerjaan jalan jenjang empat 4 .pptx -.pdfTUGAS pelaksana pekerjaan jalan jenjang empat 4 .pptx -.pdf
TUGAS pelaksana pekerjaan jalan jenjang empat 4 .pptx -.pdf
jayakartalumajang1
 
RANGKAIAN LISTRIK MATERI 7 ANALISIS MESH.pptx
RANGKAIAN LISTRIK MATERI 7 ANALISIS MESH.pptxRANGKAIAN LISTRIK MATERI 7 ANALISIS MESH.pptx
RANGKAIAN LISTRIK MATERI 7 ANALISIS MESH.pptx
muhammadiswahyudi12
 

Recently uploaded (11)

Daftar Lembaga Penyedia Jasa Linkungan.pdf
Daftar Lembaga Penyedia Jasa Linkungan.pdfDaftar Lembaga Penyedia Jasa Linkungan.pdf
Daftar Lembaga Penyedia Jasa Linkungan.pdf
 
Metode Clayperon (Persamaan Tiga Momen) untuk balok menerus.pptx
Metode Clayperon (Persamaan Tiga Momen) untuk balok menerus.pptxMetode Clayperon (Persamaan Tiga Momen) untuk balok menerus.pptx
Metode Clayperon (Persamaan Tiga Momen) untuk balok menerus.pptx
 
COOLING TOWER petrokimia gresik okdong d
COOLING TOWER petrokimia gresik okdong dCOOLING TOWER petrokimia gresik okdong d
COOLING TOWER petrokimia gresik okdong d
 
SURVEY REKAYASA SURVEY REKAYASA SURVEY REKAYASA
SURVEY REKAYASA SURVEY REKAYASA SURVEY REKAYASASURVEY REKAYASA SURVEY REKAYASA SURVEY REKAYASA
SURVEY REKAYASA SURVEY REKAYASA SURVEY REKAYASA
 
Power Point TEMA 7 SUB TEMA 3 Pembelajaran 2
Power Point TEMA 7 SUB TEMA 3 Pembelajaran 2Power Point TEMA 7 SUB TEMA 3 Pembelajaran 2
Power Point TEMA 7 SUB TEMA 3 Pembelajaran 2
 
TUGAS UJI KOMPETENSI-INDAH ROSANTI-AHLI UTAMA MANAJEMEN KONSTRUKSI.pptx
TUGAS UJI KOMPETENSI-INDAH ROSANTI-AHLI UTAMA MANAJEMEN KONSTRUKSI.pptxTUGAS UJI KOMPETENSI-INDAH ROSANTI-AHLI UTAMA MANAJEMEN KONSTRUKSI.pptx
TUGAS UJI KOMPETENSI-INDAH ROSANTI-AHLI UTAMA MANAJEMEN KONSTRUKSI.pptx
 
1. Paparan Penjelasan Permen PUPR 08 Tahun 2023.pdf
1. Paparan Penjelasan Permen PUPR 08 Tahun 2023.pdf1. Paparan Penjelasan Permen PUPR 08 Tahun 2023.pdf
1. Paparan Penjelasan Permen PUPR 08 Tahun 2023.pdf
 
436102098-0-K3-Elevator-Dan-Eskalator.ppt
436102098-0-K3-Elevator-Dan-Eskalator.ppt436102098-0-K3-Elevator-Dan-Eskalator.ppt
436102098-0-K3-Elevator-Dan-Eskalator.ppt
 
NADIA FEBIANTI TUGAS PPT(GAMMA APP).pptx
NADIA FEBIANTI TUGAS PPT(GAMMA APP).pptxNADIA FEBIANTI TUGAS PPT(GAMMA APP).pptx
NADIA FEBIANTI TUGAS PPT(GAMMA APP).pptx
 
TUGAS pelaksana pekerjaan jalan jenjang empat 4 .pptx -.pdf
TUGAS pelaksana pekerjaan jalan jenjang empat 4 .pptx -.pdfTUGAS pelaksana pekerjaan jalan jenjang empat 4 .pptx -.pdf
TUGAS pelaksana pekerjaan jalan jenjang empat 4 .pptx -.pdf
 
RANGKAIAN LISTRIK MATERI 7 ANALISIS MESH.pptx
RANGKAIAN LISTRIK MATERI 7 ANALISIS MESH.pptxRANGKAIAN LISTRIK MATERI 7 ANALISIS MESH.pptx
RANGKAIAN LISTRIK MATERI 7 ANALISIS MESH.pptx
 

Kriptografi - MD5

  • 1. Algoritma MD5 Bekerja sama dengan: Rinaldi Munir
  • 2. Pendahuluan •MD5 adalah fungsi hash satu-arah yang dibuat oleh Ron Rivest. •MD5 merupakan perbaikan dari MD4 setelah MD4 ditemukan kolisinya. •Algoritma MD5 menerima masukan berupa pesan dengan ukuran sembarang dan menghasilkan message digest yang panjangnya 128 bit.
  • 3. Gambaran umum Pesan1000...000Panjang PesanK bitPadding bitsK mod 264L x 512 bitY0......Y1YqYL - 1512512512512HMD5HMD5ABCD512512128128128HMD5512128128HMD5512128128Message Digest(1 - 512 bit)
  • 4. 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.
  • 5. 1. Penambahan Bit-bit Pengganjal •Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang pesan (dalam satuan bit) kongruen dengan 448 (mod 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.
  • 6. 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 K modulo 264. •Setelah ditambah dengan 64 bit, panjang pesan sekarang menjadi kelipatan 512 bit.
  • 7. 3. Inisialisai Penyangga MD •MD5 membutuhkan 4 buah penyangga (buffer) yang masing- masing panjangnya 32 bit. Total panjang penyangga adalah 4  32 = 128 bit. Keempat penyangga ini menampung hasil antara dan hasil akhir. •Keempat penyangga ini diberi nama A, B, C, dan D. Setiap penyangga diinisialisasi dengan nilai-nilai (dalam notasi HEX) sebagai berikut: A = 01234567 B = 89ABCDEF C = FEDCBA98 D = 76543210
  • 8. 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:
  • 9. ])16..1[,,(TYABCDfABCDqF ])32..17[,,(TYABCDfABCDqG ])48..33[,,(TYABCDfABCDqH ])64..49[,,(TYABCDfABCDqI ABCDABCDABCD++++ MDqMDq + 1128Yq512
  • 10. •Pada Gambar tersebut, Yq menyatakan blok 512-bit ke-q •MDq adalah nilai message digest 128-bit dari proses HMD5 ke-q. Pada awal proses, MDq berisi nilai inisialisasi penyangga MD. •Proses HMD5 terdiri dari 4 buah putaran, dan masing- masing putaran melakukan operasi dasar MD5 sebanyak 16 kali dan setiap operasi dasar memakai sebuah elemen T. Jadi setiap putaran memakai 16 elemen Tabel T.
  • 11. •Fungsi-fungsi fF , fG , fH , dan fI masing-masing berisi 16 kali operasi dasar terhadap masukan, setiap operasi dasar menggunakan elemen Tabel T. •Operasi dasar MD5 diperlihatkan pada Gambar berikut:
  • 12. abcdg+ + + CLSs+ X[k] T[i]
  • 13. Operasi dasar MD5 yang diperlihatkan pada Gambar di atas dapat ditulis dengan sebuah persamaan sebagai berikut: a  b + CLSs(a + g(b, c, d) + X[k] + T[i]) yang dalam hal ini, a, b, c, d = empat buah peubah penyangga 32-bit A, B, C, D g = salah satu fungsi F, G, H, I CLSs = circular left shift sebanyak s bit X[k] = kelompok 32-bit ke-k dari blok 512 bit message ke-q. Nilai k = 0 sampai 15. T[i] = elemen Tabel T ke-i (32 bit) + = operasi penjumlahan modulo 232
  • 14. •Karena ada 16 kali operasi dasar, maka setiap kali selesai satu operasi dasar, penyangga-penyangga itu digeser ke kanan secara sirkuler dengan cara pertukaran sebagai berikut: temp  d d  c c  b b  a a  temp
  • 15. abcdg+ + + CLSs+ X[k] T[i] abcd
  • 16. Tabel 1. Fungsi-fungsi dasar MD5 Nama Notasi g(b, c, d) fF F(b, c, d) (b  c)  (~b  d) fG G(b, c, d) (b  d)  (c  ~d) fH H(b, c, d) b  c  d fI I(b, c, d) c  (b  ~ d) Catatan: operator logika AND, OR, NOT, XOR masing-masing dilambangkan dengan , , ~, 
  • 17. Tabel 2. Nilai T[i] T[1] = D76AA478 T[2] = E8C7B756 T[3] = 242070DB T[4] = C1BDCEEE T[5] = F57C0FAF T[6] = 4787C62A T[7] = A8304613 T[8] = FD469501 T[9] = 698098D8 T[10] = 8B44F7AF T[11] = FFFF5BB1 T[12] = 895CD7BE T[13] = 6B901122 T[14] = FD987193 T[15] = A679438E T[16] = 49B40821 T[17] = F61E2562 T[18] = C040B340 T[19] = 265E5A51 T[20] = E9B6C7AA T[21] = D62F105D T[22] = 02441453 T[23] = D8A1E681 T[24] = E7D3FBCB T[25] = 21E1CDE6 T[26] = C33707D6 T[27] = F4D50D87 T[28] = 455A14ED T[29] = A9E3E905 T[30] = FCEFA3F8 T[31] = 676F02D9 T[32] = 8D2A4C8A T[33] = FFFA3942 T[34] = 8771F681 T[35] = 69D96122 T[36] = FDE5380C T[37] = A4BEEA44 T[38] = 4BDECFA9 T[39] = F6BB4B60 T[40] = BEBFBC70 T[41] = 289B7EC6 T[42] = EAA127FA T[43] = D4EF3085 T[44] = 04881D05 T[45] = D9D4D039 T[46] = E6DB99E5 T[47] = 1FA27CF8 T[48] = C4AC5665 T[49] = F4292244 T[50] = 432AFF97 T[51] = AB9423A7 T[52] = FC93A039 T[53] = 655B59C3 T[54] = 8F0CCC92 T[55] = FFEFF47D T[56] = 85845DD1 T[57] = 6FA87E4F T[58] = FE2CE6E0 T[59] = A3014314 T[60] = 4E0811A1 T[61] = F7537E82 T[62] = BD3AF235 T[63] = 2AD7D2BB T[64] = EB86D391
  • 18. Misalkan notasi [abcd k s i] menyatakan operasi a  b + ((a + g(b, c, d) + X[k] + T[i])<<<s) yang dalam hal ini <<< s melambangkan operasi circular left shift 32-bit, maka operasi dasar pada masing-masing putaran dapat ditabulasikan sebagai berikut:
  • 19. Putaran 1: 16 kali operasi dasar dengan g(b, c, d) = F(b, c, d) dapat dilihat pada Tabel 3. Tabel 3. Rincian operasi pada fungsi F(b, c, d) No. [abcd k s i] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [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]
  • 20. Putaran 2: 16 kali operasi dasar dengan g(b, c, d) = G(b, c, d) dapat dilihat pada Tabel 4. Tabel 4. Rincian operasi pada fungsi G(b, c, d) No. [abcd k s i ] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [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]
  • 21. Putaran 3: 16 kali operasi dasar dengan g(b, c, d) = H(b, c, d) dapat dilihat pada Tabel 5. Tabel 5. Rincian operasi pada fungsi H(b, c, d) No. [abcd k s i ] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [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]
  • 22. Putaran 4: 16 kali operasi dasar dengan g(b, c, d) = I(b, c, d) dapat dilihat pada Tabel 6. Tabel 6. Rincian operasi pada fungsi I(b, c, d) No. [abcd k s i ] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [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]
  • 23. •Setelah putaran keempat, a, b, c, dan d ditambahkan ke A, B, C, dan D, dan selanjutnya algoritma memproses untuk blok data berikutnya (Yq+1). •Keluaran akhir dari algoritma MD5 adalah hasil penyambungan bit-bit di A, B, C, dan D.
  • 24. Contoh 13. Misalkan M adalah isi sebuah arsip teks bandung.txt sebagai berikut: Pada bulan Oktober 2004 ini, suhu udara kota Bandung terasa lebih panas dari hari-hari biasanya. Menurut laporan Dinas Meteorologi Kota Bandung, suhu tertinggi kota Bandung adalah 33 derajat Celcius pada Hari Rabu, 17 Oktober yang lalu. Suhu terseut sudah menyamai suhu kota Jakarta pada hari-hari biasa. Menurut Kepala Dinas Meteorologi, peningkatan suhu tersebut terjadi karena posisi bumi sekarang ini lebih dekat ke matahari daripada hari-hari biasa. Sebutan Bandung sebagai kota sejuk dan dingin mungkin tidak lama lagi akan tinggal kenangan. Disamping karena faktor alam, jumlah penduduk yang padat, polusi dari pabrik di sekita Bandung, asap knalpot kendaraan, ikut menambah kenaikan suhu udara kota. Message digest dari arsip bandung.txt yang dihasilkan oleh algoritma MD5 adalah 128-bit: 0010 1111 1000 0010 1100 0000 1100 1000 1000 0100 0101 0001 0010 0001 1011 0001 1011 1001 0101 0011 1101 0101 0111 1101 0100 1100 0101 1001 0001 1110 0110 0011 atau, dalam notasi HEX adalah: 2F82D0C845121B953D57E4C3C5E91E63
  • 25. Kriptanalisis MD5 •Dengan panjang message digest 128 bit, maka secara brute force dibutuhkan percobaan sebanyak 2128 kali untuk menemukan dua buah pesan atau lebih yang mempunyai message digest yang sama. • Pada awalnya penemu algoritma MD5 menganggap usaha tersebut hampir tidak mungkin dilakukan karena membutuhkan waktu yang sangat lama. •Tetapi, pada tahun 1996, Dobbertin melaporkan penemuan kolisi pada algoritma MD5 meskipun kecacatan ini bukan kelemahan yang fatal.
  • 26. •Pada tanggal 1 Maret 2005, Arjen Lenstra, Xiaoyun Wang, dan Benne de Weger mendemostraskan pembentukan dua buah sertifikat X.509 (akan dijelaskan di dalam bab Infrastruktur Kunci Publik) dengan kunci publik yang berbeda tetapi mempunyai nilai hash yang sama (lihat publikasinya di dalam hhtp://eprint.iacr.org/2005/067). •Beberapa hari kemudian, Vlastimil Klima (http://eprint.iacr.org/2005/075) memperbaiki algoritma Lenstra dkk yang dapat menghasilkan kolisi MD5 hanya dalam waktu beberapa jam dengan menggunakan komputer PC [WIK06].