Aplikasi Steganografi dengan metode LSB menggunakan bahasa C#

6
SAFETY MESSAGE - STEGANOGRAFI APPLICATION - By : Gabriel Erichson Marpaung

Transcript of Aplikasi Steganografi dengan metode LSB menggunakan bahasa C#

SAFETYMESSAGE

- STEGANOGRAFI APPLICATION -

By : Gabriel Erichson Marpaung

- APLIKASI STEGANOGRAFI -

Dengan menggunakan metode LSB(Least Significant Bit)

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”. Teknik steganografi meliputi beberapa metode

komunikasi untuk menyembunyikan pesan rahasia di dalam berkas - berkas lain yang mengandung teks, citra ,

maupun 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. Sumber : Wikipedia.

Perlu diketahui, bahwa steganografi dan kriptografi

merupakan 2 jenis teknik pengamanan data yang berbeda.

Hal ini sangat terlihat jelas pada hasil outputnya, yang

dimana pada teknik steganografi, hasil outputnya akan

memiliki kesan yang rapi atau hampir sama dengan bentuk

media penyembunyian aslinya sehingga tidak menghasilkan

kecurigaan terhadap penyembunyian pesan. Sedangkan

pada teknik kriptografi, hasil output yang disajikan memiliki

kesan "rusak" atau "berantakan" sehingga dapat

menimbulkan kesan aneh maupun curiga akan adanya

penyembunyian data. Steganografi dapat dikatakan sebagai

bentuk perkembangan dari kriptografi. Pada steganografi

dikenal beberapa istilah penting antara lain : 1. Message, merupakan data pesan yang akan disembunyikan. 2. Cover Image, merupakan gambar asli. 3. Carrier Image, merupakan gambar yang sudah disisipkan message di dalamnya. 4. Embedding (Encrypt), merupakan proses penyisipan message ke cover image. 5. Extracting (Decrypt), merupakan proses pengambilan data message dari carrier image.

Saat ini , pada umumnya ada beberapa algoritma yang digunakan pada teknik steganografi, antara lain

Least Significant Bit Insertion (LSB) , Algorithms and Transformation, Redundant Pattern Encoding dan Spread

Spectrum method. Masing - masing algoritma tersebut memiliki kelebihan dan kekurangannya masing - masing.

Untuk media steganografi juga macam - macam , antara lain steganografi pada text , steganografi pada gambar ,

steganografi pada audio dan lain-lain. Pada aplikasi "SAFETY MESSAGE" ini, teknik steganografi yang dibuat

menggunakan algoritma Least Significant Bit insertion atau yang dikenal dengan LSB. Metode LSB ini merupakan

metode yang digunakan untuk menyembunyikan pesan pada media digital. Contohnya, pada berkas image pesan

dapat disembunyikan dengan menggunakan cara menyisipkannya pada bit rendah atau bit yang paling kanan

(LSB) pada data pixel yang menyusun file tersebut. Pada berkas bitmap 24 bit, setiap pixel (titik) pada gambar

tersebut terdiri dari susunan tiga warna merah, hijau dan biru (RGB) yang masing-masing disusun oleh bilangan 8

bit (byte) dari 0 sampai 255 atau dengan format biner 00000000 sampai 11111111. Dengan demikian, pada setiap

pixel berkas bitmap 24 bit kita dapat menyisipkan 3 bit data. Jadi , pada aplikasi ini, terdapat dua buah media gambar yang digunakan. Gambar pertama digunakan

untuk menampung password dan gambar kedua digunakan untuk menampung pesan teks yang akan di

sembunyikan. Pada proses enkripsi nya, user akan memasukan dua buah gambar, kemudian mengisikan

password dan mengisikan pesan yang akan disembunyikan. Setelah semua data yang dibutuhkan diisi, maka

program akan menjalankan fungsi steganografi dan menghasilkan output dua buah gambar. Data gambar tersebut

akan otomatis disimpan di Drive D. Kemudian pada proses dekripsi pesan, user harus memasukan dua buah

gambar yang dihasilkan pada proses enkripsi di area picture box yang tersedia. Kemudian user harus mengisikan

password untuk mendkripsi pesan. Jika password yang diisikan user terdeteksi benar , maka program akan

otomatis mengeluarkan pesan yang disembunyikan. Namun, jika password yang diisikan salah, program akan

memberi user kesempatan untuk mengulang sebanyak tiga(3) kali, setelah itu , jika password masih juga salah,

maka data gambar tadi akan langsung otomatis terhapus dan komputer akan otomatis mati/Shutdown.

STEGANOGRAFIAPPLICATION1 Least Significant Bit(LSB)

- P R O S E S I N S T A L A S I -

Berikut urutan langkah - langkah proses penginstallan aplikasi ini :

1. Download file terkompresi dengan nama SafetyMessage.rar

2. Ekstrak semua file ke dalam satu folder.

3. Kemudian buka folder, dan klik dua kali pada file setup.exe

4. Akan muncul warning box instalasi aplikasi, klik button Install.

5. Tunggu hingga proses instalasi selesai.

6. Jika sudah selesai menginstall, aplikasi akan langsung berjalan.

Jika tidak, maka terjadi kesalahan dalam proses instalasi.

STEGANOGRAFIAPPLICATION2 Least Significant Bit(LSB)

- T U T O R I A L P R O G R A M -

Berikut ini merupakan tutorial penggunaan aplikasi ini

ertama, jalankan aplikasi terlebih dahulu. Kemudian,

Psebagai tampilan pertama akan muncul splash screen

yang dilanjutkan dengan form utama dari aplikasi ini.

Kemudian untuk melakukan proses steganografi, user harus

menekan tombol "ENCRYPTION" , kemudian tombol

"ENCRYPTION" akan berubah menjadi tombol "PROCESS" dan

textbox pengisian password akan aktif. Setelah itu user harus

mengisikan password pada textbox password. Jika textbox

sudah terisi, maka tombol "Browse" pada gambar pertama akan

aktif. Disini user harus memilih data gambar yang akan

digunakan untuk menyisipkan password yang diketikannya.

Adapun jumlah password yang diisikan minimal berjumlah

delapan karakter atau angka. Kemudian jika gambar pertama

sudah terpilih, dilanjutkan dengan pemilihan gambar kedua yang digunakan untuk menyisipkan pesan. Jika gambar kedua sudah terpilih, maka textbox

pengisian pesan akan aktif. Disini user akan menuliskan pesan

yang akan disembunyikan. Selain menuliskan pesan, user juga

dapat memilih pesan yang disisipkan melalui file .txt atau

notepad.txt dengan menekan link label berwarna merah yang

bertuliskan "Select .txt File from Directory". Jika pengisian pesan

yang akan disisipkan sudah selesai, tekan tombol "PROCESS"

untuk melakukan fungsi steganorafi. Jika tombol itu sudah

ditekan data gambar yang berisisipkan pesan dan password itu

akan secara otomatis disimpan di directory (D:)Berikut Code dengan bahasa C# untuk mengenkripsi :

public static Bitmap embedText(string text, Bitmap bmp) { State state = State.Hiding; int charIndex = 0; int charValue = 10;long pixelElementIndex = 0; int zeros = 0; int R = 0, G = 0, B = 0; for (int i = 0; i < bmp.Height; i++) { for (int j = 0; j < bmp.Width; j++) { Color pixel = bmp.GetPixel(j, i); R = pixel.R - pixel.R % 2; G = pixel.G - pixel.G % 2; B = pixel.B - pixel.B % 2; for (int n = 0; n < 3; n++) { if (pixelElementIndex % 8 == 0) { if (state == State.Filling_With_Zeros && zeros == 8) { if ((pixelElementIndex - 1) % 3 < 2) { bmp.SetPixel(j, i, Color.FromArgb(R, G, B)); } return bmp; } if (charIndex >= text.Length) { state = State.Filling_With_Zeros; } else { charValue = text[charIndex++]; } } switch (pixelElementIndex % 3) { case 0: { if (state == State.Hiding) { R += charValue % 2; charValue /= 2; } } break; case 1: { if (state == State.Hiding) { G += charValue % 2; charValue /= 2; } } break; case 2: { if (state == State.Hiding) { B += charValue % 2;charValue /= 2; } bmp.SetPixel(j, i, Color.FromArgb(R, G, B)); } break; } pixelElementIndex++;

if (state == State.Filling_With_Zeros) { zeros++; } } } } return bmp; }

STEGANOGRAFIAPPLICATION3 Least Significant Bit(LSB)

- T U T O R I A L P R O G R A M -

public static string extractPassword(Bitmap bmp_pass) { int colorUnitIndex_pass = 0; int charValue_pass = 0;

string extractedText = String.Empty; for (int i = 0; i < bmp_pass.Height; i++) { for (int j = 0; j < bmp_pass.Width; j++) { Color pixel = bmp_pass.GetPixel(j, i); for (int n = 0; n < 3; n++) { switch (colorUnitIndex_pass % 3) { case 0: { charValue_pass = charValue_pass * 2 + pixel.R % 2; } break; case 1: { charValue_pass = charValue_pass * 2 + pixel.G % 2; } break; case 2: { charValue_pass = charValue_pass * 2 + pixel.B % 2; } break; } colorUnitIndex_pass++; if (colorUnitIndex_pass % 8 == 0) { charValue_pass = reverseBits(charValue_pass); if (charValue_pass == 0) { return extractedText; } char c = (char)charValue_pass; extractedText += c.ToString(); } } } } return extractedText; }

public static int reverseBits(int n) { int result = 0; for (int i = 0; i < 8; I++) { result = result * 2 + n % 2; n /= 2; } return result; }

private void btnCancel_Click(object sender, EventArgs e) {

if (btnCancel.Text == "CANCEL") { clearText(); } else { this.Close(); } }

Deskripsi , merupkan proses untuk mengekstrak pesan yang

sebelumnya disisipkan didalam gambar pesan. pada proses ini,

pertama tekan tombol "DESCRYPTION" maka tombol itu akan

berubah menjadi tombol "PROCESS" dan halaman akan aktif.

Pertama, pilih gambar yang digunakan sebagai password,

kemudian pilih gambar yang digunakan untuk penyisipan pesan.

Selanjutnya, masukan password yang digunakan untuk mengambil

pesan pada textbox password. Selanjutnya tekan tombol

"PROCESS" untuk mengextract pesan. Pada saat mengextract

pesan, jika password benar, maka program akan mengextract

pesan kedalam textbox pesan. Namun, jika password yang

dimasukan salah, maka program akan menampilkan pesan

peringatan kesalahan. Pada program ini , pada proses descryption

kesalahan password masksimal tiga(3) kali. kemudian, jika user

salah mengisikan password lebih dari tiga(3) kali maka program

akan memunculkan peringatan kesalah sudah lebih dari tiga(3) kali,

kemudian seluruh data gambar yang digunakan pada proses

deskripso akan otomatis terhapus dari direktori dan komputer akan

otomatis ter-shutdown secara paksa.

STEGANOGRAFIAPPLICATION4 Least Significant Bit(LSB)

http://id.wikipedia.org/wiki/Steganografi

http://root-coder.blogspot.com/2014/09/pengertiancontohserta-perbedaan-dari.html

Referensi

STEGANOGRAFIAPPLICATION5 Least Significant Bit(LSB)

Link Download Aplikasi : http://www.4shared.com/rar/w9hLPokxce/KEMJAR5695.html