JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-5
1
Implementasi Boosted Steganography Scheme dengan Praproses Citra Menggunakan Histogram Equalization Fitra Arifiansyah, Nanik Suciati, Arya Yudhi Wijaya
Jurusan Teknik Informatika, Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Jl. Arief Rahman Hakim, Surabaya 60111 E-mail:
[email protected] AbstrakβSteganografi adalah sebuah seni dan ilmu untuk menyembunyikan sebuah pesan atau data secara rahasia dimana hanya pengirim dan penerima saja yang dapat menerjemahkannya. Media yang digunakan bisa berupa teks, citra, audio, maupun video. Metode steganografi yang baik tidak akan merubah tampilan citra secara visual sehingga tidak membuat orang yang melihatnya menjadi penasaran. Dalam Tugas Akhir ini diimplementasikan Boosted Steganography Scheme dengan melakukan praproses sebelum dilakukan penyisipan pesan. Tujuan dilakukannya praproses ini adalah untuk meningkatkan kapasitas penyisipan pesan ke dalam citra. Hasil uji coba membuktikan bahwa dengan adanya tahap praproses menggunakan Histogram Equalization dapat meningkatkan kapasitas penyisipan pesan pada citra. Peningkatan kapasitas penyisipan pesan tersebut sebesar 97% jika dibandingkan dengan tanpa praproses.
salah satu metode yang populer dalam contrast enchancement. HE meningkatkan kontras dari suatu citra dimana proses tersebut dibutuhkan pada proses BSS. Dalam uji coba akan dibandingkan penggunaan HE dengan SMQT serta akan dibandingkan juga penggunaan praproses dengan tanpan praproses. Metode steganografi yang digunakan untuk melakukan embedding adalah PQ steganografi [5]. Tulisan ini dibagi menjadi 5(lima) bagian. Latar belakang permasalahan dikemukakan pada bagian 1. Pada bagian 2 dipaparkan algoritma steganografi Perturbed Quantization. Rancangan sistem dan uji coba dijelaskan pada bagian 3 dan 4. Pada akhir tulisan diuraikan kesimpulan yang diambil dari hasil penelitian. II. ALGORITMA PERTURBED QUANTIZATION
Kata KunciβBoosted Steganography Scheme, Perturbed Quantization, Histogram Equalization, Successive Mean Quantization Transform
I. PENDAHULUAN
S
teganografi adalah sebuah seni dan ilmu untuk menyembunyikan sebuah pesan atau data secara rahasia dimana hanya pengirim dan penerima saja yang dapat menerjemahkannya [1]. Media yang digunakan bisa berupa teks, citra, audio, maupun video. Dalam tugas akhir ini yang akan dibahas adalah steganografi menggunakan media citra dan data yang disisipkan berupa data random biner. Metode steganografi yang umum terbagi menjadi 4, yaitu Least Significant Bit (LSB) insertion [2], transformation algorithm [3] yang menggunakan fungsi transformasi adalah Discrete Cosine Transformation (DCT) dan wavelet transformation, redundant pattern encoding [3], dan spread spectrum method [2]. Metode yang dipakai dalam tugas akhir ini adalah transformation algorithm karena steganografi yang dipakai menggunakan fungsi DCT. Steganografi memerlukan peningkatan kapasitas penyisipan dari citra untuk mengurangi resiko terdeteksinya pesan pada citra stego yang menyebabkan pesan dalam citra menjadi tidak aman [1]. Oleh karena itu digunakan Boosted Steganography Scheme (BSS). BSS memiliki 2 tahap dimulai dengan tahap praproses kemudian diikuti dengan tahap embedding. Dalam kasus ini, citra dengan variasi intensitas piksel yang tinggi dapat melindungi pesan yang dikirim secara aman. Pada tahap praproses ini dapat diaplikasikan beberapa metode seperti Histogram Equalization (HE), Successive Mean Quantization Transform (SMQT) [4], dan lain-lain. Tugas akhir ini akan mengimplementasikan metode HE pada tahap praproses BSS. Hal ini dikarenakan HE adalah
Steganografi adalah sebuah seni dan ilmu untuk menyembunyikan sebuah pesan atau data secara rahasia dimana hanya pengirim dan penerima saja yang dapat menerjemahkannya. Media yang digunakan bisa berupa teks, citra, audio, maupun video. Keberhasilan dari steganografi ini bergantung pada media yang dipakai agar tidak mudah menarik perhatian berlebih atau tidak membuat orang yang melihatnya menjadi penasaran [1]. Tujuan dari steganografi adalah merahasiakan atau menyembunyikan keberadaan dari sebuah pesan tersembunyi atau sebuah informasi. Steganografi yang dibahas pada tugas akhir ini dikhususkan dalam media citra sedangkan untuk data yang disisipkan berupa data random biner. Algoritma yang digunakan dalam proses steganografi yaitu algoritma steganografi Perturbed Quantization [5]. Ada dua tahapan utama pada algoritma ini yaitu tahap praproses yang menggunakan metode HE dan tahap kedua adalah tahap penyisipan pesan ke dalam citra termasuk juga tahap kompresi citra sebelum penyisipan pesan tersebut. A. Histogram Equalization HE dipilih karena merupakan salah satu metode yang paling populer dalam peningkatan citra. HE meningkatkan kontras dari suatu citra dengan mentransformasikan piksel-piksel dari setiap gambar sehingga menghasilkan output berupa histogram yang terdistribusi dalam beberapa tingkat keabuan [6]. Persamaan yang digunakan untuk menghitung nilai transformasi setiap piksel pada citra asal ke nilai yang baru [6] adalah
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-5 οΏ½πππ(π£)βπππ
β(π£) = πππ’ππ οΏ½οΏ½π Γ π)β ππππππ
οΏ½
πππ
Γ(πΏβ1)οΏ½
,
2 (1)
dimana cdf min adalah nilai minimal dari fungsi distribusi kumulativ (cdf), M x N adalah ukuran dari piksel dimana M adalah lebar dan N adalah tinggi, dan L adalah level tingkat keabuan yang digunakan. B. Penyisipan Pesan Tahapan pertama sebelum dilakukan penyisipan pesan adalah kompresi citra. Kompresi digunakan untuk mencegah kerusakan pada citra [5]. Pada proses kompresi citra, citra grayscale dibagi menjadi 8x8 blok kemudian pada setiap blok tersebut akan dihitung nilai DCT. DCT adalah nilai koefisien transformasi diskrit [5] yang dihitung dengan 7
a , πππ = οΏ½π,π=0 a kl (i, j)Bkl
(2)
dimana i, j adalah panjang dan lebar citra dibagi 8. B adalah blok dari citra. Dari perhitungan tersebut akan menghasilkan 64 DCT koefisien c ij dimana 0 β€ π, π β€ 7. a adalah matriks ij. Tahap selanjutnya setelah kompresi citra adalah penyisipan pesan. Pada tahap ini akan dihitung terlebih dahulu nilai kapasitas penyisipan pesan pada citra untuk mengetahui panjang maksimal pesan yang dapat disisipkan dalam citra. Persamaan yang digunakan untuk menghitung panjang maksimal pesan yang bisa disisipkan [5] adalah ππππ₯ (π) = ββ π=1 π(π β₯π β π β₯π+1 ) ,
(3)
dimana π β₯π β π β₯π+1 adalah probabilitas dari i bits, sedangkan i adalah indeks dari k. Setelah tahap penghitungan kapasitas maksimal dari pesan yang dapat disisipkan ke dalam citra, kemudian dilakukan pengecekan pasangan matriks kuantisasi q 1 dan q 2 apakah nilai keduanya saling berkontribusi atau tidak dengan menghitung nilai GCD dari q 1 dengan q 2 . Kemudian dilanjutkan dengan perhitungan [5] berikut π = (2π + 1)
π1
2π
βπ,ποΏ½πΌ
βπΌ
οΏ½
1(π,π) 2(π,π) πππΈ = , (7) πΓπ dimana I 1 adalah citra yang telah rusak, I 2 adalah citra asli, M adalah kolom, dan N adalah baris.
III. IMPLEMENTASI Pada subbab ini akan dijelaskan mengenai proses-proses utama dalam algoritma PQ steganografi. Secara garis besar tahapan utama yang digunakan dalam PQ steganografi ditunjukkan pada Gambar 1. mulai
Input : citra
(4)
π2 οΏ½2 ,
(5)
dimana l adalah panjang baris dari blok, k adalah panjang kolom dari blok, q 2 adalah matriks kuantisasi kedua. Kemudian pesan akan diletakkan pada matriks yang berkontribusi yang telah dihitung sebelumnya. Pesan tersebut akan diencode [5] dengan persamaan π·2 π =
C. Kualitas Citra Perbaikan kualitas citra digunakan untuk meningkatakan kualitas dari citra. Sementara dalam tugas akhir ini tujuan dari dilakukannya perbaikan kualitas citra adalah membuat ruang kosong pada citra untuk disisipi pesan. Bila pesan yang disisipkan ke dalam citra melebihi kapasitas maksimal penyisipan maka akan menyebabkan rusaknya citra. Kerusakan itu berdampak secara visual. Cara menghitung kerusakan citra diformulasikan dengan persamaan berikut,
Tahap praproses
, π = β― , β2, β1, 0 ,1, 2, β¦ ,
dimana k adalah panjang kolom dari blok, g adalah GCD dari q 1 dengan q 2 , dan q 1 adalah matriks kuantisasi pertama. Setelah nilai k didapatkan, selanjutnya adalah menghitung l [5] dengan persamaan ππ1 = ππ2 +
Proses penyisipan berlanjut dengan dekompresi dari citra yang telah diproses sebelumnya ke domain spasial. Proses dekompresi berkerja berkebalikan dari proses kompresi citra. Kemudian dilanjutkan dengan kompresi citra lagi untuk kedua kalinya namun dengan nilai matriks kuantisasi kedua dimana nilai dari kuantisasi matriks kedua lebih kecil dari matriks kuantisasi yang pertama. Proses ini dinamakan double compression [5].
π οΏ½π·ππβπ1 + οΏ½π·ππβπππ π πππβ 2οΏ½2οΏ½οΏ½ π2
,
(6)
dimana D 2 n adalah koefisien kuantisasi setelah disisipi pesan, message adalah pesan.
Tahap penyisipan pesan
Citra stego
selesai
Gambar 1. Diagram alir PQ steganografi
Berdasarkan diagram alir pada Gambar 1 terdapat dua tahapan utama pada metode PQ steganografi. Tahapan pertama adalah tahap praproses citra kemudian tahap kedua adalah tahap penyisipan pesan ke dalam citra. Pada tahap praproses citra dilakukan proses perbaikan citra. Citra tersebut nantinya yang akan disisipkan pesan ke
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-5 dalamnya. Proses perbaikan citra itu dilakukan dengan metode HE. Tujuan dilakukannya praproses ini adalah untuk menambah kapasitas penyisipan dari citra yang bisa disisipi pesan. Langkah-langkah untuk metode HE ini adalah menghitung nilai probabilitas kemunculan intensitas piksel dari citra inputan yang telah dipilih. Setelah itu menghitung nilai dari fungsi distribusi kumulativ (cdf). Setelah perhitungan cdf dilakukan, kemudian mentransformasikan nilai dari setiap piksel pada citra asal ke nilai yang baru menurut perhitungan (1). Hasil transformasi tersebut adalah hasil peningkatan citra dengan menggunakan HE. Tahapan selanjutnya dari algoritma PQ steganografi adalah penyisipan pesan. Pertama akan dilakukan kompresi citra. Langkah pertama adalah citra grayscale yang telah dipraproses dibagi menjadi 8x8 blok. Langkah selanjutnya adalah menghitung nilai koefisien DCT dari setiap blok menurut perhitungan (2). Setelah melakukan kompresi citra, tahapan selanjutnya adalah penghitungan kapasitas penyisipan pesan. Pertamatama harus diketahui terlebih dahulu banyaknya bits yang dapat ditampung oleh citra menurut perhitungan (3). Tahapan selanjutnya adalah penyisipan pesan ke dalam citra. Langkah pertama yaitu melakukan pengecekan pasangan matriks kuantisasi yang saling berkontribusi. Nantinya pasangan matriks yang berkontribusi inilah yang dapat disisipi pesan. Persamaan yang digunakan untuk melakukan pengecekan pasangan matriks yang berkontribusi menurut perhitungan (4) dan perhitungan (5). Selanjutnya adalah mengencode pesan pada indeks yang telah ditentukan dari perhitungan sebelumnya. Proses encode pesan menggunakan perhitungan (6). Setelah pesan disisipkan ke dalam citra, maka akan dihasilkan output citra stego. IV. UJI COBA DAN EVALUASI A. Skenario Uji Coba Pada bagian ini dijelaskan mengenai skenario uji coba yang telah dilakukan. Terdapat beberapa skenario, diantaranya yaitu: 1. Uji coba yang pertama yaitu citra disisipkan pesan tanpa melakukan praproses. Uji coba ini bertujuan untuk mengetahui besar kapasitas penyisipan dari citra tanpa melakukan praproses. 2. Uji coba yang kedua yaitu melakukan praproses terhadap citra, kemudian melakukan penyisipan pesan. Praproses dalam uji coba ini dibagi menjadi dua tahap, yaitu praproses menggunakan HE dan praproses menggunakan SMQT. Uji coba ini bertujuan mengetahui besarnya kapasitas penyisipan dari citra setelah melakukan praproses pada citra untuk dibandingkan dengan hasil pada uji coba 1. 3. Uji coba yang ketiga yaitu melakukan penyisipan dengan pesan yang melebihi kapasitas citra tanpa praproses. Dalam uji coba ini dilakukan 3 kali percobaan, yaitu dengan menyisipkan pesan 2 kali kapasitas maksimum, 3 kali kapasitas maksimum, dan 4 kali kapasitas maksimum. Uji coba ini diujikan hanya untuk citra tanpa praproses bertujuan untuk mengetahui kekurangan citra bila dilakukan penyisipan pesan tanpa praproses.
3 Data yang digunakan pada uji coba ini sebanyak 40 citra yang dibagi menjadi 4 kategori sebagaimana ditampilkan pada Tabel 1. Citra yang digunakan adalah citra grayscale berukuran 240x180. Contoh citra dari masing-masing kategori berdasarkan Tabel 1 dapat dilihat pada Gambar 2. Tabel 1. Kategori citra No.
Kategori
Penjelasan
1.
Citra sederhana (citra low)
Citra dengan detail dan edge yang sedikit
2.
Citra kompleks (citra high)
Citra dengan detail rumit dan banyak edge
3.
Gabungan dari citra sederhana dan kompleks (combine) Citra full frame dari gabungan citra sederhana dan kompleks
Citra dengan background citra low dan 2 buah foreground citra high berukuran kecil Citra dengan border citra low dan 1 buah foreground citra high berukuran sedang
4.
(a)
(b)
(c)
(d)
Gambar 2. Contoh citra low (a), citra high (b), citra combine (c), citra full frame (d)
B. Evaluasi Uji Coba Hasil uji coba 1 dan uji coba 2 menunjukkan bahwa sebagian besar citra akan bertambah kapasitas penyisipannya dengan dilakukannya praproses. Hasil tersebut dapat dilihat padaTabel 2. Perhitungan kapasitas penyisipan dari citra berdasarkan perhitungan (3). Peningkatan kapasitas penyisipan terjadi dikarenakan praproses dapat merubah nilai intensitas piksel. Dari perubahan itu maka range nilai intensitas tersebut semakin bervariasi dan lebar. Hal itu yang menyebabkan bertambahnya ruang kosong yang digunakan untuk menyisipkan pesan. Hasil uji coba 3 ditunjukkan pada Tabel 3. Cara penghitungan besarnya kerusakan citra berdasarkan perhitungan (7). Dari Tabel 3 dapat dilihat bahwa dengan memasukkan pesan melebihi kapasitas penyisipan maksimal akan menyebabkan rusaknya citra asli. Hal ini dikarenakan pesan yang seharusnya menempati piksel kosong pada citra malah menempati piksel-piksel lain karena tidak cukup. Tambahan pesan pada piksel-piksel yang tidak semestinya akan membuat perubahan pada intensitas piksel tersebut yang akan merusak tampilan citra secara visual.
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-5 Tabel 2. Hasil uji coba 1 dan 2 Embedding Capacity (bits) Kategori
Nama Citra
Tanpa HE praproses low low1 0121 1175 0444 1317 low2*) low3 0219 1916 low4 0077 1608 high high1 1669 1539 high2 1117 1705 high3 1757 1809 high4 1256 1503 combine comb1 1349 1373 comb2 1450 1546 comb3 1137 1280 comb4 0914 1247 comb5 1469 1698 comb6 1529 1738 comb7 1230 1403 comb8 1045 1400 comb9 1428 1602 comb10 1470 1756 comb11 1116 1455 comb12 0970 1513 comb13 1363 1522 comb14 1417 1694 comb15 1103 1367 comb16 0890 1346 full frame ff1 1171 1232 ff2 1388 1496 ff3 1082 1198 ff4 0840 1150 ff5 1341 1513 ff6 1498 1631 ff7 1230 1403 ff8 1008 1336 full frame ff9 1142 1527 ff10 1339 1813 ff11 1087 1543 ff12 0819 1517 ff13 1188 1468 ff14 1367 1740 ff15 1071 1402 ff16 0841 1421 *) Hasil uji coba yang ditampilkan pada Gambar 3
SMQT 0163 0602 0238 0116 1366 1332 1372 1228 1159 1222 0951 0918 1367 1376 1116 1102 1241 1239 0928 0962 1195 1196 0921 0886 0992 1144 0872 0838 1197 1297 1116 1051 0984 1181 0886 0835 1026 1141 0885 0849
4 Tabel 3. Hasil uji coba 3 Presentase Kerusakan dengan Nama Citra Kapasitas Perbesaran maks. (bits) 2x (%) 3x (%) 4x (%) low1 121 04,79 04,79 04,79 444 02,63 02,63 02,63 low2*) low3 219 04,38 04,38 04,38 low4 77 02,44 02,44 02,44 high1 1669 20,76 20,76 20,76 high2 1117 17,55 17,56 17,55 high3 1757 27,85 27,85 27,85 high4 1256 32,38 32,39 32,38 comb1 1349 15,66 15,66 15,66 comb2 1450 16,57 16,57 16,57 comb3 1137 13,74 13,74 13,74 comb4 914 14,23 14,23 14,23 comb5 1469 13,74 13,74 13,74 comb6 1529 14,23 14,23 14,23 comb7 1230 15,65 15,66 15,65 comb8 1045 18,13 18,13 18,13 comb9 1428 15,11 15,11 15,11 comb10 1470 15,91 15,92 15,92 comb11 1116 16,86 16,86 16,87 comb12 970 19,63 19,63 19,63 comb13 1363 13,73 13,73 13,74 comb14 1417 14,47 14,48 14,48 comb15 1103 15,76 15,76 15,76 comb16 890 18,27 18,27 18,28 ff1 1171 13,45 13,45 13,45 ff2 1388 15,68 15,68 15,68 ff3 1082 14,50 14,50 14,50 ff4 840 16,30 16,31 16,31 ff5 1341 14,50 14,50 14,50 ff6 1498 15,71 15,71 15,71 ff7 1230 17,62 17,63 17,62 ff8 1008 16,45 16,45 16,45 ff9 1142 14,76 14,76 14,76 ff10 1339 15,26 15,26 15,26 ff11 1087 16,60 16,60 16,60 ff12 819 17,38 17,39 17,39 ff13 1188 14,80 14,80 14,80 ff14 1367 15,57 15,58 15,57 ff15 1071 17,81 17,81 17,82 ff16 841 18,99 18,99 18,99 *) Hasil uji coba yang ditampilkan pada Gambar 4
(a) (a)
(b)
(b)
Gambar 4. Citra low2 asli (a), citra low2 yang rusak akibat penyisipan kapasitas melebihi kapasitas maksimun (b)
V. KESIMPULAN
(c) Gambar 3. Citra low2 tanpa praproses (a), citra low2 dengan praproses menggunakan HE (b), citra low2 dengan praproses menggunakan SMQT(c)
Hasil dari uji coba yang dilakukan dan analisis pengujian terhadap implementasi boosted steganography scheme dengan praproses citra menggunakan histogram equalization dapat diambil beberapa kesimpulan antara lain : 1. Steganografi dengan tambahan praproses akan meningkatkan kapasitas penyisipan dari citra dibandingkan dengan steganografi tanpa praproses. 2. Praproses dengan metode HE lebih baik kemampuannya dalam meningkatkan kapasitas penyisipan dari citra dibandingkan dengan metode SMQT.
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-5 3. Kelompok citra dengan kategori kompleksitas rendah (low) dan kategori kompleksitas tinggi (high) memiliki peningkatan kapasitas penyisipan yang paling baik jika dibandingkan kelompok citra gabungan citra low dan high, serta kelompok citra full frame. 4. Dengan memasukkan pesan yang melebihi kapasitas penyisipan dari citra akan menyebabkan rusaknya citra asli. Hasil ini kedepannya dapat digunakan sebagai landasan untuk pengembangan selanjutnya yaitu penggunaan metode praproses lainnya pada domain frekuensi bukan pada domain spasial lagi. DAFTAR PUSTAKA [1]
[2]
[3]
[4] [5] [6]
Hedieh Sajedi, Mansour Jamzad. 2010. βBSS : Boosted Steganography Scheme with Cover Image Preprocessingβ, Science Direct, pp. 77037710. M.A. Ineke Pakereng, Yos Richard beeh, Sonny Endrawan. 2010. βPerbandingan Steganografi Metode Spread Spectrum dan Least Significant Bit (LSB)β, Jurnal Informatika, vol. 6, pp. 68-85. Firman, K., 2010. Perbandingan Metode Redundant Pattern Encoding dan Discrete Cosine Transform Sebagai Metode Steganografi pada Citra Digital,
. Mikael Nilsson, Mattias Dahl, Ingvar Claesson. 2005. βThe Successive Mean Quantization Transformβ, IEEE, pp.429-43 Jessica Fridrich, Miroslav Goljan, David Soukal. 2004. βPerturbed Quantization with Wet Paper Codesβ, Science Direct. Abd. Rahman Ramli, Soong-der Chen. 2004. βPreserving Brightness in Histogram Equalization Based Contrast Enhancement Techniquesβ, Science Direct, pp. 413-428.
5