Vous êtes sur la page 1sur 18

Algoritma RC6

sumber makalah IF :
Sejarah
Sejarah mencatat bahwa dalam usaha mencari standar baru ini, 5 algoritma telah diikut
sertakan dalam nominasi AES. Pada akhirnya, algoritma Rijndael yang ditemukan oleh
Vincent Rijmen dan Joan Daemen dinobatkan sebagai standar AES.
Termasuk sebagai salah satu nominasi AES adalah algoritma RC6. RC6 dikembangkan oleh
RSA Labs dengan berdasarkan kepada algoritma RC5. Walaupun RC5 sendiri belum pernah
dikenai serangan, namun RSA Labs secara khusus sengaja membangun algoritma RC6 untuk
dinominasikan sebagai AES.
Algoritma yang mulai diperkenalkan sekitar tahun 1998 ini adalah hasil pengembangan dari
algoritmaRC5. Algoritma ini, sama seperti RC1 sampai RC5,dikembangkan oleh
Laboratorium RSA di San Mateo,USA. Algoritma ini lebih dispesifikasikan dengansebutan
RC6-w/r/b dengan w adalah panjang ukurankata dalam bit, r adalah jumlah putaran (rounds)
dariproses enkripsi dengan r tidak negatif, dan b adalahpanjang kunci enkripsi dalam bytes.
Putaran yangdimaksudkan disini adalah sama dengan pada DES.Satu kali putaran sama
dengan satu kali jaringanFeistel. Agar sesuai dengan persyaratan dari AES,maka RC6
menggunakan ukuran w = 32 dan r = 20 dengan panjang kunci mulai dari 16, 24, sampai
32byte.
Pengertian RC6
Algoritma ini lebih dispesifikasikan dengan sebutan RC6-w/r/b dengan w adalah panjang
ukuran kata dalam bit, r adalah jumlah putaran (rounds) dari proses enkripsi dengan r tidak
negatif, dan b adalah panjang kunci enkripsi dalam bytes. Putaran yang dimaksudkan disini
adalah sama dengan pada DES.Satu kali putaran sama dengan satu kali jaringan Feistel. Agar
sesuai dengan persyaratan dari AES,maka RC6 menggunakan ukuran w = 32 dan r = 20
dengan panjang kunci mulai dari 16, 24, sampai 32 byte.
RC6 beroperasi pada empat unit kata dengan masing-masing sepanjang w bit. Operasi yang
dilakukanantara lain sebagai berikut.
a + b Penambahan modulo 2

a b Pengurangan modulo 2
a b Exclusive-or untuk w bit kata
a b Multiplikasi modulo 2w
a b Rotasi untuk kata a ke kiri sebanyak jumlah yang diberikan least significant log w bits
dari b
a b Rotasi untuk kata a ke kanan sebanyak jumlah yang diberikan least significant log w
bits dari b
Dengan operasi logaritma berbasis dua
Key Scheduling pada RC6
RC6 juga melakukan proses enkripsi dengan menggunakan kunci yang berbeda pada
setiapputarannya. Pembentukan kunci pada RC6 tidak terlalu berbeda dengan pembentukan
kunci pada RC5.
Secara garis besar, pembentukan kunci dilakukan dengan mengambil dari b bytes kunci yang
dimasukkan oleh user dimana 0 b 255. Sejumlah byte nol ditambahkan secukupnya untuk
panjang kunci sama dengan jumlah bulat kata yang tidak nol.Kunci ini kemudian dimasukkan
ke dalam arraysepanjang c dimana tiap array diisi dengan satu byte dari kunci. Dari kunci ini,
diambil sejumlah 2r + 4 kata dengan panjang w bits tiap kata dan disimpan dalam array
S[0,...,2r + 3].
Operasi enkripsi dan dekripsi pada RC6
RC6 beroperasi menggunakan empat register A, B, C, D sepanjang w bit

yang berisi

masukan awal dari plain text dan bisa juga hasil akhir cipher text pada akhir proses enkripsi.
Byte pertama dari plain text dimasukkan ke dalam least significant byte A dan byte terakhir
dari plain text dimasukkan ke dalam most significant byte D.
Proses berikutnya adalah hasil enkripsi atau dekripsi dengan menggunakan operasi pada
jaringan Feistel.

Jaringan Feistel pada gambar 2 adalah proses yang dilakukan selama satu kali putaran
enkripsi. Dalam RC6, proses enkripsi tersebut akan diulang kembali sebanyak r kali putaran
sesuai masukan daripengguna.
Untuk proses dekripsi, tinggal melakukan urutan pada jaringan Feistel tersebut dari bawah ke
atas.
PERBANDINGAN DAN PEMBAHASAN

Secara umum, RC6 adalah algoritma dengan deskripsi yang mudah diingat. Dan dengan
adanya fungsi tambahan f(x) = x(2x + 1) membuat serangan cryptanalitic attack pada RC5
menjadi tidak berarti.Ditambah lagi dengan kemampuan rotasi RC6 yangbersifat datadependent sehingga menyebabkan keamanannya semakin meningkat.[4]
Sementara Rinjdael memiliki elemen algoritma yangdapat dideskripsikan sebagai
perhitungan matematikasederhana termasuk S-box, bukan sebuah elemen yang menggunakan
operasi acak. Serangan yang mungkin terjadi pada Rinjdael adalah square attack.

Pada makalah ini, perbandingan akan dilakukan pada tiga sektor yang menjadi kriteria
standar pada AES.Untuk performansi akan dilakukan perbandingan pada komputer 32 bit dan
smart card.
Untuk urusan bahasa pemrograman, Rijndael maupunRC6 dapat diimplementasikan baik
pada bahasa Assembly, C maupun Java tanpa mengalami
Flexibilitas
Untuk urusan bahasa pemrograman, Rijndael maupun RC6 dapat diimplementasikan baik
pada bahasa Assembly, C maupun Java tanpa mengalami perbedaan performansi yang berarti.
Implementasipada ketiga bahasa ini, paling jauh, hanya mengalamiperubahan performansi
hingga 2:1. Namun kebanyakan hanya hingga 1:1 meskipun pada akhirnyaada begitu banyak
varian kode yang dimunculkan. Selain itu, kedua algoritma ini juga dapatdiimplementasikan
untuk keamanan smart card.
Fleksibilitas Rijndael
Sebagai varian dari Square Cipher, Rijndael memiliki kemampuan untuk bekerja sangat baik
pada platform apapun. Ditambah dengan operasi yang menggunakan table lookup dan operasi
XOR membuat prosesnya menjadi tidak terlalu rumit. Walaupun proses enkripsi dan
dekripsinya tidak terlalu identik, namun struktur umum dan performanya tidak dapat secara
langsung
dibedakan.
Rijndael, memiliki keuntungan yang tinggi dalam smart card dikarenakan penggunaan ROM
yang
cukup kecil. Namun untuk penggunaan smart card,proses dekripsi malah membuat ukuran
kodenya
menjadi bertambah dan kecepatan dekripsi lebihlambat dari pada kecepatan enkripsi,
mencapai 2 kali lipat.
Fleksibilitas RC6
Kode RC6 yang sangat pendek merupakan sebuah kemampuan tersendiri dari algoritma ini,
dan membuat algoritma ini sangat sepadan bila diimplementasikan ke dalam lingkungan

smart card. Ditambah lagi karena RC6 tidak melakukan proses pembuat sub key atau yang
kita sebut key scheduling pada saat proses enkripsi.
Namun untuk platform yang lain, RC6 tidak terlalu banyak memberikan hasil yang sebaik
platform
pentium. Bahkan, RC6 berjalan lebih lambat hingga 3 kali lipat pada platform pentium pro.

Performansi
Secara umum, performansi dilihat dengan menghitunglama pembuatan key serta proses
enkripsinya.Perbandingan dilakukan dengan menggunakan panjang kunci yang sama yaitu
128 bit pada prosesor pentium.

Pada Kunci Enkripsi


Algoritma RC6 tidak tergantung pada panjang kunci. Sehingga, waktu yang dibutuhkan
untuk membangun sebuah kunci adalah sama, meskipun panjangkuncinya adalah 128, 192,
atau 256 bit. Sehingga proses enkripsi dan dekripsi tetap konstan. Sedangkan untuk Rijndael,
melakukan enkripsi dan dekripsi lebih lama untuk kunci yang lebih panjang, dan
membutuhkan waktu yang lama untuk membangun kunci. Sehingga, bila panjang kunci 128
bit membutuhkan 10 putaran, untuk kunci 192 bit akan membutuhkan waktu lebih lama 20%,
dan kunci 256 bit membutuhkan waktu lebih lama 40%.

Pengukuran 16 byte adalah kecepatan algoritma biladijadikan sebagai fungsi hash. Dari tabel
1 dapat dilihat bahwa Rijndael sangat baik untuk enkripsi datadengan blok yang kecil.
Namun algoritma ini lebihcepat kembali ke kecepatan asalnya pada peningkatan selanjutnya.
Minimal Secure Variant
Minimal secure variant, sebuah konsep yang diperkenalkan oleh Biham, adalah cara
perbandingan dengan melihat jumlah putaran minimal yang masih aman terhadap serangan,
kemudian ditambahkan lagi dua putaran.

Pada Smart Card


Smart Card yang digunakan untuk pengujian adalah T6N55 dari Toshiba dengan Z80
mikroprosesor dan koprosesor, 48 KB ROM, 1 KB RAM, dan internal clock frequency 5
MHz.

Keamanan
Keamanan adalah salah satu faktor penting dalam dunia enkripsi. Melihat RC6 sebagai
algoritma yang sedikit lebih sederhana dibandingkan dengan Rijndael, mengakibatkan
keduanya membutuhkan proses kriptanalisis yang sangat cermat. Namun NIST mengatakan
bahwa keduanya memiliki batas keamanan yang sangat cukup.
Keamanan Rijndael
Untuk Rijndael, tipe serangan square attacks cukupmenjadi dikenal sebagai serangan terbaik
terhadap Rijndael. Square attacks adalah serangan yang memanfaatkan struktur orientasi
byte. Algoritma ini bekerja dengan baik pada square cipher yang bekerja dalam 6 putaran.
Untuk Rijndael dengan kunci sepanjang 128 bit, maka serangan ini lebih cepat dari pada
exhaustive search hingga 6 kali iterasi Rijndael.
Namun untuk AES, jelas bahwa serangan ini tidak mungkin dipraktekkan karena jumlah
putaran pada
Rijndael, mengakibatkan batas keamanan untuk algoritma ini menjadi lebih besar.

Keamanan RC6
Serangan paling sederhana dan dapat menghasilkan pada RC6 diperkirakan adalah exhaustive
search untuk kunci RC6. Serangan ini dapat digunakan pada block cipher apapun. Dengan
RC6, operasi yang dibutuhkan untuk mencari key atau expanded key array adalah antara 2 8
hingga 21408 operasi. Namun dapat digunakan meet in the middle attack sehingga dibutuhkan
2704 komputasi. Untuk ukuran panjangkunci yang bersesuaian dengan AES, serangan ini jelas
tidak mungkin.
KESIMPULAN

Dari hasil seluruh pembahasan di atas, dapat ditarik kesimpulan sebagai berikut.
1. Kedua algoritma Rijndael dan RC6 termasuk algoritma block cipher.
2. RC6 dikembangkan dari RC5 dengan menambahkan 4 buah register.
3. Rijndael bekerja dalam ukuran byte dan tergolong dalam square cipher.
4. Rijndael memiliki fleksibilitas yang tinggi karena dapat diterapkan pada platform yang
beragam
sementara RC6 kurang memiliki kebebasan ini.
5. Kode untuk RC6 lebih sederhana dibandingkan dengan Rijndael, dan juga RC6 tidak
menghabiskan penggunaan memori yang banyak bila diterapkan ke dalam smart card.
6. Secara umum, performa Rijndael pada smart card masih melebihi performa RC6.
7. Penggunaan lookup table pada Rijndael cukup menjadi kelemahan dalam ukuran kode.
8. RC6 memiliki kelebihan dalam bidang data dependent dalam enkripsinya dibandingkan
Rijndael.
9. Dalam proses enkripsi, keduanya menggunakan key yang berbeda untuk setiap putaran,
namun Rijndael membangkitkan key bersamaan dengan proses enkripsi, sementara RC6 tidak
melakukanpembangkitan key.
10. Untuk lingkungan implementasi 8 bit dan hardware, Rijndael jauh lebih unggul
dibandingkan RC6 pada performansinya. Namuntidak berarti RC6 tidak mampu
mengeluarkanperforma yang baik.
11. Untuk implementasi pada bahasa C maupun assembly, secara umum RC6 menggungguli
Rijndael.
Namun perbedaan performansi dipengaruhi oleh banyak faktor juga. Sebagai contoh, RC6
tidak memiliki performa sebaik Rijndael pada prosesor pentium 32 bit.
12. Untuk urusan keamanan, kedua algoritma ini masih bekerja dalam performa yang sangat
baik.
,terlebih karena jumlah putaran semakin mempersulit proses kriptanalisis.

13. Melihat kelebihan, kekurangan, dan kemiripan RC6 dibandingkan dengan Rijndael, maka
dapat ditarik kesimpulan bahwa RC6 juga layak untuk dipertimbangkan bila ingin melakukan
enkripsi pada platform tertentu.

sumber : implementasi algoritma rc6 untuk enkripsi citrapada mms dengan menggunakan
j2me
2.2. KRIPTOGRAFI
2.2.1 Pengertian Kriptografi
Kriptografi (cryptography) berasal dari bahasa Yunani yaitu cryptos artinya
rahasia (secret) dan graphein artinya tulisan (writing).
Jadi kriptografi berarti tulisan rahasia (secret writing). Secara istilah kriptografi didefinisikan
sebagai ilmu sekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang
mempunyai arti atau nilai, dengan cara menyamarkannya (mengacak) menjadi bentuk yang
tidak dapat dimengerti menggunakan suatu algoritma tertentu.

Suatu pesan yang akan

dirahasiakan atau disandikan dalam ilmu kriptografi disebut plaintext, sedangkan pesan yang
telah disandikan sehingga tidak memiliki nilai dan arti lagi dengan tujuan agar pesan tidak
dapat dibaca oleh pihak yang tidak berhak disebut chipertext. Dalam ilmu kriptografi juga
terdapat istilah enkripsi dan dekripsi. Enkripsi merupakan proses menyandikan plaintext
menjadi

ciphertext

dengan

menggunakan

algoritma

tertentu.

Sedangkan

proses

mengembalikan chipertext menjadi plaintext disebut sebagai Dekripsi. Berikut ini skema
umum sebuah penyandian dalam kriptografi :

2.2.2 Algoritma Kriptografi

Perkembangan algoritma kriptografi dapat kita bagi menjadi dua, yaitu:


1
2
3
www.informatika.org/rinaldibuku pengolahan citra/buku e-book.html
Ariyus, Dony.2008. Pengantar Ilmu KRIPTOGRAFI.Yogyakarta : ANDI hal.13
Kurniawan, Yusuf, Ir. 2004. Kriptografi Keamanan Internet dan Jaringan Komunikasi.
Bandung
: Informatika Bandung.
3

1. Kriptografi Klasik
Pada algoritma klasik, diterapkan teknik enkripsi konvensional (simetris).Algoritma ini
merupakan algoritma kriptografi yang biasa digunakan orang sejak berabad-abad yang lalu.
2. Kriptografi Modern
Kriptografi modern lebih menitikberatkan pada kerahasiaan kunci yang
digunakan pada algoritma tersebut (oleh pemakainya) sehingga algoritma
tersebut dapat saja disebarkan tanpa takut kehilangan kerahasiaan bagi para
pemakainya.
Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan
menjadi :
1. Algoritma Simetrik (symmetric algorithm) adalah suatu algoritma yang
menggunakan
kunci enkripsi sama dengan kunci dekripsi sehingga algoritma ini disebut juga
sebagai single-key algorithm.Beberapa algoritma kriptografi simetrik antara lain DES,
Blowfish, IDEA, RC4, RC5, RC6, AES atau Rijndael, Serpent dan Twofish.
2. Algoritma Asimetrik (asymmetric algorithm) adalah suatu algoritma yang
menggunakan kunci enkripsi tidak sama dengan kunci dekripsi. Algoritma ini
menggunakan dua kunci yakni kunci publik (public key) dan kunci privat
(private key). Beberapa algoritma kunci publik antara lain adalah RSA, Rabin
RC6 Block Cipher

RC6 merupakan algoritma yang merupakan keturunan dari RC5 yang juga
merupakan kandidat AES (Advanced Encryption Standard).Pada mulanya, perancangan
RC6 diawali ketika RC5 dianggap dapat dijadikan kandidat untuk mengikuti kompetisi
pemilihan AES.Modifikasi kemudian dibuat untuk meningkatkan keamanan dan performa
dan juga untuk dapat memenuhi persyaratan AES.
RC6 dirancang untuk menghilangkan segala ketidakamanan yang ditemukan pada
RC5, karena analisis pada RC5 menunjukkan bahwa ternyata jumlah rotasi yang terjadi
pada RC5 tidak sepenuhnya bergantung pada data yang terdapat dalam blok. Selain itu,
serangan kriptanalisis diferensial juga ternyata dapat menembus keamanan yang
ditawarkan RC5.
RC6 juga dirancang untuk memenuhi persyaratan AES yang diantaranya adalah
kemampuan untuk beroperasi pada mode blok 128 bit. Jika besar blok 128 bit langsung
dipaksakan untuk diimplementasikan dengan algoritma RC5, maka akan dibutuhkan
register kerja 64 bit. Spesifikasi arsitektur dan bahasa yang menjadi tempat implementasi
algoritma yang ditentukan oleh AES belum mendukung pengoperasian 64 bit yang
efisien. Oleh karena itu, daripada menggunakan 2 register 64 bit seperti pada RC5, RC6
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.
RC6 seperti juga RC5 mengeksploitasi penggunaan operasi-operasi primitif yang
diimplementasikan secara efisien dalam prosesor-prosesor modern.RC6 juga selain
menggunakan ketiga operasi primitif yang digunakan dalam RC5, juga menggunakan
operasi perkalian 32-bit yang telah diimplementasikan secara efisien dalam prosesor
modern saat ini.Primitif operasi perkalian ini sangat efektif dalam menghasilkan efek
diffusion atau penyebaran yang tentu saja mengakibatkan RC6 lebih aman daripada
RC5. Operasi perkalian ini digunakan untuk menghitung jumlah bit yang dirotasi sehingga
konsep data-dependent rotations dapat dengan lebih sempurna diimplementasikan.

2.4. Multimedia Messaging Service (MMS)


MMS merupakan perkembangan dari teknologi messaging yang telah ada sebelumnya yaitu
Short Message Service (SMS).Lain halnya dengan SMS yang hanya merupakan pesan teks
statis, MMS berupa informasi dinamis, kaya format dan interaktif.
Pesan MMS berupa slide show yang dapat mengandung teks, gambar, audio, video, link
menuju content lain secara interaktif dengan demikian user dapat mengontrol aliran slide
show tersebut.
2.5. REKAYASA PERANGKAT LUNAK
Rekayasa Perangkat Lunak adalah disiplin ilmu yang membahas semua aspek produksi
perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pada pemeliharaan sistem
setelah digunakan. Sedangkan proses perangkat lunak adalahserangkaian kegiatan dan hasil
hasil relevannya yang menghasilkan perangkat lunak.Kegiatan ini sebagian besar dilakukan
oleh perekayasa perangkat lunak.
2.5.1. Proses Dasar Perangkat Lunak
Ada empat kegiatan proses dasar yang umum bagi seluruh kegiatan proses dasar perangkat
lunak. Kegiatan kegiatan ini adalah
a. Spesifikasi perangkat lunak.

Fungsionalitas perangkat lunak dan batasan kemampuan operasinya


harus didefinisikan.
b. Pengembangan perangkat lunak.Perangkat lunak yang memenuhi spesifikasi tersebut harus
diproduksi.
c. Validasi perangkat lunak.
Perangkat lunak harus divalidasi untuk menjamin bahwa perangkat lunak melakukan apa
yang diinginkan oleh pelanggan.
d. Evolusi perangkat lunak.
Perangkat lunak harus berkembang untuk memenuhi kebutuhan pelanggan yang berubah
ubah.
Secara umum, perekayasa perangkat lunak memakai pendekatan yang sistematis dan
terorganisir terhadap pekerjaan mereka karena caraini seringkali paling efektif untuk
menghasilkan perangkat lunak berkualitas tinggi.
2.5.2. Rekayasa Perangkat Lunak Berorientasi Obyek
Berorientasi obyek atau object oriented merupakan paradigma baru dalam rekayasa perangkat
lunak yang memandang sistem sebagai kumpulan obyek obyek diskrit yang saling
berinteraksi. Yang dimaksud berorientasi obyek adalah mengorganisasikan perangkat lunak
sebagai kumpulan obyek obyek diskrit yang saling bekerja sama antara informasi atau
struktur data dan perilaku (behaviour) yang mengaturnya.
2.5.3. Unified Modelling Language
Unified Modeling Language (UML) adalah standar dunia yang dibuat oleh Object
Management Group (OMG), sebuah badan yang bertugas mengeluarkan standar-standassr
teknologi object-oriented dan software component. Secara resmi bahasa UML dimulai pada
bulan oktober 1994, ketika Rumbaugh bergabung Booch untuk membuat sebuah proyek
pendekatan metoda yang uniform/seragam dari masing-masing metoda mereka.
UML sebagai sebuah bahasa yang memberikan vocabulary dan. tatanan penulisan kata-kata
dalam MS Word untuk kegunaan komunikasi.Sebuah bahasa model adalah sebuah bahasa
yang mempunyai vocabulary dan konsep tatanan / aturan penulisan serta secara fisik
mempresentasikan dari sebuah sistem. Seperti halnya UML adalah sebuah bahasa standard
untuk pengembangan sebuah software yang dapat menyampaikan bagaimana membuat dan
membentuk modelmodel,
tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan
salah satu proses implementasi pengembangan software.

JAVA
Java merupakan bahasa pemprograman yang dikembangkan dengan menggunakan bahasa C,
oleh James Gosling dan Patrick Naughton dalam suatu projek dari Sun Microsystem pada
tahun 1991.Java merupakan bahasa pemprograman multiplatform, sehingga banyak segmen
yang memakainya. Bahasa Java meliputi pemprograman desktop, database, mobile, dan lain
lain.

3.2. State Diagram Proses Enkripsi


Proses enkripsi merupakan proses untuk mengubah citra asli ke dalam citra cipher yang
tidak bisa dibaca dengan mudah oleh orang yang tidak berwenang. Proses enkripsi citra pada
aplikasi CryptRC6 melibatkan beberapa proses diantaranya meliputi proses login aplikasi,
proses memilih citra yang akan dikirimkan, proses memasukkan kunci untuk mengenkripsi
dan selanjutnya mengirimkan citra yang sudah dalam bentuk citra cipher tersebut. Berikut
adalah diagram state untuk proses enkripsi :

3.3. State Diagram Proses Dekripsi


Proses dekripsi merupakan proses untuk mengubah citra cipher ke bentuk citra asli, sehingga
dapat dilihat oleh orang yang berwenang, dengan terlebih dahulu memasukkan kunci dekripsi
yang sesuai. Pada RC6 dan algoritma kriptografi simetrik lainnya, kunci untuk dekripsi sama
dengan kunci untuk enkripsi. Proses dekripsi citra pada aplikasi CryptRC6 melibatkan
beberapa proses diantaranya meliputi proses login aplikasi, proses memilih menunggu
pengiriman citra, proses memasukkan kunci untuk mendekripsi dan selanjutnya menyimpan
citra yang sudah dalam bentuk citra asli ke memori handphone. Berikut adalah diagram state
untuk proses dekripsi :

4. Hasil Penelitian dan Pembahasan


4.1. Pengujian Aplikasi
Pengujian aplikasi dilakukan dengan mensimulasikan proses pengiriman dan penerimaan
pesan MMS yang terenkripsi dengan menggunakan emulator sistem. Pengujian ini
dibutuhkan untuk mengetahui kelemahan dan kelebihan sistem.
4.2 Kecepatan Sistem
Pada uji coba sistem, didapatkan hasil bahwa program bekerja membutuhkan lama baik pada
saat dekripsi maupun enkripsi. Lamanya proses ini karena dibutuhkan beberapa proses yang
membutuhkan waktu lama, yaitu :
1. Proses enkripsi data pengacak dengan algoritma RC6, yang memerlukan perulangan yang
banyak.
2. Proses pembacaan semua data piksel citra yang merupakan array dua dimensi, sehingga
jumlah perulangan yang dibutuhkan adalah sebanyak WIDTH * HEIGHT citra.
3. Proses XOR antara data pengacak dengan data piksel citra yang kembali membutuhkan
perulangan sebanyak WIDTH * HEIGHT. Hal ini menyebabkan proses enkripsi dan dekripsi
citra tidak cocok dipergunakan untuk citra yang berukuran besar. Citra akan cocok untuk
dienkripsi jika citra tersebut berukuran relatif kecil.
4.3 Cara Kerja Sistem
1. Sistem bekerja sebagai aplikasi mobile yang harus dijalankan di sisi pengirim dan
penerima untuk dapat bekerja dengan baik.
2. Sistem akan mengirimkan berbagai citra yang dapat dibaca oleh J2ME dan
mengenkripsikan terlebih dahulu berdasarkan kunci enkripsi yang dimasukkan oleh pengirim.
3. Citra yang dikirimkan tidak akan dapat dilihat bentuk aslinya, kecuali penerima
memasukkan kunci enkripsi yang sesuai.
4. Citra yang diproses dibaca dari memori handphone, sehingga aplikasi harus diberi ijin
untuk melakukan operasi I/O pada handphone.
4.4 Kinerja Sistem
1. Kecepatan Sistem

Sistem tidak bisa bekerja dengan baik untuk mengolah data yang berukuran besar.Proses ini
mungkin tidak akan membuat aplikasi nyaman untuk digunakan, kecuali pada handphone
yang memiliki spesifikasi yang besar. Lambatnya proses enkripsi ini tidak bisa dihindari,
karena besarnya data yang diolah untuk melakukan proses pengacakan data, enkripsi dan
dekripsi citra.
2. Fungsional Sistem
Secara fungsional, sistem sudah dapat bekerja dengan baik sesuai dengan
model kriptosistem berbasis mobile. Mampu menjalankan kontrol sistem antara
lain:
a. Membangkitan data acak dengan algoritma RC6.
Data yang diacak, masih merupakan data sederhana yang berupa bilangan
1,2,3..WIDTH*HEIGHT. Hal ini diperlukan karena untuk dapat dikenakan operasi XOR,
data pengacak harus memiliki ukuran yang sama dengan ukuran citra. Adapun dari data ini
aplikasi sudah dapat mengenkripsinya untuk kemudian dipergunakan sebagai data pengacak
citra.
b. Mengenkripsi Citra
Citra yang dikirimkan tidak memiliki bentuk yang bisa dikenali lagi, sehingga dari segi
keamanan aplikasi ini sudah dapat mengamankan data yang akan dikirimkan.
c. Mendekripsi Citra
Jika dimasukkan kunci yang sesuai, aplikasi telah berhasil mengembalikan bentuk asli citra,
sehingga aplikasi telah dapat bekerja sebagai aplikasi kriptosistem berbasis mobile.
d. Fungsi Pengolahan File
Aplikasi telah dapat membaca dan menulis file citra dengan baik dari dan ke memori
handphone. Hal ini akan memberikan manfaat tambahan bagi pengguna aplikasi ini.
4.5 Kelebihan dan Kekurangan Sistem
1. Kelebihan Sistem
Jika dibandingkan dengan metode pengiriman pesan MMS biasa dimana citra yang
dikirimkan tidak disandikan sehingga mudah dilihat gambarnya, maka sistem ini sudah
mampu mengatasi masalah tersebut.Sistem telah mampu mengenkripsi citra sehinga hanya

penerima gambar citra yang berhak saja yang dapat melihat citra yang dikirimkan untuknya.
Adapun jika penerima pesan MMS bukanlah penerima yang berhak, maka ia tidak akan dapat
melihat citra asli yang dikirimkan, karena tidak mengetahui kunci dekripsinya.

2. Kekurangan Sistem
Kekurangan utama sistem adalah lamanya waktu yang dibutuhkan untuk melakukan proses
enkripsi dan dekripsi citra. Keterlambatan ini merupakan sesuatu hal yang tidak bisa
dielakkan, karena semakin besar ukuran citra, maka data pengacak, data asli dan data enkripsi
juga semakin besar, sehingga dibutuhkan waktu yang lebih banyak untuk mengolahnya.

Kesimpulan
Pada pengembangan aplikasi ini ada beberapa kesimpulan yang dapat diambil,
diantaranya :
1. Metode RC6 telah dapat diaplikasikan ke dalam aplikasi berbasis Mobile dengan J2ME
untuk kebutuhan pengamanan citra yang akan dikirimkan melalui mekanisme MMS.
2. Untuk suatu Kriptosistem dapat berjalan dengan baik, maka pemilihan metode enkripsi
yang dipergunakan harus disesuaikan dengan seberapa tinggi tingkat keamanan yang
diinginkan. Semakin aman suatu kriptosistem, maka proses pengamanannya akan
membutuhkan waktu yang lebih banyak dan kompleksitas yang lebih tinggi.