bab ii dasar teori - · pdf filedimaksud dapat berupa berkas teks, gambar, suara atau video....

12
II-1 BAB II DASAR TEORI Bab ini berisi penjelasan mengenai seluruh dasar teori yang berkaitan dengan pengerjaan Tugas Akhir. Dasar-dasar teori yang dijelaskan adalah mengenai sinyal audio, kriptografi (enkripsi dan dekripsi), dan penjelasan steganografi beserta metodenya. Seluruh dasar teori yang dijelaskan digunakan sebagai landasan pengerjaan Tugas Akhir ini. 2.1 Audio Audio atau yang lebih dikenal dengan suara adalah suatu getaran yang mengandung frekuensi yang mampu dideteksi oleh telinga manusia. Limit frekuensi itu sendiri dibagi menjadi beberapa fase seperti yang terlihat pada tabel dibawah ini : Tabel II-1 Klasifikasi audio berdasarkan frekuensi [MUK08] Audio Frekuensi (Hz) Infrasound 0 – 20 Pendengaran Manusia 20 – 20.000 Ultrasound 20.000 – 1.000.000.000 Hypersound 1.00.00.0 – 10.000.000.000.000 2.1.1 Suara Dijital Suara yang bisa didengar merupakan representasi dari sinyal analog. Agar bisa diolah dalam perangkat komputer, sinyal analog ini harus diubah dulu kedalam sinyal dijital dengan mengubah amplitudo gelombang bunyi ke dalam waktu interval tertentu. Proses ini dikenal dengan istilah Analog To Digital Conversion (ADC). Sebaliknya jika ingin mengubah sinyal dijital ke sinyal analog bisa dilakukan dengan proses Digital To Analog Converter (DAC).

Upload: doanhanh

Post on 03-Feb-2018

221 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: BAB II DASAR TEORI - · PDF filedimaksud dapat berupa berkas teks, gambar, suara atau video. ... Teknik ini adalah cara paling sederhana menyisipkan sebuah pesan. ... Gambar II-4 adalah

II-1

BAB II DASAR TEORI

Bab ini berisi penjelasan mengenai seluruh dasar teori yang berkaitan dengan

pengerjaan Tugas Akhir. Dasar-dasar teori yang dijelaskan adalah mengenai sinyal

audio, kriptografi (enkripsi dan dekripsi), dan penjelasan steganografi beserta

metodenya. Seluruh dasar teori yang dijelaskan digunakan sebagai landasan

pengerjaan Tugas Akhir ini.

2.1 Audio

Audio atau yang lebih dikenal dengan suara adalah suatu getaran yang mengandung

frekuensi yang mampu dideteksi oleh telinga manusia. Limit frekuensi itu sendiri

dibagi menjadi beberapa fase seperti yang terlihat pada tabel dibawah ini :

Tabel II-1 Klasifikasi audio berdasarkan frekuensi [MUK08]

Audio Frekuensi (Hz)

Infrasound 0 – 20

Pendengaran Manusia 20 – 20.000

Ultrasound 20.000 – 1.000.000.000

Hypersound 1.00.00.0 – 10.000.000.000.000

2.1.1 Suara Dijital

Suara yang bisa didengar merupakan representasi dari sinyal analog. Agar bisa diolah

dalam perangkat komputer, sinyal analog ini harus diubah dulu kedalam sinyal dijital

dengan mengubah amplitudo gelombang bunyi ke dalam waktu interval tertentu.

Proses ini dikenal dengan istilah Analog To Digital Conversion (ADC). Sebaliknya

jika ingin mengubah sinyal dijital ke sinyal analog bisa dilakukan dengan proses

Digital To Analog Converter (DAC).

Page 2: BAB II DASAR TEORI - · PDF filedimaksud dapat berupa berkas teks, gambar, suara atau video. ... Teknik ini adalah cara paling sederhana menyisipkan sebuah pesan. ... Gambar II-4 adalah

II-2

Proses ini pengubahan sinyal analog mengalami beberapa tahapan agar bisa diubah

sedemikian rupa menjadi sinyal digital yang diinginkan. Proses-proses tersebut adalah

pencuplikan, kuantisasi dan pengkodean. Pencuplikan adalah proses penghitungan

ulang sample dari berkas audio pada nilai sampling rate yang berbeda pada saat

berkas dibuat.[YUS01] Dalam pencuplikan dilakukan pengolahan sinyal analog

dengan sampling yang ada untuk menghasilkan suatu sinyal yang disebut discrete-

time signal.[END05] Sinyal diskrit ini akan diproses lagi pada tahapan kuantisasi

dimana hasil penghitungan dibulatkan kedalam nilai diskrit.

2.1.2 Format Berkas Audio

Format berkas audio adalah sebuah container untuk menyimpan data audio pada

sistem komputer. Ada tiga kelompok utama dalam pembagian format berkas audio

yaitu :

1. Format audio dengan kompresi lossless

Pada kompresi lossless hasil dekompresi terhadap data yang sudah dikompres

tepat sama persis dengan data sebelum dikompres.

Contoh : WavPack dengan ekstensi berkas WV

2. Format audio dengan kompresi lossy

Pada kompresi lossy hasil dekompresi terhadap data yang sudah dikompres

tidak sama persis tetapi persepsi terhadap semantik data tetap sama.

Contoh : MP3

3. Format audio tidak terkompresi

Sinyal dijital tidak mengalami kompresi apapun.

Contoh : Waveform audio format (WAV) pada Microsoft ataupun Audio

Interchange File Format (AIFF) pada Mac OS.

Metode kompresi itu sendiri dibedakan menjadi dua yaitu :

1. Metode waktu

Metode ini menggunakan LPC(Linear Predictive Coding) yang merupakan

sebuah perkakas yang biasa digunakan untuk pidato. LPC ini akan

menyesuaikan sinyal data pada suara manusia yang nanti akan dikirimkan ke

Page 3: BAB II DASAR TEORI - · PDF filedimaksud dapat berupa berkas teks, gambar, suara atau video. ... Teknik ini adalah cara paling sederhana menyisipkan sebuah pesan. ... Gambar II-4 adalah

II-3

pendengar. Contoh penerapan metode ini adalah speech analysis dan

resynthesis sebagai bentuk voice compression pada telepon.

2. Metode transformasi

Metode ini menggunakan suatu algoritma untuk mengkonversikan gelombang

bunyi ke dalam bentuk sinyal digital agar tetap bisa didengar telinga manusia.

Contoh algoritmanya adalah DCT(Discrete Cousine Transform), FFT(Fast

Fourier Transform), DFT(Discrete Fourier Transform) dan MDCT(Modified

DCT).

Berkas audio MP3 merupakan salah satu implementasi dari kompresi dengan metode

transformasi yaitu MDCT.

2.2 Steganografi

Steganografi adalah ilmu dalam peyembunyian suatu pesan rahasia kedalam suatu

media dengan tujuan agar pihak lain selain sender dan recipient tidak ada yang

menyadari keberadaan pesan rahasia tersebut [MUN04]. Pesan dan media yang

dimaksud dapat berupa berkas teks, gambar, suara atau video. Dalam proses

penyembunyian pesan, proses enkripsi akan dilakukan terlebih dahulu untuk

meningkatkan kualitas pengamanannya. Recipient nantinya memiliki sebuah kunci

untuk bisa melihat dan mengekstraksi pesan rahasia tersebut dimana kunci ini harus

sama dengan kunci yang digunakan sender dalam mengenkripsi dan

menyembunyikan pesan rahasia yang dimaksud.

2.2.1 Sejarah Steganografi

Kata steganografi sendiri berasal dari bahasa Yunani yang terdiri dari dua buah kata

steganos yang berarti tersembunyi dan graphie yang berarti tulisan sehingga jika

diterjemahkan mempunyai arti tulisan yang tersembunyi [MAN06]. Dahulu ada

beberapa teknik yang dilakukan sebagai perwujudan dari steganografi seperti :

1. Orang Yunani kuno menuliskan pesan pada panel kayu dan menutupinya

dengan lilin,

2. Orang Jerman mengembangkan sebuah microdot untuk huruf selama Perang

Dunia II,

Page 4: BAB II DASAR TEORI - · PDF filedimaksud dapat berupa berkas teks, gambar, suara atau video. ... Teknik ini adalah cara paling sederhana menyisipkan sebuah pesan. ... Gambar II-4 adalah

II-4

3. Adanya “Invicible Inks” yang menggambarkan penyembunyian pesan

dilakukan menggunakan bahan kimia khusus,

4. Kamuflase pesan dengan menggunakan bahasa lisan yang tidak mencurigakan.

2.2.2 Teknik-teknik steganografi audio

Proses penyembunyian dan ekstraksi pada steganografi audio diimplementasikan pada

beberapa metode seperti yang tertera dibawah ini :

1. Least Significant Bit (LSB) Coding

Teknik ini adalah cara paling sederhana menyisipkan sebuah pesan. Prosesnya

adalah dengan mensubstitusi least significant bit dengan bit dari pesan rahasia.

Least significant bit ini merupakan sampel dari bit-bit media stegano dengan

spesifikasi kelipatan 8, 16 atau 32. Maksudnya adalah setiap sampel bit dari

media stegano terdiri dari 8 bit atau 16 bit dan seterusnya yang ditentukan

sesuai kebutuhan, kemudian bit terakhir dari tiap sampel disubstitusi dengan

bit pesan rahasia. Pengaturan bit-bit ini terlihat seperti ilustrasi Gambar II-1.

Gambar II-1 Pengaturan bit-bit LSB [GIB02]

2. Parity Coding

Teknik ini akan dibahas lebih lengkap pada sub bab berikutnya.

Page 5: BAB II DASAR TEORI - · PDF filedimaksud dapat berupa berkas teks, gambar, suara atau video. ... Teknik ini adalah cara paling sederhana menyisipkan sebuah pesan. ... Gambar II-4 adalah

II-5

3. Phase Coding

Teknik ini memakai beberapa prosedur utama seperti berikut :

1. pemecahan sinyal suara asli kedalam beberapa segmen dimana ukuran

panjangnya sama dengan ukuran panjang pesan rahasia,

2. DFT(Discrete Fourier Transform) akan diaplikasikan kepada setiap

segmen untuk membuat suatu matriks setiap fasa dan magnitude fourier

transform,

3. mengkalkulasikan perbedaan fasa antara segmen-segmen yang adjacent

4. pertukaran fasa antara consecutive segment bisa dengan mudah dideteksi

dengan kata lain fasa absolute segmen-segmen yang ada bisa diganti tetapi

fasa relatif antara adjacent segment harus dijaga,

(1)

5. matriks (1) dibentuk menggunakan fasa baru dari segmen pertama dan dari

perbedaan fasa yang asli,

6. menggunakan matriks fasa yang baru dan matriks magnitude asli lalu

sinyal suara direkonstruksi dengan mengaplikasikan invers dari DFT dan

kemudia dikonkatenasi dengan segmen suara.

4. Spread Spectrum

Teknik Spread Spectrum mentransmisikan sebuah sinyal pita informasi yang

sempit ke dalam sebuah kanal pita lebar dengan penyebaran frekuensi.

Penyebaran ini berguna untuk menambah tingkat redundansi. Besaran

redundansi ditentukan oleh faktor pengali cr yang bernilai skalar. Panjang bit-

bit hasil penyebaran ini menjadi cr kali panjang bit–bit awal, seperti

diilustrasikan pada Gambar II-2.

Untuk proses penyembunyian data, pertama dilakukan proses penyebaran bit–

bit informasi dari dokumen yang akan disisipkan (message). Setelah itu, bit–

bit informasi hasil penyebaran itu akan dimodulasi dengan pseudo-noise

signal yang dibangkitkan secara acak berdasarkan kunci penyembunyiannya

(key).

Page 6: BAB II DASAR TEORI - · PDF filedimaksud dapat berupa berkas teks, gambar, suara atau video. ... Teknik ini adalah cara paling sederhana menyisipkan sebuah pesan. ... Gambar II-4 adalah

II-6

Gambar II-2 Penyebaran bit-bit dengan faktor pengali cr [FLI97]

Hasil dari proses modulasi ini akan disisipkan sebagai noise ke dalam sebuah

berkas media (cover-file). Media yang telah disisipi inilah yang disebut stego-

file.

5. Echo Hiding

Prinsip kerja dari echo data hiding ini adalah dengan memunculkan echo

(gema) pada sinyal suara penampung sebagai cara untuk menyembunyian

data. Pemunculan echo ini dihadapkan pada tantangan terhadap Sistem

Pendengaran Manusia (SPM) yang memiliki rentang penginderaan yang lebih

besar dan lebih dinamis dibandingkan dengan indera manusia lainnya.

Sensivitas SPM terhadap kebisingan cukup tajam. Perbedaan dari beberapa

sinyal suara dapat dideteksi walaupun hanya 1 dari 10 juta bagian (80 dB di

bawah ambang batas). Namun, terdapat beberapa kelemahan SPM yang dapat

dieksploitasi untuk penyembunyian data yaitu :

1. SPM hanya mampu menangkap getaran satu sinyal pada satu waktu

sehingga sinyal yang lebih keras akan menyebabkan sinyal yang lebih

lemah tidak terdengar.

2. SPM hanya mampu menangkap fase relatif dari suatu sinyal bukan fase

absolutnya.

3. Beberapa distorsi sinyal akibat pengaruh lingkungan cenderung diabaikan

oleh manusia.

Terdapat empat buah parameter yang digunakan dalam pemberian echo ke

dalam suatu berkas suara dijital, yaitu amplitudo awal, decay rate, offset

“satu” dan offset “nol”. Sejalan dengan berkurangnya offset (delay) antara

sinyal asli dan sinyal echo, maka kedua sinyal tersebut pun akan berbaur.

Sehingga pada suatu titik tertentu, SPM tidak akan mendengar sebuah sinyal

dan sebuah echo, melainkan sebuah sinyal yang terdistorsi. Namun hal ini juga

Page 7: BAB II DASAR TEORI - · PDF filedimaksud dapat berupa berkas teks, gambar, suara atau video. ... Teknik ini adalah cara paling sederhana menyisipkan sebuah pesan. ... Gambar II-4 adalah

II-7

bergantung pada rekaman asli, tipe suara yang diberikan echo dan pendengar.

Coder menggunakan dua jenis waktu delay, yang satu untuk

merepresentasikan angka biner satu (offset “satu”) dan yang satu lagi untuk

merepresentasikan angka biner nol (offset “nol”). Keduanya bernilai di bawah

waktu dimana SPM dapat membedakan antara echo dan sinyal asli.

2.3 Teknik Parity Coding

2.3.1 Parity Bit

Parity bit adalah sebuah bit yang ditambahkan untuk memastikan jumlah bit bernilai

‘1’ pada suatu set bit selalu even atau odd. Tidak seperti start bit atau stop bit, parity

bit merupakan parameter opsional yang digunakan pada serial communications untuk

menentukan apakah set bit yang dikirim tepat adanya.

Parity bit mempunyai spesifikasi salah satu dari beberapa kemungkinan berikut :

1. None

Pada kondisi ini sistem tidak boleh membentuk parity bit pada data karakter

yang dikirim atau dengan kata lain tidak ada pengecekan terhadap parity bit

dari data yang dikirim.

2. Even

Pada kondisi ini jumlah keseluruhan dari bit ‘1’ pada karakter tunggal

haruslah genap (even). Jika tidak, maka parity bit yang ditambahkan haruslah

sebuah biner ‘1’ untuk memastikan jumlahnya menjadi genap. Sebagai contoh,

jika suatu kata dengan binary “1100001” ditransmit dalam kondisi even parity,

sistem akan menambahkan jumlah biner 1 dimana dalam kasus ini berjumlah

3, dan membuat parity bit “1” untuk menjaga biner 1 tetap genap. Pada kasus

lain jika kata dengan binary 1000001 ditransmisikan pada kondisi yang sama

(even parity), parity bit diset menjadi 0, sehingga jumlah biner 1 tetap genap.

3. Odd

Dioperasikan dalam konsep yang sama dengan even parity namun dalam

kondisi jumlah biner 1 harus ganjil.

4. Space

Page 8: BAB II DASAR TEORI - · PDF filedimaksud dapat berupa berkas teks, gambar, suara atau video. ... Teknik ini adalah cara paling sederhana menyisipkan sebuah pesan. ... Gambar II-4 adalah

II-8

Menspesifikasikan biner parity bit selalu 0. Lingkup lain yang memakai space

parity adalah bit filling, yang diturunkan dari kegunaannya sebagai sebuah

“filler” untuk data 7 bit yang ditransmisikan pada sistem yang hanya

menerima data 8 bit.

Parity bit biasanya digunakan dalam error detection yaitu pengecekan suatu transmisi

data karakter apakah sesuai dengan aslinya atau tidak. Misal, suatu bit data dengan

nilai ”1001” ditransmisikan, dengan parity bit diikuti pada bagian paling kanan, dan

⊕ mendenotasikan XOR gate. Maka :

1. Transmisi pada kondisi even parity

A mentransmisikan : 1001

A menghitung nilai parity bit : 1 ⊕ 0 ⊕ 0 ⊕ 1 = 0

A menambahkan parity bit dan mengirimkan : 10010

B menerima : 10010

B menghitung nilai parity : 1 ⊕ 0 ⊕ 0 ⊕ 1 ⊕ 0 = 0

B melaporkan bahwa transmisi benar setelah menganalisa even parity

2. Transmisi pada kondisi odd parity

A mentransmisikan : 1001

A menghitung nilai parity bit : ~ (1 ⊕ 0 ⊕ 0 ⊕ 1) = 1

A menambahkan parity bit dan mengirimkan : 10011

B menerima : 10011

B menghitung parity keseluruhan : 1 ⊕ 0 ⊕ 0 ⊕ 1 ⊕ 1 = 1

B melaporkan bahwa transmisi benar setelah menganalisis dalam kondisi odd

parity

2.3.2 Parity Coding

Pada metode ini, sinyal media yang sudah diencode akan dibagi menjadi beberapa

region terpisah dengan ukuran statis. Parity bit dari setiap region akan dihitung

terlebih dahulu untuk disimpan nilainya. Bit dari pesan rahasia akan disisipkan secara

merata kedalam region yang ada. Jika bit yang akan dimasukkan ke dalam region

nilainya berbeda, maka susunan dari bit-bit LSB harus diubah sedimikian rupa

sehingga parity bit region nilainya sama dengan bit pesan rahasia yang akan

disisipkan namun jika nilainya sama region tidak diperlu diubah. Kondisi dalam

Page 9: BAB II DASAR TEORI - · PDF filedimaksud dapat berupa berkas teks, gambar, suara atau video. ... Teknik ini adalah cara paling sederhana menyisipkan sebuah pesan. ... Gambar II-4 adalah

II-9

penghitungan parity bit adalah even parity. Gambar II-4 adalah contoh

penyembunyian suatu pesan rahasia “010” kedalam suat media stegano.

Gambar II-3 Penyembunyian pesan dengan Parity Coding

Dalam proses ekstraksi, pesan rahasia adalah nilai-nilai parity bit dari setiap region.

Parity bit ini akan disusun kembali membentuk pesan rahasia yang sudah disisipkan.

Region yang terbentuk akan sama seperti penyusunan karena menggunakan kunci

yang sama.

2.4 Pembangkitan Bilangan Acak

Konsep pembangkitan bilangan acak adalah memberikan sebuah deretan angka

dimana akan sangat sulit untuk memprediksi bagaimana deretan angka tersebut. Misal

Page 10: BAB II DASAR TEORI - · PDF filedimaksud dapat berupa berkas teks, gambar, suara atau video. ... Teknik ini adalah cara paling sederhana menyisipkan sebuah pesan. ... Gambar II-4 adalah

II-10

terdapat suatu metode enkripsi yang membutuhkan sebuah nilai tertentu sebagai

masukan untuk pertama kalinya, dan nilai tersebut haruslah seacak mungkin supaya

keamanan enkripsi tidak dapat diserang oleh pihak ketiga.

Algoritma pembangkit bilangan acak membutuhkan suatu angka yang disebut seed,

dimana deretan bilangan acak yang dihasilkan akan tergantung dari nilai seed

tersebut. Nilai seed yang sama akan menghasilkan deretan yang sama pula dan

bilangan acak yang dihasilkan sebenarnya tidak benar-benar acak karena deretan

bilangan tersebut akan berulang setelah periode tertentu. Oleh karena itu bilangan

acak ini disebut juga pseudorandom number.

Xi+1 = (a * Xi + c) mod m (2)

Salah satu algoritma untuk membangkitkan deretan bilangan acak adalah Linear

Congruential Generator (LCG) yang ditunjukkan oleh persamaan (2). Xi+1

merupakan bilangan acak yang dihasilkan tergantung dari nilai a, c, m dan deretan

bilangan acak sebelumnya, yaitu Xi. Nilai i berkisar dari 0 hingga banyaknya jumlah

deretan yang diinginkan dimana i = 0 akan menunjuk kepada nilai seed. Contoh

implementasi algoritma LCG adalah pada bahasa pemrograman Java dengan nilai

default a = 0x5deece66d L, c = 11, dan m = 248 – 1. Pada Tugas Akhir ini, akan

digunakan algoritma LCG yang sudah disediakan oleh Java.[LIN06]

2.5 Enkripsi dan Dekripsi ECB

ECB(Electronic Code Book) adalah suatu metode enkripsi yang dilakukan pada

operasi blok cipher dan diterapkan terhadap keseluruhan blok [MUN04]. Misal blok

yang dipakai adalah blok plainteks, maka pada mode ini setiap blok plain teks Pi

dienkripsi secara individual dan independen menjadi blok cipherteks Ci.

Secara matematis, enkripsi dengan mode ECB dinyatakan sebagai :

Ci = Ek(Pi) (3)

dimana fungsi E dinyatakan proses-proses yang akan diterapkan pada blok.

Page 11: BAB II DASAR TEORI - · PDF filedimaksud dapat berupa berkas teks, gambar, suara atau video. ... Teknik ini adalah cara paling sederhana menyisipkan sebuah pesan. ... Gambar II-4 adalah

II-11

Gambar II-4 Diagram proses enkripsi dan dekripsi ECB [MUN04]

Contoh dari fungsi E adalah sebagai berikut :

1. XOR antara bit pesan dan bit kunci

2. Penggeseran satu bit ke kanan dari hasil XOR tersebut

Dekripsi secara matematis dinyatakan sebagai :

Pi = Dk(Ci) (4)

dimana fungsi D merupakan kebalikan fungsi enkripsi yaitu :

Page 12: BAB II DASAR TEORI - · PDF filedimaksud dapat berupa berkas teks, gambar, suara atau video. ... Teknik ini adalah cara paling sederhana menyisipkan sebuah pesan. ... Gambar II-4 adalah

II-12

1. Penggeseran satu bit ke kiri dari cipher

2. XOR antara bit cipher dengan bit kunci

yang dalam hal ini Pi dan Ci masing-masing blok plainteks dan cipherteks ke-i.

Gambar II-3 memperlihatkan enkripsi dua buah blok plainteks P1 dan P2 dengan mode

ECB, yang dalam hal ini E menyatakan fungsi enkripsi terhadap blok plainteks

dengan menggunakan kunci K yang dibangkitkan menggunakan algortima LCG.