Stenografi dan Watermarking Esther Wibowo esther.visual@gmail.com Erick Kurniawan erick.kurniawan@gmail.com
Stenografi Teknik menyembunyikan data rahasia di dalam media digital. Memerlukan : Wadah penampung : citra, audio, teks, video. Data rahasia : citra, audio, teks, video. Tujuan : Menyamarkan eksistensi data rahasia. Melindungi hak cipta.
Mengalami perubahan yang tidak dapat dideteksi mata.
Kriteria Stenografi Fidelity kualitas citra penampung tidak jauh berubah. Robustness data yang disembunyikan tahan terdapat operasi manipulasi citra mis: transformasi, cropping, enkripsi, dll. Recovery data yang disembunyikan harus dapat diungkap kembali.
Teknik Penyembunyian Data Mengganti bit bit data dalam segmen citra dengan bit bit data yang rahasia. Yang paling sederhana : Metode Least Significant Bit Modification (LSB). Most Significant Bit (MSB) bit yang paling berarti dalam 1 byte (8 bit). Least Significant Bit (LSB) bit yang paling tidak berarti dalam 1 byte (8 bit).
Contoh LSB 11010010 MSB = 1, LSB = 0 Bit LSB diganti satu lebih tinggi atau satu lebih rendah. Perubahan kecil mis. Perubahan warna tidak tertangkap mata. 00110011 10100010 11100010 00110010 10100011 11100011
Penggantian Bit LSB Byte yang akan diganti dipilih secara acak, mis. byte no. 36, 5, 21 dll. Bilangan acak didapat dengan Pseudo Random Number Generator (PNRG). Menggunakan algoritma enkripsi (dalam kriptografi) menghasilkan sekumpulan bilangan acak yang sama untuk setiap kunci enkripsi yang sama.
Penyembunyian Dalam Citra 8 bit dan 24 bit Teknik penyembunyian data untuk citra 8 bit dan 24 bit berbeda, karena ada perbedaan susunan berkas : Citra 8 bit header palet RGB data bitmap Citra 24 bit tidak punya palet RGB, data bitmap: 1 byte Red 1 byte Green 1 byte Blue
Penggantian LSB Pada Citra Bukan 24 bit Data citradiubahjadiformat 24 bit tiap data pixel punya komponen RGB. 1 bit LSB dalam byte diganti dengan bit data rahasia. Mis. Jika yang diganti kebetulan byte komponen Green, perubahan kecil intensitas warna hijau dalam 1 pixel citra tidak terdeteksi mata.
Masalah Untuk Citra 8 bit Citra 8 bit hanya punya 2 8 = 256 warna. Pengubahan format ke 24 bit berpotensi menghasilkan warna > 256 warna. Tiap data bitmap punya 3 byte 3 bit LSB 2 3 = 8 kombinasi warna. Bila citra punya 256 warna, maka penggantian bit bisa menghasilkan 256*8 = 2.048 macam warna.
Solusi Sebelum proses penyembunyian data, warna citra diturunkan jadi 32 warna maksimum. Jika tiap warna menghasilkan 8 warna baru, jumlah warna maksimum 32*8 = 256 warna masih masuk kuota 8 bit. Bagaimana menurunkan jumlah warna?
Penurunan Jumlah Warna (1) Kuantisasi warna, citra kuantisasi tampak persis dengan citra semula. Algoritma diversity : Buat histogram warna. Warna yang tidak muncul dibuang saja. Pilih warna dengan frekuensi tertinggi sebagai patokan. Masukkan dalam daftar warna terpilih. Cari warna yang paling beda dengan warna patokan. Masukkan dalam daftar.
Penurunan Jumlah Warna (2) Algoritma Diversity (lanjutan) : Perbedaan dua warna dihitung dengan rumus jarak Euclidean : d = {( ) ( ) ( ) } 2 2 2 r r + g g + b 1/ 2 1 2 1 2 1 b2 r1, g1, b1 = komponen warna pertama r2,g2,b2 = komponen warna kedua Untuk tiap warna yang tersisa dalam histogram, hitungjaraknya darimasing masing warna dalam daftar warna terpilih. Ambil warna yang paling jauh berbeda dengan warna yang sudah dipilih. Ulangi pemilihan hingga warna terpilih mencapai maks. 32 warna.
Ukuran Data Yang Disembunyikan Bergantung pada ukuran citra penampung. Citra 8 bit berukuran 256x256 pixel punya 65.536 pixel @ 1 byte diubah 24 bit jadi 65.536*3 = 196.608 byte. Tiap byte hanya bisa menyembunyikan 1 bit di LSB maka ukuran data rahasia maks. 196.608 bit = 24.576 byte. Ukuran tersebut harus dikurangi panjang nama berkas rahasia karena yang disembunyikan isi dan nama berkas.
Teknik Pengungkapan Data Reveal atau Extraction Posisi byte yang menyimpan data rahasia diketahui dengan PRNG lagi menggunakan kunci dalam enkripsi untuk membangkitkan bilangan acak yang sama.
Watermarking Melindungi hak cipta barang digital : teks, musik (MP3, wav), citra, video (VCD). Distribusi offline dan online tidak mencantumkan pemilik atau pemegang hak cipta hasil karya SAYA! Teknik perlindungan : menyisipkan informasi dalam data multimedia teknik watermarking.
Watermarking Watermark : informasi yang disisipkan dalam data multimedia merupakan digital signature /kode ID dari pemilik sah. Data yang disisipi watermark tidak boleh rusak atau bakal ketahuan. Kasus sengketa hak cipta watermark diekstrak kemudian dibandingkan dengan digital signature yang bersengketa.
Tujuan Watermarking Melindungi hak cipta (copyright labelling) Tamper proofing Menunjukkan bahwa data digital telah mengalami perubahan. Feature location Mengidentifikasi isi dari data digital pada lokasi lokasi tertentu. Annotation/caption Sebagai keterangan tentang data digital tsb.
Stenografi vs Watermarking Watermarking bagian dari stenografi. Data penampung dalam stenografi tidak berarti apa apa, sedangkan data penampung pada watermarking itulah yang ingin dilindungi watermark. Beberapa metode : LSB, adaptif, spread spectrum, dll.
Bentuk Watermark Data watermark dapat berupa teks, citra atau suara. Teks agak riskan kesalahan 1 bit saja dalam proses ekstraksi menghasilkan teks yang berbeda. Perubahan kecil dalam citra atau suara mungkin tidak terdeteksi manusia. Citra yang sering digunakan untuk watermark : logo atau lambang.
Penyisipan Watermark Encoding : proses penyisipan watermark. Bisa disertai kunci atau tidak Fungsi kunci: Hanya pemilik sah yang bisa menge ekstraksi watermark. Mencegah penghapusan watermark oleh pihak lain.
Proses Enkripsi
Contoh Watermarking Perubahan citra ter watermark tidak kelihatan oleh manusia.
Verifikasi Watermark Terdiri dari 2 sub proses : Ekstraksi watermark (decoding) Bisa menggunakan citra asal atau tidak, beberapa teknik decoding menggunakan citra asal untuk meningkatkan kinerja. Pembandingan Memberi keputusan terhadap watermark tersebut.
Proses Verifikasi