Konsep Dasar Steganografi Menggunakan Algoritma Least Significant Bit (LSB)

Table of Contents
Merujuk ke Wikipedia, steganografi dapat diartikan dengan the practice of concealing a file, message, image, or video within another file, message, image, or video. Arti gampangnya begini, seni menyembunyikan data yang berupa file, pesan, gambar atau video ke dalam file, pesan, gambar atau video. Nama lain dari steganografi adalah data hiding (menyembunyikan data). 

Salah satu algoritma populer berkaitan dengan steganografi adalah least significant bit (LSB). LSB memiliki metode yang sederhana dalam menyisipkan data melalui gambar. Sesuai nama algoritma, cara kerjanya adalah dengan mengubah bit yang paling tidak signifikan. Maksud dari tidak signifikan adalah ketika bit itu diubah maka tidak memiliki dampak berarti pada gambar. Bit yang paling tidak significant diubah dan disesuaikan dengan bit pada data yang disisipkan. 

Sebagai ilustrasi untuk memudahkan pemahaman anda tentang signifikan tidaknya suatu bit, saya punya contoh begini, ada pixel 8 bit dengan nilai 1 0 1 0 1 0 1 0. Kalau diubah ke desimal, nilainya 170

1 ini bit yang paling signifikan (most significant bit)
0
1
0
1
0
1
0 ini bit yang paling tidak significant (least significant bit)

Mengapa 1 pada awal bit 1 0 1 0 1 0 1 0 termasuk most significant bit? Karena jika 1 diganti dengan 0, maka menjadi 0 0 1 0 1 0 1 0, nilai desimalnya adalah 42. Awalnya 170 berubah ke 42. Tentu ini menjadikan perubahan yang mencolok pada pixel gambar. Atau bahkan gambar bisa rusak. Ujung-ujungnya, gambar dengan mudah dideteksi telah disisipi pesan rahasia.

Sebaliknya, mengapa 0 pada akhir bit 1 0 1 0 1 0 1 0 termasuk least significant bit? Jika 0 diganti 1, maka menjadi 1 0 1 0 1 0 1 1, nilai desimalnya adalah 171. Awalnya 170 berubah ke 171. Tidak terlalu mencolok, bukan? Artinya, akhir setiap bit bisa disimpulkan sebagai bit yang tidak terlalu berarti. Jika disisipi pesan pun, tidak kentara.

Mari dipraktikkan!

Ada sebuah gambar bernama Mansoura.bmp. Perubahan gambar dalam bentuk pixel ditunjukkan pada Gambar 1. 

Gambar 1. Pixel Mansoura.bmp

Pesan yang akan disisipkan simpel saja. Yaitu huruf "A". "A" memiliki kode ASCII 65. Diubah ke biner menghasilkan bit 1000001.

Gambar 2. Mengubah pixel Mansoura.bmp dari desimal ke biner

Sesuai Gambar 2, pixel Mansoura.bmp yang tadinya berbentuk desimal diubah ke biner 8 bit. Perhatikan bit dari pesan "A", bit 1000001 akan dipecah satu per satu. Lalu satuan bit disisipkan pada 8 byte pertama Mansoura.bmp. 8 Byte pertama itu ditunjukkan pada Gambar 3.

Gambar 3. 8 Byte pertama Mansoura.bmp

Hasil penyisipan pesan sesuai algoritma LSB begini:

10010000 menjadi 10010001
10011010 menjadi 10011010
10011100 menjadi 10011100
10010010 menjadi 10010010
10010110 menjadi 10010110
10011101 menjadi 10011100
10101111 menjadi 10101110
10100101 menjadi 10100101

Jika dikembalikan ke gambar. Penyisipan pesan "A" sekilas tidak mengubah bentuk keaslian gambar.  Bahkan mata normal tidak bisa mendeteksi perubahan gambar. Sebelum disisipkan pesan, walaupun setelah disisipkan pesan. Sebagaimana ditunjukkan pada Gambar 4.

Gambar 4. Mansoura.bmp: kiri sebelum disisipkan pesan, kanan setelah disisipkan pesan
Sekian, semoga bermanfaat. 

Post a Comment