Algoritma Kriptografi JAWA - JOGJA Dony Ariyus, Arie Tino Yulistiyo,Teguh Sulistyanta, Jurusan Teknik Informatika, STMIK AMIKOM Yogyakarta, Jl. Ring Road Utara, Condong Catur, Sleman, Yogyakarta - Indonesia
Di dunia komputer saat ini, kriptografi sangat diperlukan baik untuk menyimpan atau mengirimkan data. Algoritma kriptografi untuk mengenkripsi data dapat menjamin keamanan dan keutuhan dalam proses pengiriman dan penyimpanan data sehingga data tetap rahasia dan hanya dapat diakses oleh orang tertentu. Proses dalam kriptografi dilakukan dengan cara mengenkripsi data mengggunakan kunci tertentu menjadi chiperteks sehingga isinya tidak dapat diakses. Untuk mengakses data yang asli, harus dilakukan proses dekripsi terhadap cipherteks dengan kunci yang sama ketika proses enkripsi. Setelah proses dekripsi selesai, maka data yang asli akan dapat diakses dengan utuh. Jenis cipher yang umum dipakai dalam proses enkripsi/dekripsi data di komputer biasanya adalah jenis cipher blok(block cipher) dan cipher aliran(stream cipher). Cipher blok adalah jenis cipher yang melakukan proses enkripsi/dekripsi dengan membagi bit-bit data menjadi beberapa blok bit yang panjangnya sudah ditentukan, sedangkan cipher aliran melakukan proses enkripsi/dekripsi terhadap masing-masing bit tunggal dari bit-bit data. Sebagian besar cipher aliran yang ada sekarang mempunyai kelemahan baik di bagian dimana kuncinya mudah dipecahkan maupun di performanya yang buruk terhadap komputer. Dari beberapa kelemahan yang telah disebutkan di atas maka model enkripsi baru dengan karakter jawa yang digabungkan dengan algoritma matrik(pada bagian mod 26). Dengan harapan model enkripsi baru lebih simpel tetapi lebih aman dibanding dengan model algoritma yang telah ada saat ini. Meskipun untuk model dengan menggunakan karakter jawa mulai dipakai tetapi untuk penggabungan yang telah disebutkan di atas masih jarang dipakai. Untuk bit-bit hasil chipper text kami membagi masing-masing menjadi 5 karakter.
karakter huruf jawa yang di dalamnya terdapat banyak karakter, karena menggunakan aksara jawa, pasangan huruf jawa, dan juga sandangan huruf jawa. Karena karakter huruf jawa hanya mampu dipahami oleh beberapa golongan, sehingga untuk keamanan lebih aman. Dengan jumlah karakter jawa keseluruhan termasuk dengan pasangan dan juga sandangan mencapai 54 karakter. Untuk dapat melakukan dekripsi harus tahu urutan aksara jawa dan juga susunannya. Untuk kunci kami sepenuhnya menggunakan kode yang didasarkan pada urutan huruf jawa.
Algoritma diberi nama algoritma “JAWA-JOGJA” kami mengambil nama algoritma kami berasal dari daerah dimana karakter jawa berasal.
Untuk variasi algoritma JAWA-JOGJA kami memakai cara plaintext dirubah menjadi aksara jawa kemudian ditambahkan angka 55 kemudian di mod 26, dari hasil angka tersebut kemudian dijadikan chipper text yang didasarkan pada index pada huruf abjad. Untuk chipper textnya jumlahnya sama dengan jumlah karakter jawa pada proses enkripsinya. Hasilnya berupa chipper text yang kami bagi menjadi 5 bit.
Untuk kunci huruf abjad menggunakan index(untuk enkripsi dari hasil mod 26 menjadi abjad kembali) : Abjad
Kode
Abjad
kode
A
0
N
13
B
1
O
14
C
2
P
15
D
3
Q
16
E
4
R
17
F
5
S
18
G
6
T
19
H
7
U
20
I
8
V
21
J
9
W
22
K
10
X
23
L
11
Y
24
M
12
Z
25
Contoh hasil penerapan algoritma Jawa-Jogja 1. Plaintext : Biaya Pendidikan takkan pernah turun
dari plaintext di atas kemudian dijadikan mejadi karakter jawa lalu dicocokan dengan kunci aksara jawa. Urutan kode aksara jawa : 18 43 1 14 11 44 2 26 43 6 26 43 6 43 5 2 27 5 25 2 31 44 49 2 50 7 47 4 47 2 54 XXXX Dari kode aksara jawa tersebut ditambahkan dengan angka 55 : 73 98 56 69 66 99 57 81 98 61 81 98 61 98 60 57 82 60 80 57 86 99 104 57 105 62 102 59 102 57 109 X X X X
Dari penambahan di atas maka masing-masing bit di mod 26 : 21 20 4 17 14 21 5 3 20 9 3 20 9 20 8 5 4 8 2 5 8 21 0 5 1 10 24 7 24 5 5 X X X X Hasil mod 26 dijadikan huruf abjad menggunakan index (lihat tabel kunci huruf abjad): VUERO VFDUJ DUJUI FEICF IVAFB KYHYF FXXXX
2. Plaintext : Tujuh Keajaiban dunia nuansa alam
dari plaintext di atas kemudian dijadikan mejadi karakter jawa lalu dicocokan dengan kunci aksara jawa. Urutan kode aksara jawa : 7 47 13 47 13 47 50 5 44 1 13 43 18 2 26 47 2 26 47 2 54 X X X X
43 1 2 47 1 2 28 1 10 16
Dari kode aksara jawa tersebut ditambahkan dengan angka 55 : 62 102 68 102 68 102 105 60 99 56 68 98 73 57 81 102 57 81 102 57 98 56 57 102 56 57 83 56 65 71 109 X X X X Dari penambahan di atas maka masing-masing bit di mod 26 : 10 24 16 24 16 24 1 8 21 4 16 20 21 5 3 24 5 3 24 5 20 4 5 24 4 5 5 4 13 19 5 X XXX Hasil mod 26 dijadikan huruf abjad menggunakan index (lihat tabel kunci huruf abjad): KYQYQ YBIVE QUVFD YFDYF UEFYE FFENT FXXXX
Dari model algoritma baru “Jawa-Jogja” kami harapkan dapat memberikan enkripsi yang lebih aman dibanding model yang telah ada saat ini. Meskipun simpel tetapi kinerjanya masih belum banyak diketahui oleh orang, terutama orang luar jawa. Sehingga misalkan untuk dekripsinya diperlukan proses yang panjang karena algoritma juga menggunakan kaidah penulisan huruf jawa termasuk pengecualian penggunaan huruf jawa LA RA tidak boleh menggunakan sandangan pepet. Sehingga untuk dekripsinya diperlukan keahlian khusus selain juga harus mengetahui kode urutan huruf jawa.
Model algoritma enkripsi disusun nantinya menjadi solusi kelemahan enkripsi yang telah ada saat ini. Karena pada umumnya enkripsi yang telah ada hanya menggunakan formulasi/format yang umum. Sedangkan algoritma “Jawa-Jogja” selain menggunakan format yang umum juga menerapkan tata penulisan huruf jawa. DAFTAR PUSTAKA Dony Ariyus, Computer Security, Andi Offset, 2006 Dony Ariyus, Pengantar Ilmu Kriptografi: Teori, Analisis dan Implementasi, Andi Offset-STMIK AMIKOM 2008