Watermarking Berbasis Permutasi RC-4 Pada Koefisien DWT Citra Digital Ukuran 8x8
diajukan oleh
Mina Naidah Gani
JURUSAN TEKNIK ELEKTRO POITEKNIK NEGERI BANDUNG 2012
i
PRAKATA
Alhamdulillah, segala puji dan syukur kehadirat Allah SWT atas limpahan
rahmat serta karunianya yang memenuhi langit dan bumi serta atas kekuatan yang
diberikannya sehingga penulis dapat menyelesaikan buku dengan judul
“Watermarking berbasis Permutasi RC-4 pada koefisien DWT Citra Digital 8x8”.
Buku ini disusun untuk disumbangkan bagi para pengunjung perpustakaan di Jurusan Teknik Elektro Politeknik Negeri Bandung. Penulis
menyadari sepenuhnya bahwa buku ini masih jauh dari sempurna,
untuk itu semua jenis saran, kritik dan masukan yang bersifat membangun sangat penulis harapkan. Akhir kata, semoga tulisan ini dapat memberikan manfaat bagi pengembangan ilmu pengetahuan khususnya bidang pencitraan dan memberikan wawasan tambahan bagi para pembaca dan khususnya bagi penulis sendiri. Hanya Allah Maha Segalanya, kita hanya dapat berikhtiar dan berusaha semaksimal mungkin niscaya Allah akan memberikan yang terbaik bagi umatnya. Sholawat dan salam penulis sampaikan kepada junjungan kita Nabi Muhammad SAW yang telah menuntun dari masa kegelapan menuju jalan yang penuh keberkahan. Amin. Bandung, September 2012
Mina Naidah Gani
i
ABSTRAK
Salah satu metode perlindungan untuk data citra digital adalah Digital Image Watermarking. Discrete Wavelet Transform (DWT) merupakan salah satu ranah yang banyak digunakan dalam teknik watermarking dalam domain transform. Dengan selalu berasumsi bahwa algoritma dapat dimiliki siapa saja, metode Asimetrik watermarking citra digital dapat menjembatani agar watermark yang terdapat pada host tetap aman. Permutasi yang sulit dilacak adalah salah satu pemecahan masalah ini. Metoda permutasi RC-4 berbasis logistik map, dengan konsep penyisipan pada koefisien dwt citra digital yang diajukan oleh beberapa peneliti direalisasikan dengan menggunakan Matlab 2009b. Hasil pengujian menunjukkan bahwa menaikkan dan menurunkan nilai ambang koefisien, bobot watermark privat dan bobot watermark publik berpengaruh pada psnr gambar berwatermark. Jadi pengaturan beberapa koefisien seperti koefisien ambang penyisipan, nilai kekuatan watermark, dan koefisien watermark itu sendiri, dapat menghasilkan copyright yang handal pada suatu host. Kata Kunci : Citra Digital, Watermarking, DWT, permutasi, ekstraksi.
One method of protection for digital image data is Digital Image Watermarking. Discrete Wavelet Transform (DWT) is one of the areas that is widely used in watermarking techniques in transform domain. By always assume that the algorithm can be owned by anyone, asymmetric watermarking method of digital image watermark to bridge that contained the host remains safe. Permutations are difficult to track is one solution. RC-4 permutation method based on logistic map, with the insertion of the concept of digital image dwt coefficients proposed by some researchers realized using Matlab 2009b. The test results showed that raise and lower the threshold coefficient, weighted watermark private and public watermark weighting effect on PSNR berwatermark picture. So setting some coefficients such as coefficients insertion threshold, the value of watermark strength, and coefficient of watermark itself, can produce a reliable copyright on a host. Keywords: Image Digital Watermarking, DWT, permutations, extraction.
ii
DAFTAR ISI
PRAKATA …………………………………….................…………............
i
DAFTAR ISI ………………………………………………………..............
ii
DAFTAR TABEL ..........................................................................................
iii
DAFTAR GAMBAR ....................................................................................
iv
BAB 1 PENDAHULUAN ………………………...............................……
1
BAB 2 TINJAUAN PUSTAKA DAN LANDASAN TEORI ……................. 2.1 Tinjauan Pustaka ....................................................................... 2.2 Teori Pendukung........................................................................ 2.2.1 Fungsi Chaos................................................................... 2.2.2 Algoritma RC-4 ............................................................ 2.2.3 Discrete Wavelett Transform......................................... 2.2.3.1 Wavelet............................................................. 2.2.3.2 Transformasi Wavelet...................................... 2.2.4 Skema Dugad.............................................................. 2.2.4.1 Penyisipan Watermark ................................... 2.2.5 Penyisipan Menurut Maya Maimon .............................. 2.2.7 Penyisipan Watermark menurut Gui ...........................
6 6 7 8 9 10 10 10 11 12 12 13
BAB 3 METODA PENELITIAN ,ALGORITMA DAN ANALISA.............. 3.1 Materi Penelitian ..................................................................... 3.2 Alat Penelitian ....................................................................... 3.3 Jalan penelitian ....................................................................... 3.4 Tabel Permutasi ...................................................................... 3.4.1 Membangkitkan nilai-nilai Chaos................................. 3.4.2 Mendapatkan tabel permutasi (algoritma RC-4)............ 3.5 Alur Penyisipan Watermark ........................................................ 3.5.1 Algoritma I (Munir-Dugad)................................................
14 14 14 14 15 16 17 18 18
iii
BAB 4 BAB 5
3.5.1.1 Contoh proses penerapan algoritma Munir_Dugad menggunakan citra 8x8..................................................... 19 3.5.2 Algoritma II (Munir-Maimon)............................................. 27 3.5.2.1 Contoh proses penerapan algoritma Munir_Maimon menggunakan citra 8x8..................................................... 29 3.5.3 Algoritma III (Munir-Dugad- Gui)..................................... 33 3.5.3.1 Contoh proses penerapan algoritma unir_Dugad_Gui menggunakan citra 8x8..................................................... 35 3.5.4 Algoritma IV (Munir-Maimon-Gui)................................... 42 3.5.4.1 Contoh proses penerapan algoritma Munir_Dugad menggunakan citra 8x8.................................................... 43 KESIMPULAN...................................................................................... 50 DAFTAR PUSTAKA.......................................................................... 51
DAFTAR TABEL Tabel 3.1 Pengaruh bobot watermark public terhadap psnr citra berwatermark.. 41 Tabel 3.2 Pengaruh kekuatan watermark terhadap psnr citra berwatermark untuk algoritma IV…………………………………………………………...46 Tabel 3.3 Pengaruh bobot watermark public terhadap psnr citra berwatermark untuk algoritma IV………………………………………...…………60
iv
Gambar 2.1
Skema Asimetrik Watermarking
7
Gambar 3.1
Diagram Alir Metoda Penelitian
15
Gambar 3.2
Diagram Alir Pembuatan Tabel Permutasi
15
Gambar 3.3
Tiga table permutasi yang berbeda dari tiga nilai awal Chaos yang berbeda 18
Gambar 3.4
Diagram Alir Algoritma munir-dugad
20
Koefisien host image X1 berukuran 8x8
21
Gambar 3.6
Komponen transformasi wavelet level 1
22
Gambar 3.7
Komponen transformasi wavelet level 2
22
Gambar 3.8
Komponen transformasi wavelet level 1
22
Gambar 3.9
Koefisien watermark ukuran 4x4
23
Gambar 3.5
DAFTAR GAMBAR
Gambar 3.10 Nilai yang dibangkitkan dari teori chaos
23
Gambar 3.11 Nilai sebaran dari nilai chaos yang dinormalisir ke mod 16
24
Gambar 3.12 Tabel permutasi S yang dijaga rahasia
24
Gambar 3.13 Nilai transformasi wavelet dari Wr
24
Gambar 3.14 Hasil permutasi Wp1 berdasarkan table permutasi S
24
Gambar 3.15 Perubahan koefisien akibat penyisipan WM pada komponen diagonal 1 Algoritma I
25
Gambar 3.16 Perubahan koefisien pada komponen horizontal level 1 Algoritma I
26
Gambar 3.17 Perubahan koefisien pada komponen vertical 1 Algoritma I
26
Gambar 3.18 Komponen-komponen pada level 2 algoritma I
27
Gambar 3.19 Komponen-komponen pada level 3 algoritma I Gambar 3.20. Rekonstruksi hasil penyisipan dengan fungsi IDWT algoritma I Gambar 3.21 Hasil pengolahan untuk host 8x8 algoritma I Gambar 3.22. Diagram alir algoritma munir-maimon Gambar 3.23 Perubahan koefisien pada komponen diagonal level1 algoritma II Gambar 3.24 Perubahan koefisien pada komponen horizontal level1 algoritma II Gambar 3.25 Perubahan koefisien pada komponen vertikal level1 algoritma II Gambar 3.26 Perubahan koefisien pada komponen wavelet level2
27
v
28 29 30 31 32 32
algoritma II Gambar 3.27 Perubahan koefisien pada komponenwavelet level 3 algoritma II Gambar 3.28 Hasil Rekonstruksi setelah dilakukan penyisipan algoritma II Gambar 3.29 Hasil pengolahan untuk host 8x8 pada algoritma II Gambar 3.30. Diagram alir algoritma Munir-Dugad-Gui Gambar 3.31 Koefisien We berdasarkan Watermark termutasi dan watermark public Gambar 3.32 Perubahan koefisien pada komponen level 1 algoritmaIII Gambar 3.33 Perubahan koefisien pada komponen level 2 algoritma III Gambar 3.34 Perubahan koefisien pada komponen level 3 Gambar 3.35 Hasil Rekonstruksi setelah dilakukan penyisipan pada Algoritma III Gambar 3.36 Difference antara Host dan citra berwatermark Algoritma III Gambar 3.37. Hasil pengolahan citra dari algoritma III. Gambar 3.38. Perbandingan watermark dengan watermark termutasi Gambar 3.39. Perbandingan watermark dengan watermark termutasi pada b = 0.2 Gambar 3.40. Perbandingan watermark dengan watermark termutasi pada b = 0.4 Gambar 3.41. Perbandingan watermark dengan watermark termutasi pada b = 0.6 Gambar 3.42. Perbandingan watermark dengan watermark termutasi pada b = 0.8 Gambar 3.43. Perbandingan watermark dengan watermark termutasi pada b = 1.0 Gambar 3.44. Diagram alir agoritma munir-dugad-gui Gambar 3.45 Hasil pengolahan citra pada Algoritma Munir-Maimon-Gui Gambar 3.46. Kekuatan Watermark p = 0.1, psnr citra = -40,4997 Gambar 3.47. Kekuatan Watermark p = 0.01, psnr citra = -20,4997 Gambar 3.48. Kekuatan Watermark p = 0.001, psnr citra = -0,4997 Gambar 3.49. Kekuatan Watermark p = 0.0001, psnr citra = 19.5003 Gambar 3.50. Kekuatan Watermark p = 0.00001, psnr citra = 39.5003 Gambar 3.51. Kekuatan Watermark p = 0.000001, citra = 59.5003
vi
33 34 34 35 36 37 38 39 39 40 40 41 42 42 42 43 43 43 44 45 47 47 47 48 48 48
BAB I
PENDAHULUAN
1.1 Latar Belakang Siapa yang tidak mengenal komputer. Komputer dipakai dalam hampir
segala aspek kehidupan. Dari specialized-computer yang biasa dipakai untuk proses otomatisasi dalam industri (salah satu contoh: industri pengepakkan
makanan, pengaturan traffic light, pembelian tiket online, dsb) sampai kepada komputer pribadi (Personal Computer) yang lebih dikenal dengan sebutan PC yang sering digunakan di kantor-kantor untuk menyimpan data-data perusahaan, menyimpan/mengolah database, mengatur keuangan, sampai kepada sekedar hiburan untuk mendengar lagu, menyaksikan VCD atau permainan bagi anakanak. Perkembangan komputer digital dan perangkat lain yang digitalised, telah membuat data digital menjadi trend, dan mudah digunakan. Ada beberapa faktor yang membuat data digital (seperti audio, citra, video, dan text) banyak digunakan, antara lain (menurut Supangkat (2000)) :
Mudah diduplikasi dan hasilnya sama dengan aslinya,
Murah untuk penduplikasian dan penyimpanan,
Mudah disimpan untuk kemudian diolah atau diproses lebih lanjut,
Serta Mudah didistribusikan, baik dengan media disk maupun melalui
jaringan seperti Internet.
1
Masalah yang terjadi dalam hak cipta pada bidang multimedia tidak hanya
mengenai penggandaan dan pendistribusian, tetapi juga mengenai kepemilikan.
Sering ditemukan produk digital tidak mencantumkan siapa pemegang hak ciptanya. Misalkan bukti kepemilikan itu ada, namun informasi kepemilikan
hanya disertakan pada sampul pembungkus yang menerangkan bahwa produk multimedia tersebut adalah milik pembuatnya. Kenyataannya distribusi produk
multimedia saat ini tidak hanya secara offline, namun sering dilakukan lewat
internet. Pada beberapa situs web, dapat ditemukan informasi berupa teks, gambar, suara, video. Semua produk digital mudah didownload. Serta dapat dipertukarkan dengan layanan seperti e-mail. Hampir semua data yang bertebaran di dunia internet tidak ada informasi pemiliknya. User bisa saja mengklaim bahwa produk yang dia dapatkan adalah hasil karyanya. Karena tidak ada bukti kepemilikan sebelumnya, maka klaim tersebut mungkin saja dipercaya. Hal ini yang menimbulkan persoalan hak cipta bagi citra digital yang tersebar. Salah satu cara yang dapat digunakan untuk melindungi hak cipta pada citra digital adalah dengan watermarking. Watermarking merupakan suatu cara untuk penyembunyian atau penanaman data/informasi tertentu (baik hanya berupa catatan umum maupun rahasia) ke dalam suatu data digital lainnya, tetapi tidak diketahui kehadirannya oleh indera manusia (indera penglihatan atau indera pendengaran), dan mampu menghadapi proses-proses pengolahan sinyal digital sampai pada tahap tertentu.
2
Watermarking berfungsi melindungi data yang disisipi dengan informasi
lain dengan tujuan untuk melindungi hak milik, copyright, dsb. Teknik
penyembunyian data sendiri terbagi menjadi dua domain yaitu : Domain
spasial
yang
jika
dihubungkan
dengan
Digital
Image
Watermarking yaitu penyisipan watermark dilakukan secara langsung ke dalam pixel citra,
Domain transform yang menyisipkan watermark ke dalam koefisien
transformasi. Menurut Liu (2002), tiga karakteristik yang seharusnya dipenuhi oleh suatu teknik watermarking
adalah
imperceptibility,
robustness,
dan
trustworthiness.
Imperceptibility menunjukkan antara citra asli dan citra ber-watermark secara persepsi tidak dapat dibedakan oleh mata manusia, watermark tidak mengalami interferensi dengan medianya. Robustness merupakan tingkat kekuatan watermark yang disisipkan terhadap serangan dan pemrosesan sinyal yang biasanya dilakukan pada suatu data digital seperti penambahan noise, proses filter, scaling, perputaran, pemotongan, dan lossy compression. Sedangkan trustworthiness menjamin tidak akan dapat dibangkitkan watermark yang sama dengan watermark yang asli dan menyediakan bukti terpercaya untuk melindungi hak kepemilikan. Kebanyakan watermark disisipkan sebagai deretan bit (binary digit) atau dapat juga melalui pengaturan sinyal digital dengan menggunakan algoritma berbasiskan kunci yang disisipkan.
3
Fungsi-fungsi ini dicapai dengan menggenerate blok data yang biasanya
ukurannya lebih kecil dari data asli. Blok data yang lebih kecil ini disisipkan pada
data asli dan pada identitas pengirim. Penyisipan ini memverifikasi integritas data dan mendukung non repudiasi. Untuk menghasilkan digital watermarking,
program sinyal digital melewatkan file untuk dikirimkan melalui fungsi hash satu arah. Setelah data media dihitung, kemudian dienkripsi dengan kunci publik
pengirim. Penerima kemudian mendekripsi data media yang diterima dengan
menggunakan kunci public penerima. Jika kunci privat digunakan untuk memodifikasi watermarking data media dan benar bahwa ia merupakan kunci publiknya, verifikasi pengirim telah tercapai. Verifikasi terjadi karena hanya kunci sebagai bagian yang telah diwatermark, maka pesan tidak dimodifikasi publik pengirim yang dapat mendekrip media digital yang dienkripsi dengan kunci privat pengirim. Kemudian, penerima dapat melihat data media dari file yang diterima menggunakan fungsi hash yang identik dengan pengirim, jika data media identik dengan data media yang dikirim. Dengan mengingat prinsip Kerckhoff (Schneier, 1996) yang menyatakan bahwa suatu skema sekuriti seperti kriptografi dan watermarking harus mengasumsikan bahwa lawan mengetahui segala sesuatu mengenai algoritmanya, maka pihak lawan yang mengetahui algoritma watermarking dapat menggunakan kunci tersebut untuk menghapus watermark dari data multimedia tanpa menimbulkan kerusakan yang berarti pada data tersebut. Agar watermark sulit di hapuskan, skema asymmetric watermarking dapat memecahkan masalah ini. Pada skema ini, kunci untuk menyisipkan watermark
4
berbeda dengan kunci untuk mendeteksi watermark. Cara ini dapat meningkatkan
keamanan daripada skema simetri. Konsep asymmetric watermarking banyak
diadopsi dari asymmetric cryptography. Sebagaimana kita ketahui, pada asymmetric cryptography, kunci untuk enkripsi berbeda dengan kunci untuk
dekripsi.
Penelitian sebelumnya (Munir, 2008) dilakukan pada ranah DCT dan
menerapkan metoda asimetrik dengan teori korelasi untuk pendeteksian
watermark pada serangan non mallicious. Beberapa eksperimen yang mereka lakukan menghasilkan uji korelasi yang selalu positif, berarti watermark dapat dideteksi, untuk :
cropping hingga 50% crop,
kompresi jpeg hingga kwalitas 20%,
resizing hingga 25%,
noising salt and peppers hingga 20%,
sharpening,
rotating hingga 10%.
Pada penelitian ini akan diimplementasikan perangkat lunak berdasarkan beberapa algoritma untuk menyisipkan watermark hingga watermark dengan skema public dapat disisipkan pada suatu citra digital. Kunci dibangkitkan dengan metoda RC-4 dan kemudian disisipkan pada ranah DWT (Discrete Wavelett Transform) suatu citra digital berukuran 8x8.
5
BAB II
TINJAUAN PUSTAKA DAN LANDASAN TEORI
2.1 Tinjauan Pustaka Pengkajian penyisipan watermark di ranah dwt telah begitu berkembang untuk mendapatkan performansi yang handal. Kunci dari kokohnya watermark digital adalah tergantung dari algoritma yang kuat, dan membentuk system yang
imperceptible. 1. Dugad (1998) mengusulkan skema public-key watermarking berdasarkan teorema korelasi di ranah DWT, yang menunjukkan ranah tersebut lebih baik dari pada ranah DCT. 2. Choi (2004) mengusulkan skema public-key watermarking berdasarkan transformed-key, yang dinamakan transformed-key watermarking (TKW). 3. Fu (2004) mengusulkan skema asymmetric watermarking yang menyisipkan watermark privat dan watermark public ke dalam sinyal host. 4. Liu (2005), mengusulkan sebuah protokol, commitment based watermark detection, dengan berbasiskan pada korelasi. 5. Gui
(2005)
mengusulkan
skema
asymmetric
watermarking
yang
menggunakan banyak watermark public. Watermark privat diturunkan dari sejumlah watermark public. Tujuan yang hendak dicapai adalah mendapatkan skema deteksi public dengan kekokohan yang sama dengan deteksi privat. Idenya didasarkan pada fakta bahwa pada kebanyakan skema asymmetric watermark publik hanya sebagian berkorelasi dengan watermark privat,
6
artinya hanya sebagian informasi watermark privat terdapat di dalam
watermark publik.
6. Gui (2006) didalamnya memaparkan skema asymmetric watermarking berbasis matriks non-full rank.
7. Parameswaran (2007), memodulasi dwt dari host dengan normalisasi invers moment. Untuk mendeteksi watermark pada gambar berwatermark bisa
digunakan korelasi linier.
8. Munir (2008) mengusulkan skema asymmetric watermarking berbasiskan pada operasi permutasi RC-4 dan fungsi Chaos, Chaos diterapkan karena ia mempunyai karakteristik penting untuk meningkatkan keamanan, yaitu sensitivitas pada kondisi awal. Data multmedia yang disisipi watermark adalah citra greyscale. Baik penyisipan maupun pendeteksian watermark keduanya dilakukan pada ranah discrete cosine transform (DCT).
2.2 Teori Pendukung
Gambar 2.1. Skema Asimetrik Watermarking
7
Dari Gambar 2.1, X adalah host signal yaitu fitur yang diekstraksi dari data
multimedia dan w adalah informasi watermark. X dapat berupa pixel-pixel citra,
audio, maupun video, dapat juga berupa koefisien DCT atau koefisien DWT. Dari skema gambar di atas pendeteksian dengan menggunakan kunci public akan
menghasilkan 1 atau 0 ( ada atau tidak ada watermark) Untuk menyisipkan watermark w ke dalam X digunakan kunci privat, hal ini akan
menghasilkan sinyal berwatermark Y
Dapat ditulis seperti pada persamaan (2.1) Y = X + αw.......................................................................(2.1) α adalah kekuatan watermark Pendeteksian watermark tidak membutuhkan kunci privat dan sinyal host (X), tetapi membutuhkan kunci public dan sinyal berwatermark Y juga suatu nilai ambang T, yang akan dibandingkan terhadap Y sehingga mengidentifikasi adanya watermark (1) atau tidak (0) Skema asimetrik watermarking selain harus kokoh terhadap non-malicious attack seperti kompressi, cropping, rotasi dll, juga harus kokoh terhadap malicious attack yaitu serangan yang bertujuan untuk menghapus watermark.
2.2.1. Fungsi Chaos (Eggers(2000))
xi+1 = r xi (1-xi), …………………………………………(2.2) dan 0 ≤ r ≤ 4. Dengan menggunakan fungsi rekursif dari persamaan 2.2, kita bisa membuat suatu deretan angka Real yang penyebarannya sangat dipengaruhi oleh
8
nilai awal. Karakteristik umum sistem chaos adalah kepekaannya terhadap
perubahan kecil nilai awal (sensitive dependence on initial condition). Kepekaan
ini berarti bahwa perbedaan kecil pada nilai awal fungsi, setelah fungsi diiterasi sejumlah kali, akan menghasilkan perbedaan yang sangat besar pada nilai
fungsinya.
2.2.2. Algoritma RC4
Algoritma RC4 termasuk ke dalam kelompok stream cipher. Inti algoritma RC4 adalah membangkitkan kunci-aliran (keystream) yang kemudian di-XOR-kan dengan plainteks. Algoritma RC4 menggunakan larik S[0..255] yang diinisialisasi dengan 0, 1, 2, …, 255. Selanjutnya larik S dipermutasi berdasarkan kunci eksternal U yang panjangnya variabel. Jika panjang U < 256, maka dilakukan padding sehingga panjangnya menjadi 256 byte. Permutasi terhadap nilai-nilai di dalam larik S dilakukan dengan cara sebagai berikut: j←0 for i ← 0 to 255 do j ← (j + S[i] + U[i]) mod 256 swap(S[i], S[j]) end Algoritma permutasi di atas dimodifikasi untuk mempermutasikan watermark publik. Misalkan panjang watermark adalah N, maka larik S[0..N] yang diinisialisasi dengan 0, 1, …, N – 1. U adalah sebuah larik integer sepanjang N yang elemen-elemennya dibangkitkan dengan logistic map (nilai chaos yang
9
riil terlebih dahulu dikalikan dengan N dan dibulatkan ke integer terdekat).
Selanjutnya permutasi terhadap nilai-nilai di dalam larik S dilakukan dengan cara
yang sama seperti potongan algoritma di atas kecuali 255 diganti dengan N. Nilai nilai di dalam larik S digunakan untuk mempermutasikan watermark publik.
(Munir,2008)
2.2.3. Discrete Wavelett Transform
2.2.3.1. Wavelet Komponen Wavelet merupakan gelombang mini (small wave) yang mempunyai kemampuan mengelompokkan energy citra terkonsentrasi pada sekelompok kecil koefisien, sedangkan kelompok kecil lainnya hanya mengandung sedikit energi yang dapat dihilangkan tanpa mengurangi nilai informasinya. Secara matematis, pengertian wavelet adalah fungsi matematika yang memotong-motong data menjadi kumpulan-kumpulan frekuensi yang berbeda, sehingga masing-masing tersebut dapat dipelajari dengan menggunakan skala resolusi yang berbeda.
2.1.3.2. Transformasi Wavelet Transformasi Wavelet memiliki kemampuan untuk menganalisa suatu data dalam domain waktu dan domain frekuensi secara simultan. Analisa data pada transformasi wavelet dilakukan dengan membagi (dekomposisi) suatu sinyal ke dalam komponen-komponen frekuensi yang berbeda-beda dan selanjutnya masing-masing komponen frekuensi tersebut dapat dianalisa sesuai dengan skala
10
resolusinya . Hal ini seperti proses filtering, dan sinyal dalam domain waktu
dilewatkan ke dalam filter highpass dan lowpass dan memisahkan komponen
frekuensi tinggi dan frekuensi rendah . DCT
menggunakan deret sinyal cosinus dengan frekuensi yang berbeda
sebagai fungsi basisnya. Sedangkan DWT menggunakan deret wavelet sebagai fungsi basisnya. Sekumpulan wavelet ini diturunkan dengan dilatasi dan translasi
dari single primary wavelet. Oleh sebab itu,tidak seperti DCT yang hanya ada satu
kemungkinan fungsi basis, pada transformasi wavelet ada banyak kemungkinan transformasinya karena fungsi basis yang digunakan dapat diturunkan dari primary wavelets. Wavelet harus memiliki beberapa sifat agar dapat dikatakan sebagai basis untuk transformasi wavelet: Dapat diintegralkan Dapat dikomposisi hanya untuk komponen frekuensi yang positif Beberapa fungsi basis wavelet yang dapat digunakan oleh encoder Baseline JPEG berbasis wavelet yang dibuat adalah Haar wavelet, Daubechies wavelet, Symlets wavelet, dan Bi-orthogonal wavelet. Namun, pada penelitian ini hanya akan menggunakan fungsi basis wavelet “Daubechies wavelet transform”. 2.2.4 Skema Dugad (1998) Menggunakan Transformasi Wavelet dengan Daubechies 8-tap filter. 1. Bagian LL band tidak dimodifikasi 2. Sisipkan watermark pada band : HL(horizontal), LH(vertical), HH(diagonal). 3. Sisihkan semua koefisien yang lebih besar dari T1. 4. Watermark disisipkan di sejumlah M koefisien tersebut.
11
5. 2.2.4.1 Penyisipan Watermark
1. Hitung NxN DWT dari NxN gray scale image I.
2. low pass DWT coefficients tidak termasuk yang dimodifikasi.
3.
Sisip watermark pada koefisien DWT > T1: T = {ti}, t’i = ti + α|ti|xi, ………………………………..(2.6),
dan i seluruh koefisien DWT > T1.
4. Ganti T = {ti} dengan T’ = {t’i} pada DWT domain. Hitung inverse DWT untuk mendapatkan gambar berwatermark I’.
2.2.5
Penyisipan Menurut Maimon (1999) Cara penyisipannya sebagai berikut 1. Menghitung jumlah koefisien DWT, y[m,n] 2. Watermark adalah Gaussian N[m,n]: dengan mean 0 and variance 1. kita bisa menyisipkan watermark juga dengan cara seperti 2.9 ……………(2.9) control level watermarking Square2 menunjukkan penguatan untuk harga koefisiennya. y’[m,n] adalah koefisien citra berwatermark Koefisien DWT LL band tidak diubah Adapun pendeteksiannya membandingkan (menggunakan korelasi) pada
tiap-tiap band (tentunya bukan pada LL band)
12
2.2.6
Penyisipan Watermark menurut Gui (2005)
Menurut Gui watermark yang harus disisipkan adalah watermark yang
telah termutasi. Watermark asal merupakan kunci dan disebut juga
watermark
public.
We = (1-b)Ws + bWb,........................................(2.11) Dan b adalah pengendalian watermark public (Wb), Ws adalah watermark
yang termutasi.
2.2.8. Fungsi yang digunakan pada Matlab 1.
[cA,cH,cV,cD] = dwt2(X,'wname')
Menghitung matriks koefisien-koefisien perkiraan cA dan koefisienkoefisien detail matriks cH, cV, dan cD (horizontal, vertical, dan diagonal), didapatkan dengan dekomposisi wavelet X. Matriks masukan. 'wname' string berisi fungsi wavelet. 2. idwt2 Menggunakan fungsi 'wname' untuk menghitung tingkat pertama, merekonstruksi koefisien-koefisien perkiraan matriks X, berdasarkan matriks perkiraan cA dan matriks detail cH, cV, dan cD (datar, tegak, dan diagonal). 3.
[C,S] = wavedec2(X,N,'wname')
Mengembalikan dekomposisi wavelet dari matriks X pada tingkat N, menggunakan wavelet yang disebutkan dalam string 'wname' (lihat wfilters untuk informasi lebih lanjut). Output C, merupakan dekomposisi dan tabel matriks S. N harus bilangan bulat positif
13
vektor
4. MSE (Mean Square Error) dan PSNR (Peak Signal to Noise Ratio)
Blok PSNR menghitung rasio signal-to-noise puncak, dalam desibel,
antara dua gambar. Rasio ini sering digunakan sebagai pengukuran
kualitas
antara asli dan gambar terkompresi. Semakin tinggi PSNR,
semakin baik kualitas dikompresi, atau gambar direkonstruksi. Mean
square error (MSE) dan Signal to Noise Ratio Puncak (PSNR) adalah dua
kesalahan metrik digunakan untuk membandingkan kualitas gambar kompresi. MSE merupakan kuadrat kesalahan kumulatif antara kompresi dan citra asli, sedangkan PSNR merupakan ukuran dari kesalahan puncak. Semakin rendah nilai MSE, semakin rendah kesalahan. Untuk menghitung PSNR tersebut, blok yang pertama menghitung kesalahan berarti-squared menggunakan persamaan berikut: ࡹ ࡿࡱ ൌ
∑ࡹ ǡࡺ (ࡵିࡵ) ࡹ ࡺכ
…… (2.12)
Dalam persamaan 2.12, M dan N adalah jumlah baris dan kolom pada gambar masukan, masing-masing. Kemudian blok menghitung PSNR dengan menggunakan persamaan berikut: ࡾ
ࡼࡿࡺ ࡾ ൌ ࢍ ቀࡹ ࡿࡱቁ……(2.13)
Dalam persamaan 2.13, R adalah fluktuasi maksimum dalam jenis input data gambar. Misalnya, jika gambar input memiliki ganda-presisi floatingpoint data, maka R adalah 1. Jika memiliki 8-bit data integer jenis unsigned, R adalah 255, dll
14
BAB III
METODA PENELITIAN, ALGORITMA DAN ANALISA
3.1 Materi Penelitian Bahan penelitian yang digunakan pada penelitian ini antara lain: - Literatur dari penelitian terdahulu sebagai pembanding, seperti yang telah diuraikan
pada keaslian penelitian dan kajian pustaka.
3.2 Alat Penelitian Alat penelitian yang digunakan dalam penelitian ini terdiri dari : -
Komputer dengan spesifikasi cukup untuk menjalankan Matlab 2009
-
Matlab R2009a
3.3 Jalan Penelitian Penelitian ini akan dilakukan melalui beberapa tahap, antara lain sebagai yang ditujukkan oleh diagram alir pada Gambar 3.1 Sehingga diterapkan eksperimen, yaitu :
Pendeteksian watermark, dengan menerapkan teori korelasi, menggunakan host grey scale 8x8, adapun alur penelitiannya dilakukan seperti Gambar 3.1.
15
Gambar 3.1. Diagram Alir Metoda Penelitian
3.4. Tabel Permutasi (Munir dkk,2008)
Gambar 3.2. Diagram alir pembuatan table permutasi.
16
Dengan menginputkan nilai awal dan jumlah koefisien yang akan di embedkan pada
koefisien gambar Host, kita akan mendapatkan tabel yang akan digunakan untuk memutasi
koefisien dari watermark, diagram alirnya dapat dilihat pada Gambar 3.2
3.4.1. Membangkitkan logistic map ( nilai-nilai chaos)
Chaos diterapkan karena ia mempunyaikar karakteristik penting untuk meningkatkan
keamanan, yaitu sensitivitas pada kondisi awal. Chaos digunakan khususnya sebagai pembangkit bilangan acak. Berdasarkan algoritma munir dkk dalam menentukan table permutasi yang nantinya akan digunakan untuk memutasi koefisien-koefisien watermark.
Pertama diterapkan teori chaos seperti yang tertera pada persaamaan (3.1). Berikut ini dicontohkan untuk mendapatkan table permutasi dengan N=16.
xi+1 = r xi (1-xi) ……………………………………..(3.1) dengan x0 sebagai nilai awal iterasi. Konstanta r menyatakan laju pertumbuhan fungsi, yang dalam hal ini 0 ≤ r ≤ 4. Dengan melakukan iterasi persamaan (3.1) dari nilai awal x0 tertentu, kita memperoleh barisan nilai-nilai chaos. Nilai-nilai chaos tersebut terletak di antara 0 dan 1 dan tersebar secara merata serta tidak ada dua nilai yang sama. Karakteristik umum sistem chaos adalah kepekaannya terhadap perubahan kecil nilai awal (sensitive dependence on initial condition). Kepekaan ini berarti bahwa perbedaan kecil pada nilai awal fungsi, setelah fungsi diiterasi sejumlah kali, akan menghasilkan perbedaan yang sangat besar pada nilai fungsinya (Munir, 2008). Contoh berikut ditentukan dari x0 =0.5 ; r = 3.99 dan jika N=16, didapat : B[i] = X[i] = 0,9975
0,0100
0,0393
0,1507
0,5106
0,9971
0,0117
0,0462
0,1759
0,5784
0,9730
0,1050
0,3750
0,9351
0,2421
0,7322
17
3.4.2 Mendapatkan table permutasi (Algoritma RC-4) Menurut Munir [2008] ada banyak cara untuk membangkitkan watermark privat dari
watermark publik yang saling berkorelasi satu sama lain. Salah satu cara adalah dengan mempermutasikan elemen-elemen watermark publik. Sejumlah teknik permutasi yang ada
dapat digunakan untuk tujuan ini. Algoritma watermarking di dalam makalah ini
memodifikasi sebagian algoritma kriptografi RC4 untuk melakukan permutasi. Algoritma
RC4 termasuk ke dalam kelompok stream cipher. Inti algoritma RC4 adalah membangkitkan kunci-aliran (keystream) yang kemudian di-XOR-kan dengan plainteks. Algoritma RC4 menggunakan larik S[0..255] yang diinisialisasi dengan 0, 1, 2, …, 255. Selanjutnya larik S
dipermutasi berdasarkan kunci eksternal U yang panjangnya variabel. Jika panjang U < 256, maka dilakukan padding sehingga panjangnya menjadi 256 byte. Permutasi terhadap nilainilai di dalam larik S dilakukan dengan cara sebagai berikut: j←0 for i ← 0 to 255 do j ← (j + S[i] + U[i]) mod 256 swap(S[i], S[j]) end
Algoritma permutasi di atas dimodifikasi untuk mempermutasikan watermark publik. Misalkan panjang watermark adalah N, maka larik S[0..N] yang diinisialisasi dengan 0, 1, 2, …, N – 1. U adalah sebuah larik integer sepanjang N yang elemen-elemennya dibangkitkan dengan logistic map (nilai chaos yang riil terlebih dahulu dikalikan dengan N dan dibulatkan ke integer terdekat). Selanjutnya permutasi terhadap nilai-nilai di dalam larik S dilakukan dengan cara yang sama seperti potongan algoritma di atas kecuali 255 diganti dengan N. Nilai-nilai di dalam larik S digunakan untuk mempermutasikan watermark public
18
(Munir,2008). Nilai chaos yang didapat berdasarkan teorema Chaos lalu dipetakan menyebar sesuai logistic mapnya ke nilai integernya sebanyak N (contoh dengan N=16)
U[i] = [8 15
0
0 2
8
15 0
0
2
9 15
1
5 14
3]
Kemudian nilai pemetaan dari nilai chaos tersebut diolah menggunakan algoritma RC-4,
sehingga didapat table permutasi, yang nantinya akan digunakan untuk memutasi koefisien
koefisien watermark. Tabel permutasi yang didapat tetap dijaga rahasia
S[i] = [14
11
5
10
6
8
9
15
3
16
1
12
7
4
13
2]
Gambar 3.3 menunjukkan dengan perubahan sedikita saja pada nilai awal, akan
mendapatkan table permutasi yang berbeda pula.
Pada gambar tersebut diambil tiga buah nilai awal x0 (B(0)) yang cukup berdekatan yaitu : 0.6000, 0.6100 dan 0.6200. Dengan memberikan nilai rasio sebesar r =3.999, maka didapat hasil tiga buah table permutasi S yang berbeda-beda pula.
Gambar 3.3. Tiga table permutasi yang berbeda dari tiga nilai awal Chaos yang berbeda
19
Sedangkan pada experiment yang dilakukan digunakan harga N yang besarnya
tergantung seberapa banyak jumlah koefisien pada gambar host yang akan di sisipkan dan
nilai ambang dari koefisien dwt host tersebut. Dalam hal ini WM (watermark) disisipkan pada koefisien dwt host >= 15. Adapun hasilnya tidak bisa ditampilkan di sini, karena terdiri
dari 4624 koefisien, (dari host yang digunakan).
3.5. Alur Penyisipan Watermark Dari berbagai literature yang telah dipelajari, maka dicoba diimplementasikan system penyisipan watermark berdasarkan apa yang telah diteliti oleh para peneliti yang
berkecimpung lama di bidang watermarking. Adapun algoritmanya diberi nama sesuai para peneliti tersebut.
3.5.1. Algoritma I (Munir-Dugad) Menggunakan Transformasi Wavelet dengan Daubechies 8-tap filter. Skema algoritma I (Munir-Dugad), adalah sebagai berikut: 1. Citra ditransformasi DWT 3 level 2. Bagian LL band tidak dimodifikasi 3. Sisihkan semua koefisien yang lebih besar dari T1 dari HL (komponen horizontal), LH (komponen vertical), HH (komponen diagonal) pada level 1, level2 dan level 3 4. Hitung jumlah koefisien tersebut (misalkan jumlahnya adalah N) 5. Watermark dibuat seukuran N, lalu ditranformasikan 1 level ke ranah DWT 6. Buat table permutasi mengikuti sub bab 3.4 sejumlah N. 7. Koefisien transformasi watermark lalu dimutasi mengikuti table permutasi yang telah dibuat.
20
8. Watermark transformed termutasi disisipkan di sejumlah N koefisien dari koefisien citra transformed pada HL, LH dan HH dari koefisien yang lebih besar dari T1 seperti
pada tahap 3, menggunakan formula 2.6 9. Transformasi balik hasil penyisipan tersebut untuk mendapatkan citra berwatermark
Dengan mengadopsi Algoritma Munir-Dugad didapat diagram alir seperti Gambar 3.4.
Gambar 3.4. Diagram Alir Algoritma munir-dugad
Pada algoritma seperti yang telah digambarkan pada Gambar 3.4 ini diterapkan pemutasian koefisien watermark ala Munir dkk, dikombinasikan dengan penyisipan watermark ala Dugad dkk. Hanya saja pada algoritma mereka watermark tidak pernah ditransformasikan untuk kemudian disisipkan, di sini watermark ditransformasikan kemudian dimutasi lalu disisipkan di domain transform, baru kemudian ditransformasi balik.
21
3.5.1.1. Contoh proses penerapan algoritma Munir-Dugad menggunakan citra 8x8 Untuk contoh ini diambil citra 8x8. Contoh ini diambil agar bisa dilihat jalannya proses dari
algoritma Munir-Dugad. Adapun watermark asal diambil 4x4.
Gambar 3.5. Koefisien host image X1 berukuran 8x8
Misalkan sebuah citra host 8x8, dinamakan X1. Jika citra tersebut diambil koefisien grey
scalenya akan didapat koefisien seperti yang terdapat pada Gambar 3.5. Jika koefisien host dari Gambar 3.5. ditransformasi menggunakan transformasi wavelet (daubechies) 1 level maka akan didapat hasil seperti tertera di Gambar 3.6, Pada level 1, akan memiliki 4 (empat) komponen, yaitu LL1 (dinamakan cA1), HL1 (= cV1), LH1 (=cD1) dan HH1 (= cH1), indeks 1 menggambarkan DWT level 1. Hasil transformasi yang ditampilkan di sini adalah cD1, cH1, cV1 dari yang tertera seperti pada Gambar 3.6. Adapun cA1 tidak ditampilkan, Jika komponen cA1 (LL1) ditransformasikan lagi maka akan didapat cD2, cH2, dan cV2, (seperti tertera pada Gambar 3.4 ) juga cA2 (tidak ditampikan). Demikian untuk mendapatkan komponen level-3 DWT, cA2 tersebut ditransformasikan 1 level sehingga akan didapat cD3, cH3 dan cV3, juga cA3. Untuk level-3 ini pun cA3 tidak ditampilkan, karena watermark tidak akan disisipkan pada level tersebut. Sedangkan watermark akan disisipkan
pada
elemen/koefisien yang lebih besar dari 15 dari komponen-komponen mulai level1, ke 2 dan ke 3. Adapun sintaks yang digunakan adalah :
22
[cA1,cH1,cV1,cD1] = dwt2(X1,'db1'); [cA2,cH2,cV2,cD2] = dwt2(cA1,'db1'); [cA3,cH3,cV3,cD3] = dwt2(cA2,'db1');
Gambar 3.6. Komponen transformasi wavelet level 1
Gambar 3.7. Komponen transformasi wavelet level 2
Gambar 3.8. Komponen transformasi wavelet level 3
Sebelum melakukan penyisipan, kita olah dahulu watermark yang akan disisipkan di X1 sesuai algoritma I. Untuk menentukan ukuran watermark kita perlu mengetahui dahulu 23
jumlah koefisien (dari hasil transformasi) yang lebih besar dari 15 (angka ini adalah pilihan, kita boleh saja memilih angka yang lain, asalkan hasil penyisipannya masih sesuai dengan
image aslinya jika dikembalikan ke image awal), jumlah koefisien yang lebih besar dari 15 bisa dihitung dari apa yang tertera di Gambar 3.6, Gambar 3.7 dan Gambar 3.8, di sana
terlihat yang diberi warna kuning adalah koefisien yang lebih besar atau sama dengan 15 dan
dapat dihitung ternyata semuanya ada 12.
Adapun watermark, kita sebut saja Wr, berukuran 4x4, ukuran ini isinya ada 16 (tidak
sesuai dengan jumlah yang harus disisipkan, 12), tetapi karena suatu citra agar bisa di DWT harus berukuran bujursangkar, √12 x √12 jadi kita bulatkan ke atas menjadi 4x4. Adapun
watermarknya diambil seperti Gambar 3.9.
Gambar 3.9. Koefisien watermark ukuran 4x4
Untuk memutasi watermark dibutuhkan tabel permutasi, dan tabel permutasi didapat dari angka acak yang dibangkitkan dari teori chaos dengan r = 3.999 dan x0 = 0.5 (di dalam program, x di beri nama B), didapat sebaran nilai chaos seperti pada Gambar 3.10, adapun nilai chaos ini dinormalisir menjadi U(i) seperti tertera pada Gambar 3.11. Dengan algoritma RC-4 maka akan didapat tabel permutasi S seperti Gambar 3.12. Urutan sesuai tabel S inilah yang akan digunakan untuk memutasi Wr.
Gambar 3.10. Nilai yang dibangkitkan dari teori chaos
24
Gambar 3.11. Nilai sebaran dari nilai chaos yang telah dinormalisir ke mod 16
Gambar 3.12. Tabel permutasi S yang dijaga rahasia
Koefisien watermark Wr (pada Gambar 3.9) kemudian di DWT 1 level, sehingga didapat
seperti pada Gambar 3.13 (nilai transformasi yang hasinya merupakan deretan koefisien yang memanjang, agar nantinya bisa dimutasikan menggunakan table S) yang dinamai Wp1, adapun Ws adalah hasil mutasi berdasarkan table S ( Seperti yang tertera pada Gambar 3.14
Gambar 3.13. Nilai transformasi Wavelet dari Wr
Gambar 3.14. Hasil permutasi dari Wp1 berdasarkan tabel permutasi S
Hasil dari penyisipan watermark di ranah DWT OutD merupakan hasil penyisipan watermark di ranah DWT, terlihat tadinya nilai koefisiennya adalah yang kuning (karena yang dipilih lebih besar dari 15) setelah dilakukan penyisipan nilainya menjadi yang hijau, pada Gambar 3.15.
25
3.15. Perubahan koefisien akibat penyisipan WM pada komponen diagonal1 Agoritma I Gambar
Berikut ini akan diperiksa beberapa nilai yang didapat berdasarkan formula Dugad, (dengan
kekuatan watermark p = 0.001) dengan sintaks sebagai berikut :
“ outD(l,k)=cD1(l,k)+p*abs(cD1(l,k))*Ws(v); “
dan Ws(1)= -16.000 (dapat dilihat di table 3.10) OutD (1,3) = 17.3390 + 0.001*17.3390*(-16.000) = 17.0615
Dengan cara yang sama kita bisa menghitung koefisien-koefisien lainnya OutD(4,2) = 40.6095 + 0.001*40.6095*355.7500 = 55.0563; Dan (Ws(2) = 355.7500)
OutD(1,3) = 15.9494 + 0.001*15.9494*32.2500 = 16.4638; Dan (Ws(3) = 32.2500) Adapun untuk komponen horizontal outH yang dikembangkan dari cH1 tidak mengalami perubahan, karena pada komponen ini tidak ditemukan koefisien yang lebih besar atau sama dengan 15. Seperti yang tercantum pada Gambar 3.16
26
Gambar 3.16 Perubahan koefisien pada komponen horizontal level1 algoritma I
Pada komponen vertical (cV1) seperti pada Gambar 3.17 terdapat 5 perubahan nilai koefisien pada (1,2), (3,2), (2,3), (3,3) dan (4,,2)
Gambar 3.17 Perubahan koefisien pada komponen vertikal level1 algoritma I
Kita ambil contoh komponen vertical (2,4) OutV(2,4) = 30.9941 + 0.001*30.9941*80.500 = 33,4891 Pada komponen ini digunakan Ws(8), karena dia terhitung sebagai koefisien ke 8 yang mengalami penyisipan. Yang dapat disisipi pada komponen level 2, seperti pada Gambar 3.18, terdapat 3 koefisien yang berubah (yang lebih besar atau sama dengan 15).
27
Gambar 3.18 Komponen-komponen pada level2 algoritma I
Adapun rinciannya adalah sebagai berikut : Ws(9)= 93, disisipkan di cD2(2,1),
OutD2(2,1) = 30.4047 + 0.001*30.4047*93 = 33.2324
Ws(10) = -29.00, disisipkan di cV2(1,1),
OutV2(1,1) = 15,3575 + 0.001* 15,3575*(- 29.00) OutV2(1,1) = 14.9121 Pada komponen horizontal level 2 tidak terdapat koefisien yang harus disisipi. Ws(11) = -37.500; cV2(1,2), OutV2(1,2) = 84.9316 + 0.001*84.9316*(-37.500) = 81,7467
Gambar 3.19 Komponen-komponen pada level3 algoritma I
Yang mengalami perubahan ada 1 koefisien yaitu pada komponen vertical level 3, seperti yang terdapat pada Gambar 3.19 Ws(12) = 65.500 ; cV3(1,1), sehingga OutV3(1,1) = 192.5440 + 0.001*192.5440*65.5 = 205.1557
28
Pengembalian koefisien yang telah disisipi ke citra berwatermark (IDWT) Pada tahap ini semua koefisien tersebut dikembalikan ke citranya sehingga berlebel citra
berwatermark, dengan meng inverse kan semua koefisien yang telah disisipi watermark menerapkan IDWT2, adapun sintaksnya adalah sebagai berikut: dengan
X3 = idwt2(cA3,outH3,outV3,outD3,'db1'); X2 = idwt2(X3,outH2,outV2,outD2,'db1'); X0 = idwt2(X2,outH,outV,outD,'db1');
Adapun koefisien yang dihasilkan adalah seperti yang tercantum pada Gambar 3.20.:
Gambar 3.20. Rekonstruksi hasil penyisipan dengan fungsi IDWT algoritma I
X3 adalah rekonstruksi dari komponen level-3, di sini terbentuk 2x2 dari 1x1 X2, rekonstruksi komponen level-2, terbentuk 4x4 dari 2x2. X0 rekonstruksi komponen level-1, terbentuk 8x8 dari 4x4. Terlihat dari Gambar 3.20 dibandingkan terhadap Gambar 3.5 ada selisih pada koefisienkoefiennya, selisih ini akibat adanya penyisipan watermark, meskipun demikian hal ini tidak 29
akan mempengaruhi persepsi mata. Hasil pengolahan citra berwatermark ditunjukkan oleh Gambar 3.21.
Setelah dihitung psnr citra terwatermark ternyata nilainya adalah 40.1703. Nilai ini jelas imperceptible gambar awal
gambar berwatermark
2
2
4
4
6
6
8
8
2
4
6
8
2
watermark 1
2
2
3
3
4
4 2
3
6
8
watermark termutasi
1
1
4
4
1
2
3
4
Gambar 3.21 Hasil pengolahan untuk host 8x8 algoritma I
3.5.2. Algoritma II (Munir-Maimon) Dengan mengadopsi Algoritma Maya Maimon (1998), prosesnya hampir mirip dengan algoritma I (Munir-Dugad). Formula penyisipan diganti dengan formula yang diajukan oleh Maimon. Skema algoritma I (Munir-Maimon), adalah sebagai berikut: 1. Citra ditransformasi DWT 3 level 2. Bagian LL band tidak dimodifikasi 3. Sisihkan semua koefisien yang lebih besar dari T1 dari HL (komponen horizontal), LH (komponen vertical), HH (komponen diagonal) pada level 1, level2 dan level 3 4. Hitung jumlah koefisien tersebut (misalkan jumlahnya adalah N) 5. Watermark dibuat seukuran N, lalu ditranformasikan 1 level ke ranah DWT
30
6. Buat table permutasi mengikuti sub bab 3.4 sejumlah N. 7. Koefisien transformasi watermark lalu dimutasi mengikuti table permutasi yang telah
dibuat. 8. Watermark transformed termutasi disisipkan di sejumlah N koefisien dari koefisien
citra transformed pada HL, LH dan HH dari koefisien yang lebih besar dari T1 seperti
pada tahap 3, menggunakan formula 2.9
9. Hasil penyisipan tersebut kemudian ditransformasi balik untuk mendapatkan citra berwatermark. Gambar 3.22 berikut menggambarkan diagram alir skema Munir-Maimon.
Gambar 3.22. Diagram alir algoritma munir-maimon
Pada algoritma seperti Gambar 3.22 ini penyisipan yang dilakukan hampir sama dengan Gambar 3.3. Hanya saja disini ada tambahan kuadrat (square) dari koefisien pengali watermarknya.
31
3.5.2.1. Contoh proses penerapan algoritma Munir-Maimon menggunakan citra 8x8. Citra yang digunakan pada contoh algoritma ini sama dengan pada algoritma Munir yaitu seperti yang tertera pada Gambar 3.5. Sehingga hasil transformasi waveletnya Dugad
akan sama dengan Gambar 3.6, 3.7 dan 3.8. Penyisipan pun dilakukan pada koefisien yang
lebih besar atau sama dengan 15. Dengan demikian ukuran watermarknya juga sama yaitu
4x4, seperti yang tertera pada Gambar 3.9. Dan karena nilai awal dari logistic map chaosnya adalah sama yaitu 0,5 dan dengan r = 3,999, maka didapat table permutasi S yang sama dengan Gambar 3.12. Sama seperti pada algoritma sebelumnya, gambar ini akan digunakan
untuk memutasi hasil dari transformasi wavelet watermark (Ws), yang nantinya akan disisipkan pada Host (Ws, seperti pada Gambar 3.14). Karena formula untuk penyisipan pada algoritma II ini digunakan seperti pada flowchart, milik Maimon, maka berikut ini akan ditunjukkan perubahan yang terjadi pada komponen-komponen transformasinya.
Gambar 3.23 Perubahan koefisien pada komponen diagonal level1 algoritma II
Pada Gambar 3.23, kita ditunjukkan : Ws(1) = -16.000, untuk cD1 (1,3) akan disisipkan seperti pada algoritma II Dalam hal ini:
outD(1,3) = 17,3390 + 0.00001* 17,3390^2*(-16,000) = 17,2909 32
Ws(2) = 355,7500 disisipkan pada cD1(2,4) outD(2,4) = 40,6095 + 0,00001*40,6095^2*355,7500 = 46,4763 Ws(3) = 32,500 disisipkan pada cD1(3,1)
outD(3,1) = 15,9494 + 0,00001*15,9494^2*32,500 = 16,0314
Gambar 3.24 Perubahan koefisien pada komponen horizontal level1 algoritma II
Pada komponen horizontal tidak terdapat koefisien >= 15, jadi tidak ada perubahan pada outH nya. Sedangkan pada komponen vertical terjadi 5 buah perubahan nilai koefisien, seperti yang tercantum pada Gambar 3.25 yaitu :
Gambar 3.25 Perubahan koefisien pada komponen vertikal level1 algoritma II
33
Ws(4) = 5,500 disisipkan pada cV1(1,2)
outV(1,2) = 27,6033 + 0,00001*27,6033^2*5,500 = 27,6452
Ws(5) = 32,7500 disisipkan pada cV1(2,3)
outV(2,3) = 25,1321 + 0,00001*25,1321^2*32,7500 = 25,3390
Ws(6) = 61,500 disisipkan pada cV1(3,2)
outV(3,2) = 41,9014 + 0,00001*41,9014^2*61,500 = 42,9812
Ws(7) = -21,500 disisipkan pada cV1(3,3) outV(3,3) = 17,6769 + 0,00001*17,6769^2*(-21,500) = 17,6097 Ws(8) = 80,500 disisipkan pada cV1(4,2)
outV(4,2) = 30,9941 + 0,00001*30,9941^2*(80,500) = 31,7674 Sedangkan pada komponen wavelet level 2 terjadi 3 perubahan nilai koefisien, seperti
yang terdapat pada Gambar 3.26 yaitu :
Gambar 3.26 Perubahan koefisien pada komponen wavelet level2 agoritma II
Ws(9) = 93 disisipkan pada cD2(1,2) outD2(1,2) = 30,4047 + 0,00001*30,4047 ^2*93 = 31,2645 Ws(10) = -29,000disisipkan pada cV2(1,1) outV2(1,1) = 15,3575 + 0,00001*15,3575^2*(-29,000) = 15,2891 Ws(11) = -37,500 disisipkan pada cV2(2,1) outV2(2,1) = 84,9316 + 0,00001*84,9316^2*(-37,500) = 82,2266
34
Gambar 3.27 Perubahan koefisien pada komponenwavelet level 3 algoritma II
Untuk komponen level 3 hanya terdapat 1 buah perubahan, dapat dilihat di Gambar 3.27, yaitu :
Ws(12) = 65,500 disisipkan pada cV3(2,1)
outV2(2,1) = 192,5440 + 0,00001*192,5440 ^2*(65,500) = 216,8270
Hasil Inverse DWT nya seperti pada Gambar 3.28
Gambar 3.28 Hasil Rekonstruksi setelah dilakukan penyisipan algoritma II
Hasil pengolahan Citranya adalah seperti pada Gambar 3.29 berikut
35
gambar awal 2
gambar berwatermark 2
4
4
6
6
8
8
2
4
6
8
2
watermark
4
6
8
watermark termutasi
1
1
2
2
3
3
4
4 1
2
3
4
1
2
3
4
Gambar 3.29 Hasil pengolahan untuk host 8x8 pada algoritma II
Untuk algoritma II ini didapat psnr citra terwatermark = 38.1720
3.5.3 Agoritma III (Munir-Dugad-Gui) Skema untuk algoritma III diuraikan sebagai berikut : 1. Citra ditransformasi DWT 3 level 2. Bagian LL band tidak dimodifikasi 3. Sisihkan semua koefisien yang lebih besar dari T1 dari HL (komponen horizontal), LH (komponen vertical), HH (komponen diagonal) pada level 1, level2 dan level 3 4. Hitung jumlah koefisien tersebut (misalkan jumlahnya adalah N) 5. Watermark dibuat seukuran N, lalu ditranformasikan 1 level ke ranah DWT 6. Buat table permutasi mengikuti sub bab 3.4 sejumlah N. 7. Koefisien transformasi watermark lalu dimutasi mengikuti table permutasi yang telah dibuat. 8. Hitung watermark privat ws mengikuti skema Gui yaitu sesuai dengan formula 2.11
36
9. Watermark privat disisipkan di sejumlah N koefisien dari koefisien citra transformed pada HL, LH dan HH dari koefisien yang lebih besar dari T1 seperti pada tahap 3,
menggunakan formula 2.9 Hasil penyisipan tersebut kemudian ditransformasi balik untuk mendapatkan citra 10.
berwatermark.
Skema di atas jika dituangkan kedalam bentuk flowchart didapat diagram seperti gambar 3.30
Gambar 3.30. Diagram alir algoritma Munir-Dugad-Gui
Pada algoritma kali ini, watermark yang akan disisipkan adalah hasil kombinasi antara watermark public dengan watermark yang telah dimutasi. Pada pengkombinasiannya
37
diterapkan pembobot untuk watermark public. Hal ini ditujukan agar watermark public tidak seluruhnya ada pada watermark yang disisipkan. Dengan mengkombinasi dengan watermark
termutasi, diharapkan keamanan dari watermark lebih terjaga. Contoh proses penerapan algoritma III (Munir-Dugad-Gui) menggunakan citra 3.5.3.1.
8x8.
Semua proses dilakukan sama dengan ke dua algoritma sebelumnya (algoritma I dan
II). Hanya saja beberapa hal yang berbeda akan dibahas di sini, Semua proses dilakukan sama seperti pada algoritma I, di sini kita kembangkan watermarknya dengan menerapkan ide Gui tentang pengkombinasian watermark publik
dengan watermark termutasi (watermark privat). Sintaks nya adalah: b = 0.3; We = (1 - b)*Ws + b*Wp;
Dan :
b = bobot watermark public We = watermark yang akan disisipkan Ws = watermark termutasi, disebut juga dengan watermark privat Wp = watermark public
Gambar 3.31 Koefisien We berdasarkan Watermark termutasi dan watermark public
Berdasarkan Gambar 3.31, yang akan dianalisa 3 contoh koefisien saja dengan bobot watermark public = 0,3
38
We(1) = (1-0,3)*(-16,0000) + 0,3*69 = 9,5000 We(6) = 0,7*61,5000 + 0,3*128 = 81,45
We(12) = 0,7*65,5 + 0,3*49 = 60,55 Berikut ini akan diperlihatkan Gambar 3.32 dan terjadi perubahan koefisien karena
penyisipan dari watermark kombinasi We
. Gambar 3.32 Perubahan koefisien pada komponen level 1 algoritmaIII
39
Diambil 3 contoh koefisien dari komponen level1 (seperti pada Gambar 3.32), untuk diperiksa perubahannya mengikuti formula sesuai algoritma III, yaitu :
We(2) = 280,2250 ; outD(2,4) = 40,6095 + 0,001*40,6095*280,2250 = 51,9893 = 23,0500 ; outV(1,2) = 27,6033 + 0,001*27,6033*23,0500 = 28,2395 We(4)
We(7) = 26,6500 ; outV(3,3) = 17,6769 + 0,001*17,6769*26,6500 = 18,1480
Untuk komponen pada level2 diambil 2 contoh koefisien (dari Gambar 3.33)
Gambar 3.33 Perubahan koefisien pada komponen level 2 algoritma III
We(9) = 101,4 ; outD2(1,2) = 30,4047 + 0,001*30,4047*101,4 = 38,4878 We(11) = 16,35 ; outV2(2,1) = 84,9316 + 0,001*84,9316*16,35 = 86,3202
Pada komponen level3 (Gambar 3.34) menyisakan 1 kofisien yang akan dianalisa.
Gambar 3.34 Perubahan koefisien pada komponen level 3
We(12) = 60,55 ; outV3(1,1) = 192,5440 + 0,001*192,5440*60,55 = 204,2026 Demikian bagaimana terjadinya perubahan nilai koefisien Host setelah disisipi watermark kombinasi antara watermark public dan watermark termutasi.
40
Gambar 3.35 memperlihatkan Inverse DWT dari hasil penyisipan :
Gambar 3.35 Hasil Rekonstruksi setelah dilakukan penyisipan pada Algoritma III
Adapun difference antara citra awal dan citra berwatermark adalah sebagai berikut (seperti yang tercantum pada Gambar 3.36)
Gambar 3.36 Difference antara Host dan citra berwatermark Algoritma III
Karena kekuatan watermark sangat kecil (p = 0,001), differencenya pun menjadi kecil, jika ditransformasikan ke bentuk citra, hasilnya semuanya hitam. Sedangkan citra yang dihasilkan dari inverse DWT seperti Gambar 3.37. Nilai psnr citra terwatermark adalah 41,47.
41
gambar awal
gambar berwatermark
2
2
4
4
6
6
8
8
2
4
6
8
2
watermark
1
1
2
2
3
3
4
4
1
2
6
8
watermark termutasi
4
3
4
1
2
3
4
Gambar 3.37. Hasil pengolahan citra dari algoritma III.
Berikut ini akan di perlihatkan pengaruh bobot watermark public terhadap citra berwatermark. Ternyata jika bobot watermark diubah-ubah ,maka psnr terwatermark pun berubah, ini dikarenakan koefisien dipengaruhi oleh watermark yang nilainya pun berubah. Nilai psnr terwatermark citra terwatermark pada algoritma III ini, akan mencapai nilai maksimum pada bobot 0.6, (kekuatan watermark p = 0,001). Dapat dilihat pada table 3.1 b (bobot watermark) psnr citra
0
0,2
40.1703 41.0930
0,4
0,6
41.7582
42.0049
0,8
1,0
41.7586 41.0935
terwatermark Tabel 3.1. Pengaruh bobot watermark public terhadap psnr citra tcitra berwatermark berdasarkan algoritma III
Tentu saja citra watermark termutasi nya pun berubah mengikuti perubahan bobotnya. Hal ini ditunjukkan pada Gambar 3.38 sampai dengan Gambar 3.40. Gambar 3.36, untuk b = 0 ; Gambar 3.8, b = 0.2 ; Gambar 3.10, b = 0.4 ;
42
Gambar 3.38, untuk b = 0.6; Gambar 3.11, b = 0.8 ; Gambar 3.12, b = 1.0. Terlihat bahwa semakin bobot mendekati 1(satu), maka watermark termutasi We nya pun
semakin mendekati bentuk watermark public Wp.
watermark
watermark termutasi
0.5
0.5
1 1.5
1 1.5
2
2
2.5
2.5
3
3
3.5
3.5
4 4.5
1
4
2
3
4
4.5
1
2
3
4
Gambar 3.38. Perbandingan watermark dengan watermark termutasi pada b = 0
watermark
watermark termutasi
0.5
0.5
1
1
1.5
1.5
2
2
2.5
2.5
3
3
3.5
3.5
4
4
4.5
1
2
3
4
4.5
1
2
3
4
Gambar 3.39. Perbandingan watermark dengan watermark termutasi pada b = 0.2 watermark
watermark termutasi
0.5
0.5
1
1
1.5
1.5
2
2
2.5
2.5
3
3
3.5
3.5
4
4
4.5
1
2
3
4
4.5
1
2
3
4
Gambar 3.40. Perbandingan watermark dengan watermark termutasi pada b = 0.4
43
Gambar 3.41, 3.42 dan 3.43 menunjukkan perubahan menuju bentuk watermark public. watermark
watermark termutasi
0.5
0.5
1
1
1.5
1.5
2
2
2.5
2.5
3
3
3.5
3.5
4
4
4.5
1
2
3
4
4.5
1
2
3
4
Gambar 3.41. Perbandingan watermark dengan watermark termutasi pada b = 0.6 watermark
watermark termutasi
0.5
0.5
1
1
1.5
1.5
2
2
2.5
2.5
3
3
3.5
3.5
4
4
4.5
1
2
3
4
4.5
1
2
3
4
Gambar 3.42. Perbandingan watermark dengan watermark termutasi pada b = 0.8
watermark
watermark termutasi
0.5
0.5
1
1
1.5
1.5
2
2
2.5
2.5
3
3
3.5
3.5
4
4
4.5
1
2
3
4
4.5
1
2
3
4
Gambar 3.43. Perbandingan watermark dengan watermark termutasi pada b = 1.0
44
Terlihat watermark termutasi mulai membentuk watermark public, dengan naiknya bobot watermark public.
3.5.4. Algoritma IV (Munir-Maimon-Gui)
Dengan mengadopsi Pengendalian watermark publik Gui (2005) digabung dengan konsep
Maya Maimon, skema algoritma III diganti formula penyisipannya mengikuti formula
maimon, didapat diagram alir seperti yang diitunjukkan pada Gambar 3.44.
Gambar 3.44. Diagram alir agoritma munir-maimon-gui
45
Diagram ini mengkombinasi algoritma pada Gambar 3.22 dengan metoda pembobotan untuk
watermark publik Gui 3.5.4.1. Contoh proses penerapan algoritma IV (Munir-Maimon-Gui) menggunakan
citra 8x8.
Pada algoritma ini tentu saja prosesnya sama seperti yang terdapat dalam ketiga
algoritma sebelumnya. Karena pada algoritma ini terdapat square pada penyisipannya, maka
kekuatan watermark harus dikecilkan dalam hal ini p diambil bernilai 0,00001. Adapun hasil pengolahan citranya adalah seperti pada Gambar 3.45 gambar awal
gambar berwatermark
2
2
4
4
6
6
8
8 2
4
6
8
2
watermark 1
2
2
3
3
4
4 2
3
6
8
watermark termutasi
1
1
4
4
1
2
3
4
Gambar 3.45 Hasil pengolahan citra pada Algoritma Munir-Maimon-Gui
Jika kekuatan watermark dinaikkan, maka nilai psnr terwatermark citra terwatermark akan menurun, hal ini dikarenakan pengaruh square membuat nilai hasil penyisipan semakin jauh dari nilai koefisien awalnya, hal ini akan membuat citra berubah jauh, dan akan nampak jelas perbedaannya (tidak imperceptible). Tabel 3.2 akan memperlihatkan pengaruh kekuatan
46
watermark terhadap nilai psnr terwatermark citra terwatermarknya pada algoritma Munir Maimon-Gui (algoritma IV)
p = (kekuatan
0.1
0.01
-40.4997
-20.4997
0.001
0.0001
0.00001 0.000001
-0.4997
19.5003
39.5003 59.5003
watermark)
psnr citra
terwatermark
Tabel 3.2. Pengaruh kekuatan watermark terhadap psnr terwatermark citra berwatermark untuk algoritma IV Bobot watermark public yang diterapkan untuk citra Gambar 3.14, b = 0.6. Didapat psnr
terwatermark citra terwatermark = 39,5003. Berikut ini akan dibandingkan pengaruh bobot watermark public terhadap psnr terwatermark citra terwatermark, ditunjukkan pada table 3.3
b (bobot watermark) psnr terwatermark
0
0,2
38.1720 38.7084
0,4
0,6
39.1630
39.5003
0,8
1,0
39.6878 39.7048
citra terwatermark Tabel 3.3. Pengaruh bobot watermark public terhadap psnr terwatermark citra berwatermark untuk algoritma IV
Untuk memperlihatkan pengaruh kekuatan watermark, pada Gambar 3.46 sampai Gambar 3.51 terlihat bagaimana citra berwatermark sangat berubah jauh dari citra Hostnya. Gambar 3.46 dan Gambar 3.47 dengan p = 0,1 dan p = 0,01, didapat citra berwatermark yang sama, walau pun jika dihitung nilai psnr terwatermark citra terwatermark nya jauh berbeda.
47
Gambar 3.46. Kekuatan Watermark p = 0.1, psnr citra terwatermark = -40,4997
Gambar 3.47. Kekuatan Watermark p = 0.01, psnr citra terwatermark = -20,4997
Dengan terus menaikkan kekuatan watermark, contohnya pada Gambar 3.46, dan nilai p = 0.001, citra mulai berubah dari bentuk seperti ke dua citra pada kekuatan yang lebih kecil.
Gambar 3.48. Kekuatan Watermark p = 0.001, psnr citra terwatermark = -0,4997
Pada p = 0.0001, citra mulai terlihat bentuknya, walaupun ini tentu saja hanya persepsi visual (Gambar 3.49). Semakin dinaikkan kekuatan watermark, keabuan citra berwatermark mulai mendekati citra Host (Gambar 3.50 dan Gambar 3.51)
48
Gambar 3.49. Kekuatan Watermark p = 0.0001, psnr citra terwatermark = 19.5003
Gambar 3.50. Kekuatan Watermark p = 0.00001, psnr citra terwatermark = 39.5003
Gambar 3.51. Kekuatan Watermark p = 0.000001, psnr terwatermark citra terwatermark = 59.5003
49
BAB IV
KESIMPULAN
Kesimpulan :
1. Algoritma RC-4 lebih membuat nilai normalisasi chaos untuk watermark lebih menyebar.
2. Nilai bobot watermark public dan privat, juga menentukan imperceptible citra terwatermark
3. PSNR dari citra terwatermark terhadap citra asli sangat ditentukan oleh bobot watermark. Semakin kecil bobotnya, semakin besar PSNR citra terwatermarknya. 4. Nilai PSNR di kisaran lebih besar dari 35, menunjukkan bahwa citra terwatermark imperceptible (relative tidak terlihat perubahan citra secara kasat mata)
50
DAFTAR PUSTAKA
1. Choi H, Lee K, dan Kim T (2004). Transformed-Key Asymmetric Watermarking
System, IEEE Signal Processing Letters, Vol. 11. No. 2, [February 2004]
2. Dugad R., Ratakonda K., and Ahuja N. (1998) A New Wavelet-Based Scheme for Watermarking Images, Proceedings of 1998 International Conference on Image
Processing Vol. 2, Chicago, IL, October 4-7, 1998
3. Fu Y, Shen R, Shen L (2004) A Novel Asymmetric Watermarking Scheme, Proc. Of
3rd Int. Conf. on Machine Learning and Cybernetics.
4. Gui G, Jiang L(2005). A Robust Asymmetric Watermarking Schme Using Multiple Public Watermarks, IEICE Trans. Fundamentals, Vol. E88- A, No. 7 [Juli 2005] 5. Gui G, Jiang L(2006). A New Asymmetric Watermarking Scheme for Copyright Protection, IEICE Trans. Fundamentals, Vol. E89-A, No. 2 [February 2006] 6. Liu, Ruizhen. and Tan, Tieniu. (2002) An SVD based watermarking scheme for protecting 14 rightful ownership. IEEE Transactions on Multimedia. Vol. 4. No.1. 7. Maimon Maya, Watermarking using wavelets, Wavelets seminar 1999 8. Munir R, Riyanto B, Sutikno S dan Wiseto P
(2008) Metoda asymmetric
Watermarking pada Citra Digital Berbasiskan pada Permutasi RC-4 dan Fungsi Chaos, Seminar On Intelligent Technology and Its Application. 9. Parameswaran Latha, and Anbumani K. (2007), A Content Based Image Watermarking Scheme Resilient to Geometric Attacks, International Journal of Electrical and Computer Engineering 2:2 2007 10. Supangkat Suhono H., Kuspriyanto, Juanda (2000). Watermarking sebagai Teknik Penyembunyian Label Hak Cipta pada Data Digital, TEKNIK ELEKTRO, Vol. 6, No. 3, 2000. 11. Schneier, Bruce, (1996) Applied Cryptography 2nd, John Wiley & Sons, 1996 51
12. Seitz J (2005). Digital Watermarking for Digital Media,Information Science Publishing.
52