Implementasi Kriptografi dan Steganografi pada File Audio Menggunakan Metode DES dan Parity Coding Yoga bagus Perkhasa, Wahyu Suadi, Baskoro Adi Pratomo Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember 1
[email protected] 2
[email protected] 3
[email protected]
dengan menyembunyikan pesan tersebut ke media stegano yang dapat berupa file image atau audio sehingga orang lain tidak dapat mengetahui bahwa di media tersebut terdapat pesan rahasia.
ABSTRAKS Saat ini teknologi kriptografi sudah sudah dapat dipecahkan dalam sistem pengamanan pesan. Untuk itu diperlukan teknologi steganografi dalam teknik pengamanan pesan. Steganografi adalah seni menyembunyikan pesan rahasia ke dalam suatu media sehingga selain pengirim dan penerima tidak ada yang mengetahui atau menyadari bahwa ada suatu pesan rahasia. Pada tugas akhir ini, dilakukan studi mengenai penerapan steganografi dengan teknik Parity Coding pada media audio wav. Implementasi steganografi akan disertai dengan penerapan kriptografi berupa enkripsi dan dekripsi. Teknik Kriptografi yang akan digunakan adalah DES. Hasil dari implementasi kriptografi dan steganografi ini mengandung noise yang terdengar secara langsung ketika media dijalankan di pemutar musik. Tingkat noise dari hasil kriptografi dan steganografi ini dapat dihitung melalui PSNR (Peak Signal to Noise Ratio).
Pada penelitian sebelumnya yang dilakukan oleh Rizky Firmansyah telah berhasil dilakukan steganografi di media gambar [1]. Pada penelitian ini proses enkripsi yang dilakukan adalah metode DES. Selain metode DES pada penelitian ini ditambahkan dengan steganografi dengan metode Region-Embed Data Density. Hasil dari penelitian ini berupa image yang didalamnya terdapat pesan rahasia. Penelitian ini terbukti berhasil dilakukan dan system keamanannya sangat bagus. Media yang akan dipakai dalam steganografi dalam proposal TA ini adalah file audio wav. File audio wav dipakai sebagai media steganografi karena ukurannya yang lebih besar dibanding file image dan juga bersifat lossless. Sehingga kita dapat menyembunyikan file yang besar ukurannya ke media steganografi tersebut dan juga dari hasil media stegano, pesan yang di enkripsi dapat di ekstraksi kembali sesuai dengan bit yang disembunyikan.
Kata Kunci: DES, Parity Coding, Wav, PSNR 1.
PENDAHULUAN
Dalam segala aspek kegiatan manusia sangat bergantung pada pesan atau data sebagai komponen utama informasi. Sehingga kualitas pengiriman pesan sangatlah penting untuk diperhatikan terutama pada segi keamanan dan kecepatan pengiriman pesan. Dalam proposal tugas akhir ini kualitas pengiriman pesan dari segi keamanan yang akan dibahas.
Metode kriptografi yang dipakai pada proposal TA ini dalah metode DES. DES merupakan metode enkripsi yang umum digunakan. DES beroperasi pada ukuran blok 64 bit. DES mengenkripsikan 64 bit plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkey). Kunci internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit.
Sebagai cara untuk mengamankan pesan yang akan dikirim digunakan istilah kriptografi yaitu teknik penyembunyian pesan dengan beberapa metode yang tersedia. Dengan semakin berkembang teknologi informasi maka kemampuan untuk memecahkan kriptografi atau yang disebut kriptanalisis semakin canggih. Sehingga saat ini pengamanan data melalui kriptografi dianggap kurang aman.
Metode yang akan dilakukan dalam steganografi dalam proposal TA ini adalah metode parity coding. Yaitu metode yang memecah bit bit dari file audio itu menjadi beberapa region dan setiap region tersebut akan disisipi setiap bit dari pesan rahasia. Jika parity dalam bit region tidak sesuai dengan bit pesan rahasia maka bit dari region tersebut diganti LSBnya.
Untuk menambah tingkat keamanan dalam sistem pengamanan pesan, dibutuhkan teknik steganografi. Cara kerja sistem pengamanan pesan melalui steganografi adalah
1
3. Steganografi (Parity Coding) sistem kerja steganografi dengan metode parity coding adalah membagi sinyal media yang telah di encode menjadi beberapa region terpisah dengan ukuran statis. Parity bit dari setiap region dapat disesuaikan sesuai dengan panjang bit pesan rahasia yang sudah di enkripsi. Bit dari pesan rahasia akan disisipkan secara merata ke dalam region yang ada. Jika bit yang akan dimasukkan ke dalam region nilainya berbeda, maka susunan dari bit bit LSB harus diubah sedemikian rupa sehingga parity bit region nilainya sama dengan bit pesan rahasia yang akan disisipkan, namun jika nilainya sama region tidak perlu diubah [3].
Gambar 1. Skema kriptografi dan steganografi
2. Enkripsi (DES)
Steganografi metode parity coding dapat dilakukan pada file audio dan gambar. Dengan melakukan steganografi parity coding maka hasil objek stegano sangat berbeda dengan aslinya. Sehingga akan terjadi noise pada objek hasil steganografi. Noise ini dapat dihitung dari tingkat PSNR
DES termasuk ke dalam sistem kriptografi simetri dan tergolong jenis cipher blok. DES beroperasi pada ukuran blok 64 bit. DES mengenkripsikan 64 bit plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkey). Kunci internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit [2]. Skema global dari algoritma DES adalah sebagai berikut : 1. 2.
3.
4. Ekstraksi Pesan Pesan enkripsi yang telah tersembunyi dalam media audio akan di ekstraksi. Ekstraksi dilakukan dengan cara menentukan threshold atau batas dari pesan yang disembunyikan. Threshold merupakan jumlah bit pesan yang di enkripsi. Setelah kita mengetahui threshold dan jumlah bit tiap parity region maka kita dapat melakukan ekstraksi pesan sesuai region yang dibagi di dalam media audio.
Blok plainteks dipermutasi dengan matriks permutasi awal (initial permutation atau IP). Hasil permutasi awal kemudian di-encipheringsebanyak 16 kali (16 putaran). Setiap putaran menggunakan kunci internal yang berbeda. Hasil enciphering kemudian dipermutasi dengan matriks permutasi balikan (invers initial permutation atau IP-1 ) menjadi blok cipherteks.
5. Dekripsi Pesan Proses dekripsi terhadap cipherteks merupakan kebalikan dari proses enkripsi. DES menggunakan algoritma yang sama untuk proses enkripsi dan dekripsi. Jika pada proses enkripsi urutan kunci internal yang digunakan adalah K1, K2, …, K16, maka pada proses dekripsi urutan kunci yang digunakan adalah K16, K15, …, K1. (R16, L16) adalah blok masukan awal untuk deciphering. Blok (R16, L16) diperoleh dengan mempermutasikan cipherteks dengan matriks permutasi IP-1. Pra-keluaran dari deciphering adalah adalah (L0, R0). Dengan permutasi awal IP akan didapatkan kembali blok plainteks semula.
6. Desain dan Implementasi Pada proses pembuatan perangkat lunak, akan dilakukan desain yang sesuai untuk implementasi kriptografi metode DES dan steganografi metode parity coding. Metode DES diimplementasikan dengan memanfaatkan library DES yang ada pada c#. Sedangkan untuk metode parity coding
Gambar 2. Skema Umum DES
2
Desain perangkat lunak untuk ekstraksi dan dekripsi pesan dapat digambarkan sebagai berikut:
dilakukan dengan cara melakukan konvert pesan enkripsi dan file audio menjadi bit. Setelah menjadi bit proses steganografi dapat dilakukan sesuai yang dijelaskan pada bagian ke 3.
START
File audio Objek Stegano
6.1 Desain Enkripsi dan Penyembunyian Pesan Pesan yang akan digunakan sebagai input adalah pesan text. Pesan text ini kemudian akan di enkripsi terlebih dahulu menggunakan metode DES. Hasil enkripsi selanjutnya akan disembunyikan ke media audio menggunakan metode parity coding. Output dari proses ini dalah file audio yang menjadi objek stegano dan threshold. Threshold merupakan panjang bit pesan yang di enkripsi untuk digunakan pada proses ekstraksi pada proses selanjutnya.
Get Bit Audio
Threshold
Ekstraksi
Jumlah Parity Bit tiap region
Bit Pesan Enkripsi
Ubah Bit ke file string Pesan
Desain perangkat lunak untuk enkripsi dan penyembunyian pesan dapat digambarkan sebagai berikut:
File text
FINISH
START
Gambar 6.1.2 Skema Ekstraksi dan Dekripsi Pesan Membaca inputan file Text
ENKRIPSI DES
Get Bit Pesan Enkripsi
Menentukan audio (.wav) objek Steganografi
Password
6.3 Implementasi Program Berikut adalah gambaran program kriptografi dan steganografi :
Password Padding
Jumlah parity bit tiap region
•
Get Bit Audio
implementasi
Pada user interface yang pertama, user dapat memilih enkripsi dan penyembunyian pesan.
Proses Steganografi Parity Coding
Convert Bit ke Byte
Convert Byte ke file audio ( .wav)
Output : 1. File Audio 2. Threshold
Gambar 6.3.1 Tampilan Awal FINISH
•
Gambar 6.1.1 Skema Enkripsi dan Penyembunyian Pesan
6.2 Desain Ekstraksi dan Dekripsi Pesan Setelah di enkripsi dan disembunyikan tentunya pesan harus dapat di dapatkan lagi dari objek media steganografi. Objek steganografi di ekstraksi menggunakan metode parity coding untuk mendapatkan pesan yang telah di enkripsi. Setelah didapatkan pesan enkripsi maka akan dilakukan proses dekripsi menggunakan metode DES.
3
Pada Proses Enkripsi dan Penyembunyian pesan, user memilih file audio dan menentukan nama file audio hasil steganografi. Selain itu user menentukan parity bit region, password untuk enkripsi DES serta menginputkan file text yang akan di enkripsi dan di steganografikan. Output dari proses ini dalah file audio stegano dan threshold.
8. Hasil dan Pembahasan Berdasarkan hasil analisis, telah berhasil dikembangkan perangkat lunak yang memiliki fungsi untuk menyisipkan dan mengekstraksi pesan. Kemudian dilakukan pengujian untuk memeriksa kebenaran dari perangkat lunak tersebut, beserta kinerja perangkat lunak tersebut. Hasil penyembunyian ditunjukkan pada Tabel 1:
Gambar 6.3.2 Tampilan Enkripsi dan Penyembunyian Pesan •
Pada proses selanjutnya dilakukan proses ekstraksi dan dekripsi. Pada proses ini threshold akan menjadi inputan beserta password untuk melakukan dekripsi metode DES. Jumlah parity bit tiap region juga menjadi inputan pada proses ini. Output dari proses ini dalah pesan text yang di inputkan user pada proses awal.
Masukan Audio
Masukan Pesan
Masuk an Kunci
Keluaran Audio
6_01.wav
bdlog.txt
88499 5
bdlogtesting1. wav
“Yoga Bagus Perkhasa”
88499 5
yogatesting1.w av
WindowsUpda te.log
88499 5
Audio File Size is too Small to Hide The Message try to reduce parity size
Rain_01. wav
bdlog.txt
88499 5
bdlogtesting2. wav
(21,668k b)
“Yoga Bagus Perkhasa”
88499 5
yogatesting2.w av
WindowsUpda te.log
88499 5
windowsupdat e.wav
(684kb)
Gambar 6.3.3 Tampilan Ekstraksi dan Dekripsi Pesan
7. Skenario Pengukuran Kualitas Audio Pada hasil objek steganografi akan terdapat noise. Noise ini terjadi akibat perubahan bit yang dilakukan pada proses parity coding. Pengukuran noise pada objek steganografi dilakukan dengan menggunakan PSNR(Peak Signal to Noise Ratio). Noise ini dapat di dengar secara langsung ketika media objek steganografi di jalankan di pemutar musik. Secara matematis perhitungan noise akan memakai perhitungan nilai PSNR dengan nilai minimal 30 DB. Perhitungan PSNR ini dilakukan dengan memakai rumus persamaan :
Tabel 1. Hasil Pengujian Penyembunyian Pesan Hasil ektraksi pesan ditunjukkan pada Tabel 2:
Dimana P1 adalah kekuatan sinyal berkas audio setelah proses penyembunyian pesan dan P0 adalah kekuatan sinyal awal. Jika nilai PSNR < 30 dB maka dapat dikatakan bahwa kualitas audio hasil steganografi buruk.
4
Keluaran audio
Masuk an Kunci
Pesan Keluaran
Kesimpu lan
bdlogtesting1. wav
88499 5
Bdlog.txt
diterima
yogatesting1.w
88499
“Yoga Bagus
diterima
av
5
Perkhasa”
yogatesting1.w av
88499 3
Bad Data.
ditolak
bdlogtesting2. wav
88499 5
Bdlog.txt
diterima
yogatesting2.w av
88499 5
“Yoga Bagus Perkhasa”
diterima
WindowsUpdat e.log
diterima
windowsupdate 88499 .wav 5
n bit yang signifikan ) windowsupdate.w av
(-28.99dB) Tabel 3. Hasil Pengukuran PSNR Pengujian kinerja perangkat lunak menunjukkan hasil yang memuaskan. Kecepatan proses penyembunyian dan ekstraksi tergantung pada besarnya media steganografi yang digunakan dan besarnya pesan yang disembunyikan. Akan tetapi, ketergantungan ini lebih dipengaruhi oleh besar media. Hal ini dikarenakan proses penyembunyian membutuhkan pembacaan media secara menyeluruh terlebih dahulu untuk menganalisis struktur berkas audio tersebut sedangkan pada proses utamanya dibutuhkan pembacaan media sekali lagi untuk pembagian region dan penulisan bit parity region.
Untuk pengujian secara objektif, hasil pengukuran PSNR terlihat pada tabel 3:
Hasil Objek Steganografi
6_01.wav
bdlogtesting1.wav
(684kb)
(684kb)
(-18.49dB)
(-9.88dB) yogatesting1.wav
Hasil Pengujian Subjekt if
PSNR
buruk
1.195dB
Baik
65.34dB
baik
63.24dB
baik
(tidak bisa dihitung karena tidak ada perubaha
(684kb) (-18.50dB) Rain_01.w av (21,668kb)
bdlogtesting2.wav
Gambar 8.1 bdlogtesting1.wav
(21,668kb) (29.05dB)
(29.03dB) yogatesting2.wav (21,668kb) (29.03dB)
57.20dB
(21,668kb)
Tabel 2. Hasil Pengujian Ekstraksi Pesan
Berkas Audio Asli
baik
Gambar 8.2 yogatesting1.wav
5
Dari hasil pengujian pada gambar diatas, dapat dianalisis bahwa ada keterkaitan nilai objektif PSNR dengan nilai subjektif. Semakin besar nilai PSNR media maka semakin baik pula kualitas audio tersebut secara subjektif. Jika nilai PSNR yang didapat lebih kecil dari 30 dB maka akan terdengar noise yang sangat jelas terdengar oleh telinga manusia. Nilai PSNR ini sendiri dipengaruhi oleh dua hal yaitu besarnya pesan yang disembunyikan dan struktur media steganografi.
3.
Herianto. Pembangunan Perangkat Lunak Steganografi Audio MP3 dengan Teknik Parity Coding pada Perangkat Mobile Phone. ITBbandung: informatika itb; 2008
4.
Bandyopadhyay, Samir K. 2008. “A Tutorial Review on Steganography”. University of Calcutta.
5.
Wijaya, Ermadi Satriya. 2009. “Konsep Hidden Message Menggunakan Teknik Steganografi”.
Dari contoh penggambaran gelombang pada file wav diatas terlihat jelas bahwa terjadi noise yang sangat banyak pada gambar 3 yaitu pada file bdlogtesting. Hal ini dikarenakan file txt yang disembunyikan sangat besar. Berbeda denga gambar 4 pada file yogatesting1 hampir tidak ada noise yang terlihat , hal ini dikarenakan file txt yang disisipkan ukurannya sangat kecil.
6.
T.Morkel, J.H.P.Eloff and M.S. Oliver, “An overview of Image Steganography”, Information and computer society Architecture (ICSA) Research Group.
7.
Silman J., “Steganography and Steganalysis: An Overview”, SANS Institute 2001.
8.
Methods of Audio Steganography, publication on www.Snotmonkey.com
9. Kesimpulan Beberapa hal yang bisa pelaksanaan Tugas Akhir ini adalah : 1. 2.
3.
4.
disimpulkan
dari
Steganografi audio dengan teknik Parity Coding bisa diterapkan pada berkas audio wav. Perangkat lunak yang mengimplementasikan steganografi audio dengan teknik Parity Coding pada berkas wav berhasil dibangun. Kebutuhan fungsional dari perangkat lunak seperti proses penyembunyian dan ekstraksi pesan serta penggunaan kunci sudah dapat dilakukan dengan benar. Kualitas berkas audio yang dihasilkan tergantung dari besarnya ukuran pesan. Semakin besar pesan yang dimasukkan maka noise yang terbentuk. Noise tersebut bisa dikurangi dengan cara membagi region secara merata keseluruh data audio sehingga kualitas bisa tetap terjaga. Pengujian nilai PSNR menunjukkan bahwa nilai PSNR cenderung menurun seiring dengan bertambahnya ukuran pesan yang disembunyikan. Jika ukuran pesan yang disembunyikan semakin besar maka nilai PSNR semakin kecil yang berarti kualitas berkas audio yang disisipkan semakin buruk.
10. Daftar Pustaka 1.
Rizqi Firmansyah, Wahyu Suadi. IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI PADA MEDIA GAMBAR DENGAN MENGGUNAKAN METODE DES DAN REGION-EMBED DATA DENSITY. ITS-Surabaya : informatika its; 2011.
2.
Munir, Rinaldi. 2004. Kriptografi. Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung.
6
Internet