4 ∑
Dimana nops ℓ adalah nilai terakhir dari urutan bilangan ℓ [9], dimana:
- 0 ≤ lk ≤ α dan ℓ adalah bilangan positif.
- Nilai yang diperoleh merupakan kumpulan urutan bilangan dalam
basis β.
3. Metode Perancangan
Perancangan sistem untuk modifikasi kriptografi Hill Cipher dilakukan dalam tahap-tahap penelitian. Tahap yang diperlukan yaitu Pengumpulan Bahan,
Analisis Kebutuhan, Perancangan Modifikasi Hill Cipher, Modifikasi Hill Cipher, Uji Hasil Modifikasi Hill Cipher dan Penulisan Laporan yang ditunjukkan pada
Gambar 1.
Gambar 1 Tahap Penelitian
Tahapan penelitian berdasarkan pada Gambar 1, dijelaskan sebagai berikut. Tahap pertama: Analisis Kebutuhan yaitu menganalisis kebutuhan apa saja yang
diperlukan dalam modifikasi kriptografi Hill Cipher. Tahap Kedua: Pengumpulan Bahan yaitu pengumpulan bahan berupa data-data yang terkait dengan proses
perancangan modifikasi kriptografi Hill Cipher misalnya mendapatkan data dan literatur yang terkait melalui dokumen dan referensi yang ada. Tahap Ketiga:
Perancangan modifikasi kriptografi Hill Cipher yaitu meliputi pembuatan bagan proses enkripsi dan dekripsi dalam memodifikasi kr iptografi Hill Cipher beserta
gambaran umum mengenai modifikasi yang akan dilakukan. Tahap Keempat: Modifikasi Hill Cipher yaitu melakukan modifikasi kriptografi Hill Cipher
Analisis Kebutuhan Pengumpulan Bahan
Perancangan Modifikasi Modifikasi Hill Cipher
Uji Modifikasi
Penulisan Laporan
5
berdasar pada tahap ketiga, kemudian melakukan analisis dari hasil modifikasi Hill Cipher.
Tahap Kelima: Uji Hasil Modifikasi Hill Cipher yaitu melakukan uji hasil modifikasi terhadap keseluruhan perancangan dan modifikasi yang telah
dibuat. Tahap Keenam: Penulisan laporan yaitu mendokumentasikan proses penelitian dari tahap awal sampai tahap akhir ke dalam sebuah tulisan yang akan
menjadi laporan hasil penelitian.
Pada proses modifikasi Hill Cipher ini terdapat dua 2 proses utama yaitu proses enkripsi dan proses dekripsi.
a. Menyiapkan plainteks
Plainteks yang akan dienkripsi diubah ke dalam bilangan ASCII dan di- mod 127, sehingga
{ }
11 dimana m adalah jumlah karakter plainteks.
b. Menyiapkan kunci utama.
Kunci utama didapatkan dengan mengubah karakter kunci utama yang di- input menjadi bilangan ASCII, sehingga
{ }
yang kemudian bilangan-bilangan pada Persamaan 12 dijumlahkan dan di- mod 127 sehingga
dimana n adalah jumlah karakter kunci utama. c.
Menyiapkan fungsi Anger Fungsi Anger digunakan sebagai kunci pembangkit dalam proses enkripsi-
dekripsi. Hasil dari perhitungan fungsi Anger akan digunakan dalam perhitungan setiap proses. Selain itu kunci Anger digunakan dalam proses
putaran dengan mensubtitusikan ke dalam persamaan linear dan juga untuk membangkitkan kunci-kunci tambahan lainnya. Nilai fungsi Anger
didapatkan dari, merujuk pada Persamaan 7 yang di-mod 127, dimana
dan , maka diperoleh
d. Menyiapkan kunci pada setiap putaran yang diberikan rumus umum secara
berikut : Dimana
-
Kunci yang pertama, merujuk pada Persamaan 15 dimana yang kemudian di-mod 127, maka
-
Kunci yang kedua, merujuk pada Persamaan 15 dimana yang kemudian di-
mod 127, maka
-
Kunci yang ketiga, merujuk pada Persamaan 15 dimana yang kemudian di-mod 127, maka
6
-
Kunci yang keempat, merujuk pada Persamaan 15 dimana yang kemudian di-
mod 127, maka
-
Kunci yang kelima, merujuk pada Persamaan 15 dimana yang kemudian di-mod 127, maka
-
Kunci yang keenam, merujuk pada Persamaan 15 dimana yang kemudian di-
mod 127, maka
-
Kunci yang ketujuh, merujuk pada Persamaan 15 dimana yang kemudian di-
mod 127, maka
e. Menyiapkan matriks kunci yang invertible
Matriks kunci yang akan digunakan untuk membangkitkan matriks kunci yang lainnya yaitu,
[ ]
- Matriks kunci yang pertama maka Persamaan 23 dikalikan dengan
Persamaan 14 yang kemudian di-mod 127, sehingga diperoleh -
Matriks kunci yang kedua diperoleh dari -
Matriks kunci yang ketiga dibangkitkan dengan proses sebagai berikut Proses dekripsi menggunakan invers Persamaan 24, Persamaan 25 dan
Persamaan 26. Selanjutnya secara berturut-turut invers dari matriks dan
adalah dan
f. Menyiapkan fungsi linear dan invers fungsi liner
Fungsi linear yang digunakan harus mempunyai invers. Fungsi linear digunakan dalam proses putaran pada enkripsi sedangkan invers fingsi linear
digunakan dalam proses putaran pada dekripsi. Untuk mempersulit kriptanalis memecahkan plainteks, maka setiap putaran tidak hanya menggunakan satu
1 fungsi linear, melainkan menggunakan beberapa fungsi linear dimana nilai konstanta merupakan hasil dari kunci yang dibangkitkan.
- Pada putaran pertama fungsi linear 1 diperoleh dari Persamaan 6 dimana
dan kemudian di-mod 127, sehingga
7
- Pada putaran pertama fungsi linear 2 diperoleh dari Persamaan 6 dimana
dan kemudian di-mod 127, sehingga
- Pada putaran pertama fungsi linear 3 diperoleh dari Persamaan 6 dimana
dan kemudian di-mod 127, sehingga
- Pada putaran kedua fungsi linear 1 diperoleh dari Persamaan 6 dimana
dan kemudian di-mod 127, sehingga
- Pada putaran kedua fungsi linear 2 diperoleh dari Persamaan 6 dimana
dan kemudian di-mod 127, sehingga
- Pada putaran kedua fungsi linear 3 diperoleh dari Persamaan 6 dimana
dan kemudian di-mod 127, sehingga
- Pada putaran tiga fungsi linear 1 diperoleh dari Persamaan 6 dimana
dan kemudian di-mod 127, sehingga
- Pada putaran ketiga fungsi linear 2 diperoleh dari Persamaan 6 dimana
dan kemudian di-mod 127, sehingga
- Pada putaran ketiga fungsi linear 3 diperoleh dari Persamaan 6 dimana
dan kemudian di-mod 127, sehingga
Proses dekripsi memerlukan invers fungsi linear Persamaan 27 sampai dengan Persamaan 35. Secara berturut-turut invers dari fungsi linear
adalah
8
g. Menyiapkan fungsi Convert Between Base CBB
Cipherteks dirancang dalam bit biner, maka dari itu salah satu basis harus dua 2. Sehingga dengan Defenisi 3 dimana
11, , , maka
Pada proses dekripsi digunakan konversi basis bilangan dimana cipherteks,
2, Persamaan 22 Persamaan 14, maka Gambar 2 menunjukkan proses enkripsi dalam modifikasi kriptografi Hill
Cipher.
9
Gambar 2 Proses Enkripsi
Setelah tahap persiapan selesai dilakukan, maka selanjutnya adalah proses enkripsi secara garis besar yang akan dijelaskan sebagai berikut:
1. Merujuk pada Persamaan 11, jika banyak elemen pada Persamaan 11
sebanding dengan kelipatan ordo matriks kunci, maka dilanjutkan pada proses selanjutnya. Apabila banyak elemen pada Persamaan 11 tidak sebanding
dengan kelipatan ordo matriks, maka harus ditambahkan bilangan 32 dalam kode ASCII merupakan karakter spasi setelah bilangan terakhir sesuai
kebutuhan sehingga banyak elemen Persamaan 11 sebanding dengan kelipatan ordo matriks kunci.
{ }
{ }
{ }
[ ]
M a t r i k K u n c i
A S
C I
I Kunci Utama
{ }
{ }
{ }}
{ }
{ }
A S
C I
I P l a i n t e x t
{ }
{ }
{ }
{ }
{ }}
{ }
{ }
{ }
{ }
{ }
{ }
{ }
C i p h e r t e k s C
B B
K u n c i k e k u n c i K e t :
K u n c i k e f u n g s i F u n g s i k e f u n g s i
{ }
10
dimana kelipatan tiga dari jumlah karakter plainteks.
2. Merujuk pada Persamaan 27, dimana , sehingga
{ }
3. Persamaan 39 kemudian disusun menjadi blok vektor dengan ukuran blok
sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan 24, maka
{ }
4. Merujuk pada Persamaan 28, dimana , sehingga
{ }
5. Persamaan 41 kemudian disusun menjadi blok vektor dengan ukuran blok
sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan 25, maka
{ }
6. Merujuk pada Persamaan 29, dimana , sehingga
{ }
7. Persamaan 43 kemudian disusun menjadi blok vektor dengan ukuran blok
sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan 26, maka
{ }
8. Merujuk pada Persamaan 30, dimana , sehingga
{ }
9. Persamaan 45 kemudian disusun menjadi blok vektor dengan ukuran blok
sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan 25, maka
{ }
10. Merujuk pada Persamaan 31, dimana , sehingga
{ }
11. Persamaan 47 kemudian disusun menjadi blok vektor dengan ukuran blok
sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan 26, maka
{ }
12. Merujuk pada Persamaan 32, dimana , sehingga
{ }
13. Persamaan 49 kemudian disusun menjadi blok vektor dengan ukuran blok
sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan 24, maka
{ }
14. Merujuk pada Persamaan 33, dimana , sehingga
{ }
15. Persamaan 51 kemudian disusun menjadi blok vektor dengan ukuran blok
sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan 26, maka
{ }
16. Merujuk pada Persamaan 34, dimana , sehingga
{ }
11
17. Persamaan 53 kemudian disusun menjadi blok vektor dengan ukuran blok
sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan 25, maka
{ }
18. Merujuk pada Persamaan 35, dimana , sehingga
{ }
19. Persamaan 55 kemudian disusun menjadi blok vektor dengan ukuran blok
sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan 24, maka
{ }
20. Bilangan-bilangan pada Persamaan 56 kemudian dikonversi menggunakan
Persamaan 36, sehingga {
}
Gambar 3 Proses Dekripsi
{ }
{ }
{ }
{ }
{ }
{ }
C i p h e r t e k s C
B B
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
A S
C I
I P l a i n t e x t
{ }
{ }
{ }
{ }
K u n c i k e k u n c i K e t :
K u n c i k e f u n g s i F u n g s i k e f u n g s i
A S
C I
I Kunci Utama
{ }
12
Setelah proses Enkripsi selesai, proses dekripsi adalah sebagai berikut : 1.
Merujuk pada Persamaan 37 dimana 57, maka
{ }
2. Persamaan 58 kemudian disusun menjadi blok vektor dengan ukuran blok
sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan maka
{ }
3. Merujuk pada
, dimana , sehingga {
} 4.
Persamaan 60 kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan
, maka {
} 5.
Merujuk pada , dimana , sehingga
{ }
6. Persamaan 62 kemudian disusun menjadi blok vektor dengan ukuran blok
sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan , maka
{ }
7. Merujuk pada
, dimana , sehingga {
} 8.
Persamaan 64 kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan
, maka {
} 9.
Merujuk pada , dimana , sehingga
{ }
10. Persamaan 66 kemudian disusun menjadi blok vektor dengan ukuran blok
sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan , maka
{ }
11. Merujuk pada
, dimana , sehingga {
} 12.
Persamaan 68 kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan
, maka {
} 13.
Merujuk pada , dimana , sehingga
{ }
14. Persamaan 70 kemudian disusun menjadi blok vektor dengan ukuran blok
sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan , maka
{ }
15. Merujuk pada
, dimana , sehingga {
}
13
16. Persamaan 72 kemudian disusun menjadi blok vektor dengan ukuran blok
sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan , maka
{ }
17. Merujuk pada
, dimana , sehingga {
} 18.
Persamaan 74 kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan
, maka {
} 19.
Merujuk pada , dimana , sehingga
{ }
20. Tahap yang terakhir yaitu bilangan-bilangan hasil Persamaan 76 diubah
dalam kode ASCII yang berkorespondensi sehingga plainteks diperoleh kembali.
4. Hasil dan Pembahasan