Saya sedang melakukan riset pengembangan beberapa algoritma enkripsi khusus untuk citra digital. Teknik enkripsi yang diinginkan adalah enkripsi selektif. Enkripsi selektif adalah mengenkripsi hanya sebagian elemen citra namun efeknya keseluruhan citra terenkripsi. Di bawah ini saya paparkan sebuah teknik enkripsi selektif dalam ranah spasial. Tulisan ini saya ambil sebagian dari makalah yang saya presentasikan di dalam konferensi SITIA 2012 di Kampus ITS Surabaya beberapa waktu yang lalu.
~~~~~~~~~~~~~~~~~~
1. PENDAHULUAN
Enkripsi citra bertujuan melindungi konten di dalam citra dari pengaksesan ilegal. Obyektif dari enkripsi citra adalah mentransformasikan citra ke dalam bentuk lain yang tidak bermakna sehingga konten di dalam citra tidak dapat dipahami lagi secara visual.
Mengenkripsi citra dengan algoritma enkripsi konvensional untuk data teks seperti DES, AES, Blowfish, dan lain-lain kurang cocok untuk aplikasi komunikasi yang real-time, sebab citra umumnya bervolume data sangat besar sehingga proses enkripsinya menjadi lambat. Oleh karena itu, solusi untuk masalah ini adalah dengan menggunakan konsep enkripsi selektif (atau sebagian) sebagai lawan dari enkripsi total [2]. Dengan teknik enkripsi selektif hanya sebagian komponen citra yang perlu dienkripsi namun sebagai efeknya citra dienkripsi secara keseluruhan. Tujuan enkripsi selektif jelas untuk meminimalkan volume komputasi selama proses enkripsi dan dekripsi.
Enkripsi selektif dapat dilakukan dalam ranah spasial atau dalam ranah frekuensi. Klasifikasi dan ringkasan beberapa algoritma enkripsi selektif dapat ditemukan di dalam [5], sedangkan performansi algoritmanya dapat dibaca di dalam [3].
Menurut [6], kebanyakan algoritma enkripsi citra dapat dikelompokkan menjadi dua golongan: (a) algoritma enkripsi selektif non-chaos, dan (b) algoritma enkripsi selektif atau non-selektif yang berbasis chaos. Chaos menjadi topik yang atraktif di dalam kriptografi karena tiga alasan: (1) sensitivitas terhadap kondisi awal, (2) berkelakuan acak, dan (3) tidak memiliki periode berulang. Penggunaan chaos di dalam kriptografi dapat menghasilkan efek confusion dan diffusion seperti yang disyaratkan oleh Shanon [8].
Kebanyakan skema enkripsi berbasis chaos menggunakan fungsi chaos (chaotic map) sebagai pembangkit barisan bilangan semi-acak (pseudo-random) yang panjang, kemudian barisan bilangan acak tersebut digunakan untuk mengenkripsi plainteks. Review beberapa algoritma enkripsi citra yang berbasis chaos dapat ditemukan di dalam [4].
Makalah ini membahas sebuah algoritma enkripsi selektif citra digital pada ranah spasial berbasis chaos. Sistematika makalah disusun menjadi tiga. Yang pertama adalah pendahuluan, bagian kedua adalah enkripsi selektif pada bit-bit MSB, dan bagian ketiga adalah eksperimen dan pembahasan hasil.
2. ENKRIPSI SELEKTIF PADA BIT-BIT MSB
Nilai pixel pada koordinat (x, y) menyatakan intensitas nilai keabuan pada posisi tersebut. Pada citra grayscale nilai keabuan itu dinyatakan dalam integer berukuran 1 byte sehingga rentang nilainya antara 0 sampai 255. Pada citra berwarna 24-bit setiap pixel tediri atas kanal red, green, dan blue (RGB) sehingga setiap pixel berukuran 3 byte (24 bit).
Di dalam setiap byte bit-bitnya tersusun dari kiri ke kanan dalam urutan yang kurang berarti (least significant bits atau LSB) hingga bit-bit yang berarti (most significant bits atau MSB). Susunan bit pada setiap byte adalah b7b6b5b4b3b2b1b0. Jika setiap bit ke-i dari MSB ke LSB pada setiap pixel diekstrak dan diplot ke dalam setiap bitplane image maka diperoleh delapan buah citra biner. Misalnya bila dilakukan pada citra ‘cameraman’ (Gambar 1(a)) maka setiap bitplane image ditunjukkan pada Gambar 1(b) hingga 1(i). Gambar 1(b) hingga 1(f) yang diambil dari bit-bit MSB masih dapat memperlihatkan wujud objek di dalam citra sedangkan Gambar 1(g) hingga 1(i) yang diambil dari bit-bit LSB sudah terlihat seperti citra acak.
Berdasarkan hasil ekstraksi bit-bit tersebut dapat disimpulkan bahwa pengubahan bit-bit MSB dapat membuat citra menjadi “rusak” atau tidak dapat dikenali lagi, sedangkan pengubahan bit-bit LSB tidak mempengaruhi citra secara keseluruhan. Oleh karena itu hanya bit-bit MSB saja yang dipilih untuk dienkripsi sebab dengan hanya mengenkripsi bit-bit tersebut maka keseluruhan citra menjadi tidak dapat dikenali lagi.
Jumlah bit MSB yang dienkripsi mempengaruhi tingkat keamanan. Jika hanya satu bit yang dienkripsi, maka tujuh bit sisanya (yang tidak ikut dienkripsi) masih dapat memperlihatkan wujud objek di dalam citra, sehingga tingkat keamanannya rendah. Oleh karena itu setelah enkripsi 1-bit MSB masih diperlukan prosedur permutasi tambahan untuk mengacak pixel agar diperoleh efek confusion [7].
Tao Xiang di dalam makalahnya menyebutkan bahkan enkripsi lebih dari dua bit MSB (tanpa prosedur pengacakan sesudahnya) masih tetap belum menjamin confidentiality citra. Untuk memperoleh keseimbangan antara tingkat keamanan dan pertimbangan performansi komputasi, maka enkripsi empat bit MSB (yaitu b7b6b5b4 )merupakan pemilihan yang optimal [1]. Dengan mengenkripsi hanya 4-bit MSB berarti cukup hanya dienkripsi 50% saja dari keseluruhan citra untuk memperoleh citra terenkripsi namun tingkat keamanannya tetap terjamin.
3. EKSPERIMEN DAN PEMBAHASAN HASIL
Setelah membahas teknik enkripsi selektif dalam ranah spasial, selanjutnya dilakukan implementasi algoritma tersebut. Algoritma enkripsinya seperti stream cipher namun enkripsi dilakukan per 4-bit setiap kali. Sebagai keystream generator adalah pembangkit bilangan acak berbasis chaos. Dalam hal ini, setiap 4-bit MSB dari setiap pixel di-XOR-kan dengan 4-bit keystream. Pada proses dekripsi, setiap 4-bit pixel dari cipher-image di-XOR-kan dengan 4-bit keystream. Untuk citra berwarna prosesnya dilakukan tiga kali, masing-masing untuk kanal red (R), green (G), dan blue (B).
Selanjutnya dilakukan simulasi enkripsi selektif pada citra uji, baik citra graysscale maupun citra berwarna. Dua buah citra standard yang digunakan adalah ‘Barbara’ (grayscale) dan ‘Lena’ (berwarna) yang keduanya berukuran 512 x 512 (Gambar 2), dan citra ketiga adalah ‘Taj Mahal’ yang berukuran 768 x 573.
Citra hasil enkripsi (cipher-image) untuk ketiga citra uji di atas diperlihatkan pada Gambar 3. Citra hasil enkripsi terlihat sebagai citra acak dan sudah tidak bisa dikenali lagi. Dekripsi terhadap cipher-image menghasilkan kembali tepat seperti citra paad Gambar 1.
Analisis Histogram
Histogram merupakan properti citra yang penting sebab sebuah histogram memperlihatkan distribusi intensitas pixel di dalam citra tersebut. Untuk citra plain-image histogramnya membentuk suatu pola yang khas, yaitu ada puncak-puncak dan lembah-lembah. Untuk mencegah penyerang menggunakan histogram untuk melakukan analisis freluensi, maka histogram plain-image dan histogram cipher-image seharusnya tidak memiliki kemiripan secara statistik. Oleh karena itu, histogram cipher-image seharusnya relatif datar (flat) sehingga tahan terhadap serangan statistik. Distribusi yang relatif uniform pada cipher-image adalah sebuah indikasi bahwa algoritma enkripsi citra memiliki kualitas yang bagus [9].
Gambar 4(a) memperlihatkan histogram citra ‘Barbara’ sebelum dienkripsi, dan Gambar 4(b) adalah histogram cipher-image-nya. Dapat dilihat bahwa histogram cipher-image memiliki distribusi uniform yang mana berbeda dengan histogram plain-image.
Gambar 5(a) sampai 5(c) memperlihatkan histogram citra ‘Lena’ (plain-image) untuk setiap kanal warna RGB dan Gambar 5(d) sampai 5(f) adalah histogram masing-masang kanal warna pada cipher-image. Sama seperti citra ‘Barbara’, histogram cipher-image pada setiap kanal RGB juga terlihat flat atau terdistribusi uniform.
Gambar 6(a) memperlihatkan histogram citra ‘Taj Mahal’ (plain-image) dan Gambar 8(b) adalah histogram cipher-image-nya. Sedikit berbeda dengan histogram cipher-image dari dua citra sebelumnya, histogram cipher-image dari ‘Taj Mahal’ memiliki distribusi yang relatif uniform.
Berdasarkan hasil-hasil analisis histogram di atas dapat disimpulkan bahwa cipher-image memiliki histogram yang (relatif) flat sehingga menyulitkan penyerang melakukan analisis statistik untuk mendeduksi pixel atau kunci. Hasil ini menunjukkan bahwa algoritma enkripsi citra yang diusulkan ini memiliki keamanan yang bagus.
DAFTAR REFERENSI
[1] Tao Xiang, Kwok-wo Wong, Xiaofeng Liao, Selective Image Encryption Using a Spatiotemporal Chaotic System, Chaos Volume 17, 2007.
[2] Nidhi S Kulkarni, Balasubrmanian Raman, Indra Gupta, Selevtive Encryption of Multimedia Images, Proc. Of XXXII National Systems Conference, NSC 2008, December 17-19, 2008.
[3] Jolly Shah, Vikas Saxena, Performance Study on Image Encryption Schemes, International Journal of Computer Science Issues, Vol 8, Issue 4, No 1, July 2011.
[4] Monisha Sharma, Manoj Kumar Kowar, Image Encryption Techniques Using Chaotic Schemes: A Review, International Journal of Engineering Science and Technology, Vol. 2(6), 2010
[5] Xiliang Liu, Selective Encryption of Multimedia Contentn in Distribution Networks: Challenges and New Directions, Proc. of Conference of Communications, Internet, and Information Technology, 2003.
[6] Mohammad Ali Bani Younes, Aman Jantan, Image Encryption Using Block-based Transformation Algorithm, IAENG International Journal of Computer Science, 35: 1, IJCS_32_1_03, 2008.
[7] Rinaldi Munir, Enkripsi Selektif Citra Digital dengan Stream Cipher Berbasiskan pada Fungsi Chaotik Logistic Map, Seminar Nasional dan Expo Teknik Elektro Univeristas Syiah Kuala, Banda Aceh, Oktober 2011.
[8] Bruce Schneier, Applied Cryptography 2nd Edition, Wiley & Sons, 1996.
[9] Alireza Jolfaei, Abdul Rasoul Mirghadri, An Image Encryption Approach Using Chaos and Stream Cipher, Journal of Theoretical and Applied Information Technology, 2010.
[10] James Lampton, Chaos Cryptography: Protecting data Using Chaos, Missisippi School for Mathematics and Science.