judul - repository.amikom.ac.idrepository.amikom.ac.id/files/publikasi_07.11_.1558_.pdfsekaligus...
TRANSCRIPT
JUDUL
IMPLEMENTASI ALGORITMA RC6 UNTUK ENKRIPSI CITRA
PADA MMS DENGAN MENGGUNAKAN J2ME
Naskah Publikasi
diajukan oleh
Yuli Uswiratri
07.11.1558
kepada
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM
YOGYAKARTA
2011
NASKAH PUBLIKASI
THE IMPLEMENTATION OF RC6 ALGORITHM FOR IMAGE
ENCRYPTION ON USING J2ME MMS
IMPLEMENTASI ALGORITMA RC6 UNTUK ENKRIPSI CITRA
PADA MMS DENGAN MENGGUNAKAN J2ME
Yuli Uswiratri
Jurusan Teknik Informatika
STMIK AMIKOM YOGYAKARTA
ABSTRACT
Communication technology in this era has been growing rapidly, one of the implementations of communication technology is cellular communication technology which widely known as GSM. Along with the development of cellular technology, the features contained in it also developed as well. For example, Multimedia Messaging Service (MMS) which are the development of a Short Message Service (SMS) system where the MMS feature allows the users to exchange information in the form of images, sound and text separately or together in one package of information.
Currently, the MMS service features do not have good safety standards because on the implementation, the mobile operators as the provider of MMS services are able know the content of messages sent by the customer. Other problems arise from human error. An error occurred when writing a message destination number. These cause less ensuring of the confidentiality of the messages which are sent. To meet the confidentiality aspect of the messages sent can be used cryptographic technique that is called encoded messages, where messages sent can only be read by a recipient who has a right to know the content of the message using a secret key.
In this thesis, the researcher applied the algorithm RC6 as algorithms in the process of encryption and decryption of multimedia messages in the form of image. RC6 algorithm is an algorithm block of code which is very secure, solid, simple and offers excellent performance and flexibility. RC6 algorithm is an algorithm with parameters that can work on varieties of key length and a symmetric algorithm. For the security aspects, RC6 algorithm prioritizes the principle of iterated cipher. Application software built on this research is written using J2ME programming language.
Keywords:Cryptography, RC6 Algorithm, MMS, J2ME
1. Pendahuluan
Perkembangan teknologi telekomunikasi yang ada pada saat ini mampu
menciptakan berbagai macam perangkat keras yang dapat digunakan untuk
mengirim atau menerima informasi dengan cepat dan mudah.Salah satu perangkat
keras yang cukup banyak digunakan pada saat ini adalah telepon selular.Banyak
merk dan jenis telepon selular beredar di pasaran, bahkan sudah banyak beredar
telepon selular yang mempunyai kamera terintegrasi di dalamnya.
Dengan adanya penambahan fungsi pada telepon selular berupa kamera
terintegrasi, penggunaan telepon selular tidak hanya digunakan untuk komunikasi
suara maupun pesan teks.Namun, berkembang fungsinya sehingga dapat mengirim
pesan berupa pesan multimedia khususnya image (image).Setiap pesan multimedia
dapat ditransmisikan dengan berbagai media transmisi.Media transmisi tersebut
dapat berupa jalur komunikasi Global System for Mobile Communication (GSM),
bluetooth, infrared, maupun media lainnya.
Seperti halnya pesan teks, pesan yang berupa image juga memiliki nilai informasi
yang membutuhkan pengamanan. Nilai informasi tersebut bisa menjadi informasi
rahasia dan hanya pihak berwenang yang dapat mengakses informasi berupa image
tersebut.Sebagai contoh dalam dunia intelijen, ketika seorang intelijen melakukan
pengumpulan informasi rahasia yang membutuhkan pengambilan gambar dengan
menggunakan telepon selular.Image tersebut kemudian dikirimkan kepada pimpinan
melalui Multimedia Message Service (MMS), karena pentingnya informasi tersebut,
image harus dienkripsi terlebih dahulu sebelum dikirimkan.
Saat ini fitur layanan MMS belum memiliki standar keamanan yang baik, karena
pada implementasinya, pihak operator selular selaku penyedia layanan MMS masih
dapat mengetahui isi pesan yang dikirimkan oleh pelanggan. Permasalahan lain
muncul dari sisi human error yaitu terjadi kesalahan penulisan nomor tujuan pesan.
Hal-hal tersebut menyebabkan kurang terjaminnya kerahasiaan pesan yang dikirim.
Penerapan kriptografi dengan cara penyandian pesan merupakan salah satu
solusi yang dapat digunakan untuk memenuhi aspek kerahasiaan. Pesan yang
dikirim tersebut hanya dapat dibaca oleh penerima yang memiliki hak untuk
mengetahui isi pesan tersebut dengan menggunakan kunci rahasia.
2. Landasan Teori
2.1. CITRA
Citra (image) merupakan istilah lain dari gambar sebagai salah satu komponen
multimedia yang memegang peranan penting sebagai bentuk informasi visual. Citra
mempunyai karakteristik yang tidak memiliki oleh teks, yaitu citra kaya akan
informasi1.
2.2. KRIPTOGRAFI
2.2.1 Pengertian Kriptografi
Kriptografi (cryptography) berasal dari bahasa Yunani yaitu cryptos artinya
rahasia (secret) dan graphein artinya tulisan (writing). 2Jadi 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 :
Gambar 2.1. Skema proses enkripsi dan dekripsi
2.2.2 Algoritma Kriptografi
Perkembangan algoritma kriptografi dapat kita bagi menjadi dua, yaitu: 3
1www.informatika.org/rinaldibuku pengolahan citra/buku e-book.html
2Ariyus, Dony.2008. Pengantar Ilmu KRIPTOGRAFI.Yogyakarta : ANDI hal.13
3Kurniawan, Yusuf, Ir. 2004. Kriptografi Keamanan Internet dan Jaringan Komunikasi. Bandung
: Informatika Bandung.
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
dan ElGamal.
2.3 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.3.1 Operasi-operasi Primitif
Selain ketiga operasi primitif yang digunakan pada RC5, RC6 juga
menggunakan operasi perkalian modulo-2w.
Berikut adalah daftar operator-operator primitif (termasuk invers) yang
digunakan dalam RC6: 4
a + b : penjumlahan integer modulo 2w
a – b : pengurangan integer modulo 2w
a⊕b : operasi eksklusif-OR (xor) dari w-bit word
a × b : perkalian integer modulo 2w
a <<<b : rotasi terhadap a ke kiri sebanyak nilai yang diperoleh dari bit-bit
orde bawah sejumlah 2log(w) dari b
a >>>b : rotasi terhadap a ke kanan sebanyak nilai yang diperoleh dari bit-
bit orde bawah sejumlah 2log(w) dari b
2.3.2 Algoritma RC6
Algoritma RC6 seperti juga RC5 merupakan algoritma cipher yang
terparameterisasi. RC6 secara tepat ditulis sebagai: 5
RC6 – w / r / b
Nilai parameter w, r, dan b menyatakan hal yang sama seperti yang
ditunjukkan dalam algoritma RC5. Algoritma RC6 yang dipakai sebagai
kandidat AES adalah RC6-32/20/b, yang berarti ukuran word 32 bit, jumlah
ronde 20 kali, dengan panjang kunci b ditentukan pengguna.
4 Ariyus, Dony.2008. Pengantar Ilmu KRIPTOGRAFI.Yogyakarta : ANDI hal. 257
5Ariyus, Dony.2008. Pengantar Ilmu KRIPTOGRAFI.Yogyakarta : ANDI hal. 258
2.3.3 Key Expansion Algorithm
Algoritma untuk membangkitkan kunci internal sama seperti pada
RC5. Nilai konstanta Pw dan Qw yang digunakan juga sama, tetapi ukuran
array S tidak sama dengan yang seperti RC5. Ukuran t dari array S dalam
RC6 adalah t = 2(r+2), yang berarti terdapat lebih banyak kunci internal
yang dibangkitkan daripada jumlah kunci internal RC5. Berikut
algoritmanya: 6
S[0] = Pw
fori = 1 to (2r + 3) do
S[i] = S[i – 1] + Qw
i = 0
j = 0
A = 0
B = 0
for3 × max(c, (2r + 4)) times do
S[i] = (S[i] + A + B) <<< 3
A = S[i]
L[i] = (L[j] + A + B) <<< 3
B = L[i]
i = (i + 1) mod (2r+4)
j = (j + 1) mod c
2.3.4 Algoritma Enkripsi
Fungsi enkripsi menerima input 1 blok plaintext yang terbagi dalam 4
register yang masing-masing berupa w-bit word, yaitu A, B, C, dan D.
Ciphertext hasil proses terbagi dan disimpan dalam A, B, C, dan D. Dalam
proses enkripsi diperlukan tabel kunci S yang dianggap telah didapat dari
proses sebelumnya. 7
6 Ariyus, Dony.2008. Pengantar Ilmu KRIPTOGRAFI.Yogyakarta : ANDI hal. 258
7Ariyus, Dony.2008. Pengantar Ilmu KRIPTOGRAFI.Yogyakarta : ANDI hal. 259
Secara lebih detil, proses enkripsi dengan RC6 dapat dibagi dalam
beberapa langkah. Dalam penjelasan berikut, notasi (A,B,C,D) = (B,C,D,A)
berarti adalah operasi assignment yang dilakukan paralel (bersamaan)
untuk setiap elemen di ruas kanan ke ruas kiri yang berkorespondensi.
Langkah-langkahnya adalah sebagai berikut:
1. Mula-mula lakukan half-round loop yang seperti pada RC5:
fori = 1 to r do
A = ((AB) <<< B) + S[i] ⊕
(A,B) = (B,A)
2. Lakukan dua proses RC5 secara paralel, yang satu untuk register A, B
dan yang lain untuk register C, D.
fori = 1 to r do
A = ((AB) <<< B) + S[2i] ⊕
C = ((CD) <<< D) + S[2i+1] ⊕
(A,B) = (B,A)
(C,D) = (D,C)
3. Pada tahap pertukaran, daripada menukar A dengan B, dan C dengan
D, lakukan permutasi antar keempat register (A,B,C,D) = (B,C,D,A),
sehingga komputasi AB bercampur dengan komputasi CD.
fori = 1 to r do
A = ((AB) <<< B) + S[2i] ⊕
C = ((CD) <<< D) + S[2i+1] ⊕
(A,B,C,D) = (B,C,D,A)
4. Campurkan komputasi AB dengan CD lebih jauh, yaitu dengan
mempertukarkan kedua nilai yang menyatakan jumlah rotasi pada
masing-masing komputasi.
fori = 1 to r do
A = ((A⊕B) <<< D) + S[2i]
C = ((C⊕D) <<< B) + S[2i+1]
(A,B,C,D) = (B,C,D,A)
5. Daripada menggunakan nilai B dan D secara langsung, RC6
menggunakan hasil transformasi kedua register ini. Hal ini dilakukan
untuk tidak mengulangi masalah rotasi seperti pada RC5 di mana tidak
seluruh bit dalam data yang berpengaruh dalam rotasi. Oleh karena
itu, fungsi transformasi yang dipilih harus dapat memanfaat seluruh bit
di dalam data untuk mengatur jumlah bit yang dirotasikan. Fungsi yang
dipilih adalah f(x) = x(2x + 1) (mod 2w) yang kemudian diikuti dengan
rotasi ke kiri sebanyak 5 bit. Transformasi ini terpilih karena fungsi f(x)
yang merupakan fungsi satu-ke-satu memiliki bit-bit orde atas yang
menentukan jumlah rotasi yang akan digunakan yang sangat
bergantung pada x.
fori = 1 to r do
p = (B × (2B + 1)) <<< 5
q = (D × (2D + 1)) <<< 5
A = ((A⊕p) <<< q) + S[2i]
C = ((C⊕q) <<< p) + S[2i+1]
(A,B,C,D) = (B,C,D,A)
6. Setelah loop di atas selesai, akan terdapat hasil di mana plaintext bisa
menunjukkan bagian input ronde pertama dalam enkripsi dan
ciphertext bisa menunjukkan bagian input ronde terakhir dalam
enkripsi. Oleh karena itu perlu ditambahkan langkah-langkah di awal
dan di akhir loop untuk menyamarkan hubungan ini. Sehingga,
terbentuklah algoritma enkripsi RC6 yang sebagai berikut:
B = B + S[0]
D = D + S[1]
fori = 1 to r do
p = (B × (2B + 1)) <<< 5
q = (D × (2D + 1)) <<< 5
A = ((A⊕p) <<< q) + S[2i]
C = ((C⊕q) <<< p) + S[2i+1]
(A,B,C,D) = (B,C,D,A)
A = A + S[2r + 2]
C = C + S[2r + 3]
Perlu diketahui juga, dalam varian baru RC6 jumlah rotasi ke kiri
yang mengikuti fungsi kuadrat bukan 5 bit tetapi adalah 2log(w) bit.
Gambar 2.2. Diagram Enkripsi RC6
2.3.5 Algoritma Dekripsi
Sama seperti pada RC5, algoritma dekripsi RC6 juga merupakan
penurunan dari algoritma enkripsi. Algoritmanya sebagai berikut: 8
C = C – S[2r + 3]
A = A – S[2r + 2]
fori = r downto 1 do
(A,B,C,D) = (D,A,B,C)
p = (D × (2D + 1)) <<< 5
q = (B × (2B + 1)) <<< 5
C = ((C – S[2i + 1]) >>> q)p ⊕
A = ((A – S[2i]) >>> p)q ⊕
D = D – S[1]
B = B – S[0]
8 Ariyus, Dony.2008. Pengantar Ilmu KRIPTOGRAFI.Yogyakarta : ANDI hal.261
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 adalah
serangkaian kegiatan dan hasil – hasil relevannya yang menghasilkan perangkat
lunak.9Kegiatan 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 10
:
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
9 Sommerville, Ian.2001.Software Engineering. Addison Wesley.
10 Sommerville, Ian.2001.Software Engineering. Addison Wesley.
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.11
.
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-standar 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 model-
model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya
dibuat yang merupakan salah satu proses implementasi pengembangan
software.
2.6. 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.
11
Sholiq.2006.Pemodelan Sistem Informasi Berorientasi Objek dengan
UML.GrahaIlmu.Yogyakarta.
Pertama kali dirilis (dikeluarkan) disebut Java Development Kit (JDK), hingga versi
Java 1.1.Mulai Java 1.2 Sun Microsystem menyebutnya Java Software
Development Kit (JSDK) atau Java2. Mulai Java2 ini juga lingkungan eksekusi
dipisahkan dengan namaJava Runtime Environment (JRE). JRE termasuk juga
dalam Java Virtual Machine (JVM ). JVM merupakan inti dari teknologi Java,
sehingga bahasa Java dapat dibaca pada mesin koputer tertentu.12
Java dibagi menjadi tiga edisi (platform), yaitu Java2 Standard Edition
(J2SE), Java2 Enterprise Edition (J2EE), Java2 Micro Edition (J2ME).J2SE
merupakan standar (basis) dari Java2 yang lebih difokuskan pada pemprograman
dekstop dan Applet.J2EE merupakan perluasan dari J2SE yang digunakan untuk
aplikasi berskala besar (enterprise).Contohnya adalah pemprogaman memakai
database dan diatur di server.Sedangkan J2ME merupakan edisi khusus dari Java
dan subset dari edisi J2SE.
3. Analisis Proses Penelitian
3.1. Rancangan Sistem
Perangkat lunak CryptRC6 merupakan suatu aplikasi yang digunakan.Bagian dari
kriptografi yang digunakan adalah enkripsi.Data berupa image yang diamankan tersebut
berbentuk JPEG.Enkripsi image yang diterapkan memanfaatkan algoritma berbasis RC6
yaitu Rivest Code 6.RC6 ini berbentuk stream cipher yang membutuhkan kunci simetrik.
Citra terenkripsi dikirimkan ke handphone pengguna sebagai bagian dari pesan
MMS. Aplikasi pada handphone penerima akan menampilkan citra dalam bentuk
terenkripsi, yang hanya dapat dilihat citra aslinya jika penerima memasukkan kunci
enkripsi yang sesuai.
Perangkat lunak CryptRC6 diimplemetasikan pada media telepon selular sehingga
diprogram menggunakan J2ME.Aplikasi memanfaatkan layanan MMS yang merupakan
media kirim terima data baik berupa voice, image, maupun text.Perangkat lunak
CryptRC6 memanfaatkan layanan MMS untuk kirim terima data berupa image.
Semua operasi pada perangkat lunak CryptRC6 terpusat pada user dan tidak
diperlukan pihak server yang berperan sebagai Trusted-Third Party (TTP). Ilustrasi dari
perangkat lunak CryptRC6 yang akan dibangun digambarkan pada gambar 3.2.
12
Supardi, Yuniar.2008. Sistem Informasi Penjualan dengan JAVA. Jakarta:Elex Media
Komputindo.
Deskripsi Umum
Pengguna APerangkat Lunak
CryptRC6
Kunci
Enkripsi Image Dekripsi Cipher Image
Perangkat Lunak
CryptRC6 Pengguna B
MMS
Gambar 3.1 Deskripsi Umum Perangkat L unak CryptRC6
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 :
Gambar 3.2 Diagram State 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 :
Gambar 3.3 Diagram State Dekripsi Citra
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.
5. 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.
Daftar Pustaka
Ariyus, Dony.2008. Pengantar Ilmu KRIPTOGRAFI. Yogyakarta : ANDI hal. 258
Kurniawan, Yusuf, Ir. 2004. Kriptografi Keamanan Internet dan Jaringan Komunikasi. Bandung : Informatika Bandung.
Sholiq.2006.Pemodelan Sistem Informasi Berorientasi Objek dengan UML.GrahaIlmu.Yogyakarta.
Sommerville, Ian.2001.Software Engineering. Addison Wesley.
Supardi, Yuniar.2008. Sistem Informasi Penjualan dengan JAVA. Jakarta:Elex Media
Komputindo.
www.informatika.org/rinaldibuku pengolahan citra/buku e-book.html