STEGANOGRAFI DALAM GAMBAR
BEREKSTENSI BMP MENGGUNAKAN
METODE CHAOTIC LEAST SIGNIFICANT BIT
Yessica Nataliani1), Hendro Steven Tampake2), Robert Sebastian3)
1
Program Studi Sistem Informasi 2,3
Program Studi Teknik Informatika
Fakultas Teknologi Informasi Universitas Kristen Satya Wacana JL. Diponegoro 52-60, Salatiga 50711, Indonesia
Telp./Fax. (0298) 3419240
E-mail: yessica_24@yahoo.com1), hendro.steven@gmail.com2), robert.sebastian86@yahoo.com3)
Abstract
Perkembangan teknologi memungkinkan terkoneksinya hampir semua komputer di dunia. Koneksi ini memudahkan pertukaran informasi. Untuk melindungi informasi, digunakan teknik steganografi. Teknik ini akan menyembunyikan data ke data lain. Dengan menggunakan metode Chaotic Least Significant Bit, file data dapat disembunyikan di balik file lain (file cover). Metode ini akan menyembunyikan bit-bit dari file data dalam bit terakhir pada file cover secara acak dengan pola yang diambil dari rumus Logistic Map. Untuk proses penyembunyian file, input berupa file rahasia, file cover, nilai x0, dan nilai r, sedangkan outputnya adalah file stegoimage dan file kunci. Untuk proses pengambilan file, input berupa file stegoimage dan file kunci, sedangkan output berupa file rahasia. Dari penelitian ini dapat disimpulkan bahwa file rahasia dapat disembunyikan dan kemudian didapatkan kembali dari file cover tanpa adanya perubahan isi file data.
Keywords: Steganography, Chaos, Least Significant Bit, Logistic Map
1. PENDAHULUAN
Perkembangan teknologi komputer saat ini sudah sangat cepat. Teknologi ini telah membuat hampir semua komputer di dunia dapat saling berhubungan. Dalam hubungan inilah terjadi pertukaran informasi-informasi penting. Dengan demikian saat ini keamanan data sudah dianggap sangat penting. Apalagi untuk data yang berada di dalam jaringan publik. Keamanan data tersebut dapat diberikan dengan menggunakan kriptografi atau steganografi. Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan. Biasanya kriptografi menjadikan pesan tersebut menjadi tidak mempunyai arti bila dilihat dengan cara biasa. Sedangkan steganografi adalah ilmu atau seni menyembunyikan pesan rahasia dalam pesan atau media lain, sehingga keberadaan pesan tersebut tidak diketahui.
Steganografi merupakan salah satu teknik dari
information hiding, yaitu menyembunyikan pesan ke dalam pesan lainnya. Media dalam penyimpanan pesan tersebut dapat berupa gambar atau citra. Pesan yang akan disembunyi-kan adisembunyi-kan diambil nilai binernya dan adisembunyi-kan disisipkan ke dalam nilai biner dalam file
gambar. Oleh karena perubahan yang terjadi sangatlah kecil, sehingga tidak akan terdeteksi dengan mudah oleh mata telanjang manusia.
Dengan pertimbangan kelebihan dari penyimpanan menggunakan gambar, maka akan dirancang suatu aplikasi yang dapat digunakan untuk menyembunyikan suatu data rahasia di dalam sebuah gambar. Metode yang akan digunakan dalam aplikasi ini adalah metode
ChaoticLeastSignificantBit dan file penampung berupa gambar dengan format BMP 24 bit.
2. KAJIAN PUSTAKA
2.1Steganografi
media gambar ini menggunakan keterbatasan
mata manusia terhadap penurunan atau perubah-an yperubah-ang kecil pada media gambar tersebut, sehingga orang yang tidak berkepentingan akan sangat sulit membedakan antara gambar yang asli (cover image) dengan gambar yang telah disisipi file atau informasi rahasia (stego image). Bagan steganografi dapat dilihat pada Gambar 1.
Gambar 1. Bagan Steganografi
Kriteria dari steganografi yang bagus adalah (1)
Imperceptible, yaitu keberadaan pesan rahasia tidak dapat dipersepsi; (2) Fidelity, yaitu mutu
cover-object tidak jauh berubah akibat
embedded; (3) Robustness, yaitu data yang disembunyikan harus tahan terhadap manipulasi yang dilakukan pada cover object; dan (4)
Recovery, yaitu data yang disembunyikan harus dapat diungkapkan kembali [2].
2.2 ChaosSystem dan Logistic Map
Chaos system merupakan tingkah laku dari sebuah sistem dinamik, yaitu sistem yang berkembang sejalan dengan waktu, dimana hasil dinamik dari sistem tersebut akan sangat sensitif terhadap inisialisasi awal. Sebagai hasil dari sangat sensitifnya sistem chaos ini, maka hasil dari sistem chaos ini terlihat sebagai bilangan
random, sehingga sistem chaos ini dapat digunakan sebagai pembangkit sebuah bilangan acak. Sistem chaos yang digunakan pada penelitian ini adalah Logistic Map.
Logistic Map merupakan metode yang paling sederhana dan cukup efektif di dalam Chaos
sistem. Logistic Map ini dipopulerkan oleh seorang ahli biologi bernama Robert May pada tahun 1976 sebagai bagian dari persamaan
logistic model demografi analog yang pertama kali diciptakan oleh Pierre François Verhulst.
Secara matematis rumus Logistic Map dapat ditulis sebagai berikut:
Xn + 1 = r . Xn (1 – Xn) (1)
dimana:
xn: angka di antara nol dan satu, dan
merepresentasikan populasi tahun ke-n, dengan x0 merepresentasikan populasi awal.
r : bilangan positif dan merepresentasikan tingkat penggabungan antara reproduksi dan kelaparan [3].
2.3Algoritma Chaotic Least Significant Bit
Least Significant Bit (LSB) merupakan salah satu metode dalam steganografi. Cara kerja dari metode ini adalah melakukan penggantian bit terakhir dari rangkaian bit file cover. Gambar 2 akan memperlihatkan cara kerja dari LSB.
Gambar 2 Penerapan LSB
Dari metode LSB inilah dapat dibedakan menjadi dua metode turunannya. Untuk yang pertama adalah metode Sekuensial Least Significant Bit, dimana bit dari file rahasia dimasukkan ke dalam bit-bit terakhir dalam bit cover image secara urut. Yang kedua adalah metode Random Least Significant Bit, dimana penggantian bit dilakukan dengan cara random, yang di dalamnya termasuk Chaotic Least Significant Bit (Chaotic LSB). Akan tetapi, pada Chaotic LSB ini, random yang akan digunakan adalah bilangan random yang memiliki pola tertentu dan akan sangat dipengaruhi oleh nilai mula-mula, sehingga meskipun orang yang tidak berkepentingan tahu bahwa di dalam file cover image tersebut terdapat file rahasia, orang tersebut akan kesulitan mengambil bit dari file
rahasia tersebut karena tidak mengetahui secara pasti bit-bit mana yang telah diganti. Metode ini akan mengganti tiap bit terakhir dari tiap bytefile coverimage.
Misalnya terdapat file cover image dengan susunan bit sebagai berikut:
10001010 10010111 10011110 10100001 01101000 01011100 00101100 01011010 01011101
Apabila ke dalam bit-bit tersebut akan disembunyikan sebuah huruf A dengan representasi bit 01000001, maka sebelum bit-bit dari huruf A tersebut disembunyikan, posisi penyembunyian bit tersebut akan diacak sedemikian rupa dengan menggunakan Chaos System, yaitu rumus Logistic Map. Dimisalkan menggunakan nilai r = 3,99 dan nilai X0 = 0,5.
Dengan menggunakan rumus dari Logistic Map tersebut, maka akan mendapatkan perhitungan seperti terlihat pada Tabel 1.
Cover
Image File rahasia
Stego Image
Tabel 1. Perhitungan Logistic Map
Dari hasil perhitungan tersebut, nilai X dikalikan dengan jumlah bit yang dapat digunakan untuk penyembunyian data (pada contoh ini adalah sembilan) dan akan mendapatkan hasil seperti terlihat pada Tabel 2.
Tabel 2. Perhitungan Lokasi Penyembunyian Bit
X X * 9 Pem-
Karena banyaknya bit pada contoh adalah sembilan, maka hasil perhitungan dari rumus
Logistic Map tersebut dikalikan dengan sembilan dan dilakukan pembulatan. Kemudian jika terdapat letak bit yang sama, maka akan dilakukan penggeseran bit ke posisi selanjutnya sampai ditemukan bit yang kosong. Penyembunyian bit akan dimulai dari bit yang paling akhir, sehingga bit dari cover image
tersebut akan menjadi seperti ini:
10001010(X2)
Terlihat bit-bit terakhir dari tiap byte file image cover tersebut telah disembunyikan bit dari huruf A tersebut, dimana angka di dalam kurung tersebut adalah urutan posisi penyembunyian bit dari huruf A. Terlihat juga terdapat bit yang tidak berubah, hal ini disebabkan karena bit file rahasia hanya terdiri dari delapan bit, sehingga bit dari
file cover akan tersisa satu. Dari contoh, jika orang lain berusaha mengambil bit-bit dari file
yang disembunyikan tanpa mengetahui kunci
yang sesuai maka tidak akan mendapat-kan bit yang sama dengan file aslinya.
3. METODE PERANCANGAN
Aplikasi steganografi menggunakan metode Chaotic Least Significant Bit ini dibuat untuk memenuhi kebutuhan sebagai berikut:
1. Dapat melakukan penyembunyian file
rahasia pada file cover image yang berformat bitmap.
2. Dapat melakukan proses pengambilan file
rahasia yang terdapat di dalam stego image
dan file rahasia tersebut dapat kembali ke dalam format sebelumnya.
3. Melakukan proses penyembunyian data dengan sebisa mungkin tidak merusak file coverimage.
Di dalam perancangan ini terdapat dua proses utama pada sistem yang akan dibangun, yaitu proses penyembunyian dan proses pengambilan. Proses penyembunyian akan menyembunyikan
file rahasia pada cover image dan menghasilkan
filestego image yang kualitas gambarnya hampir sama dengan cover image asli dan filestegokey
berupa file teks yang berisi nilai X0 dan r.
Proses pengambilan akan membaca file stego image dan file stego key sehingga dapat menghasilkan kembali file rahasia yang tersembunyi pada gambar cover tanpa ada kerusakan data.
Gambar 3. Diagram Konteks Sistem Stegano
Gambar 3 menunjukkan diagram konteks sistem stegano yang berinteraksi dengan sebuah entitas eksternal yaitu user yang memberikan masukan kepada sistem. User memasukkan input berupa
file cover image, file rahasia, file stego image dan
file stego key kepada Stegano system. Sistem akan memberikan output berupa hasil stego image, hasil stegokey dan hasil pengambilan file.
Gambar 4. DFD Level 1
Pada proses penyembunyian, user harus memasukkan file cover image dan file rahasia terlebih dahulu dan jika proses telah selesai, maka user akan mendapatkan file stego image
dan file stego key. Sedangkan untuk proses pengambilan, user harus memasukkan filestego image dan file stego key. Jjika proses telah selesai maka user akan mendapatkan file rahasia kembali.
Proses penyembunyian dan proses pengambilan pada DFD level 1 dapat dipecah lagi menjadi beberapa proses seperti yang dapat dilihat pada Gambar 5 dan 6.
Gambar 5. DFD Level 2 Proses Penyembunyian
Untuk proses penyembunyian, akan dimulai dengan pengecekan file input, yaitu file cover image dan file rahasia. Apabila file coverimage
dan file rahasia telah memenuhi syarat, maka kedua file tersebut akan dikirimkan menuju proses penyembunyian data. Selanjutnya sistem akan melakukan proses penyembunyian data dari
file rahasia tersebut ke dalam file cover image
dan akan menghasilkan filestegoimage dan file
stego key. Kedua hasil tersebut akan dikirimkan kembali kepada user.
Gambar 6. DFD Level 2 Proses Pengambilan
Gambar 6 menjelaskan DFD level 2 dari proses pengambilan file rahasia. Pada proses pengambilan, pertama-tama akan dicek terlebih dahulu file stego image dan file stego key. Kemudian kedua file tersebut dikirimkan ke proses pengambilan file. Sistem akan melaku-kan pengambilan file rahasia pada file stego image
tersebut. Setelah proses pengambilan selesai, maka akan didapatkan file rahasia yang terdapat pada file stego image. Kemudian sistem akan mengirimkan file rahasia hasil pengambil-an tersebut kepada user.
4. IMPLEMENTASI PERANGKAT LUNAK
Sebuah aplikasi yang baik harus mudah digunakan oleh user atau yang biasa dikenal dengan sebutan userfriendly. User dapat dengan mudah mengoperasikan aplikasi tanpa harus mengalami kebingungan di dalam pengoperasiannya. Dalam perancangan aplikasi ini akan digunakan lima buah form, yaitu (1)
Form Login, yang akan muncul pertama kali pada saat program dijalankan. Form ini berfungsi sebagai proteksi program agar tidak dapat digunakan oleh sebarang user; (2) FormChoose, yang merupakan form utama di dalam aplikasi ini. Dari form inilah user dapat memilih fungsi-fungsi dari aplikasi ini. Di dalam form ini terdapat empat buah tombol yang akan berfungsi sebagai penghantar menuju ke form lainnya; (3)
Form Stegano, yang merupakan tempat memproses penyembunyian file rahasia di dalam gambar. Pada form ini user akan diminta untuk memilih file cover image yang akan digunakan dan memilih file rahasia yang akan disembunyikan; (4) Form Extraction, yang merupakan tempat proses pengambilan file
rahasia dari filestegoimage. Pada form ini user
akan diminta untuk memasukkan filestegoimage
image tidak dapat diproses; dan (5) FormAbout,
yangmenampilkan informasi tentang aplikasi.
4.1 Login
Pada bagian ini user akan diminta terlebih dahulu memasukkan user dan password.
Gambar 7. Tampilan Login
Jika user tidak dapat memasukkan user dan
password dengan benar maka aplikasi ini tidak dapat dijalankan
4.2 Pemilihan Proses
Pada bagian ini, user dapat memilih proses mana yang akan dilakukan. Terdapat empat tombol yang masing-masing akan mengantarkan user ke bagian yang berbeda sesuai dengan pilihan dari
user.
Gambar 8. Tampilan Pemilihan Proses
Jika user menekan tombol Penyembunyian File, maka user akan menuju ke bagian Proses Penyembunyian. Kemudian tombol Pengambil-an File akan menuju ke Proses Pengambilan. Tombol Ganti Password digunakan untuk mengganti password yang sudah terekam di
database Tombol Tentang Program akan memberitahukan user tentang aplikasi ini. Sedangkan tombol Keluar akan membuat user
keluar dari aplikasi ini.
4.3 Proses Penyembunyian
Bagian proses penyembunyian file rahasia merupakan proses penyembunyian data di dalam
sebuah file gambar. Pada bagian ini user akan diminta untuk memasukkan filecoverimage, file
rahasia yang akan disembunyikan, dan menentukan nilai X0 dan r yang akan digunakan.
Gambar 9. Tampilan Penyembunyian File Rahasia
Setelah tombol Mulai Proses Stegano, maka aplikasi akan mulai memproses penyembunyian bit-bit dari file rahasia ke dalam filecover image. Proses ini akan dimulai dengan menyimpan byte
-byte dari file cover image dan file rahasia. Aplikasi akan mulai membaca byte dari filecover image dan file rahasia. Untuk byte dari filecover image akan dibaca setelah byte yang ke-70. Hal ini dilakukan karena 54 byte pertama dari file cover merupakan file header yang berupa informasi gambar dan byte ke-55 sampai byte ke-70 akan digunakan untuk menyimpan informasi dari file rahasia.
Proses dilanjutkan dengan membuat sebuah bilangan random untuk digunakan sebagai posisi penyimpanan bit dari file rahasia di dalam file cover. Pembuatan bilangan random ini akan menggunakan fungsi chaos dari rumus Logistic Map. Untuk mula-mula akan diambil terlebih dahulu nilai X0 dan nilai r yang tersimpan
sebagai file kunci. Nilai-nilai tersebut akan dimasukkan ke dalam rumus dari LogisticMap. Hasil dari perhitungan rumus Logistic Map itulah yang kemudian akan dikalikan dengan banyak lokasi piksel yang dapat digunakan, sehingga didapatkan lokasi penyembunyian bit yang disimpan di database.
Proses berlanjut dengan penyisipan bit file
rahasia di dalam file cover image. Jika ternyata bit yang akan disimpan sudah pernah diisi, maka bit selanjutnya yang akan disimpan. Proses ini akan memakan waktu sesuai dengan besarnya
file rahasia yang disembunyikan. Semakin besar
maka akan ditunjukkan lamanya waktu proses
dari penyembunyian tersebut. Gambar hasil proses penyembunyian akan diperlihatkan di bagian PictureBox kanan.
4.4 Proses Pengambilan
Proses ini merupakan kebalikan dari proses penyembunyian file rahasia. Proses ini akan mengambil kembali bit-bit dari file rahasia di dalam file stego image dan akan mengubahnya menjadi bentuk byte kembali sehingga dapat menghasilkan kembali file rahasia yang telah disimpan.
Gambar 10. Tampilan Pengambilan File Rahasia
Proses ini akan dimulai dengan user
memasukkan file stego image yang telah berisi
file rahasia dan file kunci dari file stego image
tersebut. Jika user tidak dapat memasukkan file
kunci atau file kunci tersebut tidak sesuai, maka
file rahasia tersebut tidak dapat diambil kembali. Hal ini dilakukan agar file rahasia tersebut tidak dapat diambil oleh orang yang tidak berhak atas
file rahasia tersebut.
Setelah file stego image dan file kunci telah dimasukkan dengan benar, maka aplikasi akan mulai membaca byte-byte dari file stego image
dan akan mengubahnya menjadi bentuk biner. Setelah bit data terbentuk, maka aplikasi akan mengecek apakah di dalam file stego image
tersebut berisi file rahasia yang berasal dari aplikasi ini atau tidak, yaitu dengan mengecek dua byte yang terletak antara byte 60 dan ke-70, dimana dua byte tersebut sudah ditentukan sebagai pengenal bahwa file stego image yang dimasukkan benar-benar dari aplikasi ini. Jika benar di dalam file stego image tersebut terdapat
file rahasia yang berasal dari aplikasi ini, maka akan dilanjutkan dengan mengambil informasi
file rahasia dari file stego image. Kemudian dilanjutkan dengan melakukan pengambilan tipe data dari file rahasia tersebut dari file stego image. Proses dilanjutkan dengan membaca isi dari file kunci yang terdiri dari nilai X0 dan r. Sama seperti pada proses penyembunyian, nilai
X0 dan r diproses dengan menggunakan rumus
Logistic Map sehingga letak dari bit-bit yang disembunyikan dapat diketahui. Proses akan
dilanjutkan dengan mencari dan mengambil letak bit yang disembunyikan tersebut sesuai dengan isi dari file kunci. Kemudian proses akan dilanjutkan dengan menuliskan byte-byte dari file
rahasia menjadi sebuah file di lokasi yang telah ditentukan. Setelah penulisan dari file rahasia selesai, maka proses pengambilan file rahasia telah selesai.
5. PENGUJIAN
Setelah implementasi dalam bentuk aplikasi, maka akan dilakukan pengujian terhadap aplikasi secara keseluruhan. Pengujian aplikasi ini akan menggunakan file rahasia dengan tujuh jenis file
yang berbeda yang akan diuji apakah file tersebut dapat disembunyikan dan diambil kembali tanpa mengalami kerusakan data, yaitu 1084.bmp, Abstract_wallpaper.jpg, lowongan_rekdek.ppt, PETUNJUK LENGKAP.doc, readme.txt, Rencana Rubrik 2006.xls, usa_map_large.gif..
Terdapat dua coverimage yang digunakan untuk pengujian ini yaitu DSC_6256_1600x1200.bmp dengan resolusi sebesar 1600x1200 piksel dan besar file adalah 5.49 MB (5,760,056 bytes) dan DSC_1927_1024x768.bmp dengan resolusi sebesar 1024x768 piksel dan besar file adalah 2.25 MB (2,359,352 bytes), sedangkan file
rahasia yang akan disembunyikan adalah sebagai berikut
5.1Pengujian File dapat Kembali Seperti Semula
Untuk pengujian file dapat kembali seperti semula digunakan dua buah file yaitu file
readme.txt dan Abstract_wallpaper.jpg. Kedua
file tersebut akan dibandingkan apakah mengalami perubahan isi atau data setelah dilakukan proses penyembunyian dan proses pengambilan. Hasil perbandingan kedua file
tersebut dapat dilihat pada Tabel 3.
Tabel 3. Perbandingan Isi File
5.2Pengujian Perbandingan Waktu Proses
Pengujian kedua yang dilakukan adalah membandingkan waktu proses antar ukuran file
rahasia dan juga antar ukuran file cover. Tujuh
file rahasia tersebut akan disembunyikan di dalam dua buah cover image, kemudian akan dibandingkan apakah terdapat perbedaan waktu antara penyembunyian file rahasia dan pengambilan file rahasia dengan cover image
yang berbeda. Hasil pengujian dari masing-masing file dapat dilihat pada Tabel 4. Tabel 4a memperlihatkan tujuh nama file rahasia beserta ukurannya dalam byte. Sedangkan Tabel 4b memperlihatkan waktu penyembunyian dan waktu pengambilan masing-masing file rahasia dengan menggunakan dua file cover image yang berbeda dalam milidetik (milisecond = ms)..
Tabel 4. Tabel Pengujian File
a. Nama File Rahasia dan Ukuran File
Nama File Ukuran File
(bytes)
1084.bmp 112,950
Abstract_wallpaper.jpg 92,847 lowongan_rekdek.ppt 59,392
PETUNJUK LENGKAP.doc 60,416
readme.txt 14,283 Rencana Rubrik 2006.xls 20,480
usa_map_large.gif 98,394
b. Waktu Penyembunyian dan Waktu Pengambilan dengan Dua Cover Image yang Berbeda
DSC_6256_1600x1200.bmp DSC_1927_1024x768.bmp
26862 685 95165 706
5083 479 22395 434
5368 452 23698 536
137 118 185 118 220 116 560 161
33776 763 118831 764
Dari Tabel 4 dapat dilihat bahwa semakin besar
file rahasia yang disembunyikan, maka waktu proses juga akan semakin lama. Hal ini dikarenakan bit-bit yang disembunyikan semakin banyak. Besar file dengan waktu proses akan berbanding lurus. File rahasia dengan ukuran yang sama, tetapi menggunakan filecover image
yang berbeda akan mengalami perbedaan waktu
proses juga. Semakin besar file cover image, maka waktu proses akan semakin singkat, hal ini dikarenakan lokasi penyembunyian bit semakin banyak. Untuk besar file dan waktu proses akan berbanding terbalik. Sedangkan untuk proses pengambilan file tidak mengalami perbedaan yang banyak, hal ini disebabkan karena aplikasi hanya melakukan pengambilan bit menurut isi dari file kunci dan mengubahnya menjadi file
rahasia.
Untuk perbedaan kualitas dari file cover image
dan stego image tidak mengalami penurunan kualitas bila dilihat dengan mata biasa. Seperti yang dapat dilihat pada Gambar 12 (a) dan (b).
(a) (b)
Gambar 12 (a) Cover Image dan (b) Stego Image
Sedangkan untuk ukuran, file cover image dan
file stego image tidak mengalami perubahan karena aplikasi hanya melakukan penggantian bit terakhir dari file cover, bukan melakukan penambahan bit.
6. SIMPULAN
Setelah melakukan percobaan, maka dapat diambil beberapa kesimpulan sebagai berikut: penyembunyian file rahasia menggunakan steganografi dengan metode Chaotic Least Significant Bit dapat menyembunyikan file
rahasia di dalam file cover image dengan baik dan dari file stego image tersebut, file rahasia dapat diambil kembali tanpa mengalami kerusakan atau perubahan isi. Semakin besar file
rahasia maka waktu proses juga akan semakin lama, karena bit-bit yang disembunyikan semakin banyak. Semakin besar filecover image, maka waktu proses akan semakin kecil, karena lokasi penyembunyian semakin banyak.
7. DAFTAR PUSTAKA
[1] Masaleno, A., 2005. Pengantar Steganografi. Available at: http://www. ilmukomputer.com. [Diakses tanggal 12 April 2009].
[2] Munir, R., 2006. Steganografi dan Watermarking. Available at: http://www. informatika.org/~rinaldi/Kriptografi/2005-2006/Steganografi%20dan%20
[3] Weisstein, E.W., 2006, Logistic Map,