Program Penyandian Arnold’s Cat Map Menggunakan Aplikasi Octave

48

C. Penyandian Arnold’s Cat Map Menggunakan Aplikasi Octave

1. Program Penyandian Arnold’s Cat Map Menggunakan Aplikasi Octave

Proses penentuan pesan dengan menggunakan sistem kriptografi Arnold’s Cat Map merupakan salah satu cara dalam pengiriman pesan yang dapat menjaga kerahasiaan pesan. Untuk meminimalisir pihak 3 mengetahui isi pesan, akan digunakan matriks dengan isi dan perpangkatan yang besar dalam menentukan pembangkit kunci. Proses perhitungan akan memakan waktu yang sangat banyak jika dilakukan secara manual, oleh karena itu perlu dibuat suatu program untuk sistem kriptografi Arnold’s Cat Map agar proses pembentukan kunci,enkripsi serta dekripsi dapat diselesaikan dengan waktu yang singkat. Oleh sebab itu perlu disusun suatu algoritma yang tepat agar ketiga proses bisa dijalankan menggunakan software. Software yang digunakan adalah Octave. Dalam sistem kriptografi Arnold’s Cat Map terdapat tiga program utama, yaitu proses perjanjian kunci, proses enkripsi, serta proses dekripsi. Terdapat beberapa function yang digunakan, masing-masing function memiliki kegunaan yang berbeda-beda. Kegunaan setiap function dijelaskan pada tabel berikut. 49 Tabel 9 Function yang Disediakan Octave dan Kegunaannya Function Kegunaan dispx Menampilkan x di command window inputx Menampilkan masukan x dari keyboard lengthx Menghitung panjang parameter x bariskolom terbesar dari x onesx,y Membuat matrik berisikan 1 berukuran x kali y floorx Membulatkan ke bawah bilangan x modx,y Menghitung nilai dari x yang kongruen modulo y ceilx,y Membulatkan ke atas bilangan x sizex Mengetahui dimensi matriks x strcmpx,y Memeriksa apakah string x = y Tabel 10 Function yang Tidak Disediakan Octave dan Kegunaannya Function Kegunaan konversipesanx Menjalankan function ubahx dengan i dari 0 sampai dimensi matriks inputan pesan pembangkit1x Menjalankan function hitung3x dengan i dari 0 sampai setengah dari dimensi matriks inputan pesan yang dibulatkan ke atas pembangkit2x Menjalankan function hitung5x dengan i dari 0 sampai setengah dari dimensi matriks inputan pesan yang dibulatkan ke atas ubahx Mengubah pesan ke bentuk angka yang sudah ditentukan hitung3x Melakukan perhitungan parameter x dalam membentuk kunci hitung5x Melakukan perhitungan parameter y dalam membentuk kunci 50 Berikut ini akan dijelaskan program sistem kriptografi Arnold’s Cat Map. a. Program Pembentukan Kunci Program pembentukan kunci dimulai dengan menginput matriks untuk parameter x serta y. Kedua belah pihak harus melakukan kesepakatan matriks apa yang ingin digunakan. Kemudian menginput nilai pangkat untuk matriks tersebut, kedua belah pihak tidak perlu melakukan perjanjian dalam menginput nilai pangkat. Setelah melakukan penginputan, octave akan menghitung sesuai dengan algoritma yang dituliskan. Selanjutnya, pihak 1 mengirimkan hasil dari perhitungan ke pihak 2, dan juga sebaliknya. Pihak 1 menginput hasil yang dikirimkan oleh pihak 2. Selanjutnya didapatkan dua pembangkit kunci yang akan digunakan pada proses enkripsi serta dekripsi. Penjelasan cara kerja program akan di jelaskan sebagai berikut. 1 Input Matriks yang digunakan untuk perhitungan ber ukuran n x n, oleh karena itu untuk memudahkan penginput, dituliskan algoritma sebagai berikut. Xi,j=inputA=; dengan i = 1,...,n. , j = 1, ...,n. n ← input ukuran matriks. X,Y,C,D ← input matriks berukuran n x n yang determinannya tidak sama dengan 0 P,q,k,l ← input bilangan asli untuk perpangkatan matrik n x n U,V,W,Z ← input matriks n x n yang dikirimkan pihak lawan. 51 2 Proses a Menghitung matrik U,W bagi pihak 1 dan V,Z bagi pihak 2. Xm=Xp; Ym=Yq; Cm=Ck; Dm=Dl; U=XmYm W=CmDm. b Setelah mendapatkan hasil perhitungan dari pihak lawan komunikasi, dilakukan perhitungan untuk mendapatkan pembangkit kunci. K=XmVYm L=CmZDm. c Mengkonversi matriks pembangkit kunci for i=1:n for j=1:n Ki,j=Ki,j10-ni-12+2j-1; j=1+j; end i=1+i; end for i=1:n for j=1:n Li,j=Li,j10-ni-12+2j-1; j=1+j; end i=1+i; end 52 KK=sumsumK; LL=sumsumL; dispnilai awal x = while KK 1 KK=KK10-1; end dispKK dispnilai awal y = while LL 1 LL=LL10-1; end 3 Output Output dalam proses ini berupa pembangkit kunci untuk parameter x dan parameter y. b. Program Enkripsi Program enkripsi dimulai dengan menginput pesan yang akan di enkripsikan. Pesan yang diinput diubah terlebih dahulu ke bentuk angka- angka yang sudah ditentukan sebelum dilakukan proses enkripsi dan selanjutnya diproses dengan memasukan pembangkit kunci yang sudah didapatkan, maka akan didapatkan pesan yang sudah di enkripsikan. Gambar 3.2 Bagan Alur Program Enkripsi Start Output : chipertext Membangkitkan kunci Mengubah plaintext menjadi chipertext Input: Plaintext pembangkit kunci Stop 53 Algoritma program enkripsi akan ditampilkan sebagai berikut 1 Input m ← input pesan yang akan di enkripsikan kunci ← input pembangkit kunci “x” kunci2 ← input pembangkit kunci “y”. 2 Proses a Menghitung banyaknya kata yang diinputkan dan membuat matriks berukuran 1 x setengah dari banyaknya kata dan dibulatkan ke atas. n=lengthm; p=ones1,ceiln2;. b Mengubah pesan menjadi angka-angka yang sudah ditentukanterlampir pada lampiran 1. o=konversipesanm;. c Pembentukan kunci. c=pembangkit1p; d=pembangkit2c;. d Mengambil 2 digit dibelakang koma untuk dijadikan kunci. cc=floorc100; dd=floord100;. e Menghitung hasil penjumlahan bilangan pesan asli dengan kunci dan mengembalikan dari angka-angka ke pesan umum. for i=1:n if modi,2==0 C=abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLM NOPQRSTUVWXYZ~_+`-={}|[]\:;?,. ; 54 z=modoi+ddceili2,94+1; mat=Cz; ai=mat1; else C=abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLM NOPQRSTUVWXYZ~_+`-={}|[]\:;?,. ; z=modoi+ccceili2,94+1; mat=Cz; ai=mat1; end end. f Menampilkan pesan yang sudah dienkripsikan. dispa. 3 Output Output yang didapatkan pada program ini adalah pesan yang sudah dienkripsikan. c. Program Dekripsi Program ini hampir sama dengan program enkripsi, hanya berbeda pada rumus perhitungan bilangan pesan dengan kunci. Gambar 3.3 Bagan Alur Program Dekripsi Start Output : Plaintext Membangkitkan kunci Mengubah chipertext menjadi Plaintext Input:chipertext pembangkit kunci Stop 55 1 Input m ← input pesan yang akan di dekripsikan kunci ← input pembangkit kunci “x” kunci2 ← input pembangkit kunci “y”. 2 Proses a Menghitung banyaknya kata yang di inputkan dan membuat matriks berukuran 1 x setengah dari banyaknya kata dan dibulatkan ke atas. n=lengthm; p=ones1,ceiln2;. b Mengubah pesan menjadi angka-angka yang sudah di tentukanterlampir pada lampiran 1. o=konversipesanm;. c Pembentukan kunci. c=pembangkit1p; d=pembangkit2c;. d Mengambil 2 digit dibelakang koma untuk dijadikan kunci. cc=floorc100; dd=floord100;. e Menghitung hasil pengurangann bilangan pesan dengan kunci dan mengembalikan dari angka-angka ke pesan umum. for i=1:n if modi,2==0 C=abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLM NOPQRSTUVWXYZ~_+`-={}|[]\:;?,. ; z=modoi-ddceili2,94+1; 56 mat=Cz; ai=mat1; else C=abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLM NOPQRSTUVWXYZ~_+`-={}|[]\:;?,. ; z=modoi-ccceili2,94+1; mat=Cz; ai=mat1; end end. f Menampilkan pesan yang sudah di dekripsikan. dispa. 3 Output Output yang didapatkan pada program ini adalah pesan yang sudah didekripsikan, yaitu berupa pesan asli.

2. Simulasi Penyandian Arnold’s Cat Map Menggunakan Aplikasi Octave