December 11, 2006

Steganografi LSB

Filed under: programming

Akhirnya sempet dikerjain juga.. Dulu sempet pengen iseng ngerjain steganografi.. tapi malah enggak jadi2. Akhirnya ini gw jadiin tuga TK2 (Tugas Khusus 2), akhirnya beres juga, walaupun masih terbatas banget, baru bisa nyimpen teks doang.
Gw ceritain dikit soal steganografi n program yang gw buat

Steganografi adalah teknik yang digunakan untuk menyembunyikan informasi dengan cara menyamarkan informasi, sehingga orang-orang tidak menyadari adanya pesan rahasia yang tersimpan. Steganografi merupakan salah satu teknik dari information hiding, teknik lainnya adalah digital watermarking.
Teknik steganografi dengan metode LSB (Least Significant Bit) adalah teknik yang paling sering digunakan. Informasi yang akan disembunyikan akan diambil nilai binernya kemudian disisipkan pada LSB sederetan byte. Kelemahan dari metode LSB adalah besar pesan sangat tergantung dari media yang dipergunakan.
Semisalkan ada sebuah media berupa gambar yang akan disisipkan informasi rahasia. Media gambar yang mempunyai kedalaman 24 bit setiap pixel-nya terdiri atas susunan tiga warna merah, hijau dan biru (RGB) yang masing-masing disusun oleh bilangan 8 byte dari 0 sampai 255 dalam format biner dari 00000000 sampai 1111111.
Dengan menggunakan metode LSB, sebuah huruf dapat disisipkan dengan menggunakan tiga pixel gambar.
Contoh, akan disisipkan huruf A kedalam data
(10010101 11000101 00101010) –> piksel pertama (R, G ,B)
(00011100 10000110 01100110) –> piksel kedua (R, G ,B)
(10000111 10010100 00100010) –> piksel ketiga (R, G ,B)
Huruf A mempunyai representasi biner 01000001, sehingga bila disisipkan, data diatas akan berubah menjadi data
(10010100 11000101 00101010) –> piksel pertama (R, G ,B)
(00011100 10000110 01100110) –> piksel kedua (R, G ,B)
(10000110 10010100 00100011) –> piksel ketiga (R, G ,B)
Perubahan data tersebut tentu saja akan merubah warna pixel, tetapi karena perubahannya sangat sedikit, tidak akan disadari oleh mata manusia, sehingga seakan2 gambar yang disisipkan pesan tadi sama sekali tidak berubah.

Nah skrinsut program gw kayak gini bentuknya.
ini adalah skrisut pas sebelum dilakukan penyisipan pesan, input yang digunakan adalah awal piksel untuk penyisipan pesan dan metode yang digunakan.

skrinsut setelah dilakukan proses penyisipan pesan. Gambar yang di kanan adalah gambar yang telah disisipkan pesan

kemudian untuk melakukan ekstrak pesan, buka kembali gambar yang telah disisipkan pesan, masukkan nilai awal pixel dan metode yang digunakan untuk menyisipkan pesan. hasil dari pesan yang di ekstrak berada pada teks box berwarna abu2