AUTENTIKASI PESAN MENGGUNAKAN ALGORITMA MESSAGE DIGEST 5 (MD5)
SKRIPSI
ALI MAKMUR SIMAMORA
100823024
PROGRAM STUDI SARJANA MATEMATIKA
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN
ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
AUTENTIKASI PESAN MENGGUNAKAN ALGORITMA MESSAGE DIGEST 5 (MD5)
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains
ALI MAKMUR SIMAMORA 100823024
PROGRAM STUDI SARJANA MATEMATIKA DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : AUTENTIKASI PESAN MENGGUNAKAN
ALGORITMA MESSAGE DIGEST 5 (MD5)
Kategori : SKRIPSI
Nama : ALI MAKMUR SIMAMORA
Nomor Induk Mahasiswa : 100823024
Program Studi : SARJANA (S1) MATEMATIKA
Departemen : MATEMATIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA
Drs. Marwan Harahap, M.Eng Drs. Bambang Irawan, M.Sc
PERNYATAAN
AUTENTIKASI PESAN MENGGUNAKAN ALGORITMA MESSAGE DIGEST 5 (MD5)
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juli 2012
PENGHARGAAN
Puji dan syukur penulis panjatkan ke hadirat Allah subahanahu wata‟ala atas limpahan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini dengan judul Autentikasi Pesan Menggunakan Algoritma Message Digest 5 (MD5). Serta selawat dan salam kepada nabi Muhammad Sollollohualaihiwassalam yang syafaatnya kita harapkan di hari akhirat nanti. Terima kasih yang mendalam penulis ucapkan kepada Ibu, Ayah, abang Ali Umri Simamora serta seluruh keluarga, berkat ketulusan kasih sayang dan doa restunya serta dukungan baik moral dan moril sehingga penulis dapat menyelesaikan karya ilmiah ini.
Rasa terima kasih yang sebesar-besarnya penulis sampaikan kepada Drs. Bambang Irawan, M.Sc dan Drs. Marwan Harahap, M.Eng. sebagai dosen pembimbing yang telah memberikan bimbingan, saran dan nasihat yang sangat berharga sejak awal hingga selesainya penulisan karya ilmiah ini. Ucapan terima kasih juga ditujukan kepada Ketua Departemen Prof. Dr. Tulus, M.Si, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam USU, pegawai di FMIPA USU, dan kepada Syahriol Sitorus, S.Si, M.IT dan Drs. Sawaluddin, M.IT selaku pembanding pada sidang skripsi ini.
ABSTRAK
Sewaktu menerima atau mengirim pesan pada jaringan internet, terdapat persoalan yang sangat penting yaitu masalah keutuhan dan autentikasi. Skripsi ini membahas mengenai autentikasi pesan dengan algoritma Message Digest 5.
Penulis merancang suatu aplikasi untuk memastikan keutuhan pesan dengan menggunakan algoritma MD5. MD5 adalah salah satu alat untuk menyatakan absahnya (otentik) pesan yang dikirim akan sama dengan pesan yang diterima. Untuk menyatakan otentiknya pesan dalam bentuk teks atau file lazimnya digunakan metode kriptografi agar keaslian sebuah pesan tersebut dapat terjamin. Sehingga fungsi pengamanan pesan menjadi sangat penting. Aplikasi pengamanan pesan untuk autentikasi pesan dibuat menggunakan bahasa pemograman VB.Net 2010. Aplikasi yang dibuat dapat menghasilkan pesan otentik atau telah dimodifikasi dengan membandingkan nilai hashnya pesan berbentuk text atau file.
MESSAGE AUTHENTICATION USING ALGORITHM MESSAGE DIGEST 5 (MD5)
ABSTRACT
When receive or send a message on the network internet, there are some issue which very important namely problem wholeness and authentication. This script discusses about authentication of message with Message Digest algorithm 5. The writter designed an application to ensure the integrity of the message by algorithm MD5. MD5 is a tool to declare the validity of (authentic) sent messages as well as message. To express validity of message in the text or file will used encryption method, so the authenticity of a message can be guaranteed. So that functions of message is very importan the application of security message for authentication message by using language program VB.Net 2010. Applications can produce authentic message or had modified by comparing hash value of messages in from text or files.
DAFTAR ISI
2.2Jenis-jenis Algoritma Kriptografi 8
2.2.1 Algoritma Simetri 9
2.2.2 Algoritma Asimetri 9
2.3 Teknik–Teknik Enkripsi dan Dekripsi 10
2.4 Keamanan Algoritma 10
3.2.Autentikasi Pesan Dengan MD5 23
3.2.1 Pengujian Autentikasi Pesan Dengan MD5 24
3.3 Autentikasi Pesan Dengan Menambahkan Key 26
3.4 Autentikasi Pesan Berbentuk File 29
3.4.1 Menu Utama 31
3.5 Cara Kerja Program Autentikasi Pesan 32
3.5.1 Pemilihan File 32
3.5.2 Pemilihan kode MD5 34
3.5.3 Generate (membangkitkan) kode MD5 35
3.6 Pengujian Autentikasi Pesan Berbentuk File 37
BAB 4. KESIMPULAN DAN SARAN 40
4.1 Kesimpulan 40
4.2 Saran 41
DAFTAR PUSTAKA
DAFTAR GAMBAR
Halaman
Gambar 2.1 Kriptografi Simetris 9
Gambar 2.2 Kriptografi Asimetris 10
Gambar 2.3 Pengiriman pesan menggunakan fungsi hash satu arah 12
Gambar 2.4 Fungsi hash satu arah 14
Gambar 2.5 Fungsi konversi 15
Gambar 2.6 Struktur proses satu langkah operasi algoritma MD5 18
Gambar 3.7 Proses autentikasi pesan 23
Gambar 3.8 Proses enkripsi MD5 24
Gambar 3.9 (a) Pesan belum ada berubah, 24
(b) Perubahan 1 karakter huruf pada pesan 25
Gambar 3.10 (a) Belum ada penambahan spasi,
(b) Penambahan 1 spasi membedakan nilai hash
Gambar 3.11 Enkripsi Pesan tanpa key. 26
Gambar 3.12 Enkripsi MD5 dengan key 27
Gambar 3.13 (a) Hasil Enkripsi pesan asli, 27
(b) Contoh pesan asli 28
Gambar 3.14 (a) Hasil Enkripsi Pesan yang telah dimodifikasi,
(b) Pesan telah dimodifikasi 28
Gambar 3.15 Diagram alur autentikasi pesan berbentuk file dengan MD5 29
Gambar 3.16 Menu Utama 31
Gambar 3.17 Tab Menu Aplikasi 31
Gambar 3.18 (a) Pemilihan file yang akan diautentikasi,
(b) Lokasi pemilihan kode MD5 33
Gambar 3.19 Telah dipilih file yang akan dibangkitkan MD5 33
Gambar 3.20 (a) Telah dipilih file yang akan dibangkitkan MD5,
(b) Lokasi pemilihan file Bit Daerah Gambar 34
Gambar 3.21 Hasil autentikasi file dan kode MD5 yang telah dipilih 35
(b) Lokasi pemilihan penyimpanan kode MD5 36
Gambar 3.23 File yang telah dipilih untuk di-generate kode MD5-nya 36
Gambar 3.24 (a) File yang akan di-generate,
(b) Lokasi pemilihan penyimpanan kode MD5 37
Gambar 3.25 Autentikasi file yang diterima bentuk zip 38
Gambar 3.26 Pembangkitan file berbentuk pdf 38
ABSTRAK
Sewaktu menerima atau mengirim pesan pada jaringan internet, terdapat persoalan yang sangat penting yaitu masalah keutuhan dan autentikasi. Skripsi ini membahas mengenai autentikasi pesan dengan algoritma Message Digest 5.
Penulis merancang suatu aplikasi untuk memastikan keutuhan pesan dengan menggunakan algoritma MD5. MD5 adalah salah satu alat untuk menyatakan absahnya (otentik) pesan yang dikirim akan sama dengan pesan yang diterima. Untuk menyatakan otentiknya pesan dalam bentuk teks atau file lazimnya digunakan metode kriptografi agar keaslian sebuah pesan tersebut dapat terjamin. Sehingga fungsi pengamanan pesan menjadi sangat penting. Aplikasi pengamanan pesan untuk autentikasi pesan dibuat menggunakan bahasa pemograman VB.Net 2010. Aplikasi yang dibuat dapat menghasilkan pesan otentik atau telah dimodifikasi dengan membandingkan nilai hashnya pesan berbentuk text atau file.
MESSAGE AUTHENTICATION USING ALGORITHM MESSAGE DIGEST 5 (MD5)
ABSTRACT
When receive or send a message on the network internet, there are some issue which very important namely problem wholeness and authentication. This script discusses about authentication of message with Message Digest algorithm 5. The writter designed an application to ensure the integrity of the message by algorithm MD5. MD5 is a tool to declare the validity of (authentic) sent messages as well as message. To express validity of message in the text or file will used encryption method, so the authenticity of a message can be guaranteed. So that functions of message is very importan the application of security message for authentication message by using language program VB.Net 2010. Applications can produce authentic message or had modified by comparing hash value of messages in from text or files.
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Informasi menjadi salah satu kunci perkembangan hidup manusia.
Sewaktu menerima atau mengirim pesan pada jaringan Internet, terdapat
persoalan yang sangat penting yaitu masalah keutuhan dan autentikasi.
Kini, pertukaran informasi dapat terjadi di mana saja, kapan saja, dan
melalui berbagai media. Sebagai media internet digunakan antara lain
untuk transaksi belanja online (e-commerce), online banking, dan
pengiriman email yang banyak digunakan salah satu untuk berbisnis.
Banyak data-data bisnis yang penting dipertukarkan menggunakan media
internet, yang mana media ini bukanlah merupakan media yang aman.
Pesan-pesan e-mail dan data dapat saja dibaca, diubah, dirusak. Jika tidak
diamankan dengan tepat, maka akan sangat rugi pengguna e-mail. E-mail
menyediakan metode komunikasi yang mudah, tidak mahal, serta paling
realita di seluruh dunia. Pesan-pesan yang dikirimkan menggunakan
e-mail dapat saja berisikan data plaintext yang mudah dibaca, sisipan
gambar-gambar, file-file suara, dan elemen-elemen lainnya.
Pesan-pesan e-mail ini dapat saja dengan mudah dibaca, diubah
oleh user yang tidak berhak. Jika tidak terdapat mekanisme keamanan di
dalamnya maka, pengiriman e-mail tidak aman. Keamanan terhadap
e-mail sangat penting, sebab pesan-pesan e-mail harus melewati beberapa
server dahulu sebelum akhirnya diterima oleh penerima email tersebut.
Misalnya pengiriman pesan lewat email, kantor pusat bank mengirim
pesan melalui email kepada salah satu cabangnya, pesan diinginkan agar
pun ingin mendapat keyakinan bahwa pesan yang diterima autentik (asli)
dari pusat, bukan orang lain yang berpura-pura sebagai kepala pusat bank
yang mengirim pesan. Pesan perlu dinyatakan otentik (authentication),
authentication merupakan aspek yang berhubungan dengan metode atau
cara untuk menyatakan bahwa informasi betul-betul asli, orang yang
mengakses atau memberikan informasi adalah betul-betul server yang
asli. Biasanya metode yang sangat dikenal untuk tersambung dengan
server dan mendapatkan layanan adalah dengan metode password di
pemakai, pengunjung, pelanggan yang digunakan e-commerce. Hal
tersebut juga merupakan salah satu contoh yang perlu diketahui
otentikasi pesannya untuk pengguna aplikasi melalui Internet.
Seiring dengan meningkatnya pengguna internet sebagai media
pertukaran pesan, metode pengamanan pesan menjadi sangat penting.
Nilai keamanan suatu pesan yang ingin dijaga keutuhan atau
integritasnya menyebabkan pesan tersebut hanya boleh dimodifikasi oleh
pihak yang berhak. Namun pada realitanya, pesan tersebut akan
mendapat ancaman dari seorang penyusup dengan suatu cara, dapat
mengubah isi pesan tersebut. Pengubahan isi pesan tentu saja akan
merugikan, karena penyusup dapat memanfaatkan perubahan isi pesan
tersebut untuk berbagai kepentingan. Apabila isi pesan telah berubah dari
bentuk aslinya, maka pesan tersebut dikatakan sudah tidak autentik lagi.
Suatu metode yang efektif untuk menguji autentikasi pesan digunakan
teknik kriptografi.
Secara garis besar, teknik kriptografi dapat digunakan untuk
menyamarkan pesan dan untuk autentikasi pesan. Teknik ini digunakan
internet. Message digest 5 (MD5) merupakan algoritma yang banyak
digunakan pada berbagai aplikasi yang membutuhkan keutuhan pesan.
Pada karya ilmiah ini akan dibahas algoritma Message digest 5 (MD5).
Algoritma message digest 5 (MD5) ini menggunakan metode
fungsi hash satu arah untuk autentikasi pesan. Menurut Schneier (1996)
keamanan dari suatu algoritma hash kriptografi dapat ditinjau dari daya
tahan terhadap serangan (attack) dan panjang out(message digest). Pada
penelitian ini penulis akan menggunakan algoritma message digest 5
yang dibuat oleh Ron Riverst (1991). Algoritma ini memiliki metode
yang istimewa, yaitu fungsi hash satu arah. Jika pesan sudah diubah
menjadi message digest, maka tidak dapat dikembalikan lagi menjadi
pesan semula.
Berdasarkan metode algoritma ini, fungsi hash yang disebut juga
nilai has (hash-value) atau pesan ringkas (message digest). Dengan kata
lain, fungsi hash yang menerima masukan string atau pesan yang
panjangnya sembarang dan mengkonversi menjadi string atau pesan
keluaran yang panjangnya selalu tetap (fixed). Dengan keluaran lebih
pendek dari panjang pesan semula. Dengan demikian autentikasi pesan
menggunakan algoritma message digest 5 dapat dinyatakan suatu pesan
otentik atau tidak otentik dari hash yang dihasilkan.
1.2 Perumusan Masalah
Permasalahan dalam tulisan ini adalah bagaimana suatu pesan dinyatakan
masih otentik dengan menggunakan algoritma Message Digest 5 (MD5).
1.3 Batasan Masalah
Masalah yang akan dibahas dalam penulisan skripsi ini dibatasi pada hal-hal sebagai berikut:
2. Metode hanya digunakan untuk autentikasi pesan langsung dan pesan berbentuk file.
1.4 Tujuan Penelitian
Tujuan penelitian ini adalah sebagai berikut:
1. Mempelajari, membahas cara kerja MD5 untuk autentikasi pesan
dengan teknik kriptografi.
2. Menyatakan keabsahan sebuah pesan menggunakan algoritma
MD5.
3. Mengimplementasikan algoritma MD5 ke dalam pemograman
komputer dengan bahasa pemograman Visual Basic Net. 2010.
1.5 Kontribusi Penelitian
Setelah melakukan penelitian ini, penulis berharap bahwa yang
dihasilkan dari penelitian ini dapat bermanfaat di dalam kehidupan yang
selalu menggunakan internet untuk perrtukaran pesan. Karena
menggunakan algoritma MD5 ini suatu pesan bisa dinyatakan masih
otentik atau sudah berubah.
1.6 Metode Penelitian
Adapun metode penelitian yang digunakan dalam penulisan skripsi ini
adalah sebagai berikut:
1. Melakukan studi literatur mengenai algoritma MD5 baik pada
beberapa buku, makalah, maupun artikel-artikel yang ada pada
situs-situs Internet yang berhubungan dengan algoritma MD5.
2. Menganalisa fungsi hash pada algoritma Message Digest 5
3. Melakukan perancangan dan menerapkan algoritma MD5 dalam
bentuk aplikasi program dengan menggunakan Visual Basic
.Net.2010.
4.
1.7 Sistematika Penulisan
Sistematika penulisan skripsi ini adalah sebagai berikut:
BAB 1 : PENDAHULUAN
Bab ini meguraikan latar belakang, perumusan masalah, tujuan
penelitian, kontribusi penelitian, metode penelitian, serta sistematika
penulisan.
BAB 2 : LANDASAN TEORI
Bab ini menguraikan tentang kriptografi, fungsi hash satu arah, dan
algoritma MD5. Bab ini juga menyinggung mengenai pemograman yang
digunakan.
BAB 3 : PEMBAHASAN
Bab ini menjelasakan tentang teori, autentikasi pesan berbentuk text,
autentikasi pesan berbentuk file, dan implementasi ke dalam bahasa
pemogram, pemograman VB.Net 2010.
BAB 4 : KESIMPULAN
Bab ini berisikan kesimpulan umum dan saran untuk pengembangan
BAB 2
LANDASAN TEORI
2.1 Pengertiaan Kriptografi
Kata kriptografi berasal dari bahasa Yunani, yaitu kata kryptos, yang
berarti rahasia dan kata graphein yang berarti menulis. Schineir (1996)
mendefinisikan kriptografi sebagai ilmu yang mempelajari teknik-teknik
untuk menjaga keamanan pesan. Tujuan utama kriptografi adalah untuk
menjaga isi pesan dari pihak yang tidak berhak. Menezes (1996)
menyatakan bahwa kriptografi merupakan suatu ilmu mengenai teknik
matematis yang ditujukan pada aspek pengamanan data yang meliputi
tingkat kepercayaan terhadap data tersebut, integritas data, otentikasi
entitas data, otentifikasi terhadap keaslian data. Sedangkan Rhee (1994),
mendefinisikan kriptografi sebagai suatu ilmu mengenai kripto sistem
dimana privasi dan otentikasi dari data dapat dijamin. Menurut
Kurniawan (2004) kripografi adalah ilmu yang mempelajari bagaimana
supaya pesan atau dokumen aman, tidak bisa dibaca oleh pihak yang
tidak berhak.
Menurut Tom Thomas (2005), autentikasi adalah proses
mengidenfikasi individu atau peranti didasarkan pada kombinasi
username dan password yang benar. Autentikasi tidak menentukan akses
apa yang diizinkan bagi individu, tetapi cenderung apa yang mereka
nyatakan. Otorisasi menentukan individu mana yang diizinkan untuk
tentunya. Menurut Dony Ariyus (2006), autentikasi (pembuktian
keabsahan) waktu mengirim pesan adalah hal yang sangat penting dalam
keamanan data. User B yakin bahwa pesan yang dikirim A benar-benar
datang dari A.
Secara garis besar, teknik kriptografi dapat digunakan untuk
menyamarkan pesan dan untuk autentikasi pesan. Dalam hal ini, akan
dibahas teknik kriptografi untuk autentikasi pesan untuk mengetahui
keutuhan (integritas) pesan.
2.1.1 Tujuan Kriptografi
Secara garis besar, teknik kriptografi digunakan untuk menyamarkan
pesan menekankan pada confidentiality, yaitu pencegahan akan
pengaksesan informasi (passive attack) yang dilakukan oleh pihak yang
tidak berhak, sedangkan teknik kriptografi untuk autentikasi pesan lebih
menekankan pada pencegahan akan modifikasi informasi (active attack)
yang dilakukan oleh pihak yang tidak berhak. Dalam hal ini, akan
melindungi identitas pemakai atau isi pesan agar tidak dapat dibaca oleh
orang lain yang tidak berhak. Data integrity adalah melindungi pesan
agar tidak diubah oleh orang lain. Untuk mencapai ini, perlu ditetapkan
suatu tujuan sebagai titik tolak dalam pengembangan ilmu kriptografi itu
sendiri. Menurut Rhee (1994) tujuan dari kriptografi dapat memenuhi satu atau lebih dari hal-hal berikut ini:
1. Melakukan proteksi terhadap sistem komputer yang khusus ditujukan
untuk pemrosesan dan penyimpanan data.
2. Melakukan pencegahan terhadap tindakan yang tidak mendapat
otoritas untuk mengambil ataupun menghapus suatu informasi dari
pesan-pesan yang dikirim melalui saluran terbuka.
3. Melakukan pencegahan terhadap tindakan yang tidak mendapat
otoritas untuk memodifikasi data ataupun informasi pada saluran
Sejalan dengan penjabaran dari Man Young Rhee, Menezes (1996)
menjelaskan tujuan dari kriptografi dalam beberapa butir keterangan
berikut ini:
1. Confidentiality.
Menjaga muatan informasi dari campur tangan pihak-pihak lain,
selain yang memiliki otoritas.
2. Data Integrity.
Meyakinkan tidak terjadinya pengubahan data oleh pihak yang
tidak memiliki otoritas. Untuk meyakinkan integritas dari suatu
data, harus dapat dilakukan pendeteksian apakah data tersebut telah
mengalami manipulasi. Manipulasi data meliputi penyisipan,
penghapusan, dan pensubstitusian.
3. Authentification.
Fungsi untuk pemberian identifikasi. Fungsi ini diberikan baik
kepada pengirim maupun kepada penerima informasi itu sendiri.
Ke dua belah pihak yang ingin melakukan komunikasi sebaiknya
dapat saling melakukan identifikasi. Informasi yang dikirimkan
sebaiknya dapat dipastikan sumbernya, keasliannya, muatannya,
waktu pembuatannya, dan lain-lain.
4. Non-Repudiation.
Mencegah suatu pihak yang menyangkal telah melakukan pengiriman
pesan ataupun informasi.
2.2. Jenis-Jenis Algoritma Kriptografi
Terdapat 2 (dua) jenis algoritma kriptografi berdasarkan jenis kuncinya
yaitu algoritma simetri (konvensional) dan algoritma asimetri (kunci
2.2.1. Algoritma Simetri
Algoritma simetri disebut juga sebagai algoritma konvensional adalah
algoritma yang menggunakan kunci enkripsi yang sama dengan kunci
dekripsinya. Disebut konvensional karena algoritma yang biasa
digunakan orang sejak berabad-abad yang lalu adalah algoritma jenis ini.
Algoritma simetri sering juga disebut sebagai algoritma kunci rahasia,
algoritma kunci tunggal, atau algoritma satu kunci, dan mengharuskan
pengirim dan penerima menyetujui suatu kunci tertentu sebelum mereka
dapat berkomunikasi dengan aman. Keamanan algoritma simetri
tergantung pada kunci, membocorkan kunci berarti bahwa orang lain
dapat mengenkrip dan mendekrip pesan. Agar komunikasi tetap aman,
kunci harus tetap dirahasiakan.
Kriptografi yang termasuk algoritma kunci simetri adalah OTP,
DES, RC2, RC4, RC5, RC6, Message Digest (MD), IDEA, Twofish,
Magenta, FEAL, SAFER, LOKI, CAST, Rinjael (AES), Blowfish,
GOST, AS, Kasumi, dan lain-lain.
Gambar 2.1 Kriptografi Simetris
2.2.2 Algoritma Asimetri
Algoritma asimetri (juga disebut algoritma kunci publik) didesain
sedemikian sehingga kunci yang digunakan untuk enkripsi berbeda
dihitung dari kunci enkripsi. Algoritma disebut kunci publik karena kunci
enkripsi dapat dibuat publik yang berarti semua orang boleh
mengetahuinya. Sebarang orang dapat menggunakan kunci enkripsi
tersebut untuk mengenkrip pesan, namun hanya tertentu (calon penerima
pesan dan sekaligus pemilik kunci dekripsi yang merupakan pasangan
kunci publik) yang dapat melakukan dekripsi pada pesan tersebut.
Dalam sistem ini, kunci enkripsi sering disebut kunci publik,
sementara kunci dekripsi sering disebut kunci privat. Kunci privat disebut kunci rahasia. Kriptografi yang termasuk dalam algoritma
asimetri adalah ECC, LUC, RSA, EI Gamal dan DH.
Gambar 2.2 Kriptografi ASimetris
2.3. Teknik–Teknik Enkripsi dan Dekripsi
Enkripsi dan dekripsi diibaratkan seperti dua sisi mata uang. Pesan-pesan
dibuat seolah-olah tidak bermakna dengan mengubahnya menurut
prosedur tertentu (enkripsi), dan dibuat bermakna kembali dengan
menggunakan prosedur yang biasanya bersifat kebalikannya (dekripsi).
Dalam dunia kriptografi, pesan yang akan dirahasiakan disebut plaintext,
sedangkan bentuk pesan hasil proses enkripsi disebut ciphertext.
2.4. Keamanan Algoritma
Suatu algoritma dikatakan aman harus memiliki keadaan seperti berikut:
1. Jika harga untuk menjebol algoritma lebih besar daripada nilai
diperlukan komputer senilai 1 juta dollar untuk menjebol
algoritma senilai 100 ribu dollar, algoritma itu aman.
2. Jika waktu yang diperlukan untuk menjebol algoritma tersebut
lebih lama daripada lamanya waktu yang diperlukan oleh
informasi tersebut harus tetap aman, maka algoritma aman.
Misalnya waktu untuk membobol sebuah kartu kredit 1 tahun,
sedangkan sebelum setahun kartu tersebut sudah tidak berlaku
lagi, algoritma itu aman.
3. Jika jumlah data yang dienkrip dengan kunci dan algoritma
yang sama lebih sedikit dari jumlah data yang diperlukan untuk
menembus algoritma tersebut, maka algoritma itu aman.
Misalkan diperlukan 100 ciphertext untuk menebak kunci yang
digunakan untuk satu pesan, algoritma itu aman.
2.5. Fungsi Hash Satu Arah
Fungsi hash satu arah (one-way hash function) adalah hash function yang
bekerja satu arah, yaitu suatu hash function yang dengan mudah dapat
menghitung hash value dari pre-image, tetapi sangat sukar untuk
menghitung pre-image dari hash value. Menurut Rinaldi Munir (2004),
fungsi hash satu arah 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 satu-arah adalah fungsi hash yang bekerja dalam satu
arah: pesan yang sudah diubah menjadi message digest tidak dapat
dikembalikan lagi menjadi pesan semula. Menurut Yusuf Kurniawan
(2004), salah satu fungsi hash satu arah yang banyak digunakan dalam
keamanan jaringan komputer dan internet adalah Message Digest 5 (MD5)
yang dirancang oleh Ron Rivest. MD5 merupakan kelanjutan MD4 yang
dirancang untuk keamanan. Secara matematis tidak dimungkinkan untuk
serangan yang lebih efisien dibanding brute force. untuk autentikasi pesan
lebih menekankan pada pencegahan akan modifikasi informasi (active
attack) yang dilakukan oleh pihak yang tidak berhak. Dalam hal ini, akan
dibahas teknik kriptografi untuk autentikasi pesan untuk mengetahui
keutuhan (integritas) pesan.
Solusi untuk menanggulangi active attack adalah dengan metode
Message Digest Authentication (MDA). Teknik ini biasanya dikenal juga
sebgai fungsi hash satu arah. Fungsi hash satu arah didefinisikan sebagai transformasi yang mengambil ukuran input bervariasi dan mengubahnya
ke dalam ukuran tetap atau disebut message digest. Fungsi hash satu arah
dirancang sedemikian sehingga sangat sulit untuk menentukan pesan yang
berkaitan dengan message digest yang dihasilkan, atau dapat dikatakan
fungsi ini hanya bekerja satu arah saja.
Gambar 2.3 Pengiriman pesan menggunakan fungsi hash satu arah.
Dengan menggunakan metode fungsi hash satu arah, dari sebuah
pesan dapat dihasilkan message digest atau ringkasan kecil yang unik
untuk menjaga keutuhan dari pesan yang dikirimkan. Setiap pesan yang
berbeda akan menghasilkan message digest yang berbeda pula sehingga
dapat diketahui apabila sebuah pesan telah dimodifikasi. Sebagai contoh,
dalam pengiriman email yang tidak rahasia (dapat dibaca orang) tetapi
ingin dijaga integritasnya, isi dari email atau pesan dapat dilewatkan ke
fungsi hash sehingga menghasilkan message digest dari isi email tersebut.
email. Ketika email diterima, penerima juga menjalankan fungsi hash
terhadap isi email dan kemudian membandingkannya dengan message
digest yang dikirim. Agar lebih aman, verifikasi nilai message digest
penerima tersebut ke pengirim, dimana messae digest dikirim secara
terpisah dengan pesan. Jika email diubah di tengah jalan, maka ke dua
nilai message digest berbeda (Gambar 2.3).
Contoh lain, dalam sistem login user, user terlebih dahulu mengisi
form pendaftaran sebagai legal user (user mengisi username dan
password). Setelah mengisi username dan password sistem akan
mengecek apakah username yang didaftarkan sudah ada yang memiliki
atau belum. Jika sudah ada, maka user diminta mengisi kembali username
yang lain beserta passwordnya. Sedangkan jika bila belum ada, maka data
user ini akan disimpan dalam data base, dengan password yang
terenkirpsi. Proses autentikasi pada sistem login, user yang akan
mengakses sistem diminta memasukkan username dan password (asli).
Setelah memasukkan username dan password sistem akan mencari
password terenkripsi yang tersimpan dalam database berdasarkan
username yang terdaftar, kemudian sistem akan mencocokkan antara
password asli terenkripsi yang diisikan user melalui form login, dengan
password terenkripsi yang tersimpan dalam database. Jika password asli
terenkripsi yang dikirim via form login ini sama dengan password
terenkripsi dalam database, maka user tadi biasa masuk ke dalam sistem.
Namun jika tidak sama, maka user tadi tidak berhak. Begitulah proses
autentifikasi dalam sistem login yang menyatakan user asli atau user
palsu.
Algoritma yang menggunakan metode ini, disebut juga algoritma hash. Algoritmaini menerima input berupa blok pesan M dengan panjang bit yang bervariasi dan menghasilkan output H(M) dengan panjang
tertentu. Jika H adalah fungsi hash satu arah, maka H(M) adalah nilai hash
dari pesan M atau disebut message digest. Menurut Rinaldi Munir (2004),
Algoritma hash harus memiliki 6 sifat fungsi hash satu arah sebagai
1. Fungsi H dapat diterapkan pada blok data berukuran berapa
saja.
2. H menghasilkan nilai (h) dengan panjang tetap (fixedlength
output).
3. H(x) mudah dihitung untuk setiap nilai x yang diberikan.
4. Untuk setiap h yang dihasilkan, tidak mungkin
dikembalikan nilai x sedemikian sehingga H(x) = h. Itulah
sebabnya fungsi H dikatakan fungsi hash satu-arah (oneway
hash function).
5. Untuk setiap x yang diberikan, tidak mungkin mencari y ¹ x
sedemikian sehingga H(y) = H(x).
6. Tidak mungkin mencari pasangan x dan y sedemikian
sehingga H(x) = H(y).
Secara umum, masukan fungsi hash adalah blok pesan (M) dan
keluaran dari hashing blok pesan sebelumnya, hi = H(Mi, hi – 1) skema fungsi hash ditunjukkan pada Gambar 2.4.
Gambar 2.4 Fungsi hash satu arah.
Menurut Merkle (1990) perancangan algoritma hash ini sangat
dipengaruhi oleh fungsi konversinya. Fungsi konversi mengambil sebuah
rangkaian input dan mengubahnya ke dalam sebuah nilai tetap (biasanya
arah dapat juga didefinisikan sebagai operasi berulang dari fungsi kompresi sampai seluruh langkah proses selesai (Gambar 2.5).
Gambar 2.5. Fungsi konversi
2.6 Message Digest 5
Message Digest 5 (MD5) merupakan algoritma hash yang umum
digunakan. Algoritma ini menerima input dari sebuah dokumen dengan
panjang maksimum 264 bit dan dirancang untuk bekerja pada mesin 32 bit.
Prinsip dasar perancangan MD5 diambil dari MD4 yang diciptakan oleh
Ronald L. Rivest, RSA Laboratories, yang mengembangkan algoritma
MD4, menganjurkan untuk memakai algoritma tersebut sejak
diperkenalkannya MD5. Hal tersebut dikarenakan para praktisi kriptografi
(kriptografer) telah menemukan beberapa kelemahan pada MD4 dan
menyimpulkan bahwa algoritma tersebut tidak cukup aman untuk
digunakan. Oleh karena itu diciptakan MD5 yang merupakan perbaikan
dari MD4.
Secara umum, MD5 terdiri dari 4 (empat) langkah proses untuk
menghasilkan message digest, yaitu:
1. Message padding
2. Penambahan panjang bit
3. Inisialisasi buffer
2.6.1 Message padding
Input pesan pada algoritma MD5 akan dibagi menjadi blok-blok yang
masing-masing panjangnya adalah 512 bit. Karena pembagian ini, jumlah
blok terakhir akan lebih kecil atau sama dengan 512 bit. Blok terakhir
tersebut akan mengalami message padding. Langkah-langkah message
padding adalah sebagai berikut:
(1) Diawali dengan masuknya input pesan yang memiliki kode
American Standart Code for Information (ASCII) dan kemudian
diubah ke dalam rangkaian bit. Hitung panjang rangkaian bit (K).
(2) Rangkaian bit tersebut dibagi menjadi blok yang masing-masing
panjangnya 512 bit. Hasil pembagian akan menyebabkan jumlah
blok terakhir lebih kecil atau sama dengan 512 bit.
(3) Lakukan penambahan bit-bit isian (padding) pada blok terakhir dengan beberapa bit “0” sedemikian sehingga total panjang
bit setelah proses tersebut adalah 448 bit.
b) Jika panjang bit pesan asli lebih besar atau sama dengan
448 bit, maka ditambahkan bit “1” pada posisi bit paling akhir, diikuti dengan beberapa bit “0” sedemikian sehingga
total panjang bit setelah proses tersebut 512 bit. Kemudian
membuat 448 bit baru yang isinya “0”.
c) Jika panjang bit pesan asli sama dengan 512 bit, maka harus
dibuat blok baru untuk menampung proses message
bit-bit berikutnya sampai dengan panjang bit 448 diisi oleh
bit “0”. Jumlah total bit isian yang ditambahkan adalah 448
bit.
Sebagai contoh misalkan suatu pesan dengan panjang (dalam bit)
616 bit dinotasikan sebagai K. setelah dibagi ke dalam blok 512 bit,
menjadi blok1=512 bit dan blok2=104 bit. Blok terakhir (blok2) ditambah
dengan bit-bit isian dengan ketentuan message padding, tambahkan “1” pada bit terakhir blok2 dan tambahkan beberapa bit “0” sedemikian
sehingga total panjang bit blok2 setelah proses message padding adalah
448 bit.
2.6.2 Penambahan Panjang Bit
Setelah proses message padding, jumalah bit pada blok terakhir adalah
448 bit. Representasikan K ke dalam bilangan biner untuk memproleh 64
bit terakhir, agar total panjang blok terakhir 512 bit.
a. Pada MD5 urutan byte paling kanan dari representasi K dijadikan
high order (urutan paling kiri).
b. Tambahkan representasi K tersebut pada 448 bit terakhir, sehingga
jumlah panjang blok terakhir adalah 512 bit.
Pada contoh di atas, K=616 bit dan direpresentasikan ke dalam
bilangan biner 16 bit adalah:
00000010 01101000
Nilai ini dijadikan 64 bit sehingga hasilnya:
00000010 00000000 00000000 00000000
00000000 00000000 00000010 01101000
Karena urutannya bit paling kanan dijadikan high order, maka susunan 64
bit terakhir adalah:
01101000 00000000 00000000 00000000
00000000 00000000 00000010 00000010
Tambahkan representasi K ini pada blok terakhir, sehingga panjang
2.6.3 Inisialisasi Buffer
Sebelum proses perhitungan, perlu disisipkan suatu nilai awal atau disebut
juga inisialisasi vektor (IV), yaitu buffer (A, B, C, D) dengan panjang
masing-masing 32 bit. Nilainya dalam notasi heksadesimal adalah:
A: 67452301
B: EFCDAB89
C: 98BADCFE
D: 10325476
Selain digunakan untuk menyimpan nilai awal buffer tersebut juga
akan digunakan untuk penyimpanan nilai sementara hasil perhitungan
MD5.
2.6.4 Memproses 16 subblok 32 bit
Bagian ini merupakan inti dari proses algoritma MD5, yang terdiri dari 4 round, masing-masing roundnya mempunyai 16 operasi. Untuk memproses setiap satu blok pesan 512 bit diperlukan 64 operasi.
a. Untuk setiap round, didefinisikan sebagai berikut:
T[1…64]. Tabel tersebut dihasilkan berdasar fungsi sinus. Notasi
t[i] menunjukkan elemen ke-I dari tabel T[1…64] yang akan
dipergunakan sebagai konstanta 4294967296 = 232 menunjukkan
kemungkinan banyaknya kombinasi bit untuk masing-masing
buffer 32 bit. T[i] = 4294967296 x abs(sin(i)), I dalam satuan
radian atau T[i] = 4294967296 x abs(sin ((ix180)/π)),
π=3.14159265358979323846264338327950288.
c. Blok 512 bit yang akan dinotasikan M1, M2, …, Mn diproses. Untuk
memproses Mi digunakan langkah-langkah sebagai berikut:
i. Bagi Mi ke dalam 16 subblok 32 bit yaitu X[k], 0≤k≤15. Pada
setiap subblok, urutan byte paling kanan dijadikan high order
diikuti oleh byte selanjutnya sampai dengan byte paling kiri
iii. Lakukan proses untuk setiap blok Mi yang terdiri dari 4 round,
yang masing-masing roundnnya terdiri dari 16 operasi, sebagai
berikut:
Notasi [abcd k s i] menunjukkan operasi a=b+((a+F1(B, C,
d. Untuk penyelesaian akhir, tambahkan nilai A, B, C, D dengan
inisialisasi awal atau nilai hash sebelumnya. A=A+AA, B=B+BB,
C=C+CC, D=D+DD.
Secara umum, satu langkah operasi pada MD5, didefinisikan
dengan mengoperasikan fungsi terhadap 3 buffer (B, C, D). Hasilnya
ditambahkan dengan dengan X [k], T[i] dan kemudian mengalami
pergeseran sebanyak s bit.
2.6.5 Output
Output diperoleh setelah semua blok 512 bit diproses. Blok terakhir
menghasilkan output (message digest) dari pesan tersebut, yaitu nilai dari
buffer A, B, C dan D.
Panjang message digestnya adalah 128 bit. Masing-masing
buffernya terdiri dari 32 bit. Pada setiap buffer A, B, C, D urutan byte
paling kanan dijadikan high order diikuti oleh byte selanjutnya hingga
byte paling kiri. Representasikan masing-masing buffer tersebut ke dalam
BAB 3
PEMBAHASAN
3.1 Autentikasi
Autentikasi adalah jaminan dari suatu pesan yang belum dimodifikasi di
dalam pengiriman (keaslian pesan atau integritas pesan). Autentikasi juga
merupakan kunci yang membuktikan keaslian untuk kunci publik,
pemakai, atau identifikasi sumber yang boleh memverifikasi hak untuk
mengirimkan pesan. Penerima pesan dapat memastikan keaslian
pengirimnya. Pengiriman pesan juga merupakan suatu proses dalam
rangka validasi user saat masuk ke dalam sistem.
3.1.1 Autentikasi Pesan
Banyak pemikiran orang, privasi adalah yang paling tepat dengan
kriptografi. Autentikaasi bisa dikatakan yang lebih penting, terutama
ketika menerima pesan lewat internet. Autentikasi pesan penting untuk
menyakinkan penerima pesan, memastikan pesan yang dikirim sama
dengan pesan yang diterima tanpa berkurangnya isi pesan atau lebih
(modifikasi). Modifikasi pesan bisa merugikan pihak pengirim dan
pihak penerima pesan. Pengirim dan penerima pesan dapat yakin bahwa
pesan masih otentik, otentiknya pesan bisa menggunakan algoritma
MD5, di mana hasil dari enkripsi MD5 yang akan dibandingkan
Proses autentikasi dapat dilihat seperti Gambar 3.7 di mana pesan
dinyatakan asli atau tidak dengan membandingkan message digest
pesannya. Message digestnya dikirim secara terpisah baik melalui
media Internet atau media lain seperti sms, telpon, fax dan lain-lain.
Pengiriman message digest yang terpisah lebih aman dibandingkan
secara bersamaan, karena message digest pesan yang menentukan pesan
otentik atau telah dimodifikasi.
Gambar 3.7. Proses autentikasi pesan.
3.2 Autentikasi Pesan Dengan MD5
Autentikasi pesan dengan MD5 akan meyakinkan penerima pesan dengan
membandingkan messagedigestnya. Jika hasil messagedigest sama, maka
pesan dinyatakan otentik dan jika messagedigest tidak sama, maka pesan
telah dimodifikasi. Contoh proses keseluruhan algoritma MD5 hingga
dihasilkan message digest dapat dilihat pada lampiran.
Proses enkripsi pesan “abc” dengan algoritma MD5 menggunakan
Gambar 3.8 Proses enkripsi MD5.
3.2.1 Pengujian Autentikasi Pesan Dengan MD5
Perubahan satu karakter pada pesan sangat mempengaruhi nilai hash
pesan. Jelas terlihat pada hasil enkripsi pesan, di mana di awal kata
Gambar 3.9 Perubahan 1 karakter huruf pada pesan.
Jelas perubahan satu karakter pada pesan membedakan nilai hash
dari ke 2 (dua) pesan. Perubahan satu (1) karakter pada pesan saja jelas
terlihat perbedaan nilai hash dari pesan seperti Gambar 3.9.
Dari nilai hash pesan, bisa dinyatakan pesan masih otentik atau
telah dimodifikasi orang. Penambahan 1 (satu) spasi saja jelas terlihat
perbedaan nilai hash dari pesan seperti Gambar 3.10.
3.3 Autentikasi Pesan Dengan Menambahkan Key
Autentikasi pesan dengan menambahkan key lebih meyakinkan pengirim
pesan dan penerima pesan. Pengirim dan penerima pesan yakin pesan lebih
aman dengan menambahkan key pada pesan di mana key pesan tersebut
hanya diketahui pengirim dan penerima. Penambahan key yang hanya
diketahui pengirim dan penerima lebih menjamin autentikasi pesan, pesan
telah dimodifikasi atau belum. Supaya pesan aman key yang di buat
berbentuk karakter dan dikirim secara terpisah. Penggunaan karakter ini
disebut sebagai message integrity, di mana cara pengunaannya adalah
sebelum dilakukannya hash, terlebih dahulu menggabungkan pesannya
dengan karakter rahasia tersebut. Contoh proses autentikasi pesan dengan
isi pesan „Assalamualaikum Ban‟ tanpa key (Gambar 3.11) dan isi pesan
ditambahkan keyjadi „Assalamualaikum Ban1234‟ (Gambar 3.12).
Gambar 3.12. Enkripsi MD5 dengan key.
3.3.1 Pengujiaan Autentikasi Pesan Dengan Key
Pesan yang akan dikirim lewat email lebih aman kalau memiliki key yang
hanya diketahui pengirim dan penerima pesan. Pengirim dan penerima
pesan lebih mudah mengetahui pesan otentik atu telah dimodifikasi dan
lebih aman, karena penyusup tidak tahu key pesannya. Misalkan key pesan
yang akan dikirim @#$%^&*)(*& dan pesannya seperti Gambar 3.13.
Penyusup berhasil memodifikasi pesan seperti Gambar 3.14 dan
mengirimkan nilai hashnya juga. Apakah itu bisa diyakini pesan otentik,
Gambar 3.13 Contoh pesan asli.
Gambar 3.14 Pesan telah dimodifikasi.
Hasil enkripsi pesan yang telah dimodifikasi tanpa key hash
memang sama dengan nilai hash yang dikirim namun dibandingkan
dengan memasukkan key hash nampak jelas bahwa nilai hashnya beda dan
3.4 Autentikasi Pesan Berbentuk File
Dalam autentikasi pesan berbentuk file, MD5 mampu mendeteksi keaslian
dari suatu file. Perubahan dari suatu file meskipun sangat kecil dapat
dideteksi oleh MD5. Kelebihan MD5 terletak pada fungsi satu arahnya.
Nilai MD5 yang dihasilkan tidak dapat dikembalikan ke bentuk nilai
semula. Berbeda dengan enkripsi yang menggunakan kunci private dan
kunci publik, di mana jika kunci publik dapat didekripsi, maka dapat
diperoleh kunci private yang bisa membuka kunci keamanan.
Untuk membuat program autentikasi pesan berbentuk file MD5
beserta struktur navigasinya, dibutuhkan gambaran flowchart yang jelas.
Flowchart program yang berhubungan langsung dengan proses autentikasi
pesan berbentuk file dan generate MD5 hash secara garis besar. Berikut
adalah diagram alur secara umum dari program autentikasi pesan
berbentuk file dengan MD5 ini (Gambar 3.11).
Gambar 3.15 Diagram alur autentikasi pesan berbentuk file dengan
Untuk autentikasi suatu file yang telah diterima atau file yang
didownload dari Internet dibutuhkan nilai hash MD5 dari file tersebut.
Nilai hash ini menjamin keaslian dari file. Nilai hash ini biasanya
disertakan pada pengiriman pesan dan untuk file download biasanya ada
pada sumber dimana file tersebut didownload. Program aplikasi akan
menghitung nilai hash dari file yang telah didownload dan dicocokkan
dengan nilai hashnya. Jika sama, maka file tersebut merupakan file yang
asli. Jika nilai hash dari file yang telah didownload dan dicocokkan dengan
nilai hashnya tidak sama, maka pesan tidak otentik. Pesan tidak otentik
atau terdapat perubahan pada file yang bisa disebabkan beberapa hal antara
lain virus komputer, adanya pengubahan isi dari file yang dilakukan
penyusup atau untuk yang download file saat proses download
,downloadnya tidak sempurna (corrupt).
Untuk autentikasi pesan file message digestnya dikirim secara
terpisah bukan secara bersamaan. Message digest yang dikirim secara
terpisah lebih menjamin untuk autentikasi sebuah pesan. Proses autentikasi
sebuah pesan diasumsikan bahwa pengiriman message digest yang
terpisah dijamin lebih aman, sedangkan pengiriman message digest secara
bersamaan, kemungkinan lebih banyak peluang bagi penyusup untuk
mendapatkan pesan dan dapat memodifikasi pesan lalu mengirim pesan
3.4.1 Menu Utama
Menu utama terdiri dari satu form utama dengan beberapa menu tab.
Gambar 3.16 Menu Utama
Menu utama seperti pada Gambar 3.16 dibuat agar mudah untuk
digunakan, form ini terdiri dari beberapa menu yang dapat diakses secara
langsung sesuai dengan fungsinya masing-masing.
Pada form utama disediakan empat menu dalam bentuk tab dan
masing-masing menu memiliki fungsi dan informasi yang berbeda sesuai
dengan keinginan pengguna (user).
Berikut keterangan dari menu yang terdapat pada tab menu:
a. Menu Autentikasi File
Menu ini mempunyai fungsi untuk melakukan pemeriksaan
keaslian (autentikasi) dari suatu file yang dicocokkan dengan kode
MD5-nya. Dari menu ini akan diketahui apakah file yang telah
diterima dari sipengirim pesan masih utuh (otentik) dan file yang
didownload dari internet apakah masih utuh tanpa ada sedikit pun
perubahan.
b. Menu Generate MD5
Menu ini mempunyai fungsi untuk membangkitkan kode MD5 dari
suatu file. File ini nantinya bisa diunggah (upload) beserta kode
MD5 yang dihasilkan untuk disebarkan melalui Internet. File yang
diterima atau yang akan dikirim melalui pengiriman email baiknya
dikirim secara terpisah file dengan message digestnya yang akan
dikirim.
c. Menu Bantuan
Menu ini berisi informasi singkat penggunaan dari menu
autentikasi file dan generate MD5.
d. Menu Tentang Program
Menu ini berisi informasi tentang pembuat program serta
spesifikasi hardware dan software komputer yang digunakan
dalam membuat program.
3.5 Cara Kerja Program Autentikasi Pesan
3.5.1 Pemilihan File
File yang dipilih adalah file yang ingin diautentikasi keasliannya atau file
yang ingin diperoleh kode MD5-nya. Format dan besar file tidak dibatasi
sesuai dengan file yang ingin diproses. Pemilihan file seperti tampak pada
Gambar 3.18 Pemilihan file.
File yang dipilih merupakan file yang akan diverifikasi
keasliannya. Format dan ukuran file tidak terbatas tergantung file yang
akan dipilih dan kode MD5 yang tersedia.
Gambar 3.19 File yang telah dipilih.
File yang telah dipilih siap untuk diverifikasi keasliannya apakah
pesan masih otentik atau telah dimodifikasi. Proses berikutnya adalah
memilih kode MD5 untuk kemudian dicocokkan dengan file yang telah
3.5.2 Pemilihan kode MD5
Kode MD5 dapat dipilih dengan melakukan klik pada tombol Hash MD5.
Gambar 3.20 Pemilihan kode MD5
Kode MD5 berasal dari pengiriman pesan berbentuk file yang
dikirim secara terpisah kode hashnya dengan fileyang telah dibangkitkan
kode MD5-nya. Beberapa pengirim pesan ada yang memberikan kode
MD5 dalam format text (.txt) dan bentuk file md5 (.md5) dan mengirim
secara terpisah kode MD5 melalui pesan singkat (SMS), melalui email dan
Gambar 3.21 File dan kode MD5 yang telah dipilih.
File yang telah dipilih diproses dengan algoritma MD5 dan
kemudian dicocokkan dengan kode MD5 yang telah dipilih. Proses
autentikasi ini dilakukan setelah tombol autentikasi dipilih.
3.5.3 Generate (membangkitkan) kode MD5
Setiap file dapat dibangkitkan kode MD5-nya. Kegunaan dari generate
kode MD5 ini adalah untuk menjaga keaslian dari file yang akan
dikirimkan melalui Email atau yang akan diunggah (upload) ke suatu
Gambar 3.22 Pemilihan file yang akan di-generate kode MD5-nya
File yang dipilih untuk di-generate kode MD5 nya tidak memiliki
batasan dalam format file dan juga ukuran file yang telah dipilih kemudian
dapat dibangkitkan kode MD5-nya dengan memilih tombol Bangkitkan
MD5. Tombol tersebut kemudian melakukan proses penghitungan nilai
MD5 dari file yang telah dipilih.
Gambar 3.24 Penyimpanan kode MD5 yang di-generate.
Kode MD5 yang telah diperoleh dapat disimpan menjadi file
dengan format file MD5 (.md5). Kode MD5 dikirim melalui email secara
terpisah dengan file untuk menjamin keaslian pesan. Kode Md5 dapat
disimpan pada suatu database dipisahkan dari tempat file yang diunggah
(upload) atau ditampilkan langsung pada halaman website untuk yang
memberikan layanan download.
3.6 Pengujian Autentikasi Pesan Berbentuk File
Pengujian ini untuk menguji aplikasi dalam Autentikasi file di mana file
Gambar 3.25 Autentikasi file yang diterima bentuk zip.
Dari Gambar dapat dilihat bahwa autentikasi terhadap file yang
sebelumnya telah dikirim dari sipengirim pesan dengan kode MD5 yang
diberikan berhasil dilakukan. Ini berarti file yang telah diterima tersebut
tidak mengalami kerusakan atau perubahan.
Pengujian berikutnya adalah untuk menguji dua pesan yang sama
isi, tetapi bentuk file yang berbeda, satu berbentuk pdf, dan satu lagi
berbentuk doc di mana sangat sensitifitas dari perubahan bentuk file.
Proses ini membandingkan dua buah file yang sama dengan perubahan
format. Gambar 3.26 menunjukkan file yang masih asli dengan hash MD5
yang telah dibangkitkan:
Pada percobaan pertama dilakukan pengujian dengan
membangkitkan MD5 file bentuk pdf. Gambar 3.27 adalah pembangkitan
MD5 file bentuk doc. Ke dua pesan sama isinya namun hasil MD5 yang
dibangkitkan berbeda.
Gambar 3.27 Pembangkitan file berbentuk doc.
Dari dua file yang isinya sama dengan perubahan bentuk format
yang berbeda di mana pada file yang pertama berbentuk pdf dan file yang
ke dua berbentuk doc, diperoleh kode MD5 yang berbeda. Message digest
yang dihasilkan adalah:
File pdf: Message Digest 1 = 6701c83a731e6aecb976ff7e6a4b83f6
File doc: Message Digest 2 = 2f6072c4cb4b6a536c6a8d0abe926920
Autentikasi: Message Digest 1 ≠ Message Digest 2
Setiap pesan yang berbeda akan menghasilkan message digest yang
berbeda. Message digest yang berbeda menunjukkan fungsi hash satu arah
BAB 4
KESIMPULAN DAN SARAN
4.1 Kesimpulan
Berdasarkan hasil pengujian dan pembahasan, dapat disimpulkan
beberapa hal tentang autentikasi pesan dengan menggunakan algoritma
MD5, yaitu:
1. MD5 dapat menghasilkan dari sebuah pesan message digest atau
ringkasan kecil yang unik untuk menjaga keutuhan dari pesan yang
dikirimkan. Setiap pesan yang berbeda akan menghasilkan message
digest yang berbeda pula sehingga dapat diketahui sebuah pesan
telah dimodifikasi atau belum dimodifikasi dengan membandingkan
message digestnya.
2. Autentikasi pesan berbentuk text atau bentuk file dengan algoritma
MD5 sangat sensitive terhadap perubahan isi pesan walaupun
perubahan tersebut sangat kecil. Perubahan dapat terdiri dari
penghapusan, penggantian atau penambahan dari isi suatu pesan atau
file.
4.2 Saran
Untuk pengembangan autentikasi pesan dengan menggunakan algoritma
MD5 ini ada beberapa saran yang dapat penulis berikan, di antaranya:
1. Sebaiknya algoritma MD5 dikombinasikan dengan metode lainnya
untuk lebih memperkuat autentikasi pesan yang menyatakan pesan
otentik atau telah dimodifikasi dan untuk menjaga integritas file
dengan menggabungkan algoritma lain, misalnya: DES untuk Tanda
Tangan Digital dan Aplikasi PGP (Pretty Good Privacy).
2. Seharusnya MD5 ini dapat dikembangkan ke dalam bentuk lain yang
dapat bermanfaat bagi keamanan data dan mengimplementasikan ke
DAFTAR PUSTAKA
Kurniawan, Yusuf. 2004. Kriptografi Keamanan Internet Dan Jaringan Komunikasi. Bandung: Informatika Bandung.
Thomas, Tom. 2005. Network Security First-Step. Terjemahan: Tim Penerjemah Andi]. Yogyakarta: Andi.
Munir, Rinaldi. 2006. Kriptografi. Bandung: Informatika Bandung.
Menezes, A, VanOorschot, P, Vanstone, S. 1996. Handbook of Applied Cryptography. CRC Press, Inc.
Schneier, Bruce. 1996. Applied Cryptography, Second Edition: Protocols, Algorithms, and Source Code in C (cloth). John Wiley & Sons, Inc.
Merkle, R.C, 1990. One way hash functions and DES. Springer-Verlag. Berlin.
Rhee, Man Young. 1994. Cryptography and Secure Communications. McGraw-Hill.
Prasetiya, Miranti. 2001. Perbandingan Algoritma Message Digest 5 (MD5) Dan Secure Hash Algorithm (SHA1) untuk autentikasi Pesan. Skripsi. Bogor. Institut Pertanian Bogor.
Jaya, Ivan. 2010. Verifikasi Integritas Data Yang Diunduh Dari Internet Dengan Menggunakan Message Digest 5 (MD5). Skripsi. Medan. Universitas Sumatera Utara.
Ariyus, Dony. 2008. Pengantar Ilmu Kriptografi. Yogyakarta: Andi offset.