SEMINAR MATEMATIKA DAN PENDIDIKAN MATEMATIKA UNY 2017 A-2 Sistem Kriptografi Stream Cipher Berbasis Fungsi Chaos Circle Map dengan Pertukaran Kunci Stickel Afwah Nafyan Dauly 1, Yudha Al Afis 2, Aprilia Rizqi Nurcahyani 3, Dwi Lestari 4 Universitas Negeri Yogyakarta 1 Universitas Negeri Yogyakarta 2 aprilia.rizqi8@gmail.com Abstract Teori Chaos memiliki sifat sensitif terhadap nilai awal yang masuk, sehingga sering diterapkan sebagai pembangkit bilangan acak dalam sistem deterministik. Sifat tersebut akan berguna untuk membangun kunci untuk proses enkripsi dan dekripsi dalam teknik kriptografi. Mapping yang memiliki sifat chaos dinamakan dengan chaos map. Algoritma yang digunakan dalam penelitian ini adalah algoritma stream cipher yang berbasis fungsi chaos circle map. Circle map adalah map yang memetakan sebuah lingkaran ke dirinya sendiri menggunakan rumus. Generator kunci akan ditentukan dengan menggunakan protokol pertukaran kunci stickel. Kunci generator akan diproses menggunakan fungsi chaos circle map yang menghasikan kunci untuk digunakan dalam proses enkripsi dan dekripsi. Proses enkripsi menggunakan rumus C i = (P i + K i )mod 96 sedangkan proses dekripsi menggunakan rumus P i = (C i + K i )mod 96 dengan C i adalah cipherteks, P i adalah plainteks, dan K i adalah kunci. Hasil simulasi menunjukkan jika terjadi perubahan nilai awal pada fungsi chaos circle map maka akan diperoleh plainteks yang berbeda. Kata kunci: fungsi chaos, kriptografi, kunci stickel, stream chiper I. PENDAHULUAN Pertumbuhan sistem informasi yang sangat pesat berbanding lurus dengan perkembangan teknologi informasi dan komunikasi yang kian hari semakin mempermudah pengguna (user) khusunya dalam hal berkomunikasi. Telepon, radio, internet dan lainnya termasuk kedalam berbagai jaringan yang digunakan untuk mempermudah komunikasi antar user. Sejalan dengan hal tersebut pengamanan terhadap sistem informasi harus dibangun, mengingat jalur komunikasi umum tidak terlalu aman dan rawan terhadap penyadapan. Keamanan informasi dimaksudkan untuk mencapai kerahasiaan dalam melindungi data dan informasi. Beberapa ilmu mempelajari tata cara dan aspek-aspek yang berkaitan sengan kemanan infomasi. Dalam bidang matematika ilmu ini dikenal dengan kriptografi. Kriptografi diartikan sebagai ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data, serta autentifikasi data [3]. Untuk melindungi keamanan informasi atau data dalam ilmu kriptografi dikenal sebagai teknik enkripsi dan teknik dekripsi. Enkripsi adalah proses penyandian suatu pesan asli atau plainteks menjadi sebuah kode yang sulit diterjemahkan yang disebut dengan cipherteks. Sedangkan teknik dekripsi adalah proses mengubah suatu cipherteks ke dalam plainteks agar diketahui sis dari pesan aslinya. Beberapa algoritma dalam kriptografi digunakan untuk menyelesaikan teknik enkripsi dan dekripsi. Pemilihan algoritma untuk menentukan kunci sangat berpengaruh terhadap sulit atau tidaknya kode yang dibuat dapat dipecahkan sehingga akan berdampak juga pada keamanan informasi. Makalah ini membahas mengenai Algoritma Stream cipher berbasis fungsi chaos dengan pertukaran kunci stickel untuk mendapatkan suatu kunci yang kemudian akan digunakan dalam proses enkripsi-dekripsi. Pemilihan fungsi chaos didasarkan pada sifat fungsinya yang sensitif terhadap nilai awal sehingga dapat dimanfaatkan untuk pembuatan kunci rahasia dalam kriptografi. PA-9
ISBN. 978-602-73403-2-9 (Cetak) 978-602-73403-3-6 (On-line) A. Algoritma Stream Cipher II. METODE PENELITIAN Stream chiper merupakan Algoritma kriptografi simetris yaitu sistem kriptografi yang menggunakan kunci enkripsi dan dekripsi yang sama Gambar 1. Algoritma kriptografi stream cipher sering juga disebut dengan sandi aliran karena plainteks tidak dipotong menjadi blok-blok, akan tetapi enkripsi dilakukan secara mengalir dengan kunci yang mengalir juga. Stream cipher saat ini digunakan secara luas di internet dan di telepon seluler. Algoritma ini tidak membatasi panjang plainteks, sehingga cocok digunakan pada enkripsi suatu komunikasi yang berlangsung secara berkelanjutan, seperti komunikasi melalui telepon. Algoritma stream cipher pertama diperkenalkan oleh Vernam yang diadopsi dari one-time pad cipher, yaitu tiap karakter diganti dengan bit 0 atau 1. Stream cipher digunakan untuk mengenkripsi plaintext menjadi ciphertext bit per bit (1 bit setiap kali transformasi) atau byte per byte (1 karakter = 1 byte). Penelitian ini menggunakan algoritma kriptografi simetris yaitu dalam proses enkripsi dan dekripsinya menggunakan kunci yang sama, artinya dua pihak yang ingin berkomunikasi harus meneyepakati kunci rahasia yang sama sehingga keamanan dari informasi tergantung pada kunci. Kunci Plainteks Cipherteks Plainteks Alice Enkripsi Dekripsi Bob Eve GAMBAR 1. ALGORITMA KRIPTOGRAFI SIMETRIS B. Algoritma Stream Cipher Berbasis Fungsi Chaos Nilai fungsi sensitif terhadap nilai awal menjadi keuntungan dalam menggunakan fungsi Chaos dalam teknik kriptografi. Sistem chaos akan menunjukkan hasil yang sangat kacau jika nilai awal berbeda sedikit saja. Fungsi Chaos digunakan untuk memperkuat masukkan kunci yang akan digunakan untuk proses enkripsi-dekripsi oleh Algoritma stream cipher. Salah satu fungsi Chaos adalah fungsi chaos circle map. Circle map adalah satu dimensi yang memetakan sebuah lingkaran ke dirinya sendiri dengan rumus: (1) Circle map memiliki 2 parameter yaitu dan K. adalah frekuensi eksternal sedangkan K adalah kenonlinearan. III. HASIL DAN PEMBAHASAN A. Membangun Kunci Kunci adalah parameter yang digunakan untuk mengubah pesan proses enkripsi dan dekripsi. Menggunakan algoritma kriptografi simetris untuk mendapatkan kunci rahasia. Fungsi chaos circle map akanmenggunakan nilai awal (generator kunci) dalam membentuk sebuah kunci yang akan digunakan dalam proses enkripsi dan dekripsinya. Protokol pertukaran kunci stickel didasarkan pada grup non komutatif dan digeneralisasi menjadi semigrup non komutatif. Dalam hal ini, M n (Z p ) yang merupakan matriks atas modulo prima p akan didefinisikan. Berbentuk sebuah matriks n n dengan entri 0 a ij p- 1 dengan p adalah bilangan prima dan n 2. Ruang M n (Z p ) dituliskan dalam persamaan berikut: a 11 a12 a1 n a21 a22 a2n (2) M n( p) det 0 an 1 an2 ann Setelah menyetujui generator kunci maka kunci akan dibentuk menggunakan fungsi chaos circle map yang terlebih dulu digunakan protokol pertukaran kunci stickel. Pengirim dan penerima akan menyetujui generator kunci dari proses pertukaran kunci stickel Tabel 1 sebagai kunci K = K 1 = K 2. Matriks K akan dikonversi ke persamaan (3) dan nilai K berubah menjadi desimal dengan menambahkan semua entri matriks K. Jika K > 1 maka K 10-1, proses ini dilakukan secara berulang hingga memenuhi K 1. PA-10
SEMINAR MATEMATIKA DAN PENDIDIKAN MATEMATIKA UNY 2017 1 3 (2n( i1)) (2 j1) K a1110 a22 10 aij 10 (3) i 1,, n., j 1,, n. Konversi nilai K secara lengkap untuk membuat generator kunci K dapat diproses menggunakan chaos circle map sebagai kunci dengan menghitung terlebih dahulu pertukaran kunci stickel untuk parameter Tabel 2 dan nilai awal Tabel 3. Pada penelitian ini proses perjanjian kunci Stickel dilakukan menggunakan M 2 (Z 31 ) dengan grup Z 31 = {0, 1, 2, 3, 4,..., 30}. TABEL 1. PERTUKARAN KUNCI STICKEL UNTUK PARAMETER K Pengirim dan penerima menentukan M n(z p) dan A,B M n(z p) Contoh: dan : Pengirim 1) Memilih p dan q bilangan asli secara rahasia. Contoh : p=2 and q=2 2) Menghitung U = A 2 B 2 Penerima 1) Memilih r dan s bilangan asli secara rahasia. Contoh : r=2 and s=1 2) Menghitung V= A 2 B 1 3) Mengirim U kepada penerima 4) Menerima V dari penerima 3) Mengirim U kepada penerima 4) Menerima V dari penerima Pengirim dan penerima berhasil menyetujui kunci generator yang sama K = K dikonversi ke K = 0,13212102 TABEL 2. PERTUKARAN KUNCI STICKEL UNTUK PARAMETER Pengirim dan penerima menentukan M n (Z p ) dan A,B M n (Z p ) contoh: dan : Pengirim 1) memilih t dan u bilangan asli secara rahasia. contoh : t=1 dan u=2 2) Menghitung U = A 1 B 2 Penerima 1) Memilih v dan w bilangan asli secara rahasia Contoh : v = 1 dan w=1 2) Menghitung V= A 1 B 1 3) Mengirim U ke penerima 4) Menerima V dari Penerima 3) Mengirim V kepada pengirim 4) Menerima U dari pengirim PA-11
ISBN. 978-602-73403-2-9 (Cetak) 978-602-73403-3-6 (On-line) Pengirim dan penerima berhasil menyetujui kunci generator yang sama = Mengkorversi ke = 0,04152509 TABEL 3. PERTUKARAN KUNCI STICKEL UNTUK NILAI AWAL Pengirim dan penerima menentukan (Z p) dan A,B M n(z p) Contoh: dan : Pengirim 1) Memilih k dan i bilangan asli secara rahasia Contoh : k=1 and l=3 2) Menghitung U = A 1 B 3 Penerima 1) Memilih m dan n bilangan asli secara rahasia Contoh : m=2 and n=2 2) Menghitung V= A 2 B 2 3) 4) Mengirim U kepada penerima Menerima V dari Penerima 3) Mengirim V kepada Pengirim 4) Menerima U dari pengirim Pengirim dan penerima telah menyetujui kunci generator yang sama yaitu : = Konversi ke =0,01250629 Sehingga kita dapatkan: K = 0,13212102 = 0,04152509 = 0,01250629 Subtitusikan dalam persamaan (1), sehingga diperoleh nilai sebagai berikut: = 0,01250629 = 0.052380736141790 = 0.087109493126806 = 0.117691657332595 = 0.145046114425867 = 1.367845905569151 Hasil dari iterasi hanya akan diambil 2 digit dimulai dari bilangan bulat positif dari depan dan disusun secara berurutan untuk digunakan sebagai kunci. Secara berturut-turut dapat dituliskan sebagai K = PA-12
SEMINAR MATEMATIKA DAN PENDIDIKAN MATEMATIKA UNY 2017 dan seterusnya. Maka kita dapatkan kunci untuk proses enkripsi dan dekripsinya yaitu K= 0508111417192123252729313436394145... B. Proses Enkripsi Proses mengamankan pesan dilakuakn melalui proses enkripsi. Pesan diubah menjadi bentuk numerik yang disesuaikan dengan tabel korespondensi, kemudian dilakukan proses enkripsi menjadi ciphertext yang diperoleh dengan rumus: C i = (P i + K i )mod 96 (4) dengan P i = bit plainteks = bit cipherteks C i K i = bit kunci i = 1, 2, 3,..., n. N = jumlah karakter pesan Contoh Plainteks Saya kirim kunci jawaban UAS Kripto no 1-5 Dengan menggunakan kunci K= 9514192418333843485358636772778287929610... akan dilakukan proses enkripsi Tabel 4 dengan membuat blok-blok kunci dengan panjang dua digit. TABEL 4. ENKRIPSI MENGGUNAKAN FUNGSI CHAOS CIRCLE MAP DENGAN PERTUKARAN KUNCI STICKEL Huruf P i K i C i= (P i + K i)mod 96 Huruf S 32 5 37 X a 40 8 48 q y 64 11 75 space a 40 14 54 o space 75 17 92 : k 50 19 69 ; i 48 21 69 ; r 57 23 80 $ i 48 25 73 / m 52 27 79 # Berdasarkan tabel diatas untuk enkripsi seluruh karakter maka diperoleh chiperteks: Xqspaceo:;;$/#7%<{%{K`:J5-DXzPBT$T;w.@j1@%7Ugc. C. Proses Dekripsi Agar pesan dari pengirim dapat dibaca oleh penerima maka perlu adanya proses dekripsi dengan kunci yang sama pada saat proses enkripsi. Proses dekripsi atau mengubah cipherteks menjadi plainteks diperoleh dengan rumus: P i = (C i - K i )mod 96 (5) dengan P i = bit plainteks C i = bit cipherteks K i = bit kunci i = 1, 2, 3,..., n. N = jumlah karakter pesan Misalkan dari cipherteks yang kita peroleh pada proses enkripsi yaitu Xqspaceo:;;$/#7%<{%{K`:J5- DXzPBT$T;w.@j1@%7Ugc diubah menjadi plainteks Tabel 5 menggunakan rumus (5). TABEL 5. DEKRIPSI MENGGUNAKAN FUNGSI CHAOS CIRCLE MAP DENGAN PERTUKARAN KUNCI STICKEL Huruf C i K i P i= (C i - K i)mod 96 Huruf X 37 5 32 S q 48 8 40 a space 75 11 64 y o 54 14 40 a : 92 17 75 space ; 69 19 50 k ; 69 21 48 i $ 80 23 57 r / 73 25 48 i # 79 27 52 m Berdasarkan proses dekripsi tersebut jika diteruskan sampai dengan karakter terakhir, diperoleh plainteks Saya kirim kunci jawaban UAS Kripto no 1-5. PA-13
ISBN. 978-602-73403-2-9 (Cetak) 978-602-73403-3-6 (On-line) Jika, terdapat kriptanalis menebak nilai awal berbeda 1 digit Tabel 6 misalkan = 0,01250629 = 0,01250629 = 0.140374340640928 = 0.189046850152610 = 0.211067575334786 = 0.232190957166573 = 1.448134604311324 TABEL 6. DEKRIPSI MENGGUNAKAN FUNGSI CHAOS SAAT CRIPTANALYS MENEBAK NILAI AWAL BERBEDA 1 DIGIT Huruf C i K i P i= (C i - K i)mod 96 Huruf X 37 14 23 J q 48 16 32 S space 75 18 57 r o 54 21 33 T : 92 23 69 ; ; 69 25 44 e ; 69 27 42 c $ 80 29 51 l / 73 31 42 c # 79 33 46 g Jika diteruskan hingga karakter terakhir maka diperoleh plainteks berikut JSrT;eclcgsdnfUYyBMhKSSXzL6I[DkdjnI;hi\:4>. Terlihat bahwa penggantian satu digit pada nilai awal sangat berpengaruh pada pemecahan plainteks. IV. SIMPULAN DAN SARAN Pesan rahasia dapat diamankan melalui proses enkripsi dengan mengubah pesan asli menjadi kode-kode yang sulit diterjemahkan. Menggunakan fungsi chaos dengan protokol pertukaran kunci stickel dalam membangun kunci menghasilkan sebuah bilangan yang sangat acak sehingga mempersempit criptanalyst memahami pesan. Perjanjian kunci dilakukan menggunakan pertukaran kunci stickel kemudian digunakan fungsi chaos circle map dalam membentuk kunci rahasia. Hasil simulasi menunjukkan bahwa terjadinya perubahan nilai awal pada fungsi chaos circle map maka akan diperoleh plainteks yang berbeda. Semakin criptanalys menebak digit yang berbeda mendekati koma maka hasil plainteksnya akan semakin tidak beraturan. Untuk karakter dalam jumlah besar disarankan menggunakan program komputer untuk menyelesaikan proses enkripsi maupun dekripsinya. DAFTAR PUSTAKA [1] D. Andrianto,.(2013). Analisis Penerapan Berbagai Chaotic Map sebagai Pembangkit Bilangan Acak Semu. Bandung: Institut Teknologi Bandung (2013) [2] D. Lestari dan Zaki Riyanto,.(2012). Suatu Algoritma Kriptografi Stream Cipher Berdasarkan Fungsi Chaos. Prosiding. Yogyakarta : FMIPA UNY. (2012) [3] Menezes Alfred J., Paul C. Van Oorschot dan Scott A. Vanstone, 1996, Handbook of Applied Cryptography, CRC Press, USA [4] Muhammad Wildan Habiby dan D. Lestari,.(2016). Cryptography System for Information Security Using Chaos Arnold s Cat Map Function. Yogyakarta: FMIPA UNY. (2016) [5] Munir, Rinaldi. Kriptografi.Bandung:Informatika Bandung. (2006) PA-14