Fungsi Hash Sistem Tanda Tangan Digital Pada Pesan Teks Menggunakan Algoritma Kriptografi Kunci Publik Rsa

17 c. Non-repudiation Layanan keamanan yang juga disediakan oleh sistem tanda tangan digital adalah non- repudiation. Layanan non-repudiation membuat penolakan terhadap pesan yang telah ditandatangani menjadi tidak mungkin. Misalnya Alice menolak kalau ia telah menandatangi sebuah dokumen yang sebenarnya ditandatangani oleh Alice. Bob dapat membuktikan bahwa Alice pernah menandatangani dokumen tersebut. Untuk mewujudkan layanan non-repudiation diperlukan pihak ketiga yang terpercaya. Pihak ketiga ini berperan sebagai perantara antara Alice dan Bob. Pada awalnya Alice menandatangani dokumen M dengan kunci privat Alice dan mendapatkan tanda tangan . Kemudian alice mengirim pasangan M, ke pihak ketiga. Pihak ketiga memverifikasi M, dengan kunci publik alice dan menyimpan salinan M, rho. Pihak ketiga menandatangani M dengan kunci privat pihak ketiga dan mendapatkan ’. Pihak ketiga mengirimkan M, rho’ ke Bob. Bob memverifikasi M, rho’ dengan kunci publik pihak ketiga. Jika pada waktu yang akan datang Alice menolak telah menandatangani M, pihak ketiga memiliki salinan M, .

2.6. Fungsi Hash

Fungsi hash adalah fungsi yang masukannya adalah sebuah pesan dan keluarannya sebuah sidik pesan atau message fingerprint Sadikin, 2012. Sidik pesan sering juga disebut message digest. Fungsi hash dapat menerima masukan string apa saja. Jika string menyatakan pesan message, maka sembarang pesan M berukuran bebas dikompresi oleh fungsi hash H melalui persamaan: h = HM Pada persamaan h, nilai hash atau message digest dari fungsi H untuk masukan M. Dengan kata lain, fungsi hash mengkompresi sembarang pesan yang berukuran berapa saja menjadi message digest yang ukurannya selalu tetap dan lebih pendek dari panjang pesan semula. Nama lain fungsi hash adalah: 1. Fungsi kompresikontraksi compression function Universitas Sumatera Utara Universitas Sumatera Utara 19 Fungsi hash adalah publik tidak dirahasiakan, dan keamanannya terletak pada sifat satu arahnya. Contoh fungsi hash adalah MD, MD2, MD4, MD5, Secure Hash Function SHA, Snefru, N-hash, RIPE-MD dan lain-lain. Fungsi hash yang banyak dipakai di dalam aplikasi kriptografi adalah MD5 dan SHA. Algoritma MD4 Message Diggest 4 merupakan salah satu seri algoritma Message Diggest yang dibuat oleh Ronald Rivest pada tahun 1990. Proses MD4 terdiri atas 3 buah putaran dengan masing-masing putaran terdiri atas 16 buah operasi dasar Nugraha, 2010. Pada tahun 1991, MD4 sudah tidak aman karena ada pihak lain yang melakukan serangan terhadap putaran round terakhir pada operasi MD4. Kolisi pada MD4 ditemukan pada tahun 1995 oleh Hans Dobertin Nugraha, 2010. Kolisi merupakan kondisi dimana terdapat dua masukan string yang berbeda, namun memiliki message diggest keluaran fungsi hash yang sama Widanarto, 2005. Dia dapat menemukan dokumen atau file tertentu dengan message diggest yang sama hanya dalam hitungan detik. Pada tahun 2008, resistance atau tingkat keamanan MD4 benar-benar dipatahkan. Sejak saat itu algoritma MD4 sangat tidak aman digunakan. Setelah diketahui kelemahan MD4, dibuatlah versi terbaru Message Diggest, yaitu MD5. Namun pada tahun 2009, resistance dari MD5 berhasil dipatahkan, sehingga MD5 pun sudah dianggap sangat tidak aman untuk digunakan. Algoritma MD6 merupakan algoritma MD terbaru yang dibuat oleh Ronald Rivest dan kawan-kawan pada tahun 2008. Algoritma ini merupakan perbaikan dari MD5. Namun karena cenderung masih baru, belum ada penelitian yang lengkap tentang keamanan dari algoritma ini dan apakah terdapat kolisi atau tidak. 2.6.2. Algoritma MD5 MD5 adalah fungsi hash satu-arah yang dibuat oleh Ron Rivest. MD5 merupakan perbaikan dari MD4 setelah MD4 berhasil diserang oleh kriptanalis. Algoritma MD5 menerima masukan berupa pesan dengan ukuran sembarang dan menghasilkan message digest yang panjangnya 128 bit. Universitas Sumatera Utara Universitas Sumatera Utara 21 1. Terletak pada jumlah putaran round yang dilakukan untuk setiap operasi. Pada MD4 hanya operasi hanya dilakukan sebanyak 3 putaran, sedangkan pada MD5 diperbaiki menjadi 4 putaran. 2. Untuk setiap putaran ditambahkan sebuah konstanta baru yang unik untuk diprosesdioperasikan bersama-sama dengan string yang sudah ada. Hal ini tidak ada pada MD4 yang tetap memakai variabel yang sudah ada. 3. Fungsi g pada putaran kedua. Fungsi g pada MD4 adalah XY v XZ v YZ sedangkan pada MD5 adalah XZ v Y notZ. 4. Pada MD5, hasil dari suatu putaran merupakan penambahan dari hasil putaran sebelumnya, sehingga menambah kompleksitas algoritma. 5. Urutan operasi pada MD4 sedikit diubah pada MD5 untuk meniadakan pola yang terjadi sehingga terkesan acak dan menambah keamanan.

2.7. Bilangan Prima