JURNAL KEAMANAN KOMPUTER APLIKASI ENKRIPSI - DEKRIPSI DENGAN ALGORITMA RC2 MENGGUNAKAN JAVA NETBEANS Jumrotul Nafidah [1412120204] 1, Mochamad Abdul Rifa i[1412120257] 2, Ika Budi Prasetyo [1412120171] 3. Fakultas Teknik Informatika 2012 A, Universitas PGRI Ronggolawe Tuban Abstrak Masalah pengiriman data email ataupun pesan telah menjadi masalah penting pada era teknologi informasi seperti sekarang ini. Terkadang data-data ini harus bersifat rahasia agar tidak diketahui secara umum. Apabila data tersebut diketahui, maka data tersebut dapat disalahgunakan untuk kejahatan oleh orang lain. Kriptografi merupakan salah satu alat keamanan yang digunakan untuk menyembunyikan suatu pesan. Kriptografi sudah digunakan di segala bidang keamanan. Untuk itu perlunya sebuah keamanan dengan cara enkripsi dan dekripsi data email menggunakan algoritma kriptografi Rivest Code 2 (RC2). Dalam algoritma kriptografi Rivest Code 2 (RC2), dirancang dalam pemrograman java netbeans yang diantaranya adalah kemampuan untuk beroperasi langsung untuk diimplementasikan dengan mode algoritma RC2. Spesifikasi arsitektur dan bahasa yang menjadi tempat implementasi algoritma yang ditentukan belum mendukung pengoperasian 64 bit yang efisien. Oleh karena itu, daripada menggunakan 2 register 64 bit seperti pada RC2, RC2 menggunakan 4 register 32 bit. Karena menggunakan 4 register maka akan terdapat 2 operasi rotasi pada setiap half-round yang ada, dan juga akan lebih banyak bit-bit yang akan digunakan untuk mempengaruhi banyaknya bit yang dirotasi. Operasi perkalian ini sangat efektif dalam menghasilkan efek diffusion atau penyebaran yang tentu saja mengakibatkan RC2 lebih aman. Aplikasi yang dihasilkan berbasis android dengan memanfaatkan teknologi terbaru. Kata Kunci : Keamanan Data, Kriptografi, Rivest Code 2(RC2), Pemrograman Java
Abstract The problem of data delivery email or messaging has become an important issue in the era of information technology as it is today. Sometimes these data should be confidential so as not generally known. If the data is known, then the data can be misused for crime by others. Cryptography is a security tool used to hide a message. Cryptography has been used in all areas of security. For that we need a security by means of encryption and decryption of email data using cryptographic algorithms Rivest Code 2 ( RC2 ). In the cryptographic algorithms Rivest Code 2 ( RC2 ), designed in java programming netbeans which include the ability to operate directly for RC2 algorithm implemented by mode. Specifications architectures and languages into a specified algorithm implementation does not yet support 64-bit operating efficiently. Therefore, instead of using two 64 -bit registers as in RC2, RC2 uses four 32 -bit registers. Because it uses four registers there will be two rotation operation on each half- round there, and it will also be a lot of bits that will be used to affect the number of bits that are rotated. This multiplication operation is very effective in producing the effect of " diffusion " or which of course resulted in the deployment of more secure RC2. Android -based application that is generated by utilizing the latest technology. Keywords : Data Security, Cryptography, Rivest Code 2 ( RC2 ), Java Programming
BAB I PENDAHULUAN 1.1 Latar Belakang Masalah keamanan dan kerahasiaan merupakan salah satu aspek penting dari suatu pesan, data, atau informasi. Di mana kebenaran dan keaslian suatu informasi sangat penting baik pada saat pengiriman ataupun pada saat informasi tersebut diterima. Pesan, data, atau informasi tidak akan berguna lagi apabila pada saat pengiriman informasi tersebut disadap atau dibajak oleh orang yang tidak berhak atau berkepentingan. Keamanan dan kerahasian data pada jaringan komputer saat ini menjadi isu yang sangat penting dan terus berkembang. Beberapa kasus menyangkut keamanan jaringan komputer saat ini menjadi suatu pekerjaan yang membutuhkan biaya penanganan dan pengamanan yang sedemikian besar. Sistem-sistem vital, seperti sistem pertahanan, sistem perbankan, sistem bandara udara dan sistem-sistem lain yang setingkatnya, membutuhkan tingkat keamanan yang sedemikian tinggi. Hal ini disebabkan oleh adanya kemajuan bidang jaringan komputer dengan konsep open system-nya sehingga siapapun, di manapun dan kapanpun, mempunyai kesempatan untuk mengakses kawasan-kawasan vital tersebut. Untuk menjaga keamanan dan kerahasiaan pesan, data, atau informasi dalam suatu jaringan komputer maka diperlukan beberapa enkripsi guna membuat pesan, data, atau informasi tersebut tidak dapat dibaca atau dimengerti oleh sembarang orang, kecuali untuk penerima yang berhak.
Dengan adanya sebuah kriptografi yang meliputi proses enkripsi maka pesan, data, maupun informasi dapat dikodekan sehingga mengenkrip. Metode enkripsi RC2 sangat cepat kurang lebih 10 kali lebih cepat dari DES. Menurut hasil pengetesan kecepa orang yang tidak berkepentingan tan algoritma tidak dapat membaca informasi tersebut, selain orang yang mengetahui kunci (Key) untuk kriptografi RC2 adalah 5380,035 Kbytes/detik pada Pentium133 memori 16 MB pada Windows 95. mendeskripsikannya. Berdasarkan Hasil pengetesan didapat dengan kunci yang digunakan, algoritma enkripsi terbagi menjadi algoritma kunci simetri dan kunci asimetri yang enkripsi 256 byte per blok sebanyak 20480 kali, atau setara dengan kurang lebih 5 MB data. juga dikenal sebagai kunci publik. Salah satu algoritma kunci simetri yang dikenal adalah RC2. RC2 merupakan merupakan salah satu jenis stream cipher, yaitu memproses unit atau input data pada satu saat. Dengan cara ini enkripsi atau dekripsi dapat dilaksanakan pada panjang yang variabel. Algoritma ini tidak 1.2 Rumusan Masalah Dari latar belakang yang telah diuraikan di atas maka dapat dirumuskan permasalahan, yaitu bagaimana caranya untuk menangani masalah keamanan data pada jaringan komputer dengan menggunakan algoritma RC2 menggunakan java. harus menunggu sejumlah input data tertentu sebelum diproses, atau menambahkan byte tambahan untuk
1.3 Tujuan Penulisan Dari permasalahan yang ada pada rumusan masalah maka makalah ini bertujuan: 1. Mengenalkan algoritma kriptografi RC2. 2. Mempelajari cara untuk melakukan penggunaan algoritma kriptografi RC2. komunikasi menggunakan komputer untuk menjamin kerahasiaan data adalah dengan enkripsi. Enkripsi adalah sebuah proses yang melakukan perubahan sebuah kode dari yang bisa dimengerti menjadi sebuah kode yang tidak bisa 1.4 Batasan Masalah Adapun batasan dari makalah ini adalah sebagai berikut : 1) Hanya mengenkripsi dan dekripsi sebuah file atau data. 2) Hanya membahas analisis waktu proses dan kecepatan proses enkripsi dan dekripsi. dimengerti (tidak terbaca). Enkripsi dapat diartikan sebagai kode atau cipher. Sebuah sistem pengkodean menggunakan suatu tabel atau kamus yang didefinisikan untuk mengganti kata dari informasi atau yang merupakan bagian dari informasi yang dikirim Deskripsi merupakan BAB II LANDASAN TEORI 2.1 Enkripsi dan Dekripsi Salah satu hal yang sangat penting dalam algoritma atau cara yang dapat digunakan untuk membaca informasi yang telah dienkripsi untuk dapat
kembali dibaca. Dengan kata diimplementasikan pada lain dekripsi merupakan proses membalikkan hasil yang diberikan dari proses enkripsi ke dalam bentuk awal sebelum d enkrip. 2.2 Algoritma RC2 protokol SSL (Source Socket Layer) yaitu sebuah protokol untuk memproteksi trafik intenet. Terdapat dua tahapan untuk membangkitkan aliran Pada tahun 1987 di kunci algoritma RC2 yaitu Laboratorium Rsa, Ron Rivest menemukan suatu algoritma Key Scheduling Algorithm (KSA) dan Pseudo-Random yang diberi nama RC2. RC itu sendiri merupakan singkatan dari Ron s Code. Karena Generator (PRGA). Key Algorithm Scheduling algoritma RC2 dapat Algorithm (KSA) merupakan diimplementasikan secara tahapan pemberian nilai awal efisien pada perangkat lunak maka menjadikan algoritma RC2 populer untuk aplikasi internet antara lain digunakan sebagai standar WEP (Wired Equivalent Privacy), WPA (Wifi Protected Acces) dan TLS (Transport Layer Protocol). RC2 juga berdasarkan kunci enkripsi. State dari nilai awal tersebut berupa array dengan representasi permutasi 256 byte (dengan indeks 0 sampai dengan 255) dinamakan array S. Menggunakan rentang tersebut karena RC2 mengenkripsi pada mode byte
(255 = 2 8 dan 8 bit = 1 byte). Artinya maksimal panjang kunci yang dapat tersimpan pada array U adalah 256 karakter. Permutasi terhadap nilai array S dilakukan dengan pseudo-code berikut : j = 0 For i = 0 to 255 S[i] = i For i = 0 to 255 j = (j + S[i] + U[i]) mod 256 swap (S[i], S[j]) (*pertukaran nilai S[i] dan S[j]*) menghasilkan keystream. Nilai S[i] dan S[j] diambil dan dijumlahkan dengan modulo 256 untuk membangkitkan aliran kunci. Hasil dari perhitungan tersebut akan menjadi indeks S[indeks] yang menjadi aliran kunci K yang kemudian digunakan untuk mengenkripsi plainteks ke-aliran kunci K yang kemudian digunakan untuk mengenkripsi plainteks ke-idx. Setiap putaran bagian keystream sebesar 1 byte (dengan nilai antara 0 sampai 255) dioutputkan oleh PGRA berdasarkan state S. I = 0 Tahap selanjutnya hasil dari array S yang telah melalui KSA akan diproses kembali pada PRGA(Pseudo- Random Generator Algorithm). Pada tahap PRGA terjadi modifikasi state dan output sebuah byte dari aliran kunci, dimana array S beroperasi dengan array U yang selanjutnya akan J = 0 For idx = 0 to PanjangPlainteks 1 do I = ( i + 1 ) mod 256 J = ( j + S[i] ) mod 256
Swap ( S[i], S[j] ) (*penukaran nilai S[i] dan S[j]*) K = ( S[i] + S[j] ) mod 256 3.2 Implementasi Perancangan Program 1.Tampilan Awal Program Endfor Setelah keystream terbentuk, kemudian keystream tersebut dimasukkan dalam operasi XOR dengan plaintext. BAB III PERANCANGAN SISTEM Sebelum memulai program kita mengimport terdahulu secara otomatis : 3.1 Pengertian RC2 RC2 adalah 64-bit blok cipher dengan ukuran variabel kunci.18 Its putaran diatur sebagai sumber-berat jaringan Feistel,dengan 16 putaran dari satu jenis (pencampuran) diselingi oleh dua putaran jenis lain 3. Button Enkripsi (dihaluskan.sebuah putaran pencampuran terdiri dari empat aplikasi transformasi MIX,seperti ditunjukkan pada diagram.
4. Button Deskripsi 5. Button Simpan 6. Button Buka 7. Button Keluar