judul - repository.amikom.ac.idrepository.amikom.ac.id/files/publikasi_07.11_.1558_.pdfsekaligus...

20
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

Upload: trinhdan

Post on 06-Apr-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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

Page 2: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

NASKAH PUBLIKASI

Page 3: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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

Page 4: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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.

Page 5: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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.

Page 6: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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

Page 7: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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

Page 8: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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

Page 9: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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

Page 10: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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.

Page 11: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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

Page 12: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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.

Page 13: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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.

Page 14: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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.

Page 15: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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

Page 16: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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 :

Page 17: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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

Page 18: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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.

Page 19: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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.

Page 20: JUDUL - repository.amikom.ac.idrepository.amikom.ac.id/files/Publikasi_07.11_.1558_.pdfsekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau

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