PENGGUNAAN DETERMINAN POLINOMIAL MATRIKS DALAM MODIFIKASI KRIPTOGRAFI HILL CHIPER Alz Danny Wowor Jurusan Teknologi Informasi Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Jl. Diponegoro 50-66, Salatiga, 50711 Telp : (0298) 3419240, Fax : (0298) 3419240 E-mail: [email protected] Abstrak Hill cipher mengenkripsi pesan menggunakan matriks sebagai kunci, yang dapat digunakan sebagai pengamanan informasi. Teknik kriptografi ini telah dipecahkan dengan kriptanalisis known plaintext attack. Penelitian ini memodifikasi Hill cipher menggunakan kunci yang dibangkitkan dari determinan polinomial matriks. Hasil diperoleh bahwa modifikasi Hill cipher memenuhi syarat sistem kriptografi. Proses enkripsi-dekripsi membutuhkan rata-rata waktu 0,068 detik lebih lama dari Hill cipher dan membutuhkan rata-rata memori lebih banyak 0,102M. Modifiaksi yang dilakukan dapat menahan serangan kriptanalisis yang sebelumnya dapat membobol Hill cipher. Kata Kunci: Hill Cipher, Known Plaintext Attack, Determinan Polinomial Matriks Pendahuluan Penggunaan kriptografi sebagai pengamanan terhadap transfer informasi menjadi perhatian yang serius. Banyak kasus penyadapan, pembobolan email dan lain sebagainya membuat menempatkan kriptografi pada peranan yang penting. Banyak kasus yang terjadi akibat dari lemahnya sebuah sistem pengamanan sehingga informasi penting baik secara pribadi maupun organisasi jatuh ke pihak yang tidak berwajib. Seiring dengan berjalannya waktu kriptografi pun mengalami masalah dalam mengamankan informasi bila hanya mengandalkan kriptografi standart, yang mempunyai kemungkinan sudah ada kriptanalisisnya. Oleh karena itu, sangat diperlukan teknik yang baru atau memodifikasi teknik yang sudah ada untuk dapat meningkatkan keamanan informasi tersebut. Tulisan ini memodifikasi kriptografi Hill Cipher (HC) yang mengandalkan matriks sebagai kunci dalam melakukan proses enkripsi maupun dekripsi. Penggunaan kunci tambahan berupa determinan dari matriks polinomial berupa persamaan polinomial yang digunakan sebagai pembangkit kunci. Selain itu juga digunakan convert between base (CBB) yang mengkonversi setiap bilangan ke basis bilangan yang lainnya. Studi Pustaka Hill Cipher Hill Cipher adalah kriptografi yang menggunakan matriks sebagai kunci. Proses Hill cipher ditunjukkan pada Gambar 1. Gambar 1. Proses Enkripsi-Dekripsi Hill Cipher (Alz, 2013) Matriks bujursangkar Ω berordo 𝑛 × 𝑛 yang mempunyai invers untuk dijadikan kunci. Misalkan P sebagai plainteks yaitu dan C sebagai cipherteks sehingga proses enkripsi adalah (Stanoyevitch, 2011) 𝐶 = Ω ∙ 𝑃 (𝑚𝑜𝑑 26) (1) Proses dekripsi secara umum diberikan 𝑃 = Ω−1 ∙ 𝐶 (𝑚𝑜𝑑 26) (2) Matriks Polinomial Jika A adalah sebuah matriks bujursangkar, misalnya m × m, dan jika 𝑝(𝑥) = 𝑎0 + 𝑎1 𝑥 + ⋯ + 𝑎𝑛 𝑥 𝑛 adalah polinomial sembarang. Untuk setiap koefisien 𝑎0 sampai 𝑎𝑛 dari Persamaan (3), digantikan dengan 𝑛 matriks yang secara umum dapat didefenisikan sebagai 𝑝(𝑥) = 𝐴0 + 𝐴1 𝑥 + ⋯ + 𝐴𝑛 𝑥 𝑛 (3) (4) Convert Between Base Convert Between Base (CBB) merupakan suatu proses yang mengubah urutan bilangan dari satu basis ke basis yang lainnya. Untuk menjelaskan proses cari CBB maka diberikan dengan kedua defenisi berikut ini. Defenisi 1. (Maplesoft, 2010) Konversi sembarang bilangan positif s berbasis 10 ke basis β. Secara umum notasinya, Konv (s, base β ). Defenisi 2. (Maplesoft, 2010) Konversi dari urutan bilangan (list digit) ℓ dalam basis α ke basis β, dinotasikan, Konv (ℓ, α base β ) nops(ℓ) dengan jumlahan urutan bilangan (jumlahan ℓ) mengikuti aturan, å I k × a k-1 i=1 dimana nops (ℓ) adalah nilai terakhir dari urutan bilangan ℓ. • 0 ≤ Ik ≤ α dan ℓ adalah bilangan positif. • Nilai yang diperoleh merupakan kumpulan urutan bilangan dalam basis β. Metodologi Penelitian Penelitian ini memodifikasi kriptografi Hill cipher menggunakan determinan dari matirks polinomial. Perlu untuk disiapkaan sembarang matriks bujur sangkar yang mempunyai invers. Kemudian hasil dari determinan matriks tersebut dijadikan sebagai kunci yang dibangkitkan dari fungsi polinomial. Berikut langkah-langkah analisis yang dilakukan untuk mencapai tujuan penelitian yaitu, memodifikasi Hill cipher dan menguji modifikasi tersbut terhadap serangan kriptanalisis known plaintext attack, secara lengkap diberikan pada Gambar 2. Gambar 2. Langkah Penelitian Berdasar pada Gambar 2, Langkah ke-2 adalah Modifikasi Hill cipher. Bagian ini menujukan perancangan modifikasi. Menyiapkan plainteks yang akan di enkripsi, setelah itu adalah pembangkitan kunci dari fungsi polinomial dari sembarang matriks bujursangkar. Fungsi yang diperoleh kemudian disubtitusikan dengan konstanta bilangan bulat sehingga menghasilkan bilangan unik yang dapat dijadikan sebagai koefisien pada sejumlah persamaan linier (f1, f2, ..., fn). Selanjutnya kunci yang dimasukan akan di ubah menjadi sederetan angka menggunakan konversi ASCII, yang membentuk n-matriks kunci (M1, M2, ..., Mn), seperti pada Gambar 3. Gambar 3. Proses Enkripsi Proses dekripsi dilakukan dengan plainteks dikonversi ke ASCII, setelah itu dilakukan proses CBB seperti yang diberikan pada Defenisi 2, hasil dari CBB kemudian di kalikan dengan matriks kunci (M1) dan kemudian di subtitusikan ke dalam persamaan linier (f 1) yang menggunakan konstanta unik. Hasil tersebut dianggap sebagai (C1) atau ciphertext yang pertama. Selanjutnya dilakukan proses yang sama untuk mendapatkan ciphertext ke-n (Cn), setelah itu prose yang terakhir adalah dilakukan konverai antar basis bilangan (Bs-2) untuk mendapatkan ciphertext. Gambar 4. Proses Dekripsi Setiap matriks yang dijadikan kunci adalah matriks yang mempunyai invers, sehingga dalam proses dekripsi dapat juga dikembalikan ke plantext. Gambar 3, menujukkan proses untuk mengembalikan pesan dilakukan dengan mengkonversi kembali dengan invers dari CBB yang kedua (Inv-Bs 2) kemudian dengan fungsi linier yang terakhir (fn), hasilnya dikalikan dengan invers matriks (Mn-1). Proses ini dilakukan terus menerus sampai dengan perkalian fungsi terakhir (f1) dan M1, hasil tersebut di konversi dengan InvBs-1 sehingga diperoleh plaintext. Hasil dan Pembahasan Modifikasi kriptografi Hill cipher diuji dengan mengenkripsi sebuah palinteks yaitu “salatiga hati beriman” dan kunci yang digunakan adalah “fti uksw”. Selain juga perlu disiapkan beberapa matriks yang digunakan sebagai pembangkit kunci fungsi linier, matriks tersebut adalah 1 𝐴 = [−30 60 30 1 0 0 0.1822 0.0088 2] , 𝐵 = [ 0.0141 0.2769 1 −0.0966 −0.0435 0.0033 −0.0082 0.0495 𝐶 = [0.3444 0.2730 0.2246] 0.0845 0.0379 0.0733 0.011 0.1035], 0.4876 Dari ketiga matriks di atas, disubtitusikan ke Persamaan (5), dengan A0 = A, A1 = B, dan A2 = C, maka akan diperoleh sebuah matriks 1 − 0.1822𝑥 − 0.0033𝑥 2 𝐷𝐸 = [−30 − 0.0141𝑥 − 0.3444𝑥 2 60 + 0.0966𝑥 − 0.0845𝑥 2 30 − 0.0088𝑥 + 0.0082𝑥 2 1 − 0.2769𝑥 − 0.2730𝑥 2 0.0435𝑥 − 0.0379𝑥 2 −0.011𝑥 − 0.0495𝑥 2 2 − 0.1035𝑥 − 0.2246𝑥 2 ] 1 − 0.4876𝑥 − 0.0733𝑥 2 Selanjutnya adalah mencari determinan dari matriks DE, sehingga diperoleh persamaan polinomial 𝑓(𝑥) = 4501 − 620.6147𝑥 − 461.2591221𝑥 2 − 6.251018198𝑥 3 − 1.203136772𝑥 4 − 0.003379045028𝑥 5 + 0.000406454158𝑥 6 (5) Persamaan (5) menjadi pembangkit kunci untuk mendapatkan koefisien untuk fungsi rasional yang digunakan (f1 sampai fn). Selanjutnya untuk mencari matriks kunci (M1 sampai Mn) digunakan kunci yang diinput. Misalnya dalam kasus ini adalah digunakan 3 matriks yang dibangkitkan dari kunci “fti uksw”, maka diperoleh 30 0 112 1 2 30 73 2 30 𝑀1 = [ 7 108 3 ] , 𝑀2 = [26 108 3 ] , 𝑀3 = [ 3 108 73] 0 52 2 21 52 2 5 104 2 Selain menggunakan determinan dari polinomial matriks dan matriks kunci, perancangan kriptografi ini juga menggunakan CBB untuk proses awal dan akhir, pada kasus ini berdasarkan Defenisi 2, maka untuk Bs-1 digunakan 𝛼 = 127 dan 𝛽 = 7 dan Bs-2 dipilih 𝛼 = 131 dan 𝛽 = 2 . Setelah kunci yang digunakan telah tersedia, proses enkripsi dapat dilakukan dengan menggunakan plaintext “salatiga hati beriman” diperoleh ciphertext "1110110001101011101011100101" Untuk proses dekripsi dilakukan dengan menggunakan CBB untuk Bs-2 sedangkan basis untuk Bs-1, proses untuk setiap iterasi dilakukan perkalian dengan invers dari setiap matiks. Sehingga akan diperoleh kembali palainteks “salatiga hati beriman”. Berdasarkan proses yang telah ditunjukkan, modifikasi kriptografi Hill cipher dapat melakukan proses enkripsi-dekripsi, secara umum dapat dikatakan sebagai sebuah teknik kriptografi. Menjadi sebuah teknik kriptografi tidak hanya dapat melakukan proses enkripsidekripsi, tetapi harus memenuhi 5-tuple yang disyaratkan oleh Stinson. Sebuah sistem kriptografi harus memenuhi 5 tuple P, C, K, E, D. Oleh karena itu akan ditunjukan modifikasi ini memenuhi kelima kondisi tersebut (Stinson, 1995). P adalah himpunan berhingga dari plainteks. Dalam modifikasi Hill cipher menggunakan 127 karakter maka himpunan plainteks pada modifikasi Hill Cipher adalah himpunan berhingga. C adalah himpunan berhingga dari cipherteks. Cipherteks dihasilkan dalam elemen bit biner (bilangan 0 dan 1). Karena hipunanan cipherteks hanya {0,1}, maka cipherteks modifikasi Hill Cipher adalah himpunan berhingga. K merupakan ruang kunci (keyspace), adalah himpunan berhingga dari kunci. Kunci tambahan dalam modifikasi Hill Cipher adalah fungsi linier dan Konversi Basis Bilangan yang juga himpunan berhingga. Untuk setiap 𝑘 ϵ 𝐊, terdapat aturan enkripsi ek ϵ 𝐄 dan berkorespodensi dengan aturan dekripsi dk ϵ 𝐃. Setiap ek ∶ 𝐏 ⟶ 𝐂 dan dk ∶ 𝐂 ⟶ 𝐏 adalah fungsi sedemikian hingga 𝑑𝑘 (𝑒𝑘 (𝑥)) = 𝑥 untuk setiap plainteks 𝑥 ϵ 𝐏. Kondisi ke-4 ini, terdapat kunci yang dapat melakukan proses enkripsi sehingga merubah plaintext menjadi ciphertext. Dan dapat melakukan proses dekripsi yang merubah ciphertext ke plaintext. Karena memenuhi ke-lima kondisi maka modifikasi pada Hill Cipher merupakan sebuah sistem kriptografi. Perbandingan dengan Hill Cipher Proses enkripsi-dekripsi yang dibandingkan adalah ketersediaan plainteks, ketersediaan banyaknya matriks kunci yang dapat dibentuk dan tentu juga untuk invers matriks kunci. Ruang sampel yang dapat digunakan untuk plainteks. Plaintext yang dapat dibentuk untuk Modifikasi sebanyak 127 karakter yang disesuaikan dengan ASCII, tetapi untuk Hill cipher hanya tersedia 26 karakter. Berdasarkan aturan perpangkatan diperoleh modifikasi Hill Cipher mengungguli Hill Cipher sebanyak 3.298105963 × 10229 kali. Matriks kunci yang tersedia diambil berdasarkan bilangan yang bersesuaian karakter plainteks (26 pada Hill Cipher dan 127 dalam modifikasi). Entri matriks bergantung pada ordo matriks kunci. Perbandingan banyak matriks yang dapat dijadikan kunci diberikan pada Tabel 1, dibawah ini. Tabel 1. Perbandingan Ketersediaan Matriks Kunci (Alz, 2013) Ordo Matriks (𝑘 × 𝑘) 2x2 3x3 4x4 Banyak entri (𝑘 2 ) HC (𝑘 = 26) MHC (𝑘 = 127) 4 9 16 14950 3124550 5311735 10334625 17722355795375 81675143551104405225 Banyak Kombinasi matriks yang diperoleh Perbandingan (Hc : MHc) 1 : 691.279 1 : 5.672 × 106 1 : 1.538 × 1013 Invers matriks digunakan untuk proses enkripsi baik pada Hill Cipher dan Modifikasi Hill Cipher. Invers dari matriks, terlebih dahulu dilihat determinan yang mempunyai resiprok (invers perkalian) terhadap 𝐙𝟐𝟔 dan 𝐙𝟏𝟐𝟕 . Hill cipher, matriks kunci tidak bisa memiliki nilai determinan genap, 0 dan 13 karena tidak memiliki resiprok terhadap modulo 26. Sedangkan Modifikasi Hil Cipher, hanya determinan 0 saja yang tidak memiliki resiprok terhadap modulo 127. Shingga banyak peluang determinan dari matriks kunci yang mempunyai resperiok, maka untuk Hill Cipher diperoleh 0,538, dan pada Modifikasi diperoleh 0.992. Peluang untuk matriks yang tidak mempunyai invers sebesar 0,462 = (1 – 0,538) untuk Hill cipher, sehingga perlu lebih hati-hati dan teliti untuk mengambil matriks kunci. Sedangkan untuk untuk Modifikasi Hill Cipher hampir mendekati satu (yaitu 0.992). Sehingga pengambilan matriks yang dapat dijadikan kunci sangat bebas. Hal ini juga dapat ditunjang dengan peluang matriks yang tidak mempunyai invers sangat kecil hanya sekitar 0.008 = (1 – 0.992). Kriptananlisis Pada Modifikasi Hill Cipher Kriptografi Hill cipher telah dipecahkan dengan teknik Kriptanalisis known-plaintext attack (Anton & Rorres, 2005). Perkalian matriks merupakan suatu kombinasi liner, sehingga pola dari setiap cipherteks dengan plainteks dapat diketahui. Hal ini dipermudah dengan relasi plainteks dan cipherteks adalah Z26 ke Z26. Oleh karena itu perkalian matriks dapat dilakukan dan matriks kunci dapat ditemukan. Modifikasi Hill cpher ini, dirancang dengan plainteks dalam Z127 ke cipherteks dalam Z2, relasi ini mempersulit kriptananlisis untuk dapat melihat pola yang semula mudah ditemukan. Hal ini dipersulit dengan penggunaan perkalian n-matriks kunci dan proses CBB. Sehingga kriptanalisis known-plaintext attack dengan perkalian matriks tidak dapat menumukan matriks kunci (apalagi ada n-matriks kunci). Kebutuhan Waktu dan Memori Kebutuhan akan waktu dan memori pada setiap kriptografi sangat diperlukan untuk melihat perbandingan antara Hill Cipher (HC) dan Modifikasi Hil Cipher (MHc). Gambar 4 menunjukkan MHc membutuhkan memori dan waktu yang lebih banyak dari HC. MHc memerlukan rata-rata memori 0,102 M lebih banyak dari HC. Sedangkan untuk kebutuhan waktu berdasarkan banyak karakter MHc memerlukan rata-rata waktu 0,068 detik lebih banyak dibandingkan dengan HC. Lebih banyak kebutuhan waktu dan memori karena dalam proses yang dilakukan, terdapat beberapa fungsi ditambahkan untuk memperkuat proses kriptografi. Hal ini berimplikasi pada kekuatan algoritma terhadap kriptanalisis known-plaintext attack (KPA) yang sebelum memecahkan Hill Cipher. 2.5 0.2 0.18 0.16 0.14 0.12 0.1 0.08 0.06 0.04 0.02 0 Waktu (s) Memori (M) 2 1.5 1 0.5 0 0 100 200 300 400 Banyak Karakter Hil Cipher Modifikasi 500 0 100 200 300 400 500 Banyak Karakter Hill Cipher Modifikasi Gambar 4. Kebutuhan Memori dan Waktu Kesimpulan Perancangan modifikasi kriptografi Hill cipher menggunakan determinan polinomial matriks dapat dapat memenuhi syarat untuk menjadi sebuah sistem kriptografi. Penggunaan kunci dari determinan polinomial matriks memberikan perubahan yang signifikan pada algoritma dari sisi keamanan, karena dapat menahan serangan kriptanalisis known-plaintext attack yang sebelumnya membobol Hill cipher. Kelebihan menahan kriptanalisis memebrikan dampak pada modifikasi Hill cipher dalam proses enkripsi-dekripsi membutuhkan waktu ratarata 0,068 detik lebih lama dari Hill cipher, sedangakan untuk rata-rata kebutuhan memori lebih banyak 0,102M. Daftar Pustaka Alz Danny Wowor, 2013, Modifikasi Kriptografi Hill Cipher Menggunakan Convert Between Base, Seminar Nasional Sistem Informasi Indonesia (SESINDO), Bali 2-4 Desember 2005, ITS Surabaya. Anton, H. & Rorres, C., 2005, Elementary Linear Algebra, Applications Version, 9th Edition, New York: John Wiley & Sons. Hill, Lester, S., 1929, Cryptography in an Algebraic Alphabet: The American Mathematical Monthly, 36 (6), pp.306-312. Stinson, D.R., 1995, Cryptography Theory and Practice, Florida: CRC Press, Inc. Stanoyevitch, A., 2011, Introduction to Cryptography with Mathematical Foundations and Computer Implementations, Boca Raton-Florida: Chapman & Hall/CRC Taylor & Francis Group.