PERBANDINGAN ALGORITMA RC4 DAN RIJNDAEL PADA ENKRIPSI DAN DEKRIPSI SMS

(1)

ABSTRAK

PERBANDINGAN ALGORITMA RC4 DAN RIJNDAEL PADA ENKRIPSI DAN DEKRIPSI SMS

Oleh

KARTIKA SEPTIANINGRUM

Short Message Service (SMS) merupakan salah satu dari fasilitas untuk berbagi informasi yang disediakan telepon seluler. Namun banyak tindakan yang tidak bertanggung jawab untuk mencuri informasi pesan tersebut. Maka dibutuhkan penyandian untuk melindungi keamanan dan keaslian pesan dengan menggunakan teknik kriptografi. Dari berbagai macam algoritma kriptografi, Algoritma RC4 dan Rijndael adalah algoritma yang dapat digunakan untuk enkripsi dan dekripsi pesan. Pada penelitian ini, aplikasi SMS dibuat dengan menggunakan Algoritma RC4 dan Rijndael pada Bahasa Pemrograman JAVA ME. Aplikasi ini juga digunakan untuk membandingkan waktu enkripsi dan dekripsi pesan teks kedua algoritma tersebut. Dari hasil pengujian yang telah dicoba dengan menjalankan aplikasi pada telepon seluler, didapatkan waktu rata-rata enkripsi pesan dengan Algoritma RC4 yaitu 311,6 ms dan waktu rata-rata dekripsi pesan 495,6 ms. Sedangkan waktu rata-rata enkripsi pesan dengan Algoritma Rijndael 630,4 ms dan waktu rata-rata dekripsi pesan 635,3 ms.

Kata kunci: Algoritma, dekripsi, enkripsi, JAVA ME, kriptografi, perbandingan, RC4, Rijndael, SMS


(2)

ABSTRACT

COMPARISON OF RC4 AND RIJNDAEL ALGORITHM ON SMS’ ENCRIPTION AND DECRIPTION

by

KARTIKA SEPTIANINGRUM

Short Message Service (SMS) is one of mobile phone’s facilities that are used for sending information to other people. Many irresponsible actions are trying to take that information illegally. Because of the problem, codeword is needed to keep the originality and the safety of the message using cryptography. From many kinds of crypto graphical algorithms, RC4 and Rijndael algorithms are able to be used for message encryption and decryption.

In this research, an application used for applying RC4 and Rijndael algorithms are created and developed using Java ME programming language. This application is also used for comparing the times of encryption and decryption of the text message on both algorithms. Based on the result of the test by running this application on mobile phone, the average times of encryption and decryption are 311.6 ms and 495.6 ms each on RC4 algorithm. And the average times of encryption and decryption on Rijndael algorithm are 630.4 ms and 635.3 ms each.

Key Word: Algorithm, Decryption, Encryption, Java ME, Cryptography, Compare, RC4, Rijndael, SMS


(3)

PERBANDINGAN ALGORITMA RC4 DAN RIJNDAEL PADA PROSES ENKRIPSI DAN DEKRIPSI SMS

(Skripsi)

Oleh

KARTIKA SEPTIANINGRUM 0717032054

JURUSAN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG


(4)

PERBANDINGAN ALGORITMA RC4 DAN RIJNDAEL PADA ENKRIPSI DAN DEKRIPSI SMS

Oleh

KARTIKA SEPTIANINGRUM

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar SARJANA KOMPUTER

Pada

Jurusan Ilmu Komputer

Fakultas Matematika dan Ilmu Pengetahuan Alam

JURUSAN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG


(5)

PERNYATAAN

Saya yang bertanda tangan di bawah ini, menyatakan bahwa skripsi saya yang berjudul “Perbandingan Algoritma RC4 dan Rijndael Pada Enkripsi dan Dekripsi

SMS” ini merupakan hasil karya sendiri dan bukan hasil karya orang lain. Semua

hasil tulisan yang tertuang dalam skripsi ini telah mengikuti kaidah penulisan karya ilmiah Universitas Lampung. Apabila di kemudian hari terbukti bahwa skripsi ini merupakan hasil salinan atau dibuat oleh orang lain, maka saya bersedia menerima sanksi berupa pencabutan gelar akademik yang telah saya terima.

Bandar Lampung, Juni 2012

Kartika Septianingrum NPM. 0717032054


(6)

MOTTO

Awali hari dengan

‘Bismillah’ dan akhiri dengan

‘Alhamdulillah’

Kegagalan dapat dibagi menjadi dua sebab. Yakni, orang

berpikir tapi tidak pernah bertindak, dan orang yang

bertindak tapi tidak pernah berpikir (WA Nance).

Berangkat dengan penuh keyakinan, berjalan dengan penuh

keikhlasan, istiqomah dalam mengahadapi cobaan (TGKH.

M. Zainuddin Abdul Madjid)

Apabila anda berbuat kebaikan kepada orang lain, maka anda

telah berbuat baik terhadap diri sendiri (Benyamin Franklin).


(7)

MENGESAHKAN

1. Tim Penguji

Ketua :Ir. Machudor Yusman, M.Kom. ______________

Sekretaris :Dwi Sakethi, S.Si., M.Kom. ______________

Penguji

Bukan Pembimbing :Anie Rose Irawatie, S.T., M.Cs. ______________

2. Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam

Prof. Suharso, Ph.D.

NIP. 19690530 199512 1 001


(8)

PERSEMBAHAN

Kupersembahkan karya kecilku ini kepada:

PAPA dan MAMA tercinta

Kakak-kakak tersayang:

Kak Dani, Kak Debit, Mba Fitri, dan Mba Dian.

Dan juga Dedek Ahza ndut

Terima kasih atas semua dukungan dan doa yang tiada

henti-hentinya demi tercapai semua cita-cita dan impianku.


(9)

Judul Skripsi : Perbandingan Algoritma RC4 dan Rijndael Pada Enkripsi Dan Dekripsi SMS

Nama Mahasiswa : Kartika Septianingrum Nomor Pokok Mahasiswa : 0717032054

Jurusan : Ilmu Komputer

Fakultas : Matematika dan Ilmu Pengetahuan Alam

MENYETUJUI

1. Komisi Pembimbing

Ir. Machudor Yusman, M.Kom NIP. 19570330 198603 1 003

Dwi Sakethi, S.Si., M.Kom. NIP. 19680611 199802 1 001

2. Mengetahui

Ketua Jurusan Ilmu Komputer FMIPA Universitas Lampung

Ir, Machudor Yusman, M.Kom NIP. 19570330 198903 1 003


(10)

RIWAYAT HIDUP

Penulis dilahirkan di Bandar Lampung pada tanggal 16 September 1989, sebagai anak ke tiga dari tiga bersaudara, dari pasangan Bapak Drs. Bahirumsyah dan Ibu Nurdasni Etty.

Pendidikan Sekolah Dasar (SD) diselesaikan di SDN 2 Palapa, Bandar Lampung pada tahun 2001, Sekolah Lanjutan Tingkat Pertama (SLTP) di SLTPN 9 Bandar Lampung pada tahun 2004, dan Sekolah Menengah Atas (SMA) di SMAN 3 Bandar Lampung pada tahun 2007.

Tahun 2007, penulis terdaftar sebagai mahasiswa Program Studi Ilmu Komputer Jurusan Matematika FMIPA Unila melalui jalur UMPTN. Selama menjadi mahasiswa penulis pernah menjadi anggota Himpunan Mahasiswa Matematika (HIMATIKA) FMIPA Unila. Pada tahun 2010, Penulis melakukan kerja praktek di PT. Pelabuhan Indonesia II (PERSERO) Cabang Panjang, Bandar Lampung.


(11)

SANWACANA

Puji syukur penulis ucapkan kehadirat ALLAH SWT, karena atas rahmat dan hidayah-Nya skripsi ini dapat diselesaikan.

Skripsi dengan judul “Perbandingan Algoritma RC4 dan Rijndael Pada Enkripsi dan Dekripsi SMS” adalah salah satu syarat untuk memperoleh gelar sarjana Ilmu Komputer di Universitas Lampung.

Dalam kesempatan ini penulis mengucapkan terimakasih kepada berbagai pihak yang secara langsung maupun tidak langsung telah membantu penulis sehingga skripsi ini dapat terselesaikan. Penulis mengucapkan terima kasih kepada:

1. Bapak Machudor Yusman, M.Kom., selaku Ketua Jurusan Ilmu Komputer serta sebagai pembimbing pertama yang telah memberikan bimbingan dan motivasi dalam pembuatan skripsi ini.

2. Bapak Dwi Sakethi, M.Kom., selaku Sekretaris Jurusan Ilmu Komputer serta pembimbing kedua yang telah memberikan bimbingan, saran dan koreksi dalam pembuatan skripsi ini.

3. Ibu Anie Rose Irawati, M.T., M.Cs., selaku pembahas yang telah memberikan koreksi dan saran dalam pembuatan skripsi ini.


(12)

4. Bapak Amanto, M.Si., selaku pembimbing akademik selama penulis menjadi mahasiswa Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung

5. Bapak Prof. Suharso, Ph.D., selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam.

6. Seluruh dosen dan karyawan Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam.

7. Papa dan Mamaku tercinta dan kakak-kakakku tersayang, Kak Dani, Kak Debit, Mba Fitri, dan Mba Dian yang selalu memberikan doa dan dukungan dengan ikhlas dan tak pernah lelah untuk memberikan semangat.

8. Erinda Putri Andaryani, Novi, Citra, Dede, Hadi, Anggi, Zize, Nengah, Shandy, Andi, Insan, Ririn, Vita, Friska, Wika, Mba Sri, Liya, Sapta, Hendro, Pipit, Goz, Vendo, Umi, Giesha, Wiwin, dan seluruh rekan-rekan Ilmu Komputer 2007, terima kasih atas dukungan dan kebersamaannya selama ini. 9. Sahabat-sahabatku, Nella, Nia, Ida, Mba Sih, Uni Lina, Teteh Ditha yang telah

memberikan bantuan, motivasi, dan doanya dalam penyelesaian skripsi ini, love u all.

10. Kak Arly ilkom 06, Kak Ronal ikom 06, dan Mas Ariq yang telah bersedia membantu penyelesaian skripsi ini.

11. Semua pihak yang tidak tersebutkan yang telah memberikan masukan dan saran, penulis ucapkan terima kasih atas segala bantuan dan sarannya.


(13)

Akhir kata, Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan, akan tetapi sedikit harapan semoga skripsi yang sederhana ini dapat berguna dan bermanfaat bagi kita semua. Amiin.

Bandar Lampung, Juni 2012 Penulis,


(14)

BAB I PENDAHULUAN

1.1 Latar Belakang

Short Message Service atau yang lebih dikenal dengan SMS adalah salah satu fasilitas yang disediakan telepon seluler. Dengan SMS tersebut dapat dilakukan pengiriman data berupa pesan singkat yang mudah digunakan oleh masyarakat untuk berbagi informasi tanpa harus saling bertemu. Walaupun terlihat praktis, banyak tindakan yang tidak bertanggung jawab untuk mencuri informasi yang bersifat rahasia. Maka dari itu dibutuhkan suatu penyandian untuk melindungi kemanan dan keaslian pesan tersebut. Untuk itu dalam meningkatkan keamanan yang memerlukan kerahasiaan pesan dapat menggunakan teknik kriptografi.

Kriptografi merupakan ilmu yang mempelajari mengenai tulisan rahasia dengan tujuan menyembunyikan pesan sebenarnya. Dalam proses kriptografi diperlukan dua proses penting yaitu enkripsi dan dekripsi. Untuk melakukan enkripsi dan dekripsi pesan diperlukan algoritma yang cocok digunakan untuk dijalankan pada platform telepon seluluer. Algoritma RC4 dan Rijndael


(15)

2

termasuk algoritma simetris yang dapat digunakan untuk enkripsi dan dekripsi pesan teks (Ariyus, 2010).

Untuk mengetahui apakah kedua algoritma tersebut dapat dijalankan pada telepon seluler maka dilakukan penelitian serta untuk membandingan waktu yang diperlukan pada proses enkripsi dan dekripsi pesan kedua algoritma tersebut.

1.2 Rumusan Masalah

Rumusan permasalahan yang akan dikaji dalam penelitian ini adalah membandingkan waktu yang diperlukan untuk proses enkripsi dan dekripsi SMS menggunakan algoritma RC4 dan Rijndael.

1.3 Batasan Masalah

Berikut adalah batasan masalah dalam proposal penelitian ini adalah:

1. Algoritma yang digunakan pada enkripsi dan dekripsi SMS hanya algoritma RC4 dan Rijndael.

2. Penelitian ini hanya membandingkan waktu yang dibutuhkan dalam proses enkripsi dan dekripsi SMS.

3. Algoritma Rijndael yang digunakan hanya blok yang berukuran 128 bit dan ukuran kunci sebesar 128bit.


(16)

3

4. Aplikasi enkripsi dan dekripsi SMS digunakan hanya pada telepon seluler yang berbasis JAVA.

5. Algoritma RC4 dan Rijndael yang digunakan pada JAVA dengan menggunakan bantuanlibrary Bouncy Castle.

1.4 Tujuan

Tujuan dilaksanakan penelitian ini adalah :

1. Menggunakan Algoritma RC4 pada proses enkripsi dan dekripsi SMS. 2. Menggunakan Algoritma Rijndael pada proses enkripsi dan dekripsi

SMS.

3. Membandingkan waktu kedua algoritma tersebut pada proses enkripsi dan dekripsi SMS.

1.5 Manfaat

Manfaat penelitian ini yaitu sebagai berikut:

1. Menambah pengetahuan mengenai penerapan algoritma RC4 pada enkripsi dan dekripsi SMS.

2. Menambah pengetahuan mengenai penerapan algoritma Rijndael pada enkripsi dan dekripsi SMS.

3. Menambah pengetahuan mengenai enkripsi dan dekripsi suatu data, khususnya pada SMS dengan penenerapannya dalam bahasa JAVA.


(17)

4

4. Mengetahui hasil perbandingan waktu proses enkripsi dan dekripsi Algoritma RC4 dan Rijndael


(18)

BAB II

TINJAUAN PUSTAKA

2.1 Short Message Service(SMS)

SMS merupakan salah satu layanan komunikasi yang disediakan oleh jaringan GSM. Layanan ini memungkinkan pelanggan untuk dapat mengirimkan pesan singkat. Struktur pesan SMS terdiri dari bagian header yang berisi instruksi-instruksi yang bekerja dalam jaringan SMS. Sedangkan bagian message body berisi isi dari pesan yang dikirimkan. Pesan SMS memiliki panjang yang berukuran maksimal 160 karakter yang setiap karakter memiliki panjang 7bit(Permana, 2006).

Pengiriman pesan SMS umumnya hanya dapat dilakukan satu kali oleh sebuah telepon seluler. Namun seiring dengan kemajuan teknologi, beberapa telepon seluler mampu mengirimkan beberapa paket SMS dalam satu pesan. Yang dilakukan oleh telepon seluler agar terlihat dapat mengirim beberapa paket SMS dalam satu pesan adalah dengan melakukan konkatinasi. Dengan menggunakan fitur ini, seolah-olah pengguna telepon seluler dapat mengirim paket SMS lebih dari 160 karakter untuk satu buah pesan. Namun yang sebenarnya dilakukan oleh telepon seluler adalah mengirimkan paket-paket


(19)

6

SMS tersebut lebih dari satu kali dan kemudian paket-paket SMS tersebut disatukan agar menjadi satu buah pesan. Proses penyambungan beberapa pesan agar menjadi satu pesan memerlukan proses tambahan, sehingga panjang satu pesan tersebut dapat menjadi lebih kecil (Permana, 2006).

Selain proses pengiriman pesan, sebuah aplikasi SMS juga harus memiliki proses penerimaan pesan. Untuk membuat aplikasi SMS pada sebuah telepon seluler aplikasi SMS sudah harus terinstal. Pengembang harus mendefinisikan portaplikasi SMS yang dibangun. Fungsi pendefinisian nomorportini adalah agar pesan yang dikirim sampai pada aplikasi SMS yang dibangun dan bukan pada aplikasi SMS standar ponsel yang memiliki nomor port 0. Penggunaan nomor port bergantung pada jenis aplikasi SMS yang hendak dibangun. Jika aplikasi SMS yang hendak dibangun adalah aplikasi SMS yang berfungsi mengirimkan pesan pada waktu tertentu, maka tidak perlu mendefinisikan nomor port pada aplikasi SMS. Hal ini dikarenakan pesan ditujukan untuk masuk pada aplikasi SMS standar ponsel. Namun jika aplikasi SMS yang dibangun memiliki fungsi khusus yang tidak dimiliki aplikasi SMS standar ponsel, maka perlu dilakukan pendefinisian nomor port. Informasi nomor port yang telah didefinisikan dibawa bersama paket pesan yang dikirim oleh pengirim. Sehingga panjang maksimal paket pesan berkurang untuk menampung informasi nomorport(Permana, 2006).


(20)

7

2.2 Kriptografi

Kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto berarti secret (rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat lain (Ariyus, 2006).

Algoritma Kriptografi terdiri dari tiga fungsi dasar (Ariyus, 2006), yaitu:

1. Enkripsi: merupakan hal yang sangat penting dalam kriptografi, merupakan pengamanan data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli disebut plaintext, yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan dengan cipher atau kode. Sama halnya dengan penerima SMS tidak mengerti makna kata maka akan melihatnya di dalam kamus atau daftar istilah. Beda halnya dengan enkripsi, untuk mengubah teks asli ke bentuk teks kode digunakan algoritma yang dapat mengkodekan data yang diinginkan.

2. Dekripsi: merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi dikembalikan ke bentuk asalnya (teks asli), disebut dengan dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu berbeda dengan algoritma yang digunakan untuk enkripsi.

3. Kunci: yang dimaksud adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Kunci terbagi menjadi dua arti, kunci rahasia (private key) dan kunci umum (public key).


(21)

8

Terdapat dua macam sistem kriptografi, yaitu sistem kriptografi kunci simetri dan kunci asimetri (Fahmi, 2010).

1. Sistem kriptografi simetris

Sistem kriptografi menggunakan kunci yang sama untuk proses enkripsi dan dekripsi pesan. Algoritmanya disebut algoritma konvensional. Diagram sistem kriptografi kunci simetris dapat dilihat pada Gambar 2.1 berikut:

Kunci privat, K Kunci privat, K

Cipherteks, C Plainteks, P

Plainteks, P

Gambar 2.1 Sistem Kriptografi Simetris

Contoh dari algoritma kunci simetris adalah DES, RC4, Blowfish, IDEA, Rijndael, dan Solitaire.

2. Sistem kriptografi asimetris

Algoritma kunci asimetris menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsi pesan. Istilah lainnya adalah kriptografi kunci-publik. Kunci untuk proses enkripsi bersifat publik. Sedangkan untuk proses dekripsi bersifat rahasia (privat). Diagram sistem kriptografi kunci airsimetris dapat dilihat pada Gambar 2.2.

Enkripsi

E

K

(P)=C

Dekripsi

D

K

(C)=P


(22)

9

Kunci publik, K1 Kunci privat, K2

Cipherteks, C Plainteks, P

Plainteks, P

Gambar 2.2 Sistem Kriptografi Asimetris

Contoh dari algoritma kunci asimetris adalah RSA dan Elgama.

Algoritma kriptografi dibedakan menjadi algoritma kriptografi klasik dan algoritma kriptografi modern (Munir, 2006). Algoritma kriptografi klasik adalah algoritma yang berbasis teks dan belum menggunakan komputer. Algoritma ini dipakai pada zaman dahulu, ketika belum ada teknologi komputer. Algoritma kriptografi klasik juga termasuk ke dalam kriptografi kunci simetri.

Algoritma kriptografi klasik terdiri dari :

1. Cipher Substitusi

Jenis-jenis algoritma yang termasuk ke dalam kelompok ini adalah : a. Cipher Abjad Tunggal

Algoritma jenis ini mengganti satu huruf di plainteks dengan satu huruf yang bersesuaian. Contoh algoritmanya adalah algoritma caesar.

Enkripsi

E

K1

(P)=C

Dekripsi

D

K2

(C)=P


(23)

10

b. Cipher Substitusi Homofonik

Algoritma jenis ini memetakan satu huruf di plainteks ke dalam salah satu huruf cipherteks yang mungkin.

c. Cipher Abjad-Majemuk

Algoritma jenis ini dibuat dari sejumlah cipher abjad tunggal, masing-masing dengan kunci yang berbeda. Contoh algoritmanya adalah Algoritma Vigènere.

d. Cipher Substitusi Poligram

Algoritma jenis ini melakukan substitusi blok huruf plainteks dengan blok huruf cipherteks. Contoh algoritmanya adalah AlgoritmaPlayfair.

2. Cipher Transposisi

Algoritma jenis ini melakukan transpos terhadap rangkaian huruf di plainteks. Metode ini juga disebut dengan metode permutasi.

Berbeda dengan algoritma kriptografi klasik yang beroperasi dalam mode karakter, algoritma kriptografi modern beroperasi dalam modebit. Operasibit yang sering digunakan adalah operasi XOR. Algoritma kriptografi modern tetap menggunakan gagasan algoritma kriptografi klasik namun jauh lebih rumit dan sukar dipecahkan. Beberapa jenis algoritma kriptografi modern yaitu (Prayudi, 2005):


(24)

11

1. Algoritma Aliran (Stream Cipher)

Algoritma jenis ini melakukan proses enkripsi plainteks menjadi cipherteks bitper bit ataubyte per byte. Contoh algoritma jenis ini adalah ARC4, One Time Pad, dan Solitaire.

2. Algoritma Blok (Block Cipher)

Algoritma jenis ini membagi bit-bit plainteks menjadi blok-blok bit dengan panjang yang sama. Kunci yang digunakan memiliki panjang yang sama dengan panjang blok. Sehingga enkripsi dilakukan terhadap blok bit plainteks dengan blok bit kunci dan menghasilkan blok cipherteks yang sama dengan blok plainteks. Contoh algoritma jenis ini adalah DES, AES, Blowfish, dan IDEA.

Layanan yang disediakan oleh kriptografi adalah sebagai berikut (Sutiono, 2010).

1. Kerahasiaan (confidentiality)

Layanan yang digunakan untuk menjaga informasi dari pihak lain, yang dapat membuka informasi tersebut adalah pihak yang memiliki kunci rahasia untuk mendekripsi data tersebut.

2. Integritas data (data integrity)

Hal ini berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak


(25)

12

mempunyai hak, antara lain penyisipan, penghapusan, dan penggantian data lain ke dalam data sebenarnya.

3. Otentikasi (authentication)

Hal ini berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan harus diautentikasi keasliannya, isi datanya, dan waktu pengirimannya.

4. Non-repudiation(penyangkalan)

Layanan untuk mencegah pihak yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.

2.3 Algoritma RC4

RC4 didesain oleh Ronald Rivest yang berasal dari RSA Data Security Inc (RSADSI) pada tahun 1987. RC4 sendiri mempunyai singkatan resmi yaitu

“Rivest Chiper”, namun juga dikenal sebagai “Ron’s Code” atau “Rivest Code”. RC4 sebenarnya dirahasiakan dan tidak dipublikasikan kepada khalayak ramai, namun ternyata ada orang yang tidak dikenal menyebarkan RC4 ke mailing listCypherpunks. Kemudian berita ini dengan cepat diposkan ke sci.crypt newsgroup, dan dari newsgroup ini kemudian menyebar luas di internet. Kode yang dibocorkan tersebut dipastikan keasliannya karenaoutput yang dikeluarkan sama dengan software-software yang menggunakan RC4


(26)

13

yang berlisensi. Nama RC4 sudah dipatenkan, sehingga RC4 sering disebut juga ARCFOUR atau ARC4 (Alleged RC4) Untuk menghindari masalah pematenan. RSA Security tidak pernah secara resmi merilis algoritma tersebut, namun Rivest secara pribadilah yang merilisnya tersebut dengan menghubungkan wikipedia Inggris ke catatan-catatan yang dimiliki. RC4 telah menjadi bagian dari protokol enkripsi yang standar dan sering digunakan, termasuk WEP dan WPA untuk wireless card, serta TLS. Faktor utama yang menjadi kesuksesan dari RC4 adalah kecepatannya dan kesederhanaannya dalam menangani banyak aplikasi, sehingga mudah untuk mengembangkan implementasi yang efisien ke software dan hardware (Sutiono, 2010).

RC4 merupakan salah satu jenisstream ciphersehingga RC4 memproses unit atau input data, pesan atau informasi pada satu saat. Unit atau data pada umumnya sebuah byte atau bahkan kadang kadang bit (byte dalam hal RC4) sehingga dengan cara ini enkripsi atau dekripsi dapat dilaksanakan pada panjang yang variabel. Algoritma ini tidak harus menunggu sejumlah input data, pesan atau informasi tertentu sebelum diproses, atau menambahkan byte tambahan untuk mengenkrip. Contoh stream cipher adalah RC4, Seal, A5, dan Oryx (Maryono, 2003).

Langkah-langkah algoritma RC4 dijelaskan sebagai berikut (Safrina, 2006):

1. Melakukan inisialisasi larik S: S[0]= 0, …, S[255] = 255.

fori0 to 255do

S[i]i


(27)

14

2. Jika panjang kunci U < 256 karakter maka lakukan padding, yaitu penambahan bit-bit isian pada akhir kunci. Contoh kunci adalah tika. Karena panjang kunci kurang dari 256, maka kunci tersebut di-padding menjadi tikatikatika… hingga 256 karakter.

3. Melakukan permutasi setiap nilai-nilai dalam larik S.

Fungsi swap adalah proses pertukaran S[i] dengan S[j].

4. Membangkitkan aliran kunci (keystream) dan lakukan enkripsi dengan operasi XOR antara aliran kunci dan plainteks untuk menghasilkan cipherteks.

Keterangan:

P : array karakter plainteks C: cipherteks K : aliran kunci (keystream) yang dibangkitkan

j0

fori0 to 255 do

j(j + S[i] + U[i]) mod 256 swap(S[i], S[j])

endfor

i0 j0

foridx0toPanjangPlainteks – 1do

i(i + 1) mod 256 j(j + S[i]) mod 256 swap(S[i], S[j])

t(S[i] + S[j]) mod 256 KS[t]

CKP[idx]


(28)

15

5. Proses dekripsi dilakukan dengan menggunakan kunci aliran yang sama dengan yang digunakan saat proses enkripsi.

Keterangan:

C : array karakter cipherteks

K : aliran kunci (keystream) yang dibangkitkan P : plainteks

2.4 Algoritma Rijndael

2.4.1 Sejarah Algoritma Rijndael

Hingga tahun 1990-an, algoritma kriptografi yang banyak dipakai adalah Data Encryption Standard (DES). Algoritma ini dipakai oleh National Institute of Standards and Technology (NIST) sebagai standar enkripsi data Federal Amerika Serikat. DES termasuk dalam algoritma enkripsi yang sifatnya cipher block, yang berarti DES mengubah data masukan menjadi blok-blok 64-bit dan kemudian menggunakan kunci enkripsi sebesar 56-bit. Setelah mengalami proses enkripsi maka

i0 j0

foridx0to PanjangCipherteks – 1do

i(i + 1) mod 256 j(j + S[i]) mod 256 swap(S[i], S[j])

t(S[i] + S[j]) mod 256 KS[t]

PKC[idx]


(29)

16

menghasilkan output blok 64-bit. Seiring dengan perkembangan teknologi, kunci DES yang sebesar 56-bit dianggap sudah tidak memadai lagi. Pada tahun 1998, 70 ribu komputer di Internet berhasil membobol satu kunci DES dalam waktu 96 hari. Tahun 1999 kejadian yang sama terjadi lagi dalam waktu lebih cepat yaitu hanya dalam waktu 22 hari. Pada tanggal 16 Juni 1998, sebuah mesin seharga 250 ribu dolar dapat dengan mudah memecahkan 25% kunci DES dalam waktu kira-kira 2,3 hari atau diperkirakan dapat memecahkan kunci DES dalam waktu 4,5 hari. Adanya kenyataan bahwa algoritma kriptografi DES tidak lagi aman, maka NIST mulai memikirkan sebuah algoritma kriptografi lain sebagai pengganti DES. Untuk itu diadakan kontes Internasional yang pesertanya adalah ahli kriptografi dari seluruh dunia. Kontes ini diadakan secara terbuka dimaksudkan agar algoritma yang baru bukan dari produk badan pemerintah yang dapat dengan sengaja menanamkan backdoor pada algoritmanya. Backdoor ini dicurigai membuat plaintext dapat langsung dibaca tanpa harus menggunakan kunci (Ariyus, 2008).

Pada tahun 1997 kontes pemilihan suatu standar algoritma kriptografi baru pengganti DES dimulai dan diikuti oleh 21 peserta dari seluruh dunia. Algoritma yang dipilih harus memenuhi beberapa kriteria, yaitu (Suriyan, 2006):

1. Faktor keamanan, yang berarti algoritma tersebut harus tidak mudah dipecahkan oleh cracker, bersifat acak atau tidak mudah


(30)

17

diterka keluarannya, dan tidak berdasar algoritma matematika tertentu.

2. Faktor biaya, dimana diperhitungkan kecepatan processing baik padahardwaredansoftware, dan besarnya memori yang dipakai. 3. Faktor karakteristik implementasi, yakni meliputi kesederhanaan

algoritma yang digunakan, kemudahan dan keamanan dalam implementasi di hardwaredansoftware.

Algoritma ini dinamakan Advanced Encryption Standard (AES). Setelah melewati tahap seleksi yang ketat, pada tahun 1999 hanya tinggal 5 calon yaitu algoritma Serpent (Ross Anderson-University of Cambridge, Eli Biham-Technion, Lars Knudsen-University of California San Diego), MARS (IBM Amerika), Twofish (Bruce Schneier, John Kelsey, dan Niels Ferguson-Counterpane Internet Security Inc, Doug Whiting-Hi/fn Inc, David Wagner-University of California Berkeley, Chris Hall-Princeton University), Rijndael (Dr. Vincent Rijmen-Katholieke Universiteit Leuven dan Dr. Joan Daemen-Proton World International), dan RC6 (RSA Amerika). Setahun kemudian pada tahun 2000, algoritma Rijndael terpilih sebagai algoritma kriptografi yang selain aman juga efisien dalam implementasinya dan dinobatkan sebagai AES. Nama Rijndael berasal dari gabungan nama penemunya (Suriyan, 2006).


(31)

18

2.4.2 Deskripsi Algoritma Rijndael

Algoritma Rijndael adalah algoritma yang beroperasi dalambyte, bukan dalambit. Algoritma ini mampu melakukan enkripsi terhadap plain text sebesar 16byteatau 128bit. Selain itu, algoritma ini juga menggunakan kunci sebanyak 16byte. Dengan kunci sepanjang 128bit, maka terdapat 2128 = 3,4 x 1038 kemungkinan kunci. Dengan demikian, waktu yang dibutuhkan untuk menebak kunci yang ada dengan komputer yang cepat pun membutuhkan 1018 tahun. Selain panjang kunci yang lumayan banyak, kunci internal pada algoritma ini juga selalu berubah pada setiap putarannya. Kunci internal ini disebut dengan round key. Pembangkitan round key diambil dari cipher key. Mirip dengan DES, algoritma Rijndael juga melakukan putaran enkripsi (enciphering) sebanyak 10 putaran namun bukan putaran yang merupakan jaringan Feistel. Enciphering pada Rijndael melibatkan empat proses yaitu (Panggabean, 2007):

1.Sub Bytes 2.Shift Rows 3.Mix Columns 4.Add Round Key

Secara umum, proses enkripsi dilakukan dengan initial round yaitu melakukan XOR antarastate awal yang masih berupaplain text dengan cipher key. Kemudian melakukan keempat proses di atas sebanyak 9


(32)

19

kali putaran, dan terakhir adalah final round yang melibatkan proses sub bytes, shift rows,danadd roundkey(Panggabean, 2007).

2.4.3 Proses Enkripsi

Proses enkripsi algoritma Rijndael dapat dilihat pada Gambar 2.3 (Ariyus, 2008):

Proses enkripsi ada 4 operasi transformasi yang terjadi, dan dijelaskan berikut ini (Ariyus, 2008):

2.4.3.1 Sub Bytes

Operasi ini merupakan suatu operasi substitusi tak linear yang beroperasi secara mandiri pada setiap byte dengan menggunakan kotak-S.


(33)

20

Sebagai contoh dapat dilihat pada Gambar 2.4:

2.4.3.2 Shift Rows

Transformasi Shift Rows melakukan pergeseran ke kiri secara wrapping pada 3 (tiga) baris terakhir dari array state. Jumlah pergesaran bergantung pada nilai baris r, baris r = 1 digeser sejauh 1 byte, baris r = 2 digeser sejauh 2byte, dan baris r = 3 digeser sejauh 3 byte. Baris r = 0 tidak digeser, yang ditunjukkan pada Gambar 2.5


(34)

21

.

Contoh operasi transformasi dapat dilihat pada Gambar 2.6.

2.4.3.3 Mix Columns

Operasi ini beroperasi pada state kolom, dengan memperlakukan setiap kolom sebagai poliomial. Kolom dianggap sebagai polynomial pada GF (28). Transformasi percampuran kolom dapat digambarkan dengan perkalian matriks.

Gambar 2.5 Operasi Transformasi ShiftRow


(35)

22

Operasi Mix Columns ditunjukkan pada Gambar 2.7 berikut.

Hasil dari perkalian matriks tersebut sebagai dapat dijabarkan sebagai berikut:

r0= {2.a0}+{3.a1}+{1.a2}+{1.a3}

r1= {1.a0}+{2.a1}+{3.a2}+{1.a3}

r2= {1.a0}+{1.a1}+{2.a2}+{3.a3}

r3= {3.a0}+{1.a1}+{1.a2}+{2.a3}

2.4.3.4 Add Roundkey

Pada proses Add Roundkeymaka 128 bithasil State akan di-XOR-kan dengan kunci ronde, yaitu kunci hasil dari proses Expand Key. Pada awal enkripsi, 128 bit plaintext akan di-XOR-kan dengan 128bit kunci yang asli. Kemudian 128 bit plaintextakan mengalami proses-prosesSub Byte, Shift Rows, dan MixColumns. Pada proses Add RoundKey, 128 bit yang sudah melalui ketiga proses tersebut akan di-XOR-kan dengan kunci ronde hasil Expand Key yang pertama. Hasil Add Roundkeyini adalahstatepada Ronde 1. State1 ini akan mengalami ketiga proses tersebut kembali. Pada Add


(36)

23

Roundkeyyang berikut, maka 128 bit yang sudah mengalami perubahan pada ketiga proses tersebut kembali akan di-XOR-kan dengan kunci konde hasil Expand Key kedua dan seterusnya sampai ronde 9. Pada ronde terakhir atau ronde 10, maka hanya tiga proses yang dilakukan yaitu Sub Bytes, Shift Rows,danAdd Roundkey.Hasilnya dari ronde 10 adalah State 10. Ini akan disalinkan ke array output sebagai ciphertext.

ProsesAdd Roundkeydapat dilihat pada Gambar 2.8.

2.4.4 Proses Dekripsi

Transformasi cipher dapat dibalikkan dan diimplementasikan dalam arah yang berlawanan untuk menghasilkan inverse cipher yang mudah dipahami untuk algoritma AES. Transformasi byte yang digunakan pada invers cipher adalah InvShiftRows,InvSubBytes, InvMixColumns,


(37)

24

dan AddRoundKey. Algoritma dekripsi dapat dilihat pada Gambar 2.9 (Wibowo, 2004).

2.4.4.1 Invers Shift Rows

Proses ini adalah proses invers dari Shift Rows pada enkripsi. Jika pada enkripsi dilakukan geser kiri maka pada dekripsi atau Inverse Shttf Rows maka yang dilakukan adalah geser kanan. Baris pertama tidak mengalami geser kanan, r = 0 . Baris selanjutnya mengalami geser kanan 1 byte, r = 1, baris r = 2 digeser 2byte, baris r = 3 digeser 3byte.


(38)

25

Proses inversSub Bytesdapat dilihat pada Gambar 2.10.

2.4.4.2 InversSub Bytes

Operasi invers Sub Bytes sama seperti operasi Sub Bytes. Namun yang digunakan bukan dengan Kotak-S tetapi menggunakan inverse Kotak-S. Berikut ini merupakan Gambar 2.11 tabel invers Kotak-S:

0 1 2 3 4 5 6 7 8 9 A B C D E F

0 52 9 6A D5 30 36 A5 38 BF 40 A3 9E 81 F3 D7 F8 1 7C E3 39 82 98 2F FF 87 34 8E 43 44 C4 DE E9 CB 2 54 7B 94 32 A6 C2 23 3D EE 4C 95 0B 42 FA C3 4E 3 8 2E A1 66 28 D9 24 B2 76 5B A2 49 6D 8B D1 25 4 72 F8 F6 64 86 68 98 16 D4 A4 5C CC 5D 65 B6 92 5 6C 70 48 50 FD ED B9 DA 5E 15 46 57 A7 8D 9D 84 6 90 D8 AB 0 8C BC D3 0A F7 E4 58 5 B8 B3 45 6 7 D0 2C 1E 8F CA 3F 0F 2 C1 AF BD 3 1 13 8A 6B 8 3A 91 11 41 4F 67 DC EA 97 F2 CF CE F0 B4 E6 73 9 96 AC 74 22 E7 AD 35 85 E2 F9 37 E8 1C 75 DF 6E A 47 F1 1A 71 1D 29 C5 89 6F B7 62 0E AA 18 BE 1B B FC 56 3E 4B C6 D2 79 20 9A DB C0 FE 78 CD 5A F4 C 1F DD A8 33 88 7 C7 31 B1 12 10 59 27 80 EC 5F D 60 51 7F A9 19 B5 4A 0D 2D E5 7A 9F 93 C9 9C EF E A0 E0 3B 4D AE 2A F5 B0 C8 EB BB 3C 83 53 99 61 F 17 2B 4 7E BA 77 D6 26 E1 69 14 63 55 21 0C 7D

Gambar 2.10 Proses Inverse Sub Bytes


(39)

26

2.4.4.3 InversMix Columns

Invers Mix Columns adalah invers dari proses Mix Columns pada enkripsi. Invers Mix Columns bekerja pada kolom-per-kolom dari State array, dan memperlakukan setiap kolom sebagai suatu polinomial pangkat 3. Polinomial dianggap ada pada GF (28 ) dikalikan dengan modulo x4 +1 dengan polinomial tertentu a-1 (x). Proses ini juga dapat digambarkan dengan perkalian matriks seperti pada Gambar 2.12 berikut ini:

Dari perkalian di atas di dapat hasil seperti berikut:

2.4.4.4 InversAdd Round Key

Transformasi Invers Add Round Keysama seperti transformasi pada Add Round Key. Ini dikarenakan pada transformasi ini

                                         c c c c c c c c s s s s E D B B E D D B E D B E s s s s , 3 , 2 , 1 , 0 ' , 3 ' , 2 ' , 1 ' , 0 0 09 0 0 0 0 09 0 0 0 0 09 09 0 0 0

Gambar 2.12 Proses Invers Mix Columns dengan Matriks

)

}

0

({

)

}

09

({

)

}

0

({

)

}

0

({

)

}

0

({

)

}

0

({

)

}

09

({

)

}

0

({

)

}

0

({

)

}

0

({

)

}

0

({

)

}

09

({

)

}

09

({

)

}

0

({

)

}

0

({

)

}

0

({

, 3 , 2 , 1 , ' , 3 , 3 , 2 , 1 , ' , 2 , 3 , 2 , 1 , ' , 1 , 3 , 2 , 1 , ' , 0 c c c c o c c c c c o c c c c c o c c c c c o c

s

E

s

s

D

s

B

s

s

B

s

E

s

s

D

s

s

D

s

B

s

E

s

s

s

s

D

s

B

s

E

s


(40)

27

hanya dilakukan operasi penambahan sederhana dengan menggunakan operasibitwiseXOR.

2.4.5 Ekspansi Kunci

Algoritma AES mengambil kunci cipher, K, dan melakukan rutin ekspansi kunci (key expansion) untuk membentuk key schedule. Ekspansi kunci menghasilkan total Nb(Nr+1) word. Algoritma ini membutuhkan set awal keyyang terdiri dari Nb word, dan setiap round Nr membutuhkan data kunci sebanyak Nb word. Hasil key schedule terdiri dari array 4 byte word linear yang dinotasikan dengan [wi].

SubWord adalah fungsi yang mengambil 4 byte word input dan mengaplikasikan S-Box ke tiap-tiap data 4 byte untuk menghasilkan word output(Wibowo, 2004).

Fungsi RotWord mengambil word [a0, a1, a2, a3] sebagai input,

melakukan permutasi siklik, dan mengembalikan word [a1, a2, a3, a0].

Rcon[i] terdiri dari nilai-nilai yang diberikan oleh [xi-1, {00}, {00},

{00}], dengan xi-1 sebagai pangkat dari x (x dinotasikan sebagai {02}

dalam field GF(28). Word ke Nk pertama pada ekspansi kunci berisi kunci cipher. Setiap word berikutnya, w[i], sama dengan XOR dari word sebelumnya, w[i-1] dan word Nk yang ada pada posisi sebelumnya, w[i-Nk]. Untuk word pada posisi yang merupakan kelipatan Nk, sebuah transformasi diaplikasikan pada w[i-1] sebelum


(41)

28

XOR, lalu dilanjutkan oleh XOR dengan konstanta round, Rcon[i]. Transformasi ini terdiri dari pergeseran siklik daribytedata dalam suatu word RotWord, lalu diikuti aplikasi dari lookup Tabel untuk semua 4 bytedata dariword SubWord. (Wibowo. 2004)

2.5 Java 2 Micro Edition(J2ME)

JAVA ME (JAVA Micro Edition) adalah salah satu jenis bahasa pemrograman JAVA yang diperuntukkan untuk pengembangan aplikasi java agar dapat berjalan pada perangkat seluler yang memiliki keterbatasan memori dan tampilan (Johanes, 2010). JAVA ME merupakan kombinasi yang terbentuk antara sekumpulan interface JAVA yang sering disebut dengan JAVA API (Application Programming Interface) dengan JVM (JAVA Virtual Machine), yang didesain khusus untuk mobile devices (Raharjo B, 2007). JAVA ME atau dikenal juga dengan nama J2ME, terdiri dari tiga buah bagian ,yaitu (Raharjo, 2007):

1. Konfigurasi

Merupakan bagian yang berisi JVM dan beberapa library kelas lainnya Terdapat dua konfigurasi yang disediakan yaitu CLDC dan CDC.

2. Profil

Merupakan perluasan dari konfigurasi, yang artinya terdapat juga kelas-kelas spesifik yang didefinisikan di dalam profil. Profil yang popular dalam penggunaannya adalah MIDP.


(42)

29

3. Paket-paket opsional

Merupakan paket-paket tambahan yang dibutuhkan saat deployment aplikasi.

J2ME adalah bagian dari J2SE, karena itu tidak semua library yang ada pada J2SE dapat digunakan pada J2ME. Namun J2ME memiliki beberapalibrarykhusus yang tidak dimiliki J2SE. Arsitektur J2ME dapat dilihat pada Gambar 2.4 berikut ini :

2.5.1ConfigurationdanProfile

J2ME memperkenalkan dua konsep arsitektur yaitu configurationdan profile. Configuration menyusun seperangkat API yang merupakan karakteristik runtime dari sebuah lingkungan J2ME tertentu. Configuration menentukan Core Java Classes, Java Programming Langugae Feature,danVirtual Machine Feature.J2ME menyediakan

Profile

Configuration Kumpulan Library

JVM

Sistem Operasi


(43)

30

dua configuration yaitu CLDC ( Connected Limited Device Configuration) dan CDC (Connected Device Configuration). CLDC biasanya digunakan pada perangkat kecil seperti pada telepon seluler, pager, dan PDA. CDC digunakan pada perangkat yang lebih besar seperti internet TV, Nokia Comunicator, dan car TV (Shalahuddin, 2010).

MIDP atau Mobile Information Device Profile adalah spesifikasi untuk sebuah profil J2ME. Pada saat ini terdapat MIDP 1.0 dan MIDP 2.0. Fitur tambahan pada MIDP 1.0 dibandingkan dengan MIDP 2.0 adalah API untuk memainkan multimedia. Pada MIDP 2.0 terdapat dukungantone, tone sequence, danfileWAV (Shalahuddin, 2010)

2.5.2 MIDlet

Aplikasi yang ditulis untuk MIDP disebut MIDlet. MIDlet memiliki beberapa method yang harus ada yaitu constructor(), protected void startApp(), throws MIDletStateChangeException, protected void pauseApp(), protected void destroyApp(Boolean unconditional) throws MIDletStateChangeException. Ketika device menerima pesan untuk menjalankan MIDlet maka MIdlet diinstansiasi dan method startApp() dipanggil. Pada saat pengguna keluar dari MIDlet maka method destroyApp() dipanggil. Method ini melakukan terminasi MIDlet serta membersihkan semua resource yang mengacu pada MIDlet (Shalahuddin, 2010).


(44)

31

2.5.3 Java Messaging

J2ME menyediakan antarmuka (interface) untuk messaging pada paket javax.wireless.messaging. Sebuah message memiliki 2 bagian yaitu bagian alamat (address part) dan bagian data (data part). Message direpresentasikan dengan sebuah kelas yang mengimplementasikan antarmuka pada paket javax.wireless.messaging. Antarmuka dasar untuk messaging yang dapat dalam paket tersebut adalah antarmuka message. Untuk bagian data pada message, API messaging ini mendukung dua jenis data yaitu text message dan binary message. Kedua jenis pesan ini direpresentasikan oleh subantarmuka dari antarmuka message yaitu TextMessage danBinaryMessage.

Untuk pengiriman dan penerimaan pesan, J2ME menyediakan antarmuka MessageConnection. Antarmuka ini menyediakan method dasar untuk melakukan pengiriman dan penerimaan pesan. Instansiasi dari MessageConnection diperoleh dengan memanggil method Connector.Open(). Setelah objek MessageConnection terbentuk, pengiriman pesan dilakukan oleh objek tersebut dengan memanggil method send()(Shalahuddin, 2008).


(45)

BAB III

METODE PENELITIAN

3.1 Waktu dan Tempat Penelitian

Penelitian ini dilakukan di Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung. Waktu penelitian dilakukan selama semester ganjil dan semester genap tahun ajaran 2011-2012

3.2 Tahapan Penelitian

Dalam penelitian ini dilakukan tahapan penelitian yaitu, menentukan rumusan masalah dan batasan masalah, study literature, pengkodean aplikasi yang dibangun, dan pengujian aplikasi.

3.3 Algoritma Penelitian

Pada penelitian ini digunakan dua metode kriptografi, yaitu Algoritma Kriptografi RC4 dan Rijndael.


(46)

3.3.1 Algoritma Kriptografi RC4 Tahapan proses Algoritma RC4:

1. Melakukan inisialisasi larik S: S[0]= 0, …, S[255] = 255. 2. Melakukanpaddingkunci jika kunci kurang dari 256 karakter. 3. Melakukan permutasi setiap nilai-nilai dalam larik S.

4. Membangkitkan aliran kunci (keystream) dan lakukan enkripsi dengan operasi XOR antara aliran kunci dan plainteks untuk menghasilkan cipherteks.

5. Proses dekripsi dilakukan dengan menggunakan kunci aliran yang sama dengan yang digunakan saat proses enkripsi. (Safrina, 2006)

3.3.2 Algoritma Kriptografi Rijndael Tahapan proses Algoritma Rijndael:

1. Siapkanarrayberukuran 4x4 bernama Kunci 2. Siapkanarrayberukuran 4x4 bernamaState.

3. Cetak : “Masukkan 16 bilangan heksadesimal sebagai kunci : “

4. Simpan enam belas nilai tersebut sebagai nilai dari masing-masing elemen array Kunci.

5. Cetak : “Masukkan teks yang akan dienkripsi : “

6. Konversikan teks tersebut ke dalam bentukbitmenggunakan kode ASCII. 7. Konversikan kode ASCII tersebut ke dalam heksadesimal.

8. Kelompokkanbit-bitteks tersebut menjadi 128bittiap bagiannya. 9. Ambil 128bitpertama untuk diproses.


(47)

✁ ✂

11. Masukkan tiap-tiap bagian teks tersebut ke dalam tiap-tiap sel pada matriks berukuran 4x4.

12. Konversikanbitke dalam heksadesimal. 13.Lakukan langkahAddRoundKey.

14.Lakukan langkahSubBytes. 15.Lakukan langkahShiftRows. 16.Lakukan langkahMixColumns. 17.Lakukan langkahAddRoundKey 18.Ulangi langkah 13-16 sebanyak 9 kali.

19.Jika langkah 17 sudah dilakukan, maka lakukan langkahSubByte. 20.Lakukan langkahShiftRows.

21.Lakukan langkahAddRoundKey. 22.Selesai.


(48)

65

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan penelitian yang telah dilakukan, maka didapatkan kesimpulan sebagai berikut:

1. Algoritma RC4 dan Rijndael dapat diimplementasikan pada aplikasi SMS dengan Bahasa Pemrograman JAVA ME.

2. Aplikasi SMS dengan menggunakan algoritma RC4 dan Rijndael dapat dijalankan pada telepon seluler berbasis JAVA.

3. Waktu enkripsi pesan pada Algoritma RC4 lebih cepat dibandingkan dengan Algoritma Rijndael.

4. Waktu dekripsi pesan juga lebih cepat menggunakan Algoritma RC4 dibandingkan dengan Rijndael.


(49)

65

5.2 Saran

Berdasarkan kesimpulan tersebut, maka dapat diberikan saran yang dapat digunakan untuk pengembangan sistem di masa yang akan datang, yaitu:

1. Aplikasi yang dibangun masih perlu dikembangkan lagi karena masih ada yang tidak sesuai hasil keluarannya.

2. Penelitian selanjutnya dapat membandingan memori yang terpakai pada telepon seluler.

3. Pengembangan penelitian juga dapat menggunakan algoritma lain yang sama-samastream chipperataupunblock cipher.


(1)

31

2.5.3 Java Messaging

J2ME menyediakan antarmuka (interface) untuk messaging pada paket javax.wireless.messaging. Sebuah message memiliki 2 bagian yaitu bagian alamat (address part) dan bagian data (data part). Message direpresentasikan dengan sebuah kelas yang

mengimplementasikan antarmuka pada paket

javax.wireless.messaging. Antarmuka dasar untuk messaging yang dapat dalam paket tersebut adalah antarmuka message. Untuk bagian data pada message, API messaging ini mendukung dua jenis data yaitu text message dan binary message. Kedua jenis pesan ini direpresentasikan oleh subantarmuka dari antarmuka message yaitu TextMessage danBinaryMessage.

Untuk pengiriman dan penerimaan pesan, J2ME menyediakan antarmuka MessageConnection. Antarmuka ini menyediakan method dasar untuk melakukan pengiriman dan penerimaan pesan. Instansiasi dari MessageConnection diperoleh dengan memanggil method Connector.Open(). Setelah objek MessageConnection terbentuk, pengiriman pesan dilakukan oleh objek tersebut dengan memanggil method send()(Shalahuddin, 2008).


(2)

BAB III

METODE PENELITIAN

3.1 Waktu dan Tempat Penelitian

Penelitian ini dilakukan di Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung. Waktu penelitian dilakukan selama semester ganjil dan semester genap tahun ajaran 2011-2012

3.2 Tahapan Penelitian

Dalam penelitian ini dilakukan tahapan penelitian yaitu, menentukan rumusan masalah dan batasan masalah, study literature, pengkodean aplikasi yang dibangun, dan pengujian aplikasi.

3.3 Algoritma Penelitian

Pada penelitian ini digunakan dua metode kriptografi, yaitu Algoritma Kriptografi RC4 dan Rijndael.


(3)

3.3.1 Algoritma Kriptografi RC4 Tahapan proses Algoritma RC4:

1. Melakukan inisialisasi larik S: S[0]= 0, …, S[255] = 255. 2. Melakukanpaddingkunci jika kunci kurang dari 256 karakter. 3. Melakukan permutasi setiap nilai-nilai dalam larik S.

4. Membangkitkan aliran kunci (keystream) dan lakukan enkripsi dengan operasi XOR antara aliran kunci dan plainteks untuk menghasilkan cipherteks.

5. Proses dekripsi dilakukan dengan menggunakan kunci aliran yang sama dengan yang digunakan saat proses enkripsi. (Safrina, 2006)

3.3.2 Algoritma Kriptografi Rijndael Tahapan proses Algoritma Rijndael:

1. Siapkanarrayberukuran 4x4 bernama Kunci 2. Siapkanarrayberukuran 4x4 bernamaState.

3. Cetak : “Masukkan 16 bilangan heksadesimal sebagai kunci : “

4. Simpan enam belas nilai tersebut sebagai nilai dari masing-masing elemen array Kunci.

5. Cetak : “Masukkan teks yang akan dienkripsi : “

6. Konversikan teks tersebut ke dalam bentukbitmenggunakan kode ASCII. 7. Konversikan kode ASCII tersebut ke dalam heksadesimal.

8. Kelompokkanbit-bitteks tersebut menjadi 128bittiap bagiannya. 9. Ambil 128bitpertama untuk diproses.


(4)

✁ ✂

11. Masukkan tiap-tiap bagian teks tersebut ke dalam tiap-tiap sel pada matriks berukuran 4x4.

12. Konversikanbitke dalam heksadesimal. 13.Lakukan langkahAddRoundKey.

14.Lakukan langkahSubBytes. 15.Lakukan langkahShiftRows. 16.Lakukan langkahMixColumns. 17.Lakukan langkahAddRoundKey 18.Ulangi langkah 13-16 sebanyak 9 kali.

19.Jika langkah 17 sudah dilakukan, maka lakukan langkahSubByte. 20.Lakukan langkahShiftRows.

21.Lakukan langkahAddRoundKey. 22.Selesai.


(5)

65

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan penelitian yang telah dilakukan, maka didapatkan kesimpulan sebagai berikut:

1. Algoritma RC4 dan Rijndael dapat diimplementasikan pada aplikasi SMS dengan Bahasa Pemrograman JAVA ME.

2. Aplikasi SMS dengan menggunakan algoritma RC4 dan Rijndael dapat dijalankan pada telepon seluler berbasis JAVA.

3. Waktu enkripsi pesan pada Algoritma RC4 lebih cepat dibandingkan dengan Algoritma Rijndael.

4. Waktu dekripsi pesan juga lebih cepat menggunakan Algoritma RC4 dibandingkan dengan Rijndael.


(6)

65

5.2 Saran

Berdasarkan kesimpulan tersebut, maka dapat diberikan saran yang dapat digunakan untuk pengembangan sistem di masa yang akan datang, yaitu:

1. Aplikasi yang dibangun masih perlu dikembangkan lagi karena masih ada yang tidak sesuai hasil keluarannya.

2. Penelitian selanjutnya dapat membandingan memori yang terpakai pada telepon seluler.

3. Pengembangan penelitian juga dapat menggunakan algoritma lain yang sama-samastream chipperataupunblock cipher.