Apa itu Steganografi ????



Steganografi adalah suatu ilmu, teknik dan seni tentang bagaimana menyembunyikan data rahasia didalam wadah (media) digital sehingga keberadaan data rahasia tersebut tidak diketahui oleh orang lain.
Steganografi membutuhkan dua properti, yaitu media penampung dan data rahasia yang akan disembunyikan. Steganografi digital menggunakan media digital sebagai wadah penampung, misalnya citra (gambar), suara (audio), teks, dan video. Data rahasia yang disembunyikan juga dapat berupa citra, suara, teks, atau video, Steganografi dapat dipandang sebagai kelanjutan kriptografi. Jika pada kriptografi data yang telah disandikan (ciphertext) tetap tersedia, maka dengan steganografi ciphertext dapat disembunyikan sehingga pihak ketiga tidak mengetahui keberadaannya. Data rahasia yang disembunyikan dapat diekstraksi kembali persis sama seperti keadaan aslinya.

Steganografi
Steganografi berasal dari bahasa Yunani yang berarti “tulisan terbungkus”. Teknik ini pertama kali digunakan oleh bangsa Yunani kuno sekitar 440 SM. Penguasa Yunani dalam mengirimkan pesan rahasia menggunakan kepala budak atau prajurit sebagai media. Dalam hal ini rambut budak atau prajurit dicukur, kemudian sebuah pesan berupa tato dituliskan pada kulit kepalanya. Ketika rambut budak tersebut tumbuh kembali dan menyembunyikan pesan yang dimaksud, budak tersebut diutus untuk membawa pesan rahasia dikepalanya. Kemudian si penerima mencukur lagi kepala budak tersebut dan memperoleh pesan rahasia yang dimaksud.
Bangsa Romawi mengenal steganografi dengan menggunakan tinta tak tampak (invisible ink) untuk menuliskan pesan. Tinta tersebut dibuat dari campuran sari buah, susu, dan cuka. Jika tinta digunakan untuk menulis maka tulisannya tidak tampak. Tulisan yang tertera pada kertas dapat dibaca dengan cara memanaskan kertas tersebut. Kemudian selama Perang Dunia II, militer Jerman memiliki teknologi microfiche untuk membuat microdots. Microdots terdiri atas gambar-gambar dan pesan-pesan teks yang ukurannya mengkerut terhadap suatu periode dan digunakan di dalam teks dari sebuah tulisan biasa atau memorandum. Banyak dari pesan-pesan tersebut yang lolos dari deteksi pasukan sekutu. Steganografi mengalami kemajuan yang sangat pesat sejak tahun 1990-an ketika pemerintah, industri, warga negara biasa bahkan organisasi teroris mulai menggunakan aplikasi perangkat lunak steganografi untuk menyembunyikan pesan-pesan atau foto ke dalam beberapa tipe media.
Gambar 1. Blok Diagram sistem Steganografi



Kriteria Steganografi yang Bagus
Penyembunyian data rahasia ke dalam citra digital akan mengubah kualitas citra tersebut. Kriteria yang harus diperhatikan dalam penyembunyian data adalah :
- Fidelity. Mutu citra penampung tidak jauh berubah. Setelah penambahan data rahasia, citra hasil steganografi masih terlihat dengan baik. Pengamat tidak mengetahui kalau di dalam citra tersebut terdapat data rahasia.
- Rohustmsx. Data yang disembunyikan harus tahan (robust) terhadap berbagai operasi manipulasi yang dilakukan pada citra penampung, seperti pengubahan kontras, penajaman, pemampatan, rotasi, perbesaran gambar, pemotongan (cropping), enkripsi, dan sebagainya. Bila pada citra penampung dilakukan operasi-operasi pengolahan citra tersebut, maka data yang disembunyikan seharusnya tidak rusak (tetap valid jika diekstraksi kembali).
- Recovery. Data yang disembunyikan harus dapat diungkapkan kembali (reveal). Karena tujuan stenografi adalah data hiding, maka sewaktu-waktu data rahasia di dalam citra penampung harus dapat diambil kembali untuk digunakan lebih lanjut.

Teknik Penyembunyian Data
Penyembunyian data dilakukan dengan mengganti bit-bit data di dalam segmen citra dengan bit-bit rahasia. Hingga saat ini sudah banyak dikemukakan oleh para ilmuwan metode-metode penyembunyian data. Metode yang paling sederhana adalah metode modifikasi LSB (Least Significant Bit). Pada susunan bit di dalam sebuah byte (1 byte = 8 bit), ada bit yang paling berarti (least significant bit atau LSB) dan bit yang paling kurang berarti (least significant bit atau LSB). Sebagai ilustrasi, di bawah ini dijelaskan metode modifikasi LSB untuk menyisipkan watermark (tanda air) pada citra digital.
Misalnya pada byte 11010010, bit 1 yang pertama (digaris bawahi) adalah bit LSB dan bit 0 yang terakhir (digaris bawahi) adalah bit LSB. Bit yang cocok untuk diganti adalah bit LSB, sebab penggantian hanya mengubah nilai byte tersebut satu lebih tinggi atau satu lebih rendah dari nilai sebelumnya. Misalkan byte tersebut di dalam gambar menyatakan warna tertentu, maka perubahan satu bit LSB tidak mengubah warna tersebut secara berarti. Lagi pula, dan ini keuntungan yang dimanfaatkan, mata manusia tidak dapat membedakan perubahan warna yang kecil. Misalkan segmen piksel-piksel citra sebelum penambahan bit-bit watermark adalah:

00110011 10100010 11100010 01101111

misalkan data rahasia (yang telah dikonversi ke system biner) adalah 0111. Setiap bit dari watermark menggantikan posisi LSB dari segmen data citra menjadi:
00110010 10100011 11100011 01101111
Untuk memperkuat penyembunyian data, bit-bit data tidak digunakan untuk mengganti byte-byte yang berurutan, namun dipilih susunan byte secara acak. Misalnya Jika terdapat 50 byte dan 6 bit data yang akan disembunyikan, maka byte yang diganti bit LSB-nya dipilih secara acak, misalkan byte nomor 36, 5, 21, 10, 18, 49.

Ukuran Data Yang Disembunyikan
Ukuran data yang akan disembunyikan bergantung pada ukuran citra penampung. Pada citra 8-bit yang berukuran 256 x 256 piksel terdapat 65536 piksel, setiap piksel berukuran 1 byte. Setelah diubah menjadi citra 24-bit, ukuran data bitmap menjadi 65536 x 3 = 196608 byte. Karena setiap byte hanya bisa menyembunyikan satu bit di LSB-nya, maka ukuran data yang akan disembunyikan di dalam citra maksimum 196608/8 = 24576 byte. Ukuran data ini harus dikurangi dengan panjang nama berkas, karena penyembunyian data rahasia tidak hanya menyembunyikan isi data tersebut, tetapi juga nama berkasnya. Semakin besar data disembunyikan didalam citra, semakin besar pula kemungkinan data tersebut rusak akibat manipulasi pada citra penampung.

Teknik Pengungkapan Data
Data yang disembunyikan di dalam citra dapat dibaca kembali dengan cara pengungkapan (reveal atau extraction). Posisi byte yang menyimpan bit data dapat diketahui dan bilangan acak yang dibangkitkan oleh PRNG (Pseudo Random Number Generator). Karena algoritma kriptografi yang digunakan menggunakan kunci pada proses enkripsi, maka kunci yang sama digunakan untuk membangkitkan bilangan acak. Bilangan acak yang dihasilkan sama dengan bilangan acak yang dipakai pada waktu penyembunyian data. Dengan demikian, bit-bit data rahasia yang bertaburan di dalam citra dapat dikumpulkan kembali. Sebagai ilustrasi, dalam artikel ini digunakan perangkat lunak S-Tools yang merupakan salah satu dari beragam perangkat lunak steganografi yang ada. S-Tools menyebarkan data rahasia pada seluruh piksel media pembawa. Tidak terdapat pembagian antara sisa yang tidak berubah, diabaikan dengan informasi yang lebih pendek, dan piksel yang berubah secara steganografi (http://beta.tnial.mil.id/cakrad.php3?id=437)