PENERAPAN STEGANOGRAFI PADA GAMBAR MENGGUNAKAN METODE PRNG (PSEUDO RANDOM NUMBER GENERATOR) Oleh : Irena Susanti G64103026 Pembimbing : Dr. Sugi Guritman Shelvie Nidya Neyman, S.Kom, M.Si
Pendahuluan
Latar Belakang Perkembangan pesat jaringan komputer dan internet Internet rentan terhadap pencurian data Kriptografi teknik untuk menjaga kerahasiaan pesan Information hidingpesan yang dirahasiakan tidak menimbulkan kecurigaan
Tujuan Penelitian Menerapkan steganografi pada gambar dengan metode PRNG Menganalisis kemampuan PRNG dalam penyembunyian pesan Menganalisis kualitas dan keamanan gambar setelah dilakukan penyembunyian pesan Pesan yang telah disembunyikan mampu didapatkan kembali
Ruang lingkup penelitian Cover-image RGB 24-bit dengan format lossless compression (PNG) dan Embedded-image format JPEG Metode subtitusi pada LSB dilakukan dengan PRNG Steganografi gambar dilakukan secara dijital Stego-image harus memenuhi kriteria fidelity dan recovery
Manfaat penelitian Dapat melakukan penyembunyian informasi Dapat mengurangi pesan terdeteksi Mengetahui kemampuan PRNG dalam penyembunyian pesan Mengetahui kualitas dan keamanan gambar setelah penyembunyian pesan
Tinjauan Pustaka
Steganografi Bahasa Yunani yaitu stegos dan graphia tulisan tersembunyi Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia sedemikian sehingga keberadaan pesan tidak terdeteksi oleh manusia (Munir 2006) Tiga metode penyembunyian pesan yaitu Least Significant Bit, Filtering and Masking, dan Algorithm and transformation
Kriptografi bahasa Yunani Cryptographia. Kriptografi adalah studi teknik matematik yang berkaitan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, autentikasi entitas, dan autentikasi asal data (Menezes et al. 1996).
Istilah – istilah dalam steganografi (Pfitzmann 1996) Cover-image media berupa gambar untuk menyembunyikan informasi agar tidak diketahui oleh pihak lain. Embedded-image data atau informasi berupa gambar yang akan disembunyikan. Stego-image hasil dari proses penyisipan pesan berupa gambar pada media gambar. Stego-key kunci rahasia yang digunakan dalam menyembunyikan informasi dan juga untuk mendapatkan kembali informasi. Steganalisis ilmu dan seni untuk mendeteksi pesan tersembunyi menggunakan steganografi. Orang yang menggeluti steganalisis disebut steganalis
Model Warna RGB Merepresentasikan sebuah piksel dalam tiga buah nilai, yaitu Red (R), Green (G), dan Blue (B). Masing-masing komponen tersebut direpresentasikan dalam 8 bit Sebuah warna dalam piksel gambar RGB dapat direpresentasikan dalam 3 byte atau 24-bit (Curran & Bailey 2003)
Least Significant Bit (LSB) bit-bit yang jika diubah tidak akan berpengaruh secara nyata terhadap kombinasi warna yang dihasilkan oleh ketiga komponen warna RGB (Johnson & Jajodia 1998).
Pseudo Random Number Generator (PRNG) Algoritma yang membangkitkan deretan bilangan yang tidak benar-benar acak Dihasilkan dengan rumus-rumus matematika dan dapat berulang secara periodik Bilangan acak dalam kriptografi : Pembangkitan elemen-elemen kunci, Initialization Vector, parameter kunci dalam sistem kriptografi kunci publik, dsb. Algoritma PRNG yaitu Linear Congruential Generator (LCG), Lagged Fibonacci Generator, LFSR, Blum Blum Shub, Fortuna, dan Mersenne Twister (Munir 2006)
Linear Congruential Generator (LCG) Salah satu pembangkit bilangan acak tertua dan sangat terkenal Xn = (a Xn-1 + b ) mod m Kunci pembangkit adalah X0 yang disebut umpan (seed) Periode tidak lebih besar dari m, dengan syarat b relatif prima terhadap m. a - 1 dapat dibagi dengan semua faktor prima dari m. a - 1 adalah kelipatan 4 jika m adalah kelipatan 4. m > maks (a, b, X0). a > 0, b > 0. (Munir 2006)
Peak Signal-to-Noise Ratio (PSNR) PSNR adalah ukuran kesamaan gambar dengan mengukur perbedaan piksel antara gambar asli dan gambar yang mengandung pesan Mean Squared Error (MSE) adalah akar kumulatif nilai eror antara gambar yang mengandung pesan dan gambar asli (dB) (Mulopulos et al. 2003)
Metode Penelitian
Tahap Pengembangan Sistem Studi Pustaka Kesimpulan Analisis Hasil Implementasi Penentuan tujuan dan batasan Penentuan Masalah
Studi Pustaka Mengumpulkan referensi informasi yang berhubungan dengan steganografi dan Pseudo Random Number Generator (PRNG)
Penentuan Masalah Permasalahan yang akan diteliti dalam penelitian ini, yaitu pemilihan bit-bit pada gambar yang tepat untuk diganti Proses pembangkitan PRNG Penggunaan stego-key Hasil analisis yang diharapkan
Penentuan Tujuan dan Batasan Penelitian ini akan menerapkan steganografi pada gambar menggunakan metode PRNG, menganalisis kemampuan PRNG dalam penyembunyian pesan gambar, menganalisis keamanan dan kualitas gambar hasil penyembunyian pesan kebutuhan dalam penelitian ini yaitu menyiapkan pesan yang akan disembunyikan format JPEG, kunci, dan cover-image dalam format lossless compression (PNG)
Implementasi Proses yang dilakukan dalam penerapan steganografi pada gambar adalah: proses penyembunyian pesan, proses pengambilan pesan, serta implementasi perangkat lunak, dan perangkat keras.
Diagram alir penyembunyian pesan
Diagram alir mendapatkan pesan
Implementasi prosesor AMD Athlon XP 2400+ 2.0 GHz, Perangkat Keras : prosesor AMD Athlon XP 2400+ 2.0 GHz, RAM dengan kapasitas 768 MB, Harddisk dengan kapasitas 80 GB, Monitor VGA dengan resolusi 1024x768 piksel, Mouse dan Keyboard Perangkat Lunak Sistem operasi: Microsoft Windows XP Professional 2002 SP1, web server: Apache 2.0.53, web editor: Macromedia Dreamweaver MX 2004, Bahasa pemrograman web: PHPMyAdmin 2.6.1, dan web browser: Microsoft Internet Explorer 6
Analisis hasil implementasi Analisis algoritma PRNG Analisis ukuran pesan Analisis stego-key Analisis penyembunyian pesan Analisis pengambilan pesan Analisis kualitas Analisis keamanan
Kesimpulan Setelah melakukan implementasi dan analisis akan didapatkan beberapa kesimpulan Kesimpulan mengenai penerapan metode PRNG, hasil analisis kualitas, dan hasil analisis keamanan
Hasil dan Pembahasan
Analisis Algoritma PRNG Algoritma PRNG yang paling sesuai adalah Linear Congruential Generator (LCG) LCG sangat dipengaruhi oleh nilai a, b, dan m Tabel 1 Konstanta a, b, dan m yang dapat digunakan a b m 1.561 33.787 307.200 5.521 53.971 2.761 6.841
Analisis Algoritma PRNG a = 5.521, b = 33.787, m = 307.200 Penentuan nilai a, b, dan m harus memenuhi syarat berikut: b relatif prima terhadap m yaitu, gcd (b,m) = gcd (33.787, 307.200)=1 atau x(b)+y(m)=1 -28.877(33.787)+3.176(307.200)=1 a – 1 dapat dibagi dengan semua faktor prima dari m (5.521-1) dapat dibagi dengan 2, 3, 5 a – 1 adalah kelipatan 4 jika m adalah kelipatan 4. 307.200 dapat dibagi 4, (5.521-1) dapat dibagi 4 m > maks(a, b, X0) 307.200 >maks (5.521, 33.787, X0) a > 0, b > 0 5.521 > 0, 33.787 >0
Dimensi File Cover (640 x 480 piksel) Analisis ukuran pesan Proses penyembunyian pesan dapat dilakukan jika ukuran pesan lebih kecil dari ukuran cover-image Ukuran pesan (bytes) = [((Panjang cover * Lebar cover) –55)* (level*3)] / 8 Tabel 2 Ukuran pesan maksimum yang dapat disembunyikan dalam cover Level Dimensi File Cover (640 x 480 piksel) 1 115.179 bytes 2 230.358 bytes 3 345.538 bytes 4 460.717 bytes
Analisis Stego-key Stego-key yang digunakan berfungsi sebagai initial value pada algoritma PRNG, dan penentuan level bit yang akan disembunyikan Tabel 3 Stego-key Stego-key (Kunci) Initial Value Level Bit ilkomers 145691 1 infohide 113686 komputer 218531 2 embedded 249594 kualitas 38155 3 pixel 83955 steganog 42812 4 password 84334
Analisis Stego-key ilkomers 145.691 01101001 01101100 01101011 01101111 01101101 01100101 01110010 01110011 Padding sehingga panjang bit kelipatan nilaiblok=floor(log2 total piksel) Nilai blok = floor (log2 307.200)=18 011010010110110001101011011011110110110101100101011100100111001100000000 011010010110110001 101011011011110110 110101100101011100 100111001100000000 XOR XOR 000100101000011011 XOR 110001001101000111 100011100100011011 145.691
Analisis Penyembunyian Pesan Cek level 1] Level 1 ilkomers 145.691 boundary, level, iterasi lcg, nama file pesan 2] Header 3] Xn = (a Xn – 1 + b) mod m X0 X55 Sisipkan header pada 1 LSB Sisipkan pesan pada 1 LSB X54 Xn 4] Simpan hasil penyembunyian pesan
Analisis Penyembunyian Pesan Kompleksitas waktu algoritma adalah O(n) Perhitungan kompleksitas lebih lengkap dijelaskan sebagai berikut:
Analisis Waktu Penyembunyian Pesan Tabel 4 Hasil analisis waktu penyembunyian pesan (detik)
Analisis Waktu Penyembunyian Pesan Ukuran file dan level bit berpengaruh terhadap waktu penyembunyian pesan Grafik waktu penyembunyian pesan
Analisis Pengambilan Pesan 1] ilkomers 2] Xn = (a Xn – 1 + b) mod m X0 X54 boundary, level, iterasi lcg, nama file pesan Header 3] Level dan iterasi lcg digunakan untuk pemanggilan fungsi lcg berikutnya 4] Xn = (a Xn – 1 + b) mod m X55 Xn Pesan 5] Pesan yang didapat akan disimpan dalam bentuk file pesan dengan nama sesuai dengan nama file pesan
Analisis Pengambilan Pesan Kompleksitas waktu algoritma adalah O(n) Perhitungan kompleksitas lebih lengkap dijelaskan sebagai berikut:
Analisis Waktu Pengambilan Pesan Tabel 5 Hasil analisis waktu pengambilan pesan (detik)
Analisis Waktu Pengambilan Pesan Ukuran file dan level bit berpengaruh terhadap waktu pengambilan pesan Grafik waktu pengambilan pesan
Analisis Kualitas Proses penyembunyian pesan akan mempengaruhi kualitas pesan Proses penyembunyian pesan pada steganografi harus memenuhi kriteria fidelity dan recovery Analisis kualitas pesan dilakukan dengan menghitung nilai PSNR
Analisis kualitas Tabel 6 Hasil analisis kualitas stego-image (dB)
Analisis Kualitas Analisis kualitas dapat dikatakan baik apabila kualitas stego-image yang dihasilkan sulit untuk dibedakan dengan cover-image kualitas stego-image sangat dipengaruhi oleh besarnya ukuran file pesan, serta level bit yang digunakan
Analisis Keamanan Penggantian bit-bit yang redundan dapat menimbulkan kecurigaan, sehingga serangan dapat dilakukan untuk mendeteksi adanya data yang disembunyikan analisis keamanan serangan pendeteksian secara visual Diasumsikan steganalis mempunyai cover-image dan stego-image membandingkan kedua gambar
Analisis Keamanan Analisis keamanan dilakukan dengan menyebarkan kuisioner kepada 30 responden Responden terdiri atas 50% mahasiswa Ilmu Komputer dan 50% mahasiswa di luar Ilmu Komputer
Analisis Keamanan Stego-key Jumlah Berbeda Sedikit Berbeda Tabel 7 Hasil kuisioner untuk analisis keamanan Stego-key Jumlah Berbeda Sedikit Berbeda Tidak Berbeda ilkomers 2 28 infohide komputer 4 26 embedded 6 24 kualitas pixel steganog password Grafik hasil kuisioner
Analisis Keamanan stego-image yang dihasilkan tidak terlalu menimbulkan kecurigaan sebagian besar responden tidak menyadari adanya perbedaan antara stego-image dan cover-image
Analisis Keamanan Cover-image red Stego-image red
Analisis Keamanan Cover-image green Stego-image green
Analisis Keamanan Cover-image blue Stego-image blue
Analisis Keamanan Algoritma PRNG yang digunakan, Pada histogram cover-image dan stego-image untuk komponen warna red, green, dan blue, tidak tampak perbedaan yang nyata Walaupun steganalis mencurigai adanya pesan yang tersembunyi, tetapi akan sulit untuk mengambil isi pesan. Karena harus mengetahui: Algoritma PRNG yang digunakan, Kunci sebagai initial value pada LCG, Kombinasi nilai a, b, dan m, Iterasi LCG, LSB level berapa yang digunakan, serta Format pesan yang disembunyikan.
Kesimpulan dan Saran
Kesimpulan Algoritma LCG sesuai untuk menghasilkan deretan bilangan acak. Kompleksitas waktu untuk algoritma PRNG, yaitu O(n). Semakin besar level bit yang digunakan, maka semakin besar ukuran file yang dapat disembunyikan. Waktu yang dibutuhkan pada proses penyembunyian dan pengambilan pesan, akan semakin besar seiring bertambahnya ukuran file pesan yang disembunyikan dan level bit yang digunakan. Kompleksitas waktu untuk algoritma penyembunyian dan pengambilan pesan, yaitu O(n)
Kesimpulan Semakin besar nilai PSNR, maka stego-image yang dihasilkan semakin sulit dibedakan dengan cover-image. Algoritma steganografi pada penelitian ini cukup aman terhadap serangan pendeteksian secara visual Steganalis harus mengetahui: Algoritma PRNG yang digunakan, Kunci sebagai initial value pada LCG, Kombinasi nilai a, b, dan m, Iterasi LCG, LSB level berapa yang digunakan, serta Format pesan yang disembunyikan
Saran Penelitian dengan algoritma PRNG seperti ini dapat diterapkan pada tipe media lain seperti video atau audio. Algoritma PRNG yang dapat digunakan tidak hanya LCG, akan tetapi bisa menggunakan algoritma PRNG lainnya. Dapat menerapkan algoritma PRNG pada metode lainnya yaitu, Filtering and Masking, dan Algorithms and Transformation. Untuk meningkatkan kualitas keamanan pada pesan, dapat dilakukan enkripsi terlebih dahulu
Daftar Pustaka Curran K, Bailey K. 2003. An Evaluation of Image Based Steganography Methods 2: 16. [terhubung berkala]. http://www.ijde.org [05 Okt 2006]. Johnson N.F, Jajodia S. 1998. Exploring Steganography: Seeing the Unseen. George Mason University. http://www.jjtc.com/pub/r2026.pdf [04 Okt 2006]. Johnson N.F, Zoran D and Jajodia S. 2001. Information Hiding and Watermarking-Attacks & Countermeasures. Kluwer. Menezes A, Oorschot PV and Vanstone S. 1996. Handbook of Applied Cryptography. CRC Press. Mulopulos GP, Hernandez AA and Gasztonyi LS. 2003. Peak Signal to Noise Ratio Performance Comparison of JPEG and JPEG 2000 for Various Medical Image Modalities. Compressus Inc. http://www.debugmode.com/imagecmp/ SCAR CompressionRatio - Jun 2003.pdf [07 Juni 2007]
Daftar Pustaka Munir R. 2006. Kriptografi. Bandung: Informatika. Pfitzmann B. 1996. Information Hiding Terminology. Proceedings of First International workshop. Cambridge, May-June 1996. Cambridge: Lecture Notes in Computer Science. hlm 347-350. Sentosa H. 2005. Penyembunyian Informasi Terenkripsi dalam Media Gambar dengan Metode Least Significant Bit (LSB) Insertion. [Skripsi]. Bogor : Departemen Ilmu Komputer IPB. Yadma SR. 2003. Steganography and Attacks Against the LSB Encoding in PNG Images. Indian Institute of Technology. http://data-hiding.com/ [23 Mei 2007].
Terima Kasih