V1441 PENGEMBANGAN APLIKASI PENGAMANAN PESAN SUARA

Download Media suara pada bidang teknologi informasi saat ini telah digunakan untuk dokumentasi ... Kata Kunci: Suara, WAV, Kriptografi, Blowfish. ...

0 downloads 432 Views 460KB Size
PENGEMBANGAN APLIKASI PENGAMANAN PESAN SUARA MENGGUNAKAN METODE BLOWFISH Salihin Abadi Jurusan Teknik Informatika, Fakultas Teknik dan Ilmu Komputer Universitas Harapan Medan, Jl. HM Jhoni No. 70 Medan, Indonesia [email protected]

Abstrak Media suara pada bidang teknologi informasi saat ini telah digunakan untuk dokumentasi dan komunikasi. Seperti rekaman suara, musik dan lain sebagainya saat ini telah dapat di proses dan di olah menggunakan komputer. Salah satu format suara yang banyak digunakan saat ini adalah media WAV. WAV merupakan salah satu format media yang dikeluarkan oleh Microsoft sehingga banyak digunakan oleh para pengguna Microsoft Windows. Layaknya informasi lain seperti teks, gambar dan lain lain, suara juga dapat saja mengandung informasi berharga yang jika di dengar oleh pihak yang tidak berhak dapat mengakibatkan kerugian bagi pemilik informasi tersebut. Pada penelitian ini dilakukan implementasi metode kriptografi terhadap informasi yang terkandung pada media suara WAV. Implementasi Blowfish yang dilakukan pada penelitian ini menunjukkan bahwa media suara WAV dapat di enkripsikan dan di dekripsikan dengan baik dimana suara asli mengalami perubahan yang cukup besar setelah di enkripsikan dan dapat dikembalikan dengan baik setelah di dekripsikan. Kata Kunci: Suara, WAV, Kriptografi, Blowfish. Abstract

The voice media in the field of information technology has now been used for documentation and communication. Such as voice recording, music and so on now has been able to process and in though using a computer. One of the most widely used sound formats today is the WAV media. WAV is one of the media formats issued by Microsoft so widely used by Microsoft Windows users. Like other information such as text, images etc., the voice may also contain valuable information which if heard by an unauthorized person may result in harm to the owner of the information. In this research, the implementation of cryptographic methods to the information contained in the WAV sound media. The implementation of Blowfish conducted in this study shows that WAV sound media can be encrypted and decrypted properly where the original sound changes considerably after encryption and can be restored properly after being decrypted. Keywords: Sound, WAV, Cryptography, Blowfish.

1. Pendahuluan Komunikasi suara merupakan salah satu bentuk komunikasi yang telah ada sejak dahulu kala. Seiring dengan berkembangnya teknologi, komunikasi suara tidak hanya dapat dilakukan dengan melakukan tatap muka langsung namun dapat menggunakan transimi jaringan komunikasi jarak jauh ataupun dengan bertukar data suara dalam format digital. Internet yang saat ini telah berkembang dengan sangat pesat telah mendorong penggunaan suara digital untuk dokumentasi, komunikasi dan lain sebagainya. Informasi yang mengalir pada jaringan global memudahkan setiap orang untuk membaca

dan menerima informasi itu dengan mudah tanpa hak akses yang legal. Salah satu upaya untuk mengatasi masalah keamanan tersebut adalah menerapkan enkripsi pada pesan atau informasi tersebut, teknik enkripsi atau pengamanan pesan saat ini telah memiliki bidang ilmu tersendiri yang disebut kriptografi. Kriptografi adalah ilmu atau seni untuk menjaga keamanan sebuah pesan data yang dikirim dari satu tempat ketempat lain [1]. Salah satu aspek keamanan yang perlu dijamin dalam satu pesan secara digital adalah kerahasiannya. Kerahasiaan adalah layanan yang digunakan dalam menjaga informasi dari setiap pihak yang tidak berwenang untuk mengaksesnya.

Metode kriptografi saat ini telah banyak dikembangkan dengan ditandai munculnya berbagai jenis metode kriptografi baik yang simetris maupun yang asimetris. Salah satu metode yang cukup dikenal adalah metode Blowfish. Blowfish alias "OpenPGP.Cipher.4" merupakan enkripsi yang termasuk dalam golongan Symmetric Cryptosystem , metoda enkripsinya mirip dengan DES (DES-like Cipher) diciptakan oleh seorang Cryptanalyst bernama Bruce Schneier Presiden perusahaan Counterpane Internet Security, Inc (Perusahaan konsultan tentang kriptografi dan keamanan Komputer) dan dipublikasikan tahun 1994. Sejak saat itu telah dilakukan berbagai macam analisis, dan perlahan - lahan mulai mendapat penerimaan sebagai algoritma enkripsi yang kuat, kriptografi adalah pengetahuan dalam menulis kode rahasia dan merupakan seni yang telah ada dari zaman sejarah [2]. Ada beberapa referensi yang diambil sebagai bahan pertimbangan untuk penelitian yang dilakukan, referensi tersebut diambil dari beberapa penelitian yang dilakukan sebelumnya yang membahas tentang permasalahan yang hampir sama, antara lain : 1. Penelitian yang dilakukan oleh Rohmat Nur Ibrahim, yang mengembangkan aplikasi keamanan citra digital menggunakan kombinasi metode kriptografi termasuk metode blowfish [2]. 2. Penelitian lain juga dilakukan oleh Cucu Tri Eka Yuliana yang mengimplementasikan metode blowfish pada steganografi End of File [3]. Dibuat untuk digunakan pada komputer yang mempunyai microposesor besar (32-bit keatas dengan cache data yang besar). Sampai saat ini belum ada attack yang dapat memecahkan blowfish. Sistem yang akan dibangun untuk menyisipkan pesan suara ke dalam media format WAV yang dilakukan dengan menerapkan metode Modifikasi Least Significant Bit (LSB). Metode Modifikasi least Significant bit dengan mengubah nilai–nilai bit terakhir dalam satu byte ke dalam satu byte data audio. Dimana nilai–nilai byte data audio tersebut akan disusun dengan cara random agar tidak kelihatan oleh orang yang tidak berhak mengaksesnya [4]. Sehingga tidak terjadinya pembajakan suara antara pihak pertama dan pihak kedua dari orang yang tidak bertanggung jawab. Dalam pelaksanaan penelitian ini, masalah yang dibahas, dan diselesaikan adalah:

1. Bagaimana cara mengamankan pesan suara dengan Blowfish. 2. Bagaimana menerapkan metode Blowfish pada pengamanan data suara dalam format file WAV. 3. Bagaimana perancangan aplikasi pengamanan pesan suara dengan menggunakan Blowfish dalam format WAV Tujuan dari penelitian ini, antara lain : 1. Impelementasi algoritma Blowfish dalam sistem pengamanan data suara 2. Menjaga keamanan data agar pihak yang tidak berwenang atau kriptanalisis tidak dapat memecahkan data yang telah di acak, sehingga keamanan dan kerahasiaan data dapat terjaga. 3. Sistem yang dibangun dapat di manfaatkan untuk proses enkripsi dan dekripsi data suara. Kriptografi berasal dari bahasa yunani, cypto dan graphia. Crypto berarti rahasia dan graphia berarti tulisan. Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat lain. Pada dasarnya kriptografi merupakan ilmu pengetahuan yang mempelajari proses transformasi informasi menjadi pesan yang tidak dapat dikenali lagi maknanya. Pesan awal biasa disebut sebagai plaintext, hasil transformasi disebut sebagai chipertext. Algoritma utama terbagi menjadi dua subalgoritma utama, yaitu bagian ekspansi kunci dan bagian enkripsi-dekripsi data. Pengekspansian kunci dilakukan pada saat awal dengan masukan sebuah kunci dengan panjang 32 bit hingga 448 bit, dan keluaran adalah sebuah array subkunci dengan total 4168 byte. Bagian enkripsi-dekripsi data terjadi dengan memanfaatkan perulangan 16 kali terhadap jaringan feistel. Setiap perulangan terdiri dari permutasi dengan masukan adalah kunci, dan substitusi data. Semua operasi dilakukan dengan memanfaatkan operator Xor dan penambahan. Operator penambahan dilakukan terhadap empat array lookup yang dilakukan setiap putarannya. Blowfish juga merupakan cipher blok, yang berarti selama proses enkripsi dan dekripsi, Blowfish akan membagi pesan menjadi blokblok dengan ukuran yang sama panjang. Panjang blok untuk algoritma Blowfish adalah 64-bit. Pesan yang bukan merupakan kelipatan delapan byte akan ditambahkan bit-bit tambahan (padding) sehingga ukuran untuk tiap blok sama.

Gambar 1. Jaringan Feistel Blowfish Sumber : [5] Blowfish adalah algoritma yang tidak dipatenkan dan license free, dan tersedia secara gratis untuk berbagai macam kegunaan. Blowfish dirancang dan diharapkan mempunyai kriteria perancangan yang diiginkan sebagai berikut : 1. Cepat, Blowfish melakukan enkripsi data pada microprocessor 32-bit dengan rate 26 clock cycles per byte. 2. Compact, Blowfish dapat dijalankan pada memory kurang dari 5K. 3. Sederhana, Blowfish hanya menggunakan operasi – operasi sederhana, Blowfish hanya menggunakan operasi – operasi sederhana, seperti : penambahan, XOR, dan lookup tabel pada operan32-bit. 4. Memiliki tingkat keamanan yang bervariasi, panjang kunci yang digunakan oleh Blowfish dapat bervariasi dan bisa sampai sepanjang minimal 32-bit, maksimal 448 -bit, Multiple 8 bit, defalutl 128 bit. Blowfish dioptimasikan untuk berbagai aplikasi dimana kunci tidak sering berubah, seperti pada jaringan komunikasi atau enkripsi file secara otomatis. Dalam pengimplementasiannya dalam komputer bermicroprosesor 32-bit dengan cache data yang besar (Pentium dan Power PC) Blowfish terbukti jauh lebih cepat dari DES. Tetapi Blowfish tidak cocok dengan aplikasi dengan perubahan kunci yang sering atau sebagai fungsi hast satu arah seperti pada aplikasi packet switching. Blowfish pun tidak dapat digunakan pada aplikasi kartu pintar (smart card) karena memerlukan memori yang besar. Key-Expansion Berfungsi merubah kunci (Minimum 32-bit, Maksimum 448-bit) menjadi beberapa array subkunci (subkey) dengan total 4168 byte. Berikut tahapan pembangkitan kunci pada Blowfish : 1. Membentuk blok kunci dari pengguna sebanyak 18 blok yang masing – masing berukuran 32 bit. 2. Inisialisasi konstanta 18 variabel P berukuran 32 bit.

3. Melakukan operasi XOR antara variabel P dengan blok kunci pengguna. 4. Melakukan enkripsi teks kosong menggunakan sub kunci yang dihasilkan pada langkah 3. 5. Menggantikan nilai kunci P1 dan P2 dari hasil output langkah 4. 6. Melakukan enkripsi ulang langkah 4 menggunakan kunci yang telah dimodifikasi. 7. Menggantikan nilai kunci P3 dan P4 dari hasil output langkah 5. 8. Ulangi proses enkripsi sampai semua P memiliki nilai baru. Enkripsi dan dekripsi data terdiri dari iterasi fungsi sederhana (Feistel Network) sebanyak 16 kali putaran. Setiap putaran terdiri dari permutasi kunci-dependent dan substitusi kunci- dan datadependent. Semua operasi adalah penambahan (addition) dan XOR pada variabel 32-bit. Operasi tambahan lainnya hanyalah empat penelusuran tabel (table lookup) array berindeks untuk setiap putaran. Blowfish menggunakan subkunci yang besar. Kunci tersebut harus dihitung sebelum enkripsi atau deskripsi data. Blowfish adalah algoritma yang menerapkan jaringan Feistel (Feistel Network) yang terdiri dari 16 putaran. Input adalah elemen 64-bit,X. Blowfish termasuk dalam kategori Kriptographi kunci Simetri yang mana kunci yang dipakai untuk menutup dan membuka itu menggunakan kunci yang sama. Kesuksesan blowfish mulai memudar setelah kehadiran algoritma-algoritma dengan ukuran blok yang lebih besar, seperti AES. AES sendiri memang dirancang untuk menggantikan DES. Sehingga secara keseluruhan AES lebih unggul dari DES dan juga blowfish.

Gambar 2. Diagram Proses Enkripsi Blowfish Sumber : [6]

Dari gambar diatas dapat dilihat setiap iterasi blowfish menggunakan fungsi F yang mana dapat dijabarkan sebagai berikut : 30) 22-23

32) 34) 36) 38) Gambar 3. Fungsi F Blowfish Sumber :[7] WAV merupakan tipe berkas audio yang dimiliki oleh Microsoft yang dapat disebut juga dengan Microsoft Wave. WAV menggunakan format RIFF atau Resource Interchange File Format yang menampung beberapa elemen data yang disebut dengan chunk (Toulson et al, 2013). Secara umum struktur dari file WAV dapat dilihat pada tabel berikut :

28) 2=8 bit Stereo or 16 bit Mono, 4=16 29) bit Stereo 31) Bits Per Sample

Tabel 3. DATA Chunk Byte Number 33) Content 0-3 35) "data" (ASCII Characters) 4-7 37) Length Of Data To Follow 8-end 39) Data (Samples)

Ilustrasi dari struktur file WAV seperti gambar berikut.

Tabel 1. RIFF Chunk 1) Byte Number 2) Content 3) 0-3 4) "RIFF" (ASCII Characters) 5) 4-7 6) Total Length Of Package To Follow 7) (Binary, little endian) 8) 8-11 9) "WAVE" (ASCII Characters) Tabel 2. FORMAT Chunk 10) Byte Number 11) Content 12) 0-3 13) "fmt_" (ASCII Characters) 14) 4-7 15) Length Of FORMAT Chunk (Binary, 16) always 0x10) 17) 8-9 18) Always 0x01 19) 10-11 20) Channel Numbers (Always 21) 0x01=Mono, 0x02=Stereo) 22) 12-15 23) Sample Rate (Binary, in Hz) 24) 16-19 25) Bytes Per Second 26) 20-21 27) Bytes Per Sample: 1=8 bit Mono,

Gambar 4. Struktur File WAV Sumber : [8]

2. Perancangan Sistem Proses perancangan flowchart terdiri dari dua proses yaitu perancangan flowchartenkripsi dan flowchart dekripsi. START A

Input Kunci

Input File WAV

Membangkitkan Kunci Putaran P[0- 17]

Membaca Segmen Data Suara Pada File WAV

Membagi Data Suara Menjadi blok berukuran 64bit

Menggabungkan Kembali BlokKiri dan BlokKanan Hasil Enkripsi

Mengkonversi deretan byte menjadi karakter hexadesimal

Output Chiperteks

3. Hasil dan Pembahasan Pada bagian ini, diuraikan hasil perancangan aplikasi dan pembahasan dari metode yang telah diuraikan diatas. Halaman utama sistem yang dikembangkan dapat dilihat antarmuka dari sistem yang dikembangkan yang merupakan aplikasi berbasis desktop. Pada halaman utama dapat dilihat terdapat logo dan judul dari aplikasi yang dikembangkan. Sistem dibangun menggunakan MS Visual Basic 2010. Pada penggunaanya sistem yang dibangun tidak membutuhkan spesifikasi khusus, namun yang perlu diperhatikan adalah sistem membutuhkan memori yang besar untuk memproses file suara WAV yang besar.

END

Membagi Blok Menjadi 32bit BlokKiri dan 32bit BlokKanan

For j=1 to 16

Enkripsi BlokKiri dan BlokKanan Menggunakan Kunci P[j]

j

Gambar 7. Tampilan Depan Aplikasi

A

Gambar 5. Flowchart Enkripsi START A

Input Kunci

Input Chiperteks

Membangkitkan Kunci Putaran P[0- 17]

Menkonversi nilai hexadesimal menjadi deretan byte

Membagi deretan byte Menjadi blok berukuran 64bit

Menggabungkan Kembali BlokKiri dan BlokKanan Hasil Dekripsi

Mengkonversi deretan byte menjadi data suara

Output File Wav

END

Secara garis besar sistem memiliki dua fungsi utama, yaitu fungsi enkripsi dan fungsi dekripsi. Masing–masing fungsi dijalankan pada halaman yang terpisah sehingga memudahkan dalam penggunaan dari sistem yang dikembangkan. Pada proses enkripsi pengguna memilih file suara WAV yang akan digunakan disisipkan. Pengguna kemudian dapat memulai proses enkripsi dengan mengklik tombol “Enkripsi”. Sistem kemudian akan membaca byte data suara pada file WAV dan melakukan enkripsi byte data suara tersebut menggunakan kunci yang diberikan. Adapun antarmuka enkripsi dapat dilihat pada gambar berikut.

Membagi Blok Menjadi 32bit BlokKiri dan 32bit BlokKanan

For j=16 to 1

Dekripsi BlokKiri dan BlokKanan Menggunakan Kunci P[j]

j

A

Gambar 6. Flowchart Dekripsi

Gambar 8. Contoh File WAV

kriptografi yang digunakan dalam mengenkripsi data suara WAV menggunakan metode blowfish. Hasil pengujian dapat dilihat pada tabel 4.1 berikut.

N o. 1

Gambar 9. Proses Enkripsi

2

File suara WAV hasil enkripsi dapat diputar di media pemuataran audio seperti Windows Media Player, Winamp, dlsb namun suara asli dari suara tidak dapat lagi di dengar.

3

Gambar 10. File WAV Hasil Enkripsi Adapun suara hasil dekripsi dapat dikembalikan seperti semula seperti yang terlihat pada gambar berikut.

Gambar 11. Hasil Dekripsi Pembahasan pengujian yang dilakukan pada penelitian ini bertujuan menganalisa metode

Tabel 4. Hasil Pengujian File Wav Inform Chiper asi Header test.wav ID : RIFF tes_enkrip.wav Format : WAVE KurzweilID : K2000-DualRIFF Kurzweil_enkrip.wav Bass-C1.wav Format : WAVE ashcroft_targets ID : .wav RIFF ashcroft_targets_enkrip.wav Format : WAVE

Berdasarkan hasil pengujian yang dilakukan dapat dilihat bahwa sistem yang dikembangkan memberikan hasil yang baik dimana data suara pada file WAV dapat di enkripsi dengan baik dimana file suara WAV tetap dapat diputar dengan baik namun suara asli tidak dapat didengar kembali. Pada saat dekripsi file WAV dekripsi dapat kembali dengan baik dimana suara asli tetap dapat diputar dengan baik.

4. Kesimpulan Berdasarkan hasil uji coba dan pembahasan program yang dilakukan, maka dapat di tarik Kesimpulan yaitu : 1. Waktu proses enkripsi dan deskripsi dari algoritma blowfish di pengaruhi oleh besar ukuran file. Semakin besar ukuran file maka akan semakin lama waktu proses yang dilakukan, sedangkan format file dan panjang kunci yang digunakan kunci tidak mempengaruhi waktu proses enkripsi dan deskripsi, karena algoritma blowfish memproses bit-bit yang ada pada file dan pembangkitan subkunci dilakukan sebelum proses enkripsi atau deskripsi dilakukan. 2. Pengamanan data suara menggunakan metode Blowfish pada format WAV dikembangkan dengan membangun fungsi sistem yang

mampu membaca segmen – segmen data yang terdapat pada file WAV. Pada tugas akhir ini segmen yang di proses hanyalah segmen bagian data suara WAV. Sehingga informasi yang diproses hanyalah data byte yang [8] dimulai dari offset 44h sampai byte terakhir dari file. 3. Aplikasi yang dibuat dapat diimplementasikan dengan baik untuk melakukan enkripsi dan deskripsi file karena yang dienkripsi menjadi tidak bisa dimengerti dan dipahami lagi isinya. Tingkat keamanan dari aplikasi yang dibuat cukup aman karena algoritma blowfish memiliki panjang kunci yang besar sehingga tidak mudah ditembus oleh kriptanalis. 4. Pada pengujian yang dilakukan dapat dilihat bahwa enkripsi dan dekripsi menggunakan kunci yang berbeda akan mengakibatkan suara hasil dekripsi tidak dapat kembali ke suara aslinya diakibatkan proses dekripsi menggunakan kunci yang berbeda akan menghasilkan byte suara yang berbeda dengan byte suara aslinya. Daftar Pustaka [1] Ariyus, D. (2010). Kriptografi. Yogyakarta: Penerbit Andi. [2] Ibrahim, R. N. (2012). Kriptografi Algoritma Des, Aes/Rijndael, Blowfish Untuk Keamanan Citra Digital Dengan Menggunakan Metode Discrete Wavelet Transformation (Dwt). Jurnal Computech & Bisnis, Vol. 6, No. 2. [3] Yuliana, C. T. E. (2014). Implementasi Algoritma Blowfish Dan Metode Stenografi End Of File (EOF). Semarang. FASILKOM UDINUS [4] Purba, J. V., Marihat, S., & Dedy, A. (2012). Implementasi Stenografi Pesan Text Ke Dalam File Sound (WAV) Dengan Modifikasi Jarak Byte Pada Algoritma Least Significant Bit (LSB). [5] Ghorpade, A. The Blowfish Algorithm Simplified. International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering, Vol. 5, Issue 4, April 2016. [6] Christina, L., & Irudayaraj, J. (2014). Optimized Blowfish Encryption Technique. International Journal of Innovative Research in Computer and Communication Engineering. [7] Atia, T. S. (2014). Development Of A New Algorithm For Key And S-BOX

Generation In Blowfish Algorithm. Journal of Engineering Science and Technology, Vol. 9, No. 4 (2014) 432 442. Toulson, R., Grint, B., & Staff, R. (2013). Embedding ISRC Identifiers in Broadcast Wave Audio Files. KES Transactions on Innovation in Music: Vol 1 No 1.