Senin, 18 Oktober 2010

steganografi dan contohnya

Steganografi




Steganografi adalah seni dan ilmu menulis atau menyembunyikan pesan tersembunyi 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 (steganografi) berasal dari bahasa Yunani steganos, yang artinya “tersembunyi atau terselubung”, dan graphein, “menulis”.

Kini, istilah steganografi termasuk penyembunyian data digital dalam file-file komputer. Contohnya, si pengirim mulai dengan file gambar biasa, lalu mengatur warna setiap pixel ke-100 untuk menyesuaikan suatu huruf dalam alphabet (perubahannya begitu halus sehingga tidak ada seorangpun yang menyadarinya jika ia tidak benar-benar memperhatikannya).

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 diantara garis-garis yang kelihatan.

Teknik steganografi meliputi banyak sekali metode komunikasi untuk menyembunyikan pesan rahasia (teks atau gambar) di dalam file-file lain yang mengandung teks, image, bahkan audio tanpa menunjukkan ciri-ciri perubahan yang nyata atau terlihat dalam kualitas dan struktur dari file 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 diselesaikan 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 file digital yang dapat dijadikan media untuk menyembunyikan pesan. Format yang biasa digunakan diantaranya:

* Format image : bitmap (bmp), gif, pcx, jpeg, dll.
* Format audio : wav, voc, mp3, dll.
* Format lain : teks file, html, pdf, dll.

Kelebihan steganografi daripada 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.

Sebuah pesan steganografi (plaintext), biasanya pertama-tama dienkripsikan dengan beberapa arti tradisional, yang menghasilkan ciphertext. Kemudian, covertext dimodifikasi dalam beberapa cara sehingga berisi ciphertext, yang menghasilkan stegotext. Contohnya, ukuran huruf, ukuran spasi, jenis huruf, atau karakteristik covertext lainnya dapat dimanipulasi untuk membawa pesan tersembunyi; hanya penerima (yang harus mengetahui teknik yang digunakan) dapat membuka pesan dan mendekripsikannya.



* 1 Metode Steganografi
o 1.1 Least Significant Bit Insertion (LSB)
o 1.2 Algorithms and Transformation
o 1.3 Redundant Pattern Encoding
o 1.4 Spread Spectrum method
* 2 Steganalisis dan Stegosystem




Kebanyakan algoritma steganografi menggunakan sebuah kombinasi dari bidang jenis teknik untuk melakukan sebuah tugas dalam penyelubungan pesan rahasia dalam sebuah selubung file. Sebuah program steganografi dibutuhkan untuk melakukan hal-hal berikut (baik implisit melalui suatu perkiraan maupun eksplisit melalui sebuah perhitungan), menemukan kelebihan bits dalam selubung file yang dapat digunakan untuk menyelubungi pesan rahasia didalamnya, memilih beberapa diantaranya untuk digunakan dalam menyelubungi data dan penyelubungan data dalam bits dipilih sebelumnya. Ada empat jenis metode Steganografi, yaitu :


Least Significant Bit Insertion (LSB)

Metoda yang digunakan untuk menyembunyikan pesan pada media digital tersebut berbeda-beda. Contohnya pada file image pesan dapat disembunyikan dengan menggunakan cara menyisipkannya pada bit rendah atau bit yang paling kanan (LSB) pada data pixel yang menyusun file tersebut. Seperti kita ketahui untuk file bitmap 24 bit maka 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 file bitmap 24 bit kita dapat menyisipkan 3 bit data. Kekurangan dari LSB Invertion : Dapat diambil kesimpulan dari contoh 8 bit pixel, menggunakan LSB Insertion dapat secara drastis merubah unsur pokok warna dari pixel. Ini dapat menunjukkan perbedaan yang nyata dari cover image menjadi stego image, sehingga tanda tersebut menunjukkan keadaan dari steganografi. Variasi warna kurang jelas dengan 24 bit image, bagaimanapun file tersebut sangatlah besar. Antara 8 bit dan 24 bit image mudah diserang dalam pemrosesan image, seperti cropping (kegagalan) dan compression (pemampatan). Keuntungan dari LSB Insertion : Keuntungan yang paling besar dari algoritma LSB ini adalah cepat dan mudah. Dan juga algoritma tersebut memiliki software steganografi yang mendukung dengan bekerja diantara unsur pokok warna LSB melalui manipulasi pallete (lukisan).



Algorithms and Transformation

Algoritma compression adalah metode steganografi dengan menyembunyikan data dalam fungsi matematika. Dua fungsi tersebut adalah Discrete Cosine Transformation (DCT) dan Wavelet Transformation. Fungsi DCT dan Wavelet yaitu mentransformasi data dari satu tempat (domain) ke tempat (domain) yang lain. Fungsi DCT yaitu mentransformasi data dari tempat spatial (spatial domain) ke tempat frekuensi (frequency domain).


Redundant Pattern Encoding
adalah menggambar pesan kecil pada kebanyakan gambar. Keuntungan dari metode ini adalah dapat bertahan dari cropping (kegagalan), kerugiannya yaitu tidak dapat menggambar pesan yang lebih besar.



Spread Spectrum method

Spread Spectrum steganografi terpencar-pencar sebagai pesan yang diacak (encrypt) melalui gambar (tidak seperti dalam LSB). Untuk membaca suatu pesan, penerima memerlukan algoritma yaitu crypto-key dan stego-key. Metode ini juga masih mudah diserang yaitu penghancuran atau pengrusakan dari kompresi dan proses image (gambar).



Steganalisis dan Stegosystem


Seperti Kriptografi dan Kriptanalisis, Steganalisis didefinisikan sebagai suatu seni dan ilmu dalam mendeteksi informasi tersembunyi. Sebagai tujuan dari steganografi adalah untuk merahasiakan keberadaan dari sebuah pesan rahasia, satu keberhasilan penyerangan pada sebuah sistem steganografi terdiri dari pendeteksian bahwa sebuah file yang diyakini berisikan data terselubung. Seperti dalam Kriptanalisis diasumsikan bahwa sistem steganografi telah diketahui oleh si penyerang dan maka dari itu keamanan dari sistem steganografi bergantung hanya pada fakta bahwa kunci rahasia tidak diketahui oleh si penyerang.

Stegosystem disini berisi tentang penyerangan-penyerangan yang dilakukan terhadap suatu sistem steganografi, sebuah perbedaan penting harus dibuat diantara penyerangan-penyerangan pasif dimana penyerang hanya dapat memotong data dan penyerangan-penyerangan aktif dimana penyerang juga dapat memanipulasi data. Pada gambar dibawah ini menunjukkan sebuah diagram untuk menjelaskan sistem stego. Lingkaran-lingkaran menunjukkan tempat-tempat penyerang yang berpotensi memiliki jalan masuk ke satu atau lebih dari tempat-tempat tersebut akibat penyerangan-penyerangan yang berbeda jenis, dan juga berfungsi untuk melakukan sebuah penyerangan aktif. Jika lingkaran tidak terisi, penyerang hanya dapat melakukan penyerangan pasif yaitu menghalangi memotong data.

Penyerangan-penyerangan berikut memungkinkan dalam model dari stegosistem ini :

* Stego-Only-Attack (Penyerangan hanya Stego).Penyerang telah menghalangi stego data dan dapat menganalisisnya.
* Stego-Attack (Penyerangan Stego). Pengirim telah menggunakan cover yang sama berulangkali untuk data terselubung. Penyerang memiliki file stego yang berasal dari cover file yang sama. Dalam setiap file-file stego tersebut, sebuah pesan berbeda disembunyikan.
* Cover-Stego-Attack (Penyerangan selubung Stego). Penyerang telah menghalangi file stego dan mengetahui cover file mana yang digunakan untuk menghasilkan file stego ini. Ini menyediakan sebuah keuntungan melalui penyerangan stego-only untuk si penyerang.
* Manipulating the stego data (Memanipulasi data stego).Penyerang memiliki kemampuan untuk memanipulasi data stego. Jika penyerang hanya ingin menentukan sebuah pesan disembunyikan dalam file-stego ini, biasanya ini tidak memberikan sebuah keuntungan tapi memiliki kemampuan dalam memanipulasi data stego yang berarti bahwa si penyerang mampu memindahkan pesan rahasia dalam data stego (jika ada).
* Manipulating the cover data (Memanipulasi data terselubung). Penyerang dapat memanipulasi data terselubung dan menghalangi hasil data stego. Ini dapat membuat tugas dalam menentukan apakah data stego berisikan sebuah pesan rahasia lebih mudah bagi si penyerang.




contohnya:

Steganografi – penyembunyian pesan

Quantcast

Steganografi adalah suatu cara untuk menulis pesan tersembunyi. Pesan tersembunyi itu disisipkan pada suatu teks.

Teks dibuat sedemikian rupa agar orang lain yang membaca tidak sadar akan adanya pesan tersembunyi tersebut.

contoh steganografi:

Paras wajahmu
kecantikan, kebaikan hati
lincah dan gelak tawamu
tertanam di hati
hanya dirimu…

Namamu terpatri dalam benakku
Yoko,
masih adakah tempat di hatimu?
sakitnya hati ini Yoko
rasa sakitnya menusuk jiwaku

Tapi ingatlah,
cintaku selalu untukmu
Jangan kau pernah lupakan
cintaku,
Hanya ada untukmu, Yoko…


Ada yang tau isi pesan tersembunyi pada puisi cinta tersebut?

Aturan steganografinya adalah:
Untuk setiap bait berisi satu kata. Abaikan tanda-tanda baca seperti tanda titik dan tanda tanya.
Untuk setiap bait ambillah huruf pertama pada baris pertama, huruf terakhir pada baris selanjutnya, kemudian untuk

baris selanjutnya ambil lagi huruf pertama kemudian huruf terakhir untuk baris selanjutnya. So, rumus untuk setiap

baitnya adalah awal-akhir-awal-akhir(looping).

Sekarang pasti sudah bisa terbaca pesan tersembunyinya. Apa ya?
yup, pesannya adalah : PILIH NOMOR TUJUH. (jawaban saya beri warna biru)

Masih banyak cara membuat steganografi. Bisa dengan mengambil huruf pertama pada setiap kata dalam kalimat, atau

huruf terakhir pada setiap kata dalam kalimat. Atau dengan cara yang lebih rumit yaitu dengan menggunakan gambar

dan suara.

Cara lain menulis pesan tersembunyi adalah menggunakan kriptografi. Bedanya, kriptografi mengubah pesan secara keseluruhan menjadi angka atau huruf-huruf yang telah dikonversi sesuai rumus yang dibuat. Jadi pesan benar-benartidak dapat terbaca oleh orang lain karena memang kalimatnya tidak bisa dibaca,



Steganografi : 4. Contoh Penerapan


Isi

Bagi yang belom mengerti apa sebenarnya steganografi itu bisa dilihat pada artikel saya sebelumnya http://andreastjong.wordpress.com/2008/09/18/steganografi-1pendahuluan/.

Sebelum kita memulai contoh ini ada beberapa hal terlebih dahulu yang harus dipersiapkan. Pertama-tama adalah software steganografi (digunakan Hide4PGP aka H4PGP20W) , bisa anda download di http://www.heinz-repp.onlinehome.de/H4PGP20W.ZIP. Tenang saja karena software ini free. Lalu harus disiapkan juga data yang ingin disembunyikan dan media yang akan digunakan, dalam contoh ini saya menggunakan file gambar berformat gif (test.gif) dengan dimensi 200×230, ukuran 111kb, sedangkan untuk media yang akan disisipkan saya akan menggunakan file audio dengn format wav (stego.wav)

Langkah yang harus anda lakukan untuk menyisisipkan data:

  1. Download H4PGP20W.zip
  2. extract di salah satu folder anda (sebagai contoh di C:)
  3. Taruh file yang ingin disisipkan dan media yang akan disisipi ke direktori tersebut (stego.wav dan test.gif)
  4. buka command prompt
  5. Masuk ke direktori tempat anda mengekstrakt H4PGP20W tadi
  6. Ketikkan perintah berikut “Hide4PGP stego.wav test.gif
  7. Selamat karena anda sudah berhasil melanyisipkan file test.gif ke stego.wav (anda boleh men-delete file test.gif jika anda mau)

Langkah yang harus anda lakukan untuk mengekstrak data

:

  1. buka command prompt
  2. Masuk ke direktori tempat anda mengekstrakt H4PGP20W tadi
  3. Ketikkan perintah berikut “Hide4PGP -x stego.wav test.gif
  4. Silahkan check di direktori tersebut, apakah ada file yang bernama test.gif



Membuat aplikasi steganografi sederhana dengan vb.net – Beserta source code


Pendahuluan

Tujuan kami adalah untuk membangun sebuah aplikasi sederhana yang mampu mengirim dan menerima pesan terenkripsi tertanam dalam Rich Text Format: *. DOC, *. RTF, EMAIL / MessageBody /, dll pengguna memiliki kemampuan untuk memilih teks palsu yang ia inginkan dan program harus dapat atau tidak mengatakan apakah teks palsu ini akan sesuai dengan teks asli.

Pengguna dapat mengatur sandi yang berbeda untuk setiap pesan yang dikirim. Hal ini akan memungkinkan manajer untuk mengirimkan dua kelompok dua pesan yang berbeda dengan dua password yang berbeda dengan menggunakan teks palsu yang sama. Dengan demikian, Anda akan dapat mengirim pesan terenkripsi dan tersembunyi dalam kode sumber manapun yang Anda pilih! Coba saja lihat di EXE untuk melihat sendiri.

Bagaimana cara kerjanya?

Kami tidak akan mengubah teks itu sendiri, tapi kami akan mengubah atribut gaib teks. Atribut-atribut ini banyak dan tidak mungkin untuk web server untuk melacak mereka semua. Ada banyak metode dan pelacakan Steganographic mereka akan limbah pengolahan jumlah besar untuk hasil yang tidak pasti. Sadarilah bahwa steganography lebih efektif daripada enkripsi bila digunakan dengan cara yang benar.Penghapusan semua atribut bukanlah suatu pilihan, jadi kita akan memilih ukuran dan warna. Angka ini akan menggarisbawahi poin saya:


Modus perubahan ukuran

Dalam mode ini, kami akan mengubah ukuran karakter pada teks palsu menurut ukuran font yang dipilih dan faktor diferensial. Kita akan menggunakan 2 ukuran, X1 dan X2. X1 adalah ukuran font yang dipilih dan X2 adalah ukuran font yang dipilih ditambah dengan faktor diferensial. Bit 0 adalah diwakili oleh terjadinya karakter yang ukuran X1. Bit 1 adalah diwakili oleh terjadinya karakter yang ukuran X2.

Lihatlah! Tidak semua mendukung setiap ukuran font yang Anda pilih, sehingga program akan sarankan Anda untuk mendekripsi pesan Anda sebelum Anda mengirimkannya untuk memastikan bahwa font yang mendukung Anda (X2) ukuran. Penerima harus memiliki font yang sama yang Anda gunakan diinstal dalam mesin. Ini mungkin tidak akan menjadi masalah bagi Anda karena ada berbagai font keluarga di Common antara Windows OS versi. Penerima harus juga tahu yang dipilih ukuran font yang anda gunakan untuk dekripsi. Setelah kami menyembunyikan pesan yang sesungguhnya dalam pesan palsu, sisa pesan palsu karakter akan berukuran seperti X1.

Modus perubahan warna

Ini adalah modus lebih dianjurkan untuk digunakan, karena sangat stabil dan aman. Dalam mode ini, kita akan mengubah warna karakter dalam teks palsu yang dipilih sesuai dengan warna dan program warna dihitung. Kita akan menggunakan 2 warna, X1 dan X2. X1 adalah warna yang dipilih dan X2 adalah warna dihitung program. Program akan mencari untuk menemukan warna yang terdekat adalah mustahil untuk mengenali perbedaan dengan mata telanjang. Bit 0 adalah diwakili oleh terjadinya karakter yang warnanya X1. Bit 1 adalah diwakili oleh terjadinya karakter yang warnanya X2. Penerima harus tahu mana warna yang telah dipilih untuk dekripsi. Setelah kami menyembunyikan pesan yang sesungguhnya dalam pesan palsu, sisa pesan palsu karakter akan berwarna seperti X1.

Kapan kita berhenti?

Kami tidak akan menggunakan karakter tertentu dari teks biasa alfabet. Artinya, ketika kita akan mendapatkan karakter tertentu, kami akan menghentikan pesan output generasi. Dengan cara ini kami melarang pengguna dari menggunakan karakter, jadi jangan meremehkan input karakter apapun. Berikut adalah sebuah contoh.

Contoh

Bayangkan menggunakan “/” sebagai ‘End Of Message’ tanda, namun beberapa pengguna mungkin ingin mengirim pesan seperti ini:

/ \ \ \ / \ \ \ \ / \ / \ \ \ \ \ \ / \ /

“Sekarang,” Anda bertanya, “apa ini?” Ini adalah pesan dienkripsi dengan (/, \) berdiri untuk bit (0,1). Jadi, ini adalah aliran bit dienkripsi. Jika Anda mendekripsi itu, Anda akan memiliki bit. Kemudian jika Anda mengubahnya ke bytes, mereka bisa apa saja: foto, teks, kata dokumen, suara, dll Di sini, kita terenkripsi steganographic terdekrip beberapa teks – dalam pesan palsu yang terlihat – untuk memiliki teks terenkripsi steganographic, yaitu tidak terlihat / \ / \ / / … Ini adalah steganography dua kali lipat. Kita bisa menambahkan lapisan baru steganography jika output byte adalah file Word atau RTF. Untuk besar file Word atau RTF, hal ini lebih dari mungkin karena ukuran penyimpanan dibagi dengan 8. Ini tidak terlalu buruk, sebagai sebuah buku teks biasa dengan 800 halaman dapat memiliki ukuran yang diperlukan.

Seperti Anda mungkin telah menyadari, kita perlu untuk menyimpan informasi tambahan untuk ukuran. Kita akan menggunakan 4 byte untuk menyimpan ukuran. Ini berarti 4 * 8 bit atau 32 bit, yaitu 32 karakter pertama dalam teks palsu. Kami akan mengambil setiap 2 digit nomor ukuran dan menyimpannya dalam 1 byte. Di sini Anda dapat melihat bahwa pertama 32 karakter dalam teks palsu sangat penting, bahkan jika mereka tidak terlihat karakter seperti spasi.

Bagaimana menggunakannya?

Ada Tempel dan tombol Hapus untuk setiap kotak teks, selain Impor dan Ekspor tombol untuk kotak teks Output. Pertama-tama, salin teks besar mana pun tidak berguna dan menggunakan tombol Paste di dekat kotak teks palsu untuk menempelkannya. Tulis pesan nyata dalam kotak teks pesan nyata. Program ini akan bercerita tentang kapasitas yang diperlukan teks palsu. Jangan gunakan teks palsu besar kecil pesan nyata, karena hal ini akan menambah waktu pemrosesan.

Cobalah untuk memotong teks dari pesan palsu untuk memiliki kapasitas optimal, yaitu kapasitas terkecil yang lebih besar dari kapasitas yang diperlukan. Ini diperlihatkan di atas kotak teks pesan nyata.Selanjutnya, pilih Modus Anda memasukkan password yang Anda inginkan. Jika Anda menggunakan modus ukuran, memverifikasi bahwa perbedaan ukuran font pada pesan keluaran tidak terlihat. Jika tidak, mengubah ukuran font dan coba lagi sampai Anda melihat bahwa perbedaan tidak terlihat. Anda dapat menggunakan spasi trik juga, seperti yang disebutkan kemudian. Kemudian ekspor pesan output ke file RTF menggunakan tombol Export. That’s it! Sekarang Anda dapat melampirkannya pada email Anda dan mengirimkannya dimana saja.

Menggunakan kode

Saya telah diuraikan prosedur utama yang akan unhide teks dalam teks. Kode komentar untuk setiap langkah.