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

Embed Size (px)

DESCRIPTION

RC6

Citation preview

Page 1: Algoritma RC6

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

Page 2: Algoritma RC6

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.

Page 3: Algoritma RC6

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

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

Page 4: Algoritma RC6

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

Page 5: Algoritma RC6

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

Page 6: Algoritma RC6

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.

Page 7: Algoritma RC6

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

Page 8: Algoritma RC6

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.

Page 9: Algoritma RC6

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

Page 10: Algoritma RC6

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

Page 11: Algoritma RC6

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.

Page 12: Algoritma RC6

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.

Page 13: Algoritma RC6

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.

Page 14: Algoritma RC6

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 :

Page 15: Algoritma RC6

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 :

Page 16: Algoritma RC6

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

Page 17: Algoritma RC6

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

Page 18: Algoritma RC6

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.