• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2018

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

Copied!
24
0
0

Teks penuh

(1)

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

(2)

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.

(3)

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

dengan stream cipher.

b. Bagaimana cara mengenkripsi dan dekripsi client dan server di sisi PHP dan JQuery.

c. Bagaimana cara untuk penyebaran expance key pada tabel berbeda pada pasangan.

3. BATASAN MASALAH

a. Karakter dalam penggunaan pada chat sebatas ASCII, tidak sampai pada Unicode, bigendian dst.

b. 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 dan juga eksternal umum SMK/SMA.

(4)

Manfaat Bagi Penulis

a. Menambah waswasan koding cara mengenkripsi dan dekripsi mengunakan PHP dan JQuery.

b. 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 teori-teori 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

(5)

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

(6)

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 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

(7)

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]

(8)

}

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]

Gambar 1. Skema Kunci Asimetris Enkripsi Dekripsi

Plainteks

Plainteks Plainteks

(9)

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

(10)

key

key stream plaintext

chipertext

Gambar 2. Blok Diagram Algoritma RC4 1. Key Scheduling Algorithm (KSA)

2. Pseudo Random Generation Algorithm (PRGA)

Table sbox hasil key stream yang akan di XOR kan dengan plaintext untuk menghasilkan chiphertext. Proses untuk

menghasilkan key stream dilakukan proses permutasi pada tabel sbox berdasarkan nilai iterasi yang diambil secara random.

(11)

chrteks = substr9plaintext,n-1,1); ordchr = ord(chrteks);

(12)

d. RSA

RSA merupakan algoritma kriptografi asimetris. Ditemukan

pertama kali pada tahun 1977 oleh Ron Rivest, Adi Shamir, dan Leornad Adleman. Nama RSA sendiri dari inisial nama depan ketiga

penemunya tersebut. Sebagai algoritma kunci public, RSA mempunyai dua kunci, yaitu kunci public dan kunci pribadi. Kunci publik boleh diketahui siapa saja, dan digunakan untuk proses enkripsi. Sedangkan

kunci pribadi hanya pihak – pihak tertentu saja yang boleh pada saat ini seperti yang diuraikan M. Zaki Riyanto dan Ardhi Ardhian:

Keamanan sandi RSA terletak pada sulitnya memfaktorkan bilangan yang besar. Samapai saat ini RSA masih dipercaya dan

digunakan secara luas di internet (Kriptografi Kunci Publik: Sandi RSA, 2008).

sehingga p dapat diperoleh dengan menarik akar pangkat dua dari n).

3. Hitung a = (p – 1) × (q – 1).

4. Pilih kunci e dengan 1< e < a dan e relatif prima terhadap a (gcd(e, a) = 1).

(13)

A Plainteks enkripsi Hasil dari algoritma di atas adalah:

1. Kunci publik adalah pasangan (e, n).

2. Kunci privat adalah pasangan (d, n).

Algoritma enkripsi dan dekripsi RSA adalah sebagai berikut: 1. Enkripsi:

a. Ambil kunci publik (e, n).

b. Nyatakan plaintext m menjadi blok – blok �1, �2, … , sedemikian

sehingga setiap blok merepresentasikan nilai di dalam selang [0, n

1].

c. Setiap blok ��, dienkripsi menjadi blok �� dengan �� = �� � mod n.

Gambar 3. Skema Kunci Asimetris f. Algoritma RSA

Skema algoritma kunci publik Sandi RSA terdiri dari tiga proses, yaitu proses pembentukan kunci, proses enkripsi dan proses

dekripsi. Sebelumnya diberikan terlebih dahulu beberapa konsep perhitungan matematis yang digunakan RSA (RSA and Public Key Criptography, 2003, hlm 61).

(14)

1. Tentukan p dan q bernilai dua bilangan Prima besar, acak dan dirahasiakan. p q, p dan q memiliki ukuran sama.

2. Hitung n = pq

Dan hitung ı(n) = (p-1)(q-1).

Bilangan integer n disebut (RSA) modulus.

3. Tentukan e bilangan Prima acak, yang memiliki syarat: 1 < e < ı(n)

GCD(e, ı(n)) = 1, disebut e relatif prima terhadap ı(n), Bilangan integer e disebut (RSA) enciphering exponent.

4. Memakai algoritma Euclid yang diperluas (Extended Eucledian

Algorithm). Menghitung bilangan khusus d, syarat 1 < d < ı(n) d e-1 mod ı(n)

ed ≡ 1 (mod ı(n))

ed ≡ 1 + k.ı(n) untuk nilai k integer.

Bilangan integer d disebut (RSA) deciphering exponent.

5. Nilai (n,e) adalah nilai yang boleh dipublikasi, nilai d, p, q, ı(n) adalah nilai yang harus dirahasiakan. Pasangan (n,e) merupakan kunci publik.

Pasangan (n,d) merupakan kunci rahasia. g. JQUERY

JQuery adalah library Javascript yang dibuat untuk

(15)

JQuery adalah javascript library yang cepat dan ringan untuk menangani dokumen HTML, menangani event, membuat animasi dan

interakasi ajax. JQuery diluncurkan pada tanggal 26 Januari 2006 di Barcamp NYC oleh John Resig dan berlisensi ganda di bawah MIT dan GPL.

Sekarang JQuery dikembangkan oleh team developer yang dipimpin oleh Dave Metvin. Dipakai oleh lebih dari 55% dari

10.000 website yang paling sering dikunjungi. Beberapa Fitur yang ada di JQuery :

1. Dalam Pemakaian menggunakan seleksi element DOM, sehingga

website lebih dinamis dan interaktif.

2. JQuery bisa memanipulasi Class pada CSS dan Support CSS 3.

3. Event.

4. AJAX.

5. Efek-efek dan animasi.

6. Ekstensi dan Plug-ins.

7. Kompatibilitas dengan hampir semua Browser modern.

8. Keperluan lain seperti : User Agent, Feature detection dan lainnya.

(16)

10.Kompatibilitas dengan hampir semua Browser modern.

11.Keperluan lain seperti : User Agent, Feature detection dan lainnya.

 Sintaks JQuery biasanya dibuat untuk memilih elemen-elemen HTML

dan melakukan aksi terhadap elemen yang dipilih.Sintaks : $(selector).action()

 Tanda dollar, untuk mendefinisikan JQuery

 (selector), untuk menunjukkan elemen yang dipilih atau dituju

 action(), adalah JQuery action yang akan dilakukan terhadap elemen

yang dipilih. Contoh :

$(this).hide() – menyembunyikan elemen saat ini

$("p").hide() – menyembunyikan semua paragraf atau konten dari tag <p>

$(".test").hide() – menyembunyikan elemen yang mempunya class="test"

$("#test").show() – menampilkan elemen yang mempunyai id="test"

JQuery mirip CSS dalam hal memilih elemen HTML. $("p") memilih semua elemen <p>

(17)

 JQuery Attribute Selectors

JQuery mirip XPath dalam hal memilih elemen berdasarkan atribut yang ada. $("[href]") memilih semua elemen dengan atribut href. $

("[href='#']") memilih semua elemen dengan atribut href bernilai="#". $ ("[href!='#']") memilih semua elemen dengan atribut href dengan nilai bukan sama dengan "#". $("[href$='.jpg']") memilih semua elemen

dengan atribut href yang mengandung ".jpg".

7. ANALISIS DATA

Dalam penerapan algoritma RC4 ini dibutuhkan pengetahuan pengeriman teks JQuery mengenai stream cipher dan symmetric key untuk mengenkripsi dan dekripsi pada aplikasi chat Asia, sekaligus mengamankan

(18)

8. PEMBAHASAN

Pada dasarnya aplikasi ini memiliki fungsi utama untuk melakukan

enkripsi dan dekripsi data yang dikirimkan antara aplikasi client dan server, database dan juga sebaliknya. Enkripsi dilakukan untuk query dan hasil

query saja, dan algoritma yang digunakan adalah RC4. Software ini menerima inputan data berupa string dari user, kemudian dienkripsi oleh fungsi JQuery yang terdapat pada aplikasi client setelah terenkripsi kemudian

dikirimkan ke server database. Dan data yang ada di server database didekripsi oleh function procedure yang berada pada PHP. Hasil query akan

(19)
(20)

Gambar 5. Flowchart decrypt RC4

Dari hasil perancangan dan pembuatan program enkripsi database

pada aplikasi menggunakan algoritma RC4 Stream Chiper ini maka dapat disimpulkan:

1. Enkripsi RC4 Stream Chiper ini dapat diimplementasikan pada aplikasi dengan menggunakan bahasa pemrograman web PHP dan JQuery

dan database MySql.

(21)

3. Data yang diinput akan disimpan pada database dalam keadaan terenkripsi sehingga keamanan dan rahasia data dapat terjaga.

a. Gambaran rancangan aplikasi AsiaChat secara umum

Gambar 6. Bagan Aplikasi Secara Umum Serve

r PHP

Dat aba se

Client JQuer y

(22)

b. Flowchart (alur) AsiaChat

(23)

c. Desain aplikasi AsiaChat dibuat untuk sederhana dan semenarik mungkin untuk menarik pemakaian untuk digunakan

Gambar 8. Desain umum aplikasi AsiaChat 9. DAFTAR PUSTAKA

A.Mooduto, Hanriyawan dan Albar. Enkripsi Data Menggunakan Algoritma RC4. Jurnal Ilmiah R & B Volume 4. Padang. 2004.

Hendarsyah, Decky dan Retantyo Wardoyo. Implementasi Protokol Diffie-Hellman Dan Algoritma RC4 Untuk Keamanan Pesan SMS.

IJJCCS, Vol. 5.Januari. Yogyakarta.2011.

Ariyanto, Yuri. Algoritma RC4 Dalam Proteksi Transmisi Dan Hasil Query

Untuk ORDBMS Postgresql. Jurnal Informatika Vol. 10. Surabaya. 2009.

Haji, Hari Wahyu dan Slamet Mulyono. Implementasi RC4 Stream Chipher Untuk Keamanan Basis Data. Seminar Nasional Aplikasi Teknologi

(24)

Gunawan, Ingga Michael. Penggunaan Algoritma Diffie-Hellman Dalam Melakukan Pertukaran Kunci. Makalah IF2091 Struktur Diskrit.

Gambar

Gambar 1. Skema Kunci Asimetris
Gambar 2. Blok Diagram Algoritma RC4xor
Gambar 3.enkripsi Skema Kunci Asimetriscipherteksdekripsi
Gambar 4. Flowchart encrypt RC4
+4

Referensi

Dokumen terkait

PERATURAN DAERAH PROVINSI KEPULAUAN BANGKA BELITUNG TAHUN

[r]

Peraturan Tanggal

[r]

The objec- tives of this study were to (1) to determine the ef- fects of canopy density on the understorey shrub layer; (2) quantify and compare the shrub layer vegetation

Jumlah perilaku individu yang paling sering dilakukan adalah perawatan diri (81 kali), perilaku sosial yang sering dilakukan yaitu penyerangan (17 kali), perilaku makan yang

 Dalam proses ini siswa akan melakukan pembelajaran tentang cara menyimpan file lampiran dari email dan menghapus email yang sudah tidak terpakai melalui media video tutorial.

Puji Tuhan saya panjatkan kehadirat Tuhan Yesus karena penulis dapat menyelesaikan penulisan skripsi dengan judul “Penggunaaan Video Tutorial Dalam Upaya