• Tidak ada hasil yang ditemukan

BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Sistem - Implementasi Zero Knowledge Proof Dengan Protokol Feige Fiat Shamir Dan quadratic Linear Congruential Generator

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Sistem - Implementasi Zero Knowledge Proof Dengan Protokol Feige Fiat Shamir Dan quadratic Linear Congruential Generator"

Copied!
82
0
0

Teks penuh

(1)

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

(2)

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)

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

(4)

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 -

(5)

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 -

(6)

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.

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

Pseudocode metode Quadratic Linear Congruential Generator (QLCG).

private int po (n,m)

int hasil1

loop i from 0 to i less then m

hasilhasil*n return hasil

end loop

public int Generate(index)

array x0

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.

(14)

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

(15)
(16)

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,

(17)

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

(18)

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

(19)

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

(20)

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.

(21)

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,

(22)

= 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

(23)

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

(24)

3. Tabel hasil bilangan acak metode QLCG dengan nilai a= 124, b=637,

Nilai Xn selanjutnya dapat dilihat pada tabel 3.9 dibawah ini:

(25)

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

(26)

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:

(27)

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,

(28)

= 1701923 mod 256

= 35

Nilai Xn selanjutnya dapat dilihat pada tabel 3.13 di bawah ini:

(29)

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

(30)

v-1= v*v-1 mod n

dan hasil v-invers dapat dilhat pada Tabel 3.14 berikut ini.

(31)

= 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)

(32)

• Tim : v = 𝑥2𝑚𝑜𝑑𝑛

hasil v-invers dapat dilihat pada tabel 3.16 dan 3. 17 berikut ini.

(33)
(34)

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

(35)

• 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

(36)
(37)

hasil kunci private s dapat dilihat pada tabel 3.21 berikut ini.

Tabel 3.21 Hasil kunci private s Percobaan III

𝒔 𝒔𝟐𝒎𝒐𝒅𝒏

(38)

b = 0 𝑥𝑚𝑜𝑑𝑛 = 𝑟2𝑚𝑜𝑑𝑛 = 14161

hasil v-invers dapat dilihat pada tabel 3.22 dan 3.23 berikut ini.

(39)

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 =

(40)
(41)

• 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

(42)

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

(43)

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.

(44)

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

(45)

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,

(46)

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

(47)

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

(48)

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

(49)

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

(50)

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.

(51)

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

(52)

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

(53)

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

(54)

.

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

(55)

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

(56)

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

(57)

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

(58)

Tabel 4.1 Pengujian QLCG dengan m=8

(59)

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

(60)

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

(61)

Tabel 4.4 Pengujian QLCG dengan m=64

No a b c m Nilai seluruh r Random r time

1 13 67 51 64 0฀51฀33฀35฀17฀19฀1฀3฀49฀51 49 00:00:00.0726

2 46 67 35 64 0฀3฀42฀57฀60฀23฀22฀61฀24฀11฀34฀33฀20฀31฀14฀37 48 19฀26฀9฀44฀39 6฀ 13 8 27 18 49 4 47 62 53 32 35 10 25 28 55 54฀29฀56฀43฀2฀1฀52฀63฀46฀5฀16฀51฀58฀41฀12

7฀38฀45฀40฀59฀50฀17฀36฀15฀30฀ 21฀0฀

50 00:00:00.0721

3 13 58 17 64 0฀17฀24฀1฀24฀1฀24฀1 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฀ 51฀0฀

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

(62)

Tabel 4.5 Lanjutan Pengujian QLCG dengan m=64

7. 1912 2433 2401 64 0฀ 1฀ 58฀ 27฀ 20฀ 21฀ 14฀ 47฀ 40฀41฀

34฀ 3฀ 60฀ 61฀ 54฀ 23฀ 16฀ 17฀ 10฀ 43฀ 36฀ 37฀ 30฀ 63฀ 56฀ 57฀ 50฀ 19฀ 12฀13฀ 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฀ 51฀44฀ 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฀ 53฀16฀ 59 ฀ 18฀ 9฀ 60฀ 63฀ 46฀ 61฀ 8฀ 35฀42฀ 17฀ 52฀ 39฀ 6฀ 5฀0

16 00:00:00.0743

(63)

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฀ 58฀41฀

20฀ 63฀ 54฀ 29฀ 64฀ 99฀ 82฀ 49฀ 12฀39฀

14฀ 101฀ 120฀ 11฀ 106฀ 57฀ 4฀ 15฀ 102฀45฀

48฀ 51฀ 2฀ 65฀ 124฀ 119฀ 62฀ 117฀ 104฀91฀

26฀ 73฀ 116฀ 95฀ 22฀ 61฀ 32฀ 3฀ 50฀81฀

108฀ 71฀ 110฀ 5฀ 88฀ 43฀ 74฀ 89฀ 100฀47฀

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

(64)

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฀

(65)

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฀ 7฀0

(66)

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

(67)
(68)
(69)
(70)
(71)

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

(72)

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

(73)

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

(74)

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

(75)

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

(76)

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

(77)

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

(78)

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

(79)

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

(80)
(81)

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

(82)

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

Gambar

Gambar 3.9 Gambaran Umum Sistem
Gambar 3.10 Flowchart untuk proses Generate p dan q
Gambar 3.11 : Flowchart untuk Proses QLCG
Gambar 3.14 Rancangan Form Authenticationwith FFS and QLCG
+7

Referensi

Dokumen terkait

Hasil dari program kerja KKI dan juga capaian KKI di tahun 2012 dalam bidang pendidikan antara lain telah mensahkan revisi standar pendidikan dan standar

Selalu terdapatnya karyawan di kantor pemasaran merupakan bagian pelayanan yang diberikan pihak Graha Natura Surabaya dalam menunjang kepuasan para pelanggan mereka. Baik

Oleh karena itulah, kami hendak melakukan penelitian terhadap motivasi mahasiswa Sastra Inggris Unisma dalam mempelajari Bahasa Inggris untuk mengetahui orientasi

Model penelitian merupakan abstraksi fenomena-fenomena yang sedang diteliti dalam hal ini sesuai dengan judul skripsi “Pengaruh Kecanggihan Teknologi Informasi,

Berdasarkan masalah penelitian yang telah dikemukakan peneliti-peneliti di atas serta fenomena-fenomena yang terjadi di Kabupaten Karanganyar yang merupakan salah

Anggota yang akan meminjam buku memperlihatkan kartu anggota dan buku yang akan dipinjam kemudian data anggota yang meminjam dan buku yang akan dipinjam dicatat dengan

mikroba mempunyai kontribusi dalam produksi dan kesehatan tanaman terkait dengan: (1) mikroba berperan penting dalam dekomposisi bahan organik (Iimbah pertanian dan hewan), yang

Tuliskan perkataan berimbuhan yang betul berdasarkan kata dasar dalam kurungan yang diberikan... Padankan frasa dengan kata hubung