BAB IV HASIL DAN PEMBAHASAN
Bab ini mendiskusikan pseucode hasil kombinasi algoritma Vernam Cipher dan Rivest Cipher 4 dalam proses enkripsi dan dekripsi pada Kriptografi.
4.1. Hasil Penelitian
Berikut ini adalah pseucode hasil kombinasi algoritma Vernam Cipher dan Rivest Cipher 4. Kombinasi kedua algoritma tersebut dilakukan dengan cara, pertama sekali akan ditentukan
posisi satu baris pertama. Setelah posisi satu ditemukan baris keempat dilanjutkan dengan menentukan posisi kedua sebagai kunci baris kesembilan. Demikian seterusnya, proses ini
dilakukan sampaikan dengan proses enkripsi selesai.
Pseudocode
Posisi = 1 For
i = 0 To
Len Plainteks
- 1 arrPlaintexti =
AsciPlainTeksi If
Posisi = 1 Then
For j = 0
To 255
If arrPlaintexti = j
Then Enkripsii = sBoxj
Exit for Posisi = 2
End If Next j
Else If Posisi=2 Then
Universita Sumatera Utara
For j = 0
To 255
If arrPlaintexti = j
Then Enkripsii = sBoxj
j = 257 Posisi = 1
End If Next j
End If Next i
Dalam bentuk coding, pseudocode di atas dapat dituliskan sebagai
Posisi = 1 For
i = 0 To
Len Me
.xPlainText.Text - 1 arrPlaintexti =
CStr AscMid
Me .xPlainText.Text, i
+ 1, 1 If
Posisi = 1 Then
For j = 0
To 255
If arrPlaintexti = j
Then sDekripsii = i
j = 257 Posisi = 2
End If
Universita Sumatera Utara
Next Else
For j = 0
To 255
If arrPlaintexti = j
Then sDekripsii = i
MsgBox1 - Me.ListBox2.Itemsj j = 257
Posisi = 1 End If
Next End If
Next
Penjelasan Coding
Posisi = 1 1. Lakukan perulangan dari 0 sampai panjang karakter plainteks
For i = 0
To Len
Me .xPlainText.Text – 1
2. Ambil nilai desimal dari plainteks arrPlaintexti =
CStr AscMid
Me .xPlainText.Text, i
+ 1, 1 3. Untuk posisi 1, lakukan pencarian nilai arrPlainText didalam sBOX f1, sesuai
dengan nomor urut dari j For
j = 0 To
255 If
arrPlaintexti = j Then
Universita Sumatera Utara
sEnkripsii = Me
.ListBox1.Itemsj MsgBox1 - Me.ListBox1.Itemsj
j = 257 Posisi = 2
End If Next
4. Untuk posisi 2, lakukan pencarian nilai arrPlainText didalam sBOX f2, sesuai dengan nomor urut dari j
For j = 0
To 255
If arrPlaintexti = j
Then sEnkripsii =
Me .ListBox2.Itemsj
MsgBox1 - Me.ListBox2.Itemsj j = 257
Posisi = 1 End If
Next
4.2. Pembahasan
Sebagai contoh akan dilakukan enkripsi dengan menggunakan algoritma kombinasi RC4 dan Vernam Chiper. Plainteks yang digunakan adalah HELO dengan kunci 2573.
PlainTeks Nilai Code Ascii
Universita Sumatera Utara
Kunci
H 72
E 69
L 76
O 79
1. Proses Pembentukan Kunci f1
Untuk membentuk kunci f0 cara yang dilakukan adalah dengan membuat nilai code ascii, seperti terlihat pada tabel di bawah ini :
Kunci Nilai Code Ascii
Kunci
2 50
5 53
6 54
2 50
2. Pembentukan Kunci f2
Untuk menunjukkan bagaimana RC4 bekerja pada tingkat dasar, akan dilakukan pada state- array 4 bit. Hal ini dikarenakan akan sangat sulit menggambarkan proses RC4 secara manual
dengan state-array 256 bit. Kali ini, penulis mencoba melakukan pembentukan kunci f1
yang diperoleh dari kunci 2573. Pertama yang dilakukan adalah menginisialisasi array S 4 bit
sehingga terbentuk state-array S dan state-array K sebagai berikut ini.
Universita Sumatera Utara
Array S 1
2 3
Array K 2
5 7
3
Inisialisasi i dan j dengan 0 kemudian dilakukan KSA agar tercipta state-array yang acak. Penjelasan iterasi lebih lanjut dapat dijelaskan sebagai berikut.
Iterasi 1 i = 0
j = 0 + S[0] + K [0 mod 4] mod 4 j = j + S[i] = K[ i Mod 4 ] Mod 4
= 0 + 0 + 2 mod 4 = 2 Swap S[0],S[2].
Akibatnya diperoleh array S
Array S 2
1 3
Iterasi 2 i = 1
j = 2 + S[1] + K [1 mod 4] mod 4 = 2 + 1 + 5 mod 4 =0
Swap S[1],S[0] Sehingga hasil array S adalah
Array S 1
2 3
Universita Sumatera Utara
Iterasi 3 i = 2
j = 0 + S[2] + K [2 mod 4] mod 4 = 0 + 0 + 7 mod 4 = 3
Swap S[2],S[3] Sehingga hasil array S adalah
Array S 1
2 3
Iterasi 4 i = 3
j = 3 + S[3] + K [3 mod 4] mod 4 = 3 + 0 + 3 mod 4 = 2
Swap S[3],S[2] Akibatnya diperoleh array S
Array S 1
2 3
Setelah melakukan KSA, akan dilakukan Pseudo Random Generation Algorithm PRGA. PRGA akan dilakukan sebanyak 4 kali dikarenakan plainteks yang akan dienkripsi berjumlah
4 karakter. Hal ini disebakan karena dibutuhkan 1 kunci dan 1 kali operasi XOR untuk tiap- tiap karakter pada plainteks. Berikut adalah tahapan penghasilan kunci enkripsi dengan
PRGA .
Universita Sumatera Utara
Array S 1
2 3
Inisialisasi i = 0
j = 0 Iterasi 1
i = 0 + 1 mod 4 = 1
j = 0 + S[1] mod 4
= 0+ 2 mod 4 = 2 swap S[1],S[2]
1 2
3
K1 = S[S[1]+S[2] mod 4] = S[2 mod 4]
= S[2] = 2
K1 = 00000010
Iterasi 2 i
= 1 + 1 mod 4 = 2 j
= 2 + S[2] mod 4 = 2+ 2 mod 4 = 0
Universita Sumatera Utara
swap S[2],S[0] 2
1 3
K2 = S[S[2]+S[0] mod 4] = S[3 mod 4]
= 3 K2 = 00000011
Iterasi 3 i
= 2 + 1 mod 4 = 3 j
= 0 + S[3] mod 4 = 0+ 3 mod 4 = 3 swap S[3],S[3]
2 1
3
K3 = S[S[3]+S[3] mod 4] = S[3 + 3 mod 4 ]
= S[6 mod 4 ] = S[2]
= 1 K3 = 00000001
Iterasi 4 i
= 3 + 1 mod 4 = 0
Universita Sumatera Utara
j = 3 + S[0] mod 4
= 3+ 2 mod 4 = 1 swap S[0],S[1
2 1
3 K1 = S[S[0]+S[1] mod 4]
= S[2 mod 4] = 2 = S[2]
= 1 K1 = 00000001
Dengan demikian kunci f1 yang terbentuk adalah Binary Kunci
00000010 00000011
00000001 00000001
Desimal Kunci 2
3 1
1
3. Proses Tabel Permuasi
Dalam melakukan proses enkripsi, dilakukan proses permutasi antara f1 dan f2 dengan cara mengisi f1 dan f2 dengan nilai dimulai dari nilai kunci f1, jika nilai fi sudah di
masukkan maka isi kolom selanjutnya dengan urutan 0 sd 255 tanpa memasukkan nilai angka yang sudah dimasukkan sebelumnya.
f1,1 1
2 3
4 5
6 7
8 9
f1,2 50
53 55
51 52
54 56
57 58
59 f1,1
10 11
12 13
14 15
16 17
18 19
f1,2 60
61 62
63 64
65 66
67 68
69
Universita Sumatera Utara
f1,1 20
21 22
23 24
25 26
27 28
29 f1,2
70 71
72 73
74 75
76 77
78 79
f1,1 30
31 32
33 34
35 36
37 38
39 f1,2
80 81
82 83
84 85
86 87
88 89
f1,1 40
41 42
43 44
45 46
47 48
49 f1,2
90 91
92 93
94 95
96 97
98 99
f1,1 50
51 52
53 54
55 56
57 58
59 f1,2 100
101 102 103 104 105 106 107 108 109
f1,1 60
61 62
63 64
65 66
67 68
69 f1,2 110
111 112 113 114 115 116 117 118 119
Proses 1,3
f1,1 70
71 72
73 74
75 76
77 78
79 f1,2 120
121
122
123 124 125
126
127 128 129 f1,1
80 81
82 83
84 85
86 87
88 89
f1,2 130 131
132 133 134 135 136 137 138 139 f1,1
90 91
92 93
94 95
96 97
98 99
f1,2 140 141
142 143 144 145 146 147 148 149 f1,1 100
101 102 103 104 105 106 107 108 109
f1,2 150 151
152 153 154 155 156 157 158 159 f1,1 110
111 112 113 114 115 116 117 118 119
f1,2 160 161
162 163 164 165 166 167 168 169 f1,1 120
121 122 123 124 125 126 127 128 129
f1,2 170 171
172 173 174 175 176 177 178 179
Universita Sumatera Utara
f1,1 130 131
132 133 134 135 136 137 138 139 f1,2 180
181 182 183 184 185 186 187 188 189
f1,1 140 141
142 143 144 145 146 147 148 149 f1,2 190
191 192 193 194 195 196 197 198 199
f1,1 150 151
152 153 154 155 156 157 158 159 f1,2 200
201 202 203 204 205 206 207 208 209
f1,1 160 161
162 163 164 165 166 167 168 169 f1,2 210
211 212 213 214 215 216 217 218 219
f1,1 170 171
172 173 174 175 176 177 178 179 f1,2 220
221 222 223 224 225 226 227 228 229
f1,1 180 181
182 183 184 185 186 187 188 189 f1,2 230
231 232 233 234 235 236 237 238 239
f1,1 190 191
192 193 194 195 196 197 198 199 f1,2 240
241 242 243 244 245 246 247 248 249
f1,1 200 201
202 203 204 205 206 207 208 209 f1,2 250
251 252 253 254 255
1 2
3 f1,1 210
211 212 213 214 215 216 217 218 219
f1,2 4
5 6
7 8
9 10
11 12
13 f1,1 220
221 222 223 224 225 226 227 228 229
f1,2 14
15 16
17 18
19 20
21 22
23 f1,1 230
231 232 233 234 235 236 237 238 239
f1,2 24
25 26
27 28
29 30
31 32
33
Universita Sumatera Utara
f1,1 240 241
242 243 244 245 246 247 248 249 f1,2
34 35
36 37
38 39
40 41
42 43
f1,1 250 251
252 253 254 255 f1,2
44 45
46 47
48 49
Tabel f2 f2,1
1 2
3 4
5 6
7 8
9 f2,2
1 2
3 4
5 6
7 8
9 10
f2,1 10
11 12
13 14
15 16
17 18
19 f2,2
11 12
13 14
15 16
17 18
19 20
f2,1 20
21 22
23 24
25 26
27 28
29 f2,2
21 22
23 24
25 26
27 28
29 30
f2,1 30
31 32
33 34
35 36
37 38
39 f2,2
31 32
33 34
35 36
37 38
39 40
f2,1 40
41 42
43 44
45 46
47 48
49 f2,2
41 42
43 44
45 46
47 48
49 50
f2,1 50
51 52
53 54
55 56
57 58
59 f2,2
51 52
53 54
55 56
57 58
59 60
f2,1 60
61 62
63 64
65 66
67 68
69 Proses
2 f2,2
61 62
63 64
65 66
67 68
69
70
f2,1 70
71 72
73 74
75 76
77 78
79 Proses
4 f2,2
71 72
73 74
75 76
77 78
79 80
Universita Sumatera Utara
f2,1 80
81 82
83 84
85 86
87 88
89 f2,2
81 82
83 84
85 86
87 88
89 90
f2,1 90
91 92
93 94
95 96
97 98
99 f2,2
91 92
93 94
95 96
97 98
99 100
f2,1 100 101 102 103 104 105 106 107 108
109 f2,2 101 102
103 104 105 106 107 108 109 110
f2,1 110 111 112 113 114 115 116 117 118
119 f2,2 111 112
113 114 115 116 117 118 119 120
f2,1 120 121 122 123 124 125 126 127 128
129 f2,2 121 122
123 124 125 126 127 128 129 130
f2,1 130 131 132 133 134 135 136 137 138
139 f2,2 131 132
133 134 135 136 137 138 139 140
f2,1 140 141 142 143 144 145 146 147 148
149 f2,2 141 142
143 144 145 146 147 148 149 150
f2,1 150 151 152 153 154 155 156 157 158
159 f2,2 151 152
153 154 155 156 157 158 159 160
f2,1 160 161 162 163 164 165 166 167 168
169 f2,2 161 162
163 164 165 166 167 168 169 170
f2,1 170 171 172 173 174 175 176 177 178
179 f2,2 171 172
173 174 175 176 177 178 179 180
f2,1 180 181 182 183 184 185 186 187 188
189 f2,2 181 182
183 184 185 186 187 188 189 190
Universita Sumatera Utara
f2,1 190 191 192 193 194 195 196 197 198
199 f2,2 191 192
193 194 195 196 197 198 199 200
f2,1 200 201 202 203 204 205 206 207 208
209 f2,2 201 202
203 204 205 206 207 208 209 210
f2,1 210 211 212 213 214 215 216 217 218
219 f2,2 211 212
213 214 215 216 217 218 219 220
f2,1 220 221 222 223 224 225 226 227 228
229 f2,2 221 222
223 224 225 226 227 228 229 230
f2,1 230 231 232 233 234 235 236 237 238
239 f2,2 231 232
233 234 235 236 237 238 239 240
f2,1 240 241 242 243 244 245 246 247 248
249 f2,2 241 242
243 244 245 246 247 248 249 250
f2,1 250 251 252 253 254 255
f2,2 251 252 253 254 255
4. Proses Enkripsi
Enkripsi dilakukan dengan cara berikut ini : c. Cari nilai Ascii Code dari PlainttextPi dideretan angka f1,1 jika jika ditemukan
ambil nilai f1,2 sesuai dengan urutan plaintteks tersebut sebagai chipertext Ci d. Selanjutnya Cari nilai Ascii Code dari Plainttext Pi dideretan angka f2,1 jika
jika ditemukan ambil nilai f2,2 sesuai dengan urutan plaintteks tersebut sebagai chipertext Ci
Adapun prosesnya seperti di bawah ini : Tabel Plain Teks
PlainTeks Nilai Code Ascii
Universita Sumatera Utara
Plainteks
H 72
E 69
L 76
O 79
a. Cari nilai 72 dari tabel f1,1 dan ambil nilai f1,2 sebagai nilai enkripsi
f1,72 = 122 b.
Cari nilai 69 dari tabel f2,1 dan ambil nilai f2,2 sebagai nilai enkripsi f1,69 = 70
c. Cari nilai 76 dari tabel f1,1 dan ambil nilai f1,2 sebagai nilai enkripsi
f1,76 = 126 d.
Cari nilai 79 dari tabel f2,1 dan ambil nilai f2,2 sebagai nilai enkripsi f1,79 = 80
Dengan demikian diperoleh hasil enkripsi untuk plainteks HELO adalah 122,70, 126, 80
5. Proses Dekripsi
Dekripsi dilakukan dengan cara berikut ini : a. Cari nilai Ascii Code dari chiperteks Ci di deretan angka f1,2 jika jika
ditemukan ambil nilai f1,1 sesuai dengan urutan plaintteks tersebut sebagai chipertext Pi
b. Selanjutnya Cari nilai Ascii Code dari chipertext i di deretan angka f2,2 jika jika ditemukan ambil nilai f2,1 sesuai dengan urutan plaintteks tersebut
sebagai chipertext Pi Adapun prosesnya seperti di bawah ini :
Tabel Chiperteks
Nilai Desimal Code
Universita Sumatera Utara
Ascii ChiperTeks
122 70
126 80
a. Cari nilai 193 dari tabel f1,2 dan ambil nilai f1,1 sebagai nilai enkripsi f1,122 = 72
b. Cari nilai 70 dari tabel f2,2 dan ambil nilai f2,1 sebagai nilai enkripsi
f1,70 = 69 c.
Cari nilai 197 dari tabel f1,2 dan ambil nilai f1,1 sebagai nilai enkripsi f1,126 = 76
d. Cari nilai 81 dari tabel f2,2 dan ambil nilai f2,1 sebagai nilai enkripsi
f1,80 = 79
Dengan demikian hasil dekripsinya adalah : 72H , 69E, 76L, 79O
Plainteks dan Kunci
Hasil Enkripsi Vernam
Cipher Rivest Cipher
Algoritma Kombinasi
Plainteks : HELO Kunci : 2573
50,53,55,51 1,1,2,3
122, 70, 126, 80 Plainteks : LAYU
Kunci : 1234 49,50,51,52
0,0,2,2 157,98,170,118
Plainteks : oke Kunci : 986
57,56,54, 0,1,2
166,108,156, Plainteks : pipyd
Kunci : 16689 49,54,54,56,57
1,1,2,3,3 166,106,166,122,154
Universita Sumatera Utara
Berdasarkan Tabel….. di atas terlihat bahwa terdapat perbedaan hasil enkripsi dengan menggunakan algoritma Vernam, RC4 dan kombinasi algoritma Vernam dan RC4.
6. Kekuatan Algoritma
Adapun kekuatan dari algoritma tersebut diuraikan sebagai berikut ini. 1. Algoritma akan melakukan enkripsi dan dekripsi dari sebuah sbox f1 dan f2
berdasarkan dua buah kunci yang berbeda 2. Proses enkripsi dan dekripsi dilakukan pada f1 dan f2 secara bergantian, sehingga
akan sulit untuk diketahui dimana posisi teks yang akan dienkripsi dan didekripsi, karena posisi enkripsi dan dekripsi ditentukan berdasarkan kunci dari proses RC-4 dan
Vernam Chiper 3. Jika salah satu kunci dari f1 ataupun f2, maka harus ditemukan juga kunci yang
lainnya sehingga plainteks dapat dipecahkan, karena kedua f1 dan f2 harus valid. 4. Program akan melakukan enkripsi dan dekripsi dari sebuah sbox f11 dan f2
berdasarkan dua buah kunci yang berbeda. 5. Dalam Melakukan enkripsi dan dekripsi maka gabungan vernam chiper dan RC-4
memerlukan 2 buah kunci yang berbeda dari proses yang berbeda pula, dan sebagai contoh jika “A” berhasil menemukan 1 buah kunci pada chiper text maka “A” harus
dapat menemukan kunci yang lainnya jika akan membuka chipertext yang dimaksud. 6. Dalam melakukan melakukan enkripsi dan dekripsi maka gabungan vernam chiper dan
RC-4 melakukan pengacakan karakter yang akan diambil sebagai chipertext maupun plaintext sesuai dengan kunci yang ada dan panjang dari kunci dan plaintext ataupun
chipertext ada sebanyak 0 s.d 255 karakkter, dengan demikian maka “A” akan sulit menemukan chipertext yang benar karena pengacakan tersebut.
Universita Sumatera Utara
BAB V KESIMPULAN DAN SARAN
5.1. Kesimpulan