Perancangan dan Implementasi Aplikasi Steganografi pada Citra Menggunakan Metode LSB Termodifikasi dalam Pemilihan Byte Penyisipan
Artikel Ilmiah
Peneliti : Khristie Grace Pattiasina (672008107) M. A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen SatyaWacana Salatiga Mei 2013
Perancangan dan Implementasi Aplikasi Steganografi pada Citra Menggunakan Metode LSB Termodifikasi dalam Pemilihan Byte Penyisipan
Artikel Ilmiah
Diajukan kepada Fakultas Teknologi Informasi untuk memperoleh gelar Sarjana Komputer
Peneliti: Khristie Grace Pattiasina (672008107) M. A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga Mei 2013
Perancangan dan Implementasi Aplikasi Steganografi pada Citra Menggunakan Metode LSB Termodifikasi dalam Pemilihan Byte Penyisipan 1)
Khristie Grace Pattiasina, 2)M.A. Ineke Pakereng Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Jl. Diponegoro 52-60, Salatiga 50771, Indonesia Email: 1)
[email protected],2)
[email protected] Abstract The development of information technology increasingly provides convenience in the process of sending messages and documents. Confidentiality is a major consideration when an important document sent over a computer network. Steganography is a method to hide a message inside another file without showing significant changes, with the intent of reducing the suspicion of the file. In this study implemented an LSB steganography by using the modified method. LSB used a modified LSB byte insertion in the selection of the cover image as a document storage bits. The results show that the cover image before and after insertion of visually did not show significant differences. Test the integrity of the document indicates that the document does not change the contents of the file. Keywords: Steganography, LSB Modified, Selection Byte Insertion Abstrak Perkembangan teknologi informasi semakin memberikan kemudahan dalam proses pengiriman pesan dan dokumen. Kerahasian adalah menjadi pertimbangan utama ketika suatu dokumen penting dikirimkan melalui jaringan komputer. Steganografi merupakan suatu metode untuk merahasiakan pesan di dalam suatu file lain tanpa menunjukan perubahan yang signifikan, dengan maksud mengurangi kecurigaan terhadap file tersebut. Pada penelitian ini diimplementasikan suatu steganografi dengan menggunakan metode LSB termodifikasi. LSB yang digunakan merupakan LSB termodifikasi dalam pemilihan byte penyisipan pada cover image sebagai tempat penyimpanan bit-bit dokumen. Hasil pengujian menunjukkan bahwa cover image sebelum dan sesudah disisipi secara visual tidak menampakkan perbedaan yang signifikan. Uji integritas dokumen menunjukkan bahwa dokumen tidak mengalami perubahan isi file. Kata Kunci: Steganografi, LSB Termodifikasi, Pemilihan Byte Penyisipan
1) 2)
Mahasiswa Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana.
1.
Pendahuluan
Dalam bidang keamanan komputer, ada dua teknik yang digunakan untuk menyembunyikan data atau pesan rahasia sehingga data atau pesan rahasia tetap tidak terlihat, yaitu teknik kriptografi dan steganografi. Pada teknik kriptografi sebelum data atau pesan rahasia dikirim, data dienkripsi dengan algoritma tertentu, sehingga pesan yang dikirim tidak dapat dibaca atau diketahui orang lain. Namun karena pesan tersebut merupakan pesan acak dan berbeda dengan data aslinya, maka akan menimbulkan kecurigaan pada orang lain. Hal ini disebabkan beberapa enkripsi mempunyai pola ciphertext yang menunjukkan metode enkripsi yang digunakan, dengan demikian orang menjadi curiga dan akan berusaha memecahkan pesan tersebut. Oleh karena itu, agar data yang disembunyikan tidak dicurigai orang lain, terdapat suatu teknik penyamaran data yaitu steganografi [1]. Pada steganografi pesan disembunyikan dalam media yang umum dikenal yaitu image, audio, dan video, sehingga tidak menimbulkan kecurigaan. Teknik steganografi menggunakan dua media yang berbeda. Salah satu media berfungsi sebagai media yang berisikan informasi (pesan rahasia) dan media yang lain berfungsi sebagai pembawa informasi tersebut (cover) yang dapat berupa sebuah teks, gambar, suara, atau video. Masalah yang sering muncul dalam steganografi adalah keterbatasan lokasi penyisipan pesan. Keterbatasan ini ada karena teknik steganografi berusaha untuk melakukan perubahan seminimal mungkin pada cover, dengan maksud mengurangi kecurigaan. Teknik steganografi dengan metode LSB, melakukan penyisipan pesan ke bit terendah (LSB) tiap pixel yang terdapat pada cover. Hal ini berarti melakukan perubahan pada tiap byte warna dari cover, yang dapat berakibat besarnya perubahan yang terjadi pada cover. Berdasarkan latar belakang tersebut, yaitu keterbatasan lokasi dan berusaha meminimalisasi perubahan cover, pada penelitian diajukan suatu steganografi pada citra menggunakan metode LSB termodifikasi dalam pemilihan byte penyisipan. Teknik ini merupakan pengembangan dari metode LSB. Penyisipan dilakukan hanya pada byte warna pada cover yang memiliki nilai tertentu (selective). Pemilihan nilai ini bersifat dinamis, tidak terbatas pada nilai byte tertentu saja, sebagai contoh 254 dan 255 saja. Berdasarkan uraian tersebut, maka akan dilakukan penelitian yang bertujuan untuk melakukan “Perancangan dan Implementasi Aplikasi Steganografi Pada Citra Menggunakan Metode LSB Termodifikasi Dalam Pemilihan Byte Penyisipan”. 2.
Tinjauan Pustaka
Beberapa Penelitian yang membahas sistem steganografi pernah dilakukan. Penelitian dengan topik “Efficient Method of Audio Steganography by Modified LSB Algorithm and Strong Encryption Key With Enhanced Security”, yaitu penelitian yang mengajukan metode baru untuk penyisipan pesan dalam audio, dengan memodifikasi metode Least Significant Bit (LSB), dan menggunakan kekuatan kunci enkripsi untuk meningkatkan keamanan pesan yang disisipkan.
1
Enkripsi yang digunakan adalah teknik enkripsi yang ditentukan sendiri dengan aturan yang sederhana. Proses enkripsi diterapkan pada pesan, sebelum pesan tersebut disisipkan ke dalam audio [2]. Penelitian lain yang pernah dilakukan berjudul “Aplikasi Steganografi pada Citra Menggunakan Metode Least Significant Bit Termodifikasi dan RC6”. Kesimpulan yang diperoleh adalah dapat melakukan penyisipan (embedding) atau pengambilan (extracting) data pada byte komponen warna bernilai 254 atau 255, pada file cover berformat PNG. Ukuran file yang disisipkan mempengaruhi kecepatan proses (embedding, extracting), semakin besar file, semakin lama waktu proses. Panjang kunci yang digunakan pada algoritma RC6 mempengaruhi kecepatan proses enkripsi dan dekripsi, semakin besar panjang kunci, semakin lama waktu proses [3]. Berdasarkan penelitian yang pernah dilakukan tentang steganografi dengan metode LSB melalui media video, citra dan penelitian tentang metode LSB yang dimodifikasi, maka dalam penelitian ini, akan dilakukan penelitian yang bertujuan untuk merancang dan mengimplemetasikan aplikasi steganografi pada citra yang menggunakan metode LSB termodifikasi dalam pemilihan byte penyisipan, dimana dalam penelitian ini pengguna dapat memilih 2 (dua) byte bernilai tertentu, yaitu genap dan ganjil, secara dinamis sebagai lokasi tempat penyimpanan bit-bit dokumen yang akan disisipkan. Media yang dipakai sebagai cover image dalam penelitian yaitu image dengan format PNG. Penelitian yang dilakukan akan melihat apakah terjadi perubahan signifikan terhadap kualitas dan besar ukuran data pada cover image setelah melalui proses embedding dan extracting data, dan melihat apakah terjadi perubahan atau kerusakan pada data yang telah diekstrak. Sistem yang dibangun diharapkan dapat membantu para pengguna untuk menjaga kerahasiaan data pesan, dengan cara disisipkan dalam file image. Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia di dalam pesan lain sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui. Steganografi berasal dari bahasa Yunani, yaitu “steganos” yang artinya “tulisan tersembunyi (covered writing)” [1]. Steganografi yang dibahas adalah penyembunyian data di dalam citra (image). Meskipun demikian, penyembunyian data dapat juga dilakukan pada media berupa suara digital, teks, ataupun video. Penyembunyian data rahasia ke dalam image akan mengubah kualitas image tersebut. Kriteria yang harus diperhatikan dalam penyembunyian data adalah: 1) Mutu citra penampung tidak jauh berubah. Setelah penambahan data rahasia, citra hasil steganografi masih terlihat dengan baik. Pengamat tidak mengetahui kalau di dalam citra tersebut terdapat data rahasia. Data yang disembunyikan harus tahan terhadap manipulasi yang dilakukan pada citra penampung. Bila pada citra dilakukan operasi pengolahan citra, maka data yang disembunyikan tidak rusak; 2) Data yang disembunyikan harus dapat diungkapkan kembali (recovery). Dalam penyembunyian pesan, steganografi menggunakan dua properti yaitu pesan rahasia dan media penampung. Ada beberapa tipe media yang dapat digunakan untuk menyisipkan pesan rahasia. Tipe media ini dapat berfungsi sebagai media pembawa pesan rahasia, yang disebut dengan host message. Terdapat beberapa
2
media yang dapat digunakan sebagai media steganografi, media penampung tersebut dapat berupa text, image, audio, atau video [4]. Cara untuk mengaplikasikan steganografi pada file image terdiri dari beberapa cara yang lazim digunakan dan prinsip kerja atau algoritma yang digunakan sama seperti pada metode steganografi pada data audio. Berikut adalah beberapa teknik yang digunakan : 1) Least Significant Bit Insertion (LSB) adalah metode yang digunakan untuk menyembunyikan pesan pada media digital tersebut berbeda-beda. Contohnya, pada berkas audio, pesan dapat disembunyikan dengan menggunakan cara menyisipkannya pada bit rendah atau bit yang paling kanan (LSB) pada data piksel yang menyusun file tersebut; 2) Redundant Pattern Encryption adalah menggambar pesan kecil pada kebanyakan image. Keuntungan dari metode ini adalah dapat bertahan dari cropping (kegagalan). Kerugiannya yaitu tidak dapat menggambar pesan yang lebih besar; dan 3) Spread Spectrum steganografi terpencar-pencar sebagai pesan yang diacak (encrypted) melalui image (tidak seperti dalam LSB). Untuk membaca suatu pesan, penerima memerlukan algoritma yaitu crypto-key dan stego-key. Metode ini juga masih mudah diserang yaitu penghancuran atau pengrusakan dari kompresi dan proses image (gambar) [4]. Cara paling mudah untuk menyembunyikan pesan adalah dengan memanfaatkan Least Significant Bit (LSB). Jika digunakan image 24 bitcolor sebagai cover, sebuah bit dari masing-masing komponen Red, Green, dan Blue, dapat digunakan, sehingga tiga bit dapat disimpan pada setiap piksel. Sebuah image 800 x 600 piksel dapat digunakan untuk menyembunyikan 1.440.000 bit (180.000 bytes) data rahasia. Misalkan terdapat piksel-piksel dari image 24 bit color : 11000111 00110011 00111000 01010110 Jika ada pesan rahasia yang memiliki nilai 1101, maka dihasilkan: 00111001 01010111 11000110 00110011 dapat dilihat bahwa bit-bit pesan rahasia mengubah bit-bit terakhir citra gambar. Perubahan pada LSB ini akan terlalu kecil untuk terdeteksi oleh mata manusia sehingga pesan dapat disembunyikan secara efektif. Akan lebih baik jika digunakan grayscale image karena perubahan warnanya akan lebih sulit dideteksi oleh mata manusia. Proses ekstraksi pesan dapat dengan mudah dilakukan, yaitu dengan mengekstrak LSB dari masing-masing piksel pada stego secara berurutan dan menuliskannya ke output file yang akan berisi pesan tersebut. Kekurangan dari metode modifikasi LSB ini adalah bahwa metode ini membutuhkan "tempat penyimpanan" yang relatif besar. Kekurangan lain adalah bahwa stego yang dihasilkan tidak dapat dikompres dengan format lossy compression [4]. 3.
Metode dan Perancangan Sistem
Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang terbagi dalam empat tahapan, yaitu: (1) Identifikasi masalah, (2) Perancangan sistem, (3) Implementasi sistem, (4) Pengujian sistem dan analisis hasil pengujian.
3
Identifikasi Masalah
Perancangan Sistem meliputi Perancangan Proses Embedding, dan Proses Extracting
Implementasi Sistem
Pengujian Sistem dan Analisis Hasil Pengujian Gambar 1 Tahapan Penelitian [5]
Tahapan penelitian pada Gambar 1, dapat dijelaskan sebagai berikut. Tahap pertama: identikasi masalah, yaitu mengidentifikasi masalah-masalah yang akan dibahas serta mendapatkan data dan literatur yang terkait dengan proses embedding dan extracting terhadap data teks, dan dokumen pada image .PNG, menggunakan Metode Least Significant Bit (LSB) termodifikasi dalam pemilihan byte yang digunakan untuk penyisipan (tidak terpaku pada byte tertentu); Tahap kedua: perancangan sistem yang meliputi perancangan proses embedding dan extracting pada sistem steganografi yang dibangun; Tahap ketiga, implementasi sistem, yaitu mengimplementasikan tahapan penelitian pertama dan kedua ke dalam sebuah program, dengan membuat aplikasi/program sesuai kebutuhan sistem berdasarkan perancangan sistem yang telah dilakukan. Misalnya aplikasi/program dapat menyembunyikan pesan rahasia dan dapat melindungi keamanan data yang disisipkan pada citra dengan menggunakan metode Least Significant Bit (LSB) yang dimodifikasi dalam pemilihan byte penyisipan (tidak terpaku pada byte tertentu); Tahap keempat: pengujian sistem dan analisis hasil pengujian, yaitu dilakukan pengujian terhadap pengaruh ukuran data, waktu proses, dan kualitas image, serta melihat hasil yang diberikan apakah sudah sesuai dengan konsep steganografi. Penelitian yang dilakukan membahas tentang lokasi penyisipan pada cover image yaitu dengan memilih byte-byte tertentu, dijelaskan sebagai berikut. Pemilihan byte sebagai lokasi penyisipan dilakukan oleh user, dengan ketentuan byte yang dipilih merupakan pasangan byte yang memiliki 7 (tujuh) bit awal sama, dan 1 (satu) bit terakhir (LSB) berbeda, dijelaskan pada Contoh 1: Contoh 1: Byte 90 91
MSB 0 0
1 1
0 1 1 0 1 1 7 bit pertama sama
0 0
1 1
LSB 0 1 berbeda
Aturan ini digunakan karena proses penyisipan dan ekstraksi terjadi pada LSB, dan kemungkinan bit yang disisipkan adalah antara bit bernilai 0 atau 1. Sehingga jika pada Contoh 1, byte bernilai 90, nilai LSB diganti (disisipi) dengan bit 0 akan menjadi 90, dan jika diganti 1, akan menjadi 91. Demikian pula byte bernilai 91, jika nilai LSB diganti 0 akan menjadi 90, jika diganti 1 menjadi 91.
4
Contoh 2: 90 01011010 disisip 0 01011010 90 90 01011010 disisip 1 01011011 91 91 01011011 disisip 0 01011010 90 91 01011011 disisip 1 01011011 91 Kesimpulannya adalah pasangan lokasi yang dapat disisipkan harus memiliki 7 (tujuh) bit pertama yang sama. 1 (satu) bit terakhir (LSB) digunakan untuk menyisipkan. 1 (satu) bit terakhir tersebut mengakibatkan nilai lokasi tersebut adalah genap jika LSB bernilai 0, dan ganjil jika LSB bernilai 1. Penelitian yang dilakukan menghasilkan aplikasi steganografi, yang terdiri dari dua proses utama, yaitu proses embedding dan proses extracting. Proses embedding data dalam sistem steganografi, dijelaskan sebagai berikut. File yang akan disisipkan akan dipilih terlebih dahulu, kemudian dihitung besar lokasi yang tersedia pada file. File PNG yang digunakan sebagai media penyisipan harus memiliki jumlah byte yang cukup untuk menampung file pesan. Proses berikutnya adalah proses penyisipan bit file pesan di LSB byte file media. Proses ini bersifat dinamis karena penyisipan dapat dilakukan pada byte file media yang dapat dipilih oleh user, dan tidak terpaku pada byte bernilai 254 atau 255 saja. Lokasi penyisipan data pesan dilakukan pada 2 (dua) byte bernilai tertentu, genap dan ganjil. Selanjutnya pembacaan diteruskan lagi ke byte berikutnya. Proses tersebut diulangi sampai semua bit file pesan selesai disisipkan. Setelah proses selesai, file image disimpan sebagai file baru. Jika ada kesalahan pada proses embedding maka proses akan berhenti dan menyimpan file baru. Jika besar lokasi penyimpanan tidak dapat menampung file yang disisipkan maka tidak terjadi proses embedding. Proses embedding dijelaskan pada Contoh 3. Contoh 3: Proses Embedding Data Berdasarkan Contoh 2, diketahui bahwa lokasi penyisipan yang dipilih user adalah 90 dan 91. File gambar memiliki susunan warna sebagai berikut. 90 160 0
91 100 255
10 91 90
20 91 89
250 91 90
File yang disisipkan berisi karakter “a” a = nilai ASCII 97 0110 0001 8 (delapan) bit yang harus disisipkan. Maka diperlukan 8 lokasi bernilai bernilai 90 atau 91. Hasil penyisipan adalah sebagai berikut:
5
90 90 91
byte warna nilai binary bit pesan
90
91
10
20
250
90
01011010
01011011
00001010
00010100
11111010
01011010
0
1
hasil
01011010
01011011
tetap
tetap
tetap
01011011
1
byte warna nilai binary bit pesan
160
100
91
91
91
90
10100000
01100100
01011011
01011011
01011011
01011010
0
0
0
0
hasil
tetap
tetap
01011010
01011010
01011010
01011010
0
255
90
89
90
91
00000000
11111111
01011010
01011001
01011010
01011011
tetap
tetap
tetap
byte warna nilai binary bit pesan hasil
1 tetap
tetap
01011011
Hasil akhir penyisipan: 90
91
10
20
250
91
160
100
90
90
90
90
0
255
91
89
90
91
Proses embedding hanya dapat dilakukan jika lokasi yang dipilih oleh user memiliki jumlah yang sama atau lebih besar dari panjang bit pesan. Jika user memilih lokasi yang tidak mencukupi, maka sistem akan memberikan pesan kesalahan. Hal ini dikarenakan tiap 1 (satu) bit pesan memerlukan 1 byte lokasi penyisipan. Pada Contoh 3, untuk menyisipkan 1 (satu) karakter (1 karakter ASCII = 1 byte, 1 byte = 8 bit), maka diperlukan 8 lokasi (warna) yang memiliki nilai 90 atau 91. Proses embedding dalam bentuk flowchart, ditunjukkan pada Gambar 2.
6
Gambar 2 Proses Embedding
Proses extracting data merupakan proses untuk membaca pesan yang disisipkan di dalam media penampung (cover). Proses extracting dalam sistem yang dibangun dijelaskan sebagai berikut. Pilih file yang berisi pesan rahasia yang telah disisipkan. Setelah itu, pilih lokasi byte yang akan diambil LSB-nya, jika byte sesuai maka proses extracting akan dilakukan. Hasil dari variabel penampung akan ditampilkan oleh program. Proses extracting dalam bentuk flowchart, ditunjukkan pada Gambar 3.
7
Gambar 3 Proses Extracting
Contoh 4: Proses Ekstraksi Berdasarkan Contoh 3, diketahui lokasi penyisipan yang dipilih user adalah 90 dan 91. File gambar yang telah disisipi memiliki susunan warna sebagai berikut : 90
91
10
20
250
91
160
100
90
90
90
90
0
255
91
89
90
91
8
Berdasarkan informasi pesan yang disisipkan diketahui bahwa panjang pesan adalah 8, artinya ada 8 lokasi yang bernilai 90 dan 91 yang menyimpan bit pesan. byte warna nilai binary bit pesan byte warna nilai binary bit pesan byte warna nilai binary bit pesan
90
91
10
20
250
90
01011010
01011011
00001010
00010100
11111010
01011010
0
1
160
100
91
91
91
90
10100000
01100100
01011011
01011011
01011011
01011010
0
0
0
0
1
0
255
90
89
90
91
00000000
11111111
01011010
01011001
01011010
01011011
1
Hasil akhir ekstraksi: 0110 0001 97 merupakan kode ASCII untuk karakter “a”.
4.
Hasil dan Pembahasan
Gambar 4 menunjukkan antarmuka dari proses embedding. Untuk menjalankan proses embedding, user memilih cover image, dengan memilih tombol select cover image. Proses selanjutnya yaitu, memilih file teks atau file dokumen yang akan disimpan ke dalam file image pada menu select message file, selanjutnya memilih menu select embedding location untuk memilih nilai penyimpanan bit-bit dokumen pada byte bernilai tertentu sesuai keinginan dari user. Proses selanjutnya adalah memilih tombol embed. Setelah melakukan proses embed, maka user harus memilih tombol save embedded untuk menyimpan file Cover yang sudah disisipkan file atau pesan rahasia tersebut.
9
Gambar 4 Antarmuka Proses Embedding
Gambar 5 menunjukkan antarmuka dari proses extracting, dimana user dapat memilih cover image yang di dalamnya terdapat pesan rahasia yang akan diekstrak. Proses selanjutnya user harus memilih menu select embedding location untuk memilih nilai penyimpanan bit-bit dokumen pada byte yang bernilai sama seperti ketika proses extracting, jika user memilih nilai penyimpanan bit-bit dokumen pada byte yang bernilai sama sesuai ketika proses embedding, maka pesan rahasia yang telah disisipkan akan ditemukan, sehingga user dapat melihat atau mengambil pesan rahasia yang telah disisipkan, jika user memilih nilai penyimpanan bit-bit dokumen pada byte yang bernilai tidak sesuai ketika proses embedding, maka pesan rahasia yang telah disisipkan tidak akan ditemukan, sehingga user tidak dapat melihat atau mengambil pesan rahasia tersebut.
Gambar 5 Antarmuka Proses Extracting
Gambar 6 menunjukkan antarmuka dari proses compare, dimana user dapat memilih cover image yang dipakai pada saat sebelum dan sesudah disisipkan pesan atau pada proses embedding dan extracting, untuk melihat perbedaan pixel dari cover image tersebut.
10
Gambar 6 Antarmuka Proses Compare Kode Program 1 Perintah Untuk Proses Embedding 1. 2. 3.
4.
string binary = Convert.ToString(warna, 2).PadLeft(8, '0'); char[] arrayBit = binary.ToCharArray(); arrayBit[7] = p; binary = new string(arrayBit);
Kode Program 1 merupakan perintah yang digunakan untuk menyisipkan bit pesan ke dalam byte image. Langkah yang dilakukan perintah pada baris 1 adalah mengubah byte ke dalam bentuk binary. Sehingga untuk byte dengan nilai 5 akan menjadi “00000101”. Kemudian perintah pada baris 2, string binary diubah dalam bentuk array karakter. Perintah pada baris 3, array indeks ke 7 (bit indeks paling kurang signifikan/LSB) diganti dengan bit pesan pada variabel p. Perintah pada baris ke 4, array yang telah “disisipi” ini dikembalikan dalam bentuk string binary, untuk kemudian nantinya disimpan kembali dalam cover. Kode Program 2 Perintah Untuk Proses Extracting 1.
string binary = Convert.ToString(b, 2);
2. return binary[7];
Kode Program 2 menjelaskan proses ekstraksi nilai LBS dari byte warna. Perintah pada baris 1, byte warna disimpan pada variabel b. Variable b diubah dalam bentuk string binary. Kemudian perintah pada baris 2 dibaca nilai paling akhir (LSB), yaitu pada indeks ke 7. Kode Program 3 Perintah Untuk Proses Compare 1. 2. 3. 4. 5. 6. 7. 8.
9.
Color[] a = EIS.ELSB.ReadColor(banding1); Color[] b = EIS.ELSB.ReadColor(banding2); int akhir = (a.Length > b.Length ? b.Length : a.Length); int total = Math.Abs(a.Length - b.Length); for (int i = 0; i < akhir; i++) { if (!a[i].Equals(b[i])) { total++; } } return total;
Kode Program 3 menjelaskan tahap proses compare. Perintah pada baris 1 dan 2 merupakan perintah yang digunakan untuk membaca warna yang terdapat pada masing-masing image. Kemudian perintah pada baris 3 menghitung selisih jumlah warna antara warna a dan b. Nilai selisih dibuat selalu positif (absolute) pada perintah baris 4. Perintah pada baris 5-7 dilakukan perbandingan warna pada
11
indeks yang sama dari kedua gambar. Jika terjadi perbedaan nilai, maka nilai total akan ditambahkan 1. Nilai total ini mencatat jumlah perbedaan yang ada. Sistem steganografi yang dibangun perlu diuji, untuk melihat apakah sudah sesuai dengan konsep steganografi. Beberapa pengujian yang dilakukan dijelaskan sebagai berikut. Tabel 1 Hasil Pengujian Proses Embedding dan Extracting Dengan Panjang Pesan (byte) yang Berbeda NO
Cover Image
Size
Dimensions
1 2 3 4 5
lena.png lena.png lena.png lena.png lena.png
785294 785294 785294 785294 785294
512x512 512x513 512x514 512x515 512x516
Panjang Pesan (byte) 10 byte 20 byte 30 byte 40 byte 50 byte
Embedding (millisecond) 745,04 933,05 1111,06 1309,07 1487,08
Extracting (millisecond) 444,03 454,05 461,13 472,03 483,06
Gambar 7 Grafik Hasil Pengujian Pengaruh Panjang Pesan (Byte) Terhadap Lama Waktu Proses Embbeding dan Extracting
Berdasarkan hasil pengujian pengaruh panjang pesan terhadap lama waktu proses embedding dan extracting pada Tabel 1 dan grafik pada Gambar 7, dapat disimpulkan bahwa panjang pesan (byte) mempengaruhi proses embedding dan proses extracting. semakin besar panjang pesan (byte), semakin lama waktu proses embedding dan proses extracting. Tabel 2 Hasil Pengujian Proses Embedding dan Extracting dengan Dimensi File yang Berbeda NO
Cover Image
Size
Dimensions
1 2 3 4 5
baboon.png baboon.png baboon.png baboon.png baboon.png
785294 785294 785294 785294 785294
64x64 128x128 256x256 512x515 1024x1024
Panjang Pesan (byte) 10 byte 10 byte 10 byte 10 byte 10 byte
12
Embedding (millisecond) 18 61 237,4 1689,12 4037,23
Extracting (millisecond) 12 47 133 1044,8 2654,7
Gambar 8 Grafik Hasil Ukuran Cover Image Terhadap Lama Waktu Proses Embedding dan Extracting
Berdasarkan hasil pengujian pengaruh ukuran cover image terhadap lama waktu proses embedding dan extracting pada Tabel 2 dan grafik pada Gambar 8, dapat disimpulkan bahwa ukuran cover image mempengaruhi proses embedding dan proses extracting. Semakin besar ukuran cover image, semakin lama proses embedding dan proses extracting. Tabel 3 Hasil Pengujian Proses Embedding dan Extracting Dengan Lokasi Penyisipan yang Berbeda Lokasi
Panjang
NO
Cover Image
Penyisipan
Dimension
Pesan
Embedding
Extracting
1 2 3 4 5
vegetables.png vegetables.png vegetables.png vegetables.png vegetables.png
0 dan 1 64 dan 65 128 dan 129 158 dan 159 200 dan 201
512x512 512x512 512x512 512x512 512x512
(byte) 10 10 10 10 10
(millisecond) 788,05 775,04 795,05 777,04 776,04
(millisecond) 442,5 453,3 478,2 479,9 494,1
Gambar 9 Grafik Hasil Pengaruh Lokasi Penyisipan Terhadap Lama Waktu Proses Embedding dan Extracting
Berdasarkan hasil pengujian pengaruh lokasi penyisipan terhadap lama waktu proses embedding dan extracting pada Tabel 3 dan grafik pada Gambar 9, dapat disimpulkan bahwa lokasi penyisipan tidak mempengaruhi proses embedding dan proses extracting.
13
Tabel 4 Hasil Pengujian Integritas (Keutuhan) File Pesan Sebelum dan Sesudah Disisipkan No
Nama File
Ukuran
1
10byte.txt
10 byte
2
20byte.txt
20 byte
3
10byte.txt
30 byte
4
20byte.txt
40 byte
5
10byte.txt
50 byte
MD5 Sebelum Embed
MD5 Sesudah Extract
e807f1fcf82d132f 9bb018ca6738a19f fd85e62d9beb4542 8771ec688418b271 a46857f0ecc21f0a 06ea434b94d9cf1d f5bf3e984432ae6f 9f98840951e5cef3 fb46ea63c015ee69 0bd3f2e50a461296
e807f1fcf82d132f 9bb018ca6738a19f fd85e62d9beb4542 8771ec688418b271 a46857f0ecc21f0a 06ea434b94d9cf1d f5bf3e984432ae6f 9f98840951e5cef3 fb46ea63c015ee69 0bd3f2e50a461296
Kesimpulan Utuh Utuh Utuh Utuh Utuh
Berdasarkan hasil pengujian integritas (keutuhan) file pesan sebelum dan sesudah disisipkan pada Tabel 4, dapat disimpulkan bahwa tidak terjadi perubahan pesan. Pesan yang sebelum disisipkan, dengan pesan hasil ekstrak memiliki isi yang sama (utuh). Tabel 5 Hasil Pengujian Pengaruh Panjang Pesan Terhadap Banyaknya Pixel yang Berubah NO
Cover Image
Embedded Image
Size
Dimensions
1 2 3 4 5
lena.png lena.png lena.png lena.png lena.png
lena1.png lena2.png lena3.png lena4.png lena5.png
785294 785294 785294 785294 785294
512x512 512x513 512x514 512x515 512x516
Panjang Pesan (byte) 10 byte 20 byte 30 byte 40 byte 50 byte
Perbedaan Pixel 74 120 165 209 253
Gambar 10 Hasil Pengaruh Panjang Pesan Terhadap Banyaknya Pixel yang Berubah
Berdasarkan hasil pengujian pengaruh panjang pesan terhadap banyaknya pixel yang berubah pada Tabel 5 dan Gambar 10, dapat disimpulkan bahwa panjang pesan (byte) mempengaruhi perbedaan pixel atau banyaknya pixel yang berubah. Semakin besar panjang pesan (byte), semakin besar banyaknya pixel yang berubah.
14
Tabel 6 Hasil Pengujian Perbedaan Susunan Warna Antara Gambar Asli Dengan Gambar Yang Telah Disisipkan NO
Cover Image
Embedded Image
Size
Dimensions
1 2 3 4 5
lena.png lena.png lena.png lena.png lena.png
lena1.png lena2.png lena3.png lena4.png lena5.png
785294 785294 785294 785294 785294
512x512 512x513 512x514 512x515 512x516
Panjang Pesan (byte) 10 byte 20 byte 30 byte 40 byte 50 byte
Gambar 11 Color Histogram Gambar Asli Cover Image (lena.png)
Gambar 12 Color Histogram Gambar Disisipi (lena1.png)
Gambar 13 Color Histogram Gambar Disisipi (lena2.png)
Gambar 14 Color Histogram Gambar Disisipi (lena3.png)
15
Gambar 15 Color Histogram Gambar Disisipi (lena4.png)
Gambar 16 Color Histogram Gambar Disisipi (lena5.png)
Berdasarkan hasil pengujian perbedaan susunan warna antara gambar asli dengan gambar yang telah disisipkan pada Tabel 6 dan grafik pada Gambar ke-11 sampai Gambar ke-16, dapat disimpulkan bahwa mean (rata-rata) nilai warna sama, jadi perbedaan susunan warna antara gambar asli dengan gambar yang telah disisipkan tidak ada. Pengujian penyisipan beberapa file dalam satu cover image dilakukan dengan tujuan untuk mengetahui apakah teknik LSB termodifikasi dalam pemilihan lokasi penyisipan memungkinkan satu cover dapat menyimpan beberapa file pesan sekaligus. Pengujian dilakukan dengan cara: 1) menyisipkan file pesan pertama ke dalam cover; 2) menyimpan file cover yang telah disisipi; 3) melakukan penyisipan dengan file cover yang telah disisipi untuk file pesan selanjutnya. Hasil Pengujian dapat dilihat pada Tabel 7. File cover yang digunakan adalah vegetables.png, dengan ukuran file 796474 byte, dimensi 512x512 (1.048.576 pixel). Tabel 7 Hasil Pengujian Penyisipan Beberapa File Dalam Satu Cover No
Nama File
Ukuran
Lokasi Penyisipan
1
10byte.txt
10 byte
226 dan 227
2
flower.png
1181 byte
0 dan 1
3
rose.gif
971 byte
38 dan 39
4
topsecret.ttf
170 byte
40 dan 41
5
pesan.pdf
27466 byte
254 dan 255
MD5 Sebelum Embed
MD5 Sesudah Extract
e807f1fcf82d132f 9bb018ca6738a19f 9e8c0f69e740649a 3203e637c16fe0e5 f827557b7b9347e6 64682d60134e565d 7f6b1ec2317f81ec f9c327998e1c8737 4c97766552c85a6a 5d5e247c04c5049a
e807f1fcf82d132f 9bb018ca6738a19f 9e8c0f69e740649a 3203e637c16fe0e5 f827557b7b9347e6 64682d60134e565d 7f6b1ec2317f81ec f9c327998e1c8737 4c97766552c85a6a 5d5e247c04c5049a
Kesimpulan Utuh Utuh Utuh Utuh Utuh
Berdasarkan hasil pengujian pada Tabel 7, dapat disimpulkan bahwa penyisipan dapat dilakukan beberapa kali pada file cover yang sama, dengan lokasi penyisipan yang berbeda. Berdasarkan semua pengujian yang telah dilakukan, diketahui bahwa proses extracting (ekstrasi) lebih cepat daripada embedding. Hal ini dikarenakan pada embedding terjadi proses membaca lokasi, menyisipkan, dan menyimpan sebagai gambar baru, sedangkan pada proses extracting, proses yang terjadi adalah 16
membaca lokasi penyisipan saja. Kecepatan proses embedding dan proses extracting, dipengaruhi oleh besarnya ukuran file yang disisipkan. Semakin besar ukuran file, semakin banyak pula bit yang harus disisipkan. Ukuran cover image mempengaruhi proses embedding dan proses extracting, semakin besar ukuran cover image, semakin lama proses embedding dan proses extracting. Besar kecil jumlah byte lokasi penyisipan tidak mempengaruhi proses embedding dan proses extracting. Integritas atau keutuhan file pesan yang sebelum disisipkan, dengan pesan hasil ekstrak memiliki isi yang sama (utuh), tidak terjadi perubahan dengan kata lain, file sebelum disisipkan dengan file hasil ekstrak adalah sama. Panjang pesan (byte) mempengaruhi perbedaan pixel atau banyaknya pixel yang berubah, semakin besar panjang pesan (byte), semakin besar pula banyaknya pixel yang berubah. File cover tidak mengalami perubahan warna yang signifikan, sehingga melalui uji perbandingan secara visual file cover sebelum dan sesudah penyisipan, tidak berbeda. Penyisipan dapat dilakukan beberapa kali pada file cover yang sama, dengan lokasi penyisipan yang berbeda. Hal ini menunjukkan bahwa metode yang digunakan berhasil menyembunyikan file pesan dengan baik dalam citra, dimana perubahan terhadap cover image tidak terlalu signifikan, sehingga tidak menimbulkan kecurigaan terhadap file tersebut. 5.
Simpulan
Berdasarkan hasil pembahasan dan pengujian yang telah dilakukan pada pembuatan aplikasi steganografi pada citra, dapat disimpulkan bahwa sistem steganografi yang dibangun menggunakan metode LSB termodifikasi dalam pemilihan byte penyisipan, dapat melakukan penyisipan (embedding) dan pengambilan (extracting) data, pada file cover berformat PNG. Ukuran file yang disisipkan mempengaruhi kecepatan proses embedding dan extracting, semakin besar file, semakin lama waktu proses. Besar kecil jumlah byte lokasi penyisipan tidak mempengaruhi proses embedding dan proses extracting. Secara visual, cover image tidak menunjukkan perbedaan yang mudah dikenali oleh mata manusia. Aplikasi dapat menjaga keutuhan (integrity) file yang disisipkan. Beberapa file pesan dapat disisipkan dalam satu file cover, namun pada lokasi byte penyisipan yang berbeda. Saran yang dapat diberikan untuk penelitian lebih lanjut adalah sebagai berikut: 1) Sistem memiliki fitur untuk mengijinkan pengguna dapat memilih lebih dari dua byte untuk penyisipan dengan range nilai yang tidak hanya berdekatan; 2) Sistem dapat memilih lokasi penyisipan secara otomatis berdasarkan besar ukuran file yang akan disisipkan. 6.
Daftar Pustaka
[1]
Munir, Rinaldi, 2006, Kriptografi Steganografi dan Watermarking, Bandung: Institut Teknologi Bandung. Sridevi, Damodaram, & Narasimham, 2009. Efficient Method of Audio Steganography by Modified LSB Algorithm and Strong Encryption Key with Enhanced Security, Hyderabad : Department of Computer Science and Engineering-JNTUH.
[2]
17
[3]
[4] [5]
Solsolay, 2012, Aplikasi Steganografi pada Citra Menggunakan Metode Least Significant Bit Termodifikasi dan RC6, Skripsi. Fakultas Teknologi Informasi Universitas Kristen Satya Wacana. Arusbusman, Yusrian Roman, 2007, Image Steganografi, Jakarta: Universitas Gunadarma. Hasibuan, Zainal, A., 2007, Metodologi Penelitian Pada Bidang Ilmu Komputer Dan Teknologi Informasi : Konsep, Teknik, dan Aplikasi, Jakarta : Ilmu Komputer Universitas Indonesia.
18