Senin, 02 Januari 2012

Pengolahan citra mengenai Steganografi

Definisi Dasar
 
Pengolahan citra adalah salah satu cabang dari ilmu informatika. Pengolahan citra berkutat pada usaha untuk melakukan transformasi suatu citra /gambar menjadi citra lain dengan menggunakan teknik tertentu.
Citra adalah gambar dua dimensi yang dihasilkan dari gambar analog dua dimensi yang kontinu menjadi gambar diskrit melalui proses sampling. Gambar analog dibagi menjadi N baris dan M kolom sehingga menjadi gambar diskrit. Persilangan antara baris dan kolom tertentu disebut dengan piksel. Contohnya adalah gambar/titik diskrit pada baris n dan kolom m disebut dengan piksel [n,m]
Steganografi adalah seni dan ilmu menulis pesan tersembunyi atau menyembunyikan pesan dengan suatu cara sehingga selain si pengirim dan si penerima, tidak ada seorangpun yang mengetahui atau menyadari bahwa ada suatu pesan rahasia. Sebaliknya, kriptografi menyamarkan arti dari suatu pesan, tapi tidak menyembunyikan bahwa ada suatu pesan. Kata "steganografi" berasal dari bahasa Yunani steganos, yang artinya “tersembunyi atau terselubung”, dan graphein, “menulis”.
Pada umumnya, pesan steganografi muncul dengan rupa lain seperti gambar, artikel, daftar belanjaan, atau pesan-pesan lainnya. Pesan yang tertulis ini merupakan tulisan yang menyelubungi atau menutupi. Contohnya, suatu pesan bisa disembunyikan dengan menggunakan tinta yang tidak terlihat di antara garis-garis yang kelihatan.
Teknik steganografi meliputi banyak sekali metode komunikasi untuk menyembunyikan pesan rahasia (teks atau gambar) di dalam berkas-berkas lain yang mengandung teks, image, bahkan audio tanpa menunjukkan ciri-ciri perubahan yang nyata atau terlihat dalam kualitas dan struktur dari berkas semula. Metode ini termasuk tinta yang tidak tampak, microdots, pengaturan kata, tanda tangan digital, jalur tersembunyi dan komunikasi spektrum lebar.
Tujuan dari steganografi adalah merahasiakan atau menyembunyikan keberadaan dari sebuah pesan tersembunyi atau sebuah informasi. Dalam prakteknya, kebanyakan pesan disembunyikan dengan membuat perubahan tipis terhadap data digital lain yang isinya tidak akan menarik perhatian dari penyerang potensial, sebagai contoh sebuah gambar yang terlihat tidak berbahaya. Perubahan ini bergantung pada kunci (sama pada kriptografi) dan pesan untuk disembunyikan. Orang yang menerima gambar kemudian dapat menyimpulkan informasi terselubung dengan cara mengganti kunci yang benar ke dalam algoritma yang digunakan.
Pada metode steganografi cara ini sangat berguna jika digunakan pada cara steganografi komputer karena banyak format berkas digital yang dapat dijadikan media untuk menyembunyikan pesan. Format yang biasa digunakan di antaranya:
  • Format image : bitmap (bmp), gif, pcx, jpeg, dll.
  • Format audio : wav, voc, mp3, dll.
  • Format lain : teks file, html, pdf, dll.
Kelebihan steganografi jika dibandingkan dengan kriptografi adalah pesan-pesannya tidak menarik perhatian orang lain. Pesan-pesan berkode dalam kriptografi yang tidak disembunyikan, walaupun tidak dapat dipecahkan, akan menimbulkan kecurigaan. Seringkali, steganografi dan kriptografi digunakan secara bersamaan untuk menjamin keamanan pesan rahasianya. 

Sekarang saya akan membahas mengenai tugas yang saya buat, yaitu steganografi untuk menyembunyikan suatu gambar dalam gambar lain. Yang pertama harus dilakukan adalah membuat interface aplikasi dengan menggunakan matlab.  Berikut adalah desain interface aplikasi yang saya buat:





Selanjutnya kita harus menambahkan script agar interface diatas dapat berfungsi menjadi aplikasi steganografi.  Berikut adalah potongan script yang digunakan :

  • Script untuk memilih image:
function btnstego_Callback(hObject, eventdata, handles)
% hObject    handle to btnstego (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

proyek=guidata(gcbo);
I=get(proyek.GbrAsli,'Userdata');
pesan=get(proyek.listbox1,'Userdata');

pesan=[pesan 'QQQQ'];
teksbin=str2bin(pesan);
gbr2=stegolsb(I,teksbin);

set(proyek.figsisipan,'CurrentAxes',proyek.GbrStego);
set(imshow(gbr2));
set(proyek.GbrStego,'Userdata',gbr2);
  • Script untuk memilih simpan gambar:
function btnsimpangbr_Callback(hObject, eventdata, handles)
% hObject    handle to btnsimpangbr (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

proyek=guidata(gcbo);
[namafile,direktori]=uiputfile('*.bmp','Simpan Gambar');
gbr2=get(proyek.GbrStego,'UserData');
imwrite(gbr2,namafile);

  •  Script untuk memilih teks:
 function btnbukateks_Callback(hObject, eventdata, handles)
% hObject    handle to btnbukateks (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
proyek=guidata(gcbo);
[namafile,direktori]=uigetfile('*.txt','Buka Teks');

teks=fopen(namafile,'r');
charteks=fread(teks,'uint8=>char');
fclose(teks);
pesan=sprintf(charteks);

set(proyek.listbox1,'string',pesan);
set(proyek.listbox1,'Userdata',pesan);
 

 Cara Pengoperasian Program tersebut :
  •  Pilih button buka gambar setelah itu pilih gambar yang di inginkan seperti gambar dibawah ini : 
 
  •   Pilih button buka teks setelah itu pilih teks yang di inginkan seperti gambar dibawah ini :

  • Pilih button stego setelah maka gambar telah disisipkan sebuah file yang berbentuk .txt . seperti gambar dibawah ini akan menunjukan hasil stegonya :


sumber : Cepat Mahir GUI Matlab + Studi Kasus
penulis :  Erick Paulus & Yessica Nataliani
penerbit : Andi Publisher

Read More.. Read More..