Komputasi Terapan Tugas Individu 2: Steganografi Dosen : Dr. Ir. Nazori Az, MT. Nama : Yoga Prihastomo NIM : 1011601026 Kelas : XB MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI LUHUR 2011 0 Tugas Individu 2: Komputasi Terapan Pendahuluan 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”. Kini, istilah steganografi termasuk penyembunyian data digital dalam berkas‐berkas (file) komputer. Contohnya, si pengirim mulai dengan berkas 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 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. Halaman 1 Tugas Individu 2: Komputasi Terapan 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. 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. Metode Steganografi Kebanyakan algoritma steganografi menggunakan sebuah kombinasi dari bidang jenis teknik untuk melakukan sebuah tugas dalam penyelubungan pesan rahasia dalam sebuah selubung berkas. 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: 1. Least Significant Bit Insertion (LSB) Metoda yang digunakan untuk menyembunyikan pesan pada media digital tersebut berbeda‐beda. Contohnya, pada berkas image pesan dapat Halaman 2 Tugas Individu 2: Komputasi Terapan 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. Kekurangan dari LSB Invertion: Dapat diambil kesimpulan dari contoh 8 bit pixel, menggunakan LSB Insertion dapat secara drastis mengubah 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 di antara unsur pokok warna LSB melalui manipulasi pallete (lukisan). Sistem Steganografi akan menyembunyikan sejumlah informasi dalam suatu berkas dan akan mengembalikan informasi tersebut kepada pengguna yang berhak. Terdapat dua langkah dalam sistem Steganografi yaitu proses penyembunyian dan recovery data dari berkas penampung. Penyembunyian data dilakukan dengan mengganti bit‐bit data di dalam segmen citra dengan bit‐bit data rahasia. Metode yang paling sederhana adalah metode modifikasi LSB (Least Significant Bit Modification). Pada susunan bit di dalam sebuah byte (1 byte = 8 bit), ada bit yang paling berarti (most significant bit atau MSB) dan bit yang paling kurang berarti (least significant bit atau LSB). Contoh : Halaman 3 Tugas Individu 2: Komputasi Terapan Bit yang cocok untuk diganti adalah bit LSB, sebab perubahan tersebut hanya mengubah nilai byte satu lebih tinggi atau satu lebih rendah dari nilai sebelumnya. Misalkan byte tersebut menyatakan warna merah, maka perubahan satu bit LSB tidak mengubah warna merah tersebut secara berarti. Lagi pula, mata manusia tidak dapat membedakan perubahan yang kecil. Misalkan segmen data citra sebelum perubahan: 0 0 1 1 0 0 1 1 1 0 1 0 0 0 1 0 1 1 1 0 0 0 1 0 0 1 1 0 1 1 1 1 Segmen data citra setelah ‘0 1 1 1‘ disembunyikan: 0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 1 Untuk memperkuat teknik penyembunyian data, bit‐bit data rahasia tidak digunakan 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. Bilangan acak dapat dibangkitkan dengan algoritma pseudorandom number generator. Pseudorandom number generator menggunakan kunci rahasia untuk membangkitkan posisi pixel yang akan digunakan untuk menyembunyikan bit‐bit. Pseudorandom number generator dibangun dalam sejumlah cara, salah satunya dengan menggunakan algoritma kriptografi berbasis blok (block cipher). Tujuan dari enkripsi adalah menghasilkan sekumpulan bilangan acak yang sama untuk setiap kunci enkripsi yang sama. Bilangan acak dihasilkan dengan cara memilih bit‐bit dari sebuah blok data hasil enkripsi. Ukuran data yang akan disembunyikan bergantung pada ukurancitra penampung. Pada citra 24‐bit yang berukuran 256 ´ 256 pixel terdapat 65536 pixel, setiap pixel berukuran 3 byte (komponen RGB), berarti seluruhnya ada 65536 ´ 3 = 196608 byte. Karena setiapbyte 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 Halaman 4 Tugas Individu 2: Komputasi Terapan tersebut, tetapi juga nama berkasnya. Semakin besar data disembunyikan di dalam citra, semakin besar pula kemungkinan data tersebut rusak akibat manipulasi pada citra penampung. 2. Algorithms and Transformation Algoritma compression adalah metode steganografi dengan menyembunyi‐ kan 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). 3. Redundant Pattern Encoding 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. 4. Spread Spectrum Method Spread Spectrum steganografi terpencar‐pencar sebagai pesan yang diacak (encrypted) 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). Metode spread spectrum dalam steganografi diilhami dari skema komunikasi spread spectrum, yang mentransmisikan sebuah sinyal pita sempit ke dalam sebuah kanal pita lebar dengan penyebaran frekuensi [FLI97]. Kegunaan dari penyebaran ini adalah untuk menambah redundansi dan bit‐bit data sehingga diharapkan memiliki tingkat robustness yang tinggi. Adapun besaran redundansi ditentukan oleh faktor pengali yang dapat ditentukan oleh pengguna. Contoh dari penyebaran bit‐bit informasi dapat dilihat pada Gambar 1. Faktor pengali dilambangkan dengan cr yang bernilai skalar. Panjang bit‐bit hasil penyebaran ini menjadi cr kali panjang bit‐bit awal. Gambar 1 Penyebaran bit­bit informasi Halaman 5 Tugas Individu 2: Komputasi Terapan Pada proses penyembunyian data, bit‐bit informasi yang telah mengalami proses spreading ini kemudian akan dimodulasi dengan pseudo­noise signal yang dibangkitkan secara acak berdasarkan kunci penyembunyian. Hasil dari proses modulasi ini kemudian digabungkan sebagai noise ke dalam sebuah berkas media dengan panjang bit penyisipan (amplitude) tertentu. Hasil dari penyisipan ini adalah sebuah media yang berisi informasi (stegomessage).Contoh dari proses penyembunyian informasi menggunakan metode spread spectrum dapat dilihat pada Gambar 2. Untuk proses ekstraksi data, media yang telah berisi informasi rahasia tersebut disaring terlebih daluhu dengan proses pre‐filtering untuk mendapatkan noise. Noise yang dihasilkan kemudian didemodulasi dengan menggunakan pseudonoise signal untuk mendapatkan bit‐bit yang berkorelasi. Bit‐bit yang berkorelasi dianalisa dengan perhitungan tertentu untuk menghasikan bit‐bit informasi yang sesungguhnya. Analisa terhadap bit‐bit yang berkorelasi yang masih dalam bertuk tersebar ini, diperlukan untuk menentukan bit‐bit informasi. Caranya dengan menghitung rata‐rata setiap segmen berukuran sesuai dengan faktor pengali (summation) dan menentukan bit sebenarnya dari suatu segmen yang tersebar (thresholding). Contoh proses ekstraksi dapat dilihat pada Gambar 3. Gambar 2. Penyembunyian informasi dengan metode spread spectrum. Halaman 6 Tugas Individu 2: Komputasi Terapan Gambar 3. Ekstraksi informasi dengan metode spread spectrum. 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 berkas yang diyakini berisikan data terselubung. Seperti dalam Kriptanalisis, diasumsikan bahwa sistem steganografi telah diketahui oleh si penyerang. Maka dari itu, keamanan dari sistem steganografi bergantung hanya pada fakta bahwa kunci rahasia tidak diketahui oleh si penyerang. Stegosystem di sini berisi tentang penyerangan‐penyerangan yang dilakukan terhadap suatu sistem steganografi, sebuah perbedaan penting harus dibuat di antara penyerangan‐penyerangan pasif di mana penyerang hanya dapat memotong data, dan penyerangan‐penyerangan aktif di mana penyerang juga dapat memanipulasi data. Penyerangan‐penyerangan berikut memungkinkan dalam model dari stegosistem ini: Stego­Only­Attack (Penyerangan hanya Stego). Penyerang telah menghalangi stego data dan dapat menganalisisnya. Halaman 7 Tugas Individu 2: Komputasi Terapan Stego­Attack (Penyerangan Stego). Pengirim telah menggunakan cover yang sama berulangkali untuk data terselubung. Penyerang memiliki berkas stego yang berasal dari cover file yang sama. Dalam setiap berkas stego tersebut, sebuah pesan berbeda disembunyikan. Cover­Stego­Attack (Penyerangan selubung Stego). Penyerang telah menghalangi berkas stego dan mengetahui cover file mana yang digunakan untuk menghasilkan berkas 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 berkas 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. Sistem File Steganografi File Gambar Pada komputer, suatu gambar adalah suatu array dari bilangan yang merepresentasikan intensitas terang pada point yang bervariasi (pixel). Pixel ini menghasilkan raster data gambar. Suatu ukuran gambar yang umum adalah 640 x 480 pixel dan 256 warna (atau 8 bit per pixel). Suatu gambar akan berisi kira‐kira 300 kilobit data. Gambar digital disimpan juga secara khusus di dalam file 24‐bit atau 8‐bit. Gambar 24‐bit menyediakan lebih banyak ruang untuk menyembunyikan informasi; bagaimanapun, itu dapat sungguh besar (dengan perkecualian gambar JPEG). Semua variasi warna untuk pixel yang diperoleh dari tiga warna dasar: merah, hijau dan biru. Setiap warna dasar direpresentasikan dengan 1 byte; gambar 24‐bit menggunakan 3 byte per pixel untuk merepresentasikan suatu Halaman 8 Tugas Individu 2: Komputasi Terapan nilai warna. 3 byte ini dapat direpresentasikan sebagai nilai hexadecimal, decimal, dan biner. Dalam banyak halaman Web, warna latar belakang direpresentasikan dengan bilangan 6 digit hexadecimal, yang aktualnya tiga ikatan merepresentasikan merah, hijau dan biru. Latar belakang putih akan mempunyai nilai FFFFFF: 100% merah (FF), 100% hijau (FF) dan 100% biru (FF). Nilai decimal‐nya 255,255,255 dan nilai biner‐nya adalah 11111111, 11111111, 11111111, yang adalah tiga byte yang menghasilkan putih. Definisi latar belakang putih adalah analog dengan definisi warna dari pixel tunggal dalam suatu gambar. Pixel merepresentasikan kontribusi pada ukuran file. Untuk contoh, andaikan kita mempunyai gambar 24‐bit luasnya 1,024 pixel dengan ketinggian 768 pixel, yang merupakan resolusi umum untuk grafik beresolusi tinggi. Suatu gambar mempunyai lebih dari dua juta pixel, masing‐ masing mempunyai definisi yang akan menghasilkan suatu kelebihan file 2 Mbyte. Karena gambar 24‐bit masih relative tidak umum pada internet, ukuran seperti ini akan menarik perhatian selama transmisi. Kompresi file akan menguntungkan, jika tidak perlu transmisi file seperti itu. Kompresi File Dua kandungan dari kompresi adalah lossless dan lossy. Kedua metoda ini menghemat ruang penyimpanan tetapi mempunyai hasil yang berbeda, yang bertentangan dengan penyembunyian informasi. Kompresi lossless membiarkan kita merekonstruksi pesan asli yang sama; oleh karena itu, lebih disukai ketika informasi asli harus tetap utuh (seperti dengan gambar steganography). Kompresi lossless khusus untuk gambar yang tersimpan sebagai GIF (Graphic Interchange Format) dan BMP 8‐bit (file bitmap Microsoft Windows dan OS/2 ). Kompresi lossy, pada penanganan lainnya, menghemat ruangan tetapi tidak menjaga integritas gambar aslinya. Metoda ini secara khusus untuk gambar yang tersimpan sebagai JPEG (Joint Photographic Experts Group). Embedding Data Data embedded, yang tersembunyi dalam suatu gambar membutuhkan dua file. Pertama adalah gambar asli yang belum modifikasi yang akan menangani informasi tersembunyi, yang disebut cover image. File kedua adalah informasi pesan yang disembunyikan. Suatu pesan dapat berupa plaintext, chipertext, Halaman 9 Tugas Individu 2: Komputasi Terapan gambar lain, atau apapun yang dapat ditempelkan ke dalam bit­stream. Ketika dikombinasikan, cover image dan pesan yang ditempelkan membuat stego­image. Suatu stego­key (suatu password khusus) juga dapat digunakan secara tersembunyi, pada saat decode selanjutnya dari pesan. Kebanyakan software steganography tidak mendukung atau tidak direkomendasi menggunakan gambar JPEG, tetapi sebagai gantinya direkomendasikan menggunakan gambar lossless 24‐bit seperti BMP. Alternatif terbaik berikutnya untuk gambar 24‐bit adalah 256 warna atau gambar gray scale. Secara umum ditemukan pada Internet atau file GIF. Dalam gambar 8‐bit warna seperti file GIF, setiap pixel direpresentasikan sebagai byte tunggal, dan setiap pixel selalu menunjuk ke tabel indek warna (palette) dengan 256‐kemungkinan warna. Nilai pixel adalah diantara 0 dan 255. Software secara sederhana menggambarkan indikasi warna pada palette merah, menggambarkan perubahan yang sulit dipisahkan dalam variasi warna: perbedaan visualisasi diantara banyak warna yang sulit. Gambar 4(b) menunjukkan perubahan warna yang sulit dipisahkan dengan baik. Gambar 4 Representasi Warna Pallette Banyak pakar steganography merekomendasikan penggunaan gambar yang meliputi 256 shade gray. Gambar gray‐scale lebih disukai karena perubahan keteduhan sangat gradual dari byte ke byte, dan lebih sedikit perubahan nilai diantara masukan palette, dimana mereka dapat menyembunyikan informasi lebih baik. Gambar 4 menunjukkan suatu palette gray‐scale dari 256 shade. Halaman 10 Tugas Individu 2: Komputasi Terapan Beberapa gambar adalah 4‐bit, di buat dengan 16 shade dari gray, sesungguhnya gambar ini menawarkan banyaknya variasi yang lebih sedikit. Gambar 5 Representasi gray‐scale palette dari 256 shade Rahasia di Dalam Gambar Digital Banyak cara untuk menyembunyikan informasi di dalam gambar. Untuk menyembunyikan informasi, penyisipan pesan yang langsung dapat meng‐ enkode setiap bit dari informasi dalam gambar atau menempelkan pesan secara selektif dalam area noisy, menggambarkan area yang kurang diperhatikan, dimana ada banyak variasi warna natural. Pesan dapat juga terserak secara acak sepanjang gambar. Pola redundansi encoding “wallpapers” menutup gambar dengan pesan. Sejumlah cara yang ada untuk menyembunyikan informasi dalam gambar digital dengan pendekatan yang umum termasuk : penyisipan least significant bit masking dan filtering, dan algoritma dan transformasi. Setiap teknik‐teknik itu dapat diaplikasikan dengan derajat kesuksesan yang bervariasi pada file gambar yang berbeda. Halaman 11 Tugas Individu 2: Komputasi Terapan Penyerangan Sistem Steganografi Pemfungsian suatu system steganografi ditunjukkan pada Gambar 6. Pengirim membuat suatu steganogram menggunakan fungsi embedding, dimana fungsi tersebut mempunyai dua parameter sebagai berikut : 1. Media pembawa yang isisnyabersifat random, 2. Pesan yang embedded. Gambar 6 Sistem Steganografi Data multimedia, seperti audio dan video adalah media pembawa yang sempurna. Setelah digitalisasi, multimedia berisi quantisasi yg menyediakan ruang untuk melekatkan data. Penggunaan fungsi ekstrak, penerima harus mampu mereproduksi pesan yang menempel pada steganogram itu. Suatu steganogram harus mempunyai karakteristik statistik yang sama dengan media pembawa, sedemikian hingga penggunaan algoritma steganografi tidak dapat dideteksi. Konsekuensinya, pesan hanya dapat dibaca dari steganogram dan media pembawanya. Suatu pesan yang dibaca dari steganogram tidak harus secara statistik berbeda dengan pesan utama yang dibaca dari media pembawa, dengan cara lain, sistem steganografi akan bersifat tidak kuat. Beberapa utilitas steganografi menggunakan kunci rahasia. Ada dua jenis kunci rahasia : kunci steganografi dan kunci kriptografi [4]. Kunci steganografi mengontrol proses embedding dan ekstracting. Sebagai contoh, kunci ini dapat Halaman 12 Tugas Individu 2: Komputasi Terapan menyebarkan pesan yang ditempelkan ke bagian dari semua tempat dalam media pembawa. Tanpa kunci itu, bagian ini tidak diketahui, dan masing‐masing sample yang digunakan untuk mendeteksi penempelan oleh penyerangan statistik adalah dengan pencampuran tempat yang digunakan dan tempat yang tidak digunakan, yang dapat merusak hasilnya. Kunci kriptografi digunakan untuk mengenkripsi pesan sebelum ditempelkan. Kedua aplikasi rahasia ini diperoleh dari algoritma aktual dalam bentuk suatu parameter kunci. Jika kunci itu bersifat rahasia, algoritma steganografi dapat menjadi kunci public. Hal ini dimungkinkan untuk menentukan apakah bits read itu dalam kenyataannya menyandikan pesan dari steganogram utama hanya jika pesan itu mempunyai kesesuaian dengan kunci dekripsinya. Enkripsi sebaiknya juga sebagai tambahan utilitas steganografi yang mana tidak secara implisit encrypt. Untuk tidak memasangkan keamanan algoritma steganografi dari penampilan pesan yang tersembunyi, menggunakan pseudo random bit­strings untuk menghasilkan pesan‐pesan itu. Seperti mempunyai semua properti statistik dari pesan yang dienkripsi. Penyerangan statistik diaplikasikan pada Jsteg menggunakan model statistik yang berbeda. EzStego Utilitas EzStego (oleh Romana Machado) melekatkan pesan dalam file‐file GIF. File‐file GIF berisi lukisan warna sampai dengan 256 warna yang berbeda dari 224 warna yang mungkin, dan Lempel Ziv Welch (LZW) dimampatkan dalam matrik [3,6,8] dari indek lukisan. EzStego melekatkan pesan ke dalam pixel tanpa informasi yang lengkap. Hal ini meninggalkan lukisan warna tanpa dimodifikasi. Algoritma steganografi menciptakan suatu penyortiran salinan lukisan itu. Dengan cara itu akan sulit untuk membedaan antara dua warna bersebelahan di dalam lukisan yang disortir itu. Penyortiran secara luminance adalah tidak optimal, setidak‐tidaknya sebab dua orang mewarnai dengan seri yang sama dapat berbeda secara radikal. Kita dapat menginterpretasikan masing‐masing warna sebagai titik di dalam suatu ruang tiga dimensi, yakni dalam kubus warna RGB (merah, hijau, biru). Halaman 13 Tugas Individu 2: Komputasi Terapan Gambar 7 Order warna dalam suatu lukisan (kiri) dan penggunaan penyortiran oleh EzStego (kanan) Gambar 7 menunjukkan order warna‐warna dalam kubus RGB. Pada sisi kiri warna‐warna kelihatan lebih terurut daripada sebelah kanan. Order warna pada lukisan ini banyak dalam kasus order secara numerik. Pada sisi kanan, warna telah disortir oleh EzStego mengikuti suatu jalur yang paling pendek pada kubus RGB. Fungsi embedding EzStego bekerja garis per garis pada pixel berurutan yang tidak terputus‐putus dari kiri atas sampai kanan bawah. Setelah embedding, masing‐masing pixel memegang satu nilai steganografi (misalnya 1 bit dari pesan yang dilekatkan). Nilai steganografi dari suatu pixel adalah indek least significant bit dalam lukisan yang telah disortir. Fungsi embedding memenuhi nilai steganografi dengan bit yang dilekatkan (jika bit yang dilekatkan tidak ada) dan mengganti warnanya dengan sebelahnya dalam lukisan yang telah disortir, jika diperlukan. Halaman 14 Tugas Individu 2: Komputasi Terapan Gambar 8 Fungsi Embedding EzStego Gambar 8 menunjukkan fungsi embedding EzStego dengan lukisan yang sudah direduksi. Sebagai contoh, ditemukan indek 7 untuk sebuah pixel yang ditentukan dalam image pembawa. Jika ingin melekatkan a’1’ digantikan oleh indek 3, dan jika ingin melekatkan a’0’ tidak perlu merubah apapun. Sebab indek warna 7 dalam lukisan original adalah indek 101 (=5) dalam lukisan yang telah disortir. Kedua warna itu bersebelahan, karena itu sangat sulit membedakannya. Sebuah perubahan dari indek 7 ke indek 3 (dan sebaliknya) tidak dapat dilihat dengan mata biasa, kecuali jika dibandingkan secara langsung dengan gambar aslinya. Semua orang dapat mengekstrak bit pesan dengan mudah. Jika ada bit pesan yang dilekatkan pada tiap pixel, dapat digambar sebagai suatu image, misalnya putih untuk steganografi dengan nilai ‘1’ dan hitam untuk nilai ‘0’. Serangan Visual (Visual Attacks) Beberapa pengarang berasumsi bahwa least significant bit dari nilai seri dalam image digital adalah sepenuhnya acak dan karena itu dapat diganti. Dengan serangan visual akan dibahas bahwa asumsi ini adalah salah. Mayoritas algoritma steganografi melekatkan pesan‐pesan pengganti secara hati‐hati bit yang diseleksi dengan bit pesan. Secara nyata, ini adalah sulit untuk memberi ciri yang acak dan muatan image oleh mesin, dan lebih sulit lagi mencirikan least significant bit dan bit random. Itu adalah sangat sulit untuk menetapkan muatan image dengan cara formal. Bagaimanapun, pembatasan menjadi kabur dan pada imajinasi masing‐masing. Penglihatan manusia terlatih untuk mengenali berbagai Halaman 15 Tugas Individu 2: Komputasi Terapan hal. Kemampuan ini digunakan untuk serangan visual. Gambar 10 merepresentasikan least significant bit untuk gambar 9 yang mana menunjukkan bahwa benar‐benar bukan merupakan serangan pada steganografi. Kita masih dapat melihat LSB kedua image, dan kita tidak dapat mengidentifikasi steganogram dengan mata kita, meskipun separuh bagian atas sisi kanan berisi pesan steganografi. Gambar 9 Kincir angin sebagai media pembawa (kiri) dan steganogram (kanan) Gambar 10 Least significant bit dari Gambar 9, hitam untuk LSB=0, putih untuk LSB=1 Halaman 16 Tugas Individu 2: Komputasi Terapan Ide Serangan Visual Gagasan serangan visual adalah untuk memindahkan semua bagian‐bagian yang mencakup image pesan. Mata manusia sekarang dapat menciri apakah ada pesan potensial atau hanya muatan image. Proses penyaringan tergantung pada perkiraan utilitas steganografi, dan mempunyai struktur sebagai berikut : Penyerangan Media pembawa/ steganogram Penyaringan Bit pesan potensial Ilustrasi visual bit pada posisi sumber pixelnya Menempelkan Saringan untuk Serangan Visual Menempelkan saringan untuk serangan visual secara grafik ditunjukkan field nilai pixel ketika fungsi penyaringan diaplikasikan kepadanya. EzStego menggunakan warna pixel, yang digambarkan oleh lukisan, untuk menentukan bit yang dilekatkan. Penempelan saringan untuk serangan visual pada EzStego menggantikan lukisan asli oleh lukisan hitam dan putih. Ini ditunjukkan pada Gambar 11. Gambar 11 Penugasan fungsi warna pengganti; warna yang mempunyai indek dalam lukisan yang disortir menjadi hitam, sisanya menjadi putih. Halaman 17 Tugas Individu 2: Komputasi Terapan Eksperimen Contoh‐contoh berikut dengan jelas menunjukkan suatu asumsi menjadi nyata bahwa LSB adalah sepenuhnya acak dan oleh karena itu mungkin dapat digantikan. Gambar 12 EzStego; penyaringan image dari Gambar 9 : tanpa embedded (kiri), 50% kapasitas dari pembawa digunakan untuk embedding Gambar 13 Image GIF dari hiasan lantai media pembawa, dan image penyaringannya EzStego – penempelan yang berlanjut Pesan‐pesan yang tidak menggunakan panjang maksimum yang dimungkinkan, meninggalkan sisa dari media pembawa tanpa perubahan. EzStego tidak mengenkripsi muatan pesan. Untuk memudahkan mengenali dimana letak pesan disembunyikan ditunjukkan pada Gambar 3.7, tetapi itu tergantung pada muatan image, seperti ditunjukkan pada Gambar 3.8. Halaman 18 Tugas Individu 2: Komputasi Terapan S‐Tools ‐ penempelan yang menyebar S‐Tools menyebar suatu pesan di atas keseluruhan media pembawa. Berlawanan dengan EzStego, tidak ada garis pembatas yang jelas antara sisa yang tidak dirubah, dengan menunda pesan yang lebih pendek, dan perubahan pixel secara steganografi. Keduanya bercampur. Pada image sebelah kanan Gambar 14, Gambar 15, Gambar 16 ada delapan warna, satu bit pada setiap tiga komponen warna, sebab S‐Tools melekatkan sampai tiga bit tiap pixel. Steganos – penempelan berlanjut dengan isian atas Steganos menggunakan media pembawa dengan sepenuhnya dalam tiap‐ tiap kasus. Hal itu akan memenuhi pesan yang lebih pendek, seperti ditunjukkan pada Gambar 18. Penyaringan steganogram tidak pernah berisi muatan awal image (Gambar 17). Gambar 14 Image warna asli BMP sebagai media pembawa, dan image penyaringannya. Gambar 15 S‐Tools; steganogram dengan ukuran maksimum dari teks embedded, dan image penyaringannya Halaman 19 Tugas Individu 2: Komputasi Terapan Jsteg – penempelan pada domain yang diubah Jsteg melekat dalam image JPEG. Dalam image JPEG, image berisi perubahan dalam koefisien frekuensi untuk mencapai penyimpanan yang sama. Tidak ada seranangan visual pada pengertian yang diperkenalkan, sebab satu bit yang steganografi mempengaruhi sampai 256 pixel. Serangan Statistik (Statistical Attacks) Ide Serangan Chi‐square Fungsi embedding EzStego banyak menyisipkan indek penyortiran LSB. Penulisan berlebihan LSB mengubah nilai masing‐masing yang hanya berbeda LSBnya. Pasangan‐pasangan nilai ini disebut PoV dalam sambungan. Jika penulisan LSB distribusinya sama, frekuensi kedua nilai dari masing‐masing PoV menjadi sama. Gambar 17 menggunakan contoh Gambar 16 untuk menjelaskan bagaimana frekuensi warna‐warna gambar berubah, ketika digunakan untuk melekatkan distribusi pesan yang sama. Ide penyerangan statistic ini untuk membandingkan secara teori distribusi frekuensi harapan dalam stegnogram dengan beberapa distribusi sample dalam media pembawa yang mungkin berubah. Gambar 16 S‐Tools; steganogram dengan kapasitas 50% digunakan media pembawa, dan image penyaringan Halaman 20 Tugas Individu 2: Komputasi Terapan Gambar 17 Image warna asli BMP sebagai media pembawa, dan image penyaringan Suatu titik kritis adalah bagaimana cara memperoleh secara teoritis distribusi frekuensi harapan (frekuensi kejadian yang kita harapkan setelah penerapan perubahan steganografi. Frekuensi ini harus tidak diperoleh dari sample acak, sample acak ini mungkin sudah diubah oleh operasi yang steganografi. Tetapi dalam banyak kasus kita tidak mempunyai yang asli untuk membandingkan dengan atau untuk memperoleh frekuensi harapan. Orijinalnya, secara teori frekuensi harapan adalah rata‐rata perhitungan dua frekuensi dalam PoV. Garis yang dihancurkan pada Gambar 19 menghubungkan nilai rata‐rata perhitungan. Sebab fungsi embedding menyisipkan kembali LSB, hal ini tidak merubah jumlah dua frekuensinya. Pengambilan jumlah nilai frekuensi ganjil ditranfer secara korespondensi ke nilai frekuensi genap dalam masing‐masing PoV, dan sebaliknya. Seperti penjumlahan tetap, rata‐rata perhitungan adalah sama untuk suatu PoV dalam kedua‐duanya, media pembawa yang asli dan masing‐masing korespondensi steganogram. Fakta ini memungkinkan untuk memperoleh distribusi frekuensi harapan yang secara teori dari sample acak. Maka tidak memerlukan media pembawa yang asli untuk penyerangan. Derajat kesamaan dari distribusi sample yang diamati dan secara teori distribusi frekuensi harapan adalah pengukuran probabilitas dari beberapa embedding yang sedang berlangsung. Derajat kesamaan ini menentukan penggunakan uji Chi‐square. Uji ini beroperai pada kategori pemetaan observasi. Gambar 18 Steganos; steganogram hanya dengan satu byte teks embedded, image penyaringan Halaman 21 Tugas Individu 2: Komputasi Terapan Gambar 19 Histogram warna sebelum dan sesudah embedding pesan dengan EzStego Dengan langkah‐langkah sebagai berikut : 1. Misalkan ada k kategori dan sample acak pengamatan. Masing‐masing pengamatan harus masuk dalam satu dan hanya satu kategori. Kategori itu adalah semua indek lukisan, warna yang mana ditempatkan pada indek dalam lukisan yang telah disortir. Tanpa membatasi generalisasi, konsentrasikan pada nilai ganjil PoV dari penyerangan media pembawa. Secara teori minimum frekuensi harapan harus lebih dari 4, kita boleh menggabung kategori‐kategori untuk menjaga kondisi ini. 2. Secara teori frekuensi harapan dalam kategori i setelah embedding distribusi pesan yang sama adalah 3. Pengukuran kejadian dalam sample acak adalah 4. Statistik ditentukan dengan dengan derajat kebebasan k‐1. 5. p adalah probabilitas statistik dengan syarat ni = ni* Halaman 22 Tugas Individu 2: Komputasi Terapan Gambar 20 Hiasan lantai sebagai steganogram EzStego, dan penyaringan; penyerangan visual tidak dapat mencirikan antara setengah steganografi dan setengah asli Gambar 21 Probabilitas embedding dengan EzStego dalam image hiasan lantai. Gambar 21 melukiskan suatu steganogram, dimana suatu pesan rahasia 3600 byte telah dilekatkan, pesan yang sama pada Gambar 15, Gambar 16 kelihatan lebih cantik seperti Gambar 3.8, dalam kaitannya dengan muatan gambar. Serangan fisual dapat menjangkau batasnya. Diagram pada gambar 3.16 menunjukkan nilai p dari uji Chi‐square sebagai fungsi penambahan sampel. Nilai p ini adalah probabilitas embedding. Inisialisasinya, sampel dikompres 1% dari pixel, dimulai dari batasan bagian atas. Untuk contoh ini, Persamaan (1) menghasilkan probabilitas embedding, p = 0,8826. Sampel berikutnya dikompres Halaman 23 Tugas Individu 2: Komputasi Terapan dengan penambahan 1% dari pixel., yakni 2% dari gambar yang utuh. Nilai p bertambah menjadi 0,9808. Selama kompres sampel pixel separuh bagian atas, yang telah dilekatkan, nilai p tidak jatuh di bawah 0,77. Pixel gambar yang separuh lebih rendah tanpa perubahan, sebab pesan yang dilekatkan bukanlah seperti itu. Sampel 52% dari pixel meliputi tanpa perubahan pixel yang cukup untuk menentukan nilai p yang utama jatuh sampai 0. (Disini, yang utama berarti probabilitasnya lebih kecil dari presisi numerik 80 bit perhitungan floating point digunakan untuk implementasinya). S‐Tools – penempelan yang menyebar. S‐Tools menyebarkan bit‐bit di atas keseluruhan media pembawa. Oleh karena itu, tipe diagram Gambar 21 tidak digunakan untuk S‐Tools, Tabel 1 mengenali efektifitas uji statistik dengan menerapkan pada beberapa file yang tanpa penempelan, 50% penempelan, atau 99,5% penempelan, secara berturut‐ turut. Kenyataannya uji sederhana ini terlalu lemah untuk mendeteksi perubahan penyebaran. Uji yang lebih sensitif mengambil kombinasi yang sesuai dari k kategori atau kategori yang berbeda. Beberapa eksperimen menunjukkan hasil yang bermanfaat dengan hanya 33% dari teks yang dilekatkan dalam image warna, tetapi uji untuk penempelan teks yang lebih sedikit dengan ε sampai kerapatan 0,5. Steganos – penempelan berlanjut dengan isian atas. Eksperimen di atas memberikan hasil eksperimen yang sama pada steganos. Jika penempelan hanya satu byte dengan steganos, diperoleh probabilitas kesalahan kecil yang sama seperti jika menggunakan kapasitas 100% media pembawa. Ini berkaitan dengan fakta bahwa arus kode digunakan untuk enkripsi pesan rahasia memenuhi pesan dengan lapisan byte sampai kapasitas media pembawa penuh. Jsteg – penempelan dalam domain yang berubah. Penyerangan visual tidak bekerja pada Jsteg. Karena Jsteg (seperti EzStego) melekatkan bit secara terus‐menerus, seperti pada Gambar 3.16, Gambar 3.17, Gambar 20, dan Gambar 21. Ini menunjukkan bahwa uji statistik sangat efektif mengenai Jsteg. Halaman 24 Tugas Individu 2: Komputasi Terapan Kesimpulan Strategi embedding sistem‐stego dengan menyisipkan LSB pada media pembawa, seperti yang telah diuraikan di atas dapat diambil kesimpulan sebagai berikut. Serangan visual yang telah diuraikan menunjukkan bahwa LSB dalam gambar‐gambar tidak sepenuhnya acak, tetapi berkorelasi satu dengan yang lain. Secara jelas dapat dibedakan jika gambar‐gambar itu dipresentasikan menggunakan filter penempelan untuk serangan visual yang diuraikan di atas. Gambar 22 Image JPEG sebagai media pembawa; tanpa sesuatu yang menempel, dan uji statistik yang menghasilkan probabilitas penempelan yang sangat rendah Gambar 23 Jsteg; steganogram dengan penempelan 50% Halaman 25 Tugas Individu 2: Komputasi Terapan Penulisan kembali frekuensi LSB yang sama tentang kejadian yang berbeda dengan probabilitas yang sangat tinggi. Melalui uji statistik kesamaan dengan jelas dapat dideteksi. Dari eksperimen di atas, uji statistik lebih baik daripada serangan visual, karena lebih sedikit ketergantungan pada cover yang digunakan dan dapat secara penuh diotomatiskan, dengan demikian dapat diaplikasikan pada skala yang besar. Dengan tidak menyisipkan semua LSB, tetapi hanya suatu bagiannya dan dengan memilih bit‐bit ini secara acak, tingkat kesalahan kedua serangan visual dan statistik meningkat. Tetapi dengan pengukuran itu, throughput sistem steganografi berkurang. Gambar 24 Jsteg; steganogram dengan ukuran penempelan teks maksimum Halaman 26 Tugas Individu 2: Komputasi Terapan Lampiran Matlab %This program hides a message image in the lower %bit planes of a cover image %read in cover image filename covername = input('Enter image file name with extension (like jennifer.bmp): ', 's'); %read in message image filename messagename = input('Enter message image file name with extension: ', 's'); %open cover and message image files cover = imread(covername); message = imread(messagename); %display on screen the two images figure(1), imshow(cover); title('Original Image (Cover Image)'); figure(2), imshow(message);title('Image to Hide (Message Image)'); %change to double to work with addition below cover=double(cover); message=double(message); %imbed = no. of bits of message image to embed in cover image imbed=4; %shift the message image over (8‐imbed) bits to right messageshift=bitshift(message,‐(8‐imbed)); %show the message image with only embed bits on screen %must shift from LSBs to MSBs showmess=uint8(messageshift); showmess=bitshift(showmess,8‐imbed); figure(3),imshow(showmess);title('4 Bit Image to Hide'); %now zero out imbed bits in cover image coverzero = cover; for i=1:imbed coverzero=bitset(coverzero,i,0); end %now add message image and cover image stego = uint8(coverzero+messageshift); figure(4),imshow(stego);title('Stego image'); %save files if need to %4 bit file that was embedded = same as file extracted imwrite(showmess,'showmesscolor.bmp'); %use bmp to preserve lower bits Halaman 27 Tugas Individu 2: Komputasi Terapan %jpg will get rid of them %stego file imwrite(stego,'stegocolor.bmp'); clc;clear;close all; disp('In order to obtain the source code please visit'); disp('http://www.advancedsourcecode.com/lsbsteganography.asp'); disp(' '); disp('Luigi Rosa'); disp('Via Centrale 35'); disp('67042 Civita Di Bagno'); disp('L''Aquila ‐ ITALY'); disp('mobile +39 3207214179'); disp('email [email protected]'); disp('website http://www.advancedsourcecode.com/'); disp(' '); disp(' '); I = imread('lena.bmp'); rand('state', 0); message = round(rand(100000,1)); Lm = numel(message); % Hiding secret message [Irec] = hidebits(I,message); % Performance evaluation I0 = double(I); I1 = double(Irec); Id = (I0‐I1); signal = sum(sum(I0.^2)); noise = sum(sum(Id.^2)); SNR = 10*log10(signal/noise); disp('SNR Signal to Noise Ratio'); disp(SNR); MSE = noise/numel(I0); peak = max(I0(:)); PSNR = 10*log10(peak^2/MSE); disp('PSNR Peak Signal to Noise Ratio'); disp(PSNR); % Plotting figure,subplot(1,2,1),imshow(I),title('Cover image'); subplot(1,2,2),imshow(Irec),title('Stego Image'); %‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ %‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ % Revealing secret message [rec_message] = recoverbits(Irec,Lm); % Bit error rate disp('Bit error rate'); disp(nnz(message‐rec_message)/numel(message)); Halaman 28 Tugas Individu 2: Komputasi Terapan Daftar Pustaka http://id.wikipedia.org/wiki/Steganografi http://cnx.org/content/m13182/latest/ http://www.advancedsourcecode.com/lsbsteganography.asp http://www.mathworks.com/matlabcentral/fileexchange/11813‐lsb‐steganography Halaman 29