PARTISI INFORMASI UNTUK KEAMANAN CITRA BERWARNA MENGGUNAKAN ENKRIPSI RSA DAN PENGACAKAN URUTAN LAYER CITRA
VININTA AYUDIANA FITRIANI
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2012
PARTISI INFORMASI UNTUK KEAMANAN CITRA BERWARNA MENGGUNAKAN ENKRIPSI RSA DAN PENGACAKAN URUTAN LAYER CITRA
VININTA AYUDIANA FITRIANI
Skripsi Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2012
ABSTRACT VININTA AYUDIANA FITRIANI. Information Partition for Color Image Security Using RSA Encryption and Randomization Sequence of Image Layer. Supervised by ENDANG PURNAMA GIRI. A secret image that will be transmitted over the public channel on the internet is vulnerable to the intervention by an unauthorized person. One of the technique to establish the image security is using information partition with RSA encryption. RSA algorithm has a high level of security and difficult to be attack if using a big value of different key pair because it is very hard to factoring the large modulus of n. In this research, each pixel of the secret image is encrypted using 32 byte RSA, which is small value of different keypair. The encryption process result four scrambled images. Each image has three layers that are red, green, and blue, thus the encrypted image has 12 layers. We can’t avoid the detection of image by cryptanalist. The attempt to do is increasing the security of secret image with randomization sequence of image layer using a permutation function. Thus, the original image can’t be decrypted even the security of 32 byte RSA have been attacked. The secret image can only be decrypted by the legitimate receiver. Keywords: Image Security, Information Partition, Permutation, RSA Algorithm, Visual Cryptography.
Judul Skripsi Nama NIM
: Partisi Informasi untuk Keamanan Citra Berwarna Menggunakan Enkripsi RSA dan Pengacakan Urutan Layer Citra : Vininta Ayudiana Fitriani : G64080031
Menyetujui: Pembimbing
Endang Purnama Giri, S.Kom. M.Kom. NIP. 19821010 200604 1 027
Mengetahui, Ketua Departemen Ilmu Komputer
Dr. Ir. Agus Buono, M.Si. M.Kom. NIP. 19660702 199302 1 001
Tanggal Lulus :
KATA PENGANTAR Segala puji bagi Allah subhanahu wata’ala atas segala limpahan rahmat serta karunia-Nya sehingga penyusunan tugas akhir ini dapat diselesaikan dengan baik. Shalawat serta salam penulis sampaikan kepada Nabi Muhammad shallallahu ‘alaihi wasallam, serta kepada keluarganya, sahabatnya, dan para pengikutnya hingga akhir zaman. Penelitian ini berjudul Partisi Informasi untuk Keamanan Citra Berwarna Menggunakan Enkripsi RSA dan Pengacakan Urutan Layer Citra. Penyusunan tugas akhir ini bertujuan melengkapi prasyarat untuk menyelesaikan studi serta untuk mendapatkan gelar S.Kom pada Departemen Ilmu Komputer, Institut Pertanian Bogor. Pada kesempatan ini, penulis mengucapkan banyak terima kasih kepada semua pihak yang telah membantu penulis dalam menyelesaikan tugas akhir ini, terutama kepada: 1
2
3 4 5 6
7
Ibunda Ir. Sri Astuti, Ayahanda Dr. Ir. H. Nur Tjahjadi, M.Sc, Adinda Ramadhan Nur Iman, serta seluruh keluarga yang telah memberikan doa, dukungan, nasihat, perhatian, serta cinta dan kasih sayang kepada penulis. Bapak Endang Purnama Giri, S.Kom. M.Kom selaku dosen pembimbing yang telah memberikan bimbingan, petunjuk, saran, serta motivasi selama penelitian dan penyusunan skripsi ini. Bapak Dr. Wisnu Ananta Kusuma, S.T., M.T. dan Ibu Karlisa Priandana, S.T., M.Eng. selaku dosen penguji yang telah memberi masukan dan saran pada tugas akhir penulis. Arief Hidayatulloh yang telah membantu penulis dalam pengembangan program serta sebagai tempat bertanya dalam menyelesaikan tugas akhir ini. Seluruh staf pengajar dan pegawai Departemen Ilmu Komputer atas bimbingan dan bantuannya. Halimah Tussa’diah, Ulfa Khaira, Kurnia Nuraeni dan rekan-rekan seperjuangan di Ilmu Komputer IPB angkatan 45 atas segala kebersamaan, bantuan, dukungan, serta kenangan bagi penulis selama menjalani masa studi. dan dukungannya. Siti Retnowati Yunita, Ayu Muria, Nurul Khotimah, Indah Mayasari, Indah Kurnia Asi Lestari, Ina, Maeni, Fida, Wulan, Herawati, dan Abdul Hafizh yang telah menjadi sahabat terbaik yang selalu ada dalam suka dan duka.
Penulis berharap penelitian ini dapat memberikan manfaat bagi peneliti Ilmu Komputer dan Institut Pertanian Bogor dalam mengembangkan ilmu pengetahuan yang bermanfaat.
Bogor, November 2012
Vininta Ayudiana Fitriani
RIWAYAT HIDUP Penulis dilahirkan di kota Jakarta pada tanggal 5 November 1990 sebagai anak pertama dari dua bersaudara dari pasangan Nur Tjahjadi dan Sri Astuti. Penulis merupakan lulusan dari SMA Negeri 1 Palembang (2008), SMP Negeri 17 Palembang (2005), SD Negeri Selong 01 Pagi Jakarta Selatan (2002), TK Ysgol Hirael, Bangor, Wales, United Kingdom (1996). Penulis lulus seleksi masuk Institut Pertanian Bogor (IPB) pada tahun 2008 melalui jalur Undangan Seleksi Masuk IPB dan diterima sebagai mahasiswa di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Selama aktif menjadi mahasiswa, penulis menjadi asisten praktikum Sistem Operasi di Departemen Ilmu Komputer IPB pada tahun 2011. Selain itu, penulis pernah menjadi salah satu penanggung jawab Komunitas Java, Himpunan Mahasiswa Ilmu Komputer, FMIPA IPB periode 2010 serta kepanitiaan IT Today periode 2010. Pada tahun 2011, penulis melakukan Praktik Kerja Lapangan di Balai Mesin Produksi Perkakas dan Otomasi Badan Penerapan dan Pengkajian Teknologi, Puspitek, Serpong. Selama kegiatan PKL berlangsung, penulis merancang interface antara software control aerotech ensemble dengan software numerical control menggunakan bahasa pemrograman C#.
DAFTAR ISI Halaman DAFTAR TABEL ................................................................................................................................. vi DAFTAR GAMBAR ............................................................................................................................ vi PENDAHULUAN Latar Belakang ................................................................................................................................... 1 Tujuan Penelitian ............................................................................................................................... 1 Ruang Lingkup Penelitian ................................................................................................................. 2 Manfaat Penelitian ............................................................................................................................. 2 TINJAUAN PUSTAKA Kriptografi ......................................................................................................................................... 2 Kriptografi Visual .............................................................................................................................. 2 Public Key/ Asimetric Key ................................................................................................................ 3 Algoritme RSA (Ron, Shamir, dan Adleman) ................................................................................... 3 METODE PENELITIAN Studi Pustaka ..................................................................................................................................... 4 Perancangan Skema Enkripsi dan Dekripsi Citra Rahasia ................................................................. 4 Implementasi Algoritme Partisi Informasi ......................................................................................... 5 Perancangan Pengujian ...................................................................................................................... 5 Pengujian ........................................................................................................................................... 5 Analisis Waktu Eksekusi ................................................................................................................... 5 HASIL DAN PEMBAHASAN Skema Enkripsi Citra ......................................................................................................................... 5 Skema Dekripsi Citra ......................................................................................................................... 7 Perancangan Pengujian ...................................................................................................................... 7 Pengujian ........................................................................................................................................... 8 Analisis Waktu Eksekusi ................................................................................................................... 9 KESIMPULAN DAN SARAN Kesimpulan .......................................................................................................................................12 Saran .................................................................................................................................................12 DAFTAR PUSTAKA ...........................................................................................................................12
v
DAFTAR TABEL Halaman 1 2 3 4
Waktu eksekusi proses enkripsi citra rahasia dengan permutasi. ....................................................... 9 Waktu eksekusi proses dekripsi citra rahasia dengan permutasi. ....................................................... 9 Waktu eksekusi proses enkripsi citra rahasia tanpa permutasi. .........................................................10 Waktu eksekusi proses dekripsi citra rahasia tanpa permutasi ..........................................................10
DAFTAR GAMBAR Halaman 1 2 3 4 5 6 7 8 9 10
Model kriptosistem konvensional ....................................................................................................... 2 Tahapan penelitian .............................................................................................................................. 4 Alur pengiriman kunci publik ............................................................................................................. 6 Skema enkripsi citra............................................................................................................................ 6 Cara memperoleh kunci permutasi 1 dan kunci permutasi 2 .............................................................. 7 Skema dekripsi citra............................................................................................................................ 8 Grafik waktu eksekusi proses enkripsi citra rahasia dengan permutasi .............................................. 9 Grafik waktu eksekusi proses dekripsi citra rahasia dengan permutasi ............................................ 10 Grafik waktu eksekusi proses enkripsi citra rahasia tanpa permutasi ............................................... 10 Grafik waktu eksekusi proses dekripsi citra rahasia tanpa permutasi ............................................... 11
vi
1
PENDAHULUAN Latar Belakang Suatu informasi rahasia yang akan ditransmisikan dari pengirim menuju penerima melalui jaringan internet harus dapat dilindungi kerahasiaannya. Informasi rahasia tersebut dapat berupa pesan teks, citra, audio, atau video. Isu keamanan jaringan dan privasi sangat penting untuk diperhatikan dan telah banyak didekati dengan berbagai teknik penyembunyian informasi (information hiding), salah satunya berupa kriptografi. Dalam teknik kriptografi, keberadaan suatu informasi rahasia yang telah dienkripsi dapat diketahui pihak lain karena kehadirannya memperlihatkan bahwa pengirim dan penerima sedang mengkomunikasikan sesuatu yang bersifat rahasia sehingga dapat menimbulkan kecurigaan. Kita tidak dapat mencegah pendeteksian terhadap pesan rahasia oleh kriptanalis. Upaya yang dapat dilakukan, yaitu membangun keamanan yang kuat agar kriptanalis sulit untuk membongkar pesan rahasia tersebut. Menurut Ferguson dan Schneier (2003), kriptografi bukanlah solusi total untuk pengamanan data. Kriptografi hanya salah satu bagian dari rangkaian pengamanan sehingga diperlukan langkahlangkah lain agar data rahasia bisa lebih aman. Terdapat banyak metode untuk merancang suatu sistem yang menjamin keamanan citra digital. Rosanja (2011) telah melakukan penelitian dengan menggabungkan teknik kompresi data menggunakan metode DCT dengan enkripsi sandi alir kunci simetrik untuk keamanan citra digital. Nakajima dan Yamaguchi (2002) dalam penelitiannya yang berjudul Extended Visual Cryptography for Natural Images menggunakan tipe kriptografi yang mengenkripsi sejumlah citra sedemikian sehingga ketika citra yang bertransparansi ditumpuk menjadi satu akan menampilkan citra yang disembunyikan tanpa membutuhkan perhitungan rumit untuk mendekripsi citra tersebut, melainkan hanya menggunakan sistem penglihatan manusia. Pada penelitian ini, setiap piksel dari citra rahasia dienkripsi menggunakan RSA. Proses enkripsi menghasilkan empat buah citra. Setiap citra mengandung layer red, green, dan blue sehingga citra hasil enkripsi memiliki 12 layer yang akan diacak menggunakan fungsi permutasi. Sebelum direpresentasikan menjadi sebuah citra, masing-masing piksel pada
setiap citra dilakukan pengacakan susunan warna. Dengan demikian, terjadi partisi informasi pada citra rahasia tersebut sehingga menjamin keamanan dan privasi. Saat dikirimkan melalui saluran publik, tidak ada pihak lain yang dapat melihat citra aslinya. Citra rahasia hanya dapat didekripsi oleh penerima yang sah. Citra asli diperoleh dengan cara mengurutkan layer citra menggunakan fungsi permutasi balik lalu menggabungkan empat citra acak tersebut untuk didekripsi menggunakan RSA sehingga menghasilkan citra rahasia yang semula. Semakin besar kunci RSA, semakin unggul keamanan RSA. RSA dikategorikan aman ketika panjang kunci RSA yang digunakan mencapai 1024 bit atau lebih. Namun, kunci RSA yang besar membutuhkan komputasi yang tinggi sehingga semakin lambat pula perhitungannya. Motivasi pada penelitian ini adalah bagaimana agar RSA tetap dapat dimanfaatkan meski hanya pada perangkat rendah serta dapat mengeksekusi perhitungan RSA dengan komputasi yang cepat. Selain itu, pada sisi penerima, citra rahasia yang diperoleh dari pengirim harus utuh tanpa ada perubahan sedikitpun serta tidak dapat didekripsikan ketika melewati saluran publik. Untuk mencapai motivasi tersebut, penelitian ini akan menggunakan teknik enkripsi dengan panjang kunci RSA yang kecil, yaitu 32 bit dengan mempartisi informasi pada citra ke dalam empat buah citra. Untuk meningkatkan keamanan RSA, digunakan teknik pengacakan urutan layer citra menggunakan fungsi permutasi serta pengacakan susunan warna RGB pada setiap piksel citra. Tujuan Penelitian Tujuan dari penelitian ini adalah: 1 Mengimplementasikan partisi informasi untuk keamanan citra berwarna menggunakan enkripsi RSA dan pengacakan urutan layer citra menggunakan permutasi dengan bahasa pemrograman PHP. 2 Menganalisis kinerja partisi informasi pada citra berwarna dengan menghitung waktu eksekusi enkripsi maupun dekripsi dengan ukuran citra yang berbeda-beda. 3 Membandingkan hasil enkripsi antara citra dengan persebaran warna merata dan citra dengan persebaran warna yang tidak
2
merata ketika elemen warna yang sama saling berdekatan membentuk region. Ruang Lingkup Penelitian Ruang Lingkup dari penelitian ini, yaitu: 1 Pesan rahasia berupa citra berwarna dengan format PNG. 2 Hasil enkripsi dan dekripsi disimpan dalam format PNG. 3 Ruang kunci n yang digunakan dalam penelitian ini sebesar 21 bit dan 29 bit. 4 Batasan analisis kinerja partisi informasi hanya sebatas pada waktu eksekusi.
Berdasarkan jumlah kunci yang digunakan, kriptografi dikelompokkan menjadi dua bagian. Jika pengirim dan penerima menggunakan kunci yang sama, termasuk sistem kriptografi kunci simetri. Namun, jika pengirim dan penerima menggunakan kunci yang berbeda, termasuk sistem kriptografi kunci asimetrik atau kunci publik (Stallings 2003).
Manfaat Penelitian Manfaat yang diperoleh dari penelitian ini, yaitu memberikan fakta pengaruh pengacakan layer citra menggunakan fungsi permutasi terhadap hasil RSA pada citra.
TINJAUAN PUSTAKA Kriptografi Kriptografi merupakan ilmu tentang penulisan informasi rahasia yang melibatkan operasi reversible untuk mentransformasikan plaintext menjadi ciphertext. Informasi rahasia tersebut dikaburkan sehingga tidak bisa dimengerti oleh orang lain yang tidak berhak. Semua algoritme enkripsi didasarkan pada dua prinsip umum, yaitu substitusi dan transposisi. Pada prinsip substitusi, masingmasing elemen dalam plaintext dipetakan menjadi elemen lain, sedangkan pada prinsip transposisi, elemen dalam plaintext diubah posisinya (rearranged) (Stallings 2003). Ilmu kriptografi memiliki empat tujuan dasar jika ditinjau dari segi keamanan informasi, yaitu kerahasiaan, integritas data, autentikasi, dan non-repudiasi. Tujuan kerahasiaan dimaksudkan agar hanya yang memiliki kunci rahasia yang dapat mendekripsikan ciphertext sehingga terlindungi dari pihak yang tidak berhak mengetahui informasi tersebut. Integritas data menjamin keutuhan dan kesatuan data sehingga data terjaga dari perubahan data yang tidak sah. Autentikasi berkaitan dengan identifikasi kesatuan sistem maupun entitas dari suatu informasi yang akan dikirimkan dari segi keaslian isi data, maupun waktu pengiriman. Non-repudiasi merupakan pencegahan dari pelanggaran kesepakatan yang telah dibuat sebelumnya (Menezes et al. 1996, diacu dalam Retwando 2010).
Gambar 1 Model kriptosistem konvensional. Kriptografi memiliki dua cara pemrosesan plaintext, yaitu block cipher dan stream cipher. Block cipher memproses satu blok input dari suatu elemen dalam setiap waktu, lalu dihasilkan satu blok output dari masingmasing blok input. Stream cipher memproses elemen input secara berkelanjutan, lalu dihasilkan satu elemen output dalam setiap waktu secara kontinu (Stallings 2003). Model kriptosistem konvensional dapat dilihat pada Gambar 1 (Stallings 2003). Kriptografi Visual Kriptografi visual berawal dari implementasi menggunakan citra biner dan merupakan tipe kriptografi yang aman dan mudah diimplementasikan. Pada skema (k,n), sebuah citra rahasia diperluas menjadi n buah citra enkripsi (share) dalam bentuk transparansi yang bervariasi secara visual. Perluasan citra rahasia itu disebut juga secret sharing problem. Setiap n (share) memiliki m buah subpiksel berwarna hitam dan putih yang saling berdekatan sehingga distribusi warna hitam dan putih terlihat merata pada sistem penglihatan manusia. Masing-masing n tersebut akan saling bertransparansi satu sama lain. Citra yang tersembunyi didekripsikan tanpa komputasi kriptografik apapun, melainkan dengan menumpuk minimal k buah citra yang bertransparansi lalu dapat dilihat langsung dengan sistem penglihatan manusia.
3
Apabila jumlah citra yang ditumpuk kurang dari k, maka tidak diperoleh informasi apapun tentang citra rahasia tersebut. Namun, semakin nilai k mendekati nilai n, kontras citra yang dihasilkan akan semakin besar (Naor & Shamir 1998). Dalam pengembangannya, kriptografi visual juga diimplementasikan pada model citra abu-abu dan citra berwarna. Selain itu, algoritme kriptografi visual juga dapat dikembangkan lebih lanjut seperti kriptografi visual dengan steganografi dan kriptografi visual dengan fungsi XOR. Kunci Publik / Kunci Asimetri Algoritme kunci publik mengandalkan sebuah kunci untuk enkripsi dan sebuah kunci yang berbeda namun tetap berelasi untuk dekripsi. Secara komputasi, algoritme ini memiliki karakteristik penting, yaitu kunci dekripsi tidak memungkinkan untuk dapat ditentukan jika hanya diketahui kunci enkripsi dan pengetahuan dari algoritme kriptografik itu sendiri. Menurut Stallings (2003), skema enkripsi kunci publik terdiri atas enam unsur, yaitu sebagai berikut. 1 2
3
4
5
Plaintext, merupakan pesan yang dapat dibaca atau data masukan suatu algoritme. Algoritme enkripsi, merupakan algoritme yang menjalankan berbagai transformasi dalam plaintext. Kunci publik dan privat, merupakan sepasang kunci yang telah dipilih sehingga jika salah satu digunakan untuk enkripsi, yang lain digunakan untuk dekripsi. Transformasi yang tepat dilakukan oleh algoritme enkripsi yang bergantung pada kunci publik atau kunci privat yang diberikan sebagai input. Ciphertext, merupakan pesan acak yang dihasilkan sebagai output. Pesan acak tersebut bergantung pada plaintext dan kuncinya. Untuk setiap pesan yang diberikan, dua kunci yang berbeda akan menghasilkan dua ciphertext yang berbeda juga. Algoritme dekripsi, merupakan algoritme yang menerima ciphertext beserta kunci yang sesuai, lalu menghasilkan plaintext yang asli.
Langkah penting dalam kriptografi kunci publik, yaitu sebagai berikut.
1 Setiap user membangkitkan sepasang kunci yang akan digunakan untuk proses enkripsi dan dekripsi suatu pesan. 2 Setiap user menempatkan salah satu dari dua kunci, yaitu kunci publik ke dalam saluran publik atau file yang dapat diakses. Pasangan kunci publik yang bersifat rahasia, yaitu kunci private. 3 Jika pengirim ingin mentransmisikan pesan rahasia kepada penerima, pengirim harus mengenkripsi pesan menggunakan kunci publik milik penerima. 4 Ketika penerima mendapatkan pesan rahasia, penerima mendekripsinya menggunakan kunci privat miliknya. Tidak ada orang lain yang dapat mendekripsi pesan rahasia tersebut karena hanya penerima yang mengetahui kunci privat miliknya. Alur pengiriman kunci publik dapat dilihat pada Gambar 3. Algoritme RSA (Ron, Shamir, dan Adleman) Algoritme RSA merupakan algoritme kunci publik yang dirancang pada tahun 1977 oleh Ron Rivest, Adi Shamir, dan Len Adleman. Skema RSA terdiri atas satu blok cipher dengan plaintext dan ciphertext berupa bilangan integer antara 0 dan n-1. Pembangkitan pasangan kunci publik dan kunci privat dilakukan dengan langkah sebagai berikut (Stallings 2003). 1 2 3
4
5
Memilih dua bilangan prima sembarang, yaitu p dan q yang bersifat privat. Menghitung n = pq, dimana n bersifat publik. Menghitung φ(n) = (p-1) (q-1). φ(n) merupakan Toitent Euler, yaitu fungsi yang menentukan berapa banyak dari bilangan-bilangan 1,2,3, ..., n yang relatif prima terhadap n. Memilih kunci publik (e) yang relatif prima terhadap φ(n) ; 1 < e < φ(n). Dua bilangan bulat e dan φ(n) adalah relatif prima jika gcd(φ(n),e) = 1. Jika e dan φ(n) relatif prima, terdapat bilangan bulat m dan n sedemikian sehingga me + m φ(n)=1. Membangkitkan kunci privat (d) dengan menggunakan Persamaan 1. ed 1 mod φ(n) d e-1 mod φ(n) (1) Persamaan 1 ekuivalen dengan Persamaan 2, yaitu sebagai berikut.
4
ed = k φ(n) + 1 -1
d= e (k φ(n) + 1)
(2)
Keterangan: k merupakan bilangan bulat sembarang . Ilustrasi dari proses pembangkitan pasangan kunci publik dan kunci privat di atas, yaitu sebagai berikut. 1 Misalkan p=23 dan q=19. 2 n = pq = (23)(19) = 437. 3 φ(n) = (p-1) (q-1). φ(437) = (22)(18) = 396, artinya terdapat sebanyak 396 bilangan yang relatif prima dengan 437. 4 Untuk menentukan e, syaratnya gcd(φ(n),e) = 1 dan 1 < e < φ(n).
Algoritme RSA memiliki tingkat keamanan yang tinggi dan sulit diserang karena sulitnya memfaktorkan modulus n yang sangat besar menjadi faktor primanya (Menezes et al. 1996, diacu dalam Retwando 2010).
METODE PENELITIAN Penelitian ini akan dilaksanakan sesuai metode penelitian yang terbagi dalam beberapa tahapan seperti pada Gambar 2. mulai
Studi Pustaka
Misalkan e = 317, gcd(396,317) = 1 sehingga e relatif prima terhadap φ(n). 5 Menghitung kunci privat d, yaitu sebagai berikut.
Perancangan Skema Enkripsi dan Dekripsi Citra Rahasia
d= e-1 (k φ(n) + 1)
Implementasi Algoritme Partisi Informasi
Nilai k diperoleh dari mencoba kemungkinan dari k=1,2,3,4,...,dst. hingga mendapatkan nilai d yang bulat. Nilai d bulat diperoleh ketika k=4, seperti berikut ini:
Perancangan Pengujian
Pengujian
-1
d = e (k φ(n) + 1) d = 317-1 ( (4)(396) + 1)
Analisis Waktu Eksekusi
d=5 Analisis selesai Kualitas Citra
Adapun langkah yang dilakukan untuk proses enkripsi dan dekripsi, yaitu sebagai berikut (Stallings 2003). Ambil modulus n dan kunci publik e milik penerima pesan. 2 Plaintext M dinyatakan menjadi blok-blok M1, M2, ..., Mn. Setiap blok plaintext Mi dienkripsi menjadi blok ciphertext Ci menggunakan Persamaan 3. Ci = Ee(Mi) Mi e mod n (3) 3 Setiap blok ciphertext Ci didekripsi menjadi blok plaintext Mi menggunakan Persamaan 4. Mi = Dd(Ci) Ci d mod n (4)
selesai
1
Ilustrasi dari proses enkripsi dan dekripsi diatas, yaitu: 1 2 3 4 5
misal M = 4, n = 437, e = 317, dan d = 5, C = M e mod n = 4317 mod 437 = 358, M1 = Ci d mod n = 3585 mod 437 = 4 , Oleh karena M = M1, proses enkripsi dan dekripsi berhasil.
Gambar 2 Tahapan penelitian. Studi Pustaka Studi pustaka dilakukan dengan mengumpulkan semua informasi dan literatur yang terkait dengan penelitian. Informasi tersebut diperoleh dari jurnal, buku, internet, dan artikel yang membahas tentang algoritme kunci publik RSA, permutasi, kriptografi visual, serta cara mempartisi informasi suatu citra. Perancangan Skema Enkripsi dan Dekripsi Citra Rahasia Perancangan skema enkripsi dilakukan dengan memecah citra rahasia menjadi tiga layer, yaitu red, green, dan blue. Setiap piksel dari masing-masing layer dienkripsi menggunakan RSA 32 bit sehingga terjadi partisi informasi menghasilkan empat buah
5
citra. Semua layer dari keempat citra diacak dengan fungsi permutasi sehingga meningkatkan keamanan. Setelah pengacakan layer citra dengan fungsi permutasi, pada keempat citra tersebut dilakukan pengacakan susunan warna untuk setiap pikselnya dengan enam kemungkinan pengacakan, yaitu RGB, RBG, BGR, BRG, GBR, dan GRB. Proses enkripsi menghasilkan empat citra acak yang siap dikirimkan kepada penerima melalui saluran publik. Perancangan skema dekripsi dilakukan dengan mengurutkan susunan warna untuk setiap piksel pada masing-masing citra menjadi RGB secara keseluruhan. Setelah itu dilakukan pengurutan layer keempat citra yang terdiri atas 12 layer tersebut dengan fungsi permutasi balik, sehingga citra siap didekripsi menggunakan RSA. Tiap piksel dari tiap layer yang terdiri atas 32 bit didekripsi sehingga kembali menjadi 8 bit, lalu digabung menghasilkan citra aslinya. Implementasi Algoritme Partisi Informasi Pada tahap ini diimplementasikan algoritme yang dapat mempartisi informasi sebuah citra rahasia dengan melakukan pengacakan urutan layer citra menggunakan fungsi permutasi serta pengacakan susunan warna pada setiap piksel dari keempat citra tersebut. Hasil perancangan dari skema enkripsi dan dekripsi juga diterapkan dalam aplikasi. Aplikasi ini akan dirancang dengan bahasa pemrograman PHP. Perangkat lunak yang digunakan dalam penelitian ini adalah sebagai berikut. 1 Sistem Operasi Windows 7 Home Premium. 2 Xampp 1.7.4 yang berisi PHP 5 dan apache 2. 3 Netbeans IDE 7.1 sebagai editor. Perangkat keras menggunakan 1 Processor Intel CoreTM i5. 2 RAM 4 GB. 3 Hardisk kapasitas 500 GB. Perancangan Pengujian Perancangan pengujian dilakukan dengan menentukan jenis file citra, tipe warna citra, ukuran masing-masing citra yang akan diujicobakan, kunci RSA yang digunakan, perangkat keras, perangkat lunak, lingkungan penelitian, waktu eksekusi yang dibutuhkan saat proses enkripsi dan dekripsi suatu citra rahasia, serta kualitas citra yang diperoleh.
Pengujian Pada penelitian ini akan dilakukan pengujian untuk mengukur kinerja partisi informasi pada citra berwarna dengan menghitung waktu eksekusi enkripsi maupun dekripsi citra dengan ukuran yang berbedabeda dengan tiga kali perulangan. Selain itu, akan dilakukan analisis kualitas citra hasil enkripsi antara citra persebaran warna merata dan citra persebaran warna yang tidak merata dengan elemen warna yang sama saling berdekatan akan dibandingkan hasilnya. Analisis Waktu Eksekusi Pada tahap ini, akan dilakukan analisis terhadap waktu eksekusi dari proses enkripsi dan dekripsi dari masing-masing ukuran citra yang berbeda-beda menggunakan ruang kunci n sebesar 21 bit. Waktu eksekusi antara citra dengan pengacakan urutan layer menggunakan fungsi permutasi akan dibandingkan dengan citra tanpa pengacakan urutan layer (tanpa fungsi permutasi). Dengan demikian akan diperoleh persamaan regresi linier mengenai pola hubungan (model) antara dua variabel berupa ukuran citra dan waktu eksekusinya. Analisis Kualitas Citra Pada tahap ini, akan dilakukan analisis terhadap kualitas citra hasil enkripsi antara citra dengan persebaran warna merata dan citra dengan persebaran warna yang tidak merata dengan elemen warna yang sama saling berdekatan. Pada masing-masing citra tersebut, akan dibandingkan hasil enkripsi antara citra yang menggunakan ruang kunci n yang bernilai 21 bit dan ruang kunci n yang bernilai 29 bit. Selain itu akan dibandingkan juga hasil enkripsi antara citra dengan pengacakan urutan layer menggunakan fungsi permutasi dan citra tanpa pengacakan urutan layer (tanpa fungsi permutasi).
HASIL DAN PEMBAHASAN Skema Enkripsi Citra Pengirim yang akan mentransmisikan citra rahasia menuju penerima terlebih dahulu harus memperoleh pasangan kunci publik (e,n) milik penerima. Kunci publik milik penerima tersebut digunakan oleh pengirim untuk mengenkripsi citra rahasia yang akan dikirimkan melalui saluran publik. Dengan demikian, citra asli tidak dapat dilihat oleh
6
orang yang tidak berhak. Alur pengiriman kunci publik dapat dilihat pada Gambar 3.
permutasi 1 dan kunci permutasi 2 dapat dilihat pada Gambar 5.
P1 mendapatkan kunci publik e2 milik P2 mulai Saluran komunikasi publik Citra rahasia
Pengirim P1(n2, e2)
Penerima P2 (n2, e2, d2)
B G R G
P1 mengirim citra rahasia ke P2menggunakan e2 Ci = Ee(Mi)
Enkripsi RSA 32 bit Mi e mod n (untuk setiap pixel)
Gambar 3 Alur pengiriman kunci publik. Setelah pengirim memperoleh pasangan kunci publik(e,n) milik penerima, citra rahasia berupa image truecolor dipecah menjadi tiga layer red, green, dan blue. Setiap piksel dari masing-masing layer citra tersebut bernilai 8 bit dan dienkripsi menggunakan RSA 32 bit. Setelah dienkripsi menggunakan RSA, 1 piksel yang awalnya terdiri atas 8 bit berubah menjadi 32 bit per layer pada sebuah piksel. Setiap layer pada sebuah piksel yang terdiri atas 32 bit tersebut dipecah kembali menjadi 8 bit per piksel sehingga layer red terbagi menjadi 4 bagian, begitu pula dengan layer green dan blue sehingga citra hasil enkripsi memiliki 12 layer. Kemudian, seluruh layer tersebut disatukan dan dibagi ke dalam dua layer, yaitu layer atas dan layer bawah. Layer atas terdiri atas 6 layer RGB sehingga dapat dikelompokkan menjadi dua buah citra. Begitu pula dengan layer bawah yang memiliki 6 layer RGB dan dapat dikelompokkan menjadi 2 buah citra. Dengan demikian, proses enkripsi tersebut menghasilkan empat buah citra hasil enkripsi. Skema enkripsi citra rahasia dapat dilihat pada Gambar 4 . Untuk meningkatkan keamanan, urutan layer atas dan urutan layer bawah masing-masing diacak menggunakan fungsi permutasi. Layer atas memiliki kemungkinan pengacakan urutan layer sebesar 6!, yaitu 720 kemungkinan, sama halnya dengan layer bawah. Pengacakan urutan layer tersebut membutuhkan dua kunci, yaitu satu kunci untuk menentukan urutan acak layer atas, serta kunci lainnya untuk menentukan urutan acak layer bawah. Kunci tersebut berupa suatu nilai integer 10 bit yang akan dieksekusi dengan fungsi permutasi sehingga dihasilkan salah satu dari 720 kemungkinan pengacakan urutan. Adapun cara untuk memperoleh kunci
Citra 1
R1
G1
B1
Citra 2
R2
G2
B2
Citra 3
R1
G1
B1
Citra 4
R2
G2
B2
Layer atas
Layer bawah
Pengacakan urutan layer citra menggunakan fungsi permutasi (cara memperoleh kunci lihat Gambar 5)
Citra Hasil Enkripsi Citra 1’
B1
R2
B1 G2
Citra 2’
R1
G1
B2 B2
Citra 3’
R1
G1
B2 B2
Citra 4’
B1
R2
G2 G 2
Urutan layer atas diacak Layer dengan kunci atas permutasi 1
()
Urutan layer atas diacak Layer bawah dengan kunci permutasi 2
Pengacakan susunan warna RGB pada setiap piksel terhadap keempat citra. Ilustrasi sederhana untuk setiap piksel dalam suatu citra, yaitu seperti berikut ini Piksel 1 RGB Piksel 5 RBG ...
Piksel 2 BRG
Piksel 3 GBR
Piksel 4 BGR
Piksel 6 GRB ...
...
...
...
...
Perulangan urutan terjadi setiap 6 piksel, pada piksel ketujuh akan terulang kembali seperti urutan dari piksel pertama hingga keenam, begitupun seterusnya.
selesai
Gambar 4 Skema enkripsi citra.
7
Ruang kunci n sebesar 32 bit + Padding 8bit (00000000) = 40 bit
40 bit di folding menjadi masing-masing 20bit
20 bit di folding lagi menjadi masingmasing 10bit
20 bit di folding lagi menjadi masingmasing 10bit
10 bit XOR 10 bit = hasil 1
10 bit XOR 10 bit = hasil 2
| hasil 1 - 719 | = kunci permutasi 1 (10 bit)
| hasil 2 - 719 | = kunci permutasi 2 (10 bit)
Gambar 5 Cara memperoleh kunci permutasi 1 dan kunci permutasi 2. Penentuan kunci layer atas dan kunci layer bawah diawali dengan menggabung antara ruang kunci n (32 bit) dan padding yang diisi angka nol sebanyak 8 bit, sehingga dihasilkan bilangan sebesar 40 bit. Setelah itu, bilangan 40 bit tersebut dilipat (folding) menjadi dua bagian masing-masing sebesar 20 bit untuk setiap kunci. Kunci layer atas ditentukan dengan cara melipat (folding) kembali 20 bit menjadi masing-masing 10 bit. Bilangan 10 bit pertama di-XOR-kan dengan bilangan 10 bit kedua, lalu menghasilkan suatu bilangan berjumlah 10 bit juga yang akan dilakukan operasi pengurangan dengan 719 lalu diabsolutkan. Operasi pengurangan dengan bilangan 719 dilakukan agar hasil akhir kunci permutasi memiliki range di antara 0 sampai dengan 719. Hasil akhir dari perhitungan tersebut merupakan kunci untuk layer atas. Kunci layer atas tersebut berupa bilangan integer yang bernilai diantara 0 sampai dengan 719. Untuk menentukan urutan acak layer atas, bilangan integer tersebut diproses dengan fungsi permutasi. Kunci layer bawah diperoleh dengan cara yang sama seperti kunci layer atas. Ruang kunci n perlu diberi penambahan padding 8 bit karena kemungkinan pengacakan urutan layer sebesar 6! atau 720 kemungkinan, angka 720 terdiri atas 10 bit.
Apabila tidak ditambahkan padding, hasil folding sebanyak dua kali hanya sebesar 8 bit, padahal kunci permutasi harus sebesar 10 bit. Setelah pengacakan urutan layer dengan menggunakan fungsi permutasi, dilakukan pengacakan susunan warna RGB pada setiap piksel dari keempat citra tersebut. Terdapat 3! atau 6 kemungkinan pengacakan, yaitu RGB, BRG, GBR, BGR, RBG, dan GRB. Urutan tersebut akan terulang setiap enam piksel. Piksel pertama hingga keenam diisi dengan urutan RGB, BRG, GBR, BGR, RBG, dan GRB. Piksel ketujuh hingga piksel keduabelas kembali diisi dengan urutan yang sama, yaitu RGB, BRG, GBR, BGR, RBG, dan GRB. Begitupun seterusnya hingga setiap piksel teracak dengan urutan seperti diatas. Setelah itu, keempat citra acak tersebut siap dikirimkan menuju penerima. Skema Dekripsi Citra Citra hanya dapat dilihat oleh pihak penerima yang sah karena memiliki kunci privat d untuk mendekripsi citra tersebut. Citra asli diperoleh dengan cara terlebih dahulu mengurutkan susunan warna pada setiap piksel untuk semua citra. Susunan RGB, BRG, GBR, BGR, RBG, dan GRB untuk enam piksel pertama diubah susunannya menjadi RGB. Begitu pula piksel-piksel berikutnya diubah menjadi RGB secara keseluruhan. Setelah itu dilakukan pengurutan layer keempat citra yang ditransmisikan oleh pengirim dengan menggunakan fungsi permutasi balik. Kunci layer atas dan kunci layer bawah yang digunakan dalam fungsi permutasi balik bernilai sama dengan saat proses enkripsi diatas. Setelah itu, empat citra tersebut didekripsi menggunakan RSA, 1 piksel yang awalnya terdiri atas 32 bit dikembalikan menjadi 8 bit per piksel. Dengan demikian, citra tersebut telah menyatu menjadi satu bagian citra dekripsi dan menampilkan citra rahasia yang utuh tanpa perubahan sedikitpun. Skema dekripsi citra rahasia dapat dilihat pada Gambar 6. Perancangan Pengujian Perancangan pengujian dilakukan dengan menentukan parameter sebagai berikut. 1 Jenis dan ukuran citra Jenis citra yang digunakan pada penelitian ini, yaitu PNG. Citra digital yang digunakan dalam penelitian ini, yaitu sebuah citra dengan persebaran warna merata dan sebuah citra dengan persebaran
8
warna yang tidak merata dengan elemen warna yang sama saling berdekatan dengan ukuran 160 x 90 piksel, 314 x 176 piksel, 448 x 252 piksel, 640 x 360 piksel, 800 x 450 piksel, dan 1024 x 575 piksel. 2 Waktu eksekusi untuk proses enkripsi dan dekripsi suatu citra rahasia.
mulai
pengurutan susunan warna pada setiap piksel untuk semua citra menjadi RGB secara keseluruhan.
Citra 1’
B1
R2
Citra 2’
R1
Citra 3’ Citra 4’
G1
G G2 2 B2 B2
Layer atas diurutkan dengan Layer atas kunci permutasi balik 1
R1
G1
B2 B2
() bawah diurutkan dengan Layer kunci permutasi balik 2
B1
R2
G2 G 2
Layer bawah
Layer citra diurutkan dengan fungsi permutasi balik (cara memperoleh kunci lihat Gambar 5), serta terjadi pemisahan elemen RGB
Citra 1
R1
G1
B1
Citra 2
R2
G2
B2
Citra 3
R1
G1
B1
Citra 4
R2
G2
B2
Layer atas
Layer bawah
Dekripsi RSA 32 bit Mi = Dd(Ci) Ci d mod n (untuk setiap pixel)
Citra Hasil dekripsi
selesai
Gambar 6 Skema dekripsi citra.
3 Kunci RSA Panjang ruang kunci n yang digunakan untuk proses enkripsi dan dekripsi maksimal 32 bit atau senilai 4294967295. Kunci RSA yang digunakan dalam penelitian ini, yaitu: a Ruang kunci n =1051963 b Kunci publik e = 3 c Kunci privat d = 637547 d Dua bilangan prima yang digunakan, yaitu p=95633 dan q=11 4 Lingkungan penelitian a Sistem Operasi Windows 7 Home Premium. b Processor Intel CoreTM i5. c RAM 4GB. d Harddisk kapasitas 500 GB. e Xampp 1.7.4 yang berisi php 5 dan apache 2. f Netbeans IDE 7.1 sebagai editor. Pengujian Pengujian dilakukan terhadap waktu eksekusi enkripsi maupun dekripsi pada citra berwarna. Citra diujikan dengan enam ukuran yang berbeda-beda dan tiga kali perulangan untuk masing-masing ukuran citra tersebut. Ruang kunci n yang digunakan untuk pengujian waktu eksekusi, yaitu sebesar 21 bit. Kemudian dilakukan perbandingan antara hasil enkripsi yang menerapkan pengacakan urutan layer citra menggunakan fungsi permutasi dan hasil enkripsi tanpa fungsi permutasi atau tidak terjadi pengacakan urutan layer citra. Selain itu, dilakukan juga pengujian terhadap kualitas citra dengan dua tipe warna, yaitu citra dengan persebaran warna merata dan citra dengan persebaran warna yang tidak merata dengan elemen warna yang sama saling berdekatan. Citra dengan persebaran warna merata, yaitu setiap piksel dalam citra yang bernilai sama terletak berjauhan, tidak membentuk suatu region, sedangkan citra dengan persebaran warna yang tidak merata merupakan citra dengan kumpulan piksel yang bernilai sama saling berdekatan membentuk region. Kualitas citra hasil enkripsi diuji dengan menggunakan citra berukuran 314x176 piksel yang diberi perlakuan berbeda-beda. Untuk masing-masing tipe citra diujikan untuk penggunaan ruang kunci n yang bernilai 21 bit dan ruang kunci n yang bernilai 29 bit. Untuk masing-masing ruang kunci juga diujikan dengan pengacakan urutan layer citra (menggunakan fungsi permutasi) serta tanpa
9
Analisis Waktu Eksekusi Analisis waktu eksekusi dilakukan terhadap proses enkripsi dan dekripsi dari masing-masing ukuran citra berwarna yang berbeda-beda dengan tiga kali perulangan dengan menggunakan ruang kunci n sebesar 21 bit. Waktu eksekusi antara citra dengan pengacakan urutan layer menggunakan fungsi permutasi akan dibandingkan dengan citra tanpa pengacakan urutan layer (tanpa fungsi permutasi). Dengan demikian akan diperoleh persamaan regresi linier mengenai pola hubungan (model) antara dua variabel berupa ukuran citra dan waktu eksekusinya. Kunci RSA yang digunakan penelitian ini yaitu sebagai berikut.
dalam
1 Ruang kunci n bernilai 1051963 (21 bit). 2 Kunci publik yang digunakan untuk enkripsi (e) bernilai 3 (2 bit). 3 Kunci privat yang digunakan untuk dekripsi (d) bernilai 637547 (20 bit). Untuk menganalisis waktu eksekusi, dilakukan empat eksperimen dengan perlakuan berbeda-beda. Eksperimen pertama, yaitu perhitungan waktu eksekusi proses enkripsi citra rahasia yang menggunakan fungsi permutasi untuk pengacakan urutan layer citra yang hasilnya dapat dilihat pada Tabel 1, sementara grafiknya dapat dilihat pada Gambar 7. Oleh karena waktu enkripsi rata-rata cenderung linier, maka perhitungan waktu eksekusi proses enkripsi citra rahasia dengan permutasi diperoleh dengan menggunakan regresi linier yang tertera pada Persamaan 5. y enkripsi = 5.10-5x + 0.5401
(5)
y = waktu eksekusi x = ukuran piksel citra Perhitungan dengan regresi linier diatas berguna sebagai alat statistik yang memberikan penjelasan mengenai pola hubungan (model) antara dua variabel, yaitu waktu eksekusi dan ukuran piksel citra.
Tabel 1 Waktu eksekusi proses enkripsi citra rahasia dengan permutasi. Lebar x tinggi citra (piksel)
Ukuran citra (piksel)
160x90 314x176 448x252 640x360 800x450 1024x575
14400 55264 112896 230400 360000 588800
waktu eksekusi (detik)
pengacakan layer citra (tanpa fungsi permutasi). Dengan demikian, dapat dilihat perbandingan hasil enkripsi antara citra persebaran warna merata dan citra persebaran warna yang tidak merata sehingga kinerja partisi informasi citra berwarna dapat terlihat.
300 250 200 150 100 50 0
Waktu enkripsi ratarata (detik) 1.663 3.532 6.187 12.166 18.993 31.422
y = 5.10-5x + 0.5401
0
200000 400000 600000 ukuran (piksel)
Gambar 7 Grafik waktu eksekusi proses enkripsi citra rahasia dengan permutasi. Eksperimen kedua, yaitu perhitungan waktu eksekusi proses dekripsi citra rahasia yang menggunakan fungsi permutasi untuk pengacakan urutan layer citra yang hasilnya dapat dilihat pada Tabel 2, sementara grafiknya dapat dilihat pada Gambar 8. Perhitungan waktu eksekusi proses dekripsi citra rahasia dengan permutasi diperoleh dengan menggunakan regresi linier yang tertera pada Persamaan 6. y dekripsi = 0.0005x - 13.49
(6)
y = waktu eksekusi x = ukuran piksel citra Tabel 2 Waktu eksekusi proses dekripsi citra rahasia dengan permutasi. Lebar x tinggi citra (piksel) 160x90 314x176 448x252 640x360 800x450 1024x575
Ukuran citra (piksel) 14400 55264 112896 230400 360000 588800
Waktu dekripsi ratarata (detik) 4.208 16.111 32.833 68.127 154.527 257.668
10
300
y = 0.0005x - 13.49
250
waktu eksekusi (detik)
waktu eksekusi (detik)
300
200 150 100 50 0 0
200000 400000 600000 ukuran (piksel)
250 200 150 100
y = 5.10-5x + 0.47
50 0 0
200000 400000 600000 ukuran (piksel)
Gambar 8 Grafik waktu eksekusi proses dekripsi citra rahasia dengan permutasi.
Gambar 9 Grafik waktu eksekusi proses enkripsi citra rahasia tanpa permutasi.
Eksperimen ketiga, yaitu perhitungan waktu eksekusi proses enkripsi citra rahasia tanpa fungsi permutasi sehingga tidak dilakukan pengacakan urutan layer citra. Hasilnya dapat dilihat pada Tabel 3, sementara grafiknya dapat dilihat pada Gambar 9. Perhitungan waktu eksekusi proses enkripsi citra rahasia tanpa permutasi diperoleh dengan menggunakan regresi linier yang tertera pada Persamaan 7.
Perhitungan waktu eksekusi proses dekripsi citra rahasia tanpa permutasi diperoleh dengan menggunakan regresi linier yang tertera pada Persamaan 8.
y enkripsi = 5.10-5x + 0.47
Tabel 3 Waktu eksekusi proses enkripsi citra rahasia tanpa permutasi. Ukuran citra (piksel)
160x90 314x176 448x252 640x360 800x450 1024x575
14400 55264 112896 230400 360000 588800
(8)
y = waktu eksekusi x = ukuran piksel citra Tabel 4 Waktu eksekusi proses dekripsi citra rahasia tanpa permutasi
(7)
y = waktu eksekusi x = ukuran piksel citra
Lebar x tinggi citra (piksel)
y dekripsi = 0.0003x - 4.1611
Waktu enkripsi ratarata (detik) 1.679 3.611 6.296 12.951 19.967 33.072
Eksperimen keempat, yaitu perhitungan waktu eksekusi proses dekripsi citra rahasia tanpa fungsi permutasi sehingga tidak dilakukan pengacakan urutan layer citra. Hasilnya dapat dilihat pada Tabel 4, sementara grafiknya dapat dilihat pada Gambar 10.
Lebar x tinggi citra (piksel) 160x90 314x176 448x252 640x360 800x450 1024x575
Ukuran citra (piksel) 14400 55264 112896 230400 360000 588800
Waktu dekripsi ratarata (detik) 4.226 16.328 33.443 67.826 112.266 198.093
Dengan demikian diperoleh persamaan regresi linier mengenai pola hubungan (model) antara dua variabel berupa ukuran citra dan waktu eksekusinya. Dalam eksperimen ini, nilai kunci privat d yang digunakan jauh lebih besar daripada nilai kunci publik e sehingga proses dekripsi berjalan lebih lama daripada proses enkripsi. Oleh karena itu, semakin besar kunci yang digunakan, semakin lambat waktu eksekusinya.
11
waktu eksekusi (detik)
300 250 y = 0.0003x - 4.1611
200 150 100 50 0 0
200000 400000 600000 ukuran (piksel)
Gambar 10 Grafik waktu eksekusi proses dekripsi citra rahasia tanpa permutasi. Dari eksperimen yang telah dilakukan dapat diketahui bahwa waktu eksekusi pada citra yang dienkripsi ataupun didekripsi menggunakan pengacakan urutan layer citra (dengan permutasi) berjalan lebih cepat dibandingkan citra yang dienkripsi ataupun didekripsi tanpa pengacakan urutan layer citra (tanpa permutasi). Analisis Kualitas Citra Pengujian terhadap kualitas citra dilakukan dengan delapan perlakuan berbeda untuk melihat perbedaan citra hasil enkripsi antara citra dengan persebaran warna merata dan citra dengan persebaran warna yang tidak merata dengan elemen warna yang sama saling berdekatan. Pada masing-masing citra tersebut, akan dibandingkan hasil enkripsi antara citra yang menggunakan ruang kunci n yang bernilai 21 bit dan ruang kunci n yang bernilai 29 bit. Selain itu akan dibandingkan juga hasil enkripsi antara citra dengan pengacakan urutan layer menggunakan fungsi permutasi dan citra tanpa pengacakan urutan layer (tanpa fungsi permutasi). Analisis kualitas citra dilakukan dengan menggunakan dua tipe citra berukuran 314x176 piksel, yaitu citra dengan persebaran warna merata dan citra dengan persebaran warna yang tidak merata dengan elemen warna yang sama saling berdekatan dengan perlakuan berbeda-beda. Terdapat delapan perbandingan hasil enkripsi. Hasil enkripsi dari pengujian pertama hingga pengujian kedelapan dapat dilihat pada Lampiran 1.
Pengujian pertama dan kedua dilakukan terhadap citra dengan persebaran warna merata dan menggunakan ruang kunci n sebesar 21 bit, kunci publik sebesar 2 bit, dan kunci privat sebesar 20 bit. Pada pengujian pertama dilakukan pengacakan urutan layer citra dengan permutasi, sedangkan pengujian kedua tidak dilakukan pengacakan urutan layer citra (tanpa permutasi). Pengujian pertama dan kedua menampilkan hasil enkripsi yang sama baiknya sehingga pengaruh fungsi permutasi tidak terlihat. Dua citra awal terlihat gelap, sedangkan citra 3 dan citra 4 teracak sempurna. Pengujian ketiga dan keempat dilakukan terhadap citra dengan persebaran warna merata dan menggunakan ruang kunci n sebesar 29 bit, kunci publik sebesar 3 bit, dan kunci privat sebesar 28 bit. Pada pengujian ketiga dilakukan pengacakan urutan layer citra dengan permutasi, sedangkan pengujian keempat tidak dilakukan pengacakan urutan layer citra (tanpa permutasi). Pengujian ketiga menampilkan hasil enkripsi yang paling baik diantara pengujian lainnya. Pengujian ketiga menampilkan hasil enkripsi yang lebih baik dibanding pengujian keempat sehingga pengaruh fungsi permutasi dapat terlihat. Pada pengujian ketiga, keempat citra teracak sempurna, sedangkan pada pengujian keempat, satu citra awal terlihat gelap, tiga citra berikutnya teracak sempurna. Pengujian kelima dan keenam dilakukan terhadap citra dengan persebaran warna tidak merata (elemen warna yang sama saling berdekatan membentuk region) dan menggunakan ruang kunci n sebesar 21 bit, kunci publik sebesar 2 bit, dan kunci privat sebesar 20 bit. Pada pengujian kelima dilakukan pengacakan urutan layer citra dengan permutasi, sedangkan pengujian keenam tidak dilakukan pengacakan urutan layer citra (tanpa permutasi). Pengujian kelima menampilkan hasil enkripsi yang jauh lebih baik dibanding pengujian keenam karena guratan yang ditunjukkan sangat sedikit sehingga sistem penglihatan manusia tidak dapat merepresentasikan citra asli tersebut. Oleh karena itu, pengaruh fungsi permutasi dapat terlihat. Pada pengujian kelima, dua citra awal terlihat gelap, sedangkan dua citra berikutnya teracak sempurna. Pada pengujian keempat, dua citra awal terlihat gelap, citra ketiga terlihat guratan hitam yang membentuk citra asli, sedangkan citra keempat teracak sempurna.
12
Pengujian ketujuh dan kedelapan dilakukan terhadap citra dengan persebaran warna tidak merata (elemen warna yang sama saling berdekatan membentuk region) dan menggunakan ruang kunci n sebesar 29 bit, kunci publik sebesar 3 bit, dan kunci privat sebesar 28 bit. Pada pengujian ketujuh dilakukan pengacakan urutan layer citra dengan permutasi, sedangkan pengujian keenam tidak dilakukan pengacakan urutan layer citra (tanpa permutasi). Pengujian ketujuh menampilkan hasil enkripsi yang lebih baik dibanding pengujian kedelapan karena guratan hitam menyerupai citra asli yang ditunjukkan oleh pengujian delapan lebih menonjol sehingga guratan tersebut dapat terlihat nyata oleh sistem penglihatan manusia. Oleh karena itu, pengaruh fungsi permutasi dapat terlihat. Pada pengujian ketujuh, keempat citra teracak sempurna, namun pada citra pertama, guratan terlihat jelas. Pada pengujian kedelapan, citra pertama terlihat gelap, ketiga citra lain teracak sempurna dengan sedikit guratan. Dari pengujian di atas, dapat diketahui bahwa hasil enkripsi citra dengan persebaran warna merata lebih baik dibanding citra dengan persebaran warna yang tidak merata. Dengan adanya fungsi permutasi, kualitas citra menjadi lebih baik dibandingkan tanpa permutasi. Enkripsi pada citra dengan persebaran warna yang merata menghasilkan citra yang teracak karena setiap piksel yang bernilai sama terletak berjauhan tidak membentuk suatu region, sedangkan enkripsi pada citra dengan persebaran warna yang tidak merata menghasilkan citra yang tidak teracak sempurna sehingga suatu guratan pada citra tersebut dapat terlihat oleh sistem penglihatan manusia. Melalui pengujian ini juga dapat diketahui bahwa semakin kecil ruang kunci n yang digunakan, akan diperoleh dua citra awal hasil dekripsi yang berwarna gelap, sementara dua citra lainnya terlihat acak. Sebaliknya, semakin besar ruang kunci n yang digunakan, maka gambar awal teracak.
KESIMPULAN DAN SARAN Kesimpulan Berdasarkan penelitian yang telah dilakukan, dapat diambil kesimpulan sebagai berikut.
1 Aplikasi partisi informasi untuk keamanan citra berwarna menggunakan enkripsi RSA dan pengacakan urutan layer citra menggunakan permutasi telah berhasil diimplementasikan. 2 Waktu eksekusi yang dibutuhkan untuk proses enkripsi dan dekripsi citra akan semakin meningkat seiring bertambahnya ukuran citra. 3 Waktu eksekusi saat melakukan enkripsi maupun dekripsi pada citra dengan pengacakan urutan layer menggunakan permutasi lebih baik dibandingkan tanpa permutasi 4 Lamanya waktu eksekusi pada proses enkripsi dan dekripsi bergantung besarnya kunci publik ataupun kunci privat yang digunakan. Semakin besar kunci yang digunakan, semakin lambat waktu eksekusinya. 5 Pengacakan urutan layer citra dengan permutasi dapat terlihat jelas pengaruhnya sehingga menampilkan hasil enkripsi pada citra yang jauh lebih baik bila dibandingkan dengan citra yang tidak dilakukan pengacakan urutan layer (tanpa permutasi) 6 Hasil enkripsi citra dengan persebaran warna yang merata lebih baik dibanding citra dengan persebaran warna yang tidak merata. Enkripsi pada citra dengan persebaran warna yang merata menghasilkan citra yang teracak lebih sempurna dibandingkan citra dengan persebaran warna yang tidak merata. Saran Saran untuk penelitian selanjutnya, yaitu mengimplementasikan aplikasi yang dapat berjalan secara paralel sehingga waktu eksekusi cepat untuk citra yang memiliki ukuran ataupun ruang kunci n yang besar.
DAFTAR PUSTAKA Ferguson N, Schneier B. 2003. Practical Cryptography. Indianapolis: Wiley. Menezes A, Oorschot P, Vanstone S. 1996. Handbook of Applied Cryptography. London: CRC Press. Naor M, Shamir A. 1998. Visual Cryptography. Berlin: Springer-Verlag. Nakajima M, Yamaguchi Y. 2002. Extended Visual Cryptography For Natural Images. Journal of WSCG 10(2): 303–310.
13
Retwando. 2010. Analisis dan implementasi algoritme RSA secara paralel [skripsi]. Bogor: Fakultas Matematika dan Ilmu Pengetahuan Alam. Institut Pertanian Bogor. Rosanja HT. 2011. Penggabungan teknik kompresi data dan enkripsi sandi alir untuk
keamanan citra digital [skripsi]. Bogor: Fakultas Matematika dan Ilmu Pengetahuan Alam. Institut Pertanian Bogor. Stallings W. Network Practices.
2003. Cryptography and Security Principles and London: Prentice Hall.
LAMPIRAN
Lampiran 1 Perbandingan hasil enkripsi antara citra dengan persebaran warna merata dan citra dengan persebaran warna yang tidak merata 1.
Citra dengan persebaran warna merata. Citra Asli
a.
Ruang kunci n kecil, yaitu sebesar 1051963 (21 bit). Kunci publik e = 3 (2 bit) dan kunci privat d = 637547 (20 bit)
Dengan permutasi (dilakukan pengacakan urutan layer citra) Citra Hasil Enkripsi Pengujian Pertama: Citra 1
Citra 2
Citra 3
Citra 4
Lampiran 1 (lanjutan)
Tanpa permutasi (tidak dilakukan pengacakan urutan layer citra) Citra Hasil Enkripsi Pengujian Kedua: Citra 1
Citra 2
Citra 3
Citra 4
Lampiran 1 (lanjutan) b.
Ruang kunci n besar (mendekati 32 bit), yaitu sebesar 532157387 (29 bit). Kunci publik e = 7 (3 bit) dan kunci privat d = 227333983 (28 bit).
Dengan permutasi (dilakukan pengacakan urutan layer citra) Citra Hasil Enkripsi Pengujian Ketiga: Citra 1
Citra 2
Citra 3
Citra 4
Lampiran 1 (lanjutan)
Tanpa permutasi (tidak dilakukan pengacakan urutan layer citra) Citra Hasil Enkripsi Pengujian Keempat: Citra 1
Citra 2
Citra 3
Citra 4
Lampiran 1 (lanjutan) 2.
Citra dengan persebaran tidak warna merata (elemen warna yang sama saling berdekatan membentuk region). Citra Asli
a.
Ruang kunci n kecil, yaitu sebesar 1051963 (21 bit). Kunci publik e = 3 (2 bit) dan kunci privat d = 637547 (20 bit)
Dengan permutasi (dilakukan pengacakan urutan layer citra) Citra Hasil Enkripsi Pengujian Kelima: Citra 1
Citra 2
Citra 3
Citra 4
Lampiran 1 (lanjutan)
Tanpa permutasi (tidak dilakukan pengacakan urutan layer citra) Citra Hasil Enkripsi Pengujian Keenam: Citra 1
Citra 2
Citra 3
Citra 4
Lampiran 1 (lanjutan) b.
Ruang kunci n besar (mendekati 32 bit), yaitu sebesar 532157387 (29 bit). Kunci publik e = 7 (3 bit) dan kunci privat d = 227333983 (28 bit).
Dengan permutasi (dilakukan pengacakan urutan layer citra) Citra Hasil Enkripsi Pengujian Ketujuh: Citra 1
Citra 2
Citra 3
Citra 4
Lampiran 1 (lanjutan)
Tanpa permutasi (tidak dilakukan pengacakan urutan layer citra) Citra Hasil Enkripsi Pengujian Kedelapan: Citra 1
Citra 2
Citra 3
Citra 4