29
2.8. Tanda Tangan Digital Digital Signature
Tanda tangan digital digital signature adalah mekanisme otentikasi yang mengijinkan pemilik pesan membubuhkan sebuah sandi pada pesannya yang
bertindak sebagai tanda tangan. Tanda tangan dibentuk dengan mengambil nilai hash dari pesan dan mengenkripsi nilai hash pesan tersebut dengan kunci privat pemilik
pesan. Jika dalam proses pengiriman pesan saluran komunikasi yang digunakan sudah
aman dan kunci hanya diketahui oleh pihak yang berhak, sekarang masalahnya siapa yang menjamin bahwa pesan yang dikirim memang berasal dari orang yang berhak.
Atau bagaimana meyakinkan pihak yang akan menerima kiriman data bahwa memang benar-benar berasal dari pengirim aslinya. Untuk mengatasi validitas pengiriman
tersebutlah digunakan teknologi tanda tangan digital. Tanda tangan digital berfungsi untuk melakukan validasi terhadap setiap data
yang dikirim. Dalam pengiriman data, walaupun saluran komunikasi yang digunakan sudah sangat aman, tentu saja perlu diperhatikan validitasnya. Validitas tersebut
berkaitan dengan pertanyaan apakah data yang sampai ke penerima dalam keadaan utuh dengan aslinya saat dikirim tanpa sedikitpun adanya gangguan-gangguan dari
pihak lain. Teknik yang umum digunakan untuk membentuk tanda-tangan digital adalah dengan fungsi hash dan melibatkan algoritma kriptografi kunci-publik Munir,
2004. Fungsi tersebut akan menghasilkan sebuah kombinasi karakter yang unik yang disebut dengan message digest.
Keunikannya adalah jika di tengah perjalanan data mengalami modifikasi, penghapusan maupun di sadap diam-diam oleh hacker walaupun hanya 1 karakter
saja, maka message digest yang berada si penerima akan berbeda dengan yang dikirimkan pada awalnya. Keunikan lainnya adalah message digest tersebut tidak bisa
dikembalikan lagi ke dalam bentuk awal seperti sebelum disentuh dengan fungsi algoritma, sehingga disebutlah sebagai one-way hash. Berikut skema proses tanda
tangan digital dapat dilihat pada gambar 2.9.
Universitas Sumatera Utara
30
Gambar 2.9 Skema proses tanda tangan digital Munir, 2005
Mekanisme kerja untuk menghasilkan tanda tangan digital tersebut adalah sebagai berikut:
1. Proses hashing algorithm akan mengambil nilai hash dari pesan yang akan
dikirim dan menghasilkan message digest. Kemudian message digest tersebut dienkripsi mengunakan kunci privat dan menghasilkan tanda tangan digital.
2. Kemudian tanda tangan digital tersebut dikirimkan bersama isi pesan tersebut.
3. Sesampainya di penerima, akan dilakukan proses hashing algorithm terhadap
pesan tersebut seperti yang dilakukan saat pengiriman. Dari proses tersebut menghasilkan message digest
sekunder MD‟. 4.
Secara paralel digital signature yang diterima tadi langsung didekripsi oleh kunci publik. Hasil dekripsi tersebut akan memunculkan message digest yang
serupa seperti message digest sebelum dienkripsi oleh pengirim pesan. Message digest disebut message digest primer MD.
5. Proses selanjutnya adalah membandingkan message digest primer dengan
message digest sekunder. Jika saja saat diperjalanan ada hacker yang mengubah isi pesan, maka message digest sekunder akan berbeda dengan
Universitas Sumatera Utara
31
message digest primer. Segera mekanisme tanda tangan digital tersebut akan menyampaikan peringatan bahwa telah terjadi pengubahan isi pesan.
SHA-1 menerima masukkan berupa pesan dengan ukuran maksimum adalah 264-bit dan menghasilkan message digest yang panjangnya 160 bit, lebih panjang dari
yang dihasilkan oleh MD5 yaitu 128-bit. Langkah-langkah proses SHA-1 secara garis besar adalah sebagai berikut :
1. Penambahan bit-bit pengganjal padding bits
2. Penambahan nilai panjang pesan semula
3. Inisialisasi penyangga buffer MD
4. Pengelolaan pesan dalam blok berukuran 512 bit.
Mula-mula pesan diberi tambahan untuk membuat panjangnya menjadi kelipatan 512-bit L x 512. Jumlah bit data asal adalah K bit. Tambahkan bit
„1‟ kemudian tambahkan bit
„0‟ secukupnya sampai 64-bit kurangnya dari kelipatan 512 512 - 64 = 448, yang disebut juga sebagai kongruen dengan 448 mod 512.
Akhirnya tambahkan 64-bit yang menyatakan panjang pesan sebelum diberi tambahan. Pesan dibagi-bagi menjadi blok-blok berukuran 512-bit dan setiap blok
diolah. Keluaran setiap blok digabungkan dengan keluaran blok berikutnya. Sehingga akhirnya diperoleh digest. Pengubahan satu huruf dapat menghasilkan cipher yang
jauh berbeda.
Contoh enkripsi SHA: Plaintext
: “I heard you crying loud all the way accross the town” Ciphertext : eaeb1b86f6e41c1b40d7c288f6d7fbff3f948a6e
Menghilangkan huruf “d” pada kata “heard” Plaintext
: “I hear you crying loud all the way accross the town” akan menghasilkan:
Ciphertext : d9aee3365c0ef380f4021fd618b4d4ea3ad9e5a4 Dari hasil ciphertext terakhir yang diperoleh terdapat perbedaan yang berarti pesan
sudah diubah.
Universitas Sumatera Utara
32
2.9. Penelitian Terdahulu