penyembunyian data reversible citra mengunakan quad

advertisement
PENYEMBUNYIAN DATA REVERSIBLE
CITRA MENGUNAKAN QUAD-TREE
SEGMENTATION DAN HISTOGRAM
SHIFTING DUA POIN
Ananta Yudica
Email: [email protected]
Rojali
Afan Galih Salman
ABSTRAK
Skripsi ini berisi tentang mengaplikasikan teknik penyembunyian data secara reversibel ke
dalam Android dengan menggunakan algoritma Histogram Shifting dan Quad-tree Segmentation. Pada
algoritma Histogram Shifting ditambahkan titik maksimum dan minimum poin yang bertujuan untuk:
menyembunyikan data berkapasitas tinggi, citra yang sudah diekstrak dapat dipakai kembali karena
algoritma Histogram Shifting bersifat reversibel, dan distorsi yang dihasilkan relatip rendah setelah
penyisipan (embedding) pesan rahasia. Kemudian digabungkan dengan skema (bagan) Segmentasi
secara hirarki (Quad-tree Segmentation) yang dapat mempartisi secara hiraki citra input ke dalam
beberapa ukuran blok berdasarkan piksel yang bervariasi dibawah nilai kriteria kapasitas maksimal
(maximal capacity criterion) untuk setiap blok yang dipartisi. Blok-blok ini diorganisasikan menjadi
sebuah struktur pohon (tree structure) untuk setiap yang direpresentasikan. Pesan rahasia dan informasi
pohon (tree) partisi kemudian disisipkan kedalam blok-blok dari citra tersebut, dimana tiap-tiap blok
tidak saling berhimpitan. dengan metode-metode tersebut yang akan diimplentasikan kedalam citra
berwarna, diharapkan meningkatkan kapasitas penyisipan data secara signifikan.
Kata kunci : histogram shifting, reversible data hiding, segmentasi quad-tree, Keamanan citra, android
ABSTRACT
Thesis is about applying techniques reversible data hiding into Android by using Histogram
Shifting and Quad-tree Segmentation algorithms. In the algorithm Histogram Shifting added point
maximum and minimum points are aimed at: a high-capacity data hiding, image has been extracted can
be reused as Histogram Shifting reversible algorithm, and the resulting relatively low distortion after
insertion (embedding) secret message. Then combined with the scheme in a hierarchical segmentation
(Quad-tree Segmentation) which can partition the input image into a hierarchy multiple block sizes vary
based on pixel values below the maximum capacity criterion (maximum capacity criterion) for each block
of the partitioned. The blocks are organized into a tree structure (tree structure) for each represented.
Secret message and information tree and then inserted into partition blocks of the image, where each
block not coincide. by methods which will be implemented by the image into color, insertion of data is
expected to increase the capacity significantly.
Keywords : histogram shifting, reversible hiding the data, quad-tree segmentation, image security,
android.
1
2
1. Pendahuluan
(Lin & Li, 2011) Sebuah konten digital sangat mudah disebarluaskan di internet,
dibutuhkan sebuah cara untuk melindungi konten tersebut dari tindak ilegal atau
keamanan konten itu sendiri. Beberapa para ahli telah menyajikan beberapa cara teknik
penyembunyian data untuk menyisipkan data rahasia.
Namun pada beberapa skema penyembunyian data, medium (cover object) yang
ingin memproteksi atau mengirim dari data tersimpan yang dirahasiakan, kemungkinan
akan mengalami beberapa distorsi dan juga tidak dapat mentransformasikan kembali
kepada format asli pada tahapan ekstraksi. Pada penggunaan citra yang sensitip, seperti
halnya pada citra medis, citra pengindraan jarak jauh militer (remote sensing images),
dan karya seni adalah sangat penting agar dapat menjamin bahwa konten media tersebut
dapat dikembalikan kepada bentuk semula pada tahapan ekstraksi.
2. Metode Penelitian
2.1 Steganografi
Kata steganografi (steganography) berasal dari bahasa Yunani yaitu steganos
yang artinya tersembunyi atau terselubung dan graphein, yang artinya menulis,
sehingga kurang lebih artinya adalah “menulis tulisan yang tersembunyi atau
terselubung” (Sellars, 1996).
Steganografi (steganography) adalah ilmu dan seni menyembunyikan pesan
rahasia (hiding message) sedemikian sehingga keberadaan (eksistensi) pesan tidak
terdeteksi oleh indera manusia (Munir, 2004)
Steganografi adalah tindakan komunikasi rahasia, yang berarti bahwa hanya
pengirim, Alice, dan penerima, Bob, menyadari komunikasi rahasia. Untuk mencapai
hal ini, pesan rahasia yang tersembunyi dalam media komunikasi dikenal sebagai
covertexts atau coverwork. Untuk seorang Eve, jelas bahwa Alice dan Bob
berkomunikasi, tetapi covertext gabungan dan tersembunyi pesan, disebut sebagai
stegotext atau stegowork, tampaknya tidak berbahaya (misalnya, Eve tidak menyadari
bahwa konten menyembunyikan pesan). (Cox, Miller, Bloom, Fridrich, & Kalker, 2008)
Properti Steganografi:
• Embedded message (hidden-text): Pesan yang disembunyikan.
• Cover-object(cover-text): Media yang digunakan untuk menyembunyikan pesan.
• Stego-object (stego-text): Media yang sudah berisi pesan.
• Stego-key: Kunci yang digunakan untuk menyisipan pesan dan mengekstraksi
pesan dari stegotext.
3
Cover
Message
Proses
Embedding
Proses
Extracting
Stego-object
Cover*
Message
Penerima(B)
Pengirim(A)
Key
Key
Gambar 1 Sistem Stegonografi
2.2 Metode Histrogram Shifting
Teknik Histogram Shifting yang dikemukakan (Ni, Shi, Ansari, & Su, 2006)
adalah menyisipkan data dengan menggeser rangkaian histogram. Secara garis
besarnya adalah sebagai berikut :
Langkah pertama : Merekonstruksi histogram citra dari citra pembungkus
cover image untuk mendapatkan pasangan titik puncak
(peak point) dan titik nol (zero point).
Langkah kedua
:
Data disisipkan
dengan meng-shifting rangkaian
histogram. Karena kesederhanaan teknik ini, sehingga
menjadi satu teknik yang paling populer dalam bidang
penyembunyian data reversibel
(reversible data
hiding).
Sedangkan untuk algoritma penyisipan dengan dua poin sebagai berikut:
Input : Original-image (8-bit grayscale) dengan
, dan pesan rahasia
.
Output : Stego-image , titik maksimum
Step 1 : Membuat Histrogram
Step 2 : Didalam Histrogram
,
: mencari titik maksimum
dan
,
Step 3 : Jika titik minimum
dari piksel
atau
overhead kemudian set
mencari
,
titik
minimum
dari citra awal .
atau
, maka simpan koordinat
, dan nilai
sebagai informasi pembukuan di
.
4
Step 4: Tanpa kehilangan generalitas, kita asumsikan
dari Histrogram
dengan
, pindahkan semua bagian
, ke kanan 1 unit, dan
pindahkan semua bagian dari Histrogram
dengan
,
, ke kiri 1
unit.
Step 5 : Memindai citra, setelah memenuhi piksel grayscale yang nilai adalah
dan
,
memeriksa bit yang akan disisipkan. Jika bit yang akan disisipkan adalah 1,
maka nilai piksel grayscale diubah ke
atau
. jika bit adalah
0,maka nilai piksel tetap .
(a)
(b)
5
(c)
Gambar 2 Alur dari Metode Shifting Dengan Dua Poin, (a) Awal Citra, (b) Histogram Shifting, (c)
Penyisipan bit
Sedangkan untuk algoritma mengeskrak dengan dua poin sebagai berikut:
Input : Stego-image , titik maksimum
Output : Original-image
Step 1: Memindai citra yang ditandai
dalam urutan yang sama seperti yang digunakan
dalam prosedur Embedding. jika nilai piksel grayscale
ditemui, bit 1 diekstrak. nilai piksel grayscale
diekstrak. Kemudian didapat
dan
atau
dikurangi 1.
ditemui, bit 0
.
Step 2: Memindai citra lagi, untuk setiap nilai piksel yang grayscale
piksel
atau
, nilai
6
Step 3: Jika di overhead ada informasi pembukuan (
) atau (
yang
ditemukan pada saat data diekstrak, set nilai piksel grayscale koordinat
sebagai nilai
atau
. Dengan metode ini, citra dapat dipulihkan tanpa distorsi
apa pun.
Gambar 3 Flowchart Proses Menyisipkan Histogram Shifting.
7
Gambar 4 Flowchart Proses Mengesktrak Histogram Shifting.
2.3 Quad-tree segmentation
Quad-tree segmentation adalah teknik yang membagi blok sebuah citra menjadi
4 bagian yang tidak tumpang tindih dan setiap 4 sub-blok dapat dibagi lagi hingga
seterusnya sesuai dengan aturan struktur tree (atau hirarki) pendekatan segmentasi atau
pembagian blok.
Tujuan algoritma ini agar saat Histogram Shifting didapat blok yang kontrasnya
lebih rendah. Karena sifat teknik Histrogram Shifting blok kontras yang lebih rendah
dapat menampung lebih banyak bit data rahasia, sementara blok kontras yang lebih
tinggi menampung relatif lebih sedikit bit data rahasia. Oleh karena itu, blok kontras
yang lebih tinggi perlu untuk dipartisi atau dibagi menjadi sub-blok yang lebih kecil
dan menyediakan kapasitas yang lebih besar bit data rahasia.
8
(a)
(b)
(c)
Gambar 5 Contoh Quad-tree segmentation sederhana. (a)Citra yang sudah di Segmentation,
(b)Struktur Quad-tree Segmentation pada citra, (c) Quad-tree segmentation
9
Penjelasan definisi simbol yang digunakan pada algorima ini:
atau
• Citra yang input dilambangkan dengan
•
: Struktur Quad-tree yang digunakan untuk mewakili proses blok
•
: Variabel biner yang menunjukan apakah
tidak. Set
, jika
memutuskan untuk dibagi, jika
.
tidak set
•
telah dibagi atau
:Fungi membuat Histrogram yang dihitung menurut blok
•
: Fungsi menghitung kapasitas penyisipan dari
•
: Tingkatan(level) pada Quad-tree.
•
: Posisi blok pada level
.
.
Pada pengimplementasian metode ini, penulis menggunakan media citra yang
berwarna. Maka setiap kanal warna(RGB) pada citra yang sudah di-Histogram Shifting.
Kapasitas penyembunyian data (pure payload) yang akan dihasilkan pada satu blok.
dihitung sebagai berikut:
Kapasitas
Pada awalnya asumsikan bahwa citra
bilangan bulat berukuran
Input
adalah 8-bit matriks dua dimensi
oleh .
: Citra (8-bit grayscale) dengan
.
Output : Struktur Quad-tree segmentation dan Citra (8-bit grayscale) dengan
Step 1
: Jika
yaitu
Step 2
, maka bagi
.
menjadi 4 blok
. Set
: Jika
, kirim
kirim
kirim
ke step 2.
ke step 3. dan jika
ke step 4.
10
Step 3
: Bagi
menjadi 4 blok
dan krim
Step 4
: Set
: Jika
,
ke Step 2.
, jika
sisa 0 maka kirim
sisa bukan 0 maka kirim
Step 5
, set Set
, maka kirim
Untuk menghubungkan
warna(RGB) dan puncak
ke step 5. jika
ke Step 2.
ke Step 4. Jika
maka algoritma selesai.
tiap blok data yang tesembunyi pada tiap kanal
. Dimana tiap blok yang dihasilkan Quad-tree
segmentation, dan Histogram shifting pada seluruh citra ,maka dibutukan informasi
yang menghubungkan kesemuanya itu. Hubungan antar blok dan Histogram Shifting
untuk data yang disembunyikan, dengan Histogram Shifting untuk bit Quad-Tree
Segmentation terlihat pada gambar berikut:
Gambar 6 Hubungan antar Informasi Overhead 2 dengan Overhead 1
11
Gambar 7 Gambar 2.8 Hubungan Informasi antar Blok di Overhead1
Dari gambar diatas besar bit yang dibutuhkan untuk next a, next b, banyak b,dan
len bit pesan sebesar 8 bit untuk masing-masing, jadi total 32 bit dan sisanya sesuai
dengan kebutuhan yang ada.
Satu blok dapat dihitung besar daya tampung bit data yang tersisipkan ( payload
Size) sebagai berikut:
Dan total bit yang dapat ditampung dalam sebuah citra sebagai berikut:
Proses penyisipan dan ekstraksi adalah pengembangan metode Histogram Shifting yang
ada, bisa dilihat pada gambar flowchart berikut ini:
12
Gambar 9 Flowchart Proses menyisipkan
13
Gambar 10 Flowchart Proses Mengekstrak
14
3. Hasil Dan Bahasan
\
(a) Lenna
(b) F-16
(c) House
(d) girl3
(e) Peppers
(f) Baboon
Gambar 11 Tes Citra
Untuk pesan yang akan disisipkan pada test citra bisa dilihat sebagai berikut:
Tabel 1 Pesan Input
Tipe input
Pesan
Data
Data
filename
test-1.txt
test-2.gif
Besar bit
128
1024+80
13392 +80
Sebelum melakukan proses menyisipkan program melakukan proses Quad-tree
Segmentation terhadap citra. Hasil dari proses Quad-tree Segmentation menghasilkan
maksimum bit dan struktur bit Quad-tree Segmentation, dan hasil proses Quad-tree
Segmentation bisa dilihat pada Error! Reference source not found..
15
Tabel 2 Struktur bit Quad-tree dari Proses Quad-tree Segmentation
Citra
Size
Lenna
474,42 Kb
Perkiraan
Maksimum bit
48040
F-16
419,25 Kb
103864
House
451,97 Kb
92000
Girl3
326,48 Kb
74360
Peppers
374,39 Kb
35920
Baboon
498,59 Kb
20832
Struktur bit Quad-tree Segmentation
1110100000001000010000110100000010000010
0001100001000010000100001100001000010000
10000
1110000110000010000010000110000001000011
0000010000101000010000011001000001010000
1000001100000100000110000010000100001100
00100001100000100000100100000
1110000011000001000010000011000010001000
0100001000011100000100001000010000110000
1000010000100001000011000010010000001010
00000
1111000010000100001000011000010000100001
0000101000010000100001100001000001000011
1000010000100001000011000010000100001000
0110000100000011000010000001110000100001
0000010000110000100000010010000011000100
001010000010000100100000100010000
1110000100001000010000110000100001000011
0000000110000010000100001100001000010000
10000
1100001100001000001000010000110000100000
0
Setelah Proses Quad-tree Segmentation didapatlah Struktur bit Quad-tree, maka citra yang diinput akan
dibagi-bagi atau dipartisi(Segmentation).
Gambar 12 Segmentation pada Citra Lenna
16
Tabel 3 Hasil PSNR dan Waktu Proses dari menyisipkan Pesan
Lenna
F-16
House
Girl3
Peppers
Baboon
Pesan
test-1.txt
test-2.gif
58,23 dB
58,22 dB
53,43 dB
(18 detik)
(18 detik)
(19 detik)
58,34 dB
27,82 dB
54,54 dB
(20 detik)
(20 detik)
(20 detik)
59,07 dB
57,81 dB
55,03 dB
(18 detik)
(18 detik)
(19 detik)
64,36 dB
63,90 dB
58,41 dB
(21 detik)
(21 detik)
(22 detik)
57,91 dB
57,35 dB
54,42 dB
(19 detik)
(19 detik)
(22 detik)
59,29 dB
57,23 dB
50,93 dB
(17 detik)
(17 detik)
(22 detik)
Gambar 13 Grafik Hasil PSNR dari citra Lenna terhadat banyak bit yang disisipkan
17
4. SIMPULAN DAN SARAN
4.1 Kesimpulan
Beberapa kesimpulan yang diperoleh dari penulisan skripsi ini adalah sebagai
berikut:
• Program aplikasi yang dibuat dapat menyisipkan pesan text atau pesan data
ke dalam citra bertipe .jpg atau .jpeg.
• Program aplikasi dapat mengekstrak citra warna yang telah disisipkan
terlebih dahulu.
• Penambahan titik maksimum dan minimum pada metode Histogram Shifting
dapat dilakukan.
• Mengimplentasikan metode Quad-tree Segmentation pada citra berwarna
dapat mengoptimalkan besar size Payload.
• Hasil dari stego citra dikatagorikan dengan sangat baik karena hasil rata-rata
PSNR dari citra stego dan citra original
.
•
Citra Stego dapat dikembalikan ke awal sebelum citra disisipkan pesan
(reversible).
4.2 Saran
Beberapa saran yang diajukan dengan kemungkinan dilakukan pengembangan
lebih lanjut adalah sebagai berikut:
• Mengembangkan pada n titik maksimum dan minimum pada metode Histogram
Shifting.
• Menyesuaikan kebutuhan size pesan (Payload) dengan Quad-tree segmentation
agar lebih cepat dalam proses.
18
5. REFERENSI
android. (2011, May 16). Sejarah Android OS. Dipetik September 1, 2012, dari Aplikasi
Android: http://aplikasiandroid.com/berita-android-2/sejarah-android-os/
Conzalez, R. C., & Woods, R. E. (2008). Digital Image Processing Third Edition.
Prentice Hall.
Cox, I. J., Miller, M. L., Bloom, J. A., Fridrich, J., & Kalker, T. (2008). Digital
Watermarking and Steganography, Second Edition. Morgan Kaufmann.
Cummins, J., Diskin, P., Lau, S., & Parlett, R. (2004). Steganography and Digital
Watermarking.
H, N. S. (2011). Android. Bandung: Informatika.
Hong, W., Chen, T. S., Lin, K. Y., & Chiang, W. C. (2010). A Modified Histrogram
Shifting Based Reversible Data Hiding Scheme for High Quality Images.
Information Technology Jurnal, 9, 179-183.
Kumar, A., & Pooja, K. (2010). Steganography- A Data Hiding Technique.
International Journal of Computer Applications, vol. 9, no. 7, 19-23.
Lin, Y.-C., & Li, T.-S. (2011). Reversible Image Data Hiding Using Quad-tree
Segmentation and Histogram Shifting. Journal of Multimedia, vol. 6, no. 4, 349358.
Munir, R. (2004). Steganografi dan Watermarking. Departemen Teknik Informatika
Institut Teknologi Bandung.
Ni, Z., Shi, Y.-Q., Ansari, N., & Su, W. (2006). Reversible Data Hiding. IEEE
Transaction on Circuits and Systems for Video Technology, vol. 16, no. 3, 354362.
The MathWorks, Inc. (1994-2012). Compute peak signal-to-noise ratio (PSNR) between
images.
Dipetik
September
1,
2012,
dari
MathWorks:
http://www.mathworks.com/help/vision/ref/psnr.html
Tian, J. (2003). Reversible Data Embedding Using a Difference Expansion. IEEE
Transactions on Circuits and Systems for Video Technology, vol. 13, no. 8, 890897.
Varsaki, E., Fotopoulos, V., & Skodras, N. (2006). A reversible data hiding technique
embedding in the image histogram. Hallenic Open University.
6. RIWAYAT PENULIS
Ananta Yudica lahir di Jakarta pada tanggal 4 juni 1989 Penulis menamatkan
pendidikan S1 du Universitas Bina Nusantara dalam bidang Matematika dan Teknik
Informatika pada tahun 2013.
xix
Download