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