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