• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI. Dalam Bab 2 ini akan diuraikan teori yang berkaitan dengan perancangan program

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI. Dalam Bab 2 ini akan diuraikan teori yang berkaitan dengan perancangan program"

Copied!
31
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

Dalam Bab 2 ini akan diuraikan teori yang berkaitan dengan perancangan program pengamanan data dengan menggunakan Elliptic Curve Cryptography (ECC), dan penyembunyian data dengan Proposed LSB Embedding. Pertama, penjelasan akan dimulai dengan teori mengenai kriptografi secara umum. Kedua, penjelasan dilanjutkan dengan uraian mengenai ECC. Ketiga, akan dijelaskan juga mengenai steganografi secara umum. Keempat, akan diuraikan Proposed LSB Embedding secara khusus. Kelima, akan dibahas mengenai audio digital, yang berfungsi sebagai medium penyembunyian data, dan terakhir, dijelaskan mengenai e-RMS, yang berfungsi untuk menguji kinerja program.

2.1. Kriptografi

Kriptografi berasal dari bahasa Yunani, yaitu kata “Crypto” dan “Graphia” yang berarti penulisan rahasia atau seni mengamankan pesan (Wikipedia, 2006). Kriptografi merupakan bagian dari cabang ilmu matematika yang disebut kriptologi. Maka dari itu, kriptografi dapat diartikan sebagai “Proses mengubah informasi dari bentuk normalnya, bentuk yang dapat dipahami, menjadi bentuk yang tidak dapat dipahami, sehingga informasi tersebut tidak dapat dibaca tanpa pengetahuan yang rahasia” (Wikipedia, 2006)

Dalam kriptografi terjadi dua proses yaitu proses enkripsi dan proses dekripsi. Enkripsi ialah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus (Wikipedia, 2006). Jika enkripsi

(2)

adalah proses untuk mengaburkan informasi, maka dekripsi adalah proses kebalikan dari enkripsi yang bertujuan untuk mengembalikan informasi yang tidak jelas menjadi informasi yang jelas. Proses enkripsi dan dekripsi dapat dilihat dalam Gambar 2.1

Gambar 2. 1 Proses Enkripsi dan Dekripsi dalam Kriptografi Sumber: Pfleeger (1997, p22)

Sistem enkripsi dan dekripsi pada kriptografi terdiri dari lima tupel (P, C, K, E, D) (Stinton, 1995, p1), yaitu:

1. P merupakan himpunan plaintext (pesan asli). 2. C merupakan himpunan ciphertext (pesan acak). 3. K merupakan himpunan key (kunci).

4. Untuk setiap k Є K, maka terdapat sebuah fungsi enkripsi ek Є E dan sebuah fungsi dekripsi dk Є D. Setiap ek : P Æ C dan dk : C Æ P merupakan fungsi dk(ek(x)) = x untuk setiap anggota plaintext x Є P.

2.1.1 Fungsi Kriptografi

Seperti dijelaskan sebelumnya, kriptografi terdiri dari kegiatan enkripsi dan dekripsi yang bertujuan untuk mengaburkan pesan sehingga tidak dapat diketahui orang lain. Akan tetapi, secara lengkap ada empat tujuan mendasar dari ilmu kriptografi (Wollinger, Guajardo, & Paar, 2003, p3), yaitu:

a. Kerahasiaan

Kerahasiaan adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas.

(3)

b. Integritas data

Integritas data berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.

c. Otentikasi

Otentikasi berhubungan dengan identifikasi, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diotentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.

d. Non-repudiasi

Non-repudiasi berarti pengirim tidak dapat menyangkal bahwa ia telah mengirimkan pesan.

e. Anti-replay

Anti-replay berarti pesan tidak dapat dikirimkan beberapa kali kepada penerima

tanpa sepengetahuan pengirim.

2.1.2 Kriptografi Kunci Simetrik dan Asimetrik

Sistem kriptografi melibatkan satu set aturan untuk mengenkripsi plaintext dan mendekripsi ciphertext. Aturan enkripsi dan dekripsi tersebut dinamakan algoritma, yang biasanya menggunakan sebuah perlengkapan yang disebut kunci (Pfleeger, 2003,

(4)

p37). Metode enkripsi dibagi menjadi dua jenis berdasarkan kunci yang digunakan, yaitu enkripsi dengan algoritma kunci simetrik, dan enkripsi dengan algoritma kunci asimetrik.

Pada enkripsi dengan algoritma kunci simetrik dibutuhkan sebuah kunci untuk melakukan proses enkripsi dan dekripsinya. Sedangkan pada sistem asimetrik dibutuhkan sepasang kunci yang berbeda, yang umumnya disebut kunci umum (public

key) dan kunci pribadi (private key), yang digunakan untuk proses enkripsi dan

dekripsinya. Bila elemen plaintext dienkripsi dengan menggunakan kunci publik maka elemen chipertext yang dihasilkannya hanya bisa didekripsikan dengan menggunakan pasangan kunci pribadinya (Wikipedia, 2006).

Perbedaan kunci untuk enkripsi dan dekripsi dalam kriptografi asimetrik ini menyederhanakan pertukaran kunci. Dalam jaringan komunikasi N yang luas, digunakannya kunci simetrik untuk masing-masing pasangan komunikasi akan membutuhkan manajemen (nxn-1) / 2 kunci. Dengan menggunakan kunci asimetrik, jumlah tersebut dapat dikurangi menjadi pasangan kunci N. Dalam kelompok 1.000 pengguna komputer, misalnya, jumlah kunci yang tadinya 499,500 dapat dikurangi menjadi hanya 1.000 pasangan kunci. Perbandingannya dapat dilihat pada Gambar 2.2.

Gambar 2. 2 Kunci Simetrik dan Asimetrik dalam Jaringan Sumber: Certicom (2004)

(5)

Pada semua kriptografi asimetrik, penggunaan kunci yang berbeda untuk enkripsi dan dekripsi sebenarnya didasarkan pada penggunaan fungsi matematika yang perhitungan kebalikannya sangat sulit unuk dilakukan (Certicom, 2004). Jadi dalam kriptografi ini, diperlukan fungsi matematika yang mudah dikerjakan dalam satu arah saja (forward operation), yaitu untuk enkripsi, dan sulit dipecahkan untuk kebalikannya (inverse operation), yaitu untuk proses dekripsi. Misalnya, terdapat dua bilangan prima yang masing-masing 200 digit panjangnya. Kemudian kedua bilangan tersebut dikalikan. Maka hasilnya akan sangat besar. Jika awalnya diketahui dua bilangan prima yang digunakan untuk perkalian tersebut, maka akan sangat mudah untuk mencari hasil perkaliannya. Akan tetapi jika hanya diketahui hasil perkaliannya, sangat sulit untuk mencari kedua bilangan prima awalnya. Prinsip seperti inilah yang dimanfaatkan dalam algoritma kunci asimetrik. Seperti dapat dilihat pada Gambar 2.3, semakin panjang digit kuncinya, maka perhitungan kebalikannya akan semakin sulit, dimana kesulitannya jauh melampaui perhitungan awal.

Gambar 2. 3 Kesulitan Perhitungan Awal dan Kebalikan terhadap Panjang Kunci Sumber: Certicom (2004)

(6)

Secara umum algoritma kunci asimetrik dapat dibagi menjadi 3 (Wollinger, Guajardo, & Paar, 2003, p4):

1. Algoritma yang didasarkan pada persoalan faktorisasi integer

Misalkan diketahui integer positif n, carilah faktorisasi primanya. RSA, algoritma kunci asimetrik yang paling banyak digunakan, berdasarkan pada tingkat kesulitan dalam memecahkan persoalan ini. RSA menggunakan perkalian integer untuk forward operation, dan faktorisasi sebagai inverse operation.

2. Algoritma yang didasarkan pada persoalan algoritma diskrit

Misalkan diketahui a dan b, carilah x dalam persamaan b = a x Mod P. Protokol pertukaran kunci Diffie-Hellman didasarkan pada persoalan ini, begitu juga protokol pertukaran kunci lainnya, seperti Digital Signature Algorithm (DSA). Diffie Hellman menggunakan eksponensiasi diskrit sebagai forward operation dan log sebagai inverse operation.

3. Algoritma yang didasarkan pada persoalan logaritma diskrit kurva eliptik . Elliptic Curve Cryptography (ECC) adalah algoritma kunci asimetrik terkini yang semakin banyak digunakan. Karena penggunaan prosesor yang lebih efisien, Elliptic Curve sangat cocok untuk aplikasi embedding. ECC menggunakan penggandaan poin (point multiplication) sebagai forward

operation dan persoalan logaritma diskrit (discrete logarithm problem)

(7)

2.2 Elliptic Curve Cryptography (ECC)

Elliptic Curve Cryptography dikembangkan secara independen oleh Victor

Miller pada tahun 1986 dan oleh Neil Koblitz pada tahun 1987 (Wikipedia, 2006). Sejak saat itu, ECC telah dievaluasi oleh para pakar matematika dan komputer di seluruh dunia, dan belakangan ini digunakan secara komersial, misalnya untuk keamanan email dan keamanan web. (Hofer, 1999).

Jika dibandingkan dengan kriptografi kunci asimetrik lainnya, ECC dianggap lebih unggul. Penyebab utamanya adalah karena dengan menggunakan kunci yang jauh lebih kecil atau pendek, ECC tetap dapat memberikan tingkat keamanan yang sama dengan algoritma asimetrik lainnya yang menggunakan kunci yang lebih besar. Dengan ukuran kunci yang lebih kecil dan tingkat keamanan yang sama tinggi, implementasi ECC menjadi lebih efisien, yang berarti memungkinkan operasi kriptografi menjadi lebih cepat, dengan prosesor yang lebih rendah atau software yang lebih simpel. Ini berarti, tingkat panas yang dihasilkan dan konsumsi tenaga untuk memproses ECC menjadi lebih rendah. Perbandingan ukuran kunci ECC dengan ukuran kunci asimetrik lainnya dapat lebih jelas terlihat pada Gambar 2.4.

Gambar 2. 4 Perbandingan Ukuran Kunci Publik pada Kriptografi Asimetrik Sumber: Certicom (2004)

(8)

ECC yang menggunakan ukuran kunci lebih kecil dengan tingkat keamanan tinggi ini memberikan keunggulan tersendiri bagi aplikasi-aplikasi yang memiliki keterbatasan bandwith, kapasitas pemrosesan, ketersediaan sumber tenaga, dan ruang. Contoh aplikasi terbatas yang dapat memanfaatkan ECC adalah electronic commerce, server web, dan telepon seluler.” (Hofer, 1999)

Untuk memahami kriptografi ECC ini, diperlukan pemahaman terhadap operasi

elliptic curve terlebih dahulu. Berikut ini akan diberikan penjelasan mengenai prinsip

dasar kurva eliptik dan operasi-operasinya, diikuti contoh (Hofer, 1999)

2.2.1 Prinsip Dasar Kurva Eliptik

Kurva eliptik digambarkan dalam sistem koordinat Kartesius x,y dua dimensi dengan persamaan:

y2 = x3 + ax + b

Grafiknya akan terlihat seperti pada Gambar 2.5.

Gambar 2. 5 Grafik Kurva Eliptik Sumber: Certicom (2004)

(9)

Kurva Eliptik dalam Fp

Jika p > 3 adalah suatu bilangan prima dan a, b ∈ Fp dengan

4a3 + 27b2 ≠ 0

dalam Fp. Suatu kurva eliptik E(Fp) dalam Fp yang didefinisikan oleh parameter a dan b adalah himpunan penyelesaian (x,y), x,y ∈ Fp, yang memenuhi :

y2 = x3 + ax + b

bersama dengan suatu point khusus, ϕ, yang disebut point at infinity.

Contoh suatu kurva eliptik dalam F13

y2 = x3 + x + 1 adalah persamaan untuk kurva eliptik E dalam F13. Di sini a=1 dan b=1. Himpunan penyelesaian untuk persamaan tersebut adalah :

(0,1) (0,12) (1,4) (1,9) (4,2) (4,11) (5,1) (5,12) (7,0) (8,1) (8,12) (10,6) (10,7) (11,2) (11,11) (12,5) (12,8)

E(F13) memiliki 18 point, termasuk point at infinity ϕ.

2.2.2 Operasi pada Kurva Eliptik

Terdapat beberapa operasi pada Kurva Eliptik dalam Fp (Hofer, 1999), yaitu: a. Penambahan (Addition)

Berikut ini adalah sifat-sifat operasi penambahan pada kurva eliptik :

ƒ Jika ϕ adalah point at infinity, maka penjumlahan dua buah ϕ akan menghasilkan ϕ pula. Secara matematis dapat dituliskan sebagai berikut :

(10)

ƒ Jika P = (x1,y1) ∈ E(Fp), maka :

P + ϕ = ϕ + P = P

ƒ Jika P = (x1,y1) ∈ E(Fp), maka negasi P,–P = (x1,-y1) juga merupakan point pada kurva. Penambahan dua buah point ini memberikan :

P + (-P) = P – P = ϕ

ƒ Jika P = (x1,y1) ∈ E(Fp) dan Q = (x2,y2) ∈ E(Fp) dengan x1 ≠ x2, dan Q ≠ -P, maka jumlah mereka :

P + Q = R = (x3,y3) didefinisikan sebagai : x3 = λ2 – x1 – x2 y3 = λ(x1-x3) –y1 dengan λ = y2 – y1 x2-x1

Sifat penting lain dari aturan penambahan ini adalah bahwa urutan penambahan tidak penting,

P + Q = (x1,y1) + (x2,y2) = (x3,y3) = (x2,y2) + (x1,y1) = Q + P

b. Penggandaan (Doubling)

Jika P = (x1,y1) ∈ E(Fp) adalah suatu point dengan y1 ≠ 0 dan P bukan ϕ, maka 2P = (x3,y3), dengan : λ = (3x12 + a) 2y x3 = λ2 - 2x1, dan y3 = -y1 + λ (x1-x3)

(11)

c. Perkalian Skalar (Scalar Multiplication)

Point kurva eliptik tidak dapat dikalikan, namun dapat dilakukan scalar

multiplication, yaitu penambahan berulang untuk point yang sama. Jika n

adalah suatu integer positif dan P suatu point pada kurva eliptik, perkalian

skalar nP adalah hasil penambahan P sejumlah n kali. Sehingga,

5P = P+P+P+P+P.

Perkalian skalar ini dapat diperluas untuk integer nol dan negatif yaitu :

0P = ϕ, (-n) P = n (-P)

Contoh-contoh operasi pada kurva eliptik :

Berdasarkan contoh kurva eliptik F13 sebelumnya : • Penambahan dua buah point yang berbeda

Jika P = (1,4) dan Q = (5,12), maka P+Q dapat dihitung dengan cara sebagai berikut : λ = 12 – 4 = 8 = 2εF13 5-1 4 x3 = 22 - 1 - 5 = 4-1-5 = -2 = 11 (mod 13) dan y3 = 2(1-(-2)) - 4 = 2(3) - 4 = 2 (mod 13) Maka P+Q = (11,2) • Penggandaan Point

Jika P = (1,4), maka 2*P dapat dihitung sebagai berikut : λ = (3.12 + 1) = 4 = 1 = 7FЄ13

2.4 8 2

x3 = 72- 2.1 = 49 - 2 = 47 = 8 (mod 13), dan

(12)

• Perkalian Skalar

Jika k = 3 dan P=(1,4). Maka 3P dapat dihitung sebagai berikut : 3P = P+P+P =

(2P)+P.

Dengan 2P = P+P = (8,12) (dari contoh penggandaan point) dan P = (1,4) 3P = (8,12) + (1,4) dapat dihitung sebagai berikut :

λ = 12 – 4 = 8 = 3εF13

8-1 7

x3 = 32 - 1 - 8 = 0 (mod 13) dan

y3 = 3(1-0) - 4 = 3 - 4 = -1 = 12 (mod 13) Jadi 3P = (0,12).

2.2.3 Penggunaan ECC dalam Program Enkripsi dan Dekripsi

Aplikasi ECC dalam program enkripsi dan dekripsi dijelaskan sebagai berikut (Muller & Paulus, 1998). Dalam proses enkripsi, pertama-tama dilakukan pembacaan suatu berkas kunci publik yang berisi kurva eliptik E, suatu point P yang berada pada E,

suatu bilangan prima p ∈ Fp, dan kunci publik pemakai lain Q =d*P. Kemudian

dipilih suatu bilangan random k ∈ {2,…,p-1} yang berubah untuk setiap blok data,

dan dihitung k*Q dan k*P, selanjutnya berkas data dibaca secara per blok (M) dan

dienkripsi dengan cara :

M’ = [k*P, M ⊕ X(k*Q)]

Keterangan :

M = data yang akan dienkripsi (plaintext). M' = blok data yang telah dienkripsi (ciphertext).

k = suatu bilangan random yang akan digunakan sebagai session key dengan k ∈ {2,…,p-1}

(13)

P = suatu point pada kurva E(Fp)

X(k*Q) = koordinat X untuk point yang dihasilkan dari perkalian k*Q.

M di-xor-kan dengan absis point yaitu k*Q, hasilnya berupa string yang lalu ditulis

ke berkas dengan k*P ditambahkan sebelumnya. Hasil akhirnya secara sederhana

dapat digambarkan pada Gambar 2.6 berikut:

M1 M2

M'

Gambar 2. 6 Blok Data yang telah Dienkripsi Keterangan :

M1 : session key.

M2 : Data terenkripsi.

M : Data yang belum terenkripsi.

M' : Blok data yang telah dienkripsi (ciphertext).

Proses ini akan terus dilakukan selama data yang dibaca masih ada.

Dalam proses dekripsi, pertama-tama dilakukan pembacaan suatu berkas kunci publik yang berisi kurva eliptik E, suatu point P yang berada pada E, dan suatu field

bilangan prima p. Kemudian dibaca ciphertext seperti pada Gambar 2.6. Lalu

dihitung d*(k*P), dengan d adalah kunci privat yang dimasukkan oleh pemakai

dalam bentuk passphrase, dan k*P berasal dari ciphertext. Satu buah blok data

lalu dibaca (M’). Setelah itu dilakukan proses dekripsi untuk memperoleh M ,

dengan

M = [M2 ⊕ X(d*(k*P))]

M2 di-xor-kan dengan absis point yaitu d*(k*P) sehingga diperoleh suatu string.

Hasilnya (M) lalu ditulis ke berkas. Hasil akhirnya secara sederhana dapat

digambarkan pada Gambar 2.7 berikut ini:

(14)

M2 ⊕ X(d*(k*P)) M

Gambar 2. 7 Blok Data yang Telah Didekripsi Keterangan :

M2: Data terenkripsi.

M : Blok data yang telah didekripsi (plaintext).

Proses ini akan terus dilakukan selama data terenkripsi yang dibaca masih ada. Contoh :

Dimisalkan Alice ingin mengirim suatu pesan terenkripsi dengan menggunakan elliptic

curve cryptosystems kepada Bob.

Inisialisasi :

Kurva eliptik E : y2 = x3 + x + 1 Suatu point P=(1,4) pada E

Field yang digunakan (p) adalah 13

Kunci rahasia Bob adalah (d) = 4.

Enkripsi oleh Alice :

- Mula-mula Alice mengambil kunci publik Bob (dP), di sini dimisalkan dP=(11,11).

- Pesan yang akan dikirimkan (M) adalah 2 = (0010)2.

- Kemudian program mengambil suatu bilangan random (k ∈ {2,…,q-1}),

misalkan k = 5.

- Dihitung k.(dP) = 5.(11,11) = (8,12). X(k.(dP)) = 8 = (1000)2 - Dihitung k.P = 5.(1,4) = (5,1), ini adalah M1.

(15)

- M ⊕ X(k.(dP)) = (0010 ⊕ 1000) = (1010), ini adalah M2 - Pesan terenkripsinya (M') adalah ((5,1),1010).

Dekripsi oleh Bob :

Diambil kP=(5,1) dari pesan terenkripsi, dan dihitung d.(kP) = 4.(5,1) = (8,12). X(d.(kP)) adalah 8 = (1000)2. Kemudian hasil ini di-xor-kan dengan M2 :

1000 ⊕ 1010 = (0010)2

Terlihat bahwa hasil setelah dekripsi sama dengan pesan awal yang akan dikirim.

2.3 Steganografi

Steganografi berasal dari bahasa Yunani yaitu Steganos yang berarti tersembunyi dan graphien yang berarti tulisan, sehingga steganografi berarti tulisan tersembunyi. Berdasarkan definisi Neil F. Johnson dan Sushil Jajodia, para peneliti di universitas George Mason Fairfax, Steganografi adalah seni penyembunyian pesan dalam beberapa cara sehingga dapat mencegah pendeteksian terhadap pesan tersembunyi tersebut (Tran, 2006).

Steganografi mempunyai dua proses utama yaitu menyembunyikan pesan pada cover (teks, image, video,dan audio) dan proses pendeteksian yang kemudian pesan yang terdeteksi diekstrak dengan bantuan secret key. Prosesnya secara umum adalah sebagai berikut (Kessler, 2006):

(16)

Proses steganografi pada digital adalah sebagai berikut (Donovan, 2006, p78) (Lihat Gambar 2.8):

1. Data yang ingin disembunyikan dienkripsi.

2. Data terenkripsi dibagi-bagi untuk disembunyikan.

3. Pilih cover file yang akan digunakan seperti file audio, image dan sebagainya.

4. Data terenkripsi disisipkan pada cover file dan menghasilkan file baru yaitu

inconspicious file.

5. Jika data ingin diperoleh maka dilakukan proses ektrak terhadap inconspicious file yang akan menghasilkan data terenkripsi.

6. Data terenkripsi didekripsi sehingga diperoleh Data yang semula.

Gambar 2. 8 Proses Steganografi pada Digital Sumber: Donovan (2006, p78)

(17)

Steganografi memiliki 6 komponen penting (Kessler, 2006), yaitu: 1. Pesan rahasia (M) 2. Cover Document (C) 3. Stego Document (Z) 4. Stego Key (K) 5. Fungsi penyembunyi f(M,C,K)→ Z 6. Fungsi detektor f ‘ (Z,C,K)→ M

Untuk steganografi pada audio digital tentunya yang menjadi komponen cover

document adalah file audio. Steganogafi ini akan menghasilkan output berupa file audio

baru yang mengandung pesan yang sudah disembunyikan oleh algoritma steganografi. Jadi pada dasarnya yang membedakan steganografi dengan kriptografi adalah pada hasil akhirnya. Untuk kriptografi biasa berupa data yang berbeda sama sekali dari bentuk aslinya dan datanya seolah-olah berantakan (tetapi dapat dikembalikan ke bentuk semula). Sedangkan hasil keluaran dari steganografi ini memiliki bentuk persepsi yang sama dengan bentuk aslinya, tentunya persepsi disini oleh indera manusia, tetapi tidak oleh komputer atau perangkat pengolah digital lainnya. Steganografi memanfaatkan kekurangan-kekurangan sistem indera manusia seperti mata(Human Visual Sistem) dan telinga(Human Auditory System).

Steganografi memiliki tiga syarat yaitu :

1. Robustness

Pesan tersembunyi tidak akan rusak akibat operasi yang dilakukan terhadap medianya.

(18)

2. Undetectability

Sulit dideteksi bahwa sebuah media membawa pesan rahasia.

3. Capacity

Dapat menyembunyikan banyak pesan dalam sebuah media.

Dari ketiga syarat mutlak tersebut tidak semuanya dapat dipenuhi sehingga ada tiga tipe steganografi (Lihat Gambar 2.9). Yang pertama Jika proses steganografi lebih mengutamakan kapasitas pesan dan robustness tanpa memperhatikan pesan dapat dideteksi atau tidak disebut dengan naive steganography. Yang kedua jika proses steganografi lebih mengutamakan kapasitas dan keamanan(pesan tidak dapat dideteksi dengan mudah) disebut dengan secure steganography. Dan yang terakhir jika proses steganografi mengutamakan keamanan dan robustness yang bertujuan untuk memberikan tanda verifikasi kepemilikan (copyright) pada media digital disebut dengan

digital watermarking.

Gambar 2. 9 Tiga Tipe Steganografi Sumber: Soplanit (2005, p78)

(19)

Teknik pendeteksian pada steganografi ada dua macam yaitu :

1. Teknik Non-Blind: Teknik yang pada saat pendeteksian dibutuhkan data digital aslinya(data sebelum di embedding).

2. Teknik Blind: Teknik yang pada saat pendeteksian tidak memerlukan data digital aslinya.

Dalam steganografi pengirim dan penerima harus memiliki kunci (stego key) yang sama yang tidak diketahui oleh pihak-pihak lain yang tidak berkepentingan.

2.4 Proposed LSB (Least Significant Bit) Embedding

Salah satu metode yang paling sederhana dalam steganografi adalah Least

Significant Bit (LSB) dari setiap sample pada audio (Cvejic & Seppanen). Karena

perubahan satu-dua buah bit pada beberapa pixel tidak akan terdengar dengan jelas. Metode ini memanfaatkan kelemahan sistem indera pendengaran manusia yaitu HAS

(Human Auditory System). Batas pendengaran absolute manusia (Absolute

Thresholding Hearing) berada pada frekuensi antara 20Hz-20000Hz.

Namun ada keterbatasan jumlah bit pesan yang dapat disisipkan atau disubstitusikan pada setiap byte-nya. Pada umumnya kedalaman maksimum LSB yang dapat digunakan untuk steganografi tanpa disadari oleh pendengarnya adalah pada layer ke-1, jika audio yang digunakan sebagai cover berkarakteristik 8 bit per sample. Semakin tinggi tingkat robustness yang ingin dicapai maka harus meningkatkan kedalaman LSB yang digunakan untuk menyembunyikan data. Maka dari itu digunakanlah Proposed LSB Embedding yang akan meningkatkan kedalaman LSB

(20)

menjadi pada layer ke-3 sedangkan jika menggunakan algoritma LSB standart kedalaman hanya terbatas pada layer ke-1.

Sebelum proses penyembunyian pesan dilakukan, terlebih dahulu ditentukan lokasi penyembunyiannya. Penentuan dari lokasi penyembunyian pada audio digital ditentukan dengan cara menjumlah key yang berupa string diambil kode ASCII-nya dari masing-masing karakter. Hasil penjumlahan akan di mod 2 untuk menentukan genap atau ganjil. Jika genap maka tiap bit pesan akan disimpan pada sample genap dan jika ganjil maka tiap bit pesan akan disimpan pada sample ganjil.

Langkah-langkah algoritma Proposed LSB Embedding yaitu :

1. Jika bit pesan sama dengan nol maka kerjakan langkah 2-5 jika bit pesan sama dengan satu kerjakan langkah 6.

2. Jika ai-1 sama dengan nol maka ai-1 sampai dengan a0 disubstitusi dengan satu dan selesai, jika ai-1 sama dengan satu maka ai-1 sampai dengan a0 disubstitusi dengan nol dan kerjakan langkah 3.

3. Jika ai+1 sama dengan nol maka ai+1 sama dengan satu dan selesai, jika ai+1 sama dengan satu maka kerjakan langkah 4.

4. Jika ai+2 sama dengan nol maka ai+2 sama dengan satu, jika ai+2 sama dengan satu maka ai+2 sama dengan nol.

5. Tahap ke 4 diulang sampai dengan a7 dan selesai.

6. Jika ai-1 sama dengan satu maka ai-1 sampai dengan a0 disubstitusi dengan nol dan selesai, jika ai-1 sama dengan nol maka ai-1 sampai dengan a0 disubstitusi dengan satu dan lanjut ke tahap 10.

7. Jika ai+1 sama dengan satu maka ai+1 sama dengan nol dan selesai, jika ai+1 sama dengan nol maka kerjakan langkah 8.

(21)

8. Jika ai+2 sama dengan satu maka ai+2 sama dengan nol, jika ai+2 sama dengan nol maka ai+2 sama dengan satu.

9. Tahap ke 8 diulang sampai dengan a7 dan selesai.

Proses pendeteksian digunakan teknik blind sehingga diperlukan stego-key.

Stego-key yang diketahui akan dijumlahkan setiap stringnya lalu di mod 2, jika hasilnya

0 maka bit-bit pesan disimpan pada sample-sample genap sedangkan jika hasilnya 1 maka disimpan pada sample-sample ganjil (Lihat. Gambar 2.10 dan Gambar 2.11).

Gambar 2. 10 Proses Embedding Sumber: Donovan (2006, p82) Cipher Text Biner Embedding Sample Genap Sample Ganjil

Stego-Key Cover Audio

(22)

Gambar 2. 11 Proses Extracting Sumber: Donovan (2006, p82)

2.5 Audio Digital

Audio digital adalah representasi dari suara natural (Gelombang dari getaran pada medium udara) menjadi sekumpulan informasi digital berupa serentetan angka (Paul, 2006, p3).Proses penyimpanan audio digital adalah sebagai berikut (Paul, 2006, p4):

1. Audio Conversion :

A. Analog to digital conversion (ADC) – proses penangkapan dan digitalisasi signal analog disebut dengan sampling.

B. Digital to analog conversion (DAC) – proses konversi audio digital menjadi signal untuk pemutaran kembali (diperdengarkan) atau distribusi.

2. Audio Signal Processing:

Memproses sinyal digital dengan suatu cara seperti, untuk melakukan penyetaraan, menghilangkan gema atau untuk konversi sample rate.

Cipher Text Extracting Sample Genap

Sample Ganjil Inconspicious

(23)

3. Penyimpanan, penerimaan, dan pentransmisian infomasi digital ke dalam format audio seperti CD, mp3, OGG Vorbis,dll.

Untuk sebuah komputer digital memproses sebuah audio, sebuah metode diperlukan untuk merubah audio ke dan dari domain digital. Format yang paling umum dalam menggambarkan informasi audio dalam bentuk digital adalah Pulse Code

Modulation (PCM). PCM merupakan representasi digital dari sinyal analog yang berupa

sederetan angka. Gelombang suara dirubah menjadi sederetan angka(PCM) dengan cara sebagai berikut (Paul, 2006, p6):

1. Gelombang sinus yang sederhana digunakan sebagai contoh. Garis tengah pada

Gambar 2.12 menggambarkan tekanan normal pada atmosfir. Bagian dari kurva

sinus bagian atas dan bawah garis tengah menggambarkan pergantian positif dan negatif pada tekanan.

Gambar 2. 12 Contoh Nilai Rambatan Gelombang Audio di Udara terhadap Fungsi Waktu Sumber: Paul (2006, p6)

Keterangan Gambar 2.12 :

Sumbu Y adalah media rambatan di udara. Sumbu X adalah waktu

(24)

2. Selanjutnya sebuah mikrofon digunakan untuk merubah sinyal audio di udara menjadi sinyal-sinyal elektronik. Keluaran dari mikrofon berkisar antara ± 1 volt.

Gambar 2.13

Gambar 2. 13 Gelombang Elektronik Sumber: Paul (2006, p6)

Keterangan Gambar 2.13 :

Sumbu Y adalah representasi nilai volt. Sumbu X adalah representasi waktu.

3. Sinyal analog elektrik kemudian diubah ke dalam bentuk angka-angka dengan alat yang disebut peubah ke-digital(to-digital converter). Perubah analog-ke-digital 16 bit merubah sinyal menjadi sederetan angka yang berkisar dari -32.768 sampai +32.767. Gambar 2.14

(25)

Gambar 2. 14 Grafik sinyal analog terhadap fungsi waktu Sumber: Paul (2006, p6)

Keterangan Gambar 2.14:

Sumbu Y adalah representasi intensitas nilai-nilai gelombang analog. Sumbu X adalah representasi waktu.

4. Karena titik-titik data dari angka yang bersifat kontinu tidak dapat direkam untuk mendapatkan karakteristik dari bentuk gelombang yang ada, maka sebuah sample diambil pada interval tertentu. Banyaknya sample yang diambil per detik disebut

sampling rate. Gambar 2.14

Gambar 2. 15 Fungsi gelombang analog terhadap urutan sample (43 samples) Sumber: Paul (2006, p6)

(26)

Keterangan Gambar 2.15:

Sumbu Y adalah representasi intensitas nilai-nilai gelombang analog terhadap urutan

sample.

Sumbu X adalah representasi urutan sample ke-n

5. Hasil rentetan dari 43 angka menggambarkan posisi dari gelombang untuk setiap interval. Gambar 2.16

Gambar 2. 16 Hasil dari Nilai-Nilai Sample Sumber: Paul (2006, p8)

Keterangan Gambar 2.16:

Sumbu Y adalah representasi intensitas nilai-nilai gelombang digital terhadap urutan

sample.

Sumbu X adalah representasi urutan sample ke-n

6. Komputer kemudian dapat merekonstruksi lagi bentuk gelombangnya dengan menghubungkan setiap titik sample. Bentuk gelombang yang dihasilkan diilustrasikan pada Gambar 2.17 (Paul: 2006, p8).

(27)

Gambar 2. 17 Fungsi Intensitas Gelombang yang Telah Direkonstruksi terhadap Urutan Sample. Sumber: Paul (2006, p8)

Terdapat perbedaan antara bentuk gelombang yang asli dengan bentuk gelombang hasil rekonstruksi(Gambar 2.12 dengan Gambar 2.17):

1. Nilai-nilai dari perubah analog ke digital adalah bilangan bulat sehingga terjadi pembulatan.

2. akurasi dari bentuk gelombang tergantung pada jumlah sample yang direkam.

Sinyal-sinyal analog yang dikonversi ke digital akan diubah ke dalam bentuk data byte, yang kemudian data dalam bentuk byte tersebut akan disimpan ke dalam media penyimpanan seperti tape, hard disk atau CD sehingga terbentuklah audio.

Sampling Rate adalah jumlah dari sample yang diambil per detik ketika merekam

data audio analog ke data audio digital (Paul, 2006: 8) Ketika merubah sebuah suara ke informasi digital, penting untuk mengetahui banyaknya sample yang diambil per detik.

(28)

player menggunakan frekuensi 8.0 kHz, 11.025 kHz, 22.05 kHz, or 44.1 kHz untuk

sampling rate.

Format file audio adalah wadah untuk menyimpan data audio pada sistem komputer (Wikipedia, 2006). Ada banyak format file untuk menyimpan file audio yang terbagi ke dalam 3 grup:

1. Uncompressed formats : WAV,AIFF dan AU.

2. Lossless compression : FLAC, Monkey’s Audio(.APE), WavPack, Shorten, TTA,

Apple Loosless dan lossles WMA.

3. Lossy compression : MP3, Vorbis(.OGG), WMA dan AAC.

Salah satu format file yang digunakan yaitu WAVE(.WAV). WAVE adalah format sebuah file audio yang dibuat oleh Microsoft dan digunakan oleh microsoft dan IBM sebagai standart penyimpanan file audio pada PC(personel Computer) untuk segala sesuatu mulai dari suatu sistem dan game.

Format WAVE merupakan variasi dari format RIFF (Resource Interchange File

Format) bitstream untuk menyimpan data pada ”chunks”, dan juga mirip dengan format

IFF(Interchange File Format) dan AIFF (Audio Interchange File Format) yang digunakan oleh computer Macintosh. Format RIFF bertindak sebagai “wrapper” untuk beberapa audio compression codecs (Wikipedia, 2006) Kekurangan dari file WAVE adalah hanya terbatas pada file yang berukuran kurang dari 2 gigabytes.

File WAVE terdiri dari 1 chunk (potongan) dan 2 sub-chunk informasi, yaitu : 1. RIFF chunk yang mengidentifikasikan bahwa file tersebut adalah file Wave. Chunk

(29)

2. Format (“fmt”) sub-chunk yang berisi informasi file seperti sample rate. Sub-chunk

ini ditandai dengan teks “fmt”.

3. Data sub-chunk berisikan informasi banyak sample dan

berisikan sample-sample dari file WAVE itu sendiri berupa yang terdiri dari sederetan angka PCM. Sub-chunk ini ditandai dengan teks “data”.

Format file WAVE dan contohnya dapat dilihat pada Gambar 2.18 dan

Gambar 2.19.

.

Gambar 2. 18 WAVE File Format Sumber: Stanford (2006)

(30)

Gambar 2. 19 Contoh Format File WAVE Stereo Sumber: Stanford (2006)

File audio berformat .WAV merupakan salah satu medium penyisipan pesan yang baik, karena file dengan format ini cukup banyak digunakan pada berbagai perangkat dan aplikasi, seperti komputer, telepon seluler, dan game. Oleh karena itu, penyisipan pesan menjadi lebih mudah karena file berformat WAV mudah didapat dan umum dimiliki.

2.6 e-RMS

e-RMS berfungsi untuk mengukur besarnya perbedaan kualitas antara cover

audio digital dengan audio digital setelah proses embedding (Inconspicious file audio).

Proses embedding dikatakan berhasil jika e-RMS antara cover audio digital dan

(31)

Untuk audio digital yang berukuran M, perhitungan e-RMS dirumuskan sebagai

berikut (Gislounge, 2006):

dengan

e-RMS = Root Mean Square Error M = Banyaknya bit audio digital.

x = Nomor bit audio digital.

f = Frekuensi audio digital sebelum embedding (Cover Audio).

Gambar

Gambar 2. 2 Kunci Simetrik dan Asimetrik dalam Jaringan
Gambar 2. 3 Kesulitan Perhitungan Awal dan Kebalikan terhadap Panjang Kunci
Gambar 2. 4 Perbandingan Ukuran Kunci Publik pada Kriptografi Asimetrik
Gambar 2. 5 Grafik Kurva Eliptik
+7

Referensi

Dokumen terkait

Setiap program CD yang dilakukan PT Indo Tambangraya Megah memberikan kontribusi nyata dalam pemberdayaan masyarakat untuk mencapai keberlanjutan dan kemandirian,

Dengan melihat nilai probabilitas Jarque-Bera sebesar 0,048174 yang lebih rendah dari tingkat signifikasi yang digunakan dalam penelitian ini yaitu 5% atau 0,05, maka dapat

Proses pengendapan yang terjadi di area point bar umumnya berasal dari proses fluvial dengan mengendapkan material berupa pasir halus ketika energi aliran sungai berada di

menunjukkan bahwa agresi pada anak dapat terbentuk karena setiap hari anak sering melihat dan menyaksikan kekerasan dalam rumah tangga baik secara langsung atau

Menurut Suharsimi Arikonto (1989) memberi batasan subjek penelitian sebagai benda, hal atau orang tempat data untuk variabel penelitian melekat, dan yang

Dalam studi manajemen, kehadiran konflik pendidikan tidak bisa terlepas dari permasalahan keseharian yang dirasakan oleh pengelola lembaga pendidikan. Konflik tersebut

plagiat. 1) Mengambil mentah-mentah karya orang lain dan menyebutnya sebagai karya sendiri. 2) Menulis kembali karya orang lain dan menerbitkannya. 3) Mempekerjakan