• Tidak ada hasil yang ditemukan

Aplikasi Otentikasi Dokumen Menggunakan Algoritma Gost Digital Signature

N/A
N/A
Protected

Academic year: 2016

Membagikan "Aplikasi Otentikasi Dokumen Menggunakan Algoritma Gost Digital Signature"

Copied!
63
0
0

Teks penuh

(1)

APLIKASI OTENTIKASI DOKUMEN MENGGUNAKAN

ALGORITMA GOST DIGITAL SIGNATURE

SKRIPSI

ASMAYUNITA

091402085

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

(2)

APLIKASI OTENTIKASI DOKUMEN MENGGUNAKAN

ALGORITMA GOST DIGITAL SIGNATURE

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

ASMAYUNITA 091402085

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : APLIKASI OTENTIKASI DOKUMEN

MENGGUNAKAN ALGORITMA GOST DIGITAL SIGNATURE

Kategori : SKRIPSI

Nama : ASMAYUNITA

Nomor Induk Mahasiswa : 091402085

Program Studi : SARJANA (S-1) TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI

Diluluskan di Medan, 02 Juli 2014

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dani Gunawan, ST., MT

M. Andri Budiman, S.T., M.Comp.Sc., M.E.M.

NIP. 19820915201221002 NIP. 197510082008011011

Diketahui/Disetujui oleh

Program Studi Teknologi Informasi Ketua,

(4)

PERNYATAAN

APLIKASI OTENTIKASI DOKUMEN MENGGUNAKAN ALGORITMA GOST DIGITAL SIGNATURE

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 02 Juli 2014

(5)

PENGHARGAAN

Puji dan syukur saya panjatkan kepada Allah SWT yang telah memberikan rahmat dan karunia-Nya sehingga saya berhasil menyelesaikan skripsi ini untuk memperoleh gelar Sarjana Program Studi S-1 Teknologi Informasi Universitas Sumatera Utara.

Ucapan terima kasih penulis sampaikan kepada:

1. Bapak Prof. Dr. Muhammad Zarlis dan Prof. Dr. Opim Salim Sitompul, M.Sc

selaku Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, dan semua dosen serta pegawai di Program Studi S-1 Teknologi Informasi.

2. Kepada Bapak Andri Budiman S.T., M.Comp.Sc., M.E.M dan Bapak Dani

Gunawan, ST., MT selaku pembimbing saya yang telah memberikan banyak masukan-masukan, arahan, keluangan waktu serta bimbingan yang bermanfaat untuk saya dalam menyelesaikan skripsi ini.

3. Kepada Bapak Sawaluddin, M.IT dan Bapak Baihaqi Siregar, S.T.,M.T yang

telah bersedia menjadi dosen penguji dan telah memberikan saran-saran yang baik bagi saya dalam menyelesaikan skripsi ini.

4. Teristimewa kepada Ayahanda M. Jalil dan Ibunda Asmarani yang telah

membantu saya dalam segala hal dan mendukung kebutuhan moril dan motivasi sampai saat ini. Serta seluruh keluarga saya yang telah memberikan

do’a, dukungan, dan perhatian hingga saya dapat menyelesaikan skripsi ini.

5. Sahabat saya Bang Aris, Bang Padlian, Kak Aini, Ajeng, Aya, dan yang paling

spesial Rizky Haryo yang selalu mendukung dan memberi semangat kepada saya.

6. Teman-teman seperjuangan yang selalu mendukung saya dan membantu saya

selama belajar di Program Studi Teknologi Informasi yaitu Syarah, Devi, Septi, Bagus, Buyung, Yuli, Zizi, abang-kakak senior dan seluruh teman-teman seangkatan yang tidak dapat disebutkan.

7. Bapak Urip Harahap dan Ibu Ernawati yang selalu memberi semangat.

(6)

ABSTRAK

Dokumen merupakan sebuah data teks yang memiliki sifat terbuka yaitu isinya dapat dibaca dan diubah dengan sangat mudah oleh pihak-pihak yang tidak berhak. Hal ini menyebabkan faktor keamanan dari dokumen sangat tidak terjamin. Untuk mengamankan sebuah dokumen tersebut dapat dilakukan dengan teknik kriptografi,

salah satunya adalah tanda tangan digital. Tanda tangan digital merupakan suatu cara

untuk menjamin keaslian suatu dokumen dan menjaga supaya pengirim dokumen dalam suatu waktu tidak dapat menyangkal bahwa dirinya telah mengirimkan

dokumen tersebut. oleh karena itu dengan adanya tanda tangan digital maka keaslian

pengirim danintegritas data dokumen terjamin. dengan tujuan tersebut, dirancanglah

sebuah aplikasi tanda tangan digital agar memudahkan pengguna untuk menvalidasi

data dokumen. Algoritma yang digunakan pada aplikasi ini adalah algoritma GOST

Digital Signature. Algoritma ini menggunakan fungsi hash SHA-256 yang mengubah

pesan dokumen dengan panjang sembarang menjadi pesan ringkas (message digest)

dengan panjang tetap (256 bit), sehingga jika ada satu karakter saja dari dokumen yang diubah maka kunci publik yang tersedia tidak bisa mengverifikasi dokumen. Hal ini membuktikan bahwa dokumen sudah tidak asli. Berdasarkan pengujian yang dilakukan aplikasi ini berhasil mengvalidasi dokumen dengan membandingkan

message digest dan tanda tangan digital yang dikirimkan menggunakan kunci publik

pengirim. Apabila keduanya valid maka membuktikan bahwa dokumen otentik dan pengirim adalah pengirim yang sebenarnya.

(7)

APLICATION OF DOCUMENT AUTHENTICATION WITH GOST DIGITAL SIGNATURE ALGORITHM

ABSTRACT

Document is a text data that has an extrovert which the content could be read and modified easily by every body. It causes the safety factor of the document is not very secure. In order to it, we can use cryptographic techniques, which one of a digital signature. Digital signatures are a way to ensure the authenticity of a document and keep saving it, in order to the sender could not deny that he had sent the document. therefore the presence of a digital signature so the authenticity of the sender and document data integrity is assured. with these goal, designed a digital signature application that enables users to validate the document data. The algorithm that used in this application is GOST digital signature algorithm. This algorithm uses the SHA-256 hash function that converts the document message from the length message into short message (message digest) with a fixed length (256 bits), so if there is one character only from the document that altered the available public key can not verified the document. This authenticate that the document is not original. Based on testing performed successfully validate the application of this document by comparing the message digest and digital signature that is sent using the sender's public key. If both are valid then prove that the document is authentic and the sender is the actual sender.

(8)

DAFTAR ISI

2.4.1. Parameter GOST Digital Signature 12 2.4.2. Pembentukan Sepasang Kunci 12 2.4.3. Pembentukan Tanda Tangan Digital 13 2.4.4. Verifikasi Tanda Tangan Digital 13 2.5. Penelitian Sebelumnya ... 14

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 16

3.1. Analisis Komponen Sistem ... 16

(9)

3.1.2. Pemodelan Sistem Relasi antar Proses ... 17

3.1.3. Pemodelan Sistem Proses Pembentukan Sepasang Kunci ... 17

3.1.4. Pemodelan Sistem Proses Pembentukan Tanda Tangan Digital .. 18

3.1.5. Pemodelan Sistem Proses Verifikasi Dokumen ... 18

3.2. Analisis Sistem ... 19

3.2.1. Cara Kerja GOST Digital Signature ... 19

3.2.2. Pembentukan Sepasang Kunci ... 21

3.2.3. Pembentukan Tanda Tangan Digital ... 22

3.2.4. Verifikasi Tanda Tangan Digital ... 23

3.3. Perancangan Antar Muka (Interface)... 24

3.3.1. Rancangan Halaman Pengirim ... 25

3.3.1.1. Rancangan Halaman Pembentukan Kunci ... 25

3.3.1.2. Rancangan Halaman Pembentukan Tanda Tangan ... 26

3.3.2. Rancangan Halaman Penerima ... 27

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 29

4.1. Implementasi ... 29

4.1.1. Spesifikasi Perangkat Keras dan Perangkat Lunak ... 29

4.1.2. Tampilan Implementasi Sistem ... 29

4.1.2.1. Pengujian Sistem pada Pengirim ... 30

4.1.2.2. Pengujian Sistem pada Penerima ... 31

4.2. Tabulasi Hasil Uji ... 33

BAB 5 KESIMPULAN DAN SARAN ... 36

5.1. Kesimpulan ... 36

5.2. Saran ... 36

DAFTAR PUSTAKA ... 37

(10)

DAFTAR TABEL

Hal

Tabel 2.1 Tabel Penelitian Terdahulu 14

Tabel 4.1 Tabel Pengujian Message Digest dengan Variasi String 34

(11)

DAFTAR GAMBAR

Hal

Gambar 2.1. Kriptografi Simetris 6

Gambar 2.2. Kriptografi Asimetris 6

Gambar 2.3. Skema Tanda Tangan Digital 8

Gambar 2.4. Contoh Penggunaan Fungsi Hash 10

Gambar 3.1. Pemodelan Sistem Keseluruhan 15

Gambar 3.2. Sistem Relasi antar Proses 16

Gambar 3.3. Proses Pembentukan Sepasang Kunci 16

Gambar 3.4. Proses Pembentukan Tanda Tangan Digital 17

Gambar 3.5. Proses Verifikasi Dokumen 18

Gambar 3.6. Flowchart GOST Digital Signature 19

Gambar 3.7. Flowchart Pembentukan Sepasang Kunci 20

Gambar 3.8. Flowchart Pembentukan Tanda Tangan Digital 22

Gambar 3.9. Flowchart Verifikasi Tanda Tangan Digital 23

Gambar 3.10. Rancangan Halaman Pembentukan Kunci 25

Gambar 3.11. Rancangan Halaman Pembentukan Tanda Tangan Digital 26

Gambar 3.12. Rancangan Halaman Verifikasi 27

Gambar 4.1. Tampilan Halaman Pembentukan Kunci 30

Gambar 4.2. Halaman Pembentukan Tanda Tangan Digital 31

Gambar 4.3. Tampilan Tanda Tangan Valid 32

Gambar 4.4. Tampilan Tanda Tangan Tidak Valid 33

(12)

ABSTRAK

Dokumen merupakan sebuah data teks yang memiliki sifat terbuka yaitu isinya dapat dibaca dan diubah dengan sangat mudah oleh pihak-pihak yang tidak berhak. Hal ini menyebabkan faktor keamanan dari dokumen sangat tidak terjamin. Untuk mengamankan sebuah dokumen tersebut dapat dilakukan dengan teknik kriptografi,

salah satunya adalah tanda tangan digital. Tanda tangan digital merupakan suatu cara

untuk menjamin keaslian suatu dokumen dan menjaga supaya pengirim dokumen dalam suatu waktu tidak dapat menyangkal bahwa dirinya telah mengirimkan

dokumen tersebut. oleh karena itu dengan adanya tanda tangan digital maka keaslian

pengirim danintegritas data dokumen terjamin. dengan tujuan tersebut, dirancanglah

sebuah aplikasi tanda tangan digital agar memudahkan pengguna untuk menvalidasi

data dokumen. Algoritma yang digunakan pada aplikasi ini adalah algoritma GOST

Digital Signature. Algoritma ini menggunakan fungsi hash SHA-256 yang mengubah

pesan dokumen dengan panjang sembarang menjadi pesan ringkas (message digest)

dengan panjang tetap (256 bit), sehingga jika ada satu karakter saja dari dokumen yang diubah maka kunci publik yang tersedia tidak bisa mengverifikasi dokumen. Hal ini membuktikan bahwa dokumen sudah tidak asli. Berdasarkan pengujian yang dilakukan aplikasi ini berhasil mengvalidasi dokumen dengan membandingkan

message digest dan tanda tangan digital yang dikirimkan menggunakan kunci publik

pengirim. Apabila keduanya valid maka membuktikan bahwa dokumen otentik dan pengirim adalah pengirim yang sebenarnya.

(13)

APLICATION OF DOCUMENT AUTHENTICATION WITH GOST DIGITAL SIGNATURE ALGORITHM

ABSTRACT

Document is a text data that has an extrovert which the content could be read and modified easily by every body. It causes the safety factor of the document is not very secure. In order to it, we can use cryptographic techniques, which one of a digital signature. Digital signatures are a way to ensure the authenticity of a document and keep saving it, in order to the sender could not deny that he had sent the document. therefore the presence of a digital signature so the authenticity of the sender and document data integrity is assured. with these goal, designed a digital signature application that enables users to validate the document data. The algorithm that used in this application is GOST digital signature algorithm. This algorithm uses the SHA-256 hash function that converts the document message from the length message into short message (message digest) with a fixed length (256 bits), so if there is one character only from the document that altered the available public key can not verified the document. This authenticate that the document is not original. Based on testing performed successfully validate the application of this document by comparing the message digest and digital signature that is sent using the sender's public key. If both are valid then prove that the document is authentic and the sender is the actual sender.

(14)

BAB 1

PENDAHULUAN

1.1.Latar Belakang

Dalam era masyarakat berbasis informasi, sebuah data digital merupakan komponen

yang sangat vital, sehingga memerlukan pengamanan yang baik saat didistribusi

ataupun saat disimpan. Akhirnya dikembangkan berbagai cara/ metode untuk

mengatasi persoalan keamanan data yang pada intinya adalah cara mengantisipasi agar

pihak-pihak yang tidak berhak, tidak mungkin dapat membaca atau bahkan merusak

data yang bukan ditujukan padanya. Salah satu cara pengamanan data tersebut adalah

dengan menerapkan kriptografi/ penyandian.

Ketika suatu algoritma kriptografi sudah dapat dipecahkan, maka diperlukan

algoritma-algoritma baru yang lebih handal agar keamanan data tetap terjaga. Hal ini

menyebabkan kriptografi tidak berhenti berkembang, salah satu contoh dari

perkembangan algoritma kriptografi tersebut adalah digital signature. Digital

signature atau tanda tangan digital bukanlah tanda tangan dari seseorang yang di-scan

atau dimasukkan ke komputer menggunakan scanner atau sejenisnya, tapi memiliki

fungsi sebagai penanda data yang memastikan bahwa data tersebut adalah data yang

sebenarnya (tidak ada yang berubah).

Dalam dunia nyata, untuk pengamanan menjamin keaslian serta legalitas suatu

dokumen digunakan tanda tangan. Tanda tangan ini merupakan suatu tanda yang

bersifat unik milik seseorang dan digunakan untuk memberikan pengesahan bahwa

orang tersebut setuju dan mengakui isi dari dokumen yang ditandatangani. Untuk

dokumenpun dibutuhkan hal semacam ini. Oleh karena itu, diciptakan suatu sistem

otentikasi yang disebut tanda tangan digital.

Tanda tangan digital merupakan suatu cara untuk menjamin keaslian suatu

dokumen elektronik dan menjaga supaya pengirim dokumen dalam suatu waktu tidak

dapat menyangkal bahwa dirinya telah mengirimkan dokumen tersebut. Sebuah tanda

(15)

bahwa pesan yang dikirim benar-benar dibuat oleh pengirim yang diketahui, dan tidak

dimanipulasi dalam perjalanan. Tanda tangan digital biasanya digunakan untuk

distribusi perangkat lunak, transaksi keuangan, dan dalam kasus lain di mana penting

untuk mendeteksi pemalsuan atau gangguan. Tanda tangan digital menggunakan

algoritma-algoritma serta teknik-teknik komputer khusus dalam penerapannya.

Tujuan dari penggunaan tanda tangan digital adalah membuktikan keaslian

identitas pengirim dari suatu pesan atau penandatangan dari suatu dokumen, dan untuk

memastikan isi yang asli dari pesan atau dokumen itu sudah dikirim tanpa perubahan.

Sejak ditemukannya oleh Diffie dan Hellman pada tahun 1973, banyak usulan

untuk merealisasikan tanda tangan digital. Pada tahun 1999 federasi Rusia

mengeluarkan standar GOST digital signature. Algoritma GOST digital signature

merupakan algoritma asimetris yang melingkupi sistem inisialisasi, penghasil kunci,

penghasil tanda tangan dan verifikasi. Pembentuk kunci publik pada algoritma ini jauh

lebih rumit sehingga algoritma ini sangat aman (Michels et al, 1996).

Sebelumnya ada beberapa penelitian yang pernah dilakukan yang berkaitan

dengan tanda tangan digital, diantaranya yaitu Implementasi Tanda Tangan Digital

Menggunakan Fungsi Hash Algoritma SHA-256 dan RSA dalam Proses Otentikasi

Data (Saipul, 2010), Studi dan Implementasi Tanda Tangan Digital dengan

Menggunakan Algoritma Elgamal (Fernando, 2009), dan Aplikasi Kriptografi untuk

Pengamanan E-dokumen dengan Metode Hybrid: Biometrik Tandatangan dan DSA

(Digital Signature Algorithm) (Wahyuni, 2011).

1.2.Rumusan Masalah

Banyaknya pencurian dan pemalsuan yang terjadi terhadap dokumen membuat sistem

keamanan jaringan perlu mengembangkan sebuah teknik sebagai penanda khusus

yang memastikan bahwa dokumen tersebut adalah dokumen yang benar dan otentik

dari pengirim. Dari uraian diatas, permasalahan yang diteliti yaitu bagaimana

membuktikan bahwasanya dokumen tersebut otentik serta menjamin integritas

dokumen bahwa dokumen yang dikirim berasal dari pengirim yang sebenarnya

(16)

3

1.3.Tujuan Penelitian

Penelitian ini bertujuan untuk membuktikan bahwasanya dokumen tersebut otentik

dari pengirim dan tidak diubah oleh pihak-pihak yang tidak bertanggung jawab

dengan menggunakan algoritma GOST Digital Signature.

1.4.Manfaat Penelitian

Sistem ini dibangun menggunakan standar GOST Digital Signature yang bermanfaat

untuk membuktikan keaslian pengirim sehingga pengirim tidak bisa menyangkal telah

mengirimkan dokumen tersebut. Dengan demikian membuktikan bahwa dokumen

yang diterima otentik dikirim dari pihak pengirim. Sedangkan fungsi hash yang

digunakan dalam algoritma ini berfungsi untuk menjaga agar dokumen tidak bisa

diubah oleh pihak yang tidak bertanggung jawab.

1.5.Batasan Masalah

Adapun batasan masalah yang diberikan pada penelitian ini adalah sebagai berikut :

1. Dokumen yang diberi tanda tangan digital hanya file Microsoft Office

(doc,xls,ppt).

2. Pengamanan dokumen hanya meliputi otentikasi pengirim dan integritas file

sebagai hasil verifikasi pada pihak penerima.

3. Tidak membahas aspek keamanan pada jalur komunikasi yaitu pada proses

transmisi dokumen lewat internet atau media pengiriman apapun dan keamanan

yang diakibatkan oleh kelalaian pengguna.

4. Tidak ada proses validasi dari pihak ketiga sebagai penjamin, yaitu infrastruktur

kunci publik manapun.

1.6.Metodologi Penelitian

Metode penelitian yang akan digunakan adalah:

1. Studi Literatur

Pada tahap ini dilakukan dengan membaca dan mempelajari buku-buku referensi,

jurnal atau sumber-sumber lain yang berkaitan dengan tugas akhir ini, baik

(17)

2. Analisis dan Perancangan Desain Sistem

Pada tahap ini akan dilakukan analisis penerapan algoritma pada aplikasi

kriptografi untuk otentikasi tanda tangan digital serta perancangan aplikasi, antara

lain menggambar flowchart, DFD, dan perancangan antarmuka (interface).

3. Implementasi Sistem

Pada tahap ini akan dilakukan pengkodean dan menerapkan perancangan aplikasi

tersebut ke dalam bahasa pemrograman.

4. Pengujian Sistem

Pada tahap ini akan dilakukan pengujian terhadap aplikasi apakah telah

memenuhi kriteria atau tidak.

5. Dokumentasi Sistem

Pada tahap ini akan dilakukan penulisan laporan mengenai aplikasi tersebut yang

(18)

BAB 2

LANDASAN TEORI

Pada bab ini, akan dibahas landasan teori mengenai teori-teori yang digunakan dan

konsep yang mendukung pembahasan, serta penjelasan mengenai metode yang

digunakan.

2.1.Pengenalan Kriptografi

Menurut Sadikin (2012), kriptografi adalah ilmu yang bersandarkan pada teknik

matematika yang berurusan dengan keamanan informasi seperti kerahasiaan, keutuhan

data dan otentikasi entitas.

Dalam kriptografi, pesan yang mempunyai makna disebut plaintext, dan

pesan yang tidak bermakna lagi disebut ciphertext. Dua proses utama dalam

kriptografi adalah enkripsi dan dekripsi. Enkripsi adalah transformasi plaintext

menjadi ciphertext, sedangkan transformasi sebaliknya dari cipherteks menjadi

plainteks semula disebut dekripsi. Baik enkripsi maupun dekripsi, proses

keduanya melibatkan penggunaan kunci (key).

Sistem kriptografi (yang terdiri atas algoritma kriptografi, kunci, plaintext,

dan ciphertext) dapat digolongkan menjadi dua kelompok: sistem kriptografi

simetri dan sistem kriptografi asimetris (kunci-publik). Pada sistem kriptografi

simetri yang ditunjukkan pada gambar 2.1. (Munir, 2006), kunci untuk enkripsi sama

dengan kunci untuk dekripsi. Sebelum melakukan pengiriman pesan, pengirim dan

penerima harus memilih suatu kunci tertentu yang sama untuk dipakai bersama, dan

kunci ini harus sangat rahasia bagi pihak yang tidak berkepentingan sehingga

algoritma ini disebut juga sebagai algoritma kunci rahasia (secret-key algorithm).

Contoh algoritma kriptografi simetri diantaranya adalah DES, Blowfish,

(19)

Gambar 2.1. Kriptografi Simetris

Sedangkan pada sistem kriptografi kunci-publik seperti yang terlihat pada

gambar 2.2. (Munir, 2006), kunci untuk enkripsi tidak sama dengan kunci untuk

dekripsi. Kunci untuk enkripsi tidak rahasia, sehingga dinamakan juga kunci

publik (public key), sedangkan kunci untuk dekripsi rahasia, sehingga dinamakan

kunci privat (privat key). Pengirim pesan mengenkripsi pesan dengan

menggunakan kunci publik si penerima pesan, hanya penerima pesan yang dapat

mendekripsi pesan menjadi plainteks semula dengan menggunakan kunci

privatnya. Contoh algoritma kriptografi asimetris diantaranya adalah RSA (

Rivest-Shamir-Adleman), DSA, dan ElGamal.

Gambar 2.2. Kriptografi Asimetris

Kriptografi terbagi atas dua kategori yaitu kriptografi klasik dan kriptografi

modern. Kriptografi klasik adalah sistem kriptografi yang menggunakan penyandian

kunci simetris dan menggunakan metode subtitusi (pergantian huruf) atau transposisi

(pertukaran tempat). Dan kriptografi modern adalah sistem kriptografi yang

menggunakan penyandian kunci asimetris (Sadikin, 2012).

Ada 4 (empat) aspek-aspek keamanan yang disediakan oleh kriptografi (Munir,

2006), yaitu:

1. Kerahasiaan

Kerahasiaan (Confidentiality) merupakan layanan yang digunakan untuk menjaga

(20)

7

kriptografi, layanan ini umumnya direalisasikan dengan cara menyandikan pesan

menjadi bentuk yang tidak dapat dimengerti.

2. Integritas Data

Integritas data(integrity) merupakan layanan yang menjamin bahwa pesan masih

asli/utuh atau belum pernah dimanipulasi selama pengiriman. Untuk menjaga

integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi

pesan oleh pihak-pihak yang tidak berhak, antara lain penyisipan,

penghapusan,dan pengsubsitusian data lain kedalam pesan yang sebenarnya.

3. Otentikasi

Otentikasi (Authentication) merupakan layanan yang berhubungan dengan

identifikasi. Baik mengidentifikasi benaran pihak-pihak yang berkomunikasi

(user authentication dan entity authentication) maupun mengidentifikasi

kebenaran sumber pesan (data origin authentication). Dua pihak yang saling

berkomunikasi harus dapat mengotentikasi satu sama lain sehingga ia dapat

memastikan sumber pesan. Pesan yang dikirim melalui saluran komunikasi juga

harus diotentikasi asalnya. Otentikasi sumber pesan secara implisit juga

memberikan kepastian integritas data, sebab jika pesan telah dimodifikasi berarti

sumber pesan sudah tidak benar. Oleh karena itu, layanan integritas data selalu

dikombinasikan dengan layanan otentikasi sumber pesan.

4. Anti Penyangkalan

Anti Penyangkalan (non-repudiation) merupakan layanan untuk mencegah entitas

yang berkomunikasi melakukan penyangkalan, yaitu pengiriman pesan

menyangkal melakukan pengiriman atau penerimaan pesan menyangkal telah

menerima pesan.

2.2.Tanda Tangan Digital

Tanda tangan digital 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

(21)

Prinsip yang digunakan dalam tanda tangan digital ini adalah dokumen yang

dikirimkan harus ditandatangani oleh pengirim dan tanda tangan bisa diperiksa oleh

penerima untuk memastikan keaslian dokumen yang dikirimkan. Fungsinya adalah

untuk melakukan validasi terhadap data yang dikirim. Tanda tangan digital

menggunakan algoritma yang disebut dengan istilah hashing algorithm. Fungsi

tersebut akan menghasilkan sebuah kombinasi karakter yang yang unik yang disebut

Message Digest. dengan cara ini pengirim bertanggungjawab terhadap isi dokumen

dan dapat di cek keaslian dokumen oleh penerima.

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 pada 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 (Sianturi, 2008).

Fungsi utama dari tanda tangan digital pada pada aspek keamanan kriptografi

adalah non-repudiation atau anti penyangkalan dimana apabila dokumen valid maka

pengirim tidak bisa menyangkal bahwa keberadaan dokumen benar dikirim oleh

pengirim yang bersangkutan.

Suatu tanda tangan digital dapat digunakan di segala macam pesan, apakah itu

terenkripsi maupun tidak, sehingga penerima dapat memastikan identitas pengirim itu

dan pesan tiba secara utuh.

(22)

9

Cara kerja tanda tangan digital seperti yang terlihat pada gambar 2.3. (Tulu et

all, 2004) adalah sebagai berikut:

1. Si A menggunakan proses hashing algorithm untuk mengambil nilai hash dari

sebuah pesan yang terdapat dalam sebuah dokumen yang dikirim dan

menghasilkan Message Digest.

2. Setelah dilakukan hashing, Si A melakukan sign terhadap message digest dengan

menggunakan kunci privat yang hanya diketahui oleh penandatangan dan

digunakan untuk membentuk tanda tangan digital.

3. Kemudian Si A mengirimkan tanda tangan digital bersama dokumen tersebut.

4. Si B penerima pesan yang dikirimkan oleh Si A.

5. Setelah itu Si B mengverifikasi pesan yang dikirimkan oleh Si A. Pada proses

verifikasi tersebut pesan di hashing terlebih dahulu sehingga menghasilkan

message digest dan tanda tangan digital akan di unsign menggunakan kunci

publik Si A. Jika message digest dan tanda tangan digital-nya sama, maka pesan

ini adalah asli dan pesan berasal dari pengirim yang sebenarnya. Bila pesan telah

diubah oleh pihak luar, maka tanda tangan digital juga ikut berubah sehingga

kunci publik yang ada tidak akan bisa di unsign.

Proses diatas mampu membuktikan bahwasanya pesan adalah asli (message

authentication) dan orang yang mengirim adalah orang yang sebenarnya (user

authentication). Ini berarti tanda tangan digital memenuhi salah satu syarat keamanan

jaringan yaitu non-repudiation atau anti-penyanggahan.

2.3.Fungsi Hash

Fungsi hash merupakan suatu fungsi yang menerima masukan berupa string yang

panjangnya sembarang dan mengonversi masukan tersebut menjadi string yang

mempunyai panjang tetap (fixed) dan umumnya menjadi lebih kecil dari panjang

semula. Keluaran dari fungsi hash disebut juga nilai hash atau pesan-ringkas (message

digest).

Fungsi hash sering juga disebut fungsi satu arah (one way function), message

digest, fingerprint, fungsi kompresi, dan message authentication code (MAC). Fungsi

ini biasanya diperlukan bila kita menginginkan pengambilan sidik jari suatu pesan.

(23)

besar dari keluarannya, sehingga seolah-olah mengalami kompresi. Namun kompresi

hasil fungsi ini tidak dapat dikembalikan ke asalnya sehingga disebut sebagai fungsi

satu arah. Dinamakan sebagai message digest karena seolah-olah merupakan inti sari

pesan mestinya merupakan ringkasan pesan yang masih dipahami maknanya,

sedangkan disini justru sebaliknya, malahan dengan diketahuinya sidik jari ini, justru

orang diharapkan tidak tahu pesan aslinya (Kurniawan, 2004).

Masukan Nilai Hash

Gambar 2.4. Contoh Penggunaan Fungsi Hash

Pada gambar 2.4. (Munir, 2004) memperlihatkan fungsi hash yang mengubah

suatu string dengan panjang berapapun menjadi sebuah message digest yang memiliki

panjang tetap. Fungsi hash pada dasarnya bekerja satu arah, berarti pesan asli atau

pesan semula akan diubah menjadi sebuah message digest, namun message digest

yang dihasilkan tidak dapat dikembalikan menjadi pesan asli atau pesan semula

kembali.

Fungsi hash satu arah merupakan fungsi satu arah (one way function) yang

dapat menghasilkan ciri (signature) dari data (berkas, stream). Perubahan satu bit saja

akan mengubah keluaran hash secara drastis. Fungsi hash biasanya digunakan untuk

menjamin integritas dan tanda tangan digital.

Salah satu fungsi hash yang sudah terstandardisasi dan banyak digunakan

adalah SHA (Secure Hash Algorithm) yang dikeluarkan oleh NIST (National Institute

of Standard and Technology).

(24)

11

Saat ini sudah terdapat tiga generasi dari SHA dimana dari generasi tersebut

juga terdapat beberapa varian lagi berdasarkan panjang bit yang dihasilkan. Ketiga

varian itu adalah SHA-0 (atau yang biasa disebut SHA saja), SHA-1, dan SHA-2.

Algoritma SHA-2 merupakan pengembangan dari algoritma SHA-1 yang

memuat banyak perubahan. Algoritma ini didesain oleh National Security Agency

(NSA) of United States dan dipublikasikan pada tahun 2001 oleh NIST sebagai

standar bagi pemrosesan informasi federal bagi Amerika Serikat atau yang biasa

disebut Federal Information Processing Standard (FIPS).

Algoritma SHA-2 ini terdiri dari beberapa algoritma berdasarkan panjang bit

yang digunakan/ dihasilkan sebagai nilainya yaitu SHA-224, SHA-256, SHA-384,

SHA-512. Algoritma SHA-2 ini menggunakan beberapa operasi dasar dalam teknik

kriptografi, yaitu fungsi AND, OR, XOR, SHIFT (right), dan ROTATE (right).

Sifat-Sifat Fungsi Hash Kriptografi:

a. Tahan preimej (Preimage resistant): bila diketahui nilai hash h maka sulit

(secara komputasi tidak layak) untuk mendapatkan m dimana h = hash(m).

b. Tahan preimej kedua (Second preimage resistant): bila diketahui input m1

maka sulit mencari input m2 (tidak sama dengan m1) yang menyebabkan

hash(m1) = hash(m2).

c. Tahan tumbukan (Collision-resistant): sulit mencari dua input berbeda m1 dan

m2 yang menyebabkan hash(m1) = hash(m2)

2.4.Algoritma GOST Digital Signature

GOST atau Gosudarstvenny Standard yang artinya standard pemerintah, adalah

algoritma kriptografi dari negara Uni Soviet dahulu (sekarang sudah terpecah menjadi

sejumlah negara dengan Rusia sebagai negara terbesar) (Munir, 2004).

Algoritma ini dikembangkan pada tahun 1970 yang merupakan sebuah

algoritma block chiper dengan panjang 64 bit, sedangkan panjang kuncinya 256 bit.

GOST dibuat oleh Soviet sebagai alternatif terhadap algoritma enkripsi standard

Amerika Serikat, DES. GOST secara struktural mirip dengan DES.

Masyarakat perbankan Prancis telah menstadardisasi RSA. National Institute

of Standardization Technology (NIST) mengusulkan suatu modifikasi ElGamal dan

(25)

mereka dan skema tanda tangan didasarkan pada kurva elips yang sampai saat ini

menjadi standar IEEE. Pada tahun 1999 federasi Rusia mengeluarkan standar tanda

tangan digital GOST Digital Signature atau sering disebut GOST 34,10-94. Algoritma

ini sangat mirip dengan Digital Signature Algorithm (DSA). GOST Digital Signature

dan algoritma tanda tangan digital lainnya memiliki tiga proses utama yaitu:

1. Pembentukan sepasang kunci (Key Pair Generation)

2. Pembentukan tanda-tangan digital (Digital Signature Generation)

3. Verifikasi tanda-tangan digital (Digital Signature Verification)

2.4.1. Parameter GOST digital signature

GOST Digital Signature merupakan sebuah standar Russia digital signature yang

dikembangkan dari DSA yang telah dimodifikasi dimana menggunakan parameter

dibawah ini (Schneier, 1996):

1. p, adalah bilangan prima dengan panjang antara 509 ≤ p ≥512 bit, atau 1020 ≤ p 1024 bit. Parameter p bersifat publik.

2. q, adalah bilangan prima dengan panjang 254 ≤ q ≥ 256 bit, dan q merupakan faktor dari p - 1. Parameter q bersifat publik.

3. a, merupakan bilangan yang lebih kecil dari p - 1 dimana mod p = 1.

Parameter a bersifat publik.

4. x, adalah bilangan acak yang lebih kecil dari q. Parameter x adalah kunci privat.

5. y = mod p, adalah kunci publik.

6. m, pesan yang akan diberi tanda tangan.

2.4.2. Pembentukan sepasang kunci

Proses pembentukan kunci pada GOST Digital Signature adalah sebagai berikut

(Schneier, 1996):

1. Pilih bilangan prima p dan q dimana (p–1) mod q = 0. 2. Hitung a dimana aq mod p = 1 dan a < p-1.

3. Tentukan kunci privat x dimana x < q.

(26)

13

y = mod p (2.1)

5. Kunci publik (p, q, a, y) dan kunci privat (p, q, a, x).

2.4.3. Pembentukan tanda tangan digital

Diketahui kunci publik (p, q, a, y) dan kunci privat (p, q, a, x) (Schneier, 1996):

1. Ubah pesan m menjadi message digest dengan fungsi Hash SHA menghasilkan

SHA (M).

2. Tentukan bilangan acak k dimana k < q.

3. Hitung tanda tangan r, dengan rumus:

r = (akmod p) mod q (2.2)

1. Hitung tanda tangan s, dengan rumus:

s = (xr + k(H(m))) mod q (2.3)

4. Kirim pesan beserta tanda tangan r dan s.

2.4.4. Verifikasi tanda tangan digital

Sebelum diverifikasi, harus dipastikan tersedia kunci publik pengirim (y), nilai p, q

dan a beserta pesan yang bertandatangan r dan s. Penerima memeriksa terlebih dahulu

apakah 0 < r < q dan 0 < s < q, kemudian hitung:

1. Hitung nilai v, dengan rumus:

v = H(m)q-2 mod q (2.4)

2. Hitung nilai Z1, dengan rumus:

Z1 = (sv) mod q (2.5)

3. Hitung nilai Z2, dengan rumus:

Z2 = ((q – r) * v) mod q (2.6)

(27)

u = ((a z1 * y z2) mod p) mod q (2.7)

5. Jika u = r, maka proses verifikasi berhasil.

2.5.Penelitian Sebelumnya

Beberapa penelitian dari peneliti sebelumnya yang menjadi bahan pembelajaran

penulis tentang tanda tangan digital.

Supriyanto (2009) menggunakan algoritma kunci publik RSA yang mampu

memberikan sistem keamanan dokumen attachment pada sebuah e-mail untuk

menghindari jebolnya keamanan yang diterapkan e-mail standard seperti PGP. Pada

penelitian ini pengujian validitas dilakukan berdasarkan elemen dokumen XML

dengan cara membandingkan “data valid” dengan perubahan data yang menghasilkan

“data invalid”.

Budiono (2011) telah melakukan penerapan tanda tangan digital untuk

otentikasi SMS-Banking. Algoritma RSA telah berhasil diimplementasikan

menggunakan teknologi tanda tangan digital untuk transaksi SMS-Banking yang

tersimulasikan dalam perangkat lunak yang telah dibangun diatas telepon seluler

sebagai client dan perangkat lunak yang dibangun diatas komputer sebagai server.

Table 2.1. Tabel penelitian terdahulu

No Judul Pengarang Tahun Kelebihan

1. Pemakaian kriptografi

kunci publik untuk proses

enkripsi dan tanda tangan

digital pada dokumen

email.

Aji Supriyanto 2009 Memberikan keamanan

otentikasi dokumen e-mail,

untuk menghindari

jebolnya atau tembusnya

keamanan yang diterapkakn

(28)

15

2. Penerapan tanda tangan

digital untuk otentikasi

SMS-Banking.

Budiono 2011 Algoritma RSA yang

berhasil diimplementasikan

pada tanda tangan digital

SMS telah terbukti dengan

kemampuan perangkat

lunak client dalam

mengoperasikan bilangan

(29)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini, akan dibahas beberapa hal mengenai penerapan algoritma dan analisa

perancangan sistem dalam mengimplementasikan Algoritma GOST Digital Signature

dalam pembuatan tanda tangan digital sebagai otentikasi dalam pembuktian keaslian

khususnya untuk data pesan yang panjang dan sensitif.

3.1.Analisis Komponen Sistem

3.1.1. Pemodelan sistem keseluruhan

Proses ini menjelaskan pemodelan sistem keseluruhan secara sederhana yang terdapat

pada aplikasi tanda tangan digital.

Sistem

Signer Verifier

- file kunci privat, kunci publik, digital signature

- Buat sepasang kunci - Signing dokumen

- Status digital signature

- Verifikasi dokumen

Gambar 3.1. Pemodelan Sistem keseluruhan

Dari gambar 3.1. dapat dijelaskan bahwasanya user sebagai pengirim dapat

melakukan proses pembentukan sepasang kunci, dan proses pembentukan tanda

tangan digital kemudian sistem akan mengirim output berupa file kunci privat, dan

kunci publik, dan file tanda tangan digital.

Sedangkan untuk user sebagai penerima dapat melakukan proses verifikasi

dokumen dan tanda tangan digital kemudian sistem akan memberi output berupa

(30)

17

3.1.2. Pemodelan sistem relasi antar proses

Berikut ini adalah pemodelan sistem yang menampilkan setiap relasi antar proses pada

aplikasi tanda tangan digital.

1.0 Pembentukan

Kunci Signer Direktori untuk penyimpanan file kunci

Nama direktori yang ditentukan File kunci privat dan kunci publik

Kunci_private

Gambar 3.2. Sistem Relasi Antar Proses

Dari gambar 3.2. dapat dijelaskan bahwasanya aplikasi ini memiliki 3 proses

pokok untuk melayani user baik sebagai pengirim maupun penerima yaitu

pembentukan sepasang kunci, pembentukan tanda tangan digital pada dokumen, dan

verifikasi dokumen.

3.1.3. Pemodelan sistem proses pembentukan sepasang kunci

Berikut ini adalah pemodelan sistem dari proses pembentukan sepasang kunci.

1.1

(31)

Pada gambar 3.3. dapat dijelaskan, untuk mendapatkan kunci privat dan kunci

publik sistem terlebih dahulu harus membentuk bilangan prima, sub prima, kunci

privat, dan kunci publik. Kemudian nilai bilangan prima, sub prima, dan kunci privat

yang telah didapat akan disimpan didalam file yang bernama kunci privat sedangkan

untuk file kunci publik berisi nilai bilangan prima, sub prima, dan kunci publik. File

ini akan dikirimkan oleh sistem kepada pengirim untuk melakukan proses

pembentukan tanda tangan digital.

3.1.4. Pemodelan sistem proses pembentukan tanda tangan digital

Berikut ini adalah pemodelan sistem dari proses pembentukan tanda tangan digital:

2.1

Gambar 3.4. Proses Pembentukan Tanda Tangan Digital

Dari gambar 3.4. dapat dijelaskan bahwa untuk melakukan proses

pembentukan tanda tangan digital pada aplikasi tada tangan digital, pengirim harus

terlebih dahulu memasukkan file dokumen yang ingin diberi tanda tangan, dan file

kunci privat. Ketika pengirim membuat tanda tangan digital maka sistem melakukan

proses hash pada dokumen untuk menghasilkan message digest dan tanda tangan

digital yang akan dimasukkan kedalam file tanda tangan. Selanjutnya sistem

mengirim file ini kepada pengirim.

3.1.5. Pemodelan sistem proses verifikasi dokumen

(32)

19

3.1 Pilih Dokumen

Verifier

3.2 Verifikasi Dokumen

Kunci_publik

Status dokumen

Digital_signature

Gambar 3.5. Proses VerifikasiDokumen

Pada gambar 3.5. dapat dijelaskan bahwa user sebagai penerima dapat

melakukan proses verifikasi dokumen dengan memasukkan file dokumen asli, file

dokumen yang telah diberi tanda tangan digital, dan file kunci publik. Pada saat

penerima melakukan verifikasi dokumen sistem akan membandingkan message digest

yang dihasilkan pada file dokumen asli dengan message digest yang terdapat pada file

dokumen yang telah diberi tanda tangan digital. Jika sama maka sistem akan

menampilkan status dari hasil verifikasi dokumen apakah dokumen tersebut asli atau

sudah diubah.

3.2.Analisis Sistem

Pada sistem ini akan dilakukan analisis terhadap sistem dalam melakukan proses

pembentukan sepasang kunci, pembentukan tanda tangan digital dan verifikasi

dokumen untuk membuktikan otentikasi sebuah dokumen dengan menggunakan

algoritma GOST Digital Signature.

3.2.1. Cara kerja GOST Digital Signature

Berikut ini adalah flowchart proses kerja dari algoritma GOST Digital Signature

untuk otentikasi dan keamanan dari sebuah dokumen yang dapat dilihat pada gambar

(33)

Mulai

Gambar 3.6. Flowchart GOST Digital Signature

Seperti yang terlihat pada gambar 3.6. menunjukkan bahwasanya cara kerja

dari algoritma GOST Digital Signature terdiri dari 3 tahapan yaitu pembentukan

sepasang kunci, pembentukan tanda tangan digital (signing), dan verifikasi tanda

tangan digital.

Pada proses pembentukan sepasang kunci, sistem akan menghasilkan kunci

privat yag akan digunakan untuk proses pembentukan tanda tangan digital dan kunci

publik yang akan dibutuhkan pada saat verifikasi tanda tangan digital.

Pada proses pembentukan tanda tangan digital, sistem pertama sekali akan

melakukan proses hashing terhadap dokumen yang ingin diberi tanda tangan digital

sehingga menghasilkan keluaran hash yang disebut message digest. Kemudian

message digest dienkripsi menggunakan kunci privat dan menghasilkan tanda tangan

digital.

Kemudian pengirim mengirimkan dokumen yang telah diberi tanda tangan

digital dan kunci publik kepada penerima. Pada proses verifikasi, penerima akan

melakukan hashing dokumen kembali untuk mendapatkan message digest, maka

secara paralel tanda tangan digital akan didekripsi menggunakan kunci publik.

(34)

21

yang dikirimkan. Jika berbeda maka dipastikan bahwa dokumen telah diubah oleh

pihak lain. Proses terakhir adalah sistem akan menampilkan status dari dokumen

tersebut.

3.2.2. Pembentukan sepasang kunci

Proses pembentukan sepasang kunci pada algoritma GOST Digital Signature ini dapat

dilihat pada flowchart dari gambar 3.7. dimana proses ini akan menghasilkan sepasang

kunci yang akan berguna utuk melakukan proses selanjutnya.

Mulai

Gambar 3.7. Flowchart Pembentukan Sepasang Kunci

Berdasarkan gambar 3.7. pertama sekali sistem akan melakukan proses pembentukan

sepasang kunci sebagai berikut:

1. Pilih dua bilangan prima sebagai nilai p dan q. Dalam hal ini bilangan prima p

memilik panjang 1024-Bit dan bilang prima q memiliki panjang 256-Bit dimana q

merupakan pengfaktoran dari p-1.

2. Misal nilai p = 509 dan q = 127, maka nilai q memenuhi pengfaktoran p-1 dimana

127 * 4 = 509 – 1.

(35)

4. Misal a = 23, (memenuhi mod p = 1).

5. Tentukan nilai x, yang dalam hal ini x < q.

6. Misal x = 89.

7. Kemudian hitung nilai y, dengan rumus seperti pada persamaan 2.1.

8. Y = (23)89 mod 509.

9. Y = 293.

10. Dalam hal ini parameter yang boleh diketahui secara umum adalah p, q, a. Kunci

privatnya adalah x dan kunci publiknya adalah y.

3.2.3. Pembentukan tanda tangan digital

Proses pembentukan tanda tangan digital merupakan proses hashing yang dilakukan

pada dokumen untuk mendapatkan message digest yang nantinya akan di enkripsi

oleh kunci privat sehingga menghasilkan tanda tangan digital. Proses ini dapat dilihat

pada flowchart seperti yang terdapat dalam gambar 3.8. berikut.

Mulai

(36)

23

Berdasarkan gambar 3.8. sistem akan melakukan proses pembentukan tanda

tangan digital seperti berikut:

2. Hitung nilai hash dari pesan dokumen.

3. Misal nilai hash yang didapat H(m) = 4321.

4. Tentukan bilangan acak k dimana k < q.

5. Pada proses sebelumnya diketahui nilai q = 127. Maka permisalan nilai k yang

diambil adalah k = 121.

6. Hitung tanda tangan r, dengan rumus seperti pada persamaan 2.2.

7. Maka r = ((23)121 mod 509) mod 127 = 103

8. Hitung tanda tangan s, dengan rumus seperti pada persamaan 2.3.

9. Maka s = 89 * 103 + 121 (4321) mod 127 = 5

10. Kemudian kirim pesan m dan tanda tangan r dan s.

3.2.4. Verifikasi tanda tangan digital

Proses verifikasi sebuah dokumen dan tanda tangan digital dibutuhkan untuk

membuktikan keaslian dokumen yang secara langsung juga dapat membuktikan

keaslian pengirim. Proses ini dapat dilihat pada flowchart seperti yang terdapat dalam

gambar 3.9. berikut.

(37)

Berdasarkan gambar 3.9. untuk melakukan keabsahan sebuah tanda tangan

digital dan membuktikan bahwa dokumen otektik, maka dilakukan proses perhitungan

seperti berikut:

6. Hitung nilai v, dengan rumus seperti pada persamaan 2.4.

7. Maka v = 4321125 mod 127 = 85.

8. Hitung nilai Z1, dengan rumus seperti yang terdapat pada persamaan 2.5.

9. Maka z1 = (5 * 85) mod 127 = 44

10. Hitung nilai Z2, dengan rumus seperti pada persamaan 2.6.

11. Maka z2 = ((127 - 103) * 85) mod 127 = 8.

12. Dengan diperolehnya nilai z1 dan z2, selanjutnya selanjutnya bisa dilakukan

perhitungan dari nilai u.

13. Hitung nilai u, dengan rumus seperti pada persamaan 2.7.

14. Maka u = (2344 * 2938) mod 509) mod 127 = 103.

Dari hasil perhitungan tersebut diketahui bahwa nilai u = 103 dan r = 103,

dimana u = r maka dapat disimpulkan bahwa tanda tangan sah yang berarti dokumen

masih asli (tidak berubah).

3.3.Perancangan Antar Muka (interface)

Perancangan antar muka adalah rancangan tampilan yang menghubungkan pengguna

(user) dengan komputer dengan bantuan program. Salah satu syarat pembuatan antar

muka adalah berorientasi pada kemudahan dalam penggunaannya (user friendly) serta

informatif.

Aplikasi yang akan dibuat adalah aplikasi tanda tangan digital yang dapat

dijalankan oleh user sebagai pengirim dan user sebagai penerima. Aplikasi yang

terdapat pada user sebagai pengirim dirancang untuk proses pembentukan sepasang

kunci, dan pembentukan tanda tangan digital, sedangkan aplikasi untuk user sebagai

penerima dirancang untuk proses verifikasi dokumen dan tanda tangan digital.

Untuk memudahkan User dalam mengoperasikan software ini, maka

rancangan antarmuka menggunakan menu pull down pada masing-masing aplikasi

(38)

25

3.3.1. Rancangan halaman pengirim

Halaman ini terdiri dari empat menu, yaitu menu beranda, pembentukan kunci,

pembentukan tanda tangan, dan tentang.

3.3.1.1. Rancangan halaman pembentukan kunci

Berikut adalah rancangan halaman pembentukan kunci:

Gambar 3.10. Rancangan Halaman Pembentukan Kunci

Seperti yang terlihat pada gambar 3.10. rancangan dari halaman pembentukan

kunci ini berfungsi untuk melakukan proses pembentukan sepasang kunci yaitu kunci

privat dan kunci publik yang nantinya akan digunakan untuk melakukan proses

berikutnya. Berikut adalah fungsi-fungsi yang terdapat didalam halaman.

1. Button untuk melakukan pembentukan kunci.

2. Textbox ini digunakan untuk menampilkan bilangan prima p.

3. Textbox ini digunakan untuk menampilkan bilangan sub prima q.

4. Textbox ini berfungsi untuk menampilkan bilangan acak a.

5. Textbox ini adalah tempat untuk menampilkan hasil dari kunci privat yang

didapat.

6. Textbox ini berfungsi untuk menampilkan hasil dari kunci publik yang didapat.

7. Button yang berfungsi untuk menentukan tempat penyimpanan kunci privat dan

Prima, P =

Beranda Pembentukan Kunci Pembentukan Tanda Tangan Tentang

(39)

8. Button yang berfungsi untuk menyimpan kunci privat dan kunci publik kedalam

direktori.

3.3.1.2. Rancangan halaman pembentukan tanda tangan

Berikut ini adalah rancangan dari halaman pembentukan tanda tangan:

Gambar 3.11. Rancangan Halaman Pembentukan Tanda Tangan

Berdasarkan gambar 3.11. rancangan halaman ini digunakan untuk

pembentukan tanda tangan digital. Pada proses ini user membutuhkan kunci privat

yang digunakan untuk mengenkripsi dokumen yang telah di hash sehingga

menghasilkan tanda tangan digital. Adapun fungsi-fungsi yang terdapat didalam

rancangan pada halaman ini adalah seperti yang dijelaskan berikut.

1. Button yang digunakan untuk memasukkan dokumen.

2. Button yang digunakan untuk memasukkan kunci privat.

3. Button yang berfungsi untuk melakukan proses hashing pada dokumen dan

menghasilkan tanda tangan digitalr, s.

4. Textbox yang berfungsi untuk menampilkan message digest dari dokumen yang

didapat saat proses hash dilakukan. Masukkan Kunci Privat :

Tanda Tangan Digital dari Pesan :

Beranda Pembentukan Kunci Pembentukan Tanda Tangan Tentang

(40)

27

Beranda Verifikasi Tanda Tangan Digital

Browse

Verifikasi

5. Textbox yang berfungsi untuk menampilkan kunci privat.

6. Textbox yang digunakan untuk menampilkan tanda tangan r.

7. Textbox yang digunakan untuk menampilkan tanda tangan s.

3.3.2. Rancangan halaman penerima

Halaman ini terdiri dari dua menu, yaitu menu beranda, dan menu verifikasi tanda

tangan digital. Pada rancangan ini user sebagai penerima hanya bisa melakukan

proses verifikasi tanda tangan digital seperti yang terlihat pada gambar 3.12. berikut.

Gambar 3.12. Rancangan Halaman Verifikasi

Dari gambar 3.12. dapat dilihat bahwa rancangan halaman verifikasi dibangun

untuk keperluan verifikasi dokumen. Pada halaman ini dokumen yang telah diberi

tanda tangan digital akan di hash kembali untuk menghasilkan message digest. Secara

paralel tanda tangan digital akan didekripsi oleh kunci publik yang dimasukkan.

Fungsi-fungsi yang terdapat dalam rancangan halaman ini adalah seperti berikut.

1. Button yang digunakan untuk memasukkan dokumen yang telah diberi tanda

tangan digital..

2. Button yang digunakan untuk memasukkan kunci publik penanda tangan.

Masukkan File Dokumen :

Kunci Publik, Y = Message Digest =

Tempat File Kunci Publik :

Status Tanda Tangan Digital

R =

S =

Digital Signature dari Pesan :

1

2

3

(41)

3. Button yang berfungsi untuk melakukan proses hashing kembali pada dokumen

seperti yang dilakukan ketika pengiriman.

4. Textbox yang berfungsi untuk menampilkan status dari dokumen dan tanda tangan

(42)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi

Setelah melewati tahapan pada analisis dan perancangan sistem, maka tahap

selanjutnya adalah implementasi dan pengujiann sistem. Pada bab ini akan

menjelaskan tentang proses pengimplementasian algoritma kedalam sistem dan

melakukan pengujian dengan menjalankan program yang sebagai inputan berupa file

dokumen yang hendak diberi tanda tangan.

4.1.1 Spesifikasi perangkat keras dan perangkat lunak

Spesifikasi perangkat keras padayang digunakan dalam pengujian software adalah:

1. Processor Intel® Core™ i3 CPU U380 @1.33GHz 1.33GHz

2. Memory(RAM) : 2 GB

3. Hard Disk 320 GB

Sedangkan spesifikasi perangkat lunak yang digunakan dalam pembangunan

software adalah software ini dibangun menggunakan windows 8 profesional.

4.1.2 Tampilan implementasi sistem

Untuk mengetahui apakah penelitian ini telah memenuhi tujuan penelitian yang

disampaikan pada bab 1, maka diperlukanlah pengujian terhadap software yang

dibangun dalam penelitian ini. Pada pengujian sistem terdapat dua tahapan yang

dilakukan yaitu pengujian sistem pada aplikasi yang akan digunakan oleh pengirim,

(43)

4.1.2.1. Pengujian sistem pada pengirim

1. Halaman Pembentukan Kunci

Pada halaman ini pengirim dapat melakukan proses pembentukan kunci yang

ditunjukkan pada gambar 4.1. berikut.

Gambar 4.1. Tampilan Halaman Pembentukan Kunci

Seperti yang terlihat pada gambar 4.1. pada halaman ini akan dilakukan proses

pembentukan sepasang kunci, yaitu kunci publik dan kunci privat. Pada halaman ini

sistem akan membentuk sepasang kunci ketika button Buat Kunci dipilih. Maka

sepasang kunci akan dikirimkan dalam bentuk file kedalam direktori yang dipilih oleh

pengguna.

Proses pembentukan kunci yang dilakukan menghasilkan rangkaian bilang

desimal dengan panjang tertentu. Pada halaman ini dibutuhkan parameter bilangan

prima, parameter bilangan sub prima, dan parameter a untuk menghasilkan sepasang

kunci. Sepasang kunci yang dihasilkan pada halaman ini akan dibutuhkan untuk

proses selanjutnya, yaitu proses pembentukan tanda tangan digital dan proses

verifikasi tanda tangan digital.

2. Halaman Pembentukan Tanda Tangan

Pada halaman ini pengirimdapat melakukan proses pembentukan tanda tangan seperti

(44)

31

Gambar 4.2. Halaman Pembentukan Tanda Tangan Digital

Berdasarkan gambar 4.2. halaman ini digunakan untuk melakukan proses

pembentukan tanda tangan digital. Pada halaman ini pengguna terlebih dahulu

memasukkan file dokumen yang ingin diberi tanda tangan digital dan file kunci privat

yng didapat pada proses sebelumnya, yaitu pada proses pembentukan sepasang kunci.

Pada proses ini, sistem akan melakukan proses hashing pada dokumen yang

dimasukkan ketika pengguna memilih button Buat Tanda Tangan. Proses ini akan

menghasilkan message digest yang kemudian dienkripsi oleh kunci privat sehingga

membentuk tanda tangan digital. Setelah tanda tangan digital terbentuk sistem akan

melekatkannya pada bagian kosong dari dokumen dan sistem mengirimkan dokumen

yang telah dilekatkan tanda tangan digital kedirektori penyimpanan.

4.1.2.2. Pengujian sistem pada penerima

Pada sistem ini user sebagai penerima dapat melakukan proses verifikasi dokumen

untuk membuktikan apakah dokumen tersebut masih asli atau sudah diubah oleh pihak

yang tidak bertanggung jawab.

Sistem akan melakukan proses hashing dokumen kembali untuk menghasilkan

message digest seperti yang dilakukan pada proses pembentukan tanda tangan digital,

maka secara paralel tanda tangan digital yang diterima tadi akan didekripsi oleh kunci

publik. Kemudian sistem akan menampilkan apakah dokumen tersebut asli “valid

(45)

Gambar 4.3. Tampilan Tanda Tangan Valid

Seperti yang terlihat pada gambar 4.3. ketika penerima melakukan proses hashing

dokumen, message digest yang dihasilkan sama dengan message digest yang dikirim,

maka kunci publik yang tersedia mampu membuka tanda tangan digital yang diterima

sehingga sistem menampilkan bahwa status tanda tangan digital adalah valid atau

belum diubah.

(46)

33

Seperti yang terlihat pada gambar 4.4. pada proses ini sistem akan membandingkan

antara message digest yang didapat dari proses hashing dokumen oleh penerima

dengan message digest yang dikirim. Jika hasilnya tidak sama maka kunci publik yang

tersedia tidak akan mampu membuka tanda tangan digital. Kemudian sistem akan

menampilkan status dari hasil verifikasi tanda tangan digital bahwa tanda tangan

digital tersebut tidak valid atau dokumen telah diubah oleh pihak lain.

4.2 Tabulasi Hasil Uji

Untuk mengetahui kehandalan algoritma GOST Digital Signature dengan fungsi hash,

maka dilakukan pengujian dengan beberapa data dokumen seperti pada tabel-tabel

dibawah ini.

Tabel 4.1 Pengujian Message Digest dengan variasi string

No Pesan Message Digest (64 string)

1 a 580785745883455806500535109176332390950476803470

4184758931942843

2 Ab 798880802321992965251117038994908700843077995334

5594036415462590

3 Abc 427678479957639021212078493090913259531906797812

3672115398567729

4 Abcd 926894676886079775402508989343138812937691418981

1981530367597793

5 Abcde 104385707360216560234438687041356608395346599212

3094664852322000

6 Abcdef 460182550114652046382023842213561550105625856787

5453547673162789

7 Abcdefg 818240747990935801391151328404537798240599118216

(47)

8 Abcdefgh 124260373572514280027269386847437769098406528058

8170638623620927

9 Abcdefghi 816058986500165369441471325266029219929005979079

9395746489560667

10 Abcdefghij 701303537462754010579076213959318485669678682731

4234726562597632

Pada proses pembentukan tanda tangan digital, sistem akan melakukan pad tanda

tangan digital yang telah dihasilkan kedalam field subject pada metadata dokumen

seperti yang terlihat pada gambar 4.5. berikut.

Gambar 4.5. Hasil Tanda Tangan Digital pada Metadata Dokumen

(48)

35

Tabel 4.2. Rekapitulasi Hasil Verifikasi

No Dokumen Kunci Publik

Tanda Tangan

Digital Hasil

Verifikasi

S TS S TS S TS

1 1 0 1 0 1 0 Valid

2 1 0 1 0 0 1 Tidak Valid

3 1 0 0 1 1 0 Tidak Valid

4 1 0 0 1 0 1 Tidak Valid

5 0 1 1 0 1 0 Tidak Valid

6 0 1 1 0 0 1 Tidak Valid

7 0 1 0 1 1 0 Tidak Valid

8 0 1 0 1 0 1 Tidak Valid

Keterangan : S = sah, TS = Tidak Sah, 1 = Ya, 0 = Tidak.

Seperti yang terlihat pada tabel 4.2. dapat disimpulkan bahwa hasil verfikasi akan

(49)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah melalui proses penyelesaian skripsi yang berjudul “Otentikasi Dokumen

Menggunakan Algoritma GOST Digital Signature”, penulis menarik kesimpulan

sebagai berikut:

1. GOST Digital Signature adalah sebuah fungsi hash satu arah yang mengubah

masukan dengan panjang variabel menjadi keluaran dengan panjang tetap

yaitu 1024-bit.

2. Perangkat lunak GOST Digital Signature ini dapat melakukan pengujian

terhadap data dokumen untuk mengetahui apakah data sudah diubah atau

belum.

3. GOST Digital Signature merupakan salah satu solusi untuk menangani

persoalan otentikasi sebuah pesan.

5.2 Saran

Penulis ingin memberikan beberapa saran yang mungkin berguna untuk

pengembangan lebih lanjut yaitu :

1. Perangkat lunak dapat dikembangkan agar dapat digabungkan dengan

pembelajaran untuk metode kriptografi yang lain.

(50)

DAFTAR PUSTAKA

Budiono. 2008. Penerapan Tanda Tangan Digital untuk Otentikasi SMS-Banking.

Program Studi Teknik Informatika, Universitas Institut Teknologi Bandung,

Bandung.

Falani, A.Z. 2014. Sistem Pengaman File dengan Menggunakan Metode RSA

Kriptografi & Digital Signature. Fakultas Ilmu Komputer, Universitas

Narotama, Surabaya.

Fernando, Ricky. 2009. Studi dan Implementasi Tanda Tangan Digital dengan

Menggunakan Algoritma Elgamal. Program Studi Teknik Informatika ITB,

Bandung.

Kurniawan, Yusuf. 2004. Kriptografi Keamanan Internet Dan Jaringan Komunikasi.

Informatika. Bandung.

Michels, M., Naccache, D., & Petersen, H. 1996. GOST 34.10 – A Brief Overview of

Russia’s DSA. Publish in Computers & Seccurity 15(8) : 725-732. Munir, R. 2006. Kriptografi. Informatika, Bandung.

Piper, F., Murphy, S. 2002. Cryptography A Very Short Introduction. Oxford

University Press. England.

Sadikin, R. 2012. Kriptografi untuk Keamanan Jaringan. Yogyakarta: Penerbit Andi.

Saipul. 2010. Implementasi Tanda Tangan Digital Menggunakan Fungs Hash

Algoritma SHA-256 dan RSA dalam Proses Otentikasi Data. Universitas

Ahmad Dahlan, Yogyakarta.

Schneier, B. 1996. Applied Cryptograph. Second edition, John Willey & Sons.

Sinlae, A.A.J. 2012. Analisis Kriptosistem Menggunakan Digital Signature berbasis

Algoritma SHA-512 dan RSA. Magister Sistem Informasi, Universitas Kristen

Satya Wacana, Salatiga.

Siregar, N. 2012. Strategi Otentikasi Pesan Menggunakan Digital Signature Dengan

Metode DSA (Digital Standard Algorithm). Program Studi Ilmu Komputer,

Universitas Sumatera Utara, Medan.

Stallings, W. 2005. Cryptography and Network Security Principles and Practices.

(51)

Supriyanto, Aji. 2009. Pemakaian Kriptografi Kunci Publik untuk Proses Enkripsi dan

Tanda Tangan Digital pada Dokumen E-Mail. Fakultas Teknologi Informasi,

Universitas Stikubank, Semarang.

Tulu, B., Samir, C., Deborah, L., Haiqing, L., Brian, N.H., Thomas, A.H. 2004.

Desain and Implementation of a Digital Signature Solution for a Healthcare

Enterprise. Proceeding of the Tenth Americas Conference on Information

Systems, New York.

Wahyuni, Ana. 2011. Aplikasi Kriptografi untuk Pengamanan E-Dokumen dengan

Metode Hybrid : Biometrik Tandatangan dan DSA (Digital Signature

Algorithm). Universitas Diponegoro, Semarang.

Wijaya, Victor. 2007. Tanda Tangan Digital Untuk Pesan Singkat Dengan Algoritma

RSA Menggunakan J2ME. Program Studi Teknik Informatika Institut

(52)

LISTING PROGRAM

1. Pembentukan Kunci

// Pembentukan kunci

Private void buttonBuatKunciActionPerformed(java.awt.event.ActionEvent evt)

{

GOST gost = new GOST();

PQA pqa = new PQA();

BigInteger[] pq = pqa.generation();

BigInteger P = pq[0];

BigInteger Q = pq[1];

BigInteger A = pq[2];

if (gost.syarat1a_cek_pq(P, Q))

{

if (gost.syarat1b_cek_a(P, Q, A))

{

BigInteger X = gost.syarat1c_acak_x(Q);

BigInteger Y = A.modPow(X, P);

}

}

}

private void buttonTempatKunciActionPerformed(java.awt.event.ActionEvent evt)

{

JFileChooser chooser = new JFileChooser();

chooser.setDialogTitle("Pilih File");

chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

chooser.setAcceptAllFileFilterUsed(false);

if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)

Gambar

Gambar 2.1. Kriptografi Simetris
Gambar 2.3. Skema tanda tangan digital
Gambar 2.4. Contoh Penggunaan Fungsi Hash
Table 2.1. Tabel penelitian terdahulu
+7

Referensi

Dokumen terkait

Sebaliknya pada konsep digital signature sebuah informasi justru di bubuhi “tanda tangan” menggunakan kunci privat sumber, apabila informasi tersebut dapat di

Selain disisipkan sebagai properties dari file *.doc atau *.docx, nilai hash dapat juga disimpan dalam bentuk *.txt yang terpisah dari file yang akan dibubuhi tanda tangan

a) Apabila message digest pada pesan yang telah ditandatangani berbeda dengan message digest pada pesan yang semula maka pesan tersebut tidak asli atau sudah

Pengujian performansi algoritma tanda-tangan digital dengan RSA untuk membangktikan pasangan kunci publik dan privat diujicoba dengan cara membangkitkan kunci baru pada

Kegunaan lain dari undeniable signature yaitu pada kasus perusahaan perangkat lunak yang menggunakan tanda tangan digital sebagai sarana untuk

 Fungsi tanda tangan pada dokumen kertas juga diterapkan untuk otentikasi pada data digital (pesan, dokumen elektronik)..  Tanda tangan untuk data digital dinamakan tanda

Selain disisipkan sebagai properties dari file *.doc atau *.docx, nilai hash dapat juga disimpan dalam bentuk *.txt yang terpisah dari file yang akan dibubuhi tanda tangan

DAFTAR TABEL 1 Perangkat keras penelitian 8 2 Hasil pembangkitan kunci 9 3 Hasil pembangkitan tanda tangan digital 10 4 Hasil verifikasi tanda tangan digital 10 5 Data awal dan