4
3. Metode Perancangan
Perancangan sistem Modifikasi Kriptografi Hill Cipher Menggunakan Fungsi Rasional dan Fungsi Weber, dilakukan dengan tahapan penelitian seperti
ditunjukkan pada Gambar 1.
Gambar 1. Tahap Penelitian
Tahapan penelitian pada Gambar 1, dijelaskan sebagai berikut. Tahap pertama : Analisis Kebutuhan yaitu menganalisa kebutuhan apa saja yang
diperlukan dalam modifikasi kriptografi Hill Cipher;
Tahap Kedua :
Pengumpulan Bahan yaitu pengumpulan bahan
yang berkaitan
dengan perancangan modifikasi kriptografi Hill Cipher berupa data dan literatur tentang
proses enkripsi dan dekripsi pada data teks dengan menggunakan kriptografi Hill Cipher melalui dokumen dan referensi yang ada; Tahap Ketiga : Melakukan
proses perancangan modifikasi Hill Cipher yang akan digunakan untuk proses enkripsi dan dekripsi dalam memodifikasi Hill Cipher proses modifikasi yang
akan dilakukan. Kemudian melakukan analisis dari hasil modifikasi Hill Cipher; Tahap Keempat : Uji Hasil Modifikasi Hill Cipher yaitu melakukan uji hasil
modifikasi
dan analisa
terhadap keseluruhan perancangan dan modifikasi yang telah dibuat; Tahap Kelima : Penulisan laporan hasil penelitian yaitu menuliskan
proses penelitian dari tahap awal sampai tahap akhir yang akan menjadi laporan hasil penelitian.
Pada modifikasi Hill Cipher dilakukan dua 2 proses yaitu proses enkripsi dan proses dekripsi. Proses enkripsi dan dekripsi masing-masing dilakukan proses
perputaran sebanyak tiga 3 kali. Tahapan dalam proses enkripsi dan deskripsi dijelaskan sebagai berikut:
a. Menyiapkan Plainteks. Plainteks diubah ke dalam bilangan ASCII. = { , , , }
11 Dimana
adalah banyaknya karakter plainteks dalam bilangan ASCII. b. Menyiapkan kunci utama. Kunci utama diubah menjadi bilangan ASCII.
= { , , , } 12
Dimana adalah banyaknya karakter plainteks dalam bilangan ASCII.
Pengumpulan bahan Perancangan Modifikasi Hill Cipher
Uji Hasil Perancangan Laporan Penelitian
Analisis Kebutuhan
5
Hasil pada Persamaan 12 kemudian dijumlahkan menjadi sebuah bilangan, maka
= + + +
13 =
127 14
Hasil dari digunakan untuk membangkitkan kunci Weber dengan
tambahan kombinasi hitungan tertentu. c. Menyiapkan fungsi Weber, digunakan sebagai kunci pembangkit dalam
proses enkripsi dan deskripsi. Hasil fungsi Weber akan dimasukkan ke dalam fungsi rasional di dalam proses putaran enkripsi dan deskripsi.
Persamaan fungsi Weber ditunjukkan seperti pada Persamaan 7. Untuk mendapatkan nilai fungsi Weber, diambil nilai dari Persamaan
14, maka
= ln 15
= ln 16
Berdasarkan Persamaan 15 dan Persamaan 16 maka didapatkan nilai fungsi Weber seperti ditunjukkan pada Persamaan 7
= ,
17 d. Menyiapkan kunci tambahan. Digunakan dalam proses putaran enkripsi
dan deskripsi. Nilai kunci didapat dari Persamaan 15 dengan kombinasi hitungan tertentu.
=
127
18 e. Menyiapkan matriks kunci yang invertible
Matrik kunci yang akan digunakan yaitu matrik ordo 3 × 3, matriks
dihasilkan dengan mengalikan hasil Persamaan 14 dengan bilangan tertentu yang kemudian disusun ke dalam sebuah matriks.
= 2 ;
= 4 ;
= 6 = 5
; =
; = 0
19 = 3
; = 7
; =
- Untuk mendapatkan kunci matriks yang pertama, berdasar pada Persamaan 19 maka digunakan matriks sebagai berikut
= 0 1
7 3
2 20
- Untuk mendapatkan kunci matriks yang kedua, berdasar pada Persamaan 19 maka digunakan matriks sebagai berikut
= 1
2 3
2 21
- Untuk mendapatkan kunci matriks yang ketiga, berdasar pada Persamaan 19 maka digunakan matriks sebagai berikut
= 2
3 5 2
2 22
6
Pada proses dekripsi menggunakan invers matrik kunci. Untuk mendapatkan invers matrik kunci harus memenuhi Persamaan 2.
Berdasar Persamaan 3 maka diperoleh
- Invers matriks Persamaan 22, merujuk pada Persamaan 2 dan
Persamaan 3 yang kemudian di-mod 127, maka 23
- Invers matriks Persamaan 21, merujuk pada Persamaan 2 dan
Persamaan 3 yang kemudian di-mod 127, maka 24
- Invers matriks Persamaan 20, merujuk pada Persamaan 2 dan
Persamaan 3 yang kemudian di-mod 127, maka 25
f. Menyiapkan fungsi rasional, digunakan dalam proses putaran enkripsi dan
deskripsi. Persamaan fungsi rasional ditunjukkan pada Persamaan 6. - Fungsi rasional 1 diperoleh dari Persamaan 17 yang disubstitusikan
pada Persamaan 6 sehingga didapatkan =
127 26
- Fungsi rasional 2 diperoleh dari Persamaan 18 yang disubstitusikan pada Persamaan 6 sehingga didapatkan
= 127
27 - Fungsi rasional 3 diperoleh dari Persamaan 17 yang disubstitusikan
pada Persamaan 6 sehingga didapatkan =
127 28
Setiap proses putaran menggunakan lebih dari satu 1 fungsi rasional yang berbeda. Selanjutnya untuk proses dekripsi menggunakan invers
fungsi rasional sebagai berikut
= 2
127 29
= 2
3 1
127 30
= 1 + 127
31 g. Menyiapkan fungsi convert between base CBB
Proses enkripsi menggunakan konversi basis bilangan, berdasarkan Persamaan 9 maka
= plainteks , = 131, dan = 2 32
Sedangkan untuk proses dekripsi digunakan konversi basis bilangan berdasarkan Persamaan 9 maka
= cipherteks, = 2, dan = 131 33
7
Gambar 2 menunjukkan proses enkripsi dalam modifikasi Hill Cipher.
Gambar 2. Proses Enkripsi
CBB
cipherteks
p r
o s
e s
1
p r
o s
e s
2 p
r o
s e
s
3
Plaintext
= {a
1
, a
2
,…,a
n
} ASCII
= { , , , } =
= { , , , } =
+ 3 + 2
127, = { , , , }
= = { , , , }
= +
127,
= { , , , } =
= { , , , } =
+ 127,
= { , , , } =
= { , , , } =
+ 2 127,
= 0 1
7 3
2 Matrik kunci 1
= 1
2 3
2 Matrik kunci 2
= 2
3 5 2
2 Matrik kunci 3
= { , , , } =
= { , , , } + 2
127,
= { , , , } =
= { , , , } =
+ 3 + 2
127, =
127 Kunci
ASCII = { , , , }
= ln
= + + +
= 127
= ln
, : +
′
+ =
cos + Fungsi Weber
Kunci Matrik Kunci
8
Setelah tahap persiapan selesai dilakukan, maka proses enkripsi akan dijelaskan sebagai berikut :
1. Plainteks
dikonversi ke dalam bilangan ASCII, seperti ditunjukkan pada Persamaan 11.
- Jika jumlah karakter pada Persamaan 11 sebanding dengan kelipatan
ordo matrik M 3 × 3, maka dilanjutkan pada proses selanjutnya.
- Apabila jumlah karakter pada Persamaan 11 tidak sebanding dengan
kelipatan ordo matriks M 3 × 3, maka ditambahkan bilangan 32 dalam
kode ASCII merupakan karakter spasi setelah bilangan terakhir sesuai kebutuhan sehingga jumlah karakter Persamaan 11 sebanding dengan
kelipatan ordo matriks M 3 × 3.
2. Pada putaran pertama, bilangan-bilangan dari Persamaan
11 yang bermodulo 127 disusun menjadi blok vector. Ukuran blok vektor sama
dengan ukuran ordo matriks kunci. Blok kemudian dikalikan dengan matriks pada Persamaan 20, sehingga diperoleh
= { , , , , } 34
Dimana adalah banyaknya karakter yang terbentuk dalam proses enkripsi.
3. Pada putaran pertama, bilangan-bilangan dari Persamaan
34 kemudian disubtitusikan ke dalam fungsi rasional pada Persamaan 26, sehingga
= { , , , , } 35
4. Pada putaran pertama, bilangan-bilangan pada Persamaan
35 disusun menjadi blok vector kemudian dikalikan dengan matriks pada Persamaan
21, sehingga diperoleh = { , , , , }
36 5.
Pada putaran pertama, bilangan-bilangan dari Persamaan 36 kemudian
disubtitusikan ke dalam fungsi rasional pada Persamaan 27, sehingga = { , , , , }
37 6.
Pada putaran kedua, bilangan-bilangan dari Persamaan 37 disusun menjadi
blok vector kemudian dikalikan dengan matriks pada Persamaan 21, sehingga diperoleh
= { , , , , } 38
7. Pada putaran kedua, bilangan-bilangan dari Persamaan
38 kemudian disubtitusikan ke dalam fungsi rasional pada Persamaan 27, sehingga
= { , , , , } 39
8. Pada putaran kedua, bilangan-bilangan pada Persamaan
39 disusun menjadi blok vector kemudian dikalikan dengan matriks pada Persamaan 22,
sehingga diperoleh = { , , , , }
40 9.
Pada putaran kedua, bilangan-bilangan dari Persamaan 40 kemudian disubtitusikan ke dalam fungsi rasional pada Persamaan 28, sehingga
= { , , , , } 41
10. Pada putaran ketiga, bilangan-bilangan dari Persamaan 41 disusun menjadi
blok vector kemudian dikalikan dengan matriks pada Persamaan 22, sehingga diperoleh
= { , , , , } 42
9
11. Pada putaran ketiga, bilangan-bilangan dari Persamaan 42 kemudian disubtitusikan ke dalam fungsi rasional pada Persamaan 28, sehingga
= { , , , , } 43
12. Pada putaran ketiga, bilangan-bilangan pada Persamaan 43 disusun menjadi blok vector kemudian dikalikan dengan matriks pada Persamaan 20,
sehingga diperoleh = { , , , , }
44 13. Pada putaran ketiga, bilangan-bilangan dari Persamaan
44 kemudian disubtitusikan ke dalam fungsi rasional pada Persamaan 26, sehingga
= { , , , , } 45
14. Bilangan yang dihasilkan pada akhir putaran ketiga yaitu Persamaan 45 kemudian dikonversi menggunakan Persamaan 32, sehingga diperoleh
urutan biner yang merupakan cipherteks. = { , , , ,
} 46
Dimana adalah banyaknya karakter yang dihasilkan.
10
Gambar 3. Proses Dekripsi
Gambar 3 menunjukkan rancangan proses dekripsi, dijelaskan sebagai berikut :
p r
o s
e s
1
p r
o s
e s
2
p r
o s
e s
3
1 =
Invers Matrik Kunci 1
2 =
Invers Matrik Kunci 2
3 =
I nve r s M a t r ik Ku nc i 3
Plaintext ASCII
= { , , ,
} =
2 127,
= = { ,
, , }
= { , , ,
} = 1 +
12, =
= { , , ,
} Chipertext
CBB
Kunci ASCII
= { , , , }
= ln
= + + +
= 127
= ln
, : +
′
+ =
cos + Fungsi Weber
= 127
= { , , , } =
2 3
1 127,
= = { ,
, , }
= { , , ,
} =
2 127 ,
= = { ,
, , }
= { , , ,
} = 1 +
127,
= = { , , , }
= { , , , }
= 2
3 1
127, =
= { , , ,
}
Kunci Matrik Kunci
11
1. Hasil yang diperoleh pada Persamaan 46, selanjutnya dikonversi balik dengan mengacu pada Persamaan 33, maka diperoleh
= { , , , , }
47 2. Pada putaran balik pertama, bilangan-bilangan dari Persamaan
47 kemudian disubtitusikan ke dalam invers fungsi rasional pada Persamaan 29, sehingga
= { , , , , }
48 3. Pada putaran balik pertama, bilangan pada Persamaan
48 disusun menjadi blok vector kemudian dikalikan dengan Persamaan 23, sehingga diperoleh
= { , ,
, , }
49 4. Pada putaran balik pertama, bilangan-bilangan dari Persamaan
49 kemudian disubtitusikan ke dalam invers fungsi rasional pada Persamaan 31, sehingga
= { , ,
, , }
50 5. Pada putaran balik pertama, bilangan pada Persamaan
50 disusun menjadi blok vector kemudian dikalikan dengan Persamaan 25, sehingga diperoleh
= { , , , , } 51
6. Pada putaran balik kedua, bilangan-bilangan dari Persamaan 51 kemudian
disubtitusikan ke dalam invers fungsi rasional pada Persamaan 31, sehingga = { , , , , }
52 7. Pada putaran balik kedua, bilangan pada Persamaan
52 disusun menjadi blok vector kemudian dikalikan dengan Persamaan 25, sehingga diperoleh
= { , ,
, , }
53 8. Pada putaran balik kedua, bilangan-bilangan dari Persamaan
53 kemudian disubtitusikan ke dalam invers fungsi rasional Persamaan 30, sehingga
= { , , , , } 54
9. Pada putaran balik kedua, bilangan pada Persamaan 54 disusun menjadi
blok vector kemudian dikalikan dengan Persamaan 24, sehingga diperoleh = { , , , , }
55 10. Pada putaran balik ketiga, bilangan-bilangan dari Persamaan
55 kemudian disubtitusikan ke dalam invers fungsi rasional Persamaan 30, sehingga
= { , ,
, , }
56 11. Pada putaran balik ketiga, bilangan pada Persamaan
56 disusun menjadi blok vector kemudian dikalikan dengan Persamaan 24, sehingga diperoleh
= { , ,
, , }
57 12. Pada putaran balik ketiga, bilangan-bilangan dari Persamaan
57 kemudian disubtitusikan ke dalam invers fungsi rasional Persamaan 29, sehingga
= { , ,
, , }
58 13. Pada putaran balik ketiga, bilangan pada Persamaan
58 disusun menjadi blok vector kemudian dikalikan dengan Persamaan 23, sehingga diperoleh
= { , ,
, , }
59 14. Bilangan yang dihasilkan pada akhir putaran yaitu Persamaan 59
disubtitusikan dalam kode ASCII yang berkorespondensi sehingga plainteks diperoleh kembali.
12
4. Hasil dan Pembahasan