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