300008754 Aplikasi Enkripsi Asia Chat Berbasis Web Menggunakan Metode Stream Chiper Rc4

APLIKASI ENKRIPSI ASIACHAT BERBASIS JQUERY MENGGUNAKAN
METODE STREAM CIPHER RC4

PROPOSAL JUDUL
Diajukan Untuk Menempuh Tugas Khusus

Oleh
Irnawati Mochtar

11201217

JURUSAN TEKNIK INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER ASIA
MALANG

2014

1. LATAR BELAKANG
Chatting adalah suatu program dalam internet untuk berkomunikasi
langsung sesama pemakai internet yang sedang online (yang sedang
menggunakan internet). Komunikasi bisa berupa teks atau suara kepada

orang lain yang sedang online, kemudian orang yang dituju membalas pesan
anda dengan teks atau suara, demikian seterusnya.
Chatting tidak hanya populer dikalangan remaja saja namun
sekarang ini, sudah merambah kalangan dewasa bahkan orang tua
sekalipun. Asia chat adalah suatu feature atau program berbasis web
membentuk komunitas yang tidak hanya dikalangan mahasiswa Asia tetapi
juga berlaku untuk umum para siswa SMK/SMA.
Chatting Asia ini dibuat untuk menjembatani komunikasi internal
antar-mahasiswa asia dan juga umum pada anak-anak SMK/SMA.
Dikalangan

mahasiswa

dapat digunakan

sebagai

tempat pertukaran

informasi, tugas dan lain-lain, dan untuk kalangan umum dapat digunakan

tempat untuk mencari informasi dari teman-teman komunitas.
Akan tetapi jaringan terbuka dapat terbaca sniffer. Oleh karena
dengan menggunakan stream chiper RC4 dapat enkripsi dan dekripsi untuk
dapat menjaga pesan rahasia dari siapapun kecuali otoritas atau kunci
rahasia untuk membuka informasi yang telah disandi, integritas data untuk
mendeteksi manipulasi data oleh pihak yang tidak behak dan autentikasi
keaslian, isi datanya, waktu pengiriman, dan lain-lain.
2. RUMUSAN MASALAH

a.

Bagaimana cara membuat Applikasi/software komunikasi antar
PC menggunakan text dan enkripsi yang cepat komputasi

b.

dengan stream cipher.
Bagaimana cara mengenkripsi dan dekripsi client dan server di

c.


sisi PHP dan JQuery.
Bagaimana cara untuk penyebaran expance key pada tabel

berbeda pada pasangan.
3. BATASAN MASALAH
a. Karakter dalam penggunaan pada chat sebatas ASCII, tidak
b.

sampai pada Unicode, bigendian dst.
Bahasa pemrograman yang digunakan adalah berbasis web

PHP dan JQuery dan hanya digunakan di PC tidak dimobile.
4. TUJUAN DAN MANFAAT PENULISAN
Tujuan
a.

Membuat wadah komunikasi yang aman antar mahasiswa asia

b.


dan juga eksternal umum SMK/SMA.
Membantu dan mempermudah mahasiswa, umum dan
memberi informasi secara cepat dari sesama.

dalam

Manfaat Bagi Penulis
a. Menambah waswasan koding cara mengenkripsi dan dekripsi
b.

mengunakan PHP dan JQuery.
Belajar
menganalisa
keamanan

informasi

dengan


menggunakan metode stream cipher RC4.
Manfaat Bagi Pembaca
a. Menjadi bahan belajar dan kajian yang dapat dikembangkan
dikemudian hari.
b. Memberikan wawasan tentang keamanan jaringan dengan cara
mengenkripsi dan dekripsi pada aplikasi berbasis web.
5. METODOLOGI PENELITIAN
Untuk mendukung penyelesaian penelitian ini digunakan beberapa
metodologi, yaitu:
a. Studi Pustaka (Library Research)
Studi Pustaka dilakukan dengan cara mempelajari teoriteori literature dan buku-buku yang berhubungan dengan objek
kajian sebagai dasar dalam penelitian ini, dengan tujuan
memperoleh dasar teoritis gambaran dari apa yang dilakukan.
Teori yang dipelajari yaitu: teori stream cipher RC4, teori
mengenkripsi dan dekripsi, teori PHP dan JQuery, dan
sebagainya.

b. Analisa Data
Selanjutnya akan dilakukan analisa data yang akan
dilakukan kerja sama dengan sekolah SMK untuk uji coba

aplikasi, agar data lebih akurat. Analisa data bertujuan untuk
mengetahui variable-variabel apa yang dibutuhkan dalam
aplikasi ASIAchat kedalam metode stream cipher RC4.
c. Perancangan
Berdasarkan anilisa data yang telah dilakukan dalam
selanjutnya dilakukan pemodelan data ke dalam algoritma RC4,
teori stream cipher enkripsi dan dekripsi RC4. Perancangan
algoritma RC4 menggunakan flowchart.
d. Implementasi
Hasil perancangan selanjutnya diimplementasikan dalam
bentuk kode program.pada penelitian ini akan digunakan
bahasa pemrograman web menggunakan PHP dan JQuery.
e. Pengujian
Akan dilakukan pengujian data untuk mengukur
keakuratan yang dihasilkan dari program yang telah dibuat.
6. LANDASAN TEORI
a. RC4 (Ron’s Code #4)
Scheiner [15], menyatakan bahwa RC4 adalah suatu
variable kunci stream cipher yang dikembangakan pada tahun 1987
oleh Ron Rivest untuk RSA Data Security, Inc. selama tujuh tahun

algoritma itu dirahasiakan karena adanya suatu perjanjian untuk
menjaga kerahasiaanya. Pada bulan September 1994 seseorang telah
mengirimkan source code RC4 ke milis Cypherpunks. Dengan source
code tersebut menyebar ke newgroup usenet yaitu sci.crypt dan

internet melalui situs-situs ftp di seluruh dunia. Kemudian RSA Data
Security, Inc. mencoba menarik source code tersebut dengan
mengklaim source code tersebut masih merupakan rahasia dagang
merekameskipun itu telah tersebar ke publik, tetapi itu sudah
terlambat. Sejak itulah algoritma RC4 dibahas dan dibedah di usenet,
didistribusikan di konfersi dan diajarkan dikursus kriptografi. Dan RSA
Data Security dan baru di publikasikan untuk umum pada tahun 1997.
Menurut Stallings[17], RC4 telah digunakan dalam
SSL/TLS (Secure Socket Layer/Transport Layer Security) yang
merupakan standar yang telah ditetapkan untuk komunikasi antara
web browser dan server. RC4 juga digunakan dalam protocol WEP
(wired Equivalent Privacy) dan yang lebih baru yaitu pada protocol
WiFi Protected Access (WPA).
b. KRIPTOGRAFI RC4
Algoritma kriptografi Rivest Code 4 (RC4) merupakan

salah saru algoritma kunci simetris yang dibuat oleh RSA Data
Security Inc (RSADSI). Dipilihnya RC4 sebagai metode kriptogragfi
untuk proteksi query dan hasil query berdasarkan pada beberapa hal,
yaitu:
1. Pengamanan transmisi database memerlukan suatu proses yang
cepat, maka algoritma kriptografi simetris adalah solusi yang tepat.
2. RC4 merupakan algoritma stream cipher yang paling tepat
dibandingkan dengan algoritma stream cipher yang lain untuk
masalah transmisi query database seperti ini. Hal ini dikarenakan

RC4 memiliki proses enkripsi yang cukup sederhana dan hanya
melibatkan beberapa saja per byte-nya.
Menurut hasil pengujian, kecepatan algoritma kriptografi
RC4 adalah 5380,035 Kbytes/detik pada pentiuml 33 memori 16 MB
pada windows 95. Kecepatan dalam testing ini adalah kecepatan
enkripsi dimemori. Hasil testing didapat dengan enkripsi 256 byte per
blok sebanyak 20480 kali, atau setara dengan kurang lebih 5 MB data.
Cara kerja algoritma RC4 yaitu inisialisasi S-Box pertama,
S[0],S[1],...,S[255], dengan bilangan 0 sampai 255. Pertama isi secara
berurutan S [0] = 0, S[1] = 1,..., S[255] = 255. Kemudian inisialisasi

array lain (S-Box lain), misal array K dengan panjang 256. Isi array K
dengan kunci yang diulangi sampai seluruh array K[0], K[1],...,K[255]
terisi seluruhnya. Proses inisialisasi S-Box (Array S) for i = 0 to 255 S[i]
= I Proses inisialisasi S-Box (Array K) Array Kunci // Array dengan
panjang kunci “length”. for i = 0 to 255 K[i] = Kunci[i mod length]
Kemudian lakukan langkah pengacakan S-Box dengan langkah
sebagai berikut:
i=0;j=0
for i = 0 to 255
{
j = (j + S[i] + K[i]) mod 256
swap S[i] dan S[j]

}
Setelah itu, buat pseudo random byte dengan langkah sebagai berikut:
i = ( i + 1 ) mod 256
j = ( j + S[i] ) mod 256
swap S[i] dan S[j]
t = (S[i] + S[j]) mod 256
K = S[t]

Kunci

Plainteks

Kunci

Plainteks

Plainteks
Enkripsi

Dekripsi

Gambar 1. Skema Kunci Asimetris

c. Algoritma RC4
Algoritma RC4 adalah algoritma yang sangat sederhana
dan cukup mudah untuk menjelaskan, sebuah variable kunci yang
panjangnya 1 sampai dengan 256 byte (8 sampai dengan 2.048 bit)
digunakan untuk menginisialisasi 256 byte larik S, dengan elemen

S[0], S[1], …, S[255]. Setiap larik S berisi permutasi dari semua angka
8-bit mulai dari 0 sampai 255 untuk enkripsi dan dekripsi, sebuah byte
k dihasilkan dari larik S dengan memilih salah satu byte dari 255 byte
secara sistematis. Karena setiap nilai k dihasilkan dari nilai larik S
yang dipermutasi.
Algoritma RC4 merupakan algoritma enkripsi stream
chipher dan symmetric key, dimana algoritma ini melakukan proses
enkripsi dan dekripsi one byte at a time dan menggunakan kunci yang
sama. Algoritma RC4 terdiri atas 2 bagian yaitu Key Scheduling
Algorithm (KSA) dan Pseudo Random Generation Algorithm (PRGA).

key
KSA (K)
key stream
plaintext

PRGA (K)

chipertext
Gambar 2. Blok Diagram Algoritma RC4
xor
1. Key Scheduling Algorithm (KSA)
Proses KSA melakukan pemberian nilai inisialisasi pada
tabel sbox, key dan selanjutnya melakukan proses permutasi
sebanyak 256 iterasi
//Inisialisasi sbox dan key
Len_key = length(key_str)
For(i=0;i