ABSTRAK
Pembuatan makalah bermaksud untuk menganalisa
proses penyandian pesan dan proses membuka kembali penyandian dalam
kriptografi, khususnya kriptografi algoritma MD5. Diharapkan dengan adanya
makalah ini para pengguna jalur internet lebih ekstra hati-hati dalam
penggunaan jalur publik ini. Untuk metode pengamanan dapat menggunakan metode
kriptografi algoritma MD5 yang dibahas secara detail pada makalah ini.
Kata
Kunci, Kriptografi algoritma MD5
DAFTAR
ISI
Daftar
Isi......................................................................................................................................... 1
Daftar
Gambar............................................................................................................................... 2
Daftar
Tabel.................................................................................................................................... 3
BAB I. PENDAHULUAN.............................................................................................................. 4
1.1
Latar
Belakang................................................................................................................... 4
1.2
Tujuan
Penelitian.............................................................................................................. 5
1.3
Metode
Penelitian............................................................................................................. 5
BAB II.
LANDASAN TEORI......................................................................................................... 7
2.1
Terminologi
Kriptografi................................................................................................... 7
2.2
Sejarah
Kriptografi............................................................................................................ 8
2.3
Tujuan
Kriptografi............................................................................................................ 9
2.4
Cryptanalysis..................................................................................................................... 10
2.5
Klasifikasi
Kriptografi...................................................................................................... 11
2.5.1
Kriptografi
Klasik................................................................................................ 11
2.5.2
Kriptografi
Modern............................................................................................. 11
2.5.2.1
Kriptografi Kunci
Simetri............................................................................ 12
2.5.2.2
Kriptografi Kunci
Asimetri......................................................................... 13
2.6
Fungsi
Hash....................................................................................................................... 16
BAB
III.METODELOGI PENELITIAN......................................................................................... 18
3.1
Metode Penyandian Pesan Dengan Kriptografi Algoritma MD5............................. 18
3.2 Aplikasi algoritma MD5 Untuk
Integritas data........................................................... 27
BAB IV. PENUTUP.......................................................................................................................... 29
4.1
Kesimpulan.......................................................................................................................
29
Daftar
Pustaka................................................................................................................................. 30
DAFTAR GAMBAR
Gambar
1 Skema Kriptografi................................................................................................... 7
Gambar
2 Contoh
Scytale........................................................................................................ 8
Gambar
3 Skema Kriptografi Kunci Simetri......................................................................... 12
Gambar
4 Skema Kriptografi Kunci
Asimetri...................................................................... 14
Gambar
5 Pembuatan message digest dengan algoritma MD5......................................... 18
Gambar 6 Pengolahan
blok 512 bit (Proses HMD5)................................................................ 20
Gambar
7 Operasi Dasar
MD5................................................................................................ 21
DAFTAR TABEL
Tabel 1
Fungsi-fungsi dasar MD5
............................................................................................ 22
Tabel 2.
Nilai T[i] ......................................................................................................................... 23
Tabel 3
Rincian operasi pada fungsi F(b, c, d) ........................................................................ 24
Tabel 4
Rincian operasi pada fungsi G(b, c, d) ....................................................................... 24
Tabel 5
Rincian operasi pada fungsi H(b, c, d) ....................................................................... 25
Tabel 6
Rincian operasi pada fungsi I(b, c, d) ......................................................................... 25
BAB I
PENDAHULUAN
1.1
Latar Belakang
Perkembangan teknologi informasi dewasa ini telah
berpengaruh pada hampir semua aspek kehidupan manusia. Saat ini internet
seolah-olah menghiraukan batas-batas geografis suatu negara, bukan hal yang
sulit bagi seseorang untuk berkomunikasi jarak jauh, mengirimkan data, mencari
informasi dan sebagainya. Semua hal tersebut dapat dilakukan dengan internet secara
cepat, efisien dan relatif murah. Namun di sisi lain, ternyata internet
merupakan jalur yang tidak terlalu aman karena merupakan media komunikasi umum
yang dapat digunakan secara bebas oleh siapapun sehingga sangat rawan
penyadapan informasi oleh pihak-pihak yang tidak absah. Oleh karena itu masalah
keamanan, kenyamanan dan otorisasi dalam berinternet menjadi masalah krusial
yang sampai hari ini masih menjadi perbincangan hangat. Banyak pertanyaan yang
muncul, Apakah transaksi via internet bisa terjamin keamanannya? Apakah data
yang dikirimkan via internet sampai pada tujuan yang tepat tanpa diketahui
pihak yang tidak diinginkan? Bagaimana mencegah penyadapan informasi? Bagaimana
mengantisipasi seseorang mencuri data?
Banyak metode yang dapat dilakukan untuk menjawab
pertanyaan-pertanyaan diatas. Salah satunya dengan metode penyandian atau yang
lebih dikenal dengan metode kriptografi. Banyak sekali metode penyandian atau
metode kriptografi yang dikembangkan oleh pakar-pakar kriptografi hingga saat
ini. Hal ini dilakukan dikarenakan penyadap dan pencuri informasi atau yang
lebih dikenal dengan sebutan cracker semakin
handal dalam mempenetrasi suatu sistem untuk menggali berbagai macam informasi.
Oleh karena itu dalam rangka melawan tindakan keji tersebut, pakar-pakar
kriptografi terus mengembangkan metode ini secara berkesinambungan. Banyak
sekali metode penyandian yang telah diciptakan oleh pakar-pakar kriptografi
dunia, sebut saja Algoritma DES, Algoritma 3DES, Algoritma IDEA, Algoritma
Blowfish, Algotitma RSA, Algoritma MD4, Algotitma MD5, Algoritma SHA-1,
Algoritma McEliecce dan sebagainya. Algoritma-algoritma diatas telah diuji
kemampuannya oleh pakar-pakar kriptografi, namun tidak semua metode kriptografi
diatas bertahan dari serangan para penyadap informasi atau dalam istilah
kriptografi sering disebut dengan cryptanalist. Sebut saja algoritma DES,
sempat bertahan cukup lama yakni selama 20 tahun akhirnya harus rela di-crack hanya dalam tempo 3,5jam dengan
biaya 1 juta US Dollar pada tahun 1993. Namun para pakar kriptografi tidak
berdiam diri, karena setelah kejadian itu para pakar kriptograhi mengembangkan
varian baru dari algoritma DES seperti Algoritma 3DES, Algoritma RDES dan
sebagainya.
Makalah ini akan membahas salah satu diantara
banyak kriptografi handal yang hingga saat ini masih cukup kuat membendung
serangan-serangan dari para cryptanalist, yaitu metode kriptografi dengan
algoritma Message Digest 5 (MD5). Selain karena metode kriptografi ini belum
mampu di patahkan oleh para cryptanalist, makalah ini membahas kriptografi MD5
karena algoritma ini merupakan varian baru setelah algoritma MD2 dan algoritma
MD4 sehingga dirasa cukup up to date untuk
dibahas saat ini.
1.2
Tujuan Penelitian
Pembuatan makalah bermaksud untuk menganalisa
proses penyandian pesan dan proses membuka kembali penyandian dalam
kriptografi, khususnya kriptografi algoritma MD5. Diharapkan dengan adanya
makalah ini para pengguna jalur internet lebih ekstra hati-hati dalam
penggunaan jalur publik ini. Untuk metode pengamanan dapat menggunakan metode
kriptografi algoritma MD5 yang dibahas secara detail pada makalah ini.
1.3
Metode Penelitian
Pada pembuatan makalah ini, metode penelitian yang
saya gunakan adalah metode literature. Metode ini saya gunakan karena menurut
saya metode literature adalah metode yang paling tepat untuk digunakan. Untuk
melengkapi bahan-bahan tulisan menggunakan internet untuk mencari beberapa
literature yang mendukung makalah saya. Selain itu, untuk menambah bobot
informasi yang dapat diserap dari makalah ini, saya mengambil beberapa
referensi dari buku-buku yang membahahas mengenai kriptografi algoritma MD5.
BAB II
LANDASAN TEORI
2.1
Terminologi Kriptografi
Kata kriptografi berasal dari bahasa yunani yaitu krupto
(hidden atau secret) dan grafh (writing) sehingga berarti secret
writing. Secara istilah kriptografi didefinisikan sebagai ilmu sekaligus
seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai
pengertian, dengan cara menyamarkannya (mengacak) menjadi bentuk yang tidak
dapat dimengerti menggunakan suatu algoritma tertentu.
Dalam ilmu kriptografi suatu pesan yang akan
dirahasiakan atau disandikan disebut dengan plaintext,
sedangkan pesan yang telah disandikan sehingga tidak bermakna lagi yang
bertujuan agar pesan tidak dapat dibaca oleh pihak yang tidak berhak disebut chipertext. Lalu dalam ilmu kriptografi
terdapat istilah enkripsi dan deskripsi. Enkripsi adalah proses menyandikan plaintext menjadi chipertext. Sedangkan proses mengembalikan chipertext menjadi plaintext
semula disebut sebagai Deskripsi. Berikut ini skema umum sebuah penyandian
dalam kriptografi :
Gambar
1 Skema kriptografi
2.2
Sejarah Kriptografi
Ilmu kriptografi disinyalir berawal dari 4000
tahun yang lalu, tercatat bangsa mesir menggunakan hieroglyph yang tidak standar dalam menuliskan pesan. Kemudian
sekitar tahun 400SM pada zaman yunani kuno, kriptografi digunakan oleh tentara
sparta untuk mengirimkan pesan militer dengan menggunakan alat yang bernama scytale. Alat ini berupa pita panjang
dari daun papyrus ditambah sebatang silinder, pesan ditulis secara horizontal atau
baris perbaris. Apabila pita dilepaskan, maka huruf-huruf didalamnya telah
tersusun membentuk pesan rahasia. Untuk membaca pesan, penerima harus
melilitkan kembali pita ke silinder yang diameternya sama dengan diameter
silinder pengirim.
Gambar 2.
Contoh Scytale
Ilmu kriptografi sejak dahulu digunakan di
berbagai aspek kehidupan. Sebagai contoh di India, dahulu kriptografi digunakan
oleh lovers (pencinta) untuk
berkomunikasi tanpa diketahui orang lain. Bukti ini ditemukan di dalam buku
kama sutra yang merekomendasikan wanita seharusnya mempelajari seni memahami
tulisan chiper.
Kemudian pada
Abad ke-17, sejarah kriptografi pernah mencatat korban di Inggris. Queen Mary of Scotland, dipancung
setelah pesan rahasianya dari balik penjara (pesan terenkripsi yang isinya
rencana membunuh Ratu Elizabeth I) berhasil dipecahkan oleh Thomas Phelippes,
seorang pemecah kode.
Ilmu kriptografi juga digunakan pada perang dunia
II, pemerintah Nazi Jerman membuat mesin enkripsi yang dinamakan Engima.
Kemudian tak lama berselang Engima chiper berhasil dipecahkan oleh sekutu,
keberhasilan memecahkan Engima disinyalir sebagai faktor yang memperpendek
perang dunia II.
Dari beberapa kutipan sejarah diatas, dapat
dilihat bahwa ilmu kriptografi sangat bermanfaat khususnya dibidang
kemiliteran. Saat ini seiring berkembangnya zaman dan masuknya peradaban
manusia ke era informasi, ilmu kriptografi juga dimanfaatkan untuk mengamankan
lalu lintas informasi khususnya di jaringan publik atau internet.
Induk dari keilmuan kriptografi adalah matematika, khususnya teori aljabar
yang menjadi dasar dari ilmu bilangan . Oleh karena itu kriptografi
semakin berkembang pesat ketika komputer ditemukan. Sebab dengan penemuan komputer
memungkinkan dilakukannya perhitungan yang rumit dan kompleks dalam waktu yang relatif singkat, suatu hal
yang sebelumnya tidak dapat dilakukan. Oleh karena itu lahirlah banyak teori dan algotitma penyandian data yang semakin kompleks
dan sulit dipecahkan.
2.3
Tujuan Kriptografi
Secara umum tujuan ilmu kriptografi diciptakan adalah
untuk merahasiakan suatu pesan agar tidak bisa dibaca oleh pihak yang tidak
absah. berpedoman dari tujuan umum tersebut, terdapat empat tujuan mendasar
ilmu kriptografi digunakan dalam bidang keamanan informasi yaitu :
- Kerahasiaan
adalah
layanan yang digunakan untuk menjaga isi informasi dari siapapun kecuali yang
memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang
telah disandi.
- Integritas data
adalah
berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk
menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi
manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan,
penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
- Autentikasi
adalah
berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun
informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling
memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus
diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.
- Non-repudiasi
adalah
usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya
suatu informasi oleh yang mengirimkan/membuat.
2.4
Cryptanalysis
Cryptanalysis
adalah
usaha-usaha yang dilakukan seseorang untuk memperoleh informasi ataupun data
yang telah dienkripsi. Orang yang melakukan kegiatan cryptanalysis disebut
dengan cryptanalyst. Terdapat lima
jenis cryptanalysis berikut ini
uraian kelima jenis cryptanalysis
tersebut :
Jenis Serangan
|
Yang perlu diketahui cryptanalyst
|
Chipertext-only
|
·
Algoritma
enkripsi
·
Ciphertext
yang akan didekrisi
|
Known plaintext
|
·
Algoritma
enkripsi
·
Ciphertext yang akan didekripsi
·
Satu
atau lebih pasangan pesan plaintext-ciphertext
|
Chosen plaintext
|
·
Algoritma
enkripsi
·
Ciphertext yang akan didekripsi
·
Plaintext yang dipilih oleh cryptanalyst,
bersama dengan pasangan ciphertext-nya
|
Chosen ciphertext
|
|
Chosen text
|
|
2.5
Klasifikasi Kriptografi
Dipandang
dari segi era pengembangannya ilmu
kriptografi dibagi menjadi dua, yaitu kriptografi klasik dan kriptografi
modern.
2.5.1
Kriptografi
klasik
Dilihat dari namanya tentu saja kriptografi klasik
merupakan awal dari pengembangan ilmu kriptografi. Pada era pengembangan ini
kekuatan kriptografi terletak pada kerahasiaan algoritma yang digunakan, jenis
algoritma ini dinamakan algoritma restricted.
Namun ditengah pengembangannya
algritma restricted ditemukan banyak
kelemahan sehingga tidak relevan lagi untuk keperluan keamanan informasi saat
ini. Adapun kelemahan-kelemahan algoritma restricted
adalah sebagai berikut :
-
Algoritma restricted
merupakan algoritma yang bersifat rahasia, sehingga kemampuan algoritma tidak
pernah diuji oleh para pakar kriptografi dan berimbas pada ketidak percayaan
pengguna atau user akan
ketangguhannya.
-
Apabila terjadi kebocoran rahasia algoritma, maka harus
dibuat atau dikembangkan algoritma baru. Konsekuensinya adalah pemborosan biaya
karena biaya pembuatan algoritma kriptografi baru sangat mahal.
2.5.2
Kriptografi modern
Kriptografi modern
dikembangkan untuk membenahi kelemahan-kelamahan yang dimiliki oleh kriptografi
sebelumnya yaitu kroptografi klasik. Berlawanan dengan kriptografi klasik,
algoritma yang digunakan pada kriptografi modern di buka atau dengan kata lain
diketahui oleh umum sehingga tidak bersifat rahasia. Hal ini dilakukan untuk menutupi kelemahan
kriptografi klasik, sehingga algoritma dari kriptografi modern bisa di uji
ketangguhannya oleh pakar-pakar kriptografi. Lalu dimana letak kekuatan dari
kriptografi modern? Kekuatan kriptografi ini bertumpu pada kerahasiaan kunci
penyandian. Berdasarkan kunci penyandiannya, kriptografi modern dibagi menjadi
dua jenis yaitu kriptografi kunci simetri dan kriptografi kunci asimetri.
2.5.2.1 Kriptografi Kunci Simetri
Pada kriptografi ini, metode
enkripsi dan deskripsi menggunakan kunci yang sama. Misalnya kunci enkripsi
adalah K, maka kunci deskripsi sama dengan kunci enkripsi, yaitu K.
Gambar 3 skema kriptografi kunci simetri
Pada kriptografi kunci simetri, untuk menjaga kerahasiaan
pesan antar komunikan maka dibutuhkan sebuah kunci untuk tiap pasangan
komunikan. Sehingga untuk n komunikan jumlah kunci yang dibutuhkan adalah :
Keunggulan kriptografi simetri terletak pada kecepatan
proses enksripsi maupun deskripsi. Hal ini menjadi nilai tambah bagi
kriptografi kunci simetri, karena kriptografi biasanya diterapkan di dalam
suatu jaringan. Dalam ilmu jaringan
dikatakan bahwa jaringan yang baik
adalah jaringan yang memiliki delay time yang paling minim. Sehingga
kriptografi kunci simetri sangat mendukung statement
tersebut. Lalu keunggulan lainnya adalah kriptografi ini relatif tangguh
terhadap serangan chosen-plaintext karena kunci bersifat rahasia.
Kriptografi kunci simteri bukan tanpa kelamahan, kendala
pertama pada kriptografi ini terletak pada manajemen kunci yang sangat rumit.
Semakin banyak komunikan yang berkomunikasi maka makin banyak pila kebutuhan
jumlah kunci, misalnya terdapat 1000 komunikan maka dibutuhkan 499500 kunci
ssluruh komunikan bisa saling berkomunikasi. Dengan kunci sebanyak itu akan
sangat sulit mengingat dan mempertahankan suatu kerahasiaan. Lalu kendala kedua
terletak pada distribusi kunci karena dibutuhkan saluran khusus untuk mendistribusikan
kunci. Distribusi kunci tidak dapat dilakukan menggunakan saluran atau media
yang akan digunakn komunikasi, karena sebenarnya jalur inilah yang seharusnya
diamankan.
Terdapat beberapa algoritma yang dikembangkan oleh
pakar-pakar kriptografi menggunakan kriptografi simetri, diantaranya :
-
Algoritma DES
-
Algoritma IDEA
-
Algoritma Blowfish
-
Algoritma RC2
2.5.2.2 Kriptografi Kunci Asimetri
Kriptografi kunci asimetri menggunakan kunci yang berbeda
(pasangan kunci) untuk keperluan proses enkripsi dan proses deskripsi. Kunci
yang digunakan dalam proses enkripsi biasanya disebut kunci publik atau public key, sedangkan kunci yang
digunakan dalam proses deskripsi biasanya disebut sebagai kunci privat.
Perbedaan yang sangat terlihat antara kriptografi kunci simetri dan kriptografi
kunci asimetri terletak pada sifat kunci, pada kriptografi kunci simetri kunci
bersifat private, sedangkan pada
kriptografi kunci asimetri terdapat pasangan kunci yang memiliki dua sifat yang
berbeda, yaitu kunci private untuk proses deskripsi dan kunci
public untuk proses enkrispsi. Karena
sifat salah satu kuncinya public maka
kriptografi kunci asimetri sering disebut juga kriptografi algoritma kunci
publik.
Kriptografi kunci asimetri dikembangkan para pakar
kriptografi untuk menanggulangi kesulitan distribusi kunci pada kriptografi
kunci simeteri. Distribusi kunci pada kritografi kunci asimetri sangat mudah,
karena kunci enkrispsi bersifat pubik atau
umum maka distribusi kunci dapat dilakukan di jalur mana saja bahkan jalur yang
ingin diamankan sekalipun. Berikut ini skema enkripsi dan deskripsi dalam
kriptografi asimetri :
Gambar 4 skema kriptografi kunci asimetri
Kriptografi ini bukan
tanpa celah, karena kunci enkripsinya yang bersifat publik maka kriptografi ini
relatif lemah terhadap serangan cryptanalist terutama serangan chosen-plaintext. Selain itu,
kriptografi ini memiliki kelemahan lain dalam hal kecepatan. Kriptografi
asimetri 1000 kali lebih lamban dibandingkan kriptografi simetri. Adapun
keunggulan dari kriptografi kunci asimetri selain distribusi kunci yang sangat
mudah adalah manajemen kunci yang tidak rumit karena tiap komunikan hanya butuh
sepasang kunci (enkripsi dan deskripsi), sehingga dapat dituliskan untuk n
komunikan yang berkomunikasi hanya dibutuhkan n pasang kunci.
Terdapat banyak algoritma
yang dikembangkan pakar-pakar kriptografi untuk algoritma kunci asimetri,
diantaranya :
-
Algoritma RSA
-
Algoritma McEliece
-
Algoritma Rabin
-
Algoritma Knapsack
-
Algoritma LUC
-
Algoritma El Gamal
Untuk saling menutupi kekurangan dari kriptografi kunci
simetri dan kriptografi kunci asimetri, para pakar kriptografi mengembangkan
penggabungan dua metode kriptografi ini. Metode penggabungan ini disebut Hybrid Cryptosystem. Pada metode ini
algoritma kunci simetri digunakan untuk mengamankan pesan atau data yang akan
dikirimkan. Sedangkan algoritma kunci asimetri digunakan untuk mengamankan
kunci dari proses kriptografi simetri.
2.6
Fungsi Hash
Fungsi hash adalah
fungsi yang menerima masukan string yang panjangnya sembarang dan
mengkonversinya menjadi string keluaran yang panjangnya tetap (fixed)
(umumnya berukuran jauh lebih kecil daripada ukuran string semula). Fungsi hash dapat menerima
masukan string apa saja. Jika string menyatakan pesan (message),
maka sembarang pesanM berukuran bebas dikompresi oleh fungsi hash H melalui
persamaan :
Keluaran fungsi hash disebut
juga nilai hash (hash-value) atau pesan-ringkas (message
digest).. Pada persamaan diatas, h adalah nilai hash atau message
digest dari fungsi H untuk masukan M. Dengan kata lain,
fungsi hash mengkompresi sembarang pesan yang berukuran berapa saja
menjadi message digest yang ukurannya selalu tetap (dan lebih pendek
dari panjang pesan semula).
Fungsi
hash digunakan untuk memverifikasi kesamaan salinan suatu data denga ndata aslinya.
Sebagai contoh pada sebuah perusaahan, daripada mengirimkan salinan arsip
keseluruhan ke komputer pusat (diasumsikan perusahaan ini menggunakan basis
data terpusat). Lebih baik mengirimkan message
digest-nya. Apabila message digest salinan
arsip sama dengan message digest arsip
asli, maka salinan arsip tersebut sama dengan arsip didalam basis data.
Fungsi
hash sering disebut juga one-way function karena fungsi hash
bekerja dalam satu arah, yaitu pesan yang sudah di ubah menjadi message digest tidak dapat dikembalikan
lagi menjadi pesan semula. Adapun sifat-sifat fungsi hash adalah sebagai
berikut :
-
Fungsi H dapat
diterapkan pada blok data berukuran berapa saja.
-
H menghasilkan nilai (h) dengan
panjang tetap (fixedlength output).
-
H(x) mudah dihitung untuk setiap
nilai x yang diberikan.
-
Untuk setiap h
yang dihasilkan, tidak mungkin dikembalikan nilai x sedemikian
sehingga H(x) = h. Itulah sebabnya fungsi H dikatakan
fungsi hash satu-arah (one-way hash function).
-
Untuk setiap x
yang diberikan, tidak mungkin mencari y ¹x sedemikian sehingga H(y)
= H(x).
-
Tidak mungkin
mencari pasangan x dan y sedemikian sehingga H(x) =
H(y).
Terdapat beberapa kriptografi yang
dikembangkan para pakar kriptografi menggunakan fungsi hash, diantaranya :
-
Algoritma MD2
-
Algoritma MD4
-
Algoritma MD5
-
Algoritma SHA
-
Algoritma
RIPE-MD160
-
Dsb
Berikut ini beberapa nama lain dari fungsi hash :
-
fungsi
kompresi/kontraksi (compression function)
-
cetak-jari (fingerprint)
-
cryptographic checksum
-
message integrity check (MIC)
-
manipulation detection code (MDC)
BAB III
METODELOGI
PENELITIAN
3.1 Metode P$enyandian Pesan Dengan Kriptografi
Algoritma MD5
Algoritma MD5
adalah algoritma yang menggunakan fungsi hash satu arah yang diciptakan oleh
Ron Rivest. Algoritma merupakan pengembangan dari algoritma-algoritma
sebelumnya yaitu algoritma MD2 dan algoritma MD4 karena kedua algoritma ini
berhasil diserang para cryptanalist.
Cara kerja kriptografi algoritma MD5 adalah menerima
input berupa pesan dengan ukuran sembarang dan menghasilkan message diggest yang memiliki panjang
128 bit. Berikut ilustrasi gambar dari pembuatan message
diggest pada kriptografi algoritma MD5 :
Gambar 5 Pembuatan message digest dengan algoritma
MD5
Menilik dari gambar diatas, secara
garis besar pembuatan message digest
ditempuh melalui empat langkah, yaitu :
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.
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 264. sehingga setelah proses kedua ini selesai
dilakukan maka panjang pesan sekarang adalah 512 bit.
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. Sehingga panjang total :
Keempat penyangga ini menampung hasil
antara dan hasil akhir. Setiap penyangga diinisialisasi dengan nilai-nilai
(dalam notasi Hexadesimal) sebagai berikut :
4.
Pengolahan
pesan dalam blok berukuran 512 bit
Proses berikutnya
adalah pesan dibagi menjadi L buah blok yang masing-masing 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 :
Gambar 6 Pengolahan blok 512 bit (Proses HMD5)
Dari gambar
diatas 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.
Pada gambar 6,
Yq menyatakan blok 512 bit ke-q dari pesan yang telah ditambahkan
dengan bit-bit 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 :
Gambar 7 Operasi dasar MD5
Operasi
dasar MD5 yang diperlihatkan gambar diatas dapat dituliskan dengan persamaan
berikut ini :
Dimana,
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 1
dibawah ini :
Tabel 1 Fungsi-fungsi dasar MD5
NB : secara berurut peartor logika AND, OR, NOT dan XOR dilambangkan dengan
Ù, Ú, ~, Å
Kemudian nilai T[i] dapat dilihat pada tabel dibawah ini.
Tabel ini disusun oleh fungsi 232 x abs(sin(i)), i dalam radian.
Tabel 2. Nilai T[i]
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,
<<<s melambangkan opersi 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 berikut ini :
Tabel 3 Rincian operasi pada fungsi F(b,
c, d)
-
putaran 2 : 16 kali operasi dasar dengan g(b, c, d) – G(b,
c, d), dapat dilihat pada tabel berikut ini :
Tabel 4 Rincian operasi pada fungsi G(b,
c, d)
-
putaran 3 : 16 kali operasi dasar dengan g(b, c, d) –
H(b, c, d), dapat dilihat pada tabel berikut ini :
Tabel 5 Rincian operasi pada fungsi H(b,
c, d)
-
putaran 4 : 16 kali operasi dasar dengan g(b, c, d) –
I(b, c, d), dapat dilihat pada tabel berikut ini :
Tabel 6 Rincian operasi pada fungsi I(b,
c, d)
Setelah
putaran keempat, a, b, c dan d di tambahkan ke A, B, C dan D yang selanjutnya
algoritma akan memproses untuk blok data berikutnya (Yq+1). Output
akhir dari algoritma MD5 adalah hasil penyambungan bit-bit di A, B, C dan D.
Dari
uraian diatas, secara umum fungsi hash MD5 dapat ditulis dalam persamaan
matematis sebagai berikut :
Dimana,
Agar lebih mudah dipahami, berikut
ini contoh penerapan kriptografi MD5 pada suatu pesan yang ingin dirahasiakan.
Misalkan terdapat sebuah arsip dengan nama bandung.txt sebagai berikut :
Message
digest yang dihasilkan dari arsip diatas adalah untuk 128 bit :
Lalu untuk notasi hexadesimal
:
3.2 Aplikasi Algoritma MD5 Untuk Integritas Data
Aplikasi
algoritma dapat digunakan untuk menjaga
keintegritasan data. Dengan aplikasi fungsi hash yang menjadi asas algoritma
MD5, perubahan kecil pada data sekalipun dapat terdeteksi. Langkah yang harus
ditempuh adalah bangkitkan message digest
dari isi arsip menggunakan algoritma MD5. kemudian gabung message digest ke dalam arsip. Verifikasi isi arsip dapat dilakukan
secara berkala dengan membandingkan MD isi arsip sekarang dan MD dari arsip
asli (MD yang telah disimpan sebelumnya). Jika hasilnya berbeda maka telah
terjadi perubahan pada arsip.
Aplikasi
ini didasarkan pada kenyataan bahwa perubahan 1 bit pesan akan mengubah, secara
rata-rata, setengah dari bit-bit message
digest. Dengan kata lain, algoritma MD5 dengan fungsi hashnya sangat peka
terhadap perubahan sekecil apapun pada data masukan. Sebagai contoh perhatikan
arsip dibawah ini :
Untuk
kasus pertama, apabila 33 derajat celcius diganti dengan 32, maka MD dari isi
arsip adalah (tidak termasuk baris MD) :
Untuk
kasus kedua, apabila ditambahkan spasi diantara ”33” dan ”derajat”, maka MD
dari isi arsip adalah (tidak termasuk baris MD) :
Dari kedua kasus diatas sangat terlihat bahwa algoritma
MD5 dengan fungsi hashnya sangatlah peka dengan perubahan walau kecil
sekalipun.
BAB IV
PENUTUP
4.1 Kesimpulan
-
Algoritma Message
Digest 5 (MD5) adalah algoritma yang dikembangkan setelah algoritma MD2 dan
MD4.
-
Algoritma Message Digest 5 (MD5) adalah sebuah fungsi hash satu arah yang mengubah
masukan dengan panjang variabel menjadi keluaran dengan panjang tetap yaitu 128
bit.
-
Algoritma MD5
dengan fungsi hashnya sangat peka terhadap perubahan pesan, maka algoritma MD5
cocok untuk aplikasi yang menjaga integritas suatu data.
Daftar Pustaka
-
Munir, Rinaldi., Pengantar Kriptografi, Institut
Teknologi Bandung, 2004.
-
Munir, Rinaldi., Fungsi Hash Satu Arah dan Algoritma MD5,
Institut Teknologi Bandung, 2004.
-
Mulya, Megah., Bahan Ajar Kriptografi S1, Universitas
Sriwijaya, 2008.
-
Thomas, Tom., Network
Security First Step, Penerbit Andi, 2004.
-
Arius, Dony.,
Computer Security, Penerbit Andi, Yogyakarta, 2005.
No comments:
Post a Comment