1. BAB LSB
Algoritma Least
Significant Bit
(LSB)
Setelah bab ini berakhir, diharapkan pembaca
mendapatkan berbagai pengetahuan berikut dan mampu
mempraktikkannya.
Konsep Dasar Steganografi
Konsep Least Significant Bit (LSB)
Praktik membuat program sederhana Steganografi
menggunakan LSB
2. Pengertian Steganografi
Steganografi merupakan seni untuk menyembunyikan pesan di dalam media digital
sedemikian rupa sehingga orang lain tidak menyadari ada sesuatu pesan di dalam media
tersebut. Kata steganografi (steganography) berasal dari bahasa Yunani steganos yang berarti
“tersembunyi/terselubung” dan grephien “menulis” sehingga kurang lebih artinya “menulis
(tulisan) terselubung” (Sutoyo,dkk, 2009;244).
Least Significant Bit (LSB)
Menurut Agnes Aryasanti dan Mardi Hardjianto (2014) menyatakan bahwa metode
Least Significant Bit (LSB) merupakan metode metode yang tidak terlalu kompleks,
penyimpanan pesan pada cover object juga cukup besar. Dasar metode ini adalah bilangan
berbasis biner yaitu angka 0 dan 1, karena pada data digital merupakan susunan angka 0 dan 1
maka proses penerapannya menjadi mudah. Lebih lanjut metode ini berhubungan erat dengan
ukuran 1 bit dan ukuran 1 byte dimana 1 byte data terdiri dari 8 bit data dan bit pada posisi
paling kanan disebut dengan LSB. Steganografi dengan metode LSB diganti dengan bit yang
disembunyikan. Karena bit yang diganti hanya bit yang paling akhir, maka stego image yang
dihasilkan hampir sama persis dengan cover image nya.
Sedangkan menurut T. Adi Kurniawan (2014), menyatakan bahwa Least Significant Bit
(LSB) adalah bit-bit yang jika diubah tidak akan berpengaruh secara nyata terhadap kombinasi
warna yang dihasilkan oleh komponen warna pada gambar. Sehingga dapat disimpulkan bahwa
metode Least Significant Bit (LSB) merupakan metode yang menggubah bilangan biner pada
bit terakhir yang menghasilkan stego image yang hampir persis dengan cover image nya.
Gambar 1 Representasi Biner
3. Praktikum membuat program LSB menggunakan Matlab :
1. Siapkan program matlab di PC/Laptop anda masing-masing
2. Siapkan image : ‘absam.png’
3. Ketikkan skrip program di bawah ini :
clc;
clear all;
close all;
%masukkan pesan rahasia
Pesan = input('Masukkan Pesan [Maksimal 20 Karakter] : ', 's');
%jika panjang pesan > 20 maka yang diambil hanya 20 karakter saja
if length(Pesan) > 20, Pesan = Pesan(1:20), end;
%pesan teks dijadikan angka
Pesan=uint8(Pesan);
%hitung panjang pesan
panjang_Pesan = length(Pesan);
%baca citra penampung
citra=imread('absam.png');
%jika citra penampung RGB maka ubah dulu menjadi grayscale
if size(citra,3)==3
citra=rgb2gray(citra);
end
%ambil nilai baris dan kolom
[baris,kolom]=size(citra);
%matriks citra dijadikan 1 baris simpan ke dalam stego
stego=citra(:);
%convert pesan menjadi biner
bit_pesan=[];
for i=1:panjang_Pesan
biner=dec2bin(Pesan(i),8);
bit_pesan = [bit_pesan biner];
end
%ambil nilai panjang bit pesan
panjang_bit_pesan = length(bit_pesan);
%proses penyisipan pesan
for i=1:panjang_bit_pesan
%jika nilai piksel genap dan bit pesan = 1
if(mod(stego(i),2)==0) && (bit_pesan(i)=='1')
%ubah nilai stego
stego(i)=stego(i)+1;
end
%jika nilai piksel ganjil dan bit pesan = 0
if(mod(stego(i),2)==1) && (bit_pesan(i)=='0')
%ubah nilai stego
stego(i)=stego(i)-1;
end
end
%membentuk stego image berdasarkan proses pada variabel 'stego'
stego=reshape(stego,[baris kolom]);
%Tampilkan Cover Image dan Stego Image
figure(1); imshow(citra),title('Cover Image');
figure(2); imshow(stego), title('Stego Image');
4. 4. Eksekusi/Run Program anda maka menampilkan hasil sebagai berikut :
5. Ketikkan karakter pesan yang anda inginkan, tetapi dalam program ini baru dibatasi
maksimal 20 karakter, lalu tekan enter dan akan muncul tampilan Cover Image (Figure
1) dan Stego Image (Figure 2)
%Proses ekstraksi pesan
stego=stego(:);
bit_pesan=[];
for i=1:panjang_bit_pesan
%jika piksel stego genap maka bit pesan = 0
if mod(stego(i),2)==0,bit_pesan=[bit_pesan '0'];
end;
%jika piksel stego ganjil maka bit pesan = 1
if mod(stego(i),2)==1,bit_pesan=[bit_pesan '1'];
end;
end
Pesan=[];
%susun nilai biner menjadi 8 bit
for i=1:8:panjang_bit_pesan
%ubah nilai biner menjadi desimal
desimal=bin2dec(bit_pesan(i:i+7));
%ubah nilai desimal ke dalam bentuk karakter
Pesan=[Pesan char(desimal)];
end
%tampilkan pesan rahasia yang sudah diekstraksi
disp(['Hasil Ekstraksi Pesan = ', Pesan]);
5. 6. Perhatikan kedua gambar tesebut, nyaris tidak ada perbedaan antara Cover Image dan
Stego Image.
7. Kualitas algoritma steganografi, salah satunya adalah tidak adanya perbedaan secara
signifikan antara cover image dan stego image