12
4. Hasil dan Pembahasan
Untuk menguji hasil modifikasi kriptografi Hill Cipher, dilakukan proses enkripsi-dekripsi. Proses enkripsi-deskripsi dilakukan sesuai dengan langkah yang
telah dijelaskan sebelumnya. Berikut ini adalah tahap persiapan sebelum masuk ke dalam proses enkripsi dan dekripsi :
a.
Plainteks yang digunakan adalah “FTI UKSW”. Merujuk pada Persamaan 11 maka diperoleh
= {70, 84, 73, 32, 85, 75, 83, 87} 60
b. Kunci Utama yang digunakan yaitu “FTI”. Merujuk pada Persamaan 12,
Persamaan 13 dan Persamaan 14 maka diperoleh = {70, 84, 73}
61 = 227
62 = 100
63 c.
Kunci Weber, digunakan sebagai kunci pembangkit dalam proses enkripsi dan deskripsi. Merujuk pada Persamaan 17 maka fungsi Weber adalah
= 107 64
d. Kunci tambahan, digunakan sebagai kunci pembangkit dalam proses enkripsi
dan deskripsi. Merujuk pada Persamaan 18 maka diperoleh = 10
65 e.
Matriks Kunci ordo 3 × 3, digunakan dalam proses putaran enkripsi.
Berdasarkan Persamaan 20, Persamaan 21, dan Persamaan 22 maka =
73 0 1 7 35 3
0 19 2 66
= 1
2 73 119 35 3
100 19 2 67
= 65 2 73
3 35 65 5 38 2
68 Invers matriks ordo
3 × 3, digunakan dalam proses putaran dekripsi. =
56 33 113 96 33 93
104 4 6
69 =
126 89 30 5
112 94 66
74 84 70
= 106 29 78
22 67
4 79 115 47
71 f.
Fungsi rasional, digunakan dalam proses putaran enkripsi. Dengan mensubstitusi hasil Persamaan 64 maka
= 107 + 2
127 72
Dengan mensubstitusi hasil Persamaan 65 maka
13
= 10 +
3 + 2 127
73 Dengan mensubstitusi hasil Persamaan 64 maka
= 107 +
127 74
Invers fungsi rasional, digunakan dalam proses putaran deskripsi. =
107 1 +
127 75
= 10 2
3 1
127 76
= 2
107 127
77 g.
Konversi Basis Bilangan Proses
enkripsi menggunakan konversi basis bilangan, berdasarkan
Persamaan 9 maka = plainteks , = 131, dan = 2
78 Sedangkan untuk proses dekripsi digunakan konversi basis bilangan
berdasarkan Persamaan 9 maka = cipherteks, = 2, dan = 131
79 Selanjutnya untuk memulai proses enkripsi dapat dilakukan sebagai berikut:
1. Merujuk pada Persamaan 11, plainteks diubah ke dalam bentuk bilangan
ASCII. Sehingga diperoleh urutan bilangan ASCII sebagai berikut = {70, 84, 73, 32, 85, 75, 83, 87}
80 Setelah plainteks menjadi bilangan ASCII, apabila jumlah karakter
merupakan kelipatan tiga 3 maka ke proses selanjutnya. Jika jumlah karakter bukan kelipatan tiga 3 maka ditambahkan karakter spasi dalam
kode ASCII adalah 32 setelah nilai terakhir, sehingga
= {70, 84, 73, 32, 85, 75, 83, 87, 32} 81
2. Untuk proses putaran yaitu •
Putaran pertama - Bilangan-bilangan pada Persamaan 81 yang bermodulo 127
kemudian disusun ke dalam blok vector dan dikalikan dengan matriks pada Persamaan 66, maka didapatkan
= {103, 93, 91, 125, 122, 114, 122, 39,66} 82
- Bilangan-bilangan pada Persamaan 82 kemudian disubtitusikan ke dalam fungsi rasional pada Persamaan 72, sehingga
= {54, 92, 114, 106, 5, 58, 5, 81, 57} 83
- Bilangan-bilangan pada Persamaan 83 disusun ke dalam blok vector dan dikalikan dengan matriks pada Persamaan 67, maka didapatkan
= {51, 82, 10, 32, 9, 16, 10, 45, 121} 84
- Bilangan-bilangan pada Persamaan 84 kemudian disubtitusikan ke dalam fungsi rasional pada Persamaan 73, sehingga
= {43, 27, 80, 73, 97, 31, 80, 69, 95} 85
14
• Putaran kedua
- Bilangan-bilangan pada Persamaan 85 disusun ke dalam blok vector dan dikalikan dengan matriks pada Persamaan 67, maka didapatkan
= {95, 79, 20, 117, 110, 61, 41, 28, 103} 86
- Bilangan-bilangan pada Persamaan 86 kemudian disubtitusikan ke dalam fungsi rasional pada Persamaan 73, sehingga
= {84, 11, 107, 0, 109, 91, 38, 92, 51} 87
- Bilangan-bilangan pada Persamaan 87 disusun ke dalam blok vector dan dikalikan dengan matriks pada Persamaan 68, maka didapatkan
= {85, 99, 36, 3, 78, 6, 27, 45, 105} 88
- Bilangan-bilangan pada Persamaan 88 kemudian disubtitusikan ke dalam fungsi rasional pada Persamaan 74, sehingga
= {68, 38, 71, 79,4, 40, 52, 57, 25} 89
• Putaran ketiga
- Bilangan-bilangan pada Persamaan 89 disusun ke dalam blok vector dan dikalikan dengan matriks pada Persamaan 68, maka didapatkan
= {27, 53, 21, 62, 56, 119, 112, 93, 63} 90
- Bilangan-bilangan pada Persamaan 90 kemudian disubtitusikan ke dalam fungsi rasional pada Persamaan 74, sehingga
= {52, 15, 121, 99, 46, 67, 87, 24, 41} 91
- Bilangan-bilangan pada Persamaan 91 disusun ke dalam blok vector dan dikalikan dengan matriks pada Persamaan 66, maka didapatkan
= {107, 109, 19, 55, 91, 119, 42, 48, 30} 92
- Bilangan-bilangan pada Persamaan 92 kemudian disubtitusikan ke dalam fungsi rasional pada Persamaan 72, sehingga
= {18, 121, 67, 47, 114, 75, 101, 70, 124} 93
3. Langkah yang terakhir yaitu mendapatkan cipherteks dengan cara bilangan- bilangan pada Persamaan 93 dikonversi menggunakan Persamaan 78,
sehingga
Setelah cipherteks didapat dilanjutkan dengan proses dekripsi, dengan langkah sebagai berikut :
1. Proses putaran pada dekripsi yaitu •
Proses putaran balik 3 -
Cipherteks yang dihasilkan selanjutnya dikonversi balik dengan mengacu pada Persamaan 79, maka diperoleh
= {18, 121, 67, 47, 114, 75, 101, 70, 124} 94
- Bilangan-bilangan pada Persamaan 94 kemudian disubtitusikan ke
dalam invers fungsi rasional pada Persamaan 75, sehingga = {107,109,19,55,91,119,42,48,30}
95 - Kemudian bilangan-bilangan pada Persamaan 95 disusun ke dalam
blok vektor dan dikalikan dengan invers matriks pada Persamaan 69, maka didapatkan
= {52,15,121,99,46,67,87,24,41} 96
= {1,1,0,1,0,1,0,0,1,0,1,1,0,0,0,0,1,1,0,0,0,1,1,1,1, 1,0,1,1,0,0,1, 1,0,0,1,0,0,1,1,0,1,0,1,0,0,1,0,0,1,1,0,0,1,1,1,1,0,1,0,1,0,0,1}
15
- Bilangan-bilangan pada Persamaan 96 kemudian disubtitusikan ke
dalam invers fungsi rasional pada Persamaan 77, sehingga = {27, 53,21,62,56,119,112,93,63}
97 - Kemudian bilangan-bilangan pada Persamaan 97 disusun ke dalam
blok vektor, dan dikalikan dengan invers matriks pada Persamaan 71, maka didapatkan
= {68,38,71,79,4,40,52,57,25} 98
• Proses putaran balik 2
- Bilangan-bilangan pada persamaan
98 kemudian disubtitusikan ke dalam invers fungsi rasional pada Persamaan 77, sehingga
= {85,99,36,3,78,6, 27,45,105} 99
- Kemudian bilangan-bilangan pada pesamaan 99 disusun ke dalam
blok vektor dan dikalikan dengan invers matriks pada Persamaan 71, maka didapatkan
= {84,11,107,127,109,91,38,92,51} 100
- Bilangan-bilangan pada persamaan 100 kemudian disubtitusikan ke
dalam invers fungsi rasional pada Persamaan 76, sehingga = {95,79,20,117,110,61,41,28,103}
101 -
Kemudian bilangan-bilangan pada pesamaan 101 disusun ke dalam
blok vektor dan dikalikan dengan invers matriks pada Persamaan 70, maka didapatkan
= {43,27,80,73,97,31,80,69,95} 102
• Proses putaran balik 1
- Bilangan-bilangan pada persamaan
102 kemudian disubtitusikan ke dalam invers fungsi rasional pada Persamaan 76, sehingga
= {51,82,10,32,9,16,10,45,121} 103
- Kemudian bilangan-bilangan pada pesamaan 103 disusun ke dalam
blok vektor dan dikalikan dengan invers matriks pada Persamaan 70, maka didapatkan
= {54,92,114,106,5,58,5,81,57} 104
- Bilangan-bilangan pada Persamaan 104 kemudian disubtitusikan ke
dalam invers fungsi rasional pada Persamaan 75, sehingga = {103,93,91,125,122,114,122,39,66}
105 -
Kemudian bilangan-bilangan pada Persamaan 105 ke dalam blok vektor dan dikalikan dengan invers matriks pada Persamaan 69,
maka didapatkan = {70,84.73,32,85,75,83,87,32}
106 2. Langkah terakhir yaitu bilangan-bilangan yang dihasilkan pada akhir putaran
yaitu Persamaan
106 disubtitusikan
dalam kode
ASCII yang
berkorespodensi sehingga diperoleh plainteks : Berdasarkan hasil pengujian modifikasi Hill Cipher tersebut, dapat dikatakan
sebagai sebuah sistem kriptografi karena dapat melakukan proses enkripsi dan dekripsi. Sistem kriptografi harus memenuhi lima tuple five-tuple [10].
Modifikasi kriptografi Hill Cipher yang dilakukan telah memenuhi lima tuple, dengan penjelasan sebagai berikut :
16
- P adalah himpunan berhingga dari plainteks. Plainteks menggunakan
karakter yang ekuivalen dengan bilangan ASCII. Bilangan ASCII adalah sekumpulan karakter yang ekuivalen dengan jumlah bilangan yang semuanya
terbatas dalam sebuah himpunan yang berhingga. Maka himpunan plainteks pada modifikasi Hill Cipher adalah himpunan berhingga.
- C adalah himpunan berhingga dari cipherteks. Cipherteks yang terbentuk
pada modifikasi Hill Cipher adalah elemen bit bilangan 0 dan 1. Hasil himpunan cipherteks hanya
{0,1}, maka cipherteks yang terbentuk pada modifikasi Hill Cipher adalah himpunan berhingga.
- K merupakan ruang kunci keyspace, adalah himpunan berhingga dari kunci.
Penggunaan fungsi rasional dan fungsi Weber sebagai pembangkit kunci dan fungsi yang digunakan dalam setiap proses perancangan kriptografi. Maka
kunci yang dipakai dalam modifikasi Hill Cipher adalah ruang kunci.
- Untuk setiap k K,
terdapat aturan enkripsi E dan berkorespodensi
dengan aturan dekripsi . Setiap
dan adalah
fungsi sedemikian hingga = untuk setiap plainteks
. Berdasar 4 keadaan secara menyeluruh terdapat kunci yang digunakan dalam
proses enkripsi, merubah plainteks menjadi cipherteks. Kunci dapat melakukan proses dekripsi, merubah cipherteks menjadi plainteks kembali.
Uji perancangan dilakukan dengan membandingkan jumlah karakter yang diproses berdasarkan kebutuhan memori dan waktu yang diperlukan selama
proses enkripsi dan dekripsi berlangsung.
Gambar 4. Perbandingan Terhadap Waktu 1
2 3
4 5
6 7
8 9
10 11
12 13
14 15
16 17
18
10 100 200 300 400 500 600 700 800 900 1000 ALZ-2
Hill Modif H-AIS
17
Gambar 5. Perbandingan Terhadap Memory
Pada Gambar 5 menunjukkan modifikasi kriptografi ini membutuhkan jumlah memory yang sama saat jumlah plainteks 10 sampai 500 karakter dan
membutuhkan memory lebih ketika plainteks diatas 500 karakter, sedangkan kriptografi terdahulu membutuhkan memory yang lebih besar saat jumlah
plainteks lebih dari 300 karater.
Berdasarkan pada Gambar 4 maka kemiringan modifikasi kriptografi pada saat jumlah plainteks antara 10 sampai 100 terhadap waktu adalah
,
= 0,0073. Hasil lengkap ditunjukkan pada Tabel 1.
Tabel 1 Kemiringan Waktu Terhadap Plainteks
Plainteks Kriptografi Modifikasi
Kriptografi Lama
10 – 100 0,0073
0,0067 100 – 200
0,0068 0,0002
200 – 300 0,0097
0,0160 300 – 400
0,0106 0,0347
400 – 500 0,0095
0,0124 500 – 600
0,0113 0,0163
600 – 700 0,0126
0,0081 700 – 800
0,0134 0,0277
800 – 900 0,0068
0,0209 900 – 1000
0,0250 0,0264
Pada modifikasi kriptografi terjadi peningkatan waktu yang tidak terlalu signifikan dan hampir sama pada saat jumlah
plainteks 10 sampai 900 karakter dan terjadi peningkatan waktu yang signifikan ketika plainteks diatas
900 karakter, sedangkan pada perancangan kriptografi terdahulu terjadi peningkatan waktu yang cukup signifikan saat jumlah plainteks lebih dari 300
karakter.
Tabel 2 Kemiringan Memory Terhadap Plainteks 10
20 30
40 50
60 70
80
10 100 200 300 400 500 600 700 800 900 1000 ALZ-2
Hill Modif H-AIS
18 Plainteks
Kriptografi Modifikasi Kriptografi Lama
10 – 100 0,022
100 – 200 200 – 300
300 – 400 0,3602
400 – 500 0,0002
500 – 600 0,02
0,0001 600 – 700
0,02 0,0003
700 – 800 0,0002
0,0009 800 – 900
0,0002 0,0789
900 – 1000 0,0002
Berdasarkan tabel diatas, nilai kemiringan modifikasi kriptografi lebih besar dibandingkan nilai kemiringan modifikasi terdahulu pada saat menggunakan 10
sampai 200 karakter plainteks. Nilai kemiringan modifikasi kriptografi lebih kecil dibandingkan dengan nilai kemiringan kriptografi terdahulu pada saat jumlah
karakter plainteks 200 sampai 900 karakter. Modifikasi kriptografi ini lebih baik dari kriptografi terdahulu karena membutuhkan lebih sedikit kebutuhan memory
dan waktu pada rentang plainteks 200 sampai 900 karakter sedangkan saat plainteks kurang dari 200 kriptografi terdahulu lebih baik daripada modifikasi
kriptografi. Kriptografi terdahulu cocok untuk melakukan proses enkripsi plainteks yang berjumlah sedikit sedangkan modifikasi kriptografi cocok untuk
melakukan proses enkripsi plainteks yang jumlahnya lebih banyak.
Uji ketahanan pada modifikasi Hill Cipher Untuk mengetahui ketahanan hasil modifikasi pada Hill Cipher maka
dilakukan uji ketahanan terhadap known-plaintext attack dengan perkalian matriks. Kriptanalis melakukan uji coba terhadap seluruh kemungkinan kunci.
- Plaintext yang dipakai adalah :
FTIUKSWSALATIGA 107 -
Matriks kunci yang dipakai adalah : =
106 29 78 22
67 4
79 115 47 108
- Dengan modifikasi Hill Cipher, maka terbentuk ciphertext dalam bilangan
ASCII adalah sebagai berikut :
- Untuk mencari matriks kunci agar menemukan plaintext maka perlu
diketahui ciphertext, berkas plaintext dan ukuran matriks kunci yang digunakan. Diasumsikan bahwa ciphertext dan berkas potongan plaintext
telah diketahui oleh pihak lain. Kriptanalis memasukkan seluruh kemungkinan ukuran matrik kunci yang digunakan.
- Potongan plaintext yang diketahui pihak lain adalah “FTIUKSWSAL”
= {18, 121, 67, 46, 44, 53, 35, 111, 64, 25, 32, 121, 30, 102, 71}
19
- Berikut proses pencarian matriks kunci dengan menggunakan perkalian
matriks. Diasumsikan bahwa modifikasi menggunakan matriks kunci berordo 3 x 3, maka berkas plaintext yang disubsitusi menjadi kode ASCII
diperoleh
= =
70 85 87 84 75 83
73 83 65 109
- Disusun matriks ciphertext sebagai berikut :
= 18 46 35
121 44 111 67 53 64
110 -
Selanjutnya mencari matriks kunci dengan informasi yang diperoleh : = .
111 =
18 46 35 121 44 111
67 53 64 73 109 61
108 69 78 81
85 82 =
18 26 34 98 77 100
122 53 80 -
Diperoleh, matriks K tidak sama dengan matriks kunci pada Persamaan 108, seperti ditunjukkan berikut :
106 29 78 22
67 4
79 115 47 18 26 34
98 77 100 122 53 80
112 Matriks yang ditemukan berbeda, maka dapat disimpulkan bahwa pada
known-plaintext attack dengan teknik perkalian matriks tidak dapat
memecahkan matriks kunci pada modifikasi Hill Cipher.
5. Simpulan