BAB 3 ANALISIS DAN PERANCANGAN
3.3 Perancangan Interface
3.3.7 Halaman Penutup
Tampilan yang berisikan penutup dari seluruh proses rangkaian sistem.
Gambar 3.20 Halaman Penutup Keterangan :
1. Label, menampilkan kesimpulan sistem.
2. Button, mengarahkan user ke halaman awal.
BAB IV
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi Sistem
Implementasi sistem pada penelitian ini dibangun menggunakan bahasa pemrograman C# dengan software SharpDevelop. Sistem ini memiliki tujuh halaman, diantaranya :
1. Halaman Splash Screen, 2. Halaman Home,
3. Halaman Informasi,
4. Halaman Pembangkit Kunci, 5. Halaman Enkripsi,
6. Halaman Dekripsi, dan 7. Halaman Penutup.
4.1.1 Halaman Splash Screen
Halaman splash screen menampilkan informasi mengenai judul dan informasi penulis. Berikut tampilan halaman splash screen pada gambar 4.1 :
Gambar 4.1 Tampilan Halaman Splash screen
4.1.2 Halaman Home
Halaman home menampilkan empat pilihan menu yang terdiri dari halaman informasi, halaman pembangkit kunci, halaman enkripsi, dan halaman dekripsi.
Berikut tampilan halaman home pada gambar 4.2 :
Gambar 4.2 Tampilan Halaman Home
4.1.3 Halaman Informasi
Halaman informasi menampilkan penjelasan mengenai peran dari sender dan recipient dalam penggunaan sistem dan penjelasan mengenai algoritma Spritz dan algoritma kunci publik Rabin-p yang digunakan pada sistem. Berikut tampilan halaman informasi pada gambar 4.3 :
Gambar 4.3 Tampilan Halaman Informasi
4.1.4 Halaman Pembangkit Kunci
Halaman pembangkit kunci menampilkan tombol pembangkit kunci dan tombol simpan. Untuk membangkitkan bilangan prima p dan q serta kunci publik dan kunci privat, recipient hanya perlu menekan tombol pembangkit kunci. Kemudian sistem akan menampilkan nilai kunci pada kolom yang sudah tersedia. Setelah itu, recipient tinggal menekan tombol simpan untuk menyimpan kunci publik dan kunci privat yang telah didapat dari proses pembangkitan kunci. Berikut tampilan halaman pembangkit kunci pada gambar 4.4:
Gambar 4.4 Tampilan Halaman Pembangkit Kunci
4.1.5 Halaman Enkripsi
Halaman enkripsi menampilkan proses enkripsi yang akan dilakukan oleh sender.
Sender memasukkan teks dan membangkitkan kunci Spritz yang akan dienkripsi.
Kemudian sender menekan tombol simpan kunci Spritz untuk menyimpan kunci Spritz. Setelah itu, sender menekan tombol enkripsi dan hasil enkripsi akan disimpan sebagai Ciphertext. Pada bagian enkripsi kunci, sender memasukkan kunci publik Rabin-p dan kunci Spritz yang telah dibangkitkan. Sender menekan tombol enkripsi kunci dan hasilnya akan disimpan sebagai Cipherkey. Pada proses enkripsi ini dapat dilihat waktu dari proses enkripsi teks dan enkripsi kunci. Berikut tampilan halaman enkripsi pada gambar 4.5 :
Gambar 4.5 Tampilan Halaman Enkripsi
4.1.6 Halaman Dekripsi
Halaman dekripsi menampilkan proses dekripsi yang akan dilakukan oleh recipient.
Recipient memasukkan kunci privat Rabin-p yang telah dibangkitkan dan Cipherkey yang didapat dari proses enkripsi kunci. Kemudian recipient menekan tombol dekripsi kunci dan akan menghasilkan kunci Spritz. Setelah itu, recipient memasukkan Ciphertext yang didapat dari proses enkripsi teks dan menekan tombol dekripsi. Hasil yang diperoleh dari dekripsi kunci Spritz dan Ciphertext adalah teks yang diinputkan pada saat akan melakukan enkripsi. Hasil dekripsi akan disimpan dan dapat dibaca oleh recipient. Berikut tampilan halaman dekripsi pada gambar 4.6 :
Gambar 4.6 Tampilan Halaman Dekripsi
4.1.7 Halaman Penutup
Halaman penutup menampilkan pesan bahwa proses pembangkitan kunci, proses enkripsi dan proses dekripsi menggunakan algoritma Spritz dan algoritma kunci publik Rabin-p dengan skema Hybrid Cryptosystem telah selesai dilakukan dan bisa kembali ke halaman home. Berikut tampilan halaman penutup pada gambar 4.7 :
Gambar 4.7 Tampilan Halaman Penutup
4.2 Pengujian Sistem
Pengujian sistem yang telah dibangun berguna untuk memastikan bahwa sistem dapat berjalan dengan baik dan hasil yang dimasukkan pada proses enkripsi dapat kembali saat dilakukannya proses dekripsi. Pengujian dilakukan menggunakan algoritma Spritz dan algoritma kunci publik Rabin-p dengan skema Hybrid Cryptosystem dengan menggunakan bahasa pemrograman C# pada software SharpDevelop dan perhitungan manual dari proses pembangkitan kunci, proses enkripsi teks dan kunci, serta proses dekripsi kunci dan teks yang dilakukan oleh penulis.
4.2.1 Pengujian Pembangkit Kunci
Halaman pengujian pembangkit kunci menampilkan kunci yang telah dibangkitkan oleh recipient setelah menekan tombol pembangkit kunci dan kunci yang telah didapatkan yaitu kunci publik dan kunci privat yang akan disimpan ketika recipient menekan tombol simpan. Berikut tampilan dari proses pengujian pembangkitan kunci pada gambar 4.8 :
Gambar 4.8 Tampilan Halaman Pengujian Pembangkit Kunci
4.2.1.1 Perhitungan Pembangkit Kunci Algoritma Rabin-p
Saat tombol kunci ditekan, maka sistem akan menampilkan nilai dari p, q, dan N Hitung p dan q :
β’ π = 7951 (7951 πππ 4 = 3)
β’ π = 4519 (4519 πππ 4 = 3) Hitung N :
β’ π = π2. π = 79512. 4519 = 285683954119 Maka, N menjadi kunci publik dan p menjadi kunci privat
4.2.2 Pengujian Enkripsi
Halaman pengujian enkripsi menampilkan proses enkripsi teks yang telah dilakukan oleh sender dengan memasukkan file berekstensi .docx dan membangkitkan kunci Spritz. Kemudian hasil enkripsi teks disimpan menjadi Ciphertext. Pada bagian enkripsi kunci, sender memasukkan kunci publik Rabin-p dan kunci Spritz. Hasil dari enkripsi kunci disimpan menjadi Cipherkey. Berikut tampilan proses pengujian enkripsi teks dan kunci pada gambar 4.9 :
Gambar 4.9 Tampilan Halaman Pengujian Enkripsi Teks dan Enkripsi Kunci
4.2.2.1 Perhitungan Enkripsi Teks
Pengujian dilakukan dengan memasukkan file berekstensi (*.docx) yaitu file nama.docx. Proses enkripsi pada teks menggunakan algoritma Spritz dan dienkripsi dengan kunci Spritz yang akan menghasilkan Ciphertext. Pengujian akan dilakukan oleh penulis dengan contoh berikut ini :
1. Teks yang akan dienkripsi adalah βDheaβ.
2. Kunci Spritz yang digunakan sender adalah βNAMEβ.
4.2.2.2 Key Scheduling Algorithm
Tahap ini dimulai dengan menginisialisasikan state awal berupa larik yang terdiri dari 256 kemungkinan bytes yang ada pada array S. Dimana S merupakan permutasi 256 byte yang dideklarasi oleh KSA. Kunci yang digunakan adalah
βNAMEβ. Maka panjang kuncinya adalah empat karakter dengan larik key[0] =
βNβ, key[1] = βAβ, key[2] = βMβ, key[3] = βEβ. Nilai ASCII dari empat kunci tersebut yaitu key= [78, 65, 77, 69]. Selanjutnya perhitungan nilai j yang pertama dengan nilai awal i = 0 dan j = 0 sebagai berikut :
π = (π + π[π] + πππ¦[π πππ πππ¦ πππππ‘β]) πππ 256
π = (0 + π[0] + πππ¦[0 πππ 3])πππ 256 = (0 + 0 + 78)πππ 256 = 78 π π€ππ(π[π], π[π]) = π π€ππ(π[0], π[78])
π[0] = 78
π[78] = 0
Kemudian dilanjutkan perhitungan nilai π yang dimulai dengan π = 1 dan π = 78 sebagai berikut :
π = (78 + π[1] + πππ¦[1 πππ 3])πππ 256 = (78 + 1 + 65)πππ 256 = 144 π π€ππ(π[π], π[π]) = π π€ππ(π[1], π[144])
π[1] = 144 π[144] = 1
Dilanjutkan sampai π = 255
Tabel 4.1 Larik 256 byte hasil perhitungan Tahap Key Scheduling Algorithm
0 1 2 3 4 5 6 7 8 9 10 11 12
78 8 217 56 205 60 41 94 24 254 85 118 226
13 14 15 16 17 18 19 20 21 22 23 24 25
77 133 80 81 172 234 96 115 252 114 68 52 59
26 27 28 29 30 31 32 33 34 35 36 37 38
108 101 219 183 2 236 231 188 43 147 186 173 3
39 40 41 42 43 44 45 46 47 48 49 50 51
170 156 14 48 228 174 238 71 187 11 66 103 162
52 53 54 55 56 57 58 59 60 61 62 63 64
119 126 102 92 39 116 251 123 36 212 168 127 19
65 66 67 68 69 70 71 72 73 74 75 76 77
51 98 20 75 194 216 112 190 106 200 206 0 195
78 79 80 81 82 83 84 85 86 87 88 89 90
44 229 139 90 175 215 201 209 232 16 230 128 237
91 92 93 94 95 96 97 98 99 100 101 102 103
55 22 164 177 196 37 239 154 35 221 197 134 125 104 105 106 107 108 109 110 111 112 113 114 115 116
23 63 176 202 82 245 30 161 83 67 47 40 105
117 118 119 120 121 122 123 124 125 126 127 128 129 109 13 199 198 210 99 203 207 141 145 33 138 158
130 131 132 133 134 135 136 137 138 139 140 141 142
Tahap ini akan melakukan enkripsi teks yang berisi string βDheaβ yang memiliki kode ASCII 68, 104, 101 dan 97. Teks akan diinisialisasikan dengan nilai i, j, k, z dengan nilai 0 dan w merupakan nilai acak atau yang relatif prima dengan panjang S yaitu 256. Enkripsi teks dilakukan dengan tahapan sebagai berikut :
Karakter βDβ
β’ π = (π + π + π[π]) = (15 + 0 + π[139])πππ 256
= (15 + 0 + 53)πππ 256
= 68 πππ 256 = 68
β’ π[π], π[π] = π[π] = π[15] = 80, π[π] = π[139] = 53
β’ π π€ππ π[π] π€ππ‘β π[π] = π[π] = π[15] = 53, π[π] = π[139] = 80
β’ π§ = π[π + π[π + π[π§ + π]]] = π[139 + π[15 + π[0 + 68]]] πππ 256
= π[139 + π[15 + 75]] πππ 256
= π[139 + π[90] πππ 256
= π[139 + 237] πππ 256
= π[376] πππ 256
= π[120] πππ 256 = 198 πππ 256 = 198
Operasi XOR dilakukan untuk mendapatkan hasil enkripsinya dengan nilai dari karakter βDβ adalah 68 dan nilai z yang diperoleh adalah 198.
68 = 01000100 198 = 11000110
= 10000010 = 13010 dalam tabel ASCII merupakan β Δ β
Karakter βhβ
π = 15; π = 139; π = 68; π§ = 198; π€ = 15
β’ π = (π + π€) = (15 + 15)πππ 256 = 30
β’ π = (π + π[π + π[π]]) = (68 + π[139 + π[30]])πππ 256
= (68 + π[139 + 2 ])πππ 256
= (68 + π[141])πππ 256
= (68 + 88)πππ 256
= 156 πππ 256 = 156
β’ π = (π + π + π[π]) = (30 + 68 + π[156])πππ 256
= (30 + 68 + 166)πππ 256
= 264 πππ 256 = 8
β’ π[π], π[π] = π[π] = π[30] = 2, π[π] = π[156] = 166
β’ π π€ππ π[π] π€ππ‘β π[π] = π[π] = π[30] = 166, π[π] = π[156] = 2
β’ π§ = π[π + π[π + π[π§ + π]]] = π[156 + π[30 + π[198 + 8]]] πππ 256
= π[156 + π[30 + 86]] πππ 256
= π[156 + π[116] πππ 256
= π[156 + 105] πππ 256
= π[261] πππ 256
= π[5] πππ 256 = 60 πππ 256 = 60
Operasi XOR dilakukan untuk mendapatkan hasil enkripsinya dengan nilai dari karakter βhβ adalah 104 dan nilai z yang diperoleh adalah 60.
104 = 01101000
Operasi XOR dilakukan untuk mendapatkan hasil enkripsinya dengan nilai dari karakter βeβ adalah 101 dan nilai z yang diperoleh adalah 71.
101 = 01100101 71 = 01000111
= 00010010 = 3410 dalam tabel ASCII merupakan β β β
Karakter βaβ
π = 45; π = 161; π = 79; π§ = 71; π€ = 15
β’ π = (π + π€) = (45 + 15)πππ 256 = 60
β’ π = (π + π[π + π[π]]) = (79 + π[161 + π[60]])πππ 256
= (79 + π[161 + 36])πππ 256
= (79 + π[197])πππ 256
= (79 + 159)πππ 256
= 238 πππ 256 = 238
β’ π = (π + π + π[π]) = (60 + 79 + π[238])πππ 256
= (60 + 79 + 70)πππ 256
= 209 πππ 256 = 209
β’ π[π], π[π] = π[π] = π[60] = 36, π[π] = π[238] = 70
β’ π π€ππ π[π] π€ππ‘β π[π] = π[π] = π[60] = 70, π[π] = π[238] = 36
β’ π§ = π[π + π[π + π[π§ + π]]] = π[238 + π[60 + π[71 + 209]]] πππ 256
= π[238 + π[60 + 52]] πππ 256
= π[238 + π[112] πππ 256
= π[238 + 83] πππ 256
= π[321] πππ 256
= π[65] πππ 256 = 51 πππ 256 = 51
Operasi XOR dilakukan untuk mendapatkan hasil enkripsinya dengan nilai dari karakter βaβ adalah 97 dan nilai z yang diperoleh adalah 51.
97 = 01100001 51 = 00110011
= 01010010 = 8210 dalam tabel ASCII merupakan β R β
Hasil enkripsi yang didapat adalah β ΔTβR β
4.2.2.4 Perhitungan Enkripsi Kunci
Pengujian enkripsi kunci dilakukan dengan memasukkan kunci publik Rabin-p dan kunci Spritz. Enkripsi ini dilakukan dengan menggunakan algoritma Rabin-p.
Berikut proses pengujian enkripsi kunci : Kunci Publik (N) = 285683954119 1. Enkripsi Kunci
a. Karakter βNβ memiliki kode ASCII = 78
β’ π β‘ π2 πππ π β‘ 782 πππ 285683954119 β‘ 6084 b. Karakter βAβ memiliki kode ASCII = 65
β’ π β‘ π2 πππ π β‘ 652 πππ 285683954119 β‘ 4225 c. Karakter βMβ memiliki kode ASCII = 77
β’ π β‘ π2 πππ π β‘ 772 πππ 285683954119 β‘ 5929 d. Karakter βEβ memiliki kode ASCII = 69
β’ π β‘ π2 πππ π β‘ 692 πππ 285683954119 β‘ 4761
Tabel 4.2 Hasil Enkripsi Kunci Publik Rabin-p dan Kunci Spritz Karakter Kode ASCII Cipherkey
N 78 6084
A 65 4225
M 77 5929
E 69 4761
4.2.3 Pengujian Dekripsi
Halaman pengujian dekripsi menampilkan proses dari dekripsi kunci dengan memasukkan kunci privat Rabin-p dan Cipherkey yang akan didekripsi dan menghasilkan kunci Spritz. Kemudian pada proses dekripsi teks, dilakukan dengan memasukkan Ciphertext dan didekripsi bersama kunci Spritz yang hasilnya berupa teks asli yang diinputkan saat akan dilakukannya enkripsi. Hasil dari dekripsi disimpan menjadi file .docx. Berikut tampilan proses pengujian dekripsi kunci dan teks pada gambar 4.10 :
Gambar 4.10 Tampilan Halaman Pengujian Dekripsi Kunci dan Teks
4.2.3.1 Perhitungan Dekripsi Kunci
Pengujian dekripsi kunci dilakukan dengan memasukkan kunci privat Rabin-p dan Cipherkey. Dekripsi ini dilakukan dengan menggunakan algoritma Rabin-p.
Berikut proses pengujian dekripsi kunci : Kunci Privat (p) = 7951
β’ π1 = ππ+ (π. π) = 7886 + (7950.7951) = 63218336
Tabel 4.3 Hasil Dekripsi Kunci Privat Rabin-p dan Cipherkey Cipherkey Kode ASCII Karakter
6084 78 N
4225 65 A
5929 77 M
4761 69 E
4.2.3.2 Perhitungan Dekripsi Teks
Pengujian proses dekripsi menggunakan algoritma Spritz dengan memasukkan kunci Spritz dan Ciphertext. Ciphertext akan di XOR-kan dengan menggunakan
perhitungan seperti pada tahap Pseudo-Random Generation Algorithm (PRGA) dan tahap Key Scheduling Algorithm (KSA). Ciphertext yang didekripsi adalah β ΔTβR
β dengan proses sebagai berikut : Karakter β Δ β
π = 0; π = 0; π = 0; π§ = 0; π€ = 15
β’ π = (π + π€) = (0 + 15)πππ 256 = 15
β’ π = (π + π[π + π[π]]) = (0 + π[0 + π[15]])πππ 256
= (0 + π[0 + 80])πππ 256
= (0 + π[80])πππ 256
= 139 πππ 256 = 139
β’ π = (π + π + π[π]) = (15 + 0 + π[139])πππ 256
= (15 + 0 + 53)πππ 256
= 68 πππ 256 = 68
β’ π[π], π[π] = π[π] = π[15] = 80, π[π] = π[139] = 53
β’ π π€ππ π[π] π€ππ‘β π[π] = π[π] = π[15] = 53, π[π] = π[139] = 80
β’ π§ = π[π + π[π + π[π§ + π]]] = π[139 + π[15 + π[0 + 68]]] πππ 256
= π[139 + π[15 + 75]] πππ 256
= π[139 + π[90] πππ 256
= π[139 + 237] πππ 256
= π[376] πππ 256
= π[120] πππ 256 = 198 πππ 256 = 198
Operasi XOR dilakukan untuk mendapatkan hasil dekripsinya dengan nilai dari karakter βΔβ adalah 130 dan nilai z yang diperoleh adalah 198.
130 = 10000010 198 = 11000110
= 01000100 = 6810 dalam tabel ASCII merupakan β D β
Karakter β T β
π = 15; π = 139; π = 68; π§ = 198; π€ = 15
β’ π = (π + π€) = (15 + 15)πππ 256 = 30
β’ π = (π + π[π + π[π]]) = (68 + π[139 + π[30]])πππ 256
= (68 + π[139 + 2 ])πππ 256
= (68 + π[141])πππ 256
= (68 + 88)πππ 256
= 156 πππ 256 = 156
β’ π = (π + π + π[π]) = (30 + 68 + π[156])πππ 256
= (30 + 68 + 166)πππ 256
= 264 πππ 256 = 8
β’ π[π], π[π] = π[π] = π[30] = 2, π[π] = π[156] = 166
β’ π π€ππ π[π] π€ππ‘β π[π] = π[π] = π[30] = 166, π[π] = π[156] = 2
β’ π§ = π[π + π[π + π[π§ + π]]] = π[156 + π[30 + π[198 + 8]]] πππ 256
= π[156 + π[30 + 86]] πππ 256
= π[156 + π[116] πππ 256
= π[156 + 105] πππ 256
= π[261] πππ 256
= π[5] πππ 256 = 60 πππ 256 = 60
Operasi XOR dilakukan untuk mendapatkan hasil dekripsinya dengan nilai dari karakter βTβ adalah 84 dan nilai z yang diperoleh adalah 60.
84 = 01010100 60 = 00111100
= 01101000 = 10410 dalam tabel ASCII merupakan β h β
Karakter β β β
π = 30; π = 156; π = 8; π§ = 60; π€ = 15
β’ π = (π + π€) = (30 + 15)πππ 256 = 45
β’ π = (π + π[π + π[π]]) = (8 + π[156 + π[45]])πππ 256
= (8 + π[156 + 238])πππ 256
= (8 + π[394])πππ 256
= (8 + 153)πππ 256
= 161 πππ 256 = 161
β’ π = (π + π + π[π]) = (45 + 8 + π[161])πππ 256
= (30 + 68 + 26)πππ 256
= 279 πππ 256 = 79
β’ π[π], π[π] = π[π] = π[45] = 238, π[π] = π[161] = 79
β’ π π€ππ π[π] π€ππ‘β π[π] = π[π] = π[45] = 79, π[π] = π[161] = 238
β’ π§ = π[π + π[π + π[π§ + π]]] = π[161 + π[45 + π[79 + 60]]] πππ 256
= π[161 + π[45 + 80]] πππ 256
= π[161 + π[125] πππ 256
= π[161 + 141] πππ 256
= π[302] πππ 256
= π[46] πππ 256 = 71 πππ 256 = 71
Operasi XOR dilakukan untuk mendapatkan hasil dekripsinya dengan nilai dari karakter β β β adalah 34 dan nilai z yang diperoleh adalah 71
34 = 00010010 71 = 01000111
= 01100101 = 10110 dalam tabel ASCII merupakan β e β
Karakter β R β
π = 45; π = 161; π = 79; π§ = 71; π€ = 15
β’ π = (π + π€) = (45 + 15)πππ 256 = 60
β’ π = (π + π[π + π[π]]) = (79 + π[161 + π[60]])πππ 256 = (79 + π[161 + 36])πππ 256
= (79 + π[197])πππ 256
= (79 + 159)πππ 256 = 238 πππ 256
= 238
β’ π = (π + π + π[π]) = (60 + 79 + π[238])πππ 256
= (60 + 79 + 70)πππ 256
= 209 πππ 256 = 209
β’ π[π], π[π] = π[π] = π[60] = 36, π[π] = π[238] = 70
β’ π π€ππ π[π] π€ππ‘β π[π] = π[π] = π[60] = 70, π[π] = π[238] = 36
β’ π§ = π[π + π[π + π[π§ + π]]] = π[238 + π[60 + π[71 + 209]]] πππ 256
= π[238 + π[60 + 52]] πππ 256
= π[238 + π[112] πππ 256
= π[238 + 83] πππ 256
= π[321] πππ 256
= π[65] πππ 256 = 51 πππ 256 = 51
Operasi XOR dilakukan untuk mendapatkan hasil dekripsinya dengan nilai dari karakter βRβ adalah 82 dan nilai z yang diperoleh adalah 51.
82 = 01010010 51 = 00110011
= 01100001 = 9710 dalam tabel ASCII merupakan β a β Hasil dekripsi yang didapat adalah β Dhea β
4.2.4 Waktu Proses Pengujian Sistem (Real Running Time)
Proses pengujian pada sistem, berguna untuk mengetahui waktu dari masing-masing proses enkripsi teks dan kunci serta dekripsi kunci dan teks dengan berbagai variasi dari panjang teks maupun panjang kuncinya. Satuan waktu dalam proses pengujian ini yaitu second (s) dengan file teks berekstensi .docx.
4.2.4.1 Waktu Proses Enkripsi File Algoritma Spritz
Proses enkripsi file dengan algoritma Spritz dilakukan pada teks dengan jumlah karakter 25000, 50000, 75000, dan 100000. Setiap karakter diuji sebanyak 3 kali percobaan.
1. Tabel 4.4 menampilkan hasil dari percobaan proses enkripsi file menggunakan algoritma Spritz dengan jumlah karakter 25000, 50000, 75000, dan 100000 dengan panjang kunci Spritz yaitu 23 digit.
Tabel 4.4 Hasil Percobaan Waktu Proses Enkripsi File pada Algoritma Spritz
Banyak karakter pada
file
Waktu Proses Enkripsi File (second) Percobaan Percobaan Percobaan Rata - rata
1 2 3
25000 0,332483 0,2531866 0,2638371 0,2831689 50000 1,3223415 1,378917 1,4869304 1,39606297 75000 3,7082663 3,7884072 5,1889002 4,22852457 100000 6,2719996 8,6413783 8,6831883 7,86552207
Pada tabel 4.4, diperoleh hasil percobaan dari proses enkripsi file dengan banyak karakter 25000, 50000, 75000 dan 100000 dan panjang kunci yaitu 23 digit.
Percobaan dilakukan sebanyak 3 kali dan diperoleh nilai rata-rata dari proses enkripsi untuk setiap karakter yang diuji. Berikut merupakan grafik yang menampilkan hasil dari percobaan yang sesuai dengan tabel 4.3 :
Gambar 4.11 Grafik Rata-Rata Proses Enkripsi File Algoritma Spritz dengan Panjang Kunci 23 Digit
Gambar 4.11 menunjukkan grafik dari rata-rata waktu proses enkripsi file pada algoritma Spritz yang memiliki panjang kunci 23 digit dengan panjang karakter yang semakin panjang, maka waktu proses enkripsi menjadi semakin lama.
Jika panjang karakter semakin pendek, maka waktu proses enkripsi menjadi semakin cepat.
2. Tabel 4.5 menampilkan hasil dari percobaan proses enkripsi file menggunakan algoritma Spritz dengan jumlah karakter 100000 dan memiliki panjang kunci Spritz yaitu 25, 50, 75, 100.
Tabel 4.5 Hasil Percobaan Waktu Proses Enkripsi File pada Algoritma Spritz dengan 100000 karakter
Banyak digit kunci Spritz
Waktu Proses Enkripsi File (second)
Percobaan Percobaan Percobaan Rata - rata
1 2 3
25 9,971011 10,7936283 11,032221 10,5989534 50 10,8253851 10,8818837 11,3528375 11,0200354 75 11,2790708 11,5523956 11,6221313 11,4845326 100 11,1475458 11,7044518 12,3362333 11,7294103
0,2831689
Grafik Rata-Rata Proses Enkripsi File Algoritma Spritz dengan Panjang Kunci 23 Digit
Waktu Proses (s)
Pada tabel 4.5, diperoleh hasil percobaan dari proses enkripsi file dengan jumlah karakter 100000 dan panjang kunci Spritz yaitu 25, 50, 75, dan 100 digit.
Percobaan dilakukan sebanyak 3 kali dan diperoleh nilai rata-rata dari proses enkripsi untuk setiap kunci yang diuji. Berikut merupakan grafik yang menampilkan hasil dari percobaan yang sesuai dengan tabel 4.5 :
Gambar 4.12 Grafik Rata-Rata Proses Enkripsi File Algoritma Spritz dengan Panjang 100000 Karakter
Gambar 4.12 menunjukkan grafik dari rata-rata waktu proses enkripsi file pada algoritma Spritz yang memiliki panjang 100000 karakter dengan panjang kunci yang semakin panjang, maka waktu proses enkripsi menjadi semakin lama.
Jika panjang kunci semakin pendek, maka waktu proses enkripsi menjadi semakin cepat.
4.2.4.2 Waktu Proses Enkripsi Kunci Algoritma Rabin-p
Proses enkripsi kunci dengan algoritma Rabin-p dihitung dengan nilai kunci publik
= 308105806243 dan panjang kunci Spritz adalah 25, 50, 75, dan 100. Berikut hasil dari percobaan yang terdapat pada tabel 4.6 :
Tabel 4.6 Hasil Percobaan Waktu Proses Enkripsi Kunci pada Algoritma Rabin-p
Banyak digit kunci Spritz
Waktu Proses Enkripsi Kunci (second) Percobaan Percobaan Percobaan Rata - rata
1 2 3
25 0,0044422 0,0058835 0,0045715 0,00496573333 50 0,017113 0,0162373 0,0154061 0,0162521333
10,5989534
Grafik Rata-Rata Proses Enkripsi File Algoritma Spritz dengan Panjang 100000 Karakter
Waktu Proses (s)
75 0,0250895 0,0243679 0,0217713 0,0237429 100 0,0312019 0,0359933 0,0333973 0,0335308333
Pada tabel 4.6, diperoleh hasil percobaan dari proses enkripsi kunci Spritz dengan proses enkripsi dari algoritma Rabin-p, dengan nilai dari kunci publik yaitu 308105806243 dan panjang kunci Spritz yaitu 25, 50, 75, dan 100 digit. Percobaan dilakukan sebanyak 3 kali dan diperoleh nilai rata-rata dari proses enkripsi untuk setiap kunci yang diuji. Berikut merupakan grafik yang menampilkan hasil dari percobaan yang sesuai dengan tabel 4.6 :
Gambar 4.13 Grafik Rata-Rata Proses Enkripsi Kunci dengan Algoritma Rabin-p Gambar 4.13 menunjukkan grafik dari rata-rata waktu proses enkripsi kunci Spritz dengan proses enkripsi dari algoritma Rabin-p, semakin panjang kunci, maka waktu proses enkripsi menjadi semakin lama. Jika panjang kunci semakin pendek, maka waktu proses enkripsi menjadi semakin cepat.
4.2.4.3 Waktu Proses Dekripsi Kunci Algoritma Rabin-p
Proses dekripsi kunci dengan algoritma Rabin-p dihitung dengan nilai kunci privat
= 8747 dan panjang kunci Spritz adalah 25, 50, 75, dan 100. Berikut hasil dari percobaan yang terdapat pada tabel 4.7 :
Tabel 4.7 Hasil Percobaan Waktu Proses Dekripsi Kunci pada Algoritma Rabin-p
Banyak karakter pada file
Waktu proses dekripsi kunci (second) Percobaan Percobaan Percobaan Rata - rata
1 2 3
25 0,0592297 0,0624378 0,0629617 0.0615430667 0,004965733
Grafik Rata-Rata Proses Enkripsi Kunci dengan Algoritma Rabin-p
Waktu Proses (s)
50 0,1247218 0,1128496 0,1264593 0,121343567 75 0,1812996 0,1889602 0,1842123 0,184824033 100 0,240694 0,2234435 0,223378 0,229171833
Pada tabel 4.7, diperoleh hasil percobaan dari proses dekripsi kunci Spritz dengan proses enkripsi dari algoritma Rabin-p, dengan nilai dari kunci privat yaitu 8747 dan panjang kunci Spritz yaitu 25, 50, 75, dan 100 digit. Percobaan dilakukan sebanyak 3 kali dan diperoleh nilai rata-rata dari proses dekripsi untuk setiap kunci yang diuji. Berikut merupakan grafik yang menampilkan hasil dari percobaan yang sesuai dengan tabel 4.7:
Gambar 4.14 Grafik Rata-Rata Proses Dekripsi Kunci dengan Algoritma Rabin-p Gambar 4.14 menunjukkan grafik dari rata-rata waktu proses dekripsi kunci Spritz dengan proses dekripsi dari algoritma Rabin-p, maka semakin pendek kunci, maka waktu proses dekripsi menjadi semakin cepat. Jika panjang kunci semakin panjang, maka waktu proses dekripsi menjadi semakin lama.
4.2.4.4 Waktu Proses Dekripsi File Algoritma Spritz
Proses dekripsi file dengan algoritma Spritz dilakukan pada teks dengan jumlah karakter 25000, 50000, 75000, dan 100000. Setiap karakter diuji sebanyak 3 kali percobaan.
1. Tabel 4.8 menampilkan hasil dari percobaan proses dekripsi file menggunakan algoritma Spritz dengan jumlah karakter 25000, 50000, 75000 dan 100000 dengan panjang kunci Spritz 23 digit.
0,061543067
Grafik Rata-Rata Proses Dekripsi Kunci dengan Algoritma Rabin-p
Waktu Proses (s)
Tabel 4.8 Hasil Percobaan Waktu Proses Dekripsi File pada Algoritma Spritz
Banyak karakter pada
file
Waktu proses dekripsi file (second)
Percobaan Percobaan Percobaan Rata - rata
1 2 3
25000 0,1890457 0,1880287 0,1949476 0,190674 50000 1,1163176 1,2123519 1,4174185 1,248696 75000 2,6952574 3,9510052 4,4607114 3,70232467 100000 5,6800945 7,8261484 8,1573597 7,22120087
Pada tabel 4.8, diperoleh hasil percobaan dari proses dekripsi file dengan banyak karakter 25000, 50000, 75000 dan 100000 dan panjang kunci yaitu 23 digit.
Percobaan dilakukan sebanyak 3 kali dan diperoleh nilai rata-rata dari proses dekripsi untuk setiap karakter yang diuji. Berikut merupakan grafik yang menampilkan hasil dari percobaan yang sesuai dengan tabel 4.8 :
Gambar 4.15 Grafik Rata-Rata Proses Dekripsi File Algoritma Spritz dengan Panjang Kunci 23 Digit
Gambar 4.15 menunjukkan grafik dari rata-rata waktu proses dekripsi file pada algoritma Spritz yang memiliki panjang kunci 5 digit dengan panjang karakter yang semakin panjang, maka waktu proses dekripsi menjadi semakin lama. Jika panjang karakter semakin pendek, maka waktu proses dekripsi menjadi semakin cepat.
2. Tabel 4.9 menampilkan hasil dari percobaan proses dekripsi file menggunakan algoritma Spritz dengan jumlah karakter 100000 yang panjang kunci Spritz yaitu 25, 50, 75, dan 100.
Grafik Rata-Rata Proses Dekripsi File Algoritma Spritz dengan Panjang Kunci 23 Digit
Waktu Proses (s)
Tabel 4.9 Hasil Percobaan Waktu Proses Dekripsi File pada Algoritma Spritz
Banyak digit kunci
Spritz
Waktu Proses Enkripsi (second)
Percobaan Percobaan Percobaan Rata - rata
1 2 3
25 9,3999981 9,4596136 9,6910664 9,5168927 50 9,7277071 9,6962677 9,8928159 9,77226357 75 10,2177209 10,3690043 10,5799951 10,3889068 100 10,1762303 10,8483461 11,1240054 10,7161939
Pada tabel 4.9, diperoleh hasil percobaan dari proses dekripsi file dengan jumlah karakter 100000 dan panjang kunci Spritz yaitu 25, 50, 75, dan 100 digit.
Percobaan dilakukan sebanyak 3 kali dan diperoleh nilai rata-rata dari proses dekripsi untuk setiap kunci yang diuji. Berikut merupakan grafik yang menampilkan hasil dari percobaan yang sesuai dengan tabel 4.9 :
Gambar 4.16 Grafik Rata-Rata Proses Dekripsi File Algoritma Spritz dengan Panjang 100000 Karakter
Gambar 4.16 menunjukkan grafik dari rata-rata waktu proses dekripsi file pada algoritma Spritz yang memiliki panjang 100000 karakter dengan panjang kunci yang semakin panjang, maka waktu proses dekripsi menjadi semakin lama.
Jika panjang kunci semakin pendek, maka waktu proses dekripsi menjadi semakin cepat.
Grafik Rata-Rata Proses Dekripsi File Algoritma Spritz dengan Panjang 100000 Karakter
Waktu Proses (s)
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berikut merupakan kesimpulan yang diperoleh dari hasil penelitian, yaitu :
1. Hasil proses enkripsi file yang berekstensi .docx pada algoritma Spritz menghasilkan panjang karakter yang sama dengan teks yang dimasukkan.
2. Hasil proses enkripsi kunci pada algoritma Rabin-p menghasilkan panjang kunci yang sama dengan kunci Spritz yang dimasukkan.
3. Pada percobaan proses enkripsi dan dekripsi file yang berekstensi .docx dengan algoritma Spritz, diperoleh rata-rata dari waktu proses enkripsi yaitu 0,2831689; 1,39606297; 4,22852457; 7,86552207. Sedangkan rata-rata dari waktu proses dekripsi yaitu 0,190674; 1,248696; 3,70232467; 7,22120087.
Hasil tersebut menunjukkan bahwa, jika teks yang dimasukkan semakin panjang maka waktu proses semakin lama.
4. Pada percobaan proses enkripsi kunci dengan algoritma Rabin-p, diperoleh rata-rata dari waktu proses enkripsi yaitu 0,00496573333; 0,0162521333;
0,0237429; 0,0335308333. Sedangkan rata-rata dari waktu proses dekripsi yaitu 0.0615430667; 0,121343567; 0,184824033; 0,229171833. Hasil tersebut menunjukkan bahwa, jika kunci semakin pendek, maka proses semakin cepat.
5.2 Saran
Berikut merupakan saran yang dapat diterapkan pada penelitian selanjutnya, yaitu:
1. Dalam penelitian ini, proses enkripsi dilakukan pada file teks yang berekstensi .docx, diharapkan pada penelitian selanjutnya dilakukan pada file teks yang berekstensi lain.
2. Dalam penelitian ini, sistem yang dibangun berbasis desktop, diharapkan pada penelitian selanjutnya sistem dapat dibangun di perangkat lain.
3. Pada penelitian selanjutnya, dapat dibuat kompleksitas dari masing-masing algoritma.
DAFTAR PUSTAKA
Annelis, S. 2010. Pengkodean Pesan Menggunakan Perpaduan Caesar Cipher dan RSA pada Kriptografi Hibrida. Skripsi. Padang. Universitas Andalas.
Ariyus, Doni. 2008. Pengantar Ilmu Kriptografi Teori, Analisis dan Implementasi.
Yogyakarta: Andi Offset.
Asbullah, M. A., Ariffin, M. R. K., & Mahad, Z. 2016. Analysis on the Rabin-p cryptosystem. Malaysia:Universiti Putra Malaysia.
Asbullah, M. A. and Ariffin, M. R. K. 2014. Rabin-p Cryptosystem: Practical and Efficient Method for Rabin based Encryption Scheme. pp. 1β13. Available at:
http://arxiv.org/abs/1411.4398.
Budiman, M A, D Rachmawati, and R Utami. 2019. The Cryptanalysis of the Rabin Public Key Algorithm using the Fermat Factorization Method. Journal of Physics : Conference Series, 1235 (2019), 012084
<http://doi.org/10.1088/1742-6596/1235/1/012084>
D. Upadhyay, H. Patel. 2013. βHardware Implementation of Greatest Common Divisor using Subtractor in Euclid Algorithmβ. International Journal of Computer Applications (0975 β 8887), Vol 65 (7); Pp 24-28.
Gutub, A. A. A. & Khan, A. A. F. 2012. Hybrid Crypto Hardware Utilizing Symmetric Key & Public Key Cryptosystem. International Conference on Advanced Computer Science Applications and Technologies.
Kromodimoeljo, Sentot. 2010. Teori dan Aplikasi Kriptografi. SPK IT Consulting.
Menezes, A., Oorschot, P. & Vanstone, S. 1996. Handbook of Applied Cryptography.
Ladjamudin, Al-Bahra Bin. 2013. Analisis dan Desain Sistem Informasi.
Yogyakarta: Graha Ilmu.
Mukhtar, Harun. 2018. Kriptografi untuk Keamanan Data. Yogyakarta:
Deepublish.
Munir, Rinaldi. 2003. Matematika Diskrit. Bandung, Indonesia : Penerbit Informatika Bandung.
Nayak, Rakesh. 2015. Analysis of Rabin and Rabin-p Cryptosystem for Specifying Correct plaintext. International Journal of Research in Computer and Communication Technology, Vol 4, Issue 5.
Prayudi Y, Halik I. 2005. Studi Analisis Algoritma Rivest Code (RC6) dalam Enkripsi/Dekripsi Data. Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005). Yogyakarta.
Rivest R. L. And Schuldt J. C. N. 2014. Spritz β A Spongy RC4-Like Stream Cipher and Hash Function. In Proc. Rump Session 34th Annu. Int. Cryptol. Conf, Adv.
Cryptol. (CRYPTO).
Schneier, B. 1996. Applied Cryptography, Second edition : Protocol, Algorithm and Source Code in C. Wiley Computer Publishing, John Wiley & Sons, Inc. : New York.
Untoro, Joko. 2010. Ekonomi. Jakarta: Kawahmedia.
LAMPIRAN
public partial class BangkitKunci : Form {
}
void PichomeClick(object sender, EventArgs e)
void BangkitKunciFormClosed(object sender, FormClosedEventArgs e) {
System.Diagnostics.Debug.WriteLine("p="+nilaip);
System.Diagnostics.Debug.WriteLine("q="+nilaiq);
MessageBox.Show("Bangkitkan Kunci Berhasil");
this.Hide();
void SacakClick(object sender, EventArgs e)
kpub.InitialDirectory = @".\";
kspr.Filter ="kunci acak spritz(*.kuncispritz)|*.kuncispritz";
kspr.InitialDirectory = @".\";
letakey.Text += c[i].ToString()+" ";
MessageBox.Show("ada yang salah karena
string text = letakchipkey.Text;
CURRICULUM VITAE
University of Sumatera Utara Medan, Indonesia
Majoring in Computer Science Sep 2016-Sep 2020
β’ GPA: 3.82 out of 4.00
β’
Work Experience
Ilmu Komputer Laboratory Center (IKLC) Medan, Indonesia
Laboratory Assistant Jan 2018-Present
β’ Responsible for eight classes from different courses
β’ Reviewed, developed, and updated learning modules according to the latest technology
β’ Graded and reviewed the assignments and exams of all the students
Dinas Penanaman Modal dan Pelayanan Perizinan Terpadu Prov. Sumut Medan, Indonesia
Internship July 2019-Aug 2019
β’ Handled administrative data on licensing of fishery business, plantation business, groundwater exploitation, and financial data to the system
β’ Provided information about technology (software and hardware) that use in the office to employees
Smart Study Medan, Indonesia
Teacher Nov 2016-Apr 2018
β’ Tutored many students with different courses
β’ Reviewed the assignments and exams of all the students Organizational Experience
Ilmu Komputer Laboratory Center (IKLC) Medan, Indonesia
General Treasurer Aug 2018-Aug 2020
β’ Handled financial of organization and distributed module
β’ Made new innovation with accountancy that can help for financial
β’ Made new innovation with accountancy that can help for financial