Prosiding Seminar Matematika, Sains dan TI, FMIPA UNSRAT, 14 Juni 2013 ……………….99
PERANCANGAN KRIPTOGRAFI KUNCI SIMETRIS MENGGUNAKAN FUNGSI BESSEL DAN FUNGSI LEGENDRE Fhelesia E. Gomies 1), Alz Danny Wowor 2) 1)
Mahasiswa Jurusan Teknologi Informatika, FTI, UKSW,
[email protected] 2) Jurusan Teknik Informatika, FTI, UKSW,
[email protected]
Abstrak Keamananan informasi tidak lepas dari kriptografi. Tetapi saat ini, banyak kriptografi yang dapat dikriptanalisis. Penelitian ini, merancang sebuah kriptografi kunci simetris menggunakan fungsi Bessel dan fungsi Legendre. Hasil dari perancangan kriptografi ini, dapat menambah sebuah kriptografi yang kemudian dapat digunakan sebagai pengamanan informasi. Kata Kunci: Fungsi Bessel, Fungsi Legendre, Kriptografi, Kriptanalisis, Kunci Simetris.
1. Pendahuluan Kemajuan software dan hardware pada teknologi komputer, mendukung kemajuan kriptografi. Pada sisi lain juga menyokong kemajuan kriptanalisis. Lihat saja kriptografi Rijndael sebagai pemenang kontes Advanced Encryption Standard (AES) yang dibuat oleh NIST (National Institute of Standards and Technology) di Amerika Serikat dangan lama proses seleksi salama lima tahun. Tetapi kemudian dapat ditunjukan kelemahannya oleh Elad Barkan dan Eli Biham pada tahun 2002 [1]. Setelah itu, kembali lagi Eli Biham dan Nathan Kilier dari Technion University Israel, berhasil menujukkan kriptanalisis untuk Rijndael [2]. Kemajuan ini menjadi contoh bahwa sebuah kriptografi yang canggih pun berpeluang untuk dapat dibobol sangat besar. Sehingga, secara berkesinambungan diperlukan adanya modifikasi terhadap teknik kriptografi yang sudah ada ataupun diperlukan adanya penciptaan teknik-teknik kriptografi baru yang semakin kompleks sehingga mempersulit kriptanalisis untuk memecahkannya. Kriptografi yang dibuat selama ini, menggunakan kunci simetris maupun asimetris biasanya memakai kunci bilangan bulat atau hasil konversi bilangan bulat ke bit. Bilangan pecahan desimal merupakan rasionalitas dari bilangan pecahan yang kadang masih mempunyai sisa pembagian. Hal ini yang membuat para kriptografer tidak mau mengguankannya sebagai kunci, karena hasil perhitungannya menjadi tidak mengahasilkan sebuah bilangan bulat. Banyak fungsi-fungsi khusus matematika yang dapat menghasilkan bilangan pecahan desima, seperti fungsi Bessel dan fungsi Legendre. Oleh karena itu, dalam penenlitian ini dilakukan perancangan sebuah kriptografi kunci simetris menggunakan kunci dengan bilangan pecahan desimal yaitu fungsi Bessel dan fungsi Legendre untuk proses enkripsi-dekripsi suatu data. Harapan penenelitian ini, kiranya dapat menambah perbendaharaan teknik kriptografi dengan kunci simetris.
2. Kajian Pustaka Fungsi Bassel Perancangan ini digunakan adalah fungsi Beseel jenis pertama orde ke-n. Secara umum diberikan sebagai berikut [3]. ∞
𝐽𝑛 (𝑥) =
𝑥𝑛
∑ 𝑚=0
(−1)𝑚 𝑥 2𝑚 ∙ 𝑚! (𝑛 + 𝑚)!
22𝑚+𝑛
(1)
untuk setiap 𝑛 ≥ 0. Fungsi Legendre Polinomial Legendre derajat-n dinotasikan sebagai 𝑃𝑛 (𝑥) yang secara umum diberikan sebagai berikut [3]. 𝑀
𝑃𝑛 (𝑥) = ∑ (−1)𝑚 𝑚=0
(2𝑛 − 2𝑚)! 𝑥 𝑛−2𝑚 − 𝑚)! (𝑛 − 2𝑚)!
2𝑛 𝑚! (𝑛
dimana 𝑀 = 𝑛/2 atau (𝑛 − 1)/2 adalah bilangan bulat. 99
(2)
Prosiding Seminar Matematika, Sains dan TI, FMIPA UNSRAT, 14 Juni 2013 ……………….100
Convert Between Base Defenisi [5]. Konversi dari urutan bilangan (list digit) ℓ dalam basis ke basis . Secara umum dinotasikan, Konv (ℓ, base ) dengan jumlahan urutan bilangan (jumlahan ℓ) mengikuti aturan, 𝑛𝑜𝑝𝑠 (ℓ)
∑ Ik ∙ αk−1 k=1
dimana nops (ℓ) adalah nilai terakhir dari urutan bilangan ℓ. 0 ≤ Ik ≤ α dan ℓ adalah bilangan positif. Nilai yang diperoleh merupakan kumpulan urutan bilangan dalam basis .
3.
Perancangan Kriptografi Bagian ini menjelaskan proses enkripsi dan dekripsi dari perancangan kriptografi kunci simetri.
Proses Enkripsi Secara umum proses enkripsi ditunjukkan pada Gambar 1, dibawah ini.
Gambar 1. Skema Diagram Enkripsi
Berikut berturut-turtut dari bagian (a) sampai (e), adalah langkah-langkah secara garis besar dalam proses enkripsi: a) b)
c)
d)
e)
Plainteks (𝑃𝑡𝑥 ) dikonversi ke dalam kode ASCII, misalnya 𝐶1 = {𝑥1 , 𝑥2 , … , 𝑥𝑛 }. (3) Diambil 𝑓(𝑥) = 𝑎𝑥 + 𝑏 sebagai FUNGSI. Salanjutnya mengecek 𝑓(𝑥) mempunyai invers, maka fungsi tersebut dapat digunakan. Dimisalkan hasil subtitusi (𝐶1 ) yang kedalam fungsi, diperoleh 𝐶2 = {𝑦1 , 𝑦2 , … , 𝑦𝑛 }. (4) Hasil dari Persamaan (4) diambil sebagai (ℓ) yang akan dilakukan proses Convert Beetwen Base tahap 1, dinotasikan (CBB1). Dimana KunciTop dan KunciLegendere sebagai kunci, diperoleh 𝐶3 = {𝑧1 , 𝑧2 , … , 𝑧𝑚 }. (5) Konversi yang diperoleh dari 𝐶3 , selanjutnya juga dilakukan konversi tahap 2 (CBB 2), dengan slot dan KunciBassel diperoleh 𝐶4 = {𝑟1 , 𝑟2 , … , 𝑟𝑝 }. (6) Bilangan-bilangan di 𝐶4 dibuat dalam bilagana bit (binary digit), sehingga diperoleh cipherteks. 𝐶𝑡𝑥 = {… … } (7)
Pada Gambar 1, terdapat beberapa operasi yang perlu ditunjukan proses kerjanya, seperti proses FUNGSI, KunciTop, KunciLegendre, Slot, dan KunciBassel. Oleh karena itu berikut akan diberikan dalam bentuk flowchart.
100
Prosiding Seminar Matematika, Sains dan TI, FMIPA UNSRAT, 14 Juni 2013 ……………….101
Gambar 2. Flowchart untuk FUNGSI
Sedangkan flowchart untuk menentukan KunciTop dan KunciLegendre diberikan pada Gambar 3 dan Gambar 4.
Gambar 3. Flowchart KunciTop
Gambar 4. Flowchart KunciLegendre
Secara berturut-turut diberikan flowchart untuk menentukan KunciBessel dan slot ditunjukkan pada Gambar 5 dan Gambar 6.
Gambar 5. Flowchart KunciBessel
Gambar 6. Flowchart Slot
Proses Dekripsi Prorses dekripsi dalam perancangan kriptografi ini ditunjukan pada Gambar 6.
Gambar 7 Diagram Proses Dekripsi
Berikut berturut-turtut dari bagian (f) sampai (j), adalah langkah-langkah secara garis besar dalam proses enkripsi: f)
Cipherteks (𝐶𝑡𝑥 ) dikonversi balik, akan membentuk urutan bilangan 𝑃1 = {𝑟1 , 𝑟2 , … , 𝑟𝑘 }. 101
(8)
Prosiding Seminar Matematika, Sains dan TI, FMIPA UNSRAT, 14 Juni 2013 ……………….102
g)
Hasil dari 𝑃1 , kemudian dilakukan proses CBB2, dengan slot dan KunciBassel 𝑃2 = {𝑧1 , 𝑧2 , … , 𝑧𝑚 }.
(9)
h)
Persamaan (9) diambil sebagai (ℓ) yang akan dilakukan proses CBB1. Dimana KunciTop dan KunciLegendere sebagai kunci, diperoleh 𝑃3 = {𝑦1 , 𝑦2 , … , 𝑦𝑛 }. (10)
i)
Invers fungsi dari FUNGSI dimisalkan 𝑓 −1 (𝑥), kemudian hasil dari 𝑃3 disubtitusikan kedalam 𝑓 −1 (𝑥), diperoleh 𝑃4 = {𝑥1 , 𝑥2 , … , 𝑥𝑛 }. (11)
j)
Bilangan yang diperoleh dari 𝑃4 diekuivalensi dengan ASCII maka diperoleh plainteks, yang dinotasikan 𝑃𝑡𝑥 = {… … } (12)
4. Pengujian dan Pembahasan Pengujaian Kriptografi Sebagai kriptografi simetris, maka dapat melakukan proses enkripsi dan juga dekripsi, oleh sebab itu akan ditunjukkan rancangan kriptografi melakukan proses tersebut. Proses ini dilakukan sesuai dengan skema kriptografi pada Gambar 1.
Plainteks yang digunakan UKSW Dengan mengikuti Persamaan (3), sehingga plainteksnya dikonversi kedalam ASCCI diperoleh 𝐶1 = {85, 75, 83, 87}
Selanjutnya hasil dari Persamaan (13) disubtitusikan ke dalam FUNGSI 𝑓(𝑥) = 2𝑥 − 5, (sesuai dengan Pers. (4)) diperoleh 𝐶2 = {165, 145, 161, 169} (14)
Dari Pers. (5), dengan mengambil ℓ = 𝐶2 , KunciLegendre = 1298618107, dan KunciTop = 646 hasil pada C2 diperoleh 𝐶3 = {22, 509, 236, 398, 190, 555, 278, 102, 181, 156, 29} (15) Dengan mengikuti aturan pada Persamaan (6), dipilih o slot = 1731 =139288917338851014461418017489467720433. o KunciBesel = 6498380748. Sehingga diperoleh
(13)
𝐶4 = {74262772261803451553025675965490764080, 70262065621275126866455093792901167114, 200731906181947321081432} (16)
Hasil dari Persamaan (16), dilakukan proses pada Persamaan (7) diperoleh 𝐶𝑡𝑥 = {0, 0, 0} (17) Sehingga diperoleh cipherteks adalah 0, 0, 0 Selanjutnya akan dilkukan proses dekripsi. Karena dirancang kriptografi simetris maka kunci yang digunakan adalah sama. Berikut ditunjukkan proses dekripsi.
Dengan mengikuti aturan (f) pada Persamaan (8), sehingga diperoleh 𝑃1 = {74262772261803451553025675965490764080, 70262065621275126866455093792901167114, 200731906181947321081432} (18)
KunciBessel dan Slot digunakan sebagai basis untuk proses CBB2 dengan mengambil ℓ = 𝑃4 sebagai urutan bilangan, sehingga diperoleh 𝑃2 = {22, 509, 236, 398, 190, 555, 278, 102, 181, 156, 29} (19) Mengacu pada aturan (h), maka hasil dari Persmaan (15) dilakukan proses CBB 1 diperoleh 102
Prosiding Seminar Matematika, Sains dan TI, FMIPA UNSRAT, 14 Juni 2013 ……………….103
𝑃3 = {165, 145, 161, 169}
(20) Hasil dari Persamaan (20), disubtitusikan kedalam persamaan 𝑓(𝑥) = (𝑥 + 5)/2, maka hasilnya adalah 𝑃3 = {85, 75, 83, 87} (21) Tahapan akhir adalah mengekuivalensi Persamaan (21) kedalam kode ASCII diperoleh kembali plainteks UKSW.
Secara keseluruhan perancangan ini dapat melakukan proses proses enkripsi-dekripsi dengan menggunakan kunci yang sama (simetris), sehingga terbukti menjadi sebuah kriptografi simetris. Uji Sistem Kriptografi Stinson [5], menyatakan bahawa sebuah kriptografi harus memenuhi 5 tuple P, C, K, E, D. Oleh karena itu akan ditunjukkan perancangan ini memenuhi kelima kondisi tersebut.
P adalah himpunan berhingga dari plainteks. Rancangan kriptografi ini menggunakan plainteks berupa karakter yang ekuivalen dengna ASCII. Maka dari itu jelas bahwa plainteks adalah himpunan berhingga. C adalah himpunan berhingga dari chiperteks. Chiperteks dihasilkan dalam elemen bit binner (bilangan 0 dan 1). Karena himpunan chiperteks hanya {0,1}, maka chiperteks kunci simetris menggunakan fungsi Bessel dan fungsi Legendre adalah himpunan berhingga [6]. K merupakan ruang kunci (Keyspace), adalah himpunan berhingga dari kunci. Penggunaan kunci KunciBessel dan KunciLegendre adalah fungsi dan kunci tambahan lain seperti Slot dan KunciTop juga berupa fungsi. Maka dari itu kunci yang digunakan juga himpunan berhingga. Untuk setiap 𝑘 ∈ 𝐾, terdapat aturan enkripsi 𝑒𝑘 ∈ 𝑬 dan berkorespodensi dengan aturan dekripsi 𝑑𝑘 ∈ 𝑫. Setiap 𝑒𝑘 : 𝑃 ⟶ 𝐶 dan 𝑑𝑘 : 𝐶 ⟶ 𝑃 adalah fungsi sedemikian hingga 𝑑𝑘 (𝑒𝑘 (𝑥)) = 𝑥 untuk setiap plainteks 𝑥 ∈ 𝑃. Kondisi ke-4 ini secara menyeluruh, terdapat kunci yang dapat melakukan proses enkripsi sehingga merubah plainteks menjadi cipherteks. Dan dapat melakukan proses dekripsi yang merubah cipherteks ke plainteks.
Dari penjelasan di atas, terbukti bahwa rancangan kriptografi menggunakan fungsi Bessel dan fungsi Lengendre memenuhi sistem sbuah kriptografi. Peran Fungsi Legendre dan Fungsi Bessel Penggunaan kedua fungsi ini sebagai kunci dalam perancangan kriptografi ini, karena hasil dari fungsi Bessel dan Legendre berupa bilangan pecahan desimal. Bilangan pecahan desimal memiliki keunikan tersendiri karena mempunyai pada sisa pembagian. Hal ini yang membuat sampai saat ini tidak ada teknik kriptografi yang menggunakannya sebagai kunci. Keunikan ini yang dipilih sehingga harapannya akan mempersulit kriptanalisis dengan teknik untuk menebak kunci dan tentu juga memecahkannya. Peran KunciTop dalam Rancangan Kriptografi KunciTop merupakan kunci yang masukan berupa karakter, perancangan ini dapat memberikan kebebasan bagi user untuk memilih kunci yang akan digunakan. Karakter KunciTop dapat berupa abjat, angka, dan simbol.
103
Prosiding Seminar Matematika, Sains dan TI, FMIPA UNSRAT, 14 Juni 2013 ……………….104
3.5
0.25 0.2
2.5
Waktu (s)
Memori (M)
3
2 1.5 1
0.15 0.1 0.05
0.5 0
0 0
10
20 Karakter Kunci
Abjat
Angka
30
0
10
Simbol
Abjat
20
Karakter Kunci Angka
30
Simbol
Gambar 8 Banyak Karakter KunciTop (abjat, angka,
Gambar 9 Banyak Karakter KunciTop (abjat, angka,
simbol) vs Memori,
simbol) vs Waktu.
Gambar 7 maupun Gambar 8, menunjukkan perbandingan karakter inputan terhadap kebutuhan memori dan waktu. Hasil yang diperoleh, pengguanaan karakter simbol nampak lebih memerlukan ruang memori dan waktu yang lebih banyak dibandingkan dengan kerakter abjat dan angka. Peran Slot dalam Rancangan Kriptografi Kriptografi ini, dirancang agar plainteksnya berupa bit dan elemen bit yang dihasilkan relatif sedikit. Slot memainkan peran yang besar dalam menentukan banyaknnya cipherteks. Tabel 1 Slot vs Cipherteks No 1 2 3 4 5
Karakter Plainteks 72 72 72 72 72
Slot 1717 1732 1751 17151 172513
Banyak Cipherteks 109 58 37 13 1
Dari Tabel 1, menujukkan bahwa semakin besar Slot digunakan sebagai kunci akan membuat karakter cipherteks semakin kecil. Relasi ini membuat kriptanalisis sulit untuk melihat hubungan antara plainteks dan cipherteks. Pengujian Banyak Plainteks Terhadap Waktu dan Memory Setelah aplikasi selesai dibuat, dilakukan pengujian banyak pesan terhadap waktu dan memory yang dibutuhkan. 80
68
68
70
Waktu (s)
Memori (M)
60 50 40
27.4
30
27.4
15
20 10
4
4
0 0
200
400 600 800 Karakter Plainteks
1000
4.5 4 3.5 3 2.5 2 1.5 0.62 1 0.2 0.5 0.1 0 0 200
4
1.06
4.1
1.1
400 600 800 Karakter Plainteks
1000
Gambar 11 Banyak Karakter Plainteks vs Waktu
Gambar 10 Banyak Karakter Plainteks vs Memori
104
Prosiding Seminar Matematika, Sains dan TI, FMIPA UNSRAT, 14 Juni 2013 ……………….105
Hasil pada Gambar 10 dan Gambar 11, menujukkan hubungan antara banyak karakter kunci dengan kebutuhan memori dan waktu berkorelasi positif. Hal ini dapat dilihat dari semakin besar karakter plainteks akan mebutuhkan waktu yang dan ruang memori yang besar juga.
5. Simpulan Perancangan kriptografi dengan menggunakan fungsi Bessel dan fungsi Legendre berhasil menjadi sebuah teknik kriptografi simetris, dan dapat dikategorikan sebagai kriptografi modern karena menghasilkan cipherteks dalam elemen bit. Kriptografi ini dapat menjadi alternatif dimana banyak kriptografi yang telah ada kriptanalisisnya.
Daftar Pustaka [1]
[2]
[3] [4] [5] [6]
Barkan, E., & Biham, E., 2002, In How Many Ways Can You Write Rijndael?, Advances in Cryptology, procigings of Asiacryp 2002, Lectture Notes in Computer Science 2501, SpringerVerlag, pp. 160-175. (http://link.springer.com/chapter/10.1007/3-540-36178-2_10) Biham, E., & Kilier, N., 2004, Cryptanalysis of Reduced Variants of Rijndael, Haifa: Computer Science Department, Technion Israel Institute of Technology. (http://madchat.fr/crypto/codebreakers/35-ebiham.pdf ) Kreyzig, E., 1998, Advanced Engineering Mathematics, Sixth Edition, New York: John Wiley & Sons. Maplesoft, 2010, Convert/Base: Convert Between Base, Maple-14, Waterloo: Waterloo Maple Inc. Stinson, D. R., 1995, Cryptography Theory and Practice, Florida: CRC Press, Inc. Wowor, A. D., 2011, Modifikasi Teknik Kriptografi Hill Cipher Menggunakan Fungsi Rasional dan Konversi Basis Bilangan pada Proses Enkripsi-Dekripsi, Tesis Magister Sistem Informasi, Salatiga: FTI UKSW.
105