Kamis, 25 Maret 2010

Memecahkan steganografi saya

Mohon maaf saya terlambat untuk memberikan jawaban bagaimana memecahkan steganografi yang saya buat kemarin, sebagai tugas Keamanan Informasi. Nah, pada tulisan kali ini saya akan membahas bagaimana cara mengambil informasi “kuliah ditiadakan”

Nah, kebetulan ada seorang rekan yang sangat interested untuk memecahkan bagaimana saya menyembuyikan informasi. Salah satu cara memecahkan steganografi tersebut ada di pranala ini. Nah, terima kasih banyak telah bersedia untuk memecahkannya. Hehehe

Actually, waktu mengerjakan tugas ini saya mengerjakanny secara programatically, dengan bahasa C#. Berikut ini adalah pembahasannya (bisa jadi alternatif kalo Anda mau iseng2 coding untuk mengakses pixel dll)

Nah, dalam mengakses pixel Anda perlu mengetahui koordinat pixel yang harus Anda akses. Sistem koordinatnya memiliki titik origin (titik asal) dengan koordinat 0,0 di pojok kiri atas. X-nya horizontal dan Y-nya vertikal ke bawah. Berikut ini adalah ilustrasinya :

penjelasan1

 

Nah, bagaimana sekarang kita mengakses titik koordinat  di mana saya mengubah pixel itu? Nah, melalui titik-titik x dan f(x) yang saya berikan di bawahnya. Di sana ada 17 contoh x dan f(x), tepat dengan huruf-huruf kuliah dibatalkan.

Nah, saya membuat sebuah kelas sederhana untuk mendapatkan karakter dari masing-masing pixel dengan koordinat tersebut :

code

Method ColorToUint adalah kelas untuk mengubah warna yang didapatkan dari pixel tertentu menjadi sebuah integer 32 bit. Integer 32 bit dan warna sama-sama 4 byte, oleh karena itu saya tinggal mendapatkan nilai dari Blue (Color.B), Green (Color.G), Red (Color.R), dan juga Alpha (Color.A). Dari situ tinggal kita ubah array of byte menjadi integer.

Method interpret akan melakukan pengubahan terhadap pixel yang ada. Input dari fungsi ini adalah lokasi gambar yang akan kita pecahkan. Sedangkan function adalah pemetaan i terhadap fungsi yang diberikan di gambarnya (pemetaan i terhadap function[i]). Retval adalah string yang akan di kita cari, yaitu string “kuliah ditiadakan. ”.

Kita menggunakan getPixel untuk mendapatkan nilai RGBA dari titik yang saya berikan. Dari situ akan diberikan nilai Color. Dari color, kita menggunakan ColorToUInt untuk mendapatkan nilai integer 4 byte. Dari situ, tinggal di-casting menjadi char untuk mendapatkan nilai karakter di posisi-i.

Mudah bukan? Oh ya, kalau mau source codenya bisa hubungi saya by YM atau email. Email saya tercantumdi sidebar profile saya. :D

Tidak ada komentar: