PAPER TUGAS AKHIR PERIODE JULI 2011
IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI PADA MEDIA GAMBAR DENGAN MENGGUNAKAN METODE DES DAN REGION-EMBED DATA DENSITY. Rizqi Firmansyah - Wahyu Suadi, S.Kom., M.M., M.Kom. Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember. Email:
[email protected],
[email protected] Abstraksi Steganografi adalah metode untuk menyembunyikan informasi pada sebuah media, bisa berupa media gambar, suara ataupun video. Aspek terpenting pada steganografi adalah tingkat keamanan penyembunyian informasinya, yang mengacu pada seberapa besar ketidakmampuan pihak ketiga dalam mendeteksi keberadaan informasi yang tersembunyi. Steganografi yang umum digunakan adalah penyembunyian informasi text pada media gambar. Namun metode yang sering digunakan masih cukup sederhana sehingga pihak ketiga masih bisa mendapatkan informasi yang disembunyikan. Pada tugas akhir ini dibuat sebuah implementasi yang membuat steganografi text pada media gambar menjadi lebih kuat dan aman. Implementasi yang digunakan adalah mengenkripsi pesan text terlebih dahulu dengan sebuah kata kunci menggunakan algoritma kriptografi Data Encryption Standard (DES). Informasi yang terenkripsi tersebut kemudian dimasukkan pada pixel yang ditentukan berdasarkan tingkat kerapatan data (Region-Embed Data Density) Kata kunci : Kriptografi, Steganografi, DES, Data Density.
1.
PENDAHULUAN
Komunikasi sudah menjadi bagian dalam kehidupan manusia. Terutama pada era informasi seperti sekarang, komunikasi menjadi hal yang sangat krusial. Ada saat di mana informasi itu bersifat penting dan rahasia. Oleh karena itu metode komunikasi yang digunakan harus dibuat sedemikian rupa sehingga tidak ada pihak lain yang mengetahui tentang informasi tersebut. Dengan alasan tersebut lahirlah kriptografi, yaitu metode pengolahan informasi dengan algoritma tertentu sehingga menjadi samar dan sulit dimengerti maknanya. Namun metode ini sering menimbulkan kecurigaan pihak ketiga, sebab pesan yang sulit dimengerti pasti sudah diolah dan menunjukkan bahwa pesan itu merupakan informasi penting. Untuk menghindari permasalahan tersebut maka lahirlah steganografi, yaitu metode menyembunyikan informasi pada sebuah media, bisa berupa media gambar, suara ataupun video. Aspek terpenting dari steganografi adalah tingkat keamanan penyembunyian informasinya, yang mengacu pada seberapa besar ketidakmampuan pihak ketiga dalam mendeteksi keberadaan informasi yang tersembunyi. Steganografi yang umum dipakai adalah penyembunyian informasi pada media gambar, di mana informasi text dimasukkan ke dalam bit pixel gambar. Namun metode yang sering digunakan
Rizqi Firmansyah - 5107100055
masih cukup sederhana sehingga pihak ketiga masih bisa mendapatkan informasi yang disembunyikan. Oleh karena itu makalah ini membahas tentang sebuah implementasi yang membuat steganografi text pada media gambar menjadi lebih kuat dan aman. Implementasi ini mengenkripsi pesan text dengan sebuah password menggunakan algoritma kriptografi Data Encryption Standard (DES). Informasi yang terenkripsi kemudian dimasukkan pada pixel yang diambil dari region menggunakan algoritma Region-Embed Data Density (REDD). 2.
DASAR TEORI
2.1
Kriptografi
Kriptografi (cryptography) berasal dari Bahasa Yunani cryptós (secret) dan gráphein (writing). Jadi, kriptografi berarti secret writing (tulisan rahasia). Kriptografi adalah ilmu dan seni untuk menjaga kerahasian pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya. Ada empat tujuan dari kriptografi ini yang juga merupakan aspek keamanan informasi yaitu kerahasiaan (menjaga isi informasi dari siapapun kecuali yang memiliki otoritas), integritas data (penjagaan dari perubahan data secara tidak sah), autentikasi (identifikasi dan pengenalan pengirim dan penerima), dan non-repudiasi (mencegah terjadinya
Page 1
PAPER TUGAS AKHIR PERIODE JULI 2011 penyangkalan terhadap pengiriman suatu informasi oleh pengirim). Pada kriptografi digunakan beberapa istilah penting. Penjelasannya adalah sebagai berikut : 1. Plaintext, berarti pesan asli. 2. Ciphertext, berarti pesan yang sudah dienkripsi. 3. Cipher, yang berarti algoritma yang dipakai untuk mengubah plaintext ke ciphertext. 4. Key, yang berarti kunci pada proses kriptografi yang hanya diketahui oleh pengirim dan penerima. 5. Encipher (Encrypt), yang berarti proses enkripsi plaintext ke ciphertext. 6. Decipher (Decrypt), yang berarti proses dekripsi ciphertext kembali ke plaintext.
2.3
Steganografi
Steganografi (Steganography) berasal dari bahasa Yunani steganos (hidden) dan gráphein (writing). Jadi, steganografi berarti hidden writing (tulisan tersembunyi). Steganografi adalah seni dan ilmu menyembunyikan pesan ke dalam sebuah media dengan suatu cara sehingga selain si pengirim dan si penerima, tidak ada seorangpun yang mengetahui atau menyadari bahwa sebenarnya ada suatu pesan rahasia. Pada steganografi modern, arti steganografi berkembang menjadi penyembunyian informasi pada sebuah media file digital, bisa berupa media gambar, suara ataupun video. Aspek terpenting pada steganografi adalah tingkat keamanan penyembunyian informasinya, yang mengacu pada seberapa besar ketidakmampuan pihak ketiga dalam mendeteksi keberadaan informasi yang tersembunyi.
Gambar 2.1 Proses Enkripsi dan Dekripsi
2.2
Data Encryption Standard (DES)
Data Encryption Standard adalah algoritma cipher yang termasuk dalam block cipher dan menggunakan kunci simetri. DES beroperasi pada ukuran blok 64-bit. DES mengenkripsikan 64-bit plaintext menjadi 64-bit ciphertext menggunakan 56bit internal key. Internal key dihasilkan dari external key 64-bit. DES memanfaatkan perulangan permutasi dengan mengembangkan algoritma Feistel Cipher. Skema global DES bisa dilihat pada Gambar 2.2
Gambar 2.3 Konsep Dasar Steganografi
Steganografi bisa dikatakan sebagai bentuk perkembangan dari kriptografi. Perbedaan antara kriptografi dan steganografi ada pada hasil outputnya. Kriptografi akan menghasilkan output yang terkesan berantakan dan sulit dimengerti. Namun steganografi menghasilkan output yang memiliki tampilan yang nyaris sama dengan aslinya.
Gambar 2.4 Perbedaan Kriptografi dan Steganografi
Gambar 2.2 Skema Algoritma DES
Pada steganografi digunakan beberapa istilah penting. Penjelasannya adalah sebagai berikut : 1. Message, berarti pesan yang ingin disembunyikan. 2. Cover Image, yang berarti gambar asli.
Rizqi Firmansyah - 5107100055
Page 2
PAPER TUGAS AKHIR PERIODE JULI 2011 3. Carrier Image, gambar yang sudah dimasukkan message di dalamnya dengan algoritma tertentu. 4. Embedding (Encrypt), yang berarti proses memasukkan message ke cover image. 5. Extracting (Decrypt), yang berarti proses pengambilan message dari carrier image. 2.4
3.
PERANCANGAN
3.1
Alur Kerja
Alur kerja metode ini memodifikasi alur kerja REDD dengan menyisipkan alur kerja DES di dalamnya. Dengan demikian alur kerja yang baru akan menjadi seperti ini.
Region-Embed Data Density (REDD)
Region-Embed Data Density adalah metode penyisipan bit message pada pixel. Kita menentukan sendiri pixel-pixel mana yang ingin disisipi message. Lokasi pixel itu kita sebut dengan nama region. Data density adalah tingkat kerapatan data. Dalam gambar, data density ditentukan pada varian warna. Apabila suatu area pada gambar memiliki varian warna yang sedikit, maka nilai data densitynya rendah. Sebaliknya, jika memiliki banyak varian warna, maka nilai data density-nya tinggi. Proses awal REDD adalah menggambar region. Setelah itu memasukkan message ke region yang diinginkan. Lokasi region akan dimasukkan pada header yang diinputkan pada pixel-pixel pertama pada gambar. Sehingga saat proses dekripsi, yang pertama dilakukan adalah membaca header untuk mendapatkan lokasi region, lalu meng-extract region untuk mendapatkan message.
Gambar 3.1 Alur Kerja Modifikasi
3.2 Gambar 2.5 Proses Embedding Message
Beberapa hal penting yang perlu diperhatikan pada saat menginput bit ke dalam region adalah : 1. Algoritma REDD ini mengkonversi gambar ke format RGB lebih dahulu. 2. Penyembunyian bit dilakukan secara bergantian pada bit RGB. Dengan demikian bit-bit message akan dimasukkan secara bergantian ke dalam bit merah, hijau, biru. 3. Total byte yang bisa dimasukkan dihitung dengan rumus berikut : Jumlah pixel pada region * (bpp/8) 4. Pixel pada 1 region akan dibagi menjadi 1 blok dengan ukuran sama. Pembagian jumlah blok dilakukan dengan rumus sebagai berikut : Total Byte * 8 / bpp 5. Nilai bpp menentukan berapa bit yang akan dimasukkan pada 1 pixel dari 1 blok.
Rizqi Firmansyah - 5107100055
Langkah Kerja
Langkah kerja metode ini dibagi menjadi 2 bagian, yaitu langkah kerja enkripsi dan langkah kerja dekripsi. Langkah kerja enkripsi adalah sebagai berikut : 1. Memasukkan cover image dan menginputkan pesan dan password. 2. Mengenkripsi pesan dan password menjadi ciphertext dengan algoritma DES. 3. Menggambar region. 4. Memasukkan bit-bit message ke dalam region yang dinginkan. Hal ini termasuk men-setting berapa jumlah byte per region dan nilai bit per pixel. 5. Memasukkan lokasi region ke dalam header gambar. 6. Save carrier image. Proses selesai. Langkah kerja dekripsi adalah sebagai berikut : 1. Memasukkan carrier image dan menginputkan password. 2. Membaca header untuk mendapatkan lokasi region.
Page 3
PAPER TUGAS AKHIR PERIODE JULI 2011 3. Membentuk ulang region untuk mendapatkan message dalam region. 4. Mendekripsi ciphertext dengan password menggunakan algoritma DES. 5. Save plaintext. Proses selesai. 5. Memasukkan lokasi region ke dalam header gambar. 6. Save carrier image. Proses selesai. 3.3
Desain Antarmuka
Sistem ini hanya memiliki 2 antarmuka, yaitu antar muka enkripsi dan antarmuka dekripsi. Antarmuka enkripsi memiliki 2 bagian, yaitu antarmuka input enkripsi dan antarmuka region. Sedang antarmuka dekripsi juga terbagi 2, yaitu antarmuka input dekripsi dan antarmuka hasil.
Gambar 3.4 Antarmuka Input Dekripsi
Gambar 3.5 Antarmuka Hasil
4.
UJI COBA
Uji coba akan fokus pada manipulasi nilai bitper-pixel (bpp) untuk melihat seberapa besar distorsi yang terjadi. Uji coba menggunakan 4 skenario yang masing-masing skenario akan menggunakan 4 region. Detail dari 4 skenario tersebut adalah :
Gambar 3.2 Antarmuka Input Enkripsi
1. Uji Coba 1 : Nilai Byte yang Diinputkan Berbeda, Nilai BPP Sama, Ukuran Region Relatif Sama, Resolusi Sama 2. Uji Coba 2 : Nilai Byte yang Diinputkan Sama, Nilai BPP Berbeda, Ukuran Region Relatif Sama, Resolusi Sama 3. Uji Coba 3 : Nilai Byte yang Diinputkan Sama, Nilai BPP Sama, Ukuran Region Berbeda, Resolusi Sama 4. Uji Coba 4 : Nilai Byte yang Diinputkan Sama, Nilai BPP Sama, Ukuran Region Relatif Sama, Resolusi Berbeda
Gambar 4.1 Gambar Uji Coba
Gambar 3.3 Antarmuka Region
Rizqi Firmansyah - 5107100055
Input pesan dan password pada uji coba sudah ditentukan. Password akan menggunakan kata sepanjang 8 karakter yaitu “ClanElpe” dan pesan
Page 4
PAPER TUGAS AKHIR PERIODE JULI 2011 akan menggunakan kalimat “Ini adalah pesan rahasia!” yang panjangnya 27 karakter dengan ditambah karakter “↵” atau “/n” (Enter). Pesan tersebut akan diulang 100 kali sehingga totalnya menjadi 2700 karakter. Hasil dari enkripsi DES akan menghasilkan 3608 karakter. 4.1
Uji Coba 1
Uji Coba skenario 1 ini menggunakan 4 faktor yang dijelaskan pada Tabel 4.1. Detail Ukuran Region, Nilai Byte yang Diinputkan dan Nilai BPP pada setiap region dijelaskan pada Tabel 4.2. Adapun lokasi region ditunjukkan pada Gambar 4.2. Hasilnya ditunjukkan pada Gambar 4.3. Gambar 4.3 diperbesar sebanyak 800%. Tabel 4.1 Variabel pada Uji Coba Skenario 1
No 1 2 3 4 5 6
Faktor Ukuran CipherText Jumlah Region Nilai Byte per Region Nilai BPP Ukuran Tiap Region Resolusi Gambar
Keterangan 3608 Karakter 4 Region Berbeda tiap Region Sama tiap Region Relatif Sama Sama
Tabel 4.2 Nilai Byte dan BPP per Region Skenario 1
Nama Region 1 Region 2 Region 3 Region 4
Pixel 2250 – 2300 2250 – 2300 2250 – 2300 2250 – 2300
Nilai Byte 502 Byte 802 Byte 1002 Byte 1302 Byte
4.2
Uji Coba 2
Uji Coba skenario 2 ini menggunakan 4 faktor yang dijelaskan pada Tabel 4.3. Detail Ukuran Region, Nilai Byte yang Diinputkan dan Nilai BPP pada setiap region dijelaskan pada Tabel 4.4. Adapun lokasi region ditunjukkan pada Gambar 4.2. Hasilnya ditunjukkan pada Gambar 4.4. Gambar 4.4 diperbesar sebanyak 800%. Tabel 4.3 Variabel pada Uji Coba Skenario 2
No 1 2 3 4 5 6
Faktor Ukuran CipherText Jumlah Region Nilai Byte per Region Nilai BPP Ukuran Tiap Region Resolusi Gambar
Keterangan 3608 Karakter 4 Region Sama tiap Region Berbeda tiap Region Relatif Sama Sama
Tabel 4.4 Nilai Byte dan BPP per Region Skenario 2
Nama Region 1 Region 2 Region 3 Region 4
Pixel 2250 – 2300 2250 – 2300 2250 – 2300 2250 – 2300
Nilai Byte 902 Byte 902 Byte 902 Byte 902 Byte
Nilai BPP 5 BPP 6 BPP 7 BPP 8 BPP
Nilai BPP 8 BPP 8 BPP 8 BPP 8 BPP
Gambar 4.4 Hasil Uji Coba 2
4.3
Gambar 4.2 Lokasi Region Uji Coba 1
Uji Coba 3
Uji Coba skenario 3 ini menggunakan 4 faktor yang dijelaskan pada Tabel 4.5. Detail Ukuran Region, Nilai Byte yang Diinputkan dan Nilai BPP pada setiap region dijelaskan pada Tabel 4.6. Adapun lokasi region untuk pada Gambar 4.5. Hasilnya ditunjukkan pada Gambar 4.6. Gambar 4.6 diperbesar sebanyak 600%. Tabel 4.5 Variabel pada Uji Coba Skenario 3
Gambar 4.3 Hasil Uji Coba 1
Rizqi Firmansyah - 5107100055
No 1 2 3 4 5 6
Faktor Ukuran CipherText Jumlah Region Nilai Byte per Region Nilai BPP Ukuran Tiap Region Resolusi Gambar
Keterangan 3608 Karakter 4 Region Sama tiap Region Sama tiap Region Berbeda tiap Region Sama
Page 5
PAPER TUGAS AKHIR PERIODE JULI 2011 Tabel 4.6 Nilai Byte dan BPP per Region Skenario 3
Nama Region 1 Region 2 Region 3 Region 4
Pixel 1400 – 1500 3400 – 3500 6400 – 6500 11400 – 11500
Nilai Byte 902 Byte 902 Byte 902 Byte 902 Byte
Nilai BPP 8 BPP 8 BPP 8 BPP 8 BPP
menggunakan 2 gambar berukuran 100% dan 25%. Detail Ukuran Region dijelaskan pada Tabel 4.8. Adapun lokasi region untuk pada Gambar 4.2. Hasilnya ditunjukkan pada Gambar 4.7. Tabel 4.5 Variabel pada Uji Coba Skenario 4
No 1 2 3 4 5 6
Faktor Ukuran CipherText Jumlah Region Nilai Byte per Region Nilai BPP Ukuran Tiap Region Resolusi Gambar
Keterangan 3608 Karakter 4 Region Sama tiap Region Sama tiap Region Lokasi Relatif Sama Berbeda
Tabel 4.6 Ukuran Pixel per Region Skenario 4
Gambar 4.5 Lokasi Region Uji Coba 3
Nama Region 1 Region 2 Region 3 Region 4
Pixel 25% 2250 – 2300 2250 – 2300 2250 – 2300 2250 – 2300
Pixel 100% 9000-9200 9000-9200 9000-9200 9000-9200
Gambar 4.7 Hasil Uji Coba 4
4.5
Analisa Uji Coba
Dari 4 skenario uji coba yang telah dilakukan, hasil dari evaluasi uji coba tersebut adalah sebagai berikut : Gambar 4.6 Hasil Uji Coba 3
4.4
Uji Coba 4
Uji Coba skenario 4 ini menggunakan 4 faktor yang dijelaskan pada Tabel 4.7. Uji coba ini
Rizqi Firmansyah - 5107100055
1. Faktor yang berpengaruh pada distorsi carrier image adalah pemilihan area region, nilai bpp yang dimasukkan, besar region dan resolusi dari gambar.
Page 6
PAPER TUGAS AKHIR PERIODE JULI 2011 2. Pemilihan warna yang monoton menyebabkan distorsi semakin terlihat. 3. Pemilihan warna yang didominasi warna cerah juga menyebabkan distorsi semakin mudah disadari. 4. Pemilihan bpp yang semakin tinggi menyebabkan distorsi semakin terlihat. 5. Nilai bpp yang berbeda akan menghasilkan distorsi yang berbeda meski warna pixelnya sama. 6. Pemilihan region yang semakin kecil menyebabkan distorsi semakin mudah terlihat. 7. Semakin kecil region yang digunakan, dengan nilai byte yang diinputkan sama, distorsi akan semakin terfokus. 8. Dengan input yang sama pemilihan resolusi yang semakin kecil menyebabkan distorsi semakin mudah terlihat. 9. Meski area yang digunakan sama, hasil distorsinya akan berbeda karena resolusinya berbeda, menyebabkan luas region juga berbeda. 10. Untuk pesan yang panjang, diperlukan resolusi gambar yang besar. 5.
KESIMPULAN
Kesimpulan yang dapat diambil dari hasil pengamatan selama perancangan, implementasi, dan proses uji coba sistem yang dilakukan adalah sebagai berikut :
1. Pesan yang semakin panjang akibat enkripsi DES tidak menjadi faktor utama dalam menghasilkan distorsi gambar. Oleh karena itu penggunaan algoritma kriptografi DES tidak mempengaruhi kinerja algoritma steganografi REDD itu sendiri. Penambahan kriptografi DES dalam proses REDD malah semakin memperkuat keamanan steganografi tersebut. 2. Faktor yang menyebabkan terjadinya distorsi adalah nilai bpp, lokasi pemilihan region, luas region yang dibuat dan resolusi gambar. 3. Dari 4 faktor yang disebutkan pada poin 2, faktor yang menjadi penyebab utama terjadinya distorsi gambar adalah pemilihan nilai bpp yang tinggi. Hal ini dikarenakan dengan nilai bpp yang tinggi, nilai bit yang diganti pada RGB akan besar sehingga perbedaan warna akan semakin terlihat. Nilai yang direkomendasikan agar menghasilkan distorsi yang minimum adalah tidak lebih dari 4 bpp. 4. Faktor berikutnya setelah yang disebutkan pada poin 3 adalah penggambaran lokasi region pada area yang data density-nya rendah. Area tersebut adalah area yang tidak kaya warna dan pola warna yang monoton. Permasalahan ini diatasi dengan memperluas Rizqi Firmansyah - 5107100055
area region yang dipakai hingga 50% dari luas keseluruhan gambar. 5. Gambar yang dipakai sebagai cover image diharapkan memiliki resolusi yang besar agar distorsi yang dihasilkan semakin kecil. 6.
DAFTAR PUSTAKA
[1].
John, Corrina. 2006. Steganography with Different Data Density [2]. Mohammed A.F. Al-Husainy. 2009. “Image Steganography”. Al-Zaytoonah University of Jordan : 10.1.1.165.7818 [3]. Bandyopadhyay, Samir K. 2008. “A Tutorial Review on Steganography”. University of Calcutta. [4]. Biham, Eli and Shamir, Adi. 1993. Differential Cryptanalysis of the Data Encryption Standard, Springer Verlag [5]. Jonathan Katz and Yehuda Lindell, “Introduction to Modern Cryptography” [6]. Wayner, Peter. 2009. Disappearing cryptography 3rd Edition: information hiding: steganography & watermarking. Amsterdam : MK/Morgan Kaufmann Publishers. [7]. Silalahi, Meliza T.M. 2010. Eksplorasi Steganografi [8]. Dian Dwi Hapsari, Lintang Yuniar Banowosari. 2009. “Aplikasi Steganografi dengan Metode LSB”. [9]. Gemita, Ria. 2010. Studi Perbandingan Steganografi pada Audio, Video dan Gambar. [10]. Alatas, Putri. 2009. “Teknik Steganografi dengan Metode LSB pada Citra Digital” [11]. Wijaya, Ermadi Satriya. 2009. “Konsep Hidden Message Menggunakan Teknik Steganografi”.
Page 7