Autentikasi Pesan Menggunakan Algoritma Message Digest 5 (MD5)

(1)

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


(2)

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

MEDAN 2012


(3)

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 UTARA

Diluluskan di Medan, Juli 2012

Komisi Pembimbing:

Pembimbing II Pembimbing I

Drs. Marwan Harahap, M.Eng Drs. Bambang Irawan, M.Sc

NIP 19461225 197403 1 001 NIP 19470421 197603 1 001

Diketahui Oleh:

Departemen Matematika FMIPA USU Ketua,

Prof. Dr. Tulus, M.Si


(4)

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

Ali Makmur Simamora 100823024


(5)

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.

Ucapan terima kasih penulis sampaikan kepada abang Andi harahap, M. Gudi, Ivan, Tesar, Azi, Bayu, Mimin serta teman-teman kuliah ekstensi matematika stambuk 2010 yaitu: Alamsyah, Andi, Hasnan, Ika, Listia, Muhajir, Way atas kerjasama dan bantuannya. Khusus untuk Amita Risky tercinta penulis sampaikan rasa terima kasih yang setulus-tulusnya atas segala pengertian, dorongan semangatnya. Semoga Allah subahanahu wata‟ala akan membalas-Nya dan mudah-mudahan karya ilmiah ini berguna bagi yang memerlukan.


(6)

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.


(7)

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.


(8)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abtract vi

Daftar Isi vii

Daftar Gambar ix

BAB 1. PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Perumusan Masalah 3

1.3 Batasan Masalah 3

1.3 Tujuan Penelitian 4

1.4 Kontribusi Penelitian 4

1.5 Metode Penelitian 4

1.6 Sistematika Penulisan 5

BAB 2. LANDASAN TEORI 6

2.1 Pengertian Kriptografi 6

2.1.1 Tujuan Kriptografi 7

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

2.5 Fungsi Hash Satu Arah (one way hash fungction) 11

2.6 Message Digest 5 15

2.6.1 Message padding 16

2.6.2 penambahan panjang bit 17

2.6.3 Inisialisasi Buffer 18

2.6.4 Memproses 16 subblok 32 bit 18

2.6.5 Output 21

BAB 3. PEMBAHASAN 22

3.1.Autentikasi 22

3.1.1. Autentikasi Pesan 22

3.2.Autentikasi Pesan Dengan MD5 23

3.2.1 Pengujian Autentikasi Pesan Dengan MD5 24

3.3 Autentikasi Pesan Dengan Menambahkan Key 26


(9)

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


(10)

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


(11)

(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


(12)

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.


(13)

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.


(14)

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 tidak diubah oleh orang yang tidak berhak mengubahnya. Cabang bank


(15)

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 mana terdapat suatu karakter yang akan diberikan oleh pengguna ke server dan server mengenalinya yang banyak digunakan pada sistem login.

Sistem login banyak dipakai dalam semua sistem atau aplikasi yang digunakan untuk masuk ke dalam aplikasi program. Aplikasi program yang menggunakan sistem login salah satunya login sebagai 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 untuk menjaga keamanan isi pesan yang dikirim melalui jaringan


(16)

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:

1. Metode yang digunakan menggunakan algoritma Message Digest 5 (MD5).


(17)

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


(18)

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 lebih lanjut terhadap skripsi ini.


(19)

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 mengakses dengan mengasumsikan bahwa individu telah diautentikasi


(20)

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 terbuka.


(21)

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 publik) (Munir, 2006).


(22)

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 dengan kunci yang digunakan untuk dekripsi. Kunci dekripsi tidak dapat


(23)

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


(24)

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 mendapatkan dua pesan yang memiliki hash yang sama. Tidak ada


(25)

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. Output atau message digest dari fungsi hash ini dapat disertakan dalam


(26)

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 berikut:


(27)

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 keluaran lebih pendek) sebagai outputnya. Sedangkan, fungsi hash satu


(28)

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


(29)

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 pesan tersebut. Bit-bit yang digunakan sebagai bit isian adalah bit

„1‟ diikuti sejumlah bit „0‟ sesuai dengan kebutuhan, dengan ketentuan sebagai berikut:

a) Jika panjang bit pesan asli lebih kecil dari 448 bit, maka

ditambahkan bit “1” pada posisi bit paling akhir, diikuti 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 padding. Bit pertama dari blok baru diisi bit “1”, sedangkan


(30)

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 totalnya 512 bit.


(31)

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.


(32)

a. Untuk setiap round, didefinisikan sebagai berikut: F(B, C, D) = (B AND C) OR (NOT(B)) AND D G(B, C, D) = (B AND D) OR C AND (NOT(D)) H(B, C, D) = B XOR C XOR D

I(B, C, D ) = C XOR (B OR NOT (D))

b. Diperlukan tabel berdimensi satu yang terdiri dari 64 elemen

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 dijadikan low order.

ii. Simpan nilai A, B, C, D ke AA, BB, CC, DD sebagai inisialisasi awal. Selanjutnya, buffer A, B, C, D digunakan untuk penyimpanan nilai sementara yaitu: AA = A, BB = B, CC = C, DD = D.

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,


(33)

merupakan notasi dari 16 subblok 32 bit, T[i] adalah konstanta tambahan dan <<<s merupakan operasi pergeseran bit ke kiri sebanyak s bit.

/* Round 1.*/

/* Notasi [abcd k s i] menunjukkan operasi a= b + ((a + F(b,c,d) + X[k] + T[i] <<<s). */

/* Lakukan 16 operasi berikut.*/

[ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3 22 4] [ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7 22 8] [ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11 22 12] [ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15] [BCDA 15 22 16]

/* Round 2.*/

/* Notasi [abcd k s i] menunjukkan operasi a= b + ((a + G(b,c,d) + X[k] + T[i] <<<s). */

[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]

/* Round 3.*/

/* Notasi [abcd k s i] menunjukkan operasi a= b + ((a + H(b,c,d) + X[k] + T[i] <<<s). */

[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]

/* Round 4.*/

/* Notasi [abcd k s i] menunjukkan operasi a= b + ((a + I(b,c,d) + X[k] + T[i] <<<s). */

[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]


(34)

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 8 digit heksadesimal.


(35)

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 message digestnya.


(36)

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


(37)

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


(38)

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.


(39)

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).


(40)

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, belum tentu otentik kalau pesan memiliki key.


(41)

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 pesan dinyatakan telah dimodifikasi.


(42)

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 MD5.


(43)

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 palsu untuk penerima.


(44)

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).


(45)

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.


(46)

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 dipilih.


(47)

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 lain sebagainya.


(48)

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 database.


(49)

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.


(50)

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 dan kode MD5 telah diterima sebelumnya dari pengirim pesan.


(51)

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:


(52)

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 pada algoritma MD5.


(53)

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.

3. Autentikasi pesan bentuk file, walaupun isi pesan sama namun format pesan beda, nilai hashnya juga akan berbeda di mana nilai hash pesan 1 tidak sama dengan nilai hash pesan 2.

4. Proses autentikasi pesan untuk file yang di enkripsi merupakan struktur data dari file dengan kata lain satu perubahan bit pada struktur data, file akan dinyatakan tidak asli.


(54)

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 dalam bahasa pemograman yang lain sesuai kebutuhan.


(55)

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.

Ariyus, Dony. 2006. Kriptografi Keamanan Data dan Komunikasi. Yogyakarta: Graha Ilmu.


(1)

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 dan kode MD5 telah diterima sebelumnya dari pengirim pesan.


(2)

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:


(3)

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 pada algoritma MD5.


(4)

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.

3. Autentikasi pesan bentuk file, walaupun isi pesan sama namun format pesan beda, nilai hashnya juga akan berbeda di mana nilai hash pesan 1 tidak sama dengan nilai hash pesan 2.

4. Proses autentikasi pesan untuk file yang di enkripsi merupakan struktur data dari file dengan kata lain satu perubahan bit pada struktur data, file akan dinyatakan tidak asli.


(5)

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 dalam bahasa pemograman yang lain sesuai kebutuhan.


(6)

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.

Ariyus, Dony. 2006. Kriptografi Keamanan Data dan Komunikasi. Yogyakarta: Graha Ilmu.