BAB III
ANALISIS DAN PERANCANGAN
3.1 Analisis Sistem
Sebelum dilakukan tahap perancangan sebuah sistem, perlu dilakukan analisis sistem
yang akan dibangun. Analisis sistem merupakan istilah yang secara kolektif
mendeskripsikan fase-fase awal pengembangan sistem. Tahap ini bertujuan
memberikan gambaran yang jelas terhadap sistem yang akan dibangun. Tahap ini
menjabarkan kebutuhan-kebutuhan yang berguna untuk perancangan sistem agar
sistem yang dibangun sesuai dengan masalah yang akan diselesaikan.
3.1.1 Analisis Masalah
Masalah utama yang diangkat adalah autentikasi sebuah data pada sistem
kriptografi. Sistem kriptografi ini menggunakan protokol Feige Fiat Shamir (FFS) yang merupakan salah satu algoritma dari penerapan Zero Knowledge Proof. Seperti
yang telah dijelaskan bahwa Zero knowledge Proof ini merupakan prokotol yang
aman untuk autentikasi sebuah data karena tidak memberikan informasi apapun
tentang data yang dimiliki oleh seorang prover.
Analisis masalah digambarkan dengan Diagram Ishikawa (fishbone Diagram)
berikut ini. Bagian kepala atau segiempat yang berada di sebelah kanan merupakan
Verifier
Gambar 3.1 Diagram Ishikawa Untuk Analisa Masalah
3.1.2 Analisis Persyaratan (Requirement Analysis)
Analisis ini bertujuan untuk mengidentifikasi dan menyatakan persyaratan apa saja
yang akan dibutuhkan oleh sistem agar dapat berjalan sesuai dengan yang diharapkan.
Analisis persyaratan terdiri atas dua bagian yaitu analisis fungsional (functional
requirement) dan analisis nonfungsional (nonfunctional requirement). Dimana persyaratan fungsional adalah aktifitas dan layanan yang harus diberikan/ disediakan
oleh sebuah sistem, dan persyaratan nonfungsional berkaitan dengan fitur, kateristik,
dan batasan lainnya yang menetukan apakah sistem memuaskan atau tidak.
Persyaratan nonfungsional seringkali berupa batasan atau sesuatu yang menjadi
perhatian stakeholder sebuah sistem. Kedua analisis ini merupakan hal penting untuk
menentukan hal-hal yang harus dimiliki sistem.
3.1.2.1Persyaratan Fungsional
Analisis fungsional dibutuhkan untuk mengetahui hal-hal yang bisa dikerjakan oleh
sistem. Berikut dijabarkan fungsi-fungsi yang dapat dikerjakan oleh sistem.
1. Sistem akan melakukan autentikasi pada data berupa .txt atau .doc
2. Sistem menghitung berapa lama waktu yang dibutuhkan dalam memproses
seluruh kegiatan autentikasi.
3. Sistem melakukan autentikasi menggunakan protokol Feige Fiat Shamir
dengan Quadratic Linear Congruential Generator dan Feige Fiat Shamir tanpa
3.1.2.2Analisis Nonfungsional
Analisis nonfungsional berhubungan dengan hal-hal berikut ini:
1. Performa
Perangkat lunak yang akan dibangun dapat menunjukkan hasil dari proses
pemabangkitan bilangan acak, dan autentikasi sebuah pesan.
2. Mudah dipelajari dan digunakan
Perangkat lunak yang akan dibangun memiliki tampilan yang user friendly dan
responsif.
3. Hemat biaya
Perangkat lunak yang dibangun akan memprmudah pengguna untuk efesiensi
waktu, sehingga hemat biaya.
4. Dokumentasi
Perangkat lunak yang akan dibangun dapat menyimpan hasil autentikasi pesan
serta memiliki panduan penggunaan.
5. Kontrol
Perangkat lunak yang dibangun akan menampilkan pesan error untuk setiap input
yang tidak sesuai.
3.1.3 Pemodelan Sistem dengan Use Case dan Ac tivity Diagram
Pemodelan sistem dilakukan untuk memperoleh gambaran yang lebih jelas tentang
objek apa saja yang akan berinteraksi dengan sistem serta hal-hal apa saja yang
dilakukan oleh sistem. Use case adalah salah satu pemodelan yang digunakan untuk
memodelkan persyaratan sistem. Dengan use case ini digambarkan siapa saja yang
berinteraksi dengan sistem dan apa saja yang dapat dilakukan dengan sistem.
Berdasarkan analisis kebutuhan sistem, secara garis besar sistem melakukan
proses autentikasi dengan protokol Feige Fiat Shamir dan autentikasi dengan protokol
Feige Fiat Shamir dengan pembangkit bilangan acak quadratic linear Congruential Generator.
Berikut ini adalah diagram use case yang dirancang sebagai pemodelan
persyaratan sistem berdasarkan informasi kebutuhan sistem dan aktor yang berperan
Generate p dan q
Gambar 3.2 Use case Diagram yang akan Dikembangkan
Diagram pada gambar 3.2 menjelaskan aksi yang dapat dilakukan oleh user,
user melakukan input data dengan men-generate bilangan prima p dan q dan kemudian memproses data dan melakukan autentikasi dengan protokol feige Fiat
Shamir dengan beberapa kali percobaan hingga proses autentikasi dinyatakan berhasil.
3.1.3.1Use Case generate Bilangan Prima p dan q
Berikut ini merupakan spesifikasi use case generate Input p dan q
Tabel 3.1 Spesifikasi Use Case generate p dan q
Name Enkripsi
Actors User
Trigger User men-generate p dan q yang akan menghasilkan nilai n Preconditions -
Post Conditions p dan q akan menghasil nilai n yang didapat dari perkalian bilangan prima p dan q
Success Scenario 1. User telah men-generate bilangan p dan q. 2. User mengakses tombol generate.
3. Sistem akan melakukan proses pemilihan bilangan prima
berdasarkan metode Fermat.
4. Sistem akan menampilkan hasil bilangan prima p dan q.
Alternative Flows -
User System
Akses tombol generate bilangan
prima
proses pemilihan bilangan prima p dan q dengan metode Fermat
Manampilkan bilangan prima p dan q
Gambar 3.3 Activity Diagram untuk Proses input p dan q
3.1.3.2Use Case generate Bilangan Acak
Berikut ini adalah spesifikasi untuk use case proses pemilihan bilangan acak:
Tabel 3.2 Spesifikasi Use Case Pemilihan Bilangan acak Name Pemilihan bilangan acak
Actors User
Trigger User mengakses tombol pemilihan bilangan random (random r) Preconditions Bilangan n telah diproses dan ditampilkan
Post Conditions Bilangan acak r akan menghasilkan nilai x Success Scenario 1. User mengakses tombol random r.
2. Sistem akan melakukan proses pemilihan bilngan acak
dengan Quadratic Linear Congruential
Alternative Flows -
Verifier System
Akses tombol bilngan random r
Proses memilih dan menampilkan bilangan acak
dengan metode QLCG
Sistem menampilkan bilangan acak r
Gambar 3.4 Activity Diagram untuk Proses pemilihan bilangan acak
3.1.3.3Use Case Proses Autentikasi
Berikut ini adalah spesifikasi untuk use case proses autentikasi
Tabel 3.3 Spesifikasi Use Case Autentikasi Name Authentication
Actors User
Trigger User menginputkan plaintext yang akan di autentikasi Preconditions plaintext telah disimpan sebelumnya
Post Conditions Proses ini akan menghasilkan hasil proses keberhasilan autentikasi
Success Scenario 1. User memasukkan plaintext
2. sistem akan melakukan proses autentikasi dengan FFS.
Berikut ini adalah activity diagram untuk proses autentikasi.
User System
Akses tombol Process
Sistem menampilkanoutput x, s, v, v invers
User memasukkan plaintext
Sistem menampilakan output hasil autentikasi
Gambar 3.5 : Activity Diagram untuk Proses Autentikasi
3.1.4. Analisis Sistem Proses
Pada proses autentikasi ini kita menggunakan algoritma Feige Fiat Shamir (FFS).
Dalam proses Protokol Feige Fiat Shamir (FFS) ini dibutuhkan bilangan prima yang
dicari menggunakan metode Fermat dan bilangan acak yang dicari menggunakan
metode Quadratic Linear Congruential Generator (QLCG) Pada diagram gambar 3.6
User Sistem
Generate p
Generate q
Tampilkan output p dan q
Gambar 3.6 Sequence Diagram Proses Generate p dan q
Hasil dari bilangan prima p dan q yang didapat akan digunakan untuk mendapatkan
nilai n. Setelah proses input bilangan prima p dan q selesai dilakukan, kemudian
sistem akan melakukan generate bilangan acak dngan metode Quadratic Linear
Congruential Generator, yang dapat dilihat pada gambar 3.7.
verifier Sistem
Random r
Tampilkan bilangan acak r
Proses bilangan acak
Dari sequnce diagram pada gambar 3.7 dapat dilihat bahwa hasil yang didapat oleh
user adalah bilangan random r yang akan digunakan untuk mencari nilai x.
Untuk proses identifikasi skema (autentikasi) dengan protokol Feige Fiat Shamir
sistem akan memproses dan menampilkan hasil perhitungan nilai n, x, v, v-invers, dan
s yang akan digunakan untuk pengecekan. Sequence diagram proses idrntifikasi
skema feige Fiat Shamir dapat dilihat pada Gambar 3.8.
verifier Sistem
Tampilkan hasil autentikasi
pengecekan
Masukkan plaintext Proses nilai x, v, v invers, dan s
3.1.5. Flowchart Sistem
3.1.5.1. Flowchart Gambar Umum
Secara umum proses yang dilakukan ini dapat dilihat pada flowchart gambaran umum
pada gambar 3.9.
Start
Input plaintext
End Pembangkitan bilangan Prima
p dan q
Pembangkitan bilangan Acak
Pengecekan/ Autentikasi
FFS
Tampilkan hasil Autentikasi
3.1.5.2Flowchart dan pseudocode Proses Generate p dan q
Proses gnerate bilangan prima p dan q ini menggunakan metode Fermat. Berikut ini
flowchart yang menggambarkan langkah-langkah generate bilangan prima.
start
p, q
For i=0;i<p.length, i++ For i=0;i<q.length, i++
If ap-1 = 1(mod p) False
true
End
no
yes
Tampilkan p, q
3.1.5.3.Flowchart dan Pseudocode Proses Pembangkitan Bilangan Acak Metode Quadratic Linear Congruential Generator (QLCG)
Proses pembangkitan bilangan acak dilakukan dengan Metode Quadratic
Linear Congruential Generator (QLCG), dapat dilihat pada Gambar 3.11.
Mulai
a , b , c,
Xo = key(i) for i = 1; i = 256 ; i++
Selesai
key(i) = (ceil((a*Xo*Xo+b*X0+C) mod 256
Tampilkan bilangan acak
Pseudocode metode Quadratic Linear Congruential Generator (QLCG).
private int po (n,m)
int hasil1
loop i from 0 to i less then m
hasilhasil*n return hasil
end loop
public int Generate(index)
array x0
loop i from 1 to i less then 256
x[i]((a*pow(x[i-1],2))+b*x[i-1]+c) mod m return x[index]
end loop
Pada saat akan melakukan pembangkitan bilangan acak maka program akan
mengeksekusi nilai x[i] sampai 256 kali. Ketika algoritma Quadratic Linear
Congruential Generator berjalan maka program akan menampilkan hasil seluruh bilangan acak yang di dapat dan memilih salah satu bilangan acak secara random yang
akan digunakan pada proses autentikasi selanjutnya.
3.1.5.4.Flowchart dan pseudocode Proses Autentikasi (Identifikasi Skema) Feige Fiat Shamir (FFS)
Proses autentikasi dilakukan dengan protokol Feige Fiat Shamir.
Start
p,q
n = p x q
r
v = x2 mod n
s2 = v-1 mod n v-1 = s2 mod n
y = r x mod n= r2 mod n
Input paliantext
stop x = r2 mod n
no If random bit
b=1 yes x mod n=v(y2 mod n) mod n
Hasil autentikasi
, y = rs mod n
endif
return true
end
Pada saat akan melakukan proses identifikasi skema (autentikasi) dengan
protokol Feige Fiat Shamir (FFS) maka program akan memproses nilai n dan r yang
diperoleh untuk mendapatkan nilai x, v, v-invers, dan memproses hasil autentikasi
setelah user menginputkan data yang akan diidentifikasi.
3.1.6. Rancangan Antar Muka
Sistem akan dibangun menggunakan bahasa pemrograman C# dengan menggunakan
software Microsoft Visual Studio. Rancangan antar muka akan disesuaikan dengan kebutuhan dan software yang digunakan. Antar muka menggunakan lima form, form utama ,form about, form Help, form Protokol FFS dengan QLCG, form protokol FFS
tanpa QLCG
3.1.6.1.Antar Muka Mainform
Pada Mainform user dapat memilih menu tersedia
X
__ File About Help
Implementasi Zero Knowledge Proof dengan Feige Fiat Shamir dan Quadratic
Linear Congruential generator
Gambar 3. 13 Rancangan Form Utama
Komponen yang dipakai untuk membangun antar muka Mainform pada gambar 3.13,
Tabel 3.4 Rincian Rancangan Form Utama
No Tipe Teks Nama Keterangan
1 MenuStrip File Menustrip1 Terdapat beberapa sub menu
2 MenuStrip About Menustrip2 Terdapat submenu untuk
beralih ke Form About
3 MenuStrip Help MenuStrip3 Submenu untuk ke Form Help
4 Label Judul Label1 -
5 PictureBox LambangUSU PictureBox1 -
6 Label Jurusan Label2 -
3.1.5.1Antar Muka Form Authenticationwith FFS and QLCG
Pada form Autentikasi user akan menginputkan bilangan prima yang nantinya akan proses.
X __
File About Help
1 2 3
PROTOKOL FEIGE FIAT SHAMIR DENGAN QUADRATIC LINEAR CONGRUENTIAL GENERATOR
Gambar 3.14 Rancangan Form Authenticationwith FFS and QLCG
Komponen yang dipakai untuk membangun antar muka form autentikasi pada gambar
Tabel 3.5 Rincian Rancangan Form Authentication with FFS and QLCG
No Tipe Teks Nama Keterangan
1 MenuStrip File Menustrip1 Terdapat beberapa sub
menu
2 MenuStrip About Menustrip2 Terdapat submenu untuk
beralih ke Form About
3 MenuStrip Help MenuStrip3 Submenu untuk ke Form
Help
19 Textbox - tbv_invers Tampilan hasil v invers
20 Button Open File btnOpen Membuka File
21 Textbox - tbFile Tampilan file yang dibuka
22 Grupbox Info File - Berisi informasi mengenai
file
23 Button Generate p Buttonp Bangkitkan bilangan prima p
24 Button Generat q Buttonq Bangkitkan bilangan
Tabel 3.6 Lanjutan Rincian Rancangan Form Autentikasi
No Tipe Teks Nama Keterangan
25 Button Process Proses Proses hasil r, x, v, v
invers, s
26 Groupbox Authentication - Menampilkan hasil proses
autentikasi
27 Textbox - A Hasil pengecekan pertama
28 Textbox - B Hasil pengecekan kedua
29 Label - LabelTime1 Menampilkan waktu
autentikasi
30 Button Random r Btnr Memproses bilangan acak
31 textBox - Txtbox Menampilkan seluruh
nilai r
32 Label - Labeltime2 Menampilkan waktu
pembangktan bilangan
acak
33 Label - Labeltime3 Menampilkan waktu
process
3.2 Tahapan Sistem
3.2.1 Tahapan metode Fermat
Teorema Fermat menyatakan bahwa jika n adalah bilangan yang akan dites keprimaannya dan 1≤ a < n , maka :
an-1 mod n = 1 dimana : a ∈ Z
Nilai a ditentukan secara acak pada interval antara 2 sampai n-1. Jika persamaan tersebut tidak terpenuhi pada satu nilai a maka n adalah bilangan komposit. Sedangkan jika persamaan tersebut dipenuhi pada banyak nilai a,
maka n adalah kemungkinan prima.
Berikut beberapa contoh pengujian bilangan prima dengan metode Fermat
• n = 47
Pembuktian dilakukan dengan mengambil beberapa nilai a pada
an-1 mod n
Jika a = 9 ,maka :
947-1 mod 47 = 1
Jika a = 13 ,maka :
1347-1 mod 47 = 1
Karena memenuhi persamaan Fermat pada semua nilai a, maka 47
merupakan bilangan prima.
• n = 201
Pembuktian dilakukan dengan mengambil beberapa nilai a pada
interval 1 < a < 201, sebagai contoh a = { 32, 51, 199}
Karena tidak memenuhi persamaan Fermat, maka 201 bukan
merupakan bilangan prima.
• n = 227
Pembuktian dilakukan dengan mengambil beberapa nilai a pada
interval
Karena memenuhi persamaan Fermat pada semua nilai a, maka 227
merupakan bilangan prima.
Pembuktian dilakukan dengan mengambil beberapa nilai a pada
Karena memenuhi persamaan Fermat pada semua nilai a, maka 71
merupakan bilangan prima.
3.2.2 Tahapan Metode Quadratic Linear Congruential Generator (QLCG)
Penentuan keempat konstanta tersebut akan menentukan kualitas bilangan acak yang
dihasilkan Pembangkit bilangan acak QLCG mengalami pengulangan pada periode
tertentu atau setelah sekian kali pembangkitan, hal ini adalah salah satu sifat
pembangkitan dari metode ini. QLCG mempunyai periode tidak lebih dari m dan
kebanyakan kasus periodenya kurang dari m.
Di bawah ini, ada beberapa buah contoh hasil analisis yang penulis lakukan dengan
beberapa buah kombinasi keempat konstanta LCG :
1. Tabel hasil bilangan acak metode QLCG dengan nilai a = 7, b=24, c = 11,
= 7
Nilai Xn selanjutnya dapat dilihat pada tabel 3.7 dibawah ini:
Tabel 3.7 Tabel dengan nilai a = 7, b=24, c = 11, m = 16
Tabel 3.3 menunjukkan hasil pembangkitan kunci dengan menggunakan metode
QLCG. Nilai 11, 2, 7, 10, 7 adalah kunci yang diperoleh dari hasil pembangkitan dan
terlihat perulangan kunci pada proses pembangkitan ke tiga.
2. Tabel hasil bilangan acak metode QLCG dengan nilai a= 29, b=31 , c=49,
m=256
Tabel 3.8 Hasil bilangan acak metode QLCG dengan nilai a= 29, b=31, c=49,
Tabel 3.8 menunjukkan hasil pembangkitan kunci dengan menggunakan
metode QLCG. Nilai 49, 29, 249, 229, 129 dan seterusnya adalah kunci
yang diperoleh dari hasil pembangkitan dan terlihat perulangan kunci pada
3. Tabel hasil bilangan acak metode QLCG dengan nilai a= 124, b=637,
Nilai Xn selanjutnya dapat dilihat pada tabel 3.9 dibawah ini:
Tabel 3.10 Lanjutan Hasil bilangan acak metode QLCG dengan nilai a= 124, b=637,
Tabel 3.9 dan Tabel 3.10 menunjukkan hasil pembangkitan kunci dengan
menggunakan metode QLCG. Nilai 125, 226, 199, 100, 17, 198, 155, 72, 165,42, 111,
172, dan seterusnya adalah kunci yang diperoleh dari hasil pembangkitan dan terlihat
4. Tabel hasil bilangan acak metode QLCG dengan nilai a = 266, b = 267, c =
Nilai Xn selanjutnya dapat dilihat pada tabel 3.8 dan 3.11 dibawah ini:
Tabel 3.12 Lanjutan Hasil bilangan acak metode QLCG dengan nilai a= 124, b=637,
Tabel 3.11 dan 3.12 menunjukkan hasil pembangkitan kunci dengan menggunakan
metode QLCG. Nilai 11, 62, 221, 100, 247, 210, 185, 232 dan seterusnya adalah kunci
yang diperoleh dari hasil pembangkitan dan terlihat perulangan kunci pada proses
pembangkitan ke 256.
5. Tabel Hasil bilangan acak metode QLCG dengan nilai a= 96 , b=609,
= 1701923 mod 256
= 35
Nilai Xn selanjutnya dapat dilihat pada tabel 3.13 di bawah ini:
Tabel 3.13 menunjukkan hasil pembangkitan kunci dengan menggunakan
metode QLCG. Nilai 97, 130, 35, 4, 229, 134, 167, 8, 105, 138, 43, 12 dan
seterusnya adalah kunci yang diperoleh dari hasil pembangkitan dan
terlihat perulangan kunci pada proses pembangkitan ke 256.
Pada bab sebelumnya sudah disinggung bahwa QLCG mempunyai periode
tidak lebih besar dari m. Jika a, b, c dan m dipilih secara tepat (misalnya
(b-a) mod m = 1, c merupakan bilangan ganjil, dan m merupakan bilangan
kelipatan 2), maka QLCG akan mempunyai periode maksimal, yaitu m – 1.
Dari grafik di atas, dapat kita buktikan pernyataan tersebut. Pada tabel 3.5,
Tabel 3.6 dan Tabel 3.7, terlihat kombinasi secara tepat antara a, b, c dan
m, sehingga QLCG mempunyai periode maksimal (m-1), dimana dengan
m = 256, perulangan terjadi pada n=256. Sedangkan pada Tabel 3.2
kombinasi a, b, dan m sangat buruk, sehingga terjadi perulangan saat n=3
dengan m=256, dan Tabel 3.3 terjadi perulangan pada saat n=65 dengan
m=256 sehingga tidak memenuhi syarat untuk menghasilkan QLCG yang
memiliki periode maksimal.
3.2.3 Tahapan Feige Fiat Shamir
Nilai r sebagai bilangan acak yang didapatkan dari pembangkit bilangan acak
dengn metode Quadratic Linear Congruential Generator, akan digunakan pada
v-1= v*v-1 mod n
dan hasil v-invers dapat dilhat pada Tabel 3.14 berikut ini.
= 4
hasil kunci private s dapat dilihat pada tabel 3.15 berikut ini.
Tabel 3.15 Hasil kunci private s Percobaan I
𝑠 𝑠2𝑚𝑜𝑑𝑛
• Tika : melakukan pengecekan (autentikasi)
• Tim : v = 𝑥2𝑚𝑜𝑑𝑛
hasil v-invers dapat dilihat pada tabel 3.16 dan 3. 17 berikut ini.
v-1= s2 mod n
hasil kunci private s dapat dilihat pada tabel 3.18 berikut ini.
Tabel 3.18 Hasil kunci private 2 Percobaan II
• Tika random bit (0 atau 1)
• Tian : menentukan y, jika b = 0 y = r
Jika b = 1 y = 𝑟.𝑠𝑚𝑜𝑑𝑛
b = 0 y = r = 37
b = 1 y = 1996
• Tika : melakukan pengecekan (autentikasi)
b = 0 𝑥𝑚𝑜𝑑𝑛 = 𝑟2𝑚𝑜𝑑𝑛 = 1369
hasil v-invers dapat dilihat pada tabel 3.19 dan 3.20
hasil kunci private s dapat dilihat pada tabel 3.21 berikut ini.
Tabel 3.21 Hasil kunci private s Percobaan III
𝒔 𝒔𝟐𝒎𝒐𝒅𝒏
b = 0 𝑥𝑚𝑜𝑑𝑛 = 𝑟2𝑚𝑜𝑑𝑛 = 14161
hasil v-invers dapat dilihat pada tabel 3.22 dan 3.23 berikut ini.
Tabel 3.23 Lanjutan Hasil v-invers Percobaan IV
v-1 v.v-1 mod n
15 31057
16 18133
... ...
.... ...
16951 26565
16952 13641
16953 717
16954 19924
16955 7000
16956 26207
16957 13283
16958 359
16959 19566
16960 6642
16961 25849
16962 12925
16963 1
s2= v-1(mod n) s sebagai kunci private Tian
v-1= s2 mod n =
• Tika : melakukan pengecekan (autentikasi)
b = 0 𝑥𝑚𝑜𝑑𝑛 = 𝑟2𝑚𝑜𝑑𝑛 = 23409
b = 1 𝑥𝑚𝑜𝑑𝑛 = 𝑣(𝑦2𝑚𝑜𝑑𝑛)𝑚𝑜𝑑𝑛 = 23409
Dari beberapa percobaan didapat hasil pengecekan (autentikasi) yang
dilakukan dengan protokol Feige Fiat Shamir diperoleh hasil akhir autentikasi
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi Sistem
Tahap implementasi sistem merupakan lanjutan dari tahap perancangan sistem. Pada
tahap ini dilakukan implementasi sistem ke dalam bahasa pemrograman berdasarkan
hasil analisis dan perancangan sistem. Pada tahap implementasi ini digunakan
perangkat lunak dan perangkat keras, sehingga sistem yang dibangun dapat
diselesaikan dengan baik.
Spesifikasi perangkat keras yang digunakan dalam pengujian adalah
1. PC (Personal Computer) dengan Windows 7
2. Processor AMD Dual Core, 1.33 GHz 3. Memory (RAM) 2.00 GB
4. Storage 320 GB HDD 5. Mouse dan Keyboard.
Sistem ini dibangun dengan menggunakan Software Microsoft Visual Studio
2010 Version 10.0.030319.1 RTMRel. Pada sistem terdapat 4 halaman utama yang digunakan, terdiri dari:
1. Halaman Menu Authentication with FFS and QLCG 2. Menu About
3. Menu Authentication with FFS
4.1.1 Tampilan Halaman Menu Utama
Halaman Menu Utama merupakan halaman yang muncul pertama sekali pada saat
sistem dijalankan. Tampilan halaman Menu Utama dapat dilihat pada Gambar 4.1.
Gambar 4.1 Tampilan Halaman Menu Utama
Halaman Menu Utama terdiri dari tiga menubar, yaitu menu File, Help dan About. Menu Help menghubungkan pengguna dengan halaman menu Help. Sedangkan menu About akan menghubungkan pengguna dengan menu About.
Gambar 4.2 Tampilan Submenu yang Terdapat Pada Menu File
4.1.2 Tampilan Halaman Menu Authentication with FFS and QLCG
Halaman menu Authentication with FFS and QLCG merupakan halaman yang digunakan untuk melakukan proses autentikasi data. Pengguna dapat mengakses
halaman menu Authentication with FFS and QLCG dengan cara memilih submenubar
Authentication with FFS and QLCG yang terdapat pada menubar File pada halaman Menu Utama. Tampilan halaman menu Authentication with FFS and QLCG dapat
Gambar 4.3 Tampilan Halaman Menu Authentication with FFS and QLCG
Menu Authentication with FFS and QLCG terdiri dari :
1. Tiga buah menubar, yaitu menubar File, Help dan About. Menubar File memiliki
3 (tiga) submenubar, yaitu submenubar Menu Utama, submenubar Authentication
with FFS dan submenubar Exit.
2. Dua buah text box, yaitu text box pada kotak Open file yang digunakan untuk menampilkan File yang dibuka, text box pada kotak Random r untuk
menampilkan hasil seluruh bilangan random
3. Sebuah kotak Information yang berfungsi untuk menampilkan informasi lokasi penyimpanan, nama, dan ukuran file yang dipilih oleh pengguna.
4. Sebuah tombol Open File yang berfungsi untuk memilih data yang akan diautentikasi. Tombol Generate p dan generate q untuk mmproses bilangan prima,
memproses nilai v, v-invers, x dan s, dan tombol authentication untuk memproses
hasil autentikasi.
4.1.3 Tampilan Halaman Menu About
Halaman menu About merupakan halaman yang digunakan untuk melihat informasi tentang program dan programmer, tampilan Menu About dapat dilihat pada Gambar
4.4.
Gambar 4.4 Tampilan Halaman Menu About
4.1.4 Tampilan Halaman Menu Help
Halaman menu Help merupakan halaman yang berisikan panduan dalam
menggunakan sistem ini. Pada halaman Help, dijelaskan langkah-langkah melakukan
proses autentikasi data dengan FFS dan QLCG yang merupakan proses utama pada
Gambar 4.5 Tampilan Halaman Menu Help
4.2 Pengujian Sistem
Tahap pengujian sistem merupakan lanjutan dari tahap implementasi sistem. Fungsi
dari tahap pengujian sistem adalah untuk membuktikan bahwa sistem yang telah
diimplementasikan dari hasil analisis dan perancangan sistem telah berjalan dengan
baik.
4.2.1 Pengujian Proses Generate p dan q
Gambar 4.6 Tampilan hasil Generate p dan q
4.2.2 Pengujian Proses Result n
Pengujian proses result n dapat dilakukan dapat dilakukan setelah melakukan proses
generate p dan q, karena nilai n didapatkan dari perkalian bilangan prima p dan q. Setelah memilih tombol result n maka akan muncul nilai pada textbox pada sisi
Gambar 4.7 Tampilan Result n
Jika nilai p maupun q tidak di-generate terlebih dahulu untuk memproses nilai n maka
akan muncul MessageBox yang berisi pesan untuk men-generate nilai p dan q terlebih
Gambar 4.8 Tampilan MessageBox Result n
4.2.3 Pengujian Proses Random r
Pengujian proses Random r dapat dilakukan dapat dilakukan memilih tombol random
r maka akan muncul nilai seluruh r pada textbox dan salah satu nilai r yang akan digunakan pada proses autentikasi selanjutnya. Proses pembangkitan bilangan acak
akan menghasilkan biangan acak yang akan ditampilkan pada text box Random r.
Gambar 4.9 Tampilan proses Random r 4.2.4 Pengujian Proses Tampilan Hasil Nilai x, v, v-invers dan s
Setelah pembangkitan bilangan acak dilakukan, maka proses selanjutnya dapat
dilakukan dengan mengeksekusi button Process. Melalui proses ini maka program
akan menampilkan nilai x, v, v-invers dan s dan waktu yang dibutuhkan untuk memproses seluruh nilai tersebut. Tampilan hasil x, v, v-invers dan sdapat dilihat pada
Gambar 4.10 Tampilan Hasil nilai x, v, v-invers dan s
Jika nilai r tidak inputkan terlebih dahulu untuk memproses nilai x, v, v-invers dan s
maka akan muncul MessageBox yang berisi pesan untuk men-inputkan nilai r terlebih
Gambar 4.11 Tampilan MessageBox Hasil nilai x, v, v-invers dan s
4.2.5. Pengujian Proses Open File
Pengujian proses Open File dilakukan untuk menampilkan dn membuka file yang akan diautentikasi, pengguna dapat membuka file yang diinginkan dengan
mengeksekusi tombol Open File, pada saat tombol Open File dieksekusi maka akan
muncul pop-up window Open File untuk membuka file, untuk melakukan proses Open
.
Gambar 4.12 Tampilan Pop Up Window Open File
Setelah pengguna memilih File yang akan diproses maka isi dari file yang
dibuka akan ditampilkan pada textbox Open file, dan akan meuncul informasi tentang
File yang dibuka, yaitu nama, ukuran, serta alamat File yang dibuka.Tampilan Hasil
Gambar 4.3 Hasil Proses Open File 4.2.6 Pengujian Proses Authentication
Setelah proses Open File dilaukan maka proses autentikasi dapat dilakukan dengan
mengeksekusi tombol Authentication. Pada proses ini ketika tombol Authentication
dieksekusi maka akan muncul hasil proses autentikasi yang akan ditampilkan pada
textbox Authentikasi. Tampilan keberhasilan proses autentikasi dapat dilihat pada
Gambar 4.14 Tampilan Proses Authentication
Jika file tidak diinputkan terlebih dahulu untuk memproses hasil autentikasi maka
akan muncul MessageBox yang berisi pesan untuk menginputkan File text terlebih
Gambar 4.15 MessageBox Tampilan Proses Authentication
4.3. Analisis Hasil Pengujian Proses Quadratic Linear Congruential Generator
Pengujian proses QLCG dapat dilihat pada Tabel 4.1, Tabel 4.2, Tabel 4.3, Tabel 4.4,
Tabel 4.5, Tabel 4.6, Tabel 4.7, Tabel 4.8, Tabel 4.9, Tabel 4.10, Tabel 4.11, Tabel
Tabel 4.1 Pengujian QLCG dengan m=8
Tabel 4.2 Pengujian QLCG dengan m=16
No a b c m Nilai seluruh r Random r Time
1 13 67 51 16 0, 3, 1, 3, 1, 3, 1, 3 3 00:00:00.0734
2 46 67 51 16 0, 3, 10, 9, 12, 7, 6, 13, 8, 11, 2, 1, 4, 15, 14,
5, 0
2 00:00:00.0739
3 13 58 17 16 0, 1, 8, 1, 8, 1, 8, 1 8 00:00:00.0719
4 84 137 121 16 0, 9, 14, 7, 12, 5, 10, 3, 8, 1, 6, 15, 4, 13, 2,
11, 0
15 00:00:00.0726
5 300 385 369 16 0, 1, 14, 15,12, 13, 10, 11, 8, 9, 6, 7, 4, 5, 2,
3, 0
3 00:00:00.0731
6 1911 2432 1433 16 0, 9, 0, 9, 0, 9, 0, 9 0 00:00:00.0500
7 1912 2433 2417 16 0, 1,10, 11 , 4 , 5, 14, 15, 8, 9, 2, 3, 12, 13,
6, 7, 0
14 00:00:00.0729
8 4462 5707 5691 16 0,11,2,9,12,15,14,13,8,3,10,1,4,7,6,5,0 10 00:00:00.0748
Tabel 4.3 Pengujian QLCG dengan m=32
No a b c m Nilai seluruh r Random r time
1 13 67 51 32 0, 19, 1, 3, 17, 19, 1, 3, 17 3 00:00:00.0738
2 46 67 35 32 0, 3, 10, 25, 28, 23, 22, 29, 24, 11, 2, 1, 20, 31, 14, 5, 16, 19,
26, 9, 12, 7, 6, 13, 8, 27, 1, 17, 4, 15, 30, 21, 0
21 00:00:00.0726
3 13 58 17 32 0, 17, 24, 1, 24, 1, 24, 1 1 00:00:00.0714
4 193 245 19 32 0, 19, 11, 19, 11, 19, 11, 19 11 00:00:00.0743
5 300 385 369 32 0, 1, 14, 31, 12, 13, 26, 11, 24, 25, 6, 23, 4, 5, 18, 3, 16, 17,
30, 15, 28, 29, 10, 27, 8, 9, 22, 7, 20, 21, 2, 19, 0
29 00:00:00.0728
6 755 617 345 32 0, 25, 29, 9, 13, 25, 29, 9, 13, 25, 29, 9, 13, 25 13 00:00:00.0711
7 1912 2433 2401 32 0,1,26,27,20,21,14,15,8,9,2,3,28,29,22,23,16,17,10,11,4,5
30,31,24,25, 18, 19, 12, 13, 6, 7,0
18 00:00:00.0737
8 4462 5707 5691 32 0, 11, 2, 25, 12, 15, 30, 13, 24, 19, 26, 1, 4, 23, 22, 21, 16, 27,
18, 9, 28, 31, 14, 29, 8, 3, 10, 17, 20, 7, 6, 5, 0
27 00:00:00.0725
Tabel 4.4 Pengujian QLCG dengan m=64
No a b c m Nilai seluruh r Random r time
1 13 67 51 64 05133351719134951 49 00:00:00.0726
2 46 67 35 64 034257602322612411343320311437 48 192694439 6 13 8 27 18 49 4 47 62 53 32 35 10 25 28 55 542956432152634651651584112
7384540595017361530 210
50 00:00:00.0721
3 13 58 17 64 017241241241 1 00:00:00.0754
4 193 245 19 64 0 19 43 51 11 19 43 51 11 00:00:00.0773
5 300 385 321 64 0 1 46 31 12 13 26 11 24 25
6 55 36 37 50 35 48 49 30 15 60 61 10 59 8 9 54 39 20 21 34 19 32 33 14 63 44 45 58 43 56 57 38 23 4 5 18 3 16 17 62 47 28 29 42 27 40 41 22 7 52 53 2 510
43 00:00:00.0778
6 755 617 345 64 0 25 29 9 45 57 61 41 13 25
29 9 45 57 61 41 13 25 29
9 45
Tabel 4.5 Lanjutan Pengujian QLCG dengan m=64
7. 1912 2433 2401 64 0 1 58 27 20 21 14 47 4041
34 3 60 61 54 23 16 17 10 43 36 37 30 63 56 57 50 19 1213 6 39 32 33 26 59 52 53 46 15 8 9 2 35 28 29 22 55 48 49 42 11 4 5 62 31 24 25 18 5144 45 38 7 0
17 00:00:00.0737
8 4462 5707 5691 64 0 11 2 25 44 15 30 13 56 51
26 33 36 55 54 21 48 27 50 41 28 31 14 29 40 3 10 49 20 7 38 37 32 43 34 57 12 47 62 45 24 19 58 1 4 23 22 5316 59 18 9 60 63 46 61 8 3542 17 52 39 6 50
16 00:00:00.0743
Tabel 4.6 Pengujian QLCG dengan m=128
No a B c m Nilai seluruh r Random r time
1 47 63 17 128 0 17 79 81 15 17 79 81 15 81 00:00:00.0761
2 118 163 35 128 0 35 18 113 76 103 78 37 56 75
42 121 68 79 38 109 112 115 66 1
60 55 126 53 40 27 90 9 52 31
86 125 96 67 114 17 44 7 46 69
24 107 10 25 36 111 6 13 80 19
34 33 28 87 94 85 8 59 5841
20 63 54 29 64 99 82 49 1239
14 101 120 11 106 57 4 15 10245
48 51 2 65 124 119 62 117 10491
26 73 116 95 22 61 32 3 5081
108 71 110 5 88 43 74 89 10047
70 77 16 83 98 97 92 23 30 21
72 123 122 105 84 127 118 93 0
117 00:00:00.0663
3 103 57 189 128 0 57 5 121 69 57 5 121 69 57
5 121 69 57 5 121 69 57 5 121
69
Tabel 4.7 Lanjutan Pengujian QLCG dengan m=128
No a B c m Nilai seluruh r Random r Time
4 193 245 19 128 0 19 107 115 11 83 43 51 75 19
107 115 11 83 43 51
115 00:00:00.0495
5 300 385 257 128 0 1 46 95 12 77 90 11 88 89
70 119 100 37 114 35 48 49 94 15
60 125 10 59 8 9 118 39 20 85
34 83 96 97 14 63 108 45 58 107
56 57 38 87 68 5 82 3 16 17
62 111 28 93 106 27 104 105 86 7
116 53 2 51 64 65 110 31 76 13
26 75 24 25 6 55 36 101 50 99
112 113 30 79 124 61 74 123 72 73
54 103 84 21 98 19 32 33 78 127
44 109 122 43 120 121 102 23 4 69
18 67 80 81 126 47 92 29 42 91
40 41 22 71 52 117 66 115 0
65 00:00:00.0506
6 755 617 345 128 0 89 29 9 109 57 61 105 13 25
93 73 45 121 125 41 77 89 29 9
109
Tabel 4.8 Lanjutan Pengujian QLCG dengan m=128
No a B c m Nilai seluruh r Random r Time
7 1912 2433 2305 128 0 1 122 91 20 21 78 47 40 41
34 3 60 61 118 87 80 81 74 43
100 101 30 127 120 121 114 83 12 13
70 39 32 33 26 123 52 53 110 79
72 73 66 35 92 93 22 119 112
113 106 75 4 5 62 31 24 25 18
115 44 45 102 71 64 65 58 27 84
85 14 111 104 105 98 67 124 125 54
23 16 17 10 107 36 37 94 63 56
57 50 19 76 77 6 103 96 97 90
59 116 117 46 15 8 9 2 99 28
29 86 55 48 49 42 11 68 69 126
95 88 89 82 51 108 109 38 70
Tabel 4.9 Lanjutan Pengujian QLCG dengan m=128
No a B c m Nilai seluruh r Random r Time
8 4462 5707 5579 128 0 75 66 89 108 79 30 77 120
115 26 97 36 55 54 21 112 27 114
105 92 31 78 93 104 67 74 113 20
7 102 37 96 107 34 121 76 111
126 109 88 19 122 1 4 87 22 53
80 59 82 9 60 63 46 125 72 99
42 17 116 39 70 69 64 11 2 25
44 15 94 13 56 51 90 33 100
119 118 85 48 91 50 41 28 95 14
29 40 3 10 49 84 71 38 101 32
43 98 57 12 47 62 45 24 83 58
65 68 23 86 117 16 123 18 73 124
127 110 61 8 35 106 81 52 103 6
5 0
67 00:00:00.0746
Dari tabel 4.1 sampai dengan Tabel 4.13 dapat dilihat bahwa hasil bilangan
acak yang muncul tidak lebih besar dari nilai m. Untuk mendapatkan nilai m dengan
periode penuh (<m), pemilihan a, b, dan c harus memenuhi beberapa syarat, seperti
yang telah dibahas pada bab sebelumnya, bahwa nilai dari (b-a) mod 4 ≡ 1 , c merupakan bilangan ganjil dan m merupakan bilangan kelipatan dua. Dari beberapa
pengujian yang telah dilakukan Penulis juga menemukan beberapa kondisi, walaupun
semua syarat bilangan telah dipenuhi, namun periode bilangan acak tidak penuh dari
m-1, dan agar periode bilangan acak memenuhi seluruh periode m-1, Penulis menambahkan satu syarat, yaitu b merupakan penjumlahan antara nilai c dan nilai m.
Dari tabel 4.1 sampai dengan Tabel 4.13 juga dapat dilihat bahwa seluruh waktu yang
dibutuhkan untuk pembangkitan bilangan acak memiliki rata-rata waktu tidak jauh
berbeda dengan nilai a, b, c, maupun m yang berbeda.
4.4Analisis Hasil Pengujian Proses FFS dan QLCG
Pengujian proses QLCG dapat dilihat pada Tabel 4.14 Tabel 4.15, Tabel 4.16, Tabel
4.17, Tabel 4.18, Tabel 4.19, Tabel 4.20, Tabel 4.21, Tabel 4.22, Tabel 4.23, Tabel
4.24, Tabel 4.25 dan Tabel 4.26.
Tabel 4.14 Pengujian Running time FFS dan QLCG dengan n sebanyak 4 digit dan pengulangan (t) = 5
Waktu rata-rata yang dibutuhkan untuk melakukan proses autentikasi dengan n = 4
Tabel 4.15 Pengujian Running time FFS dan QLCG dengan n sebanyak 4 digit dan pengulangan (t) = 30
No p q n r Time
1 73 59 4307 138 00:00:02.074
2 59 83 4897 73 00:00:01.928
3 41 97 3977 176 00:00:01.536
4 53 97 5141 176 00:00:00.215
5 59 67 2526 162 00:00:00.772
Waktu rata-rata yang dibutuhkan untuk melakukan proses autentikasi dengan n = 4
digit dan t = 5 adalah 1.483 detik.
Tabel 4.16 Pengujian Running time FFS dan QLCG dengan n sebanyak 5 digit dan pengulangan (t) = 5
No p q n r Time
1 887 17 15079 40 00:00:00.926
2 547 83 45401 112 00:00:00.662
3 367 41 15047 122 00:00:00.686
4 571 73 41683 187 00:00:00.290
5 641 59 37819 27 00:00:01.371
Waktu rata-rata yang dibutuhkan untuk melakukan proses autentikasi dengan n = 5
Tabel 4.17 Pengujian Running time FFS dan QLCG dengan n sebanyak 5 digit dan pengulangan (t) = 30
No p q n r Time
1 887 17 15079 40 00:00:01.584
2 547 83 45401 112 00:00:00.662
3 367 41 15047 122 00:00:01.699
4 571 73 41683 187 00:00:01.241
5 641 59 37819 27 00:00:01.705
Waktu rata-rata yang dibutuhkan untuk melakukan proses autentikasi dengan n = 5
digit dan t = 5 adalah 1,378 detik
Tabel 4.18 Pengujian Running time FFS dan QLCG dengan n sebanyak 6 digit dan pengulangan (t) = 5
No p q n r Time
1 257 461 118477 174 00:00:01.311
2 223 709 158107 7 00:00:01.999
3 569 631 359039 56 00:00:02.090
4 947 503 476341 107 00:00:02.324
5 647 887 573889 238 00:00:02.432
Waktu rata-rata yang dibutuhkan untuk melakukan proses autentikasi dengan n = 6
Tabel 4.19 Pengujian Running time FFS dan QLCG dengan n sebanyak 6 digit dan pengulangan (t) = 30
No p q n r Time
1 257 461 118477 174 00:00:00.936
2 223 709 158107 7 00:00:01.647
3 569 631 359039 56 00:00:02.678
4 947 503 476341 107 00:00:02.324
5 647 887 573889 238 00:00:02.552
Waktu rata-rata yang dibutuhkan untuk melakukan proses autentikasi dengan n = 6
digit dan t = 30 adalah 2.029 detik
Tabel 4.20 Pengujian Running time FFS dan QLCG dengan n sebanyak 7 digit dan pengulangan (t) = 5
No p Q n r Time
1 4243 241 1022563 99 00:00:00.826
2 3191 449 1432759 127 00:00:00.831
3 3461 587 2031607 80 00:00:00.447
4 7069 911 6439859 144 00:00:05.706
5 7487 937 7015319 45 00:00:01.658
Waktu rata-rata yang dibutuhkan untuk melakukan proses autentikasi dengan n = 7
Tabel 4.21 Pengujian Running time FFS dan QLCG dengan n sebanyak 7 digit dan pengulangan (t) = 30
No P Q n r Time
1 4243 241 1022563 99 00:00:00.894
2 3191 449 1432759 127 00:00:00.771
3 3461 587 2031607 80 00:00:00.535
4 7069 911 6439859 144 00:00:06.213
5 7487 937 7015319 45 00:00:01.895
Waktu rata-rata yang dibutuhkan untuk melakukan proses autentikasi dengan n = 7
digit dan t = 30 adalah 2.601 detik
Tabel 4.22 Pengujian Running time FFS dan QLCG dengan n sebanyak 8 digit dan pengulangan (t) = 5
No P q n r Time
1 5923 1229 7279367 131 00:00:08.411
2 3967 3727 14785009 127 00:00:07.176
3 3461 7069 24465809 80 00:00:24.588
4 7069 5923 41869687 144 00:00:24.489
5 7487 7069 52925603 45 00:00:27.393
Waktu rata-rata yang dibutuhkan untuk melakukan proses autentikasi dengan n = 8
Tabel 4.23 Pengujian Running time FFS dan QLCG dengan n sebanyak 8 digit dan pengulangan (t) = 30
No p q n r Time
1 5923 1229 7279367 131 00:00:09.689
2 3967 3727 14785009 127 00:00:08.301
3 3461 7069 24465809 80 00:00:29.242
4 7069 5923 41869687 144 00:00:28.771
5 7487 7069 52925603 45 00:00:31.440
Waktu rata-rata yang dibutuhkan untuk melakukan proses autentikasi dengan n = 8
digit dan t = 30 adalah 21.488 detik
Tabel 4.24 Pengujian Running time FFS dan QLCG dengan n sebanyak 9 digit dan pengulangan (t) = 5
No p q n r Time
1 30187 1229 37099823 131 00:01:01.117
2 49031 3037 148907147 127 00:02:32.399
3 50111 3121 156396431 80 00:01:36.871
4 52237 5923 309399751 144 00:06:19.366
5 78193 7069 552746317 45 00:06:29.964
Waktu rata-rata yang dibutuhkan untuk melakukan proses autentikasi dengan n = 9
Tabel 4.25 Pengujian Running time FFS dan QLCG dengan n sebanyak 9 digit dan pengulangan (t) = 30
No p Q n r Time
1 30187 1229 37099823 131 00:01:01.330
2 49031 3037 148907147 127 00:02:02.399
3 50111 3121 156396431 80 00:02:46.091
4 52237 5923 309399751 144 00:06:70.366
5 78193 7069 552746317 45 00:07:25.932
Waktu rata-rata yang dibutuhkan untuk melakukan proses autentikasi dengan n = 9
digit dan t = 30 adalah 3.8922 menit.
Tabel 4.26 Pengujian Running time FFS dan QLCG dengan n sebanyak 10 digit dan pengulangan (t) = 5
No p q n r Time
1 40459 39451 1596148009 131 00:01:01.330
2 49031 3037 148907147 127 00:02:02.399
3 50111 3121 156396431 80 00:02:46.091
4 52237 5923 309399751 144 00:06:70.366
5 78193 7069 552746317 45 00:07:25.932
Waktu rata-rata yang dibutuhkan untuk melakukan proses autentikasi dengan n = 9
4.5Analisis Perbandingan Hasil Pengujian Proses FFS dengan dan tanpa QLCG
Pengujian proses perbandingan implementasi FFS dengan QLCG dan tanpa QLCG dapat dilihat pada Tabel 4.26.
Tabel 4.27 Perbandingan Hasil Pengujian Proses FFS dengan dan tanpa QLCG
No P q r n x v V-invers s timeFFS with
QLCG
Time FFS
1 5 43 67 215 189 31 111 81 00: 00: 13203 00:00:00.0211
2 7 67 88 469 240 382 345 122 00: 00: 01407 00:00:00.0028
3 79 23 185 1817 1519 1588 484 22 00: 00:16.623 00:00:00.0037
4 83 43 230 3569 2934 3497 3222 933 00.00.01.164 00:00:02.819
5 31 73 54 2263 653 965 1930 201 00.00.01.503 00:00:01.721
6 607 43 179 26101 5940 21149 3231 6056 00:00:00.850 00:00:01.215
7 619 67 191 41473 36481 36264 18965 9579 00:00:01.788 00:00:00244
8 163 509 252 82967 63504 64014 12848 1914 00:00:01.179 00:00:00.432
9 433 563 5 243779 25 625 168110 39455 00:00:00.699 00:00:00.965
10 809 563 107 455467 11449 360572 210457 101763 00:00:01.377 00:00:01.165
11 733 857 174 628181 30276 120097 524777 23078 00:00:01.934 00:00:01.420
12 5077 571 240 2898967 57600 1341752 641367 823004 00:00:01.793 00:00:03.056
13 8627 499 210 4304873 44100 3312277 700913 1275160 00:00:03.206 00:00:03.926
14 9613 521 175 5008373 30625 1324874 1037293 348517 00:00:02.689 00:00:02.672
Tabel 4.28 Lanjutan Perbandingan Hasil Pengujian Proses FFS dengan dan tanpa QLCG
No p q r n x v V-invers s timeFFS with
QLCG
Time FFS
16 1867 6271 109 11707957 11881 662677 3347652 1523483 00:00:06.508 00:00:08.478
17 7591 5653 41 42911923 1681 2825761 2084320 7649723 00:00:10.011 00:00:15.23
18 9397 8563 169 80466511 28561 11065611 78688492 7632218 00:01:23.139 00:02:15.500
19 45599 5381 239 245368219 57121 73021794 116816351 89919736 00:03:16.480 00:03:00.709
20 40853 8941 158 365266673 24964 257934623 16684221 100885824 00:01:54.1351 00:02:13.134
21 96953 9923 100 962064619 10000 100000000 957225636 286599050 00:22:14.511 00:23:76.987
22 10957 57191 90 626641787 8100 65610000 9601411 50480667 00:01:00.610 00:01:98.453
23 13691 84691 209 1159504481 43681 748525280 897257682 159907452 00:16:49.939 00:15:23.211
24 13297 95957 82 1275940229 6724 45212176 796058612 128846433 00:14:40.323 00:15:50.765
Dari Tabel 4.27 dan 4.28 di atas dapat dilihat bahwa perbandingan waktu antara pengujian protokol Feige Fiat Shamir dengan
BAB 5
Berdasarkan hasil studi literatur, analisis, perancangan, implementasi dan pengujian
sistem ini, maka didapat kesimpulan sebagai berikut :
1. Sistem ini menunjukkan proses kerja pengamanan sebuah data dengan protokol
Zero Knowledge Proof.
2. Pengujian pembangkitan bilangan acak dengan Quadratic Linear Congruential
Generator untuk mendapatkan nilai bilangan acak dengan periode penuh (<m), pemilihan a, b, dan c harus memenuhi beberapa syarat, bahwa nilai dari (b-a) mod 4 ≡ 1, c merupakan bilangan ganjil dan m merupakan bilangan kelipatan dua. Dari beberapa pengujian yang telah dilakukan Penulis juga menemukan beberapa
kondisi, walaupun semua syarat bilangan telah dipenuhi, namun periode bilangan
acak tidak penuh dari m-1, dan agar periode bilangan acak memenuhi seluruh
periode m-1, Penulis menambahkan satu syarat, yaitu b merupakan penjumlahan
antara nilai c dan nilai m. dari pengujian juga didapat bahwa seluruh waktu yang
dibutuhkan untuk pembangkitan bilangan acak memiliki rata-rata waktu tidak jauh
berbeda dengan nilai a, b, c, maupun m yang berbeda.
3. Sistem ini mengimplementasikan proses kerja pengamanan sebuah data
denganZero Knowledge Proof dengan Protokol Feige Fiat Shamir dan Quadratic
Linear Congruential Generator untuk proses autentikasi sebuah data.
4. Waktu proses autentikasi dengan Protokol Feige Fiat Shamir memiliki
perbandingan waktu yang hampir sama dengan atau tanpa Quadratic Linear
5.2 Saran
Adapun saran-saran yang dapat penulis berikan untuk pengembangan dan perbaikan
sistem ini adalah sebagai berikut :
1. Algoritma pembangkit bilangan acak yang digunakan pada sistem ini dapat diganti
dengan algoritma pembangkit bilangan acak yang lebih baik untuk meningkatkan
akurasi autentikasi sebuah data..
2. Sistem ini dapat dikembangkan lebih lanjut dengan menambahkan pilihan file data