Aplikasi Penyembunyian Pesan Rahasia pada Citra dengan Metode Digital Semipublic Watermarking Stefen Agustinus1), Susi Japit2) STMIK IBBI Jl. Sei Deli No. 18 Medan, Telp. 061-4567111 Fax. 061-4527548 e-mail:
[email protected] 1) Abstrak Sasaran dari watermarking adalah untuk menyembunyikan pesan (biasanya disebut sebagai cover message / CM). Pada skema public watermarking, tidak memungkinkan seseorang untuk mendeteksi watermarking apabila telah terjadi pergantian terhadap watermarking. Selain itu, pada skema public watermarking, cover message tidak dapat di-recover kembali. Sedangkan, pada skema private watermarking, untuk dapat mendeteksi watermarking, maka seseorang harus mengetahui kunci privat yang bersesuaian. Kedua skema tersebut memiliki kelebihan dan kelemahannya masing-masing. Skema watermarking (WM) yang bersifat semi publik, dapat digunakan kunci privat untuk mendeteksi watermark apabila telah terjadi penyerangan terhadap watermarking dan kunci privat dapat digunakan mengekstrak kembali cover message semula. Tujuan dari penelitian ini adalah untuk menghasilkan watermarking dari sebuah citra input. Proses pembentukan watermarking akan dimulai proses pembacaan piksel citra warna. Setelah itu, proses akan dilanjutkan dengan melakukan perhitungan nilai stegomessage yang akan disisipkan dan proses penyisipan semua nilai yang diperlukan dalam proses pengecekan watermarking. Setelah proses pembentukan watermarking, maka proses dapat dilanjutkan dengan proses pengecekan watermarking dan proses ekstraksi pesan. Perangkat lunak ini mampu menghasilkan watermarking yang akan disisipkan pada citra input dan proses pengecekan watermarking yang telah disisipkan. Selain itu, perangkat lunak juga mampu menghasilkan proses perhitungan dari tahapan pembentukan dan pengecekan watermarking. Kata Kunci : digital semipublic watermarking, cover message Abstract The goal of watermarking is to hide message (usually called cover message / CM). In public watermarking scheme, we couldn’t detect watermarking if the watermarking is changed. Besides that, in public watermarking scheme, cover message couldn’t be recovered. Whereas, in private watermarking scheme, to detect watermarking, we should know the private key. Those two schemes have benefits and weaknesses. In semi public watermarking, we could use private key to detect watermark if there are attacks on watermarking and private key could be used to extract cover message. This research aims to generate watermarking from input image. Generate watermarking process will be started from reading color image pixels. After that, the system will compute the stegomessage value will be embedded into digital image. Finally, the system will check the existence of watermarking and extract the message. This software could generate watermarking which will be embedded into input image and check the existence of watermarking. Besides that, the software could generated the detail process of every step in generating and checking watermarking. Keywords : digital semipublic watermarking, cover message 1. Pendahuluan Penyembunyian informasi (information hiding / IH) merupakan sebuah area yang masih baru dalam sekuritas informasi. Sasaran dari desain IH adalah untuk menyembunyikan pesan walaupun pada kenyataannya dalam pesan mungkin terdapat data yang tidak berguna (biasanya disebut sebagai cover message / CM). Watermarking (WM) merupakan salah satu aplikasi IH. CM harus dikombinasikan dengan beberapa informasi lainnya, seperti identifikasi pemilik. Kemudian kode identifikasi adalah ditempelkan secara permanen pada data dan harus tetap tersedia diantara data setelah sembarang proses transformasi yang dilakukan oleh penyerang yang dilakukan untuk membuang WM, menjaga kualitas dari CM.
Aplikasi Penyembunyian Pesan Rahasia pada Citra (Stefen)
240
Pada tahun 2002, Valery Korzhik dan Guillermo Morales-Luna memperkenalkan sebuah skema Digital Semipublic Watermarking dimana diambil asumsi bahwa hanya terdapat satu tipe serangan yaitu additive noise attack. Terdapat dua tipe utama dari WM yaitu versi privat, dimana encoder dan decoder menggunakan kunci rahasia, dan versi publik (versi blind), dimana tidak ada informasi apapun yang tersedia untuk decoder. Karena bentuk semiprivat telah tersedia, maka Valery Korzhik dan Guillermo Morales-Luna memperkenalkan bentuk semipublik dari WM. Pada kasus ini, diasumsikan bahwa setiap user mampu untuk mengekstraksi WM tanpa kunci rahasia. Pada waktu yang sama, pembuat WM, memiliki kunci rahasia, mampu untuk mendeteksi WM, bahkan setelah sebuah penyerangan. Berdasarkan uraian dan alasan diatas, maka peneliti merasa tertarik untuk mempelajari mengenai algoritma digital semipublic Watermarking dengan beberapa pertimbangan bahwa belum terdapat versi semipublik dari algoritma Watermarking. Oleh karena itu, peneliti mengambil skripsi yang berjudul “Aplikasi Penyembunyian Pesan Rahasia pada Citra dengan Metode Digital Semipublic Watermarking”. Berdasarkan uraian latar belakang diatas, maka yang menjadi permasalahan adalah skema watermarking (WM) yang bersifat semi publik, dapat digunakan kunci privat untuk mendeteksi watermark apabila telah terjadi penyerangan terhadap watermarking. Untuk menerapkan skema tersebut maka perlu dirancang sebuah aplikasi yang menerapkan skema semi-public watermarking. 2. Metodologi Penelitian Metodologi penelitian dilakukan dengan mengumpulkan data terlebih dahulu. Proses dimulai dengan mengumpulkan data-data yang diperlukan dalam penelitian, adapun metode pengumpulan data dalam penelitian dilakukan melalui Penelitian Kepustakaan (library research), yaitu penulis mengumpulkan data-data melalui internet dan buku-buku yang relevan yang berhubungan dengan topik yang dibahas. Sistem yang akan dirancang akan digambarkan dan dimodelkan dengan menggunakan use case: Aplikasi Digital Semipublic Watermarking
Membuka file citra << include >> << include >> Melakukan proses pembuatan watermarking Pembuat WM
<< include >>
Menginput nilai yang diperlukan << include >>
<< include >> Menyimpan file citra
Melakukan proses pengecekan watermarking
<< include >>
Pengecek WM
Menampilkan proses pemahaman pembuatan watermarking << include >> Menampilkan hasil proses perhitungan << include >> Menampilkan proses pemahaman pengecekan watermarking
Gambar 1. Use Case Sistem Seperti terlihat pada gambar 1 di atas, entitas dari sistem hanya berjumlah dua buah yaitu pembuat watermarking, pengecek watermarking dan penyerang. Sedangkan, proses yang terdapat pada perangkat lunak ada delapan buah yaitu melakukan proses pembuatan watermarking, melakukan proses pengecekan watermarking, membuka file citra, menyimpan file citra, menginput nilai yang diperlukan, menampilkan proses pemahaman pembuatan watermarking, menampilkan proses pemahaman pengecekan watermarking dan menampilkan hasil proses perhitungan. Menu perangkat lunak ini dirancang dengan objek ‘MenuStrip’ menghubungkan (link) formform yang terdapat pada perangkat lunak. Rancangan menu utama ini dapat dilihat pada gambar 2 berikut:
241
Menu Utama
Teori Pendukung
Pemahaman
Aplikasi
Digital Semipublic Watermarking
Buat Watermarking
Buat Watermarking
Algoritma Buat Watermkaring
Cek Watermarking
Cek Watermarking
Perbandingan
Mengenai
Keluar
Algoritma Cek Watermarking
Gambar 2 Rancangan Menu Utama Fungsi dari masing-masing menu tersebut dapat dirincikan sebagai berikut: Menu ‘Teori Pendukung’, yang berfungsi untuk menampilkan teori dasar yang berhubungan dengan topik yang dibahas. Menu ini memiliki beberapa sub menu yang dirinci sebagai berikut: sub menu pertama yaitu ‘Digital Semipublic Watermarking’ yang berfungsi untuk menampilkan teori mengenai digital semipublic watermarking. Sub menu pertama yaitu sub menu ‘Algoritma Buat Watermarking’ yang berfungsi untuk menampilkan teori mengenai proses pembuatan digital semipublic watermarking dan sub menu ‘Algoritma Cek Watermarking’ yang berfungsi untuk menampilkan teori mengenai proses pengecekan digital semipublic watermarking. Menu ‘Pemahaman’, yang berfungsi untuk menampilkan proses pemahaman mengenai prosedur kerja dari pembuatan dan pengecekan watermarking terhadap citra yang dibuka. Menu ini memiliki beberapa sub menu yaitu: sub menu pertama yaitu ‘Buat Watermarking’ yang berfungsi untuk menampilkan pemahaman mengenai proses pembuatan watermarking. Sub menu kedua yaitu ‘Cek Watermarking’ yang berfungsi untuk menampilkan pemahaman mengenai proses pengecekan terhadap watermarking yang terdapat dalam citra yang dibuka. Menu ‘Aplikasi’, yang berfungsi untuk melakukan proses pembuatan dan pengecekan watermarking terhadap citra yang dibuka. Menu ini memiliki beberapa sub menu yaitu: sub menu pertama yaitu ‘Buat Watermarking’ yang berfungsi untuk membuat watermarking dan menyisipkannya ke dalam citra input. Sub menu kedua yaitu ‘Cek Watermarking’ yang berfungsi untuk melakukan pengecekan terhadap watermarking yang terdapat dalam citra yang dibuka. Menu ‘Perbandingan’, yang berfungsi untuk melakukan perbandingan terhadap dua buah citra. Menu ‘Mengenai’, memiliki sebuah sub menu yaitu sub menu ’About’ yang berfungsi untuk menampilkan form ‘About’. Menu ‘Keluar’, berfungsi untuk menutup perangkat lunak. 3. Analisis dan Hasil 3.1 Analisa Sistem Pada tahap ini penulis akan menganalisis permasalahan lebih mendalam mengenai masalah yang ditemukan dalam perancangan sistem, sehingga dapat dicari solusi untuk menyelesaikan permasalahan tersebut. Dalam proses kerja digital watermarking, terdapat dua buah proses yaitu proses pembuatan dan pengecekan watermarking. Secara garis besar, proses pembuatan dan pengecekan watermarking dapat diilustrasikan pada gambar 3 dan gambar 4. 1. Proses Pembuatan Watermarking
Input Citra
Input Cover Message
Input Kunci Privat dan Kunci Publik Pecahkan Cover Message menjadi Subblok berdasarkan panjang bit kunci publik Hitung nilai Stegomessage
Hitung nilai Threshold Sisipkan nilai Stegomessage , Threshold, dan nilai kunci publik ke dalam citra Output = Citra Watermarking
Gambar 3 Activity diagram dari proses pembuatan watermarking
Aplikasi Penyembunyian Pesan Rahasia pada Citra (Stefen)
242
2.
Proses Pengecekan Watermarking
Input Citra Watermarking Baca nilai Stegomessage, Threshold, dan nilai kunci publik dari citra Hitung nilai Threshold
Nilai Threshold >= Nilai yang tersimpan dalam citra
Tidak
Ya
Watermarking TERDETEKSI
Watermarking TIDAK TERDETEKSI
Gambar 4 Activity diagram dari proses pengecekan watermarking 3.2 Hasil Untuk menggunakan perangkat lunak ini, jalankan file ”watermarking.exe”, maka akan ditampilkan tampilan utama dari program seperti terlihat pada gambar berikut:
Gambar 5. Tampilan Utama Pada tampilan utama ini terdapat beberapa menu yang berfungsi untuk mengakses form-form yang terdapat dalam sistem. Berikut perincian dari menu yang terdapat dalam sistem:
Gambar 6. Tampilan Menu Untuk melakukan pemahaman terhadap proses pembuatan watermarking, maka dapat mengklik menu ‘Pemahaman’ >> ‘Buat Watermark’. Sedangkan, untuk melakukan pemahaman terhadap proses pengecekan watermarking, maka dapat mengklik menu ‘Pemahaman’ >> “Cek Watermark’. Sementara itu, untuk mengaplikasikan skema semi-public watermarking maka dapat mengakses menu ‘Aplikasi’ >> ‘Buat Watermark’ untuk membuat watermarking dan mengakses menu ‘Aplikasi’ >> ‘Cek Watermark’ untuk mengecek watermarking. Berikut dirincikan tampilan form dari perangkat lunak: 1. Tampilan Form Buat Watermarking:
243
Gambar 7. Tampilan pembuatan watermarking sebelum dan setelah proses 2.
Tampilan Form Cek Watermarking:
Gambar 8. Tampilan Pengecekan Watermarking Sebelum dan setelah Proses
Gambar 9. Tampilan Pengecekan Watermarking Setelah Proses Ekstraksi Pesan 3.
Tampilan Form Pemahaman Buat Watermarking:
4.
Gambar 10. Tampilan Form Pemahaman Buat Watermarking Tampilan Form Pemahaman Cek Watermarking:
Aplikasi Penyembunyian Pesan Rahasia pada Citra (Stefen)
244
Gambar 11 Tampilan Form Pemahaman Cek Watermarking Sementara itu, untuk membandingkan antara citra input dan citra watermarking, maka dapat mengklik link ‘Perbandingan’ pada form ‘Main’ sehingga akan muncul tampilan form berikut:
Gambar 12. Tampilan Hasil Perbandingan Pengujian Berikut diberikan beberapa contoh pengujian dengan menggunakan aplikasi Digital Semipublic Watermarking. 1. Pengujian 1: Input citra: Kuala_Lumpur_Petronas_Towers.jpg Ukuran : 21.4 KB Dimensi : 320 x 240 4.4
Cover message : Petronas Kunci publik : 48 Citra yang diperoleh: Ukuran : 161 KB
Kunci privat
:--+++--+++
Dimensi : 320 x 240
Gambar 13. Input Citra Kuala_Lumpur_Petronas_Towers.jpg dan hasil citra 2.
Pengujian 2: Input citra: Dragon.gif Ukuran : 56.8 KB Cover message
: dragon
Dimensi
: 174 x 131
Kunci publik : 48 Citra yang diperoleh: Ukuran : 12.3 KB
Kunci privat
245
:--+++--+++
Dimensi : 174 x 131
Gambar 14. Input Citra Dragon.gif dan hasil citra 3.
Pengujian 3: Input citra: Buddha.jpg Ukuran : 7 KB
Dimensi
: 208 x 176
Cover message : buddha Kunci publik : 44 Kunci privat :+++-+++Citra yang diperoleh: Ukuran : 109 KB Dimensi : 208 x 176
Gambar 15. Citra Input Citra Buddha.jpg dan hasil citra 4.
Pengujian 4: Input citra: M4!tr3¥4-1.gif Ukuran : 14 KB
Dimensi
: 128 x 127
Cover message : maitreya Kunci publik : 26 Kunci privat :----++----++ Citra yang diperoleh: Ukuran : 18 KB Dimensi : 128 x 127
Gambar 16. Citra Input Citra M4!tr3¥4-1.gif dan hasil citra 5.
Pengujian 5: Input citra: 3D__166_.jpg Ukuran : 128 KB
Dimensi
: 1024 x 768
Cover message : menyendiri Kunci publik : 19 Kunci privat :+++++--+++++-Citra yang diperoleh: Ukuran : 695 KB Dimensi : 1024 x 768
Aplikasi Penyembunyian Pesan Rahasia pada Citra (Stefen)
246
Gambar 17. Citra Input Citra 3D__166_.jpg dan hasil citra 6.
Pengujian 6: Input citra: Wo ai ni.gif Ukuran : 3 KB Cover message : cinta Kunci publik : 13 Citra yang diperoleh: Ukuran : 5 KB
Dimensi
: 208 x 227
Kunci privat
:---+---+
Dimensi : 208 x 227
Gambar 18. Citra Input Citra Wo ai ni.gif dan hasil citra 7.
Pengujian 7: Input citra: 400BMP.bmp Ukuran : 468 KB
Dimensi
: 400 x 400
Cover message : FINAL FANTASY Kunci publik : 35 Kunci privat :+++--++-+++--++Citra yang diperoleh: Ukuran : 477 KB Dimensi : 400 x 400
Gambar 19. Citra Input Citra 400BMP.bmp dan citra hasil 8.
Pengujian 8: (pengujian dengan penambahan noise pada citra) Input citra: Cute Pic 08.jpg Ukuran : 61 KB Dimensi : 612 x 792
Gambar 20. Citra
Input Citra Cute Pic 08.jpg
247
Gambar 21. Tampilan Hasil Pengujian Pembuatan Watermarking dengan Penambahan Noise Cover message : gambar bayi Kunci publik : 10 Kunci privat :+--+---+++--+---++ Citra yang diperoleh: Ukuran : 528 KB Dimensi : 612 x 792
Gambar 22. Citra Hasil dari Input Citra Cute Pic 08.jpg
Gambar 23. Tampilan Hasil Pengujian Pengecekan Watermarking dengan Penambahan Noise
Gambar 24. Tampilan Hasil Pengujian Ekstraksi Pesan dengan Penambahan Noise 9.
Pengujian 9: (pengujian dengan mengganti gambar citra dengan aplikasi Adobe Photoshop)
Aplikasi Penyembunyian Pesan Rahasia pada Citra (Stefen)
248
Input citra: Cute Pic 01.jpg Ukuran : 24 KB
Dimensi
: 433 x 275
Cover message : gambar burung Kunci publik : 30 Kunci privat :---+---+----+---+Citra yang diperoleh: Ukuran : 132 KB Dimensi : 433 x 275
Gambar 25. Citra Input Citra Cute Pic 01.jpg dan Citra Hasil dari Input Citra Cute Pic 01.jpg
Gambar 26. Citra Hasil dari Input Citra Cute Pic 01.jpg Hasil Pengubahan dengan Mengganti Hue = + 50, Saturation = + 50, Lightness = + 50
Gambar 27. Tampilan Hasil Pengujian Pengecekan Watermarking Setelah Pengubahan dengan Mengganti Hue = + 50, Saturation = + 50, Lightness = + 50 Dari hasil pengujian diatas, diketahui bahwa: Untuk citra berformat *.jpg, ukuran citra hasil watermarking akan bertambah besar sedangkan untuk citra berformat *.gif dan *.bmp, perubahan ukuran citra hasil watermarking relatif kecil (hampir sama dengan ukuran citra asli). Dimensi citra input dan citra hasil tidak berubah dan perbedaan warna citra input dan citra hasil juga tidak kelihatan jelas. Lama proses watermarking tergantung pada ukuran citra input dan panjangnya cover message. Skema digital semipublic watermarking mampu mengecek watermarking walaupun telah terjadi penyerangan (noise), namun pesan asli (cover message) tidak dapat diperoleh kembali. Citra yang diubah dengan menggunakan aplikasi Adobe Photoshop akan mengakibatkan watermarking menjadi tidak terdeteksi lagi.
249
4. Kesimpulan dan Saran Kesimpulan dari hasil penelitian adalah sebagai berikut : format citra menentukan ukuran citra hasil watermaking. Ukuran citra format *.jpg cukup besar dibandingkan dengan citra berformat *.gif dan *.bmp yang relatif kecil. Algoritma digital semi-public watermarking dapat digunakan untuk menambahkan watermarking pada citra dan mampu untuk mendeteksi citra walaupun telah terjadi penyerangan pada citra watermarking. Beberapa saran untuk pengembangan lebih lanjut pada perangkat lunak implementasi algoritma digital semi-public watermarking, yaitu: perangkat lunak dapat dikembangkan dengan membandingkan algoritma digital semi-public watermarking yang dibahas dengan algoritma lainnya yang sejenis, seperti algoritma yang dikemukakan oleh Anderson (1996), Aucsmith (1998), Katzenbeiser dan Petitcolas (2000), Moskowitz (2001) serta Moulin dan Sullivan (1998). Mengoptimalkan waktu eksekusi dengan memperbaiki algoritma atau dengan menggunakan bahasa pemrograman lainnya. Referensi Buku Teks : [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
Duan, F. Y. and I. King. A Short Summary of Digital Watermarking Techniques for Multimedia Data. Hong Kong: Proceedings.1999. Gonzales, R. C. dkk. Digital Image Processing. Addison-Wesley Publishing Company. 1992. Mohanty, S. P. Digital Watermarking : A Tutorial Review. Florida : Dept of Comp Sc and Eng, Unversity of South Florida. 1999. Murni, A. Pengantar Pengolahan Citra. Jakarta : PT. Elex Media Komputindo. 1992. Nalwan, A. Pengolahan Gambar Secara Digital. Jakarta : PT. Elex Media Komputindo. 1997. Pratisto, A. S. Format Optimal Untuk Setiap Gambar. Jakarta : CHIP Juni. 1993. Roger S, Pressman. Rekayasa Perangkat Lunak : Pendekatan Praktisi (Buku Satu). Yogyakarta : Penerbit ANDI. 2002. Sutoyo, T., Edy Mulanto, Vincent Suhartono, Oky Dwi Nurhayati, Wijanarto. Teori Pengolahan Citra Digital. Yogyakarta : Penerbit Andi. 2009. Valery K., G. Morales-Luna, D. Marakov dan I. Marakova. Digital Semi-Public Watermarking. Informatica 26.2002. Yullinda, C.D. Implementasi Watermarking dengan Metode Discrete Cosine Transform (DCT) pada Citra Digital. Digital Library-Perpustakaan Pusat UNIKOM. 2008.
Aplikasi Penyembunyian Pesan Rahasia pada Citra (Stefen)
250