3.1 Pilih Dokumen
Verifier
3.2 Verifikasi
Dokumen Kunci_publik
Status dokumen Digital_signature
Gambar 3.5. Proses Verifikasi Dokumen
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
3.6.
Universitas Sumatera Utara
Mulai Input
Dokumen Pembentukan
Sepasang Kunci Pembentukan
Tanda Tangan Digital
Verifikasi Tanda Tangan Digital
Status Dokumen
Selesai
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.
Message digest yang dihasilkan oleh penerima akan sama dengan message digest
Universitas Sumatera Utara
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 p = bilangan
prima q = bilangan
sub prima Hitung a dimana mod
p = 1
Hitung y = mod p
Selesai
q
a
x
a
Hitung x dimana x q
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.
3. Hitung nilai acak a dimana a p-1, sehingga mod p = 1.
Universitas Sumatera Utara
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
Pilih bilangan acak k,
dimana kq Pembuatan message
digest Hm
Hitung tanda tangan r = mod p mod q
k
a
Hitung tanda tangan s = xr + kHm mod q
Selesai r = 0
Tidak Ya
Gambar 3.8. Flowchart Pembentukan Tanda Tangan digital
Universitas Sumatera Utara
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 Hm = 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.
Mulai
Hitung nilai v = mod q
Selesai
2
q
m H
Hitung nilai u = mod p mod q
2 1
z z
y a
u = r Dokumen
tidak asli Dokumen
asli Tidak
Ya
Gambar 3.9. Flowchart Verifikasi Tanda Tangan Digital
Universitas Sumatera Utara
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 = 4321
125
mod 127 = 85. 8. Hitung nilai Z
1
, dengan rumus seperti yang terdapat pada persamaan 2.5. 9. Maka z
1
= 5 85 mod 127 = 44 10. Hitung nilai Z
2
, dengan rumus seperti pada persamaan 2.6. 11. Maka z
2
= 127 - 103 85 mod 127 = 8. 12. Dengan diperolehnya nilai z
1
dan z
2
, selanjutnya selanjutnya bisa dilakukan perhitungan dari nilai u.
13. Hitung nilai u, dengan rumus seperti pada persamaan 2.7. 14. Maka u = 23
44
293
8
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