4.2.2 Perancangan Antarmuka
Perancangan antar muka yang dibuat penulis pada aplikasi ini terdiri dari beberapa halama, antara lain :
1. Menu Halaman Utama Menu ini merupakan tampilan
awal ketika
menjalankan aplikasi tanda tangan digital ini. Pada halaman ini menampilkan judul aplikasi serta beberapa menu yang dapat dipilih
pengguna. Adapun menu yang terdapat pada halaman utama ini adalah skema Ong-Schnorr-Shamir dan Aplikasi Tanda Tangan
Digital Ong-Schnorr-Shamir
Ske ma Tanda Ta ngan Digital
Aplikasi Tanda Ta ngan Digital
Judul Aplikasi
Gambar 4.5 Rancangan Menu Halaman Utama Aplikasi
2. Menu Skema Tanda Tangan Digital Menu ini merupakan simulasi dari penghitungan
tanda tangan digital dengan metode Ong-Schnorr-Shamir. Dimuali dengan sebuah alur cerita, dilanjutkan dengan perhitungan
matematik dari tanda tangan digital.
65
Contoh cerita
Back Ne xt
Gambar 4.6 Rancangan Menu Pembuka
Langkah 1 : n =
k = langkah 2 :
h =
teks teks
Ba ck Next
Gambar 4.7 Rancangan Menu langkah matematik Ong-Schnorr-Shamir
Langkah 3 : r =
teks
Langkah 4 :
Hash File Label
Digital signature Perhitungan
Label Label
Ba ck Next
Gambar 4.8 Rancang Menu Hash File
66
Langkah 5 : Pesan
Perhitungan :
Label Label
Digital Signature
Label Verifikasi
Ba ck Next
Gambar 4.9 Rancangan Menu Verifikasi
File Edit Tanda tangan Digital Keluar
Label
Label
Reverse Tanda Tan agan Digital
Gambar 4.10 Rancangan Menu Aplikasi
67
4.2.3 Penggambaran Metode Tanda Tangan Digital Ong-Schnorr-
Shamir 4.2.3.1 Skema Tanda Tangan Digital Ong-Schnorr-Shamir
Skema tanda tangan digital dengan metode Ong- Schnorr-Shamir terbagi menjadi:
a. Algoritma Pembuatan Tanda Tangan Digital.
b. Algoritma Verifikasi Tanda Tangan Digital.
c. Algoritma Menyimpan File Digital Signature pada
Aplikasi. d.
Algoritma Membuka File Digital Signature pada Aplikasi.
4.2.3.1.1 Algoritma Pembuatan Tanda Tangan Digital
Algoritma yang digunakan untuk membuat tanda tangan digital pada skema ini adalah:
1. Input nilai n dan nilai k. a.
Apabila nilai n = 0, maka munculkan pesan kesalahan.
b. Periksa bahwa n harus minimal 8 digit.
Apabila tidak maka munculkan pesan
kesalahan. c.
Apabila nilai k = 0, maka munculkan pesan kesalahan.
68
d. Periksa bahwa gcdn, k harus bernilai 1.
Apabila tidak, maka munculkan pesan kesalahan.
2. Hitung nilai h. H = - RoundFModulus1 K2, N, 12.
a. Roundx, 12 adalah pembulatan nilai x
sebanyak 12 desimal di belakang koma. b.
FModulusa, b adalah fungsi yang dibuat sendiri untuk menghasilkan nilai modulus
antara a dan b. 3. Ambil input nilai r.
a. Apabila nilai r = 0, maka munculkan pesan
kesalahan. b.
Periksa bahwa gcdn, r harus bernilai 1. Apabila tidak,
maka munculkan
pesan kesalahan.
4. Ambil input pesan dan hitung S
1
dan S
2
. a.
Apabila pesan kosong, maka muculkan pesan kesalahan.
b. Untuk i = 1 sampai panjang karakter dari
pesan, hitung S
1
dan S
2
. i.
Set cTemp1 = karakter ke-i dari pesan. ii.
Set M = AsccTemp1. M adalah nilai ascii
dari karakter ke-i.
69
iii. Hitung S
1
= RoundFModulus0.5 M R + R, N, 12.
iv. Hitung S
2
= RoundFModulusK 2 M R - R, N, 12.
v. Tampilkan S
1
dan S
2
sebagai digital signature
dengan format “S
1
|S
2
”.
4.2.3.1.2 Algoritma Verifikasi Tanda Tangan Digital
Algoritma yang digunakan untuk melakukan verifikasi pesan dan tanda tangan digital pada
skema ini adalah: 1. Periksa bahwa jumlah digital signature harus
sama dengan jumlah karakter pada pesan. a.
Ambil format digital signature “S
1
|S
2
”, penggal
dengan pemisah spasi dan
masukkan ke variabel array DS. b.
Jika indeks array tertinggi dari DS dikurangi satu digital signature diawali
dengan string “begin_of_signature “ dan diakhiri
dengan string “
end_of_signature“ tidak sama dengan panjang pesan maka verifikasi gagal dan
keluar dari algoritma verifikasi.
70
2. Set nilai nAkhir = posisi huruf spasi pertama pada digital signature.
3. Lakukan verifikasi untuk setiap karakter pesan dengan digital signature. Untuk nTemp = 1
sampai panjang pesan, a.
Set cTemp1 = karakter ke-nTemp dari pesan.
b. Set M = AsccTemp1. M adalah nilai
ascii dari cTemp1.
c. Set nAwal = nAkhir + 1.
d. Untuk nTemp2 = nAwal sampai panjang
dari digital
signature ,
lakukan pemeriksaan jika karakter ke-nTemp2
dari digital signature adalah huruf spasi, maka set nAkhir = nTemp2 dan keluar
dari looping. e.
Set cTemp1 = string dimulai dari posisi nAwal sepanjang nAkhir – nAwal
karakter dari digital signature. f.
Penggal cTemp1 dengan pemisah “|” dan masukkan ke variabel array DS.
g. Jika indeks tertinggi array DS tidak sama
dengan satu maka verifikasi gagal dan keluar dari algoritma.
71
h. Set S1 = DS0. Ini adalah nilai digital
signature S
1
. i.
Set S2 = DS1. Ini adalah nilai digital signature
S
2
. j.
Set nTemp3 = RoundFModulusS
1
2 + S
2
2 h, n. k.
Jika nTemp3 M maka verifikasi gagal dan keluar dari algoritma.
4. Pesan dan digital signature telah melewati pemeriksaan,
sehingga verifikasi
digital signature
sukses.
4.2.3.1.3 Algoritma Menyimpan File Digital Signature
pada Aplikasi
Algoritma yang
digunakan untuk
menyimpan file digital signature pada aplikasi Ong- Schnorr-Shamir Digital Signature Scheme adalah:
1. Periksa bahwa pesan tidak boleh kosong. 2. Periksa bahwa digital signature sudah harus
dibentuk. 3. Buka sebuah file baru .dsg dengan nama file
di-input oleh user. 4. Isi baris pertama pada file dengan string “Ong-
Schnorr-Shamir Digital Signature|” digabungkan
72
dengan waktu sekarang dalam format dd- MMM-yyyy hh:nn:ss digabungkan dengan
huruf “|” dan nama user yang telah di-input pada form
pembuatan digital signature. 5. Isi baris berikutnya pada file dengan nilai
variabel n digabungkan dengan huruf “|” dan nilai variabel h digabungkan dengan huruf “|”
dan nilai variabel r. 6. Isi baris berikutnya pada file dengan string
“begin_of_message”. 7. Isi baris berikutnya pada file dengan pesan.
8. Isi baris berikutnya pada file dengan string “end_of_message”.
9. Isi baris berikutnya pada file dengan string “begin_of_signature”.
10. Isi baris berikutnya pada file dengan digital signature
. 11. Isi baris berikutnya pada file dengan string
“end_of_signature”. 12. Tutup file.
73
4.2.3.1.4 Algoritma Membuka File Digital Signature pada Aplikasi
Algoritma yang digunakan untuk membuka file digital signature
pada aplikasi Ong-Schnorr- Shamir Digital Signature Scheme adalah:
1. Buka file .dsg yang dipilih oleh user. 2. Ambil isi file baris pertama dan simpan ke variabel
cTemp1. Periksa jika LeftcTemp1, 36 tidak sama dengan “Ong-Schnorr-Shamir Digital Signature”
maka munculkan pesan kesalahan “Invalid file ”, tutup file dan keluar dari algoritma.
3. Penggal cTemp1 dengan pemisah “|” dan simpan ke dalam variabel array strT. Jika indeks tertinggi
array strT tidak sama dengan dua, maka
munculkan pesan kesalahan “Invalid file ”, tutup file
dan keluar dari algoritma. 4. Set strWaktu = strT1.
5. Set strNama = strT2. 6. Ambil isi file pada baris berikutnya dan simpan ke
variabel cTemp1. 7. Penggal cTemp1 dengan pemisah “|” dan simpan
ke dalam variabel array strT. Jika indeks tertinggi array
strT tidak sama dengan dua, maka
74
munculkan pesan kesalahan “Invalid file ”, tutup file
dan keluar dari algoritma. 8. Set N = strT0.
9. Set H = strT1. 10. Set R = strT2.
11. Set K = 0. 12. Ambil isi file pada baris berikutnya dan simpan ke
variabel cTemp1. Periksa apabila cTemp1 tidak sama
dengan “begin_of_message”,
maka munculkan pesan kesalahan “Invalid file ”, tutup
file dan keluar dari algoritma.
13. Set strMsg = “” dan cTemp1 = “”. 14. Ambil isi pesan. Selama cTemp1 tidak sama
dengan “end_of_message”, lakukan algoritma berikut:
a. Set strMsg = strMsg IIfstrMsg “”,
karakter ENTER, “” cTemp1. b.
Ambil isi file pada baris berikutnya dan simpan ke variabel cTemp1.
15. Ambil isi file pada baris berikutnya dan simpan ke variabel cTemp1. Periksa apabila cTemp1 tidak
sama dengan
“begin_of_signature”, maka
munculkan pesan kesalahan “Invalid file ”, tutup file
dan keluar dari algoritma.
75
16. Ambil isi file pada baris berikutnya dan simpan ke variabel strDS. Ini adalah digital signature dari
pesan. 17. Ambil isi file pada baris berikutnya dan simpan ke
variabel cTemp1. Periksa apabila cTemp1 tidak sama
dengan “end_of_signature”,
maka munculkan pesan kesalahan “Invalid file ”, tutup
file dan keluar dari algoritma.
18. Tutup file. 19. Tampilkan isi variabel strMsg pada textbox pesan.
20. Tampilkan isi variabel strDS pada textbox digital signature
.
4.3 Fase Konstruksi