Stefen Agustinus1), Susi Japit2)
STMIK IBBI
Jl. Sei Deli No. 18 Medan, Telp. 061-4567111 Fax. 061-4527548 e-mail: Stefenagustinus25@yahoo.com1)
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.
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:
Pembuat WM
Membuka file citra
Menyimpan file citra
Melakukan proses pembuatan watermarking
<< include >>
<< include >>
Aplikasi Digital Semipublic Watermarking
Menginput nilai yang diperlukan << include >>
Menampilkan hasil proses perhitungan Menampilkan proses pemahaman
pembuatan watermarking
Menampilkan proses pemahaman pengecekan watermarking Pengecek WM Melakukan proses pengecekan watermarking << include >> << include >> << include >> << include >> << include >>
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) form-form yang terdapat pada perangkat lunak. Rancangan menu utama ini dapat dilihat pada gambar 2 berikut:
Menu Utama
Aplikasi
Teori Pendukung Perbandingan
Digital Semipublic Watermarking Algoritma Buat Watermkaring Algoritma Cek Watermarking
Buat Watermarking Cek Watermarking Mengenai Pemahaman Buat Watermarking Cek Watermarking Keluar
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 be-berapa 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
water-marking 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
2. Proses Pengecekan Watermarking
Input Citra Watermarking Baca nilai Stegomessage, Threshold,
dan nilai kunci publik dari citra Hitung nilai Threshold
Watermarking TERDETEKSI
Nilai Threshold >= Nilai yang tersimpan dalam
citra Ya
Watermarking TIDAK TERDETEKSI
Tidak
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:
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:
Gambar 10. Tampilan Form Pemahaman Buat Watermarking
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
4.4 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
Cover message : Petronas
Kunci publik : 48 Kunci privat : - - + + + - - + + +
Citra yang diperoleh:
Ukuran : 161 KB 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 Dimensi : 174 x 131
Kunci publik : 48 Kunci privat : - - + + + - - + + + Citra yang diperoleh:
Ukuran : 12.3 KB 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:
Gambar 17. Citra Input Citra 3D__166_.jpg dan hasil citra 6. Pengujian 6:
Input citra: Wo ai ni.gif
Ukuran : 3 KB Dimensi : 208 x 227
Cover message : cinta
Kunci publik : 13 Kunci privat : - - - + - - - +
Citra yang diperoleh:
Ukuran : 5 KB 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 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
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.
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 digitalsemi-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] Duan, F. Y. and I.King. A Short Summary of Digital Watermarking Techniques for Multimedia Data. Hong Kong: Proceedings.1999.
[2] Gonzales, R. C. dkk. Digital Image Processing. Addison-Wesley Publishing Company. 1992. [3] Mohanty, S. P. DigitalWatermarking : A Tutorial Review. Florida : Dept of Comp Sc and Eng,
Unversity of South Florida. 1999.
[4] Murni, A. Pengantar Pengolahan Citra. Jakarta : PT. Elex Media Komputindo. 1992.
[5] Nalwan, A. Pengolahan Gambar Secara Digital. Jakarta : PT. Elex Media Komputindo. 1997. [6] Pratisto, A. S. Format Optimal Untuk Setiap Gambar. Jakarta : CHIP Juni. 1993.
[7] Roger S, Pressman. Rekayasa Perangkat Lunak : Pendekatan Praktisi (Buku Satu). Yogyakarta : Penerbit ANDI. 2002.
[8] Sutoyo, T., Edy Mulanto, Vincent Suhartono, Oky Dwi Nurhayati, Wijanarto. Teori Pengolahan
Citra Digital. Yogyakarta : Penerbit Andi. 2009.
[9] Valery K., G. Morales-Luna, D. Marakov dan I. Marakova. Digital Semi-Public Watermarking.
Informatica 26.2002.
[10] Yullinda, C.D. Implementasi Watermarking dengan Metode Discrete Cosine Transform (DCT)