Bab 3. Prosedur dan Metodologi

dokumen-dokumen yang mirip
Studi dan Analisis Teknik-Teknik Steganografi Dalam Media Audio

BAB II. Tinjauan Pustaka dan Dasar Teori. studi komparasi ini diantaranya penelitian yang dilakukan oleh Verdi Yasin, Dian

Watermarking Audio File dengan Teknik Echo Data Hiding dan Perbandingannya dengan Metode LSB dan Phase Coding

Pengamanan Data Teks dengan Kriptografi dan Steganografi Wawan Laksito YS 5)

BAB II LANDASAN TEORI

ANALISIS METODE MASKING-FILTERING DALAM PENYISIPAN DATA TEKS

Bab I Pendahuluan 1 BAB I PENDAHULUAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

IMPLEMENTASI STEGANOGRAFI MENGGUNAKAN METODE LEAST SIGNIFICANT BIT (LSB) DALAM PENGAMANAN DATA PADA FILE AUDIO MP3

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang Masalah

1.1 LATAR BELAKANG I-1

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

ANALISIS KEAMANAN PESAN MENGGUNAKAN TEKNIK STEGANOGRAFI MODIFIED ENHANCED LSB DAN FOUR NEIGHBORS DENGAN TEKNIK KRIPTOGRAFI CHAINING HILL CIPHER

BAB I PENDAHULUAN Latar Belakang

IMPLEMENTASI WATERMARKING CITRA SIDIK JARI PADA AUDIO DIGITAL DENGAN FORMAT WAVE (WAV) DENGAN METODE ECHO DATA HIDING

BAB I PENDAHULUAN 1.1 Latar Belakang

Tanda Tangan Digital Untuk Gambar Menggunakan Kriptografi Visual dan Steganografi

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PENYEMBUNYIAN PESAN TEKS PADA FILE WAV DENGAN METODE LEAST SIGNIFICANT BIT BERBASIS ANDROID

4.2 Perancangan Algoritma MEoF (Modifikasi End of File) Penyisipan byte stegano dengan algoritma MEoF Ekstraksi byte stegano

Grafik yang menampilkan informasi mengenai penyebaran nilai intensitas pixel-pixel pada sebuah citra digital.

Digital Audio Watermarking dengan Fast Fourier Transform

STEGANOGRAFI DENGAN METODE PENGGANTIAN LEAST SIGNIFICANT BIT (LSB)

Diyah Ayu Listiyoningsih Jurusan Informatika Fakultas MIPA Universitas Sebelas Maret

Perbandingan Steganografi Metode Spread Spectrum dan Least Significant Bit (LSB) Antara Waktu Proses dan Ukuran File Gambar

STEGANOGRAPHY CHRISTIAN YONATHAN S ELLIEN SISKORY A. 07 JULI 2015

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Pendahuluan Kajian Pustaka

BAB II TINJAUAN PUSTAKA

PENGAMANAN PESAN TEKS MENGGUNAKAN TEKNIK STEGANOGRAFI SPREAD SPECTRUM BERBASIS ANDROID

BAB I PENDAHULUAN. pesan. Kriptografi mengubah informasi asli (plaintext) melalui proses enkripsi

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

METODE PARITY CODING VERSUS METODE SPREAD SPECTRUM PADA AUDIO STEGANOGRAPHY

BAB I PENDAHULUAN Latar Belakang

DAFTAR ISI. DAFTAR ISI... vii. DAFTAR GAMBAR... x. DAFTAR TABEL... xii I. PENDAHULUAN Latar Belakang Rumusan Masalah...

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI PADA MEDIA GAMBAR DENGAN MENGGUNAKAN METODE DES DAN REGION-EMBED DATA DENSITY.

IMPLEMENTASI PENGGUNAAN TEKNIK STEGANOGRAFI METODE LSB (LEAST SIGNIFICANT BIT) DAN POLYBIUS SQUARE CIPHER PADA CITRA DIGITAL

LAMPIRAN PANDUAN MENJALANKAN PROGRAM

Gambar 3.1 Flowchart proses enkripsi AES

BAB II LANDASAN TEORI

PENERAPAN AUDIO STEGANOGRAFI DALAM INTRASONICS

BAB I PENDAHULUAN. diakses dengan berbagai media seperti pada handphone, ipad, notebook, dan sebagainya

Implementasi Kriptografi dan Steganografi pada File Audio Menggunakan Metode DES dan Parity Coding

Analisis Hasil Implementasi HASIL DAN PEMBAHASAN

BAB 2 LANDASAN TEORI

IMPLEMENTASI STEGANOGRAFI DENGAN METODE PENGGABUNGAN BYTE MENGGUNAKAN VISUAL BASIC NET 2008

PENINGKATAN KETAHANAN STEGANOGRAFI LOW BIT CODE PADA FILE MP3 DENGAN ADAPTIVE MINIMUM ERROR REDUCTION (AMER)

Digital Watermarking

ALGORITMA LEAST SIGNIFICANT BIT UNTUK ANALISIS STEGANOGRAFI

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN

BAB I PENDAHULUAN I-1

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. Perancangan program aplikasi dalam skripsi ini menggunakan aturan linear sequential

BAB 1 PENDAHULUAN 1.1 Latar Belakang

BAB 2 LANDASAN TEORI. 2.1 Steganografi

TINJAUAN PUSTAKA. Kriptografi

PENGGUNAAN KRIPTOGRAFI DAN STEGANOGRAFI BERDASARKAN KEBUTUHAN DAN KARAKTERISTIK KEDUANYA

* Kriptografi, Week 13

Aplikasi Kriptografi dengan Menggunakan Algoritma Vigenere Cipher dan Implementasi Steganografi Least Significant Bit (LSB) pada Matlab R2013a

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

Endang Ratnawati Djuwitaningrum 1, Melisa Apriyani 2. Jl. Raya Puspiptek, Serpong, Tangerang Selatan 1 2

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

1. Pendahuluan. 1.1 Latar belakang

Pendahuluan Kajian Pustaka

STUDI DAN IMPLEMENTASI WATERMARKING CITRA DIGITAL DENGAN MENGGUNAKAN FUNGSI HASH

BAB 2 TINJAUAN PUSTAKA

BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

BAB III ANALISIS DAN DESAIN SISTEM

PENGGUNAAN KRIPTOGRAFI DAN STEGANOGRAFI BERDASARKAN KEBUTUHAN DAN KARAKTERISTIK KEDUANYA

BAB 1 PENDAHULUAN. 1.1 Latarbelakang

1.1 Latar Belakang Sejak zaman dahulu, pentingnya kerahasiaan suatu informasi telah menjadi suatu perhatian tersendiri. Manusia berusaha mencari cara

BAB I PENDAHULUAN. Informasi merupakan suatu hal yang sangat penting dalam. kehidupan kita. Seperti dengan adanya teknologi internet semua

WATERMARKING PADA FILE AUDIO PCM WAVE DENGAN METODE ECHO DATA HIDING

2017 Ilmu Komputer Unila Publishing Network all right reserve

BAB I PENDAHULUAN 1.1. Latar Belakang

Digital Watermarking pada Gambar Digital dengan Metode Redundant Pattern Encoding

UKDW BAB 1 PENDAHULUAN

BAB 1 PENDAHULUAN Latar belakang

Stenografi dan Watermarking. Esther Wibowo Erick Kurniawan

Implementasi Steganografi Pesan Text Ke Dalam File Sound (.Wav) Dengan Modifikasi Jarak Byte Pada Algoritma Least Significant Bit (Lsb)

ENKRIPSI AFFINE CIPHER UNTUK STEGANOGRAFI PADA ANIMASI CITRA GIF

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

IMPLEMENTASI WATERMARKING PADA SUARA DIGITAL DENGAN METODE DATA ECHO HIDING


BAB 1 PENDAHULUAN. Bab 1 Pendahuluan

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. khususnya internet sangatlah cepat dan telah menjadi salah satu kebutuhan dari

BAB I PENDAHULUAN 1. 1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang

Pendahuluan. Media Penampung Data yang akan disembunyikan

PENDAHULUAN. Latar Belakang

BAB III ANALISIS DAN DESAIN SISTEM

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL

BAB III PEMBAHASAN. Teori Pengkodean (Coding Theory) adalah ilmu tentang sifat-sifat kode

BAB III ANALISA DAN PERANCANGAN

FILE AUDIO MP3 DENGAN METODE PARITY

BAB 2 TINJAUAN PUSTAKA

Penerapan Metode Adaptif Dalam Penyembunyian Pesan Pada Citra

BAB I PENDAHULUAN. mengirim pesan secara tersembunyi agar tidak ada pihak lain yang mengetahui.

Transkripsi:

53 Bab 3 Prosedur dan Metodologi Bab tiga ini menjelaskan berbagai prosedur dan metodologi pada proses insert dan ekstraksi watermark. 3.1 Prosedur Watermark Proses watermarking dibagi dua cara, pertama proses insert yang merupakan sistem untuk mengolah data awal (plaintext) menjadi sebuah data acak (chiphertext) yang tidak dapat diterjemahkan secara langsung dan kemudian disembunyikan kedalam file audio, sedangkan proses kedua adalah decoding yang merupakan sistem untuk mengeluarkan data acak (ciphertext) yang terdapat di file audio kemudian mengolahnya menjadi data awal (plaintext). Berikut skema dari proses encoding dan proses dari ekstraksi :

54 Proses Penyisipan File audio original Proses encoding echo hiding File Audio Termodifikasi Data output (ciphertext) Data input (plaintext) Proses enkripsi twofish Audio modified (sudah disisipi pesan) Proses decoding echo hiding Hiden data (ciphertext) Proses ekstraksi 3.1.1 Proses Insert Data output (plaintext) Gambar 3.1 Proses Watermarking Proses dekripsi twofish 3.1.1.1 Enkripsi Proses enkripsi Twofish memiliki beberapa proses kecil di dalamnya. Kunci PlainText X enkripsi Twofish ChiperText X Gambar 3.2 Proses Enkripsi Twofish

55 Plaintext X, merupakan file yang akan dienkripsi. Enkripsi plaintext X, menggunakan enkripsi Twofish dan memasukkan kunci. Chipertext X, merupakan hasil enkripsi dari plaintext X. function EncryptMessage(mi, key) twofishalgorithm = new TwoFish() m = new Message() dataplain2 = m.getstream() * convert key menjadi hexadecimal b = Hexadecimal.fromEvenLengthString(key) makekey = null try{ makekey = twofishalgorithm.makekey(b, 16) } catch (InvalidKeyException e) { e.printstacktrace() } plainbytes = new byte[16] cipherbytes = new byte[16] chipper2 = new byte[dataplain2.length] i=0 j=16 index = 0 k=0 while(i<dataplain2.length) * proses enkripsi

56 for(k=i,index=0k<(i+j) and k<dataplain2.length k++,index++) plainbytes[index] = (byte)dataplain2[k] twofishalgorithm.encrypt(plainbytes, 0, cipherbytes, 0, makekey, 16) for(k=i,index=0k<(i+j) and k<dataplain2.length k++,index++) chipper2[k] = (byte)cipherbytes[index] i= i + j m.setstream(chipper2) return m end Gambar 3.3 Modul Enkripsi Twofish 3.1.1.2 Encoding Proses penyisipan memiliki beberapa proses kecil di dalamnya. Alur dari proses ini dapat dilihat dari gambar 3.7. Pada gambar tersebut dapat dilihat bahwa sebelum data disisipkan, panjang sinyal yang diproses harus dihitung terlebih dahulu. Hasil dari perhitungan tersebut lalu digunakan untuk membagi sinyal menjadi beberapa bagian dengan menggunakan kernel 0 dan 1. Sinyal yang dihasilkan dari kedua kernel ini adalah dua buah sinyal yang telah disisipi echo dengan delay yang berbeda.

57 data Sinyal audio (nilai delay mewakili bit 0 dan 1 ) Hitung panjang sinyal yang Kernel 1 Mixer sinyal 1 Kernel 0 Mixer sinyal 0 Gabung sinyal Key (nilai delay mewakili bit 0 Gambar 3.4 Proses Penyisipan Kedua sinyal ini selanjutnya masing-masing akan diproses menggunakan mixer sinyal 0 dan 1 untuk mendapatkan sinya yang sesuai dengan data yang disisipkan. Kedua sinyal yang telah di-mixer kemudian digabungkan dengan operasi penjumlahan kembali menjadi sinyal untuh.

58 Gambar 3.5 Proses Mixer Kernel function insertwatermarking(audiosamples,message) * konstanta delay dan amplitude delay = ECHO_HIDING_DELAY amplitude = ECHO_HIDING_AMPLITUDE * bit audio dalam array newsample[j] = audiosamples[j] else for ( j=window_ j<=window_end j++) if (j o ffset1 >=0) newsample[j]= (float) (audiosamples[j] + (initampl * audiosamples[joffset1]))

59 else newsample[j] = audiosamples[j] float bitaudio : array(audiosamples.length) * kernel 0 dan kernel 1 offset0 = (44100 * (delay/1000)) offset1 = (offset0 * 2) maxcaps = getmaxcapasity() windows_number = 0 if (message.length > maxcaps) windows_number = maxcaps * 8 else windows_number = message.length * 8 * proses penyisipan message ke dalam bit bit audio windows_limit = 4096 byteidx =0 bitdiambil = 0 window_ = 0 window_end = 0 for ( i=0 i<windows_number i++) window_ = i * windows_limit + HEADER_LENGTH window_end = ((i+1) * windows_limit) + HEAD ER_LENGTH 1 curbyte = message[byteidx] & 1 message[byteidx] = message[byteidx] >> 1 bitdiambil++

60 * pembagian sinyal menggunakan kernel 0 dan kernel 1 if ( curbyte == 0) for ( j=window_ j<=window_end j++) if (j offset0 >= 0) newsample[j]= (float) (audiosamples[j] + (initampl * audiosamples[j offset0] )) else if (bitdiambil >=8) byteidx++ bitdiambil = 0 * mixer sinyal keseluruhan for ( k=window_end+1 k<audiosamples.length k++) newsample[k] = audiosamples[k] return newsample end Gambar 3.6 Modul Insert Watermark 3.1.2 Proses Ekstrak 3.1.2.1 Decoding Input dari proses pengekstrakan adalah sinyal audio yang telah berisi data serta inputan key. Key yang dimaksud adalah nilai delay yang digunakan pada proses penyisipan. Setelah sinyal tersebut di-inputkan berserta key-nya, maka proses

61 perhitungan panjang sinyal yang diproses akan dimulai untuk dijadikan acuan dalam melakukan proses pengekstrakan data. Setelah panjang sinyal didapatkan, maka proses pencarian data dilakukan dengan membadingkan dua buah nilai yang merupakan hasil dari perhitungan autocorrelation terhadap cepstrum di tiap-tiap bagian sinyal. Data yang berhasil diekstrak kemudian dihitung probabilitasnya dan disusun hingga memiliki panjang yang sama dengan panjang data yang disisipkan sebelumnya. Data hasil ekstraksi berupa bilangan biner. Berikut proses pengekstraksi : Hitung panjang sinyal yang dirposes Key Bagi sinyal ke beberapa kernel Cari autocorrel ation dari cepstrum tiap kernel Penyusunan data Data Gambar 3.7 Proses Pengekstrakan

62 function extractwatermark(audiosamples) * konstanta delay dan amplitude delay = ECHO_HIDING_DELAY amplitude = ECHO_HIDING_AMPLITUDE // message size msgsize = properties.get("msgsize")) * kernel 0 dan kernel 1 offset0 = (44100 * (delay/1000)) offset1 = (offset0 * 2) message = array(msgsize) windows_number = msgsize * 8 windows_limit = ECHO_NUM byteidx =0 byteextract = 0 bitrem=0 for ( i=0 i<windows_number i++) window_ = i * windows_limit + HEADER_LENGTH window_end = ((i+1) * windows_limit) + HEAD ER_LENGTH 1 com = new Complex(windows_limit) for ( j=0 j<windows_limit j++) com[j] = new Complex(audioSamples[window_],0) window_ = window_ + 1 * penghitungan panjang sinyal yang di sisipi com_a = FFT.ifft(com_a) com_a = FFT.fft(com)

63 } for ( z=0 z<com_a.length z++){ com_a[z] = com_a[z].times(com_a[z]) com_a[z] = com_a[z].log() end * penghitungan autocorellation if (com_a[offset0].real() > com_a[offset1].real()) byteextract = byteextract (0 << bitrem) bitrem = bitrem + 1 else byteextract = byteextract (1 << bitrem) bitrem = bitrem + 1 if (bitrem >=8) message[byteidx] = (byte) byteextract byteidx = byteidx + 1 bitrem = 0 byteextract = 0 return message Gambar 3.8 Modul Ekstrak Watermark

64 3.1.2.2 Dekripsi Kunci ChiperText X Dekripsi Twofish PlainText X Gambar 3.9 Proses Dekripsi Twofish Proses dekripsi Twofish merupakan proses kebalikan dari enkripsi. Proses ini dapat dilihat dari gambar 3.4. Chipertext X, merupakan hasil enkripsi Twofish yang akan didekripsi Dekripsi Twofish, menggunakan dekripsi Twofish dengan menggunakan kunci. Plaintext X, merupakan hasil dekripsi dari chipertext X. function DecryptMessage(mi, key) twofishalgorithm = new TwoFish() m = new Message() datachipper = mi.getstream() * convert key menjadi hexadecimal b = Hexadecimal.fromEvenLengthString(key) makekey = null try{ makekey = twofishalgorithm.makekey(b, 16) } catch (InvalidKeyException e) { e.printstacktrace() } plainbytes = new byte[16] cipherbytes = new byte[16] plain2 = new byte[datachipper.length]

65 i=0 j=16 index = 0 k=0 while(i<datachipper.length) * proses dekripsi for(k=i,index=0k<(i+j) && k<datachipper.length k++,index++) cipherbytes[index] = (byte)datachipper[k] twofishalgorithm.decrypt(cipherbytes, 0, plainbytes, 0, makekey, 16) for(k=i,index=0k<(i+j) && k<datachipper.length k++,index++) plain2[k] = (byte)plainbytes[index] i= i + j m.setstream(plain2) end return m Gambar 3.10 Modul Dekripsi Twofish 3.2 Prosedur Pengujian 3.2.1 Kualitas Audio 3.2.1.1 SNR Dasar yang paling penting pada audio steganography adalah penyisipan data tidak boleh mengubah kualitas suara dari sinyal audio yang digunakan sebagai cover.

66 Jadi data rahasia yang disisipkan tidak boleh terdeteksi oleh pendengar. Performa ini sangat penting pada aplikasi proteksi hak cipta.parameter yang digunakan dalam menentukan kualitas audio yang telah disisipkan data adalah SNR (signal to noise ratio) [3]. Persamaan untuk menghitung SNR adalah sebagai berikut: N 1 2 x ( n) SNR = 10 log 10 n= 0 N 1 2 ~ () x n x() n= 0 Keterangan: x(n) adalah sinyal audio cover dari panjang sampel N dan ()nx~ adalah sinyal data yang disisipkan. 3.2.2 Robustness Robustness merupakan salah satu isu desain algoritma steganografi yang utama. Data rahasia yang disisipkan harus tahan terhadap pengolahan sinyal yang mungkin dilakukan termasuk konversi dijital-analog dan analog-dijital, linear dan non-linear filtering, resampling dan cropping.