Gambar 4.5Reset Page
4.2 Pengujian Pengujian dilakukan terhadap algoritma Multiple-KeyRSA untuk mengukur
keberhasilan sistem dalam melakukan proses pembangkitan kunci, enkripsi dan dekripsi serta membandingkan waktu yang diperlukan untuk menghasilkan pasangan
kunci untuk setiap pengguna dan panjang kunci. Pengujian dilakukan dengan kriteria sebagai berikut:
1. Plaintext berupa kata sandi yang terdiri dari karakter ASCII dengan panjang 8 karakter dan dibangkitkan secara acak.
2. Kunci-kunci dibangkitkan secara acak untuk jumlah user 2 hingga 10 pengguna untuk panjang kunci hingga 4096 bit dengan interval 512 bit.
3. Spesifikasi perangkat keras yang digunakan dalam pengujian adalah notebook dengan prosesor Intel Core i3 2,2 GHz dan RAM 4 GB DDR3.
Universitas Sumatera Utara
4.2.1 Skenario Enkripsi Misalkan pada page Index, masukan Username = admin dan Password = fauzana5
serta kunci n = 731, e = 185. Kunci yang digunakan ialah pasangan kunci masing- masing pengguna yang disimpan dalam database. Setelah button Login ditekan, kata
sandi diproses sebagaimana terlihat pada Tabel 4.1.
Tabel 4.1 Enkripsi kata sandi
�
�
�
�����
� ≡ �
�
��� � f
102 527
a 97
600 u
117 185
z 122
694 a
97 600
n 110
25 a
97 600
5 53
138
Kemudian, kata sandi yang terenkripsiberupa Python list, yaitu: [527, 600, 185, 694, 600, 25, 600, 138] akan dicocokkan dengan kata sandi yang
terenkripsi pada database. Seperti proses pada page Index, kata sandi yang akan diubah melalui page Setting juga dienkripsi seperti proses yang ditunjukkan pada
Tabel 4.1 dan disimpan ke dalam database.
4.2.2 Skenario Pembangkitan Kunci dan Proses Dekripsi Misalkan pada Page Reset, super user memasukkan User total t = 2 dan Super
userpassword = fauzana5 serta kunci n = 731, e = 185 dan d = 425. Mula-mula, kata sandi super user dienkripsi seperti yang ditunjukkan pada Tabel 4.1 dan dicocokkan
pada database. Apabila cocok, kata sandi didekripsi seperti Tabel 4.2.
Tabel 4.2Dekripsi kata sandi
� � ≡ �
�
��� � �
�
527 102
f 600
97 a
185 117
u 694
122 z
600 97
a 25
110 n
Universitas Sumatera Utara
600 97
a 138
53 5
Selanjutnya, kunci-kunci yang baru, �, �, �, �� dibangkitkan dengan
panjang sekitar 32 bit dan menggunakan algoritma Gordon’s Strong Prime serta algoritma Miller-Rabin Primality Test.
� = 2 � = 47701
� = 10729 � = 511784029
�� = 511725600 Kemudian pasangan kunci enkripsi dan dekripsi masing-masing user serta kata sandi
acak dibangkitkan.
Tabel 4.3PasanganKata Sandi dan Kunci setiap User
���� ���� �����
�
�
�
�
����0 ���7�
432276761 324244841
����1 �6���
134208107 264359843
Dari kunci-kunci user, didapatkan kunci super
user � = 58015045793901427dari hasil perkalian masing-masing kunci K
e
dan � = 85717315260319963 dari hasil perkalian masing-masing kunci K
d
. Lalu, kata sandi yang telah didekripsi pada Tabel 4.2 dienkripsi kembali menggunakan kunci
yang baru. 4.2.3 Pengujian dan Analisis Hasil Enkripsi dan Dekripsi
Tujuan dari pengujian ini ialah untuk mengetahui jumlah karakter hasil enkripsi kata
sandisepanjang 8 karakter untuk variasi panjang kunci hingga 4096 bit dengan interval 512 bit serta lama proses enkripsi dan dekripsi. Hasil pengujian divisualisasikan pada
Gambar 4.6, 4.7 dan 4.8. Ringkasan panjang kunci dan panjang kata sandi terenkripsi serta lama proses enkripsi dan dekripsi diberikan pada Tabel 4.4. Rata-rata
keseluruhan proses enkripsi adalah 0.404 detik dan dekripsi adalah 0.517 detik.
Universitas Sumatera Utara
Tabel 4.4Panjang Ciphertext, Rata-rata lama eksekusi
proses Enkripsi dan Dekripsi untuk setiap Panjang Kunci
Kunci bit
Panjang Kunci
p
karakter Panjang
Kunci
q
karakter Panjang
Kunci
n
karakter Panjang
Kunci
e
karakter Panjang
Ciphertext
karakter Lama
Enkripsi detik
Lama Dekripsi
detik 512
66 67
132 132
1078 0.006000042
0.006999969 1024
133 132
265 264
2138 0.039999962
0.101000071 1536
196 196
392 392
3156 0.090999842
0.111999989 2048
260 260
520 519
4182 0.197999954
0.282000065 2560
325 324
648 647
5202 0.382999897
0.474999905 3072
389 389
777 777
6234 0.599999905
0.761000156 3586
453 453
905 905
7263 0.950999975
1.246999979 4096
517 517
1033 1033
8287 1.371999979
1.676000118
Gambar 4.6 Grafik Panjang Kunci terhadap Panjang Kata Sandi Terenkripsi Tabel 4.5 Kode enkripsi pesan
Step Kode
1: 2:
3: 4:
5: def encryptPt, n, e:
C = [] for i in range0, lenPt:
C.appendpowordPt[i], e, n return C
1000 2000
3000 4000
5000 6000
7000 8000
9000
512 1024
1536 2048
2560 3072
3584 4096
P a
n ja
n g
K a
ta S
a n
d i
T e
re n
k ri
p si
Panj ang Kunci bit
Universitas Sumatera Utara
Gambar 4.7 Grafik Panjang Kunci terhadap lama Proses Enkripsi Tabel 4.6 Kode dekripsi pesan
Step Kode
1: 2:
3: 4:
5: def decryptC, n, d:
P = [] for i in range0, lenC:
P.appendchrpowC[i], d, n return P
Gambar 4.8 Grafik Panjang Kunci terhadap lama Proses Dekripsi
Berdasarkan Tabel 4.4 dan Gambar 4.6, hubungan panjang kunci dan kata sandi terenkripsi berbanding lurus linier. Apabila fungsi pada Tabel 4.5 dan 4.6
dieksekusi,hasilnya terdapat pada Gambar 4.7 dan 4.8, yaitu: hubungan panjang kunci
0, 0 0, 2
0, 4 0, 6
0, 8 1, 0
1, 2 1, 4
1, 6
512 1024
1536 2048
2560 3072
3584 4096
L a
m a
P ro
se s
E n
k ri
p si
d e
ti k
Panj ang Kunci bit
0, 0 0, 2
0, 4 0, 6
0, 8 1, 0
1, 2 1, 4
1, 6 1, 8
512 1024
1536 2048
2560 3072
3584 4096
L a
m a
P ro
se s
D e
k ri
p si
d e
ti k
Panj ang Kunci bit
Universitas Sumatera Utara
dan lama proses enkripsidekripsi membentuk kurva. Untuk enkripsi maupun dekripsi, kompleksitas waktu pada kasus terbaik dan rata-rata ialah
Οlog�
2
dan pada kasus terburukialah
Οlog�
3
[6].
4.2.4 Pengujian dan Analisis Waktu Eksekusi Miller-Rabin Primality Test Tujuan dari pengujian ini ialah untuk mengetahui lama eksekusi pengujian bilangan
prima Miller-Rabin untuk setiap 2 hingga 10 pengguna dan variasi panjang kunci hingga 4096 bit dengan interval 512 bit. Hasil pengujian divisualisasikan pada
Gambar 4.9. Untuk rata-rata pemrosesan setiap panjang kunci, ringkasannya diberikan pada Tabel 4.7. Untuk pengujian prima Miller-Rabin, kompleksitas waktu ialah
Ο� log
3
�, dengan � = banyaknya nilai � yang diuji atau |�| = jumlah digit � [6].
Gambar 4.9 Grafik Panjang Kunci terhadap lama eksekusiMiller-Rabin Primality Testuntuk setiap Jumlah Pengguna
0, 0 1, 0
2, 0 3, 0
4, 0 5, 0
6, 0
512 1024
1536 2048
2560 3072
3584 4096
W a
k tu
d e
ti k
Panj ang Kunci bit
2 Users 3 Users
4 Users 5 Users
6 Users 7 Users
8 Users 9 Users
10 Users
Universitas Sumatera Utara
Tabel 4.7Rata-rata lama eksekusi Miller-Rabin Primality Test
untuk setiap Panjang Kunci
Panjang Kunci bit Waktu
detik 512
0.007538211 1024
0.038682747 1536
0.123941353 2048
0.289738589 2560
0.721264308 3072
1.146872587 3586
2.333116841 4096
3.722636829
Tabel 4.8Kode algoritma Miller-Rabin
Step Kode
1: 2:
3: 4:
5: 6:
7: 8:
9:
10: 11:
12: 13:
14: 15:
16: 17:
18: 19:
20: 21:
22: def MillerRabinn:
u = n - 1 t = 0
while u 1 == 0: u = 2
t += 1 for i in rangelenstrn:
a = random.randint2, n - 1
if witnessa: return False
return True def witnessa:
x = [] x.appendpowa, u, n
for i in range1, t+1: x.appendpowx[i-1], 2, n
if x[i] == 1 and x[i-1] = 1 and x[i-1] = n - 1:
return True if x[t] = 1:
return True return False
4.2.5 Pengujian dan Analisis Waktu Eksekusi Gordon Strong Prime Tujuan dari pengujian ini ialah untuk mengetahui lama eksekusi pembangkitan
bilangan prima menggunakan algoritma Gordon untuk setiap 2 hingga 10 pengguna dan variasi panjang kunci hingga 4096 bit dengan interval 512 bit. Hasil pengujian
divisualisasikan pada Gambar 4.10. Untuk rata-rata pemrosesan untuk setiap panjang kunci, ringkasannya diberikan pada Tabel 4.8. Rata-rata keseluruhan pengeksekusian
algoritma Gordon adalah 12.04876388 detik.Untuk algoritma Gordon, kompleksitas waktu ialah
Ο|�| log
3
�.
Universitas Sumatera Utara
Gambar 4.10Grafik Panjang Kunci terhadap lama eksekusi algoritma Gordon
untuk Setiap Jumlah Pengguna Tabel 4.9Rata-rata lama eksekusi algoritma Gordon
untuk setiap Panjang Kunci
Panjang Kunci bit Waktu
det 512
0.085000012 1024
0.463611099 1536
1.382944451 2048
4.238222215 2560
8.642666631 3072
15.00533333 3586
27.26494443 4096
39.30738888
0, 00 10, 00
20, 00 30, 00
40, 00 50, 00
60, 00
512 1024
1536 2048
2560 3072
3584 4096
W a
k tu
d e
ti k
Panj ang Kunci bit
2 Users 3 Users
4 Users 5 Users
6 Users 7 Users
8 Users 9 Users
10 Users
Universitas Sumatera Utara
Tabel 4.10Kode Pembangkit Bilangan Prima
Step Kode
Big O 1:
2: 3:
4: 5:
6: def generateRandomPrimebit:
digit = bit 8 n = random.randintpow10, digit - 1,
pow10, digit - 1 while not MillerRabinn:
n = random.randintpow10, digit - 1, pow10, digit - 1
return n 1
1 |
�| log
3
� 1
Kompleksitas Ο|�| log
3
�
Tabel 4.11Kode algoritma Gordon
Step Kode
Big O 1:
2: 3:
4: 5:
6: 7:
8: 9:
10: 11:
12: 13:
14: 15:
16: 17:
18: 19:
20: def generateStrongPrimebit:
n = bit 2 r = generateRandomPrimen
s = generateRandomPrimen while s == r:
s = generateRandomPrimen j = 1
p = 0 q = 2 j s + 1
while not MillerRabinq:
q = 2 j s + 1 j += 1
p0 = powr, q - 1, r q – powq, r - 1, r q + r q
p0 = p0 r q if p0 1 == 0:
return GordonStrongPrimebit j = 1
p = 2 j q r + p0 while not MillerRabinq:
p = 2 j q r + p0 j += 1
return p 1
| �| log
3
� |
�| log
3
� 1
1 1
1 1
| �| log
3
� 1
1 log
� 1
1 1
1 |
�| log
3
� 1
1
Kompleksitas Ο|�| log
3
�
4.2.6 Pengujian dan Analisis Waktu Eksekusi Pembangkitan Kunci Tujuan dari pengujian ini ialah untuk mengetahui lama pembangkitan kunci Multiple-
Key RSAuntuk setiap 2 hingga 10 pengguna dan variasi panjang kunci hingga 4096 bit dengan interval 512 bit. Hasil pengujian divisualisasikan pada Gambar 4.11. Untuk
rata-rata pemrosesan untuk setiap panjang kunci, ringkasannya diberikan pada Tabel 4.12. Rata-rata keseluruhan pengeksekusian pembangkitan kunci Multiple-Key
RSAadalah 29.53362501 detik.
Universitas Sumatera Utara
Gambar 4.11Grafik Panjang Kunci terhadap lamaPembangkitan Kunci untuk Setiap Jumlah Pengguna
Tabel 4.12Rata-rata lama eksekusi Pembangkitan Kunci Multiple-KeyRSA untuk setiap Panjang Kunci
Panjang Kunci bit Waktu
det 512
0.253888898 1024
1.304333316 1536
3.551555581 2048
10.73977778 2560
19.69411111 3072
42.8465556 3586
61.54122223 4096
96.33755559
0, 00 20, 00
40, 00 60, 00
80, 00 100, 00
120, 00 140, 00
160, 00
512 1024
1536 2048
2560 3072
3584 4096
w a
k tu
d e
ti k
Panj ang Kunci bit
2 Users 3 Users
4 Users 5 Users
6 Users 7 Users
8 Users 9 Users
10 Users
Universitas Sumatera Utara
BAB V KESIMPULAN DAN SARAN