1
1. Pendahuluan
Aspek keamanan merupakan salah satu faktor penting dalam proses pengiriman data. Dalam proses pengiriman data, data dapat saja diubah, disisipkan
atau dihilangkan oleh orang yang tidak bertanggungjawab. Untuk melindungi data dari orang yang tidak bertanggungjawab atau lebih dikenal dengan istilah hacker,
maka dikembangkan salah satu cabang ilmu yaitu kriptografi.
Salah satu kriptografi yang sering digunakan yaitu Hill Cipher yang dibuat oleh Lester S. Hill pada tahun 1929. Sistem yang digunakan yaitu polialfabetik
menggunakan 26 huruf dalam bahasa inggris, yang berkorespondensi dengan angka 0 sampai 25 [1]. Kelemahan kriptografi Hill Cipher yaitu algoritma yang
hanya bisa bekerja pada 26 karakter alfabet. Selain itu, jumlah karakter cipherteks sama dengan jumlah karakter plainteks dan juga cipherteks yang dihasilkan hanya
dalam karakter abjad, sehingga mudah bagi kriptanalis untuk memecahkannya. Kriptanalis yang telah memecahkan kriptografi Hill Cipher yaitu known-plaintext
attack dengan teknik perkalian linear dan perkalian matriks [2].
Beranjak dari permasalahan di atas, dilakukan penelitian yang memodifikasi Hill Cipher menggunakan fungsi linear yang berguna sebagai putaran dan fungsi
Anger yang digunakan sebagai kunci pembangkit. Kunci matriks didapatkan dari hasil kali matriks utama dengan kunci pembangkit ataupun dengan nilai tertentu.
Dalam penelitian ini terdapat 3 putaran dimana setiap putarannya terdapat 6 proses. Pada setiap proses, fungsi linear yang digunakan berbeda-beda karena
setiap konstanta dibangkitkan dari fungsi Anger ataupun dengan kunci yang sudah dibangkitkan untuk proses enkripsi melalui perhitungan matematis kali, bagi,
jumlah, kurang dengan nilai tertentu.
2. Tinjauan Pustaka
Penelitian sebelumnya yang berjudul “Variable-length Hill Cipher with MDS Key Matrix
” menjelaskan bahwa untuk mengatasi serangan kriptografi Hill Cipher dari kriptanalis known-plaintext attack yaitu dengan melakukan proses enkripsi
terlebih dahulu terhadap matriks kunci yang digunakan dengan menggunakan matriks kunci Maximum Distance Separable MDS. Hasil dari penelitian ini
yaitu dapat mencegah kriptanalis known-plaintext attack dan ciphertext only attack dengan cara mengubah kunci matriks secara dinamis. Tetapi kekurangan
dari penelitian ini yaitu kurang efisien yang disebabkan penggunaan operasi matriks yang banyak [3].
Penelitian selanjutnya
yaitu “Modifikasi
Kriptografi Hill
Cipher Menggunakan Convert Between Base ” menjelaskan bahwa modifikasi
tersebut bisa mengatasi berbagai permasalahan dari kriptografi Hill Cipher dengan cara mengkonversi bilangan plainteks dari suatu basis terpilih ke basis terpilih
lainnya, kemudian hasil tersebut diubah ke dalam bentuk vektor dan dikalikan dengan matriks kunci, langkah tersebut diulang sampai dengan 10 kali. Cipherteks
dihasilkan dari hasil akhir putaran yang kemudian dikonversi ke dalam suatu basis terpilih, sehingga menghasilkan cipherteks dalam bentuk bit biner [4].
2
Penelitian yang berjudul “Modifikasi Teknik Kriptografi Hill Cipher Menggunakan Fungsi Rasional dan Konversi Basis Bilangan pada Proses
Enkripsi- Dekripsi”, menjelaskan bahwa modifikasi yang dilakukan untuk
mengatasi permasalahan kriptografi Hill Cipher yaitu dengan memanfaatkan fungsi rasional sebagai putarannya dan sebuah nilai yang digunakan untuk kunci
pada proses konversi basis bilangan, sumlah cipherteks yang dihasilkan lebih banyak dibandingkan dengan plainteks. Selain itu bentuk dari cipherteks
merupakan bilangan 0 dan 1 sehingga sulit bagi kriptanalis untuk memecahkannya [5].
Penelitian terdahulu tersebut menjadi acuan untuk membuat modifikasi kriptografi Hill Cipher. Perbedaan perancangan kriptografi ini dari modifikasi
terdahulu terletak pada penggunaan fungsi yang digunakan yaitu fungsi Anger sebagai pembangkit kunci enkripsi dan dekripsi. Proses alur pada modifikasi ini
menggunakan 3 putaran dimana pada setiap putaran akan dibangkitkan kunci baru hasil dari pembangkitan kunci sebelumnya. Selain itu pada setiap putaran, fungsi
linear yang digunakan juga berbeda karena nilai konstanta didapatkan dari hasil pembangkitan kunci pada setiap putaran ataupun hasil fungsi Anger. Penggunaan
3 putaran dengan alasan akan menghasilkan modifikasi Hill Cipher yang membutuhkan memori dan waktu sedikit tanpa mengurangi tingkat keamanan dari
modifikasi Hill Cipher. Pada perhitungan CBB Convert between Base, kunci dibangkitkan dari hasil fungsi Anger dikalikan dengan kunci yang dibangkitkan
dari proses putaran.
Kriptografi Hill Cipher merupakan teknik kriptografi yang menggunakan matriks sebagai kuncinya untuk melakukan proses enkripsi-dekripsi [6]. Dasar
dari matriks Hill Cipher yaitu aritmatika modulo terhadap matriks. Dalam penerapannya, Hill Cipher menggunakan teknik perkalian matriks dan invers
terhadap matriks. Kunci pada Hill Cipher adalah matriks dengan
merupakan ukuran blok. Jika matriks kunci disebut dengan A, maka matriks A adalah sebagai berikut :
[ ]
Defenisi 1. Invers Matriks [7]
- Jika A adalah matriks bujur sangkar, dan matriks B yang ukurannya sama
sedemikian rupa sehinggaruux -
Jika A dapat dibalik,
- Jika matriks B tidak dapat didefinisikan, maka A dinyatakan sebagai
matriks singular.
3
Matriks A harus mempunyai invers A
-1
, karena akan digunakan untuk proses dekripsi. Fungsi dari A
-1
yaitu untuk mengembalikan nilai. Proses enkripsi dilakukan untuk tiap blok plainteks yang mana ukuran blok harus sama dengan
ukuran matriks kunci. Sebelum membagi teks menjadi deretan blok-blok, plainteks dikonversi ke dalam bilangan ASCII yang berkorespodensi dengan
ketentuan bilangan { } dan huruf { }.
Dimisalkan P adalah plainteks dan C adalah cipherteks, maka [
] [ ]
Sehingga secara umum proses enkripsi dapat dinotasikan dengan Sedangkan proses dekripsi dinotasikan dengan
Perancangan teknik kriptografi ini menggunakan fungsi linear sebagai proses putaran dipadukan dengan fungsi Anger sebagai pembangkit kuncinya. Fungsi
linear merupakan sebuah persamaan aljabar yang setiap sukunya mengandung konstanta atau perkalian konstanta dengan variabel yang berpangkat satu.
Eksistensi dan keunikan dari persamaan linear yaitu hubungan matematis tersebut dapat digambarkan sebagai garis lurus dalam koordinat kartesius [8]. Secara
umum diberikan pada Persamaan 6.
dengan syarat .
Fungsi kedua yang digunakan dalam modifikasi ini menggunakan fungsi Anger yang didefenisikan pada Persamaan 7 [9].
Fungsi Anger digunakan karena hasil perhitungan fungsi Anger menghasilkan bilangan yang tidak linear karena bila digambarkan pada grafik akan membentuk
parabola sehingga sulit bagi kriptanalis untuk mencari hubungan pada kunci Anger yang dihasilkan.
Perancangan kriptografi melibatkan banyak proses perhitungan matematika, selain menggunakan Persamaan 6 dan Persamaan 7 digunakan proses Convert
Between Base CBB yang secara umum diberikan pada defenisi berikut ini. Defenisi 2
, Konversi sembarang bilangan positif s, berbasis 10 ke basis
β. Secara umum notasinya [9],
Defenisi 3 ,
Konversi dari urutan bilangan list digit ℓ dalam basis ke basis β [9].
Secara umum dinotasikan, Dengan jumlahan urutan bilangan jumlaha
n ℓ mengikuti aturan [8],
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