LAPORAN AKHIR
Enkripsi Citra Berbasis Chaos pada Perangkat Android
Oleh : Edhy Sutanta, S.T, M.Kom. (96.0372.515.E) Catur Iswahyudi, S.Kom, S.E, M.Cs. (93.0673.467.E)
Penelitian ini dibiayai dengan dana PHK INSTITUSI TEMA B Tahun 2012 Berdasarkan Surat Keputusan Rektor Nomor : 133/SK/Rek/VII/2012
Jurusan Teknik Informatika Fakultas Teknologi Industri INSTITUT SAINS & TEKNOLOGI AKPRIND YOGYAKARTA 2012
HALAMAN PENGESAHAN Judul Penelitian : Enkripsi Citra Berbasis Chaos pada Perangkat Android 1.
2.
Ketua Tim Pengusul Nama
: Edhy Sutanta, S.T., M.Kom
NIP
: 96.0372.515.E
Jabatan/Golongan
: Lektor Kepala/IVb
Jurusan/Fakultas
: Teknik Informatika/Teknologi Industri
Perguruan Tinggi
: IST AKPRIND Yogyakarta
Bidang Keahlian
: Basis Data
Alamat Rumah/Telp./
: Bantarjo, Banguncipto, Sentolo, Kulon Progo
Email
:
[email protected]
Anggota Tim Pengusul Jumlah anggota
: 1 orang
Nama anggota/
: Catur Iswahyudi, S.Kom, S.E, M.Cs. /
bidang keahlian
Multimedia dan Pengolahan Citra
Mahasiswa yang terlibat
: 2 orang
3.
Luaran yang diharapkan
Aplikasi enkripsi citra yang terinstal pada perangkat Android
4.
Jangka waktu pelaksanaan
3 (tiga) bulan
5.
Biaya total
Rp. 5.930.000,-
PHK Institusi
Rp. 5.930.000,-
Mengetahui, Ketua Jurusan Teknik Informatika
Yogyakarta, 29 Oktober 2012 Ketua Tim Peneliti
Uning Lestari, S.T., M.Kom. NIK. 96.0870.520.E
Edhy Sutanta, S.T., M.Kom NIK. 96.0372.515.E Mengetahui, Ketua LPPM
Ir. Prastyono Eko Pambudi, M.T NIK. 89 0461 394 E
ii
RINGKASAN PENELITIAN
Pendahuluan Keamanan informasi menjadi isu penting dalam penyimpanan dan transmisi data. Penggunaan data citra pun semakin luas dalam berbagai bidang. Oleh karena itu, pengamanan data citra dari akses yang tidak berhak menjadi hal yang penting (Krikor dkk., 2009). Teknik kriptografi dapat digunakan untuk memenuhi aspek kerahasiaan pesan yang dikirim, yaitu pesan yang dikirim hanya dapat dibaca oleh penerima yang memiliki hak untuk mengetahui isi pesan tersebut dengan menggunakan kunci rahasia.
Walaupun
demikian, enkripsi tidak dapat mencegah intersepsi dan modifikasi data pada saluran komunikasi. Enkripsi tidak mampu melindungi saluran komunikasi dari para pendengar rahasia (eavesdropper) untuk mengekstrak data rahasia (Chang Lo, 2007). Kompleksitas komputasi menjadi perhatian penting dalam pengembangan teknik kriptografi di tengah keterbatasan bandwidth pada jaringan nirkabel, keterbatasan pemroses, memory, dan waktu. Oleh sebab itu, diperlukan kompromi (tradeoff) antara kecepatan, keamanan, dan fleksibilitas (Jolfaei dan Mirghadri, 2011). Di sisi lain, piranti bergerak (mobile devices) memiliki sejumlah keterbatasan, antara lain memory yang kecil dan daya komputasi yang terbatas. Oleh sebab itu mayoritas algoritma enkripsi modern yang umum seperti DES, AES, IDEA tidak cocok untuk penyandian data berupa citra pada piranti bergerak (Jagdale dkk., 2010). Alasan kedua karena kecepatan proses enkripsi yang lambat. Hal ini terkait data berupa citra memiliki ciri–ciri khusus seperti kapasitas besar, redudansi tinggi, dan korelasi antar piksel yang tinggi (Krikor dkk., 2009). Sistem enkripsi chaos mempunyai kecepatan yang tinggi dengan biaya yang rendah, sehingga membuat chaos menjadi kandidat yang lebih baik daripada metode enkripsi lainnya untuk enkripsi data multimedia (Liu dkk., 2009) (Gupta, 2009) (Awad, 2010) (Jolfaei, 2011). Kriptografi berbasis chaos berdasarkan sistem non-linier dengan kedinamisan yang kompleks atau map yang deterministik tetapi sederhana membuat chaos dapat menyediakan pengamanan data yang baik dan cepat, khususnya untuk transmisi data multimedia (Borujeni dan Eshghi, 2009) (Liu dkk., 2009). Karena perilaku sistem chaos yang sulit ditebak, sensitivitas yang tinggi, serta ergodicity menjadikan enkripsi berbasis chaos menjadi kandidat skema enkripsi citra yang cepat dan aman (Jolfaei dan Mirghadri, 2011). Teknik enkripsi berbasis chaos juga cocok untuk diterapkan pada telepon seluler karena menyediakan kombinasi yang baik antara kecepatan, pengamanan yang tinggi,
iii
kompleksitas, reasonable computational overhead, dan computional power (Borujeni dan Eshghi, 2009). Sejak tahun 1990 banyak peneliti mengetahui bahwa ada keterkaitan antara chaos dan kriptografi. Hal ini bisa dilihat dari persamaan properti pada fungsi chaos dengan properti pada kriptografi. Properti pada fungsi chaos yang utama adalah sensitivity dependent on initial condition/control artinya apabila dimasukkan beberapa nilai awal dengan perbedaan yang sangat kecil, akan mengakibatkan kunci yang dihasilkan memiliki perbedaan yang sangat signifikan. Sifat ini memenuhi tuntutan difusi pada kriptografi, sesuai teori Shannon. Akan tetapi kita masih dapat membangkitkan kembali nilai kunci yang sama selama inputan awal dan algoritma yang digunakan sama. Sifat ini disebut deterministik. Adanya sifat deterministik ini membuat chaos cocok untuk mengenkripsi data berbentuk citra karena akan didapatkan citra hasil dekripsi yang lebih baik. Properti kedua adalah ergodicity yang memenuhi sifat konfusi pada kriptografi karena nilai output yang dihasilkan memiliki distribusi yang sama untuk setiap nilai input yang diberikan. Kriptografi berbasis chaos berdasarkan sistem non-linier dengan kedinamisan yang kompleks atau map yang deterministik tetapi sederhana membuat chaos dapat menyediakan pengamanan data yang baik dan cepat, khususnya untuk transmisi data multimedia (Borujeni dan Eshghi, 2009). Algoritma Enkripsi Berbasis Chaos Algoritma yang diusulkan menggabungkan antara transformasi citra berbasis blok dengan
pembangkitan
kunci
berbasis
chaos
menggunakan
persamaan
logistik.
Transformasi berbasis blok dilakukan dengan tujuan untuk memperkecil korelasi antar piksel serta meningkatkan nilai entropi. Caranya adalah dengan membagi citra menjadi beberapa blok piksel kemudian mengacak posisi blok tersebut sebelum kemudian dilanjutkan dengan proses enkripsi menggunakan persamaan logistik. Proses enkripsi diawali dengan pemilihan jumlah blok (n) untuk membagi citra menjadi n blok sehingga menyerupai puzzle. Pemilihan jumlah blok harus memenuhi persyaratan sehingga jumlah baris dan jumlah kolom citra habis dibagi dengan nilai blok yang dipilih. Selanjutnya sistem akan membangkitkan deretan kunci acak (stream) sepanjang n x n yang dipergunakan untuk mengacak posisi blok. Nilai n dapat dikatakan sebagai kunci pertama. Langkah berikutnya adalah pemilihan initial value yang terdiri dari tiga variabel r, X0, dan size. Parameter r nilainya berkisar 0 ≤ r ≤ 4 (Liu dkk., 2009). Peubah X0 merupakan bilangan awal yang nilainya diantara 0 dan 1, yang disebut juga sebagai nilai iv
chaos. Sedangkan size merupakan jumlah digit yang digunakan dalam konversi nilai chaos ke integer dengan menggunakan persamaan 1. Nilai r, X0, dan size dapat dikatakan sebagai kunci kedua. Hasil dan Pembahasan Percobaan dilakukan menggunakan citra format BMP dan JPG berukuran 256x256 piksel dan 640x480 piksel, yang dibedakan berdasarkan karakteristik tingkat kecerahan, tingkat kontras, dan tingkat detil citra. Telepon seluler yang digunakan untuk implementasi algoritma adalah IMO Z5 dengan OS Android 4 ICS, memory internal 512 MB, prosesor 1 GHz. Implementasi algoritma enkripsi dibangun menggunakan bahasa pemrograman JAVA pada platform Android dilakukan untuk mengetahui kinerja algoritma menggunakan parameter kebutuhan memory dan waktu proses enkripsi dan dekripsi. Waktu proses dihitung dengan membandingkan waktu pada awal sistem dengan waktu setelah proses enkripsi atau dekripsi selesai. Sedangkan kebutuhan memory dihitung dengan membandingkan memory total sebelum proses enkripsi atau dekripsi dengan memory setelah proses enkripsi dan dekripsi. Kedua perhitungan tersebut menggunakan asumsi tidak ada proses yang berjalan di background. Rata-rata waktu enkripsi adalah 0,523 detik, sedangkan rata-rata waktu dekripsi adalah 0,287 detik. Secara umum memang proses dekripsi memerlukan waktu lebih cepat dibandingkan proses enkripsi karena tidak diperlukan proses pembangkitan kunci. Ratarata memory yang diperlukan saat proses enkripsi adalah 789,608 Kb, sedangkan rata-rata memory yang terpakai pada saat dekripsi adalah 1048,908 Kb. Apabila dikaitkan antara keteracakan citra hasil enkripsi, waktu proses, dan kebutuhan memory pada saat proses enkripsi dan dekripsi, dapat dikatakan algoritma enkripsi yang diusulkan cukup memuaskan, karena tidak membutuhkan waktu proses yang lama serta memory yang relatif kecil. Kesimpulan dan Saran Penelitian dan percobaan yang telah dilakukan menghasilkan kesimpulan berhasil hasil didapatkan algoritma enkripsi citra yang dapat diimplementasikan pada telepon seluler; yang hemat sumberdaya komputasi serta proses yang cepat. Hal tersebut dibuktikan dengan rata-rata waktu enkripsi sebesar 0,523 detik, dan rata-rata waktu dekripsi sebesar 0,287 detik. Rata-rata memory yang diperlukan saat proses enkripsi adalah 789,608 Kb, sedangkan rata-rata memory pada saat dekripsi adalah 1048,908 Kb.
v
Saran yang diberikan untuk penelitian selanjutnya adalah sebagai berikut: 1. Agar proses enkripsi/dekripsi citra berlangsung lebih cepat, maka enkripsi citra dapat
dilakukan secara selektif. Enkripsi selektif artinya hanya mengenkripsi sebagian elemen citra namun efeknya terhadap keseluruhan citra. Enkripsi selektif dapat dilakukan baik dalam ranah spasial, ranah frekuensi, atau campuran keduanya. Salahsatu alternatif adalah dengan menggabungkan antara seleksi bit yang paling berarti (most significant bit atau MSB) yang digabungkan dengan persamaan logistik (logistic map). Secara teoritis, apabila hanya mengenkripsi bit MSB maka proses enkripsi menjadi lebih efisien, sebab tidak semua data citra dienkripsi dengan stream cipher. 2. Penelitian lanjutan juga perlu dilakukan untuk optimasi algoritma enkripsi citra digital
yang mendukung berbagai format dan ukuran citra, yang terintegrasi dengan beragam tipe telepon seluler yang menghasilkan kombinasi yang baik antara kecepatan, pengamanan yang tinggi, kompleksitas, reasonable computational overhead, dan computational power.
vi
PRAKATA
Puji syukur peneliti panjatkan ke hadirat Allah SWT atas segala limpahan nikmat, rahmat dan berkah-Nya, sehingga peneliti dapat menyelesaikan laporan penelitian dengan judul “Enkripsi Citra Berbasis Chaos pada Perangkat Android”. Penelitian ini didanai melalui Program Hibah Kompetisi Berbasis Institusi Tema B Tahun 2012, Institut Sains & Teknologi AKPRIND Yogyakarta. Ucapan terima kasih peneliti sampaikan kepada LPPM IST AKPRIND Yogyakarta yang telah memfasilitasi proses penyampaian usulan hingga pelaksanaan penelitian ini sehingga dapat berjalan lancar. Penelitian ini tentu masih terdapat kekurangan, baik dalam proses pelaksanaan maupun dalam penyusunan laporan. Oleh sebab itu, kritik dan saran demi perbaikan penelitian sangat kami harapkan. Besar harapan kami hasil penelitian ini dapat memberikan manfaat terhadap perkembangan ilmu pengetahuan khususnya di bidang keamanan sistem dan pengolahan citra.. Yogyakarta, Oktober 2012 Ketua Peneliti,
Edhy Sutanta, S.T., M.Kom.
vii
DAFTAR ISI Halaman Sampul ........................................................................................................... i Halaman Pengesahan ................................................................................................... ii Ringkasan Penelitian ..................................................................................................iii Prakata ....................................................................................................................... vii Daftar Isi ...................................................................................................................viii Daftar Tabel ................................................................................................................ ix Daftar Gambar ............................................................................................................. x BAB I. PENDAHULUAN ………………………………………… .......................... 1 BAB II. TINJAUAN PUSTAKA ............................................................................... 3 BAB III. TUJUAN DAN MANFAAT PENELITIAN ................................................ 5 BAB IV. METODE PENELITIAN ............................................................................. 6 4.1 Bahan Penelitian ............................................................................................. 6 4.2 Alat Penelitian ................................................................................................ 6 4.3 Jalan Penelitian ............................................................................................... 6 4.4 Tahap Pengembangan Aplikasi pada Perangkat Android .............................. 7 BAB V. HASIL DAN PEMBAHASAN ..................................................................... 8 5.1 Rancangan Skema Algoritma Enkripsi dan Dekripsi ..................................... 8 5.2 Data dan Alat Penelitian ................................................................................. 8 5.3 Analisis Algoritma Enkripsi ........................................................................... 9 5.4 Implementasi Pada Perangkat Android ........................................................ 13 BAB VI. KESIMPULAN DAN SARAN .................................................................. 15 6.1 Kesimpulan ................................................................................................... 15 6.2 Saran ............................................................................................................. 15 DAFTAR PUSTAKA ................................................................................................ 16 LAMPIRAN I Personalia Peneliti ............................................................................. 18 LAMPIRAN II Kebutuhan Biaya Penelitian ............................................................. 19 DRAFT ARTIKEL ILMIAH ..................................................................................... 20
viii
DAFTAR TABEL Tabel 1. Hasil uji visual citra ...................................................................................... 10 Tabel 2. Analisis histogram ....................................................................................... 11 Tabel 3. Hasil uji statistik .......................................................................................... 11 Tabel 4. Pengaruh n terhadap hasil enkripsi .............................................................. 12 Tabel 5. Pengaruh X0 terhadap hasil dekripsi ........................................................... 13 Tabel 6. Hasil pengujian pada perangkat Android .................................................... 14 Tabel 7. Rincian kebutuhan biaya penelitian ............................................................. 19
ix
DAFTAR GAMBAR Gambar 1. Rancangan algoritma enkripsi ................................................................... 9 Gambar 2. Rancangan algoritma dekripsi ................................................................... 9
x
BAB I PENDAHULUAN
Teknologi komunikasi bergerak saat ini berkembang dengan sangat cepat, begitu juga perkembangan fitur-fitur layanan yang mendukung dalam sistem GSM. Salah satu layanan yang ditawarkan adalah MMS (Multimedia Messaging Service) yang merupakan perkembangan dari SMS (Short Message Service) yang memungkinkan untuk melakukan pengiriman data berupa citra digital. Komunikasi melalui media MMS bukanlah komunikasi point-to-point, sebab pesan yang dikirimkan melalui media MMS tidak langsung sampai pada tujuan, melainkan melalui jaringan MMS. Pada implementasinya, sekalipun dalam arsitektur jaringan seluler terdapat encryption engine, namun pihak operator seluler selaku penyedia layanan MMS masih dapat mengetahui isi pesan yang dikirimkan oleh pelanggan. Permasalahan lain muncul dari sisi human error yaitu terjadinya kesalahan penulisan nomor tujuan pesan. Hal-hal tersebut menyebabkan kurang terjaminnya kerahasiaan pesan yang dikirim. Hingga bulan Agustus 2011, berdasarkan penelitian oleh AC Nielsen terhadap pengguna piranti cerdas di Amerika Serikat seperti yang dilansir oleh situs www.dailytech.com dan http://www.netmarketshare.com/, Google Android memiliki market share 43%, diikuti oleh iPhone (28%), RIM (18%), dan Microsoft (11%). Sedangkan untuk pengguna di seluruh dunia, Microsoft Windows Mobile memiliki market share 4,9%, dan Google Android sebesar 18,9%. Sementara Apple dengan iOS sebesar 61,5%, Java ME (12,8%), dan Symbian (3,5%). Kompleksitas komputasi menjadi perhatian penting dalam pengembangan teknik kriptografi di tengah keterbatasan bandwidth pada jaringan nirkabel, keterbatasan pemroses, memory, dan waktu. Oleh sebab itu, diperlukan tradeoff antara kecepatan, keamanan, dan fleksibilitas sehingga menghasilkan kombinasi yang baik antara kecepatan, pengamanan yang tinggi, kompleksitas, reasonable computational overhead, dan computational power terutama pada piranti cerdas dengan basis sistem operasi Android dan Windows Mobile (Jolfaei dan Mirghadri, 2011). Disisi lain, piranti bergerak (mobile devices) memiliki sejumlah keterbatasan, antara lain memory yang kecil dan daya komputasi yang terbatas. Oleh sebab itu mayoritas algoritma enkripsi modern yang umum seperti DES, AES, IDEA tidak cocok untuk penyandian data berupa citra pada piranti bergerak (Jagdale dkk., 2010). Alasan kedua 1
karena kecepatan proses enkripsi yang lambat. Hal ini terkait data berupa citra memiliki ciri–ciri khusus seperti kapasitas besar, redudansi tinggi, dan korelasi antar piksel yang tinggi (Krikor dkk., 2009). Karena kesulitan yang dihadapi serta hasil yang kurang memuaskan dari metode enkripsi tradisional, maka dikembangkan berbagai metode enkripsi khusus untuk citra digital. Salah satunya adalah metode enkripsi citra berbasis fungsi chaos. Sistem enkripsi chaos mempunyai kecepatan yang tinggi dengan biaya yang rendah, sehingga membuat chaos menjadi kandidat yang lebih baik daripada metode enkripsi lainnya untuk enkripsi data multimedia (Liu dkk., 2009) (Gupta, 2009) (Awad, 2010) (Jolfaei, 2011). Kriptografi pada piranti cerdas memunculkan tantangan baru, karena keterbatasan sumberdaya komputasi pada perangkat. Kompleksitas komputasi menjadi perhatian penting dalam pengembangan teknik kriptografi di tengah keterbatasan bandwidth pada jaringan nirkabel, keterbatasan pemroses, memory, dan waktu. Oleh sebab itu, diperlukan tradeoff antara kecepatan, keamanan, dan fleksibilitas sehingga menghasilkan kombinasi yang baik antara kecepatan, pengamanan yang tinggi, kompleksitas, reasonable computational overhead, dan computational power. Dalam pelaksanaan penelitian ini terdapat beberapa permasalahan yang menjadi fokus utama pembahasan, yaitu : a. Bagaimana mengembangkan algoritma enkripsi berbasis chaos untuk meningkatkan aspek keamanan citra b. Bagaimana mengimplementasikan algoritma enkripsi citra berbasis chaos dengan menggunakan metode transformasi berbasis blok pada perangkat Android.
2
BAB II TINJAUAN PUSTAKA
Younes dan Jantan (2008) memperkenalkan algoritma enkripsi citra yang menggabungkan antara algoritma transformasi berbasis blok dengan algoritma enkripsi Blowfish. Transformasi berbasis blok dilakukan dengan tujuan untuk memperkecil korelasi antar piksel serta meningkatkan nilai entropi. Gupta dan Silakari (2009) mengusulkan enkripsi citra dengan menggunakan algoritma transformasi berbasis blok yang digabungkan dengan algoritma enkripsi berbasis chaos. Transformasi dilakukan dengan cara membagi citra dalam beberapa blok kemudian diacak posisinya, dilanjutkan dengan mengenkrip citra piksel demi piksel dikombinasikan dengan kunci rahasia berukuran 256bit secara berulang menggunakan fungsi logistik. Liu, dkk. (2009) mengusulkan algoritma enkripsi citra berbasis chaos dengan menggunakan coupled chaotic map yang dikembangkan atas dasar fungsi logistic map. Penelitian ini beroperasi dalam mode stream cipher. Awad dan Sadane (2010) memperkenalkan metode permutasi berbasis chaos untuk enkripsi citra memanfaatkan logistic map dan linear chaotic map yang diterapkan dengan teknik yang baru. Jolfaei dan Mirghadri (2011) memperkenalkan skema enkripsi yang menggabungkan pengacakan piksel dan modifikasi simplified AES yang bertujuan untuk memperoleh algoritma enkripsi yang sederhana, cepat dan aman untuk enkripsi citra. Hasil eksperimen yang dilakukan oleh Munir (2011) memperlihatkan bahwa algoritma enkripsi berbasis fungsi chaotic logistic map dapat mengenkripsi citra dengan baik dan mendekripsinya kembali tepat sama seperti citra semula. Percobaan perubahan parameter nilai chaos memperlihatkan bahwa algoritma ini aman dari serangan exhaustive attack. Penelitian algoritma enkripsi citra digital pada telepon seluler juga pernah dilakukan oleh Setyaningsih, dkk. (2012). Algoritma yang dikembangkan adalah algoritma super enkripsi yang menggabungkan Playfair cipher dan Vigenere cipher. Untuk meningkatkan keamanan, digunakan generator keystream untuk mengacak urutan kunci dalam cipher Vigenere. Pengujian dilakukan pada ponsel menggunakan bahasa pemrograman JME. Kriptografi berbasis chaos berdasarkan sistem non-linier dengan kedinamisan yang kompleks atau map yang deterministik tetapi sederhana membuat chaos dapat menyediakan pengamanan data yang baik dan cepat, khususnya untuk transmisi data multimedia (Borujeni dan Eshghi, 2009) (Liu dkk., 2009). Karena perilaku sistem chaos 3
yang sulit ditebak, sensitivitas yang tinggi, serta ergodicity menjadikan enkripsi berbasis chaos menjadi kandidat skema enkripsi citra yang cepat dan aman (Jolfaei dan Mirghadri, 2011). Teknik enkripsi berbasis chaos juga cocok untuk diterapkan pada telepon seluler karena menyediakan kombinasi yang baik antara kecepatan, pengamanan yang tinggi, kompleksitas, reasonable computational overhead, dan computional power (Borujeni dan Eshghi, 2009). Teknik enkripsi citra bertujuan untuk mengkonversi citra ke bentuk lain sehingga sulit dipahami. Sedangkan teknik dekripsi digunakan untuk mengembalikan citra terenkripsi menjadi citra asli. Terdapat banyak sistem enkripsi citra untuk melakukan enkripsi dan dekripsi, namun tidak ada algoritma enkripsi tunggal yang memuaskan untuk berbagai tipe citra (Gupta, 2009). Sejak tahun 1990 banyak peneliti mengetahui bahwa ada keterkaitan antara chaos dan kriptografi. Hal ini bisa dilihat dari persamaan properti pada fungsi chaos dengan properti pada kriptografi. Properti pada fungsi chaos yang utama adalah sensitivity dependent on initial condition/control artinya apabila dimasukkan beberapa nilai awal dengan perbedaan yang sangat kecil, akan mengakibatkan kunci yang dihasilkan memiliki perbedaan yang sangat signifikan. Sifat ini memenuhi tuntutan difusi pada kriptografi, sesuai teori Shannon. Akan tetapi kita masih dapat membangkitkan kembali nilai kunci yang sama selama inputan awal dan algoritma yang digunakan sama. Sifat ini disebut deterministik. Adanya sifat deterministik ini membuat chaos cocok untuk mengenkripsi data berbentuk citra karena akan didapatkan citra hasil dekripsi yang lebih baik. Properti kedua adalah ergodicity yang memenuhi sifat konfusi pada kriptografi karena nilai output yang dihasilkan memiliki distribusi yang sama untuk setiap nilai input yang diberikan. Kriptografi berbasis chaos berdasarkan sistem non-linier dengan kedinamisan yang kompleks atau map yang deterministik tetapi sederhana membuat chaos dapat menyediakan pengamanan data yang baik dan cepat, khususnya untuk transmisi data multimedia (Borujeni dan Eshghi, 2009).
4
BAB III TUJUAN DAN MANFAAT PENELITIAN
Penelitian ini bertujuan untuk melakukan analisis keamanan dan implementasi algoritma enkripsi untuk penyandian citra digital dengan berbagai format citra, yang diterapkan pada piranti cerdas dengan platform Android untuk memperoleh kombinasi yang baik antara kecepatan, pengamanan yang tinggi, kompleksitas, reasonable computational overhead, dan computational power. Penelitian ini diharapkan dapat memberikan manfaat sebagai berikut: a. Secara teoritis diharapkan dapat mengembangkan pengajaran ilmu
di bidang
kriptografi, pengolahan citra, dan keamanan data b. Secara praktis aplikasi yang dibangun diharapkan dapat digunakan oleh pengguna telepon seluler berbasis Android untuk pengamanan citra, khususnya pada pengiriman MMS.
5
BAB IV METODE PENELITIAN
4.1. Bahan Penelitian Bahan penelitian berupa citra digital dengan beberapa format yang umum dipakai dalam pengiriman MMS (JPG dan BMP). Sementara ukuran maksimal file yang diijinkan adalah 300KB untuk domestik dan 100KB untuk internasional. 4.2. Alat Penelitian Alat penelitian berupa perangkat keras dan perangkat lunak, yaitu: 1. Perangkat keras : - Processor Intel Core 2 Duo 1.8 GHz - RAM 2 GB - Tablet / Smartphone dengan OS Android 2. Perangkat lunak : - Eclipse - Android SDK 4.3. Jalan Penelitian Langkah awal dalam penelitian ini adalah melakukan analisis dan study apakah algoritma yang diusulkan cukup handal dalam mengamankan data citra. Jika algoritma tersebut dinyatakan aman dari serangan kripanalisis, maka langkah selanjutnya adalah adalah memilih perangkat seluler dengan sistem operasi Android. Selanjutnya, melakukan perancangan dan implementasi algoritma tersebut dalam platform Android dengan output berupa simulator telepon seluler. Jika dalam tahap simulasi diperoleh hasil signifikan, maka langkah berikutnya aplikasi dapat di-packing dan di install pada perangkat Android untuk memperoleh perbandingan dalam kecepatan dan kompleksitas komputasi. Sistem ini secara fungsional dirancang untuk melakukan proses enkripsi dan dekripsi pesan yang berupa citra yang dikirim dan diterima melalui fitur MMS pada perangkat Andorid. Proses enkripsi dilakukan sebelum proses pengiriman
pesan
sedangkan proses dekripsi dilakukan sesudah pesan tersebut terkirim di telepon seluler
6
penerima. Dengan kata lain proses enkripsi dan dekripsi dilakukan di dalam telepon seluler.
4.4. Tahap Pengembangan Aplikasi Pada Perangkat Android Analisis dan study algoritma enkripsi Langkah awal dalam penelitian ini adalah melakukan analisis, study dan pengujian, apakah algoritma yang diusulkan cukup handal dalam mengamankan data citra. Jika algoritma tersebut dinyatakan aman dari serangan kripanalisis, maka dilanjutkan ke tahap berikutnya. Pemilihan perangkat Android Langkah berikutnya adalah memilih telepon seluler dengan sistem operasi Android; dengan cara membandingkan beberapa spesifikasi dan merek dari media cetak maupun elektronik sehingga diperoleh telepon seluler dengan spesifikasi ‘cukup’, memiliki kompatibiltas yang tinggi, mendukung Java serta dapat di install aplikasi tambahan berbasis Android. Analisis sistem dan penulisan program komputer Pada tahap ini dilakukan instalasi perangkat lunak pendukung pada komputer (PC), perancangan dan implementasi algoritma dalam platform Android dengan output berupa simulator telepon seluler. Jika dalam tahap simulasi diperoleh hasil signifikan, maka langkah berikutnya aplikasi dapat di-packing dan di install pada perangkat Android untuk memperoleh kompatibilitas serta perbandingan dalam kecepatan dan kompleksitas komputasi.
7
BAB V HASIL DAN PEMBAHASAN
5.1 Rancangan Skema Algoritma Enkripsi dan Dekripsi Algoritma yang diusulkan menggabungkan antara transformasi citra berbasis blok dengan
pembangkitan
kunci
berbasis
chaos
menggunakan
persamaan
logistik.
Transformasi berbasis blok dilakukan dengan tujuan untuk memperkecil korelasi antar piksel serta meningkatkan nilai entropi. Caranya adalah dengan membagi citra menjadi beberapa blok piksel kemudian mengacak posisi blok tersebut sebelum kemudian dilanjutkan dengan proses enkripsi menggunakan persamaan logistik. Proses enkripsi diawali dengan pemilihan jumlah blok (n) untuk membagi citra menjadi n blok sehingga menyerupai puzzle. Pemilihan jumlah blok harus memenuhi persyaratan sehingga jumlah baris dan jumlah kolom citra habis dibagi dengan nilai blok yang dipilih. Selanjutnya sistem akan membangkitkan deretan kunci acak (stream) sepanjang n x n yang dipergunakan untuk mengacak posisi blok. Nilai n dapat dikatakan sebagai kunci pertama. Langkah berikutnya adalah pemilihan initial value yang terdiri dari tiga variabel r, X0, dan size. Parameter r nilainya berkisar 0 ≤ r ≤ 4 (Liu dkk., 2009). Peubah X0 merupakan bilangan awal yang nilainya diantara 0 dan 1, yang disebut juga sebagai nilai chaos. Sedangkan size merupakan jumlah digit yang digunakan dalam konversi nilai chaos ke integer dengan menggunakan persamaan 1. Nilai r, X0, dan size dapat dikatakan sebagai kunci kedua. Skema algoritma enkripsi yang diusulkan diperlihatkan dalam Gambar 1. Sedangkan Skema algoritma untuk dekripsi citra ditampilkan dalam Gambar 2.
5.2 Data dan Alat Penelitian Percobaan dilakukan menggunakan citra format BMP dan JPG berukuran 256x256 piksel dan 640x480 piksel, yang dibedakan berdasarkan karakteristik tingkat kecerahan, tingkat kontras, dan tingkat detil citra. Telepon seluler yang digunakan untuk implementasi algoritma adalah IMO Z5 dengan OS Android 4 ICS, memory internal 512 MB, prosesor 1 GHz.
8
Gambar 1. Rancangan algoritma enkripsi
Gambar 2. Rancangan algoritma dekripsi 5.3 Analisis Algoritma Enkripsi Analisis algoritma enkripsi dan dekripsi menggunakan Matlab dimaksudkan untuk mengetahui apakah algoritma yang diusulkan cukup aman untuk diimplementasikan pada telepon seluler, dengan menggunakan beberapa parameter analisis yaitu korelasi, entropi, histogram warna, dan kualitas enkripsi. Kondisi awal pengujian menggunakan data-data sebagai berikut : - Jumlah blok (n)
:4
- Nilai awal chaos (x0) : 0,00230872 - Laju pertumbuhan (r) : 3,569945 - Jumlah digit (size)
:4
9
Untuk menguji kepekaan terhadap perubahan pada kondisi awal pengujian, maka nilai awal chaos (X0) yang semula bernilai 0,00230872 pada saat enkripsi, maka dilakukan pengujian dengan berbagai nilai X0 yang dekat dan jauh dari nilai semula. Hasil pengujian diperlihatkan pada Tabel 1. Hasil pengujian juga menunjukkan bahwa citra asli tidak dapat terlihat setelah dilakukan proses enkripsi, serta keteracakan warna dan perubahan intensitas warna yang cukup signifikan. Hal ini menunjukkan bahwa proses enkripsi berhasil dengan baik untuk semua kelompok citra yang diujikan. Tabel 1. Hasil uji visual citra Hasil Kelompok citra
Citra Asli
Citra Hasil Enkripsi
Cerah
Gelap
Detil
Tidak detil
Berdasarkan analisis histogram warna yang digunakan untuk melihat kesesuaian distribusi warna antara plain image dengan cipher image didapatkan hasil seperti terlihat pada Tabel 2. Hasil uji visual pada histogram cipher image juga terlihat frekuensi kemunculan masing-masing nilai intensitas citra merata, hal ini menunjukkan bahwa algoritma enkripsi yang digunakan tidak dapat memberikan petunjuk apa-apa untuk dilakukan statistical attack oleh kriptanalis.
10
Tabel 2. Analisis histogram Citra
Histogram Citra Asli
Histogram Citra Hasil Enkripsi
Parameter uji statistik yang digunakan dalam pengujian meliputi korelasi (Ic), entropi (He), dan kualitas enkripsi (Eq). Hasil pengujian statistik dapat dilihat pada Tabel 3. Tabel 3. Hasil uji statistik (a) Ukuran 640x480, (b) ukuran 256x256 Nama File Airplane.jpg Kuda Poni.jpg Kamboja.jpg Matador.jpg Satelit.jpg Rata-rata
Hasil Pengukuran Nilai He Eq Ic 7,887 1475,62 0,00015 7,932 1442,91 0,00491 7,975 997,857 -0,00089 7,975 1057,43 -0,00701 7,978 899,302 -0.00748 7,949 1174,624 -0,00071
(a) Nama File Androm.bmp Baboon.bmp Crowded.bmp Jelly.bmp Lenna.bmp Rata-rata
Hasil Pengukuran Nilai He Eq Ic 7,587 380,122 0,00579 7,983 193,263 0,00072 7,985 130,781 -0,00969 7,68 378,404 0,00585 7,918 254,753 -0.00091 7,833 267,465 0,00066
(b) Tabel 3 memperlihatkan rata-rata nilai entropi adalah 7,949 dan 7,833. Berdasarkan hasil penelitian Jolfae dan Mirghadri (2011), jika sebuah informasi dienkripsi dan dalam 11
kondisi teracak maka nilai entropi yang ideal adalah ≈ 8. Berdasarkan teori tersebut maka algoritma enkripsi yang dirancang ini aman dari serangan entropi atau sulit ditebak oleh kriptanalis karena nilainya sangat dekat dengan 8. Dari Tabel 3 juga terlihat bahwa nilai korelasi antara plain image dengan cipher image rata-rata -0,00071 dan 0,00066. Karena rata-rata korelasinya mendekati nol maka keterkaitan antara plain image dan cipher image dikatakan tidak ada. Hasil tersebut menunjukkan bahwa sistem enkripsi yang diusulkan sesuai dengan teori perfect secrecy yang dikemukakan oleh Shannon, yaitu semakin rendah korelasi antar piksel dan semakin tinggi entropinya, maka sistem enkripsi dapat dikatakan aman (Stinson, 1995). Hasil percobaan juga menunjukkan kualitas enkripsi cukup tinggi yang berarti tingkat perubahan piksel-nya pun juga tinggi sehingga sistem ini dapat dikatakan efektif dan aman. Pengaruh jumlah blok terhadap citra hasil enkripsi Percobaan untuk mengetahui pengaruh jumlah blok (n) terhadap nilai korelasi dan entropi dilakukan dengan variasi jumlah blok (n) sebanyak 4, 8, 16, 32 dan 64 blok, sedangkan variabel pengujian lainnya tetap (sesuai kondisi awal pengujian). Dengan perubahan jumlah blok dari 4 menjadi 8, tidak terlihat perbedaan yang signifikan pada histogram citra hasil enkripsi. Namun secara visual terdapat perbedaan pada citra hasil enkripsi yang semakin acak. Untuk membuktikan peningkatan nilai entropi sebagai akibat dari penambahan jumlah blok, maka dilakukan pengujian dengan n=16. Hasil pengujian menunjukkan bahwa nilai entropi menjadi 7,583 (sebelumnya 7,587 untuk n=4 dan 7,585 untuk n=8), dan korelasi menjadi -0,0107295 (sebelumnya 0,005796 untuk n=4, dan -0,00682697 untuk n=8). Dengan demikian hingga pengujian dengan n=16 belum diperoleh peningkatan nilai entropi. Pengujian dengan merubah nilai n menjadi 32 juga belum mampu meningkatkan nilai entropi. Sedangkan nilai korelasi menjadi -0,00677666. Namun secara visual memang citra hasil enkripsi menjadi jauh lebih acak. Ringkasan hasil pengujian ditampilkan pada Tabel 4. Tabel 4. Pengaruh n terhadap hasil enkripsi N=4
Nama
N=8
N=16
N=32
File
He
Eq
He
He
Eq
Eq
He
Eq
A
797.844
898.807
797.838
797.849
898.391
898.807
797.862
899.622
B
791.841
254.87
791.862
791.936
255.117
254.87
791.874
255.258
12
Berdasar hasil pengujian dapat disimpulkan bahwa nilai entropy optimal diperoleh pada nilai n=32. Sedangkan kualitas enkripsi optimal diperoleh pada nilai n=8 hingga n=32. Untuk menguji kepekaan terhadap perubahan pada kondisi awal pengujian, maka nilai X0 yang semula bernilai 0,00230872 pada saat proses enkripsi, dirubah menjadi beberapa nilai yang berbeda pada saat proses dekripsi; sedangkan nilai-nilai pada variabel lainnya tetap. Hasil pengujian ditunjukkan oleh Tabel 5. Tabel 5. Pengaruh X0 terhadap hasil dekripsi Citra Asli
Hasil Dekripsi A
B
C
D
A. X0=0,0023087016, B. X0=0,00230456, C. X0=0,03230872, D. X0=0,89768990 Hasil percobaan ini membuktikan bahwa karakteristik chaos yang sensitif terhadap nilai awal memang memberikan keamanan yang bagus dari serangan exhaustive attack. Percobaan ini juga menyiratkan bahwa perubahan sangat kecil pada kunci menyebabkan hasil dekripsi salah, apalagi jika kunci dekripsi yang diberikan berbeda jauh nilainya dengan kunci yang sebenarnya.
5.4 Implementasi Algoritma Pada Perangkat Android Implementasi algoritma enkripsi dibangun menggunakan bahasa pemrograman JAVA pada platform Android dilakukan untuk mengetahui kinerja algoritma menggunakan parameter kebutuhan memory dan waktu proses enkripsi dan dekripsi. Waktu proses dihitung dengan membandingkan waktu pada awal sistem dengan waktu setelah proses enkripsi atau dekripsi selesai. Sedangkan kebutuhan memory dihitung dengan membandingkan memory total sebelum proses enkripsi atau dekripsi dengan memory setelah proses enkripsi dan dekripsi. Kedua perhitungan tersebut menggunakan asumsi tidak ada proses yang berjalan di background. Hasil pengujian diperlihatkan pada Tabel 6.
13
Tabel 6. Hasil pengujian di ponsel Citra Airplane.jpg Kudaponi.jpg
Waktu proses (detik) Enkripsi Dekripsi 0,787 0,286 0,484
0,281
Memory (Kb) Enkripsi 598,14
Dekripsi 1049,07
589,804
1048,785
Kamboja.jpg
0,484
0,281
589,105
1049,07
Matador.jpg
0,483
0,284
589,105
1048,398
Satelit.jpg
0,486
0,292
1119,781
1049,742
Anfrom.bmp
0,486
0,284
1120,789
1049,742
Crowded.bmp
0,494
0,307
1121,011
1048,398
Jelly.bmp
0,484
0,284
589,132
1048,062
Rata2
0,523
0,287
789,608
1048,908
Rata-rata waktu enkripsi adalah 0,523 detik, sedangkan rata-rata waktu dekripsi adalah 0,287 detik. Secara umum memang proses dekripsi memerlukan waktu lebih cepat dibandingkan proses enkripsi karena tidak diperlukan proses pembangkitan kunci. Ratarata memory yang diperlukan saat proses enkripsi adalah 789,608 Kb, sedangkan rata-rata memory yang terpakai pada saat dekripsi adalah 1048,908 Kb. Apabila dikaitkan antara keteracakan citra hasil enkripsi, waktu proses, dan kebutuhan memory pada saat proses enkripsi dan dekripsi, dapat dikatakan algoritma enkripsi yang diusulkan cukup memuaskan, karena tidak membutuhkan waktu proses yang lama serta memory yang relatif kecil.
14
BAB VI KESIMPULAN DAN SARAN
6.1 Kesimpulan Penelitian dan percobaan yang telah dilakukan menghasilkan kesimpulan sebagai berikut: 1. Berhasil didapatkan algoritma enkripsi citra yang dapat diimplementasikan pada telepon seluler; yang hemat sumberdaya komputasi serta proses yang cepat. Hal tersebut dibuktikan dengan rata-rata waktu enkripsi sebesar 0,523 detik, dan rata-rata waktu dekripsi sebesar 0,287 detik. Rata-rata memory yang diperlukan saat proses enkripsi adalah 789,608 Kb, sedangkan rata-rata memory pada saat dekripsi adalah 1048,908 Kb. 2. Hasil pengujian menunjukkan bahwa algoritma yang diusulkan cukup aman dan dapat diterapkan pada ponsel. Faktor keamanan ditunjukkan oleh hasil analisis statistik yang menunjukkan bahwa rata-rata nilai entropi cukup tinggi yaitu 7,949; nilai korelasi antara plain image dengan cipher image rata-rata bernilai -0,0007081; dan rata-rata kualitas enkripsi sebesar 1174,624. Hasil pengujian juga membuktikan bahwa perubahan nilai awal chaos (X0) memberikan keamanan yang bagus dari serangan exhaustive attack. 6.2 Saran Saran yang diberikan untuk penelitian selanjutnya adalah sebagai berikut: 1. Penelitian untuk future research dapat dikembangkan untuk mencari formula agar
histogram citra hasil enkripsi terlihat lebih datar. Histogram yang datar merupakan indikasi tidak adanya hubungan statistik antara piksel plain image dengan cipher image, sehingga serangan dengan menggunakan analisis statistik menjadi sangat sulit dilakukan. 2. Agar proses enkripsi/dekripsi citra berlangsung lebih cepat, maka enkripsi citra dapat
dilakukan secara selektif. Enkripsi selektif artinya hanya mengenkripsi sebagian elemen citra namun efeknya terhadap keseluruhan citra. Enkripsi selektif dapat dilakukan baik dalam ranah spasial, ranah frekuensi, atau campuran keduanya. Salahsatu alternatif adalah dengan menggabungkan antara seleksi bit yang paling berarti (most significant bit atau MSB) yang digabungkan dengan persamaan logistik (logistic map). Secara teoritis, apabila hanya mengenkripsi bit MSB maka proses 15
enkripsi menjadi lebih efisien, sebab tidak semua data citra dienkripsi dengan stream cipher. 3. Penelitian lanjutan juga perlu dilakukan untuk optimasi algoritma enkripsi citra digital
yang mendukung berbagai format dan ukuran citra, yang terintegrasi dengan beragam tipe telepon seluler yang menghasilkan kombinasi yang baik antara kecepatan, pengamanan yang tinggi, kompleksitas, reasonable computational overhead, dan computational power.
16
DAFTAR PUSTAKA
Awad, A. dan Saadane, A., 2010, New Chaotic Permutation Methods for Image Encryption, IAENG International Journal of Computer Science Borujeni, S. E. dan Eshghi, M., 2009, Chaotic Image Encryption Design Using TompkinsPaige Algorithm, Hindawi Publishing Corp., Mathematical Problems in Engineering Chang Lo, J., 2007, A framework for cryptography algorithms on mobile devices, Disertasi, Department of Computer Science Faculty of Engineering, Build and Information Technology University Of Pretoria Gupta K. dan Silakari S., 2009, Choase Based Image Encryption Using Block-Based Tranformation Algorithm, International Journal of Computer and Network Security, Vol. 1, No. 3 Jagdale, B.N., Bedi, R.K., Desai S., 2010, Securing MMS with High Performance Elliptic Curve Cryptography, International Journal of Computer Applications (0975 – 8887), Vol. 8– No.7 Jolfaei, A. dan Mirghadri, A., 2010, A New Approach to Measure Quality of Image Encryption, International Journal of Computer and Network Security, Vol. 2, No. 8 Jolfaei, A. dan Mirghadri A., 2011, Image Encryption Using Chaos and Block Cipher, Computer and Information Science, Vol 4, No. 1 Krikor, L., Baba, S., Arif, T., Shaaban, Z., 2009, Image Encryption Using DCT and Stream Cipher, European Journal of Scientific Research, Vol. 32 No. 1, pp. 47-57 Liu, S., Sung, J., Xu, Z., 2009, An Improved Image Encryption Algorithm based on Chaotic System, Journal of Computers, Vol. 4, No. 11 Munir, R., 2006, Kriptografi, Penerbit Informatika, Bandung Munir, R., 2011, Enkripsi Selektif Citra Digital dengan Stream Cipher Berbasiskan pada Fungsi Chaotik Logistic Map, Prosiding Seminar Nasional dan Expo Teknik Elektro 2011, ISSN : 2088-9984 Schneier, B., 1996, Aplied Cryptography 2nd , John Wiley & Sons, New York Setyaningsih, E., Iswahyudi, C., Widyastuti, N., 2012, Image Encryption on Mobile Phone Using Super Encryption Algorithm, TELKOMNIKA Indonesian Journal of Electrical Engineering, Vol. 10, No. 4 Stinson, R., D., 2002, Cryptography Theory and Practice 2nd Edition, CRC Press, Inc, Boca Raton, London. Sutoyo, T., Mulyanto, E., 2009, Teori Pengolahan Citra Digital, Penerbit ANDI, Yogyakarta Trappe, W. Dan Washington, L., 2006, Introduction to Cryptography with Coding Theory 2nd Edition, Prentice Hall, USA Younes, M.A.B. dan Jantan, A., 2008, Image Encryption Using Block-Based Transformation Algorithm, IAENG International Journal of Computer Science, 35:1
17
LAMPIRAN I PERSONALIA PENELITI
TIM PELAKSANA Tim pelaksana dalam kegiatan penelitian ini terdiri dari 1 (satu) orang Ketua Pelaksana, 1 (satu) orang anggota pelaksana dan 2 (dua) orang mahasiswa yang dilibatkan untuk membantu pelaksanaan kegiatan, dengan susunan Tim Pelaksana sebagai berikut : Ketua Pelaksana Nama NIK/NIDN Pangkat / golongan Jabatan Fungsional Jurusan / Prodi Bidang Keahlian
: Edhy Sutanta, S.T., M.Kom. : 96.0372.515.E / 05-080372-01 : Pembina Tk. I / IVb : Lektor Kepala : Teknik Informatika : Basis Data
Tanda tangan
Anggota Pelaksana Nama NIK/NIDN Pangkat / golongan Jabatan Fungsional Jurusan / Prodi Bidang Keahlian
: Catur Iswahyudi, S.Kom, S.E, M.Cs. : 93.0673.467.E / 05-190673-01 : Penata Muda / IIIb : Asisten Ahli : Teknik Informatika : Multimedia dan Pengolahan Citra
Tanda tangan
Mahasiswa yang dilibatkan Nama : Rahman Yoga Wijaya NIM : 091051062 Jurusan / Prodi : Teknik Informatika
Nama NIM Jurusan / Prodi
: Dewi Fajar Nugraheni : 101051017 : Teknik Informatika
18
Tanda tangan
Tanda tangan
LAMPIRAN II KEBUTUHAN BIAYA PENELITIAN Pembiayaan penelitian yang diajukan sebesar Rp. 5.930.000,- (lima juta sembilan ratus tiga puluh ribu rupiah). Adapun rincian kebutuhan biaya penelitian diperlihatkan dalam Tabel 7. Tabel 7. Rincian kebutuhan biaya penelitian 1
2
3
4
Honor Peneliti a. Peneliti utama : 10 j/mgg x 3 mgg/bl x 3 bl x Rp. 7.500/j b. Peneliti anggota : 10 j/mgg x 3 mgg/bl x 3 bl x Rp. 5.500/j Total Honor Peneliti Peralatan penunjang Smartphone / Tablet Android
675.000 495.000 1.170.000
Total Peralatan
2.000.000 2.000.000
Total Lain-lain
1.500.000 1.500.000
Dokumentasi, laporan dan publikasi : HVS 2 rim x @ Rp. 30.000,Cartridge printer 2 buah @ Rp. 250.000,Penggandaan dan penjilidan laporan Publikasi jurnal nasional Total dokumentasi, laporan dan publikasi Total Anggaran
60.000 500.000 300.000 400.000 1.260.000 5.930.000
Lain-lain Biaya pengembangan aplikasi, 2 mhs
19
DRAFT ARTIKEL ILMIAH ENKRIPSI CITRA BERBASIS CHAOS MENGGUNAKAN METODE TRANSFORMASI BERBASIS BLOK PADA TELEPON SELULER 1)
Edhy Sutanta, 2) Catur Iswahyudi Teknik Informatika, Fakultas Teknologi Industri Institut Sains & Teknologi AKPRIND Yogyakarta Email : 1)
[email protected], 2)
[email protected] 1) 2)
INTISARI Pada saat ini, keamanan informasi menjadi isu penting dalam penyimpanan dan transmisi data. Salah satu cara mengamankan data adalah dengan teknik kriptografi. Telepon seluler memiliki keterbatasan memory dan sumberdaya komputasi. Algoritma enkripsi modern seperti DES, AES, IDEA menggunakan algoritma yang rumit dan kompleks sehingga kurang cocok untuk enkripsi citra pada telepon seluler. Diperlukan kompromi antara kecepatan, keamanan, dan fleksibilitas. Sistem chaos memiliki perilaku yang sulit ditebak, sensitivitas yang tinggi, serta ergodicity sehingga menjadikan enkripsi berbasis chaos menjadi kandidat skema enkripsi citra yang cepat dan aman. Algoritma enkripsi citra yang diusulkan adalah berbasis chaos menggunakan persamaan logistic map digabungkan dengan transformasi berbasis blok. Hasil percobaan menunjukkan bahwa histogram cipher image memiliki distribusi keragaman dan perbedaan yang signifikan dengan histogram plain image-nya. Hal ini menunjukkan bahwa algoritma enkripsi yang digunakan tidak dapat memberikan petunjuk apa-apa untuk dilakukan statistical attack. Rata-rata nilai entropi, korelasi, dan kualitas enkripsi menunjukkan bahwa sistem enkripsi yang diusulkan cukup memuaskan. Hasil percobaan juga membuktikan bahwa karakteristik chaos yang sensitif terhadap nilai awal memberikan keamanan yang bagus dari serangan exhaustive attack. Perubahan sangat kecil pada kunci menyebabkan hasil dekripsi salah, sehingga cipher image tidak dapat dikembalikan ke plain image. Aplikasi berhasil diimplementasikan pada telepon seluler dengan konsumsi memory yang relatif kecil serta proses yang cepat. Oleh sebab itu, tujuan penelitian untuk mendapatkan algoritma enkripsi yang aman, cepat, dan hemat sumberdaya komputasi dapat dikatakan tercapai. Kata kunci : Enkripsi, Chaos, Logistic Map, Transformasi Citra PENDAHULUAN Keamanan informasi menjadi isu penting dalam penyimpanan dan transmisi data. Penggunaan data citra pun semakin luas dalam berbagai bidang. Oleh karena itu, pengamanan data citra dari akses yang tidak berhak menjadi hal yang penting (Krikor dkk., 2009). Teknik kriptografi dapat digunakan untuk memenuhi aspek kerahasiaan pesan yang dikirim, yaitu pesan yang dikirim hanya dapat dibaca oleh penerima yang memiliki hak untuk mengetahui isi pesan tersebut dengan menggunakan kunci rahasia. Walaupun demikian, enkripsi tidak dapat mencegah intersepsi dan modifikasi data pada saluran komunikasi. Enkripsi tidak mampu melindungi saluran komunikasi dari para pendengar rahasia (eavesdropper) untuk mengekstrak data rahasia (Chang Lo, 2007). Kompleksitas komputasi menjadi perhatian penting dalam pengembangan teknik kriptografi di tengah keterbatasan bandwidth pada jaringan nirkabel, keterbatasan pemroses, memory, dan waktu. Oleh sebab itu, diperlukan kompromi (tradeoff) antara kecepatan, keamanan, dan fleksibilitas (Jolfaei dan Mirghadri, 2011). Di sisi lain, piranti bergerak (mobile devices) memiliki sejumlah keterbatasan, antara lain memory yang kecil dan daya komputasi yang terbatas. Oleh sebab itu mayoritas algoritma enkripsi modern yang umum seperti DES, AES, IDEA tidak cocok untuk penyandian data berupa citra pada piranti bergerak (Jagdale dkk., 2010). Alasan kedua karena kecepatan proses enkripsi yang lambat. Hal ini terkait data berupa citra memiliki ciri–ciri khusus seperti kapasitas besar, redudansi tinggi, dan korelasi antar piksel yang tinggi (Krikor dkk., 2009). Sistem enkripsi chaos mempunyai kecepatan yang tinggi dengan biaya yang rendah, sehingga membuat chaos menjadi kandidat yang lebih baik daripada metode enkripsi lainnya untuk enkripsi data multimedia (Liu dkk., 2009) (Gupta, 2009) (Awad, 2010) (Jolfaei, 2011).
20
Permasalahan yang menjadi fokus utama pembahasan yaitu bagaimana mengembangkan algoritma enkripsi citra berbasis chaos yang dianalisis berdasarkan aspek korelasi, entropi, histogram warna, kualitas enkripsi, waktu proses, serta kebutuhan memory dan dapat diimplementasikan pada telepon seluler dengan proses yang cepat dan hemat sumberdaya komputasi. Penelitian dibagi dalam dua tahap, pertama melakukan analisis dan pengujian algoritma enkripsi menggunakan perangkat lunak Matlab untuk mengetahui nilai-nilai korelasi, entropi informasi, histogram warna, dan kualitas enkripsi. Tahap kedua adalah mengimplementasikan pada telepon seluler menggunakan bahasa pemrograman JME untuk mengetahui waktu proses dan kebutuhan memory. Younes dan Jantan (2008) memperkenalkan algoritma enkripsi citra yang menggabungkan antara algoritma transformasi berbasis blok dengan algoritma enkripsi Blowfish. Transformasi berbasis blok dilakukan dengan tujuan untuk memperkecil korelasi antar piksel serta meningkatkan nilai entropi. Gupta dan Silakari (2009) mengusulkan enkripsi citra dengan menggunakan algoritma transformasi berbasis blok yang digabungkan dengan algoritma enkripsi berbasis chaos. Transformasi dilakukan dengan cara membagi citra dalam beberapa blok kemudian diacak posisinya, dilanjutkan dengan mengenkrip citra piksel demi piksel dikombinasikan dengan kunci rahasia berukuran 256-bit secara berulang menggunakan fungsi logistik. Liu, dkk. (2009) mengusulkan algoritma enkripsi citra berbasis chaos dengan menggunakan coupled chaotic map yang dikembangkan atas dasar fungsi logistic map. Penelitian ini beroperasi dalam mode stream cipher. Awad dan Sadane (2010) memperkenalkan metode permutasi berbasis chaos untuk enkripsi citra memanfaatkan logistic map dan linear chaotic map yang diterapkan dengan teknik yang baru. Jolfaei dan Mirghadri (2011) memperkenalkan skema enkripsi yang menggabungkan pengacakan piksel dan modifikasi simplified AES yang bertujuan untuk memperoleh algoritma enkripsi yang sederhana, cepat dan aman untuk enkripsi citra. Hasil eksperimen yang dilakukan oleh Munir (2011) memperlihatkan bahwa algoritma enkripsi berbasis fungsi chaotic logistic map dapat mengenkripsi citra dengan baik dan mendekripsinya kembali tepat sama seperti citra semula. Percobaan perubahan parameter nilai chaos memperlihatkan bahwa algoritma ini aman dari serangan exhaustive attack. Penelitian algoritma enkripsi citra digital pada telepon seluler juga pernah dilakukan oleh Setyaningsih, dkk. (2012). Algoritma yang dikembangkan adalah algoritma super enkripsi yang menggabungkan Playfair cipher dan Vigenere cipher. Untuk meningkatkan keamanan, digunakan generator keystream untuk mengacak urutan kunci dalam cipher Vigenere. Pengujian dilakukan pada ponsel menggunakan bahasa pemrograman JME. Kriptografi berbasis chaos berdasarkan sistem non-linier dengan kedinamisan yang kompleks atau map yang deterministik tetapi sederhana membuat chaos dapat menyediakan pengamanan data yang baik dan cepat, khususnya untuk transmisi data multimedia (Borujeni dan Eshghi, 2009) (Liu dkk., 2009). Karena perilaku sistem chaos yang sulit ditebak, sensitivitas yang tinggi, serta ergodicity menjadikan enkripsi berbasis chaos menjadi kandidat skema enkripsi citra yang cepat dan aman (Jolfaei dan Mirghadri, 2011). Teknik enkripsi berbasis chaos juga cocok untuk diterapkan pada telepon seluler karena menyediakan kombinasi yang baik antara kecepatan, pengamanan yang tinggi, kompleksitas, reasonable computational overhead, dan computional power (Borujeni dan Eshghi, 2009). Menurut teori Shannon, algoritma kriptografi harus memiliki dua kekuatan untuk menghambat analisis statistik (Trappe dan Washington, 2006) yaitu : Konfusi atau pembingungan yang berarti bahwa kunci yang digunakan dalam enkripsi tidak berelasi dengan ciphertextnya. Difusi atau peleburan berarti bahwa jika terjadi perubahan sebuah karakter pada plaintext, maka beberapa karakter pada ciphertext juga akan berubah. Demikian pula sebaliknya, jika terjadi perubahan sebuah karakter pada ciphertext, maka beberapa karakter pada plaintext juga akan berubah. Secara umum berdasarkan kesamaan kuncinya, algoritma kriptografi dibedakan menjadi dua, yaitu (Trappe dan Washington, 2006) algoritma kunci simetrik (symmetric key), adalah 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, AES atau Rijndael, Serpent dan Twofish. Algoritma asimetrik (public key), adalah 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. Kriptografi modern menggunakan dua buah kunci. Satu kunci disebut kunci publik (public key) yang dapat dipublikasikan, sedang kunci yang lain disebut kunci privat (private key) harus dirahasiakan. Dengan demikian kriptosistemnya akan terdiri atas algoritma dan kunci, beserta
21
segala plaintext dan ciphertext-nya. Kriptografi modern lebih menitikberatkan pada kerahasiaan kunci yang digunakan pada algoritma tersebut (oleh pemakainya) sehingga algoritma tersebut dapat saja disebarkan ke kalangan masyarakat tanpa takut kehilangan kerahasiaan bagi para pemakainya. (Stinson, 1995). Teknik enkripsi citra bertujuan untuk mengkonversi citra ke bentuk lain sehingga sulit dipahami. Sedangkan teknik dekripsi digunakan untuk mengembalikan citra terenkripsi menjadi citra asli. Terdapat banyak sistem enkripsi citra untuk melakukan enkripsi dan dekripsi, namun tidak ada algoritma enkripsi tunggal yang memuaskan untuk berbagai tipe citra (Gupta, 2009). Sejak tahun 1990 banyak peneliti mengetahui bahwa ada keterkaitan antara chaos dan kriptografi. Hal ini bisa dilihat dari persamaan properti pada fungsi chaos dengan properti pada kriptografi. Properti pada fungsi chaos yang utama adalah sensitivity dependent on initial condition/control artinya apabila dimasukkan beberapa nilai awal dengan perbedaan yang sangat kecil, akan mengakibatkan kunci yang dihasilkan memiliki perbedaan yang sangat signifikan. Sifat ini memenuhi tuntutan difusi pada kriptografi, sesuai teori Shannon. Akan tetapi kita masih dapat membangkitkan kembali nilai kunci yang sama selama inputan awal dan algoritma yang digunakan sama. Sifat ini disebut deterministik. Adanya sifat deterministik ini membuat chaos cocok untuk mengenkripsi data berbentuk citra karena akan didapatkan citra hasil dekripsi yang lebih baik. Properti kedua adalah ergodicity yang memenuhi sifat konfusi pada kriptografi karena nilai output yang dihasilkan memiliki distribusi yang sama untuk setiap nilai input yang diberikan. Kriptografi berbasis chaos berdasarkan sistem non-linier dengan kedinamisan yang kompleks atau map yang deterministik tetapi sederhana membuat chaos dapat menyediakan pengamanan data yang baik dan cepat, khususnya untuk transmisi data multimedia (Borujeni dan Eshghi, 2009). Masalah yang muncul dari bilangan acak dengan chaos adalah nilainya yang berupa bilangan riil antara 0 dan 1, sedangkan kriptografi citra beroperasi dalam himpunan bilangan bulat antara 0 sampai 255. Agar barisan nilai chaos dapat dipakai untuk enkripsi dan dekripsi, maka nilai chaos dikonversi ke integer. T (x, size) = ⎜⎜x * 10 count ⎜⎜, x ≠ 0 (1) dimana : x adalah angka chaos, size adalah panjang angka Nilai chaos dikalikan dengan 10 berulang kali sampai mencapai panjang angka (size), kemudian memotong hasil perkalian tersebut untuk mengambil bagian integernya saja. Nilai count dimulai dari 1 dan bertambah 1 hingga x * 10count > 10 size-1. Hasilnya kemudian diambil bagian integernya saja, misalkan || 1234.678 || = 1234. Persamaan chaos digunakan untuk membangkitkan aliran kunci (key stream) bilangan acak yang digunakan untuk me-mask nilai-nilai piksel plain image, dengan cara mengiterasi persamaan chaos berdasarkan nilai awal yang diberikan. Salah satu fungsi chaos sederhana adalah persamaan logistik di dalam ekologi yang digunakan untuk mensimulasikan pertumbuhan populasi spesies. Fungsi tersebut dapat dinyatakan dalam bentuk iteratif : (Munir, 2006) xi+1 = r xi (1 – xi) (2) dimana : xi : bilangan diantara 0 dan 1, yang merepresentasikan populasi pada tahun ke i. Parameter x disebut juga sebagai nilai chaos (0 ≤ x ≤ 1). r : bilangan positif yang merepresentasikan kombinasi antara nilai reproduksi dan makanan. Parameter r disebut juga dengan laju pertumbuhan (0 ≤ r ≤ 4). Pemilihan nilai r (atau μ) sangat mempengaruhi dinamika sistem yang berdampak pada kondisi acak sempurna pada sistem. Penelitian yang dilakukan oleh Liu dkk. (2009) menyebutkan bahwa nilai μ yang ideal untuk mencapai kondisi tersebut adalah μ ∈ 3.569945,4. Sementara Awad dan Saadane (2010) menyatakan bahwa untuk mendapatkan kondisi acak sempurna nilai μ harus lebih besar dari 3.569945672. Analisis dan pengujian algoritma enkripsi dilakukan menggunakan beberapa parameter yaitu korelasi, entropi, histogram warna, kualitas enkripsi, serta waktu proses dan kebutuhan memory pada telepon seluler. Penjelasan masing-masing aspek analisa sebagai berikut : a. Korelasi. Penghitungan korelasi dan entropi dilakukan untuk menilai kualitas citra hasil enkripsi. Semakin rendah korelasi antar piksel dan semakin tinggi entropinya, maka sistem enkripsi dapat dikatakan aman. Korelasi dihitung menggunakan rumus (Younes, 2008) : r=
[n∑ ( x
n∑ ( xy) − ∑ x ∑ y
2
][
) − (∑ x ) n ∑ ( y ) − (∑ y ) 2
2
2
(3)
]
dimana : r : nilai korelasi n : jumlah data
22
Σxy : jumlah perkalian x dan y Σx : jumlah data x Σy : jumlah data y Σx2 : jumlah data x kuadrat Σy2 : jumlah data y kuadrat b. Entropi. Teori informasi merupakan teori matematik dalam komunikasi data yang dikemukakan oleh Shannon pada tahun 1949 (Stinson, 1995). Entropi dari pesan dapat dihitung dengan rumus (Younes, 2008) : G −1
H e = −∑ P(k ) log 2 ( P (k ))
(4)
k =0
dimana : He : entropi G : nilai keabuan dari citra (0..255) P(k) : peluang kemunculan simbol ke-k c. Analisis histogram. Analisis histogram warna digunakan untuk melihat kesesuaian distribusi warna antara plain image dengan cipher image. Pengukuran tingkat kemiripan dilakukan dengan menghitung jarak antar histogram, dengan rumus jarak Euclidean (Sutoyo, 2009) :
d=
n
∑{(r i =1
1 i
− ri 2 ) + ( g i1 − g i2 ) + (bi1 − bi2 )}
(5)
dimana : n : jumlah piksel ri1 , g i1 , dan bi1 : komponen RGB warna pertama
ri 2 , g i2 , dan bi2 : komponen RGB warna kedua. Citra dengan nilai jarak yang lebih kecil dianggap memiliki tingkat kemiripan komposisi warna yang lebih tinggi atau lebih mirip dibandingkan dengan citra yang memiliki nilai jarak yang lebih besar. d. Kualitas Enkripsi. Pengukuran kualitas enkripsi dilakukan dengan membandingkan nilai piksel citra sebelum dan sesudah dienkripsi. Kualitas enkripsi merepresentasikan jumlah rata-rata perubahan setiap derajat keabuan, dihitung menggunakan rumus (Jolfaei dan Mirghadri, 2010): 255
EQ =
∑H L =0
dimana : EQ P C L HL (P) HL (C)
L
(C ) − H L ( P) (6)
256 : kualitas enkripsi : plain image : cipher image : derajat keabuan : jumlah kejadian untuk setiap L pada plain image : jumlah kejadian untuk setiap L pada cipher image
PEMBAHASAN Rancangan Skema Algoritma Enkripsi dan Dekripsi Algoritma yang diusulkan menggabungkan antara transformasi citra berbasis blok dengan pembangkitan kunci berbasis chaos menggunakan persamaan logistik. Transformasi berbasis blok dilakukan dengan tujuan untuk memperkecil korelasi antar piksel serta meningkatkan nilai entropi. Caranya adalah dengan membagi citra menjadi beberapa blok piksel kemudian mengacak posisi blok tersebut sebelum kemudian dilanjutkan dengan proses enkripsi menggunakan persamaan logistik. Proses enkripsi diawali dengan pemilihan jumlah blok (n) untuk membagi citra menjadi n blok sehingga menyerupai puzzle. Pemilihan jumlah blok harus memenuhi persyaratan sehingga jumlah baris dan jumlah kolom citra habis dibagi dengan nilai blok yang dipilih. Selanjutnya sistem akan membangkitkan deretan kunci acak (stream) sepanjang n x n yang dipergunakan untuk mengacak posisi blok. Nilai n dapat dikatakan sebagai kunci pertama. Langkah berikutnya adalah pemilihan initial value yang terdiri dari tiga variabel r, X0, dan size. Parameter r nilainya berkisar 0 ≤ r ≤ 4 (Liu dkk., 2009). Peubah X0 merupakan bilangan awal yang nilainya diantara 0 dan 1, yang disebut juga sebagai nilai chaos. Sedangkan size merupakan
23
jumlah digit yang digunakan dalam konversi nilai chaos ke integer dengan menggunakan persamaan 1. Nilai r, X0, dan size dapat dikatakan sebagai kunci kedua. Proses pembangkitan kunci menggunakan persamaan 2. Skema algoritma enkripsi yang diusulkan diperlihatkan dalam Gambar 1.
Gambar 1. Rancangan algoritma enkripsi Skema algoritma untuk dekripsi citra ditampilkan dalam Gambar 2.
Gambar 2. Rancangan algoritma dekripsi
Data dan Alat Penelitian Percobaan dilakukan menggunakan citra format BMP dan JPG berukuran 256x256 piksel dan 640x480 piksel, yang dibedakan berdasarkan karakteristik tingkat kecerahan, tingkat kontras, dan tingkat detil citra. Telepon seluler yang digunakan untuk implementasi algoritma adalah IMO Z5 dengan OS Android 4 ICS, memory internal 512 MB, prosesor 1 GHz.
Analisis Algoritma Enkripsi Analisis algoritma enkripsi dan dekripsi menggunakan Matlab dimaksudkan untuk mengetahui apakah algoritma yang diusulkan cukup aman untuk diimplementasikan pada telepon seluler, dengan menggunakan beBerapa parameter analisis yaitu korelasi, entropi, histogram warna, dan kualitas enkripsi. Kondisi awal pengujian menggunakan data-data sebagai berikut : - Jumlah blok (n) :4 - Nilai awal chaos (x0) : 0,00230872 - Laju pertumbuhan (r) : 3,569945 - Jumlah digit (size) :4
24
Untuk menguji kepekaan terhadap perubahan pada kondisi awal pengujian, maka nilai awal chaos (X0) yang semula bernilai 0,00230872 pada saat enkripsi, maka dilakukan pengujian dengan berbagai nilai X0 yang dekat dan jauh dari nilai semula. Hasil pengujian diperlihatkan pada Tabel 1. Hasil pengujian juga menunjukkan bahwa citra asli tidak dapat terlihat setelah dilakukan proses enkripsi, serta keteracakan warna dan perubahan intensitas warna yang cukup signifikan. Hal ini menunjukkan bahwa proses enkripsi berhasil dengan baik untuk semua kelompok citra yang diujikan. Tabel 1. Hasil uji visual citra Hasil Kelompok citra
Citra Asli
Citra Hasil Enkripsi
Cerah
Gelap
Detil
Tidak detil
Berdasarkan analisis histogram warna yang digunakan untuk melihat kesesuaian distribusi warna antara plain image dengan cipher image didapatkan hasil seperti terlihat pada Tabel 2. Hasil uji visual pada histogram cipher image juga terlihat frekuensi kemunculan masing-masing nilai intensitas citra merata, hal ini menunjukkan bahwa algoritma enkripsi yang digunakan tidak dapat memberikan petunjuk apa-apa untuk dilakukan statistical attack oleh kriptanalis. Tabel 2. Analisis histogram Citra
Histogram Citra Asli
25
Histogram Citra Hasil Enkripsi
Parameter uji statistik yang digunakan dalam pengujian meliputi korelasi (Ic), entropi (He), dan kualitas enkripsi (Eq). Hasil pengujian statistik dapat dilihat pada Tabel 3. Tabel 3. Hasil uji statistik (a) Ukuran 640x480, (b) ukuran 256x256 Nama File Airplane.jpg Kuda Poni.jpg Kamboja.jpg Matador.jpg Satelit.jpg Rata‐rata
Hasil Pengukuran Nilai He 7,887 7,932 7,975 7,975 7,978 7,949
Eq 1475,62 1442,91 997,857 1057,43 899,302 1174,624
Ic 0,00015 0,00491 ‐0,00089 ‐0,00701 ‐0.00748 ‐0,00071
(a)
Nama File Androm.bmp Baboon.bmp Crowded.bmp Jelly.bmp Lenna.bmp Rata‐rata
Hasil Pengukuran Nilai He 7,587 7,983 7,985 7,68 7,918 7,833
Eq 380,122 193,263 130,781 378,404 254,753 267,465
Ic 0,00579 0,00072 ‐0,00969 0,00585 ‐0.00091 0,00066
(b)
Tabel 3 memperlihatkan rata-rata nilai entropi adalah 7,949 dan 7,833. Berdasarkan hasil penelitian Jolfae dan Mirghadri (2011), jika sebuah informasi dienkripsi dan dalam kondisi teracak maka nilai entropi yang ideal adalah ≈ 8. Berdasarkan teori tersebut maka algoritma enkripsi yang dirancang ini aman dari serangan entropi atau sulit ditebak oleh kriptanalis karena nilainya sangat dekat dengan 8. Dari Tabel 3 juga terlihat bahwa nilai korelasi antara plain image dengan cipher image rata-rata -0,00071 dan 0,00066. Karena rata-rata korelasinya mendekati nol maka keterkaitan antara plain image dan cipher image dikatakan tidak ada. Hasil tersebut menunjukkan bahwa sistem enkripsi yang diusulkan sesuai dengan teori perfect secrecy yang dikemukakan oleh Shannon, yaitu semakin rendah korelasi antar piksel dan semakin tinggi entropinya, maka sistem enkripsi dapat dikatakan aman (Stinson, 1995). Hasil percobaan juga menunjukkan kualitas enkripsi cukup tinggi yang berarti tingkat perubahan piksel-nya pun juga tinggi sehingga sistem ini dapat dikatakan efektif dan aman. Pengaruh jumlah blok terhadap citra hasil enkripsi Percobaan untuk mengetahui pengaruh jumlah blok (n) terhadap nilai korelasi dan entropi dilakukan dengan variasi jumlah blok (n) sebanyak 4, 8, 16, 32 dan 64 blok, sedangkan variabel pengujian lainnya tetap (sesuai kondisi awal pengujian). Dengan perubahan jumlah blok dari 4 menjadi 8, tidak terlihat perbedaan yang signifikan pada histogram citra hasil enkripsi. Namun secara visual terdapat perbedaan pada citra hasil enkripsi yang semakin acak. Untuk membuktikan peningkatan nilai entropi sebagai akibat dari penambahan jumlah blok, maka dilakukan pengujian dengan n=16. Hasil pengujian menunjukkan bahwa nilai entropi menjadi 7,583 (sebelumnya 7,587 untuk n=4 dan 7,585 untuk n=8), dan korelasi menjadi 0,0107295 (sebelumnya 0,005796 untuk n=4, dan -0,00682697 untuk n=8). Dengan demikian hingga pengujian dengan n=16 belum diperoleh peningkatan nilai entropi. Pengujian dengan merubah nilai n menjadi 32 juga belum mampu meningkatkan nilai entropi. Sedangkan nilai korelasi menjadi -0,00677666. Namun secara visual memang citra hasil enkripsi menjadi jauh lebih acak. Ringkasan hasil pengujian ditampilkan pada Tabel 4.
26
N=4
Tabel 4. Pengaruh n terhadap hasil enkripsi N=8 N=16
N=32
Nama File
He
Eq
He
He
Eq
Eq
He
Eq
A
797.844
898.807
797.838
797.849
898.391
898.807
797.862
899.622
B
791.841
254.87
791.862
791.936
255.117
254.87
791.874
255.258
Berdasar hasil pengujian dapat disimpulkan bahwa nilai entropy optimal diperoleh pada nilai n=32. Sedangkan kualitas enkripsi optimal diperoleh pada nilai n=8 hingga n=32. Untuk menguji kepekaan terhadap perubahan pada kondisi awal pengujian, maka nilai X0 yang semula bernilai 0,00230872 pada saat proses enkripsi, dirubah menjadi beberapa nilai yang berbeda pada saat proses dekripsi; sedangkan nilai-nilai pada variabel lainnya tetap. Hasil pengujian ditunjukkan oleh Tabel 5.
Citra Asli
Tabel 5. Pengaruh X0 terhadap hasil dekripsi Hasil Dekripsi A B C
D
A. X0=0,0023087016, B. X0=0,00230456, C. X0=0,03230872, D. X0=0,89768990 Hasil percobaan ini membuktikan bahwa karakteristik chaos yang sensitif terhadap nilai awal memang memberikan keamanan yang bagus dari serangan exhaustive attack. Percobaan ini juga menyiratkan bahwa perubahan sangat kecil pada kunci menyebabkan hasil dekripsi salah, apalagi jika kunci dekripsi yang diberikan berbeda jauh nilainya dengan kunci yang sebenarnya. Pengujian pada telepon seluler Implementasi algoritma enkripsi dibangun menggunakan bahasa pemrograman JAVA pada platform Android dilakukan untuk mengetahui kinerja algoritma menggunakan parameter kebutuhan memory dan waktu proses enkripsi dan dekripsi. Waktu proses dihitung dengan membandingkan waktu pada awal sistem dengan waktu setelah proses enkripsi atau dekripsi selesai. Sedangkan kebutuhan memory dihitung dengan membandingkan memory total sebelum proses enkripsi atau dekripsi dengan memory setelah proses enkripsi dan dekripsi. Kedua perhitungan tersebut menggunakan asumsi tidak ada proses yang berjalan di background. Hasil pengujian diperlihatkan pada Tabel 6. Tabel 6. Hasil pengujian di ponsel Waktu proses Memory (Kb) (detik) Citra Enkripsi Dekripsi Enkripsi Dekripsi Airplane.jpg 0,787 0,286 598,14 1049,07 Kudaponi.jpg
0,484
0,281
589,804
1048,785
Kamboja.jpg
0,484
0,281
589,105
1049,07
Matador.jpg
0,483
0,284
589,105
1048,398
Satelit.jpg
0,486
0,292
1119,781
1049,742
Anfrom.bmp
0,486
0,284
1120,789
1049,742
Crowded.bmp
0,494
0,307
1121,011
1048,398
Jelly.bmp
0,484
0,284
589,132
1048,062
Rata2
0,523
0,287
789,608
1048,908
27
Rata-rata waktu enkripsi pada ponsel adalah 0,523 detik, sedangkan rata-rata waktu dekripsi adalah 0,287 detik. Rata-rata memory yang diperlukan saat proses enkripsi adalah 789,608 Kb, sedangkan rata-rata memory yang terpakai pada saat dekripsi adalah 1048,908 Kb. Apabila dikaitkan antara keteracakan citra hasil enkripsi, waktu proses, dan kebutuhan memory pada saat proses enkripsi dan dekripsi pada ponsel, dapat dikatakan algoritma enkripsi yang diusulkan cukup memuaskan, karena tidak membutuhkan waktu proses yang lama serta memory yang relatif kecil. KESIMPULAN 1. Hasil pengujian menunjukkan bahwa algoritma yang diusulkan cukup aman dan dapat diterapkan pada ponsel. Faktor keamanan ditunjukkan oleh hasil analisis statistik yang menunjukkan bahwa rata-rata nilai entropi cukup tinggi yaitu 7,949; nilai korelasi antara plain image dengan cipher image rata-rata bernilai -0,0007081; dan rata-rata kualitas enkripsi sebesar 1174,624. Hasil pengujian juga membuktikan bahwa perubahan nilai awal chaos (X0) memberikan keamanan yang bagus dari serangan exhaustive attack. 2. Aplikasi berhasil diimplementasikan pada telepon seluler dengan konsumsi memory yang relatif kecil serta proses yang cepat. Hal tersebut dibuktikan dengan rata-rata waktu enkripsi adalah 0,523 detik, sedangkan rata-rata waktu dekripsi adalah 0,287 detik. Rata-rata memory yang diperlukan saat proses enkripsi adalah 789,608 Kb, sedangkan rata-rata memory pada saat dekripsi adalah 1048,908 Kb. Oleh sebab itu, tujuan penelitian untuk mendapatkan algoritma enkripsi yang aman, cepat, dan hemat sumberdaya komputasi dapat dikatakan tercapai. UCAPAN TERIMA KASIH Ucapan terima kasih kami sampaikan kepada penanggung jawab Program Hibah Kompetisi Berbasis Institusi Tema B Tahun 2012 di Institut Sains & Teknologi AKPRIND Yogyakarta yang telah mendanai penelitian ini berdasarkan SK nomor : 133/SK/Rek/VII/2012 melalui hibah penelitian. DAFTAR PUSTAKA Awad, A. dan Saadane, A., 2010, New Chaotic Permutation Methods for Image Encryption, IAENG International Journal of Computer Science Borujeni, S. E. dan Eshghi, M., 2009, Chaotic Image Encryption Design Using Tompkins-Paige Algorithm, Hindawi Publishing Corp., Mathematical Problems in Engineering Chang Lo, J., 2007, A framework for cryptography algorithms on mobile devices, Disertasi, Department of Computer Science Faculty of Engineering, Build and Information Technology University Of Pretoria Gupta K. dan Silakari S., 2009, Choase Based Image Encryption Using Block-Based Tranformation Algorithm, International Journal of Computer and Network Security, Vol. 1, No. 3 Jagdale, B.N., Bedi, R.K., Desai S., 2010, Securing MMS with High Performance Elliptic Curve Cryptography, International Journal of Computer Applications (0975 – 8887), Vol. 8– No.7 Jolfaei, A. dan Mirghadri, A., 2010, A New Approach to Measure Quality of Image Encryption, International Journal of Computer and Network Security, Vol. 2, No. 8 Jolfaei, A. dan Mirghadri A., 2011, Image Encryption Using Chaos and Block Cipher, Computer and Information Science, Vol 4, No. 1 Krikor, L., Baba, S., Arif, T., Shaaban, Z., 2009, Image Encryption Using DCT and Stream Cipher, European Journal of Scientific Research, Vol. 32 No. 1, pp. 47-57 Liu, S., Sung, J., Xu, Z., 2009, An Improved Image Encryption Algorithm based on Chaotic System, Journal of Computers, Vol. 4, No. 11 Munir, R., 2006, Kriptografi, Penerbit Informatika, Bandung Munir, R., 2011, Enkripsi Selektif Citra Digital dengan Stream Cipher Berbasiskan pada Fungsi Chaotik Logistic Map, Prosiding Seminar Nasional dan Expo Teknik Elektro 2011, ISSN : 2088-9984 Schneier, B., 1996, Aplied Cryptography 2nd , John Wiley & Sons, New York Stinson, R., D., 2002, Cryptography Theory and Practice 2nd Edition, CRC Press, Inc, Boca Raton, London. Sutoyo, T., Mulyanto, E., 2009, Teori Pengolahan Citra Digital, Penerbit ANDI, Yogyakarta Trappe, W. Dan Washington, L., 2006, Introduction to Cryptography with Coding Theory 2nd Edition, Prentice Hall, USA
28
Younes, M.A.B. dan Jantan, A., 2008, Image Encryption Using Block-Based Transformation Algorithm, IAENG International Journal of Computer Science, 35:1
29