320 likes | 572 Views
Steganografi. Bahan kuliah IF5054 Kriptografi. Pengantar: Prisoner’s Problem. Pesan rahasia: “Lari jam satu”. Bagaimana Bob mengirim pesan rahasia kepada Alice tanpa diketahui oleh Fred? Alternatif 1: mengenkripsinya xjT#9uvmY!rc$ Fred pasti curiga!.
E N D
Steganografi Bahan kuliah IF5054 Kriptografi Rinaldi Munir/IF5054 Kriptografi
Pengantar: Prisoner’s Problem Pesan rahasia: “Lari jam satu” Rinaldi Munir/IF5054 Kriptografi
Bagaimana Bob mengirim pesan rahasia kepada Alice tanpa diketahui oleh Fred? • Alternatif 1: mengenkripsinya xjT#9uvmY!rc$ Fred pasti curiga! Rinaldi Munir/IF5054 Kriptografi
Alternatif 2: menyembunyikannya di dalam pesan lain Lupakan asal rumor itu, jaga agar matamu sehat aku turunkan ubanmu Fred tidak akan curiga! Information hiding dengan steganografi! Rinaldi Munir/IF5054 Kriptografi
Apa Steganografi itu? • “steganos” (B.Yunani) tulisan tersembunyi (covered writing) Steganography: ilmu dan seni menyembunyikan (embedded) informasi dengan cara menyisipkan pesan di dalam pesan lain [1]. Steganografi digital: steganografi pada data digital dengan menggunakan komputer digital Rinaldi Munir/IF5054 Kriptografi
Pesan (message) 3. Gambar (image) 4. Video 1. Teks “Torang semua bersodara” 2. Audio Rinaldi Munir/IF5054 Kriptografi
Properti Steganografi • Embedded message (hiddentext): pesan yang disembunyikan. • Cover-object (covertext): pesan yang digunakan untuk menyembunyikan embedded message. • Stego-object (stegotext): pesan yang sudah berisi pesan embedded message. • Stego-key: kunci yang digunakan untuk menyisipan pesan dan mengekstraksi pesan dari stegotext. Rinaldi Munir/IF5054 Kriptografi
Contoh-contoh: Lupakan asal rumor itu, jaga aga matamu sehat atau turunkan ubanmu Covertext: upakan sal umor tu aga aga atamu ehat tau turunkan banmu Hiddentext: Lari jam satu Stegotext: Lupakan asal rumor itu, jaga aga matamu sehat atau turunkan ubanmu Rinaldi Munir/IF5054 Kriptografi
Gerakan orang-orang dari yogya enggan ambil resiko Covertext: erakan rang-rang ari ogya nggan mbil esiko Hiddentext: Good year Stegotext: Gerakan orang-orang dari yogya enggan ambil resiko Rinaldi Munir/IF5054 Kriptografi
http://www.randomhouse.com/doubleday/davinci/ Sumber: http://budi.paume.itb.ac.id Rinaldi Munir/IF5054 Kriptografi
Steganografi di dalam film Mercury Rising dan Beautiful Mind Sumber: http://budi.paume.itb.ac.id Rinaldi Munir/IF5054 Kriptografi
Sejarah Steganografi • Steganografi dengan media kepala budak (Herodatus, penguasa Yunani). Kepala budak dibotaki, ditulisi pesan, rambut budak dibiarkan tumbuh, budak dikirim. • Penggunaan tinta tak-tampak (invisible ink). Tinta dibuat dari campuran sari buah, susu, dan cuka. Tulisan di atas kertas dapat dibaca dengan cara memanaskan kertas tersebut. Rinaldi Munir/IF5054 Kriptografi
Steganografi vs Kriptografi • Steganografi dapat dianggap pelengkap kriptografi (bukan pengganti). • Steganografi: menyembunyikan keberadaan (existence) pesan Tujuan: untuk menghindari kecurigaan (conspicuous) • Kriptografi: menyembunyikan isi (content) pesan Tujuan: agar pesan tidak dapat dibaca Rinaldi Munir/IF5054 Kriptografi
Latihan: Buat pesan stegotext untuk menyembunyikan pesan rahasia: “serbu nanti malam” dengan ketentuan: 1. Disembunyikan sebagai huruf awal setiap kata 2. Disembunyikan sebagai huruf akhir setiap kata Rinaldi Munir/IF5054 Kriptografi
Kriteria Steganografi yang Bagus 1. Imperceptible Keberadaan pesan rahasia tidak dapat dipersepsi. 2. Fidelity. Mutu cover-object tidak jauh berubah akibat embedded. 3. Recovery. Data yang disembunyikan harus dapat diungkapkan kembali. Kriteria robustness tidak terlalu penting karena yang utama steganografi bertujuan untuk menghindari kecurigaan (lawan tidak menyadari keberadaan pesan tersembunyi). Rinaldi Munir/IF5054 Kriptografi
Teknik yang Digunakan • Spatial (time) domain Memodifikasi langsung nilai byte dari cover-object (nilai byte dapat merepresentasikan intensitas/warna pixel atauamplitudo) • Tranform domain Memodifikasi hasil transformasi sinyal dalam ranah frekuensi. Rinaldi Munir/IF5054 Kriptografi
Metode LSB (spatial domain) Mengganti bit LSB dengan bit data. 11010010 MSBLSB LSB = Least Significant Bit MSB = Most Siginificant Bit • Mengubah bit LSB hanya mengubah nilai byte satu lebih tinggi atau satu lebih rendah dari nilai sebelumnya tidak berpengaruh terhadap persepsi visual/auditori. Rinaldi Munir/IF5054 Kriptografi
Metode LSB • Misalkan penyisipan pada citra 24-bit. • Setiap pixel panjangnya 24 bit (3 x 3 byte, masing-masing komponen R (1 byte), G (1 byte), dan B (1 byte)) 00110011 10100010 11100010 (misal pixel berwarna merah) • Misalkan embedded message: 010 • Encoding: 00110010 10100011 11100010 (pixel berwarna “merah berubah sedikit”, tidak dapat dibedakan secara visual dengan citra aslinya) Rinaldi Munir/IF5054 Kriptografi
Jika pesan = 10 bit, maka jumlah byte yang digunakan = 10 byte • Contoh susunan byte yang lebih panjang: 00110011 10100010 11100010 10101011 00100110 10010110 11001001 11111001 10001000 10100011 • Pesan: 1110010111 • Hasil penyisipan pada bit LSB: 00110011 10100011 11100011 10101010 00100110 10010111 11001000 11111001 10001001 10100011 Rinaldi Munir/IF5054 Kriptografi
Metode LSB • Ukuran data yang akan disembunyikan bergantung pada ukuran cover-object. • Citra 24-bit ukuran 256 256 pixel = 65536 pixel. • Setiap pixel berukuran 3 byte (komponen RGB), berarti ada 65536 3 = 196608 byte. • Setiap 1 byte menyembunyikan satu bit di LSB-nya, maka ukuran data yang dapat disembunyikan: 196608/8 = 24576 byte Rinaldi Munir/IF5054 Kriptografi
LSB • Untuk memperkuat teknik penyembunyian data, bit-bit data rahasia tidak digunakan mengganti byte-byte yang berurutan, namun dipilih susunan byte secara acak. • Pembangkit bilangan acak-semu (PRNG: pseudo-random number generator) digunakan untuk membangkitkan bilangan acak. • Umpan (seed) untuk bilangan acak berlaku sebagai kunci (stego-key). • Misalnya jika terdapat 50 byte dan 6 bit data yang akan disembunyikan, maka maka byte yang diganti bit LSB-nya dipilih secara acak, misalkan byte nomor 36, 5, 21, 10, 18, 49. Rinaldi Munir/IF5054 Kriptografi
Ekstraksi pesan dari Stego-object • Pesan yang disembunyikan di dalam citra dapat diungkap kembali dengan mengekstraksinya. • Posisi byte yang menyimpan bit pesan dapat diketahui dari bilangan acak yang dibangkitkan oleh PRNG. • Jika kunci yang digunakan pada waktu ekstraksi sama dengan kunci pada waktu penyisipan, maka bilangan acak yang dibangkitkan juga sama. • Dengan demikian, bit-bit data rahasia yang bertaburan di dalam citra dapat dikumpulkan kembali. Rinaldi Munir/IF5054 Kriptografi
LSB • Keuntungan Mudah diimplementasikan dan proses encoding cepat • Kelemahan Tidak tahan terhadap pengubahan (modifikasi) terhadap cover object. Mudah dihapus karena lokasi penyisipan diketahui (bit LSB) Rinaldi Munir/IF5054 Kriptografi
Tranform Domain • Sinyal dalam ranah spasial/waktu diubah ke ranah frekuensi dengan menggunakan transformasi seperti - DCT (Discrete Cosine Transform), - DFT (Discrete Fourier Transform), dan - DWT (Discrete Wavelet Trabform) • Penyisipan pesan dilakukan pada koefisien tranformasi. • Keuntungan: kokoh (robust) terhadap manipulasi pada stego-object. Rinaldi Munir/IF5054 Kriptografi
DCT: • IDCT: • Keterangan: Citra berukuran M x N Rinaldi Munir/IF5054 Kriptografi
Penyisipan dilakukan pada koefisien DCT, yaitu C(p, q) • Misalkansemua koefisien DCT disimpan di dalam vektor/larik v[1..n] • Pesan yang akan disembunyikan (dalam biner)adalah X = x1x2…xm dikodekan sebagai barisan {–1, +1} dengan pemetaan: Rinaldi Munir/IF5054 Kriptografi
Posisi penyisipan pesan dapat ditentukan secara acak atau pada posisi berurutan • Penyisipan pesan dengan formula: • dipilih sedemikian sehingga tidak merusak content sinyal semula. Nilai antara 0 dan 1. • Selanjutnya dilakukan IDCT untuk mengembalikan sinyal dalam ranah frekuensi ke ranah spasial/waktu. • Metode lain yang berbasis tranform domain: spread spectrum steganography. Rinaldi Munir/IF5054 Kriptografi