Perancangan dan Implementasi Steganografi Menggunakan...

18
5 1. Pendahuluan Steganografi dapat dipandang sebagai kelanjutan kriptografi. Jika kriptografi merahasiakan makna pesan sementara eksistensi pesan tetap ada, maka steganografi menutupi keberadaan pesan. Dalam prakteknya, pesan rahasia dienkripsi terlebih dahulu, kemudian ciphertext disembunyikan di dalam media lain sehingga pihak ketiga tidak menyadari keberadaanya. Pesan rahasia yang disembunyikan dapat diekstraksi kembali persis sama seperti aslinya [1]. Umumnya, teknik steganografi menggunakan dua media yang berbeda. Salah satu media berfungsi sebagai media yang berisikan informasi (pesan rahasia) dan media yang lain berfungsi sebagai pembawa informasi tersebut (media penampung) yang dapat berupa sebuah teks, gambar, suara, atau video. Penggunaan teknik steganografi ini diharapkan dapat membantu dalam upaya peningkatan pengamanan pengiriman informasi. Berdasarkan latar belakang masalah, maka akan dilakukan penelitian yang membahas tentang perancangan dan implementasi steganografi menggunakan metode Enhanced Audio Steganography (AES); yaitu berupa suatu aplikasi steganografi yang akan melakukan penyisipan file rahasia dalam file WAV dengan menggunakan metode Least Significant Bit (LSB) yang dimodifikasi, dengan proses enkripsi dan dekripsi file menggunakan algoritma Vigenere. Dalam menyisipkan pesan teks ke dalam file WAV menggunakan metode Least Significant Bit yang dimodifikasi, karena memiliki kelebihan yang dapat mengatasi kekurangan dari metode LSB [2]. Sedangkan untuk proses enkripsi dan dekripsi menggunakan algoritma Vigenere, karena merupakan algoritma dengan aturan yang sederhana. 2. Kajian Pustaka Penelitian terdahulu pernah dilakukan dengan judul Aplikasi Steganografi Pada Video Dengan Metode Least Significant Bit (LSB), dimana dalam penelitian tersebut membahas teknik steganografi pada video dengan format *.avi, serta aplikasi yang dibangun masih harus dikembangkan lagi karena hanya bisa menyisipkan berkas rahasia dengan ukuran kecil [3]. Penelitian yang lain yang pernah dilakukan berjudul Penerapan Steganografi Gambar Pada Least Significant Bit (LSB) Dengan Pengunaan PRNG (Pseudo Random Number Generator). Pada penelitian tersebut, diterapkan steganografi pada gambar pada least significant bit tiap komponen warna gambar [4]. Penelitian berjudul Efficient Method of Audio Steganography by Modified LSB Algorithm and Strong Encryption Key With Enhanced Security, yaitu penelitian yang mengajukan metode baru untuk penyisipan pesan dalam audio, dengan memodifikasi metode Least Significant Bit (LSB), dan menggunakan kekuatan kunci enkripsi untuk meningkatkan keamanan pesan yang disisipkan. Enkripsi yang digunakan adalah teknik enkripsi yang ditentukan sendiri dengan aturan yang sederhana. Proses enkripsi diterapkan pada pesan, sebelum pesan tersebut disisipkan ke dalam audio [2]. Berdasarkan penelitian yang pernah dilakukan tentang steganografi dengan metode LSB melalui media video, gambar, dan penelitian tentang metode LSB

Transcript of Perancangan dan Implementasi Steganografi Menggunakan...

Page 1: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

5

1. Pendahuluan Steganografi dapat dipandang sebagai kelanjutan kriptografi. Jika

kriptografi merahasiakan makna pesan sementara eksistensi pesan tetap ada, maka

steganografi menutupi keberadaan pesan. Dalam prakteknya, pesan rahasia

dienkripsi terlebih dahulu, kemudian ciphertext disembunyikan di dalam media

lain sehingga pihak ketiga tidak menyadari keberadaanya. Pesan rahasia yang

disembunyikan dapat diekstraksi kembali persis sama seperti aslinya [1].

Umumnya, teknik steganografi menggunakan dua media yang berbeda.

Salah satu media berfungsi sebagai media yang berisikan informasi (pesan

rahasia) dan media yang lain berfungsi sebagai pembawa informasi tersebut

(media penampung) yang dapat berupa sebuah teks, gambar, suara, atau video.

Penggunaan teknik steganografi ini diharapkan dapat membantu dalam upaya

peningkatan pengamanan pengiriman informasi.

Berdasarkan latar belakang masalah, maka akan dilakukan penelitian yang

membahas tentang perancangan dan implementasi steganografi menggunakan

metode Enhanced Audio Steganography (AES); yaitu berupa suatu aplikasi

steganografi yang akan melakukan penyisipan file rahasia dalam file WAV

dengan menggunakan metode Least Significant Bit (LSB) yang dimodifikasi,

dengan proses enkripsi dan dekripsi file menggunakan algoritma Vigenere. Dalam

menyisipkan pesan teks ke dalam file WAV menggunakan metode Least

Significant Bit yang dimodifikasi, karena memiliki kelebihan yang dapat

mengatasi kekurangan dari metode LSB [2]. Sedangkan untuk proses enkripsi dan

dekripsi menggunakan algoritma Vigenere, karena merupakan algoritma dengan

aturan yang sederhana.

2. Kajian Pustaka Penelitian terdahulu pernah dilakukan dengan judul Aplikasi Steganografi

Pada Video Dengan Metode Least Significant Bit (LSB), dimana dalam penelitian

tersebut membahas teknik steganografi pada video dengan format *.avi, serta

aplikasi yang dibangun masih harus dikembangkan lagi karena hanya bisa

menyisipkan berkas rahasia dengan ukuran kecil [3].

Penelitian yang lain yang pernah dilakukan berjudul Penerapan

Steganografi Gambar Pada Least Significant Bit (LSB) Dengan Pengunaan PRNG

(Pseudo Random Number Generator). Pada penelitian tersebut, diterapkan

steganografi pada gambar pada least significant bit tiap komponen warna gambar

[4].

Penelitian berjudul Efficient Method of Audio Steganography by Modified

LSB Algorithm and Strong Encryption Key With Enhanced Security, yaitu

penelitian yang mengajukan metode baru untuk penyisipan pesan dalam audio,

dengan memodifikasi metode Least Significant Bit (LSB), dan menggunakan

kekuatan kunci enkripsi untuk meningkatkan keamanan pesan yang disisipkan.

Enkripsi yang digunakan adalah teknik enkripsi yang ditentukan sendiri dengan

aturan yang sederhana. Proses enkripsi diterapkan pada pesan, sebelum pesan

tersebut disisipkan ke dalam audio [2].

Berdasarkan penelitian yang pernah dilakukan tentang steganografi dengan

metode LSB melalui media video, gambar, dan penelitian tentang metode LSB

Page 2: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

6

yang dimodifikasi, maka dalam penelitian ini, akan dilakukan penelitian

steganografi yang menggunakan metode enhanced audio Steganografi (EAS),

yaitu LSB yang dimodifikasi, dan menggunakan algoritma vigenere untuk proses

enkripsi pada data/pesan yang akan disisipkan. Media yang dipakai pada

penelitian saat ini yaitu audio dengan format *.wav. Penelitian yang dilakukan

akan melihat apakah terjadi perubahan terhadap waktu, kualitas dan besar ukuran

data pada file audio setelah melalui proses embedding dan ekstraksi pesan.

Aplikasi yang dibangun bertujuan dapat membantu para pengguna untuk menjaga

kerahasiaan data yang disisipkan dalam file audio.

Enhanced Audio Steganography (EAS)

Algoritma EAS merupakan algoritma yang memodifikasi algoritma LSB.

Proses yang dilakukan dalam EAS hampir sama dengan proses dalam algoritma

LSB. Modifikasi yang dilakukan adalah : penyisipan bit pada media penampung

hanya dilakukan pada byte yang bernilai 254 atau 255. Dalam algoritma EAS

juga diterapkan proses enkripsi pada pesan yang akan disisipkan. EAS memiliki

keunggulan EAS dibandingkan dengan teknik LSB pada umumnya, yaitu byte

yang digunakan sebagai penampung hanya selective byte saja, maka media

penampung yang digunakan akan mengalami kerusakan yang kecil. Di samping

itu, adanya enkripsi terhadap pesan yang disisipkan dapat meningkatkan

keamanan data. Proses yang terjadi dalam EAS terdiri dari 4 proses, yaitu proses

enkripsi, proses dekripsi, proses encoding, proses decoding [2].

Kriptografi Vigenere Cipher

Sistem sandi Vigenère adalah sistem sandi substitusi multi-alfabet, yaitu

sistem sandi Caesar tetapi dengan pergeseran alfabet yang berlainan disesuaikan

dengan kata kuncinya. Pada kriptografi Vigenere, plaintext akan dienkripsi dengan

pergeseran huruf seperti pada kriptografi Caesar, tetapi setiap huruf di dalam

plaintext akan mengalami pergeseran yang berbeda. Kunci pada kriptografi

Vigenere adalah sebuah kata bukan sebuah huruf. Kata kunci ini akan dibuat

berulang sepanjang plaintext, sehingga jumlah huruf pada kunci akan sama

dengan jumlah huruf pada plaintext. Pergeseran setiap huruf pada plaintext akan

ditentukan oleh huruf pada kunci yang mempunyai posisi yang sama dengan huruf

pada plaintext. Kriptografi Vigenere ini dikenal sebagai polyalphabetic

substitution cipher, karena enkripsi terhadap satu huruf yang sama bisa

menghasilkan huruf yang berbeda. Pergeseran huruf pada plaintext ditentukan

oleh tabel yang sama dengan tabel pada kriptografi Caesar. Rumus kriptografi

Caesar tetap berlaku pada kriptografi Vigenere, baik pada enkripsi maupun

dekripsi.

File WAV (Waveform Audio Format) File WAV adalah file audio standar yang digunakan oleh Windows. Suara

yang berupa digital audio dalam file WAV disimpan dalam bentuk gelombang,

karena itulah file ini memiliki ekstensi .wav (Wave). File WAV ini dapat dibuat

dengan menggunakan berbagai program wave editor maupun wave recorder.

Page 3: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

7

3. Metode dan Perancangan Sistem Metode perancangan yang dipakai dalam penelitian ini adalah Prototype

Model. Bagan mengenai prototype model dapat dilihat pada Gambar 1.

Gambar 1 Bagan Prototype Model [5]

Tahap-tahap dalam Prototype Model adalah sebagai berikut:

1. Listen to Costumer; Pada tahap ini dilakukan analisis terhadap permasalahan

yang ada, yaitu mendapatkan data dan literatur yang terkait dengan proses

embedding, ekstraksi, enkripsi dan dekripsi terhadap data teks pada audio,

menggunakan metode enhanced audio steganography (EAS); melalui

dokumen dan referensi yang ada.

2. Build; Selanjutnya setelah memperoleh data dan mengetahui proses enkripsi

dan dekripsi dengan Enhanced Audio Steganography, langkah berikutnya

adalah membuat perancangan dengan menggunakan Unified Modeling

Language (UML) mengenai sistem yang akan dibangun nantinya. Selain itu

dilakukan pula perancangan pada user interface dan algoritma.

3. Costumer Test; Pada Tahap ini dilakukan pengujian sistem, yaitu

menjalankan proses implementasi sistem, dengan menguji pengaruh ukuran

data, waktu proses dan kualitas audio, serta melihat hasil yang diberikan

apakah sudah sesuai dengan konsep Steganografi, dan algoritma kriptografi

Vigenere.

Perancangan Algoritma Enhanced Audio Steganography (EAS)

Algoritma Proses Embedding Data

Secara umum steganografi digunakan untuk menyembunyikan pesan atau

data di dalam data lainnya. Untuk menyembunyikan pesan rahasia, tentunya

memerlukan media sebagai sarana penampung pesan rahasia tersebut. Dalam

penelitian ini media penampung yang digunakan adalah objek berupa file audio.

Setelah menentukan media penampung, barulah dapat menyisipkan pesan rahasia

ke dalam media penampung, agar dapat menyisipkan pesan rahasia ke dalam

media penampung tentunya membutuhkan sebuah algoritma yang dapat

memodifikasikan objek menjadi objek yang baru dengan informasi rahasia di

dalamnya tanpa terjadi perubahan yang mencolok dari objek awalnya. Algoritma

ini biasa disebut dengan algoritma embedding. Proses embedding ini dapat

dijelaskan sebagai berikut. File yang akan disisipkan dienkripsi terlebih dahulu.

Aplikasi akan meminta pengguna untuk memasukkan kata kunci. Kemudian

Page 4: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

8

hitung besar lokasi yang tersedia pada file WAV. File WAV yang digunakan

sebagai media penyisipan harus memiliki jumlah byte bernilai 254 atau 255 yang

cukup untuk menampung file pesan. Proses berikutnya adalah proses penyisipan

bit file pesan di LSB byte file media. Proses ini bersifat selektif karena penyisipan

hanya dilakukan pada byte file media yang bernilai 254 atau 255 saja. Selanjutnya

pembacaan diteruskan lagi ke byte berikutnya. Proses tersebut diulangi sampai

semua bit file pesan selesai disisipkan. Setelah proses selesai, file WAV disimpan

sebagai file baru. Proses embedding dalam bentuk flowchart, ditunjukkan pada

Gambar 2.

Gambar 2 Flowchart Proses Embedding

Algoritma Extracting Data

Proses yang terjadi sesuai algoritma extracting data adalah proses dekripsi

dan dilanjutkan dengan proses extracting data. Data yang telah disisipkan akan

dikeluarkan terlebih dahulu, kemudian akan didekripsikan sehingga menghasilkan

data rahasia yang diinginkan user. Proses extracting dapat dijelaskan sebagai

berikut. Proses extracting merupakan proses untuk membaca objek yang

disisipkan di dalam media penampung. Ketika media penampung dimasukkan,

sistem akan membaca apakah ada data yang disisipkan atau tidak, jika tidak,

proses akan selesai, tetapi jika ada data yang disisipkan, maka proses akan

Start

Input Pesan

Input Audio

IndexPesan = 0

Hitung lokasi yang tersedia

Lokasi >=

panjang message

dalam bit array

IndexPesan <

panjangBitPesan

Byte = 254 atau

Byte = 255

Baca byte audio

selanjutnya

Simpan audio

sebagai file baru

Ganti bit terakhir

(LSB) dengan bit

pesan ke -

IndexPesan

IndexPesan =

IndexPesan + 1

Stop

Ya

Ya

Ya

Tidak

Tidak

Tidak

Input Kunci Enkripsi

Enkripsi Pesan

Page 5: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

9

berlanjut dengan penyiapan penampung pesan. Sistem akan membaca panjang

data yang disisipkan di dalam byte audio, dan mengecek apakah byte tersebut

bernilai 254 atau 255, mengecek apakah panjang penampung < L (variabel

panjang pesan), kemudian proses pembacaan bit terakhir (LSB) dan disimpan ke

penampung pesan. Proses ini akan diulangi hingga semua bit selesai terbaca.

Pesan yang didapat akan dilakukan proses dekripsi, kemudian disimpan sebagai

file baru, proses selesai dengan output document yang telah diekstrak. Proses

extracting dalam bentuk flowchart, ditunjukkan pada Gambar 3.

Start

Input media

Ada data yang

telah

disisipkan?

Siapkan

penampung

Pesan

Byte 254 atau

255?

Panjang

penampung <

L

Baca bit terakhir

(LSB) simpan ke

penampung

Pesan

Simpan Pesan

sebagai file baru

Stop

Ya

Tidak

Ya

Tidak

Baca informasi

L=Panjang data

Baca Byte

selanjutnya

Ya

Tidak

Input Kunci

Dekripsi

Dekripsi Pesan

Gambar 3 Flowchart Proses Extracting

Perancangan Algoritma Vigenere

Dalam algoritma EAS, terdapat proses enkripsi, yang berfungsi untuk

meningkatkan keamanan pesan yang disisipkan. Algoritma enkripsi yang

digunakan adalah Vigenere.

Page 6: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

10

Mulai

Input

Kunci

Input

Data

C[i] = Data[i] + Kunci[i] % 256

i < Panjang

Data

i=0

C= Array[Panjang Data]

Ya

i=i+1

Return C

Tidak

Selesai

Modifikasi Kunci Sehingga panjang Kunci

sama dengan Panjang Data

Gambar 4 Flowchart Proses Enkripsi

Gambar 4 menjelaskan proses enkripsi yang memerlukan dua buah

masukan yaitu Kunci dan Data. Keduanya dalam bentuk koleksi (array). Sebelum

kunci dapat digunakan, kunci harus disusun sedemikian rupa sehingga panjangnya

sama dengan panjang data yang akan dienkripsi. Penampung hasil enkripsi adalah

variabel C, yang juga berupa koleksi, dengan panjang elemen sama dengan

panjang Data. Untuk setiap Data pada index ke i, dilakukan perhitungan Data[i] +

Kunci[i] modulus 256. Angka 256 adalah konstanta yang menunjukkan berapa

banyak jumlah elemen pada satu baris Tabula Recta. Hasil perhitungan disimpan

pada variabel C index ke i. Selanjutnya nilai i dinaikkan sebesar 1. Proses

pembacaan Data ini dilakukan sampai i mencapai nilai sama dengan Panjang

Data.

Gambar 5 menjelaskan proses dekripsi yang memerlukan dua buah

masukan, yaitu Kunci dan Data. Keduanya dalam bentuk koleksi (array). Sebelum

kunci dapat digunakan, kunci harus disusun sedemikian rupa sehingga panjangnya

sama dengan panjang data yang akan didekripsi. Penampung hasil dekripsi adalah

variabel P. Untuk setiap Data dilakukan perhitungan sebagai berikut. Jika nilai

Kunci index ke i lebih kecil dari nilai Data index ke i, rumus yang digunakan

adalah Data[i]-Kunci[i] modulus 256. Jika nilai Kunci index ke i lebih besar,

rumus yang digunakan (256+Data[i]-Kunci[i] Modulus 256). Nilai 256 di depan

rumus, digunakan untuk menghindari nilai negatif.

Page 7: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

11

Mulai

Input

Kunci

Input Data

i < Panjang

Data

i=0

P= Array[Panjang Data]

i=i+1

Return P

Tidak

Selesai

Modifikasi Kunci Sehingga panjang Kunci

sama dengan Panjang Data

P[i] = Data[i] - Kunci[i] % 256

Jika Kunci[i] >

Data[i]

P[i] = (256 + Data[i] - Kunci[i])

% 256

YaTidak

Ya

Gambar 5 Flowchart Proses Dekripsi

Rancangan Use Case Diagram

Use Case Diagram merupakan diagram yang memperlihatkan hubungan

antara aktor dengan sistem [6]. Rancangan use case diagram dapat dilihat pada

Gambar 6.

Gambar 6 Use Case Diagram

Berdasarkan Gambar 6, dapat dilihat interaksi antara user dengan sistem,

dimana terdapat dua user yaitu Embeddor dan Extractor. Embeddor dapat

melakukan input audio, input document, proses embedding, yang di dalamnya

terdapat proses input key untuk enkripsi, serta dapat melakukan fungsi dari user

extractor. Extractor dapat melakukan input stego audio dan proses ekstraksi yang

di dalamnya terdapat proses input key untuk dekripsi.

Page 8: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

12

4. Hasil dan Pembahasan Antarmuka Sistem

Gambar 7 Antarmuka Untuk Proses Penyisipan

Gambar 7 merupakan tampilan antarmuka proses embedding dimana user

akan memilih menu file kemudian pilih media penampung selanjutnya pilih

document yang akan disisipkan, kemudian pilih tombol sisipkan, maka akan

keluar textbox untuk memasukan kunci enkripsi, selanjutnya user memasukan

kunci yang diinginkan dan pilih tombol ok; maka, jalanlah proses penyisipan file

.doct ke dalam media WAV hingga tampilnya message box Finish, kemudian

pilih button ok untuk menutup message box, dan proses embedding berhasil.

Kode Program 1 Proses Pembentukan Kunci private static byte[]

ExpandKey(byte[] key, int toSize)

{

List<byte> expand = new List<byte>();

//int index = 0;

for (int i = 0; i < toSize; i++)

{

expand.Add(key[i % key.Length]);

}

return expand.ToArray();

}

1

2

3

4

5

6

7

8

9

10

11

Kode program 1 digunakan untuk memodifikasi panjang kunci ke dalam

ukuran yang didefinisikan pada parameter toSize. Proses yang dilakukan adalah

melakukan perulangan untuk tiap elemen data pada variabel key, dan

menambahkan tiap elemen tersebut ke variabel penampung expand. Selanjutnya

jika elemen merupakan elemen terakhir pada variabel key, maka proses diulangi

dari elemen paling awal.

Kode Program 2 Proses Enkripsi Menggunakan Vigenere Cipher public static byte[] Encrypt(

byte[] data, byte[] key)

{

key = ExpandKey(key, data.Length);

List<byte> result = new List<byte>();

int keyIndex = 0;

foreach (byte M in data)

{

byte C =

(byte)((M + key[keyIndex]) % 256);

result.Add(C);

keyIndex++;

}

return result.ToArray();

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Page 9: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

13

Kode Program 2 digunakan untuk melakukan proses enkripsi dengan

parameter data yang akan dienkripsi dan kunci. Dua parameter tersebut dalam tipe

data byte array. Sebelum kunci dapat digunakan, kunci harus disusun sedemikian

rupa, sehingga panjangnya sama dengan panjang data yang akan dienkripsi.

Proses pembentukan kunci ini dapat dilihat pada Kode Program 1. Selanjutnya,

tiap byte data dienkripsi menggunakan rumus pada baris 10. Cipher data

ditampung pada variabel result (baris 11).

Kode Progam 3 Perintah Untuk Proses Embbeding FileStream waveFileStream

= new FileStream(

mediaFile,

FileMode.Open);

FileStream destinationStream

= new FileStream(

resultFile,

FileMode.Create);

WaveStream wstream

= new WaveStream(

waveFileStream,

destinationStream);

int messageIndex = 0;

String binaryMessage = BuildBinaryMessage(vigenereKey, documentFile);

while ((r = wstream.ReadByte()) != -1)

{

byte current = (byte)r;

if (messageIndex < binaryMessage.Length

&& (current == 254 || current == 255))

{

current

= ReplaceBit(current,

binaryMessage[messageIndex]);

messageIndex++;

}

destinationStream.WriteByte(current);

if (messageIndex

== binaryMessage.Length)

{

break;

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

Kode Program 3 menjelaskan tahap pengkodean proses embedding.

Perintah pada baris 1-12, digunakan untuk membaca byte di dalam file WAV

menggunakan wavstream. Perintah pada baris 15-16 digunakan untuk mengubah

pesan menjadi binary string. Di dalam proses tersebut, pesan terlebih dahulu

dienkripsi dengan algoritma Vigenere. Perintah pada baris 17 dan baris 19

digunakan untuk membaca tiap byte. Perintah pada baris 20 digunakan untuk

perulangan jika binary string belum selesai dibaca. Perintah pada baris 21

digunakan untuk pengecekan ukuran byte apakah 254 atau 255. Perintah pada

baris 23-25 digunakan untuk mengganti LSB. Perintah pada baris 26 merupakan

perintah untuk berpindah ke pesan selanjutnya. Perintah pada baris 29 digunakan

untuk menyimpan hasil ke file yang baru. Perintah pada baris 31-35 menunjukkan,

jika proses perulangan telah selesai maka proses berakhir.

Page 10: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

14

Kode Progam 4 Perintah untuk Proses Ekstraksi FileStream waveFileStream

= new FileStream(mediaFile, FileMode.Open);

WaveStream baru

= new WaveStream(waveFileStream);

byte[] mediaBytes

= new byte[baru.Length];

if (IsHeaderValid(containers.GetRange(0, 8)))

{

StringBuilder builder = new StringBuilder();

for (int i = 0; i < mediaBytes.Length; i++)

{

if (mediaBytes[i] == 254

|| mediaBytes[i] == 255)

{

builder.Append(

RetrieveBit(

result.Add(mediaBytes[i])));

}

}

byte[] pesan = ToByteArray(builder.ToString();

byte[] pesan = VigenereCipher.Decrypt(pesan,

Encoding.Default.GetBytes(vigenereKey));

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

Kode Program 4 menjelaskan tahap pengkodean proses ekstraksi. Perintah

pada baris 1-6 digunakan untuk membaca file media (audio .wav). Perintah pada

baris 8 digunakan untuk membaca media apakah ada file di dalamnya atau tidak

dan membaca panjang file. Perintah pada baris 10 merupakan penampung bit file.

Perintah pada baris 11-14 digunakan untuk membaca file yang ada byte 254 atau

255. Perintah pada baris 16-18 digunakan untuk membaca LSB. Pada baris 21,

kumpulan bit dibentuk menjadi byte array. Kemudian kumpulan byte tersebut

didekripsi.

Kode Program 5 Proses Dekripsi Menggunakan Vigenere Cipher public static byte[] Decrypt(

byte[] data, byte[] key)

{

key = ExpandKey(key, data.Length);

List<byte> result = new List<byte>();

int keyIndex = 0;

foreach (byte M in data)

{

byte K = key[keyIndex];

if (K < M)

{

byte C

= (byte)((M - K) % 256);

result.Add(C);

}

else

{

int iM = M;

int iK = K;

byte C

= (byte)

((256 + iM - iK) % 256);

result.Add(C);

}

keyIndex++;

}

return result.ToArray(); }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

Page 11: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

15

Kode Program 5 merupakan kode program untuk proses dekripsi.

Parameter fungsi dalam bentuk byte array. Seperti halnya proses enkripsi, kunci

yang digunakan harus dimodifikasi terlebih dahulu sebelum bisa digunakan. Jika

nilai byte kunci (K) lebih kecil dari nilai byte data (M), maka perhitungan

dilakukan dengan cara rumus pada baris 13. Jika tidak, rumus pada baris 23 yang

digunakan. Pada rumus kedua, angka 256 ditambahkan dengan maksud tidak

muncul angka negatif.

Gambar 8 Antarmuka Proses Ekstraksi

Gambar 8 merupakan antarmuka proses ekstraksi dimana user akan

memili menu file kemudian masukan stego audio yang akan di ekstrak,

selanjutnya pilih tombol ekstrak, maka akan tampil textbox untuk menginputkan

kunci dekripsi, selanjutnya masukan kunci yang sama dengan kunci enkripsi,

kemudian pilih tombol ok; maka proses akan dijalankan hingga ditampilkan

message box Finish, kemudian pilih tombol ok dan proses ekstraksi selesai.

Pengujian Sistem Pengujian sistem ini dilakukan dengan melakukan dua pengujian, yang

pertama proses embedding dan yang kedua proses ekstraksi. Pengujian embedding

pada file audio dibagi menjadi beberapa bagian yaitu :

1. Percobaan embedding data dokumen (.docx) dan data teks (.txt) berukuran ≤

1 MegaByte pada file audio berformat .wav.

2. Percobaan embedding data teks yang ukurannya berbeda pada file audio

berformat .wav.

Sedangkan pengujian ekstraksi adalah sebagai berikut :

1. Percobaan ekstraksi data pada file audio yang telah disisipi pesan. Data

yang dihasilkan haruslah sama dengan yang aslinya.

2. Pengujian file audio yang telah diambil pesan yang disisipi dengan file

audio asli, harus sama ukurannya.

File audio yang digunakan sebagai media penampung adalah dua file

audio dengan ukuran masing-masing 2.940 KB dan 8.594 KB.

Embedding Data File Dokumen

Pengujian ini menggunakan file dokumen dengan format .docx, yang akan

disisipkan ke dalam file audio .WAV dengan ukuran yang berbeda. File dokumen

akan diberi nama Doc1 dan Doc2 (jenis format yang sama tapi mempunyai ukuran

file yang beda). Doc1 berukuran 22KB dan Doc2 berukuran 62KB. Sedangkan file

Page 12: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

16

audio yang dipakai adalah audio1.wav (2.940 KB) dan audio2.wav (8.594 KB).

Kunci enkripsi yang dipakai “marsanthia”.

Tabel 1 Hasil Pengujian Embedding File .docx

File yang

disisipkan

(.docx)

Pengujian

Waktu Embedding

Audio1

(2.940 KB)

(MS)

Audio2

(8.594 KB)

(MS)

Doc1

(12,10 KB)

1

2

3

4

5

137,60

140,29

136,14

137,65

138,37

137,54

138,95

138,67

139,18

137,25

Nilai rata – rata 138,01 138,31

Doc2

(13,16 KB)

1

2

3

4

5

155,64

155,06

155,71

155,62

155,25

158,21

157,71

159,85

161,45

158,76

Nilai rata – rata 155,45 159,19

Berdasarkan Hasil Pengujian Embedding File .docx pada Tabel 1,

didapatkan nilai rata-rata waktu (dalam milisecond) yang dibutuhkan dari proses

embedding :

- Pada pengujian Doc1_Audio1 nilai rata-rata waktu yang dibutuhkan 138,01 ms.

- Pada pengujian Doc1_Audio2 nilai rata-rata waktu yang dibutuhkan 138,31 ms.

- Pada pengujian Doc2_Audio1 nilai rata-rata waktu yang dibutuhkan 155,45 ms.

- Pada pengujian Doc2_Audio2 nilai rata-rata waktu yang dibutuhkan 159,19 ms.

Embedding Data File Teks

Pengujian ini menggunakan file teks dengan format .txt, yang akan

disisipkan ke dalam file audio .WAV dengan ukuran yang berbeda. File teks

diberi nama Text1 dan Text2. Text1 berukuran 1KB dan Text2 berukuran 5KB.

Sedangkan file audio yang dipakai adalah audio1.wav (2.940 KB) dan audio2.wav

(8.594 KB). Kunci enkripsi yang dipakai “marsanthia”.

Tabel 2 Hasil Pengujian Embedding File .txt

File yang disisipkan

(.txt)

Pengujian

Waktu Embadding

Audio1 (2.940 KB)

(MS)

Audio2 (8.594 KB)

(MS)

Text1

(1 KB)

1

2

3

4

5

6,12

6,43

6,32

6,14

6,21

8,10

8,15

8,28

8,32

8,20

Nilai rata-rata 6,24 8,21

Text2

(5 KB)

1

2

3

4

5

6,32

6,29

6,37

6,21

6,29

51,78

52,43

51,51

52,84

52,35

Nilai rata-rata 6,29 52,18

Page 13: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

17

Berdasarkan Hasil Pengujian Embedding File .txt pada Tabel 2, didapatkan nilai

rata-rata waktu (dalam milisecond) yang dibutuhkan dari proses embedding :

- Pada pengujian Text1_Audio1 nilai rata-rata waktu yang dibutuhkan 6,24 ms.

- Pada pengujian Text2_Audio1 nilai rata-rata waktu yang dibutuhkan 8,21 ms.

- Pada pengujian Text1_Audio2 nilai rata-rata waktu yang dibutuhkan 6,29 ms.

- Pada pengujian Text2_Audio2 nilai rata-rata waktu yang dibutuhkan 52,18 ms.

Embedding Data Dengan Ukuran Berbeda

Pengujian ini menggunakan file text dengan ukuran yang berbeda yang

akan disisipkan ke dalam file audio dengan menggunakan dua file audio .WAV

sebagai media penampung yang diberi nama Audio1 (2.940 KB) dan Audio2

(8.594 KB), serta sepuluh file text dengan ukuran yang berbeda sebagai objek

yang akan disisipkan dengan nama Text1 (1 KB), Text2 (2 KB), Text3 (3 KB),

Text4 (4 KB), Text5 (5 KB), Text6 (6 KB), Text7 (7 KB), Text8 (8 KB), Text9 (9

KB), dan Text10 (10 KB). Kunci enkripsi yang dipakai “marsanthia”. Hasil dari

pengujian ini dapat dilihat pada Tabel 3.

Tabel 3 Hasil Embedding Data Degan Ukuran Berbeda

Nama Audio

Waktu Proses (MS)

Text1 Text2 Text3 Text4 Text5 Text6 Text7 Text8 Text9 Text10

(1 KB) (2 KB) (3 KB) (4 KB) (5 KB) (6 KB) (7 KB) (8 KB) (9 KB) (10 KB)

Audio1 4,42 12,18 21,01 27,09 34,46 44,95 56,17 64,67 67,51 80,87

Audio2 4,78 12,54 20,46 28 34,45 42,15 57,89 61,32 68,28 75,46

Berdasarkan data pada Tabel 3, dibuat grafik yang dapat dilihat pada

Gambar 9.

Gambar 9 Diagram Embedding Untuk File Dengan Ukuran Berbeda

Berdasarkan diagram pada Gambar 9, yaitu diagram proses embedding

dengan ukuran file yang akan disisipkan berbeda serta menggunakan dua audio

dengan ukuran berbeda untuk menjadi media penampung, yang dimulai dari

ukuran file yang kecil hingga besar, maka dihasilkan garis yang semakin

meningkat karena semakin besar pesan yang disisipkan maka semakin banyak

pula waktu yang dibutuhkan untuk proses embedding, karena semakin banyak bit

yang harus dibaca kemudian disisipkan, yang menyebabkan proses penyisipannya

harus berulang dan memerlukan lebih banyak waktu. Sedangkan pada kedua audio

walaupun berbeda ukuran namun hanya sedikit pengaruh terhadap proses

Page 14: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

18

embedding. Kesimpulannya besar ukuran pesan yang akan disisipkan sangat

mempegaruhi waktu embedding namun besar ukuran audio tidak terlalu

mempengaruhi waktu embedding.

Ekstraksi Data Pada Audio

Untuk mengetahui apakah proses steganografi berhasil atau tidak, maka

salah satu syaratnya yaitu data yang telah di embedding harus dapat ditampilkan

kembali melalui proses ekstraksi. Oleh karena itu percobaan ekstraksi sangat

penting supaya bisa dilihat apakah pesan audio yang disisipkan dapat kembali

seperti semula ataupun tidak. Hasil pengujian ini dapat dilihat pada Tabel 4.

Tabel 4 Hasil Ekstraksi

Stego File Ekstraksi Proses Isi Waktu

(MS)

Doc1_Audio1

Doc2_Audio1

Doc1_Audio2

Doc2_Audio2

Text1_Audio1 Text2_Audio1

Text1_Audio2

Text2_Audio2

Ya

Ya

Ya

Ya

Ya Ya

Ya

Ya

Berhasil

Berhasil

Berhasil

Berhasil

Berhasil Berhasil

Berhasil

Berhasil

100%

100%

100%

100%

100% 100%

100%

100%

0,31

0,32

0,57

0,59

0,16 0,15

0,43

0,44

Berdasarkan hasil ekstraksi pesan pada Tabel 4, diketahui bahwa semua

file yang telah mengalami proses embedding berhasil diekstraksi dengan hasil

sesuai dengan apa yang disisipkan. Tabel 4 juga menunjukkan bahwa besar file

yang disisipkan juga mempengaruhi waktu ekstraksi. Semakin besar file yang

disisipkan, semakin lama waktu yang dibutuhkan untuk proses ekstraksi.

Ekstraksi Data Dengan Ukuran Berbeda

Setelah pengujian embedding dengan menggunakan ukuran dokumen yang

berbeda, kemudian dilakukan proses ekstraksi, waktu proses ekstraksi dapat

dilihat pada Tabel 5.

Tabel 5 Hasil Ekstraksi Data Dengan Ukuran Berbeda

Nama Audio

Waktu Proses (MS)

Text1 Text2 Text3 Text4 Text5 Text6 Text7 Text8 Text9 Text10

(1 KB) (2 KB) (3 KB) (4 KB) (5 KB) (6 KB) (7 KB) (8 KB) (9 KB) (10 KB)

Audio1 0,2 0,6 0,2 0,23 0,21 0,21 0,25 0,25 0,25 0,23

Audio2 0,43 0,42 0,43 0,46 0,45 0,46 0,46 0,46 0,48 0,46

Berdasarkan hasil pengujian pada Tabel 3 dan Tabel 5, diketahui bahwa

besar file yang disisipkan juga mempengaruhi waktu ekstraksi. Semakin besar file

yang disisipkan semakin lama waktu yang dibutuhkan untuk proses ekstraksi.

Berdasarkan data pada Tabel 5, dibuat grafik yang dapat dilihat pada

Gambar 10.

Page 15: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

19

Gambar 10 Diagram Ekstraksi Untuk File Dengan Ukuran Berbeda

Berdasarkan pada Gambar 10, yaitu diagram proses ekstraksi dengan

ukuran file yang telah disisipkan berbeda-beda serta menggunakan dua audio

dengan ukuran berbeda pula yang menjadi media penampungnya, yang dimulai

dari ukuran file yang kecil hingga besar, maka dihasilkan garis yang tidak

beraturan dan tidak menentu, namun waktu yang dibutuhkan pada proses ini jauh

lebih sedikit dibandingkan proses embedding. Sedangkan ukuran audio lebih

berpengaruh dibandingkan ukuran file yang disisipkan yaitu semakin besar audio

semakin banyak waktu yang dibutuhkan pada proses embedding. Jadi dapat

disimpulkan bahwa pada proses ekstraksi ukuran file yang akan diekstraksi tidak

mempengaruhi waktu proses tetapi ukuran audio penampung yang mempengaruhi

waktu ekstraksi.

Analisis Hasil Pengujian Sistem

Analisis Sistem Embedding dan ekstraksi

Setelah proses pengujian dilakukan terhadap sistem embedding dengan

menggunakan media penampung berupa file audio dengan format WAV dan

objek penyisipan berupa file dokumen dengan format .docx dan file teks dengan

format .txt, dapat disimpulkan bahwa proses berjalan dengan baik dan berhasil.

Sebelum proses embedding dilakukan, user akan memasukkan media

penampung dan objek. Objek akan diproses enkripsi, kemudian barulah proses

embedding dijalankan kemudian menghasilkan stego audio, dimana jika

dibandingkan dengan audio aslinya tidak akan ditemukan perbedaan dari ukuran

maupun suara, sehingga tidak akan menghadirkan kecurigaan dari pihak lain.

Demikian juga proses ekstraksi dimana sebelum dilakukan proses

ekstraksi, user harus memasukkan stego audio yang akan diekstrak, setelah itu

dilakukan proses dekripsi, barulah menjalankan proses ekstraksi, hasil ekstraksi

berupa dokumen baru sama dengan dokumen yang asli, proses ini pun berjalan

dengan baik dengan keberhasilan sama seperti proses embedding, hanya pada

proses ekstraksi masih memiliki kekurangan yaitu setelah melakukan ekstraksi

pada stego audio pesan yang disisipkan masih tersimpan di dalam file audio,

sehingga dapat memungkinkan pihak lain mendapatkan pesan yang sama.

Page 16: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

20

Analisis Kualitas Audio

Berdasarkan hasil pengujian pada Tabel 1 dan Tabel 2, stego audio yang

dihasilkan mempunyai ukuran yang sama dengan audio aslinya sebelum

dilakukan proses embedding, juga setelah dilakukan proses ekstraksi. Dengan

pendengaran normal tidak ditemui perbedaan pada audio maupun stego audio.

Analisis hasil steganografi berdasarkan ukuran audio, dapat dilihat pada Tabel 6.

Tabel 6 Hasil Steganografi Berdasarkan Ukuran Audio

Nama audio Embedding Ekstraksi

sebelum sesudah sebelum sesudah

Audio1

Audio2

2.940 KB

8.594 KB

2.940 KB

8.594 KB

2.940 KB

8.594 KB

2.940 KB

8.594 KB

Analisis Pengaruh Ukuran Data

Berdasarkan hasil pengujian pada Tabel 1 dan Tabel 2, ukuran data

mempengaruhi proses embedding maupun ekstraksi yaitu semakin besar ukuran

dokumen yang akan disisipkan maupun diekstrak, maka semakin panjang juga

waktu yang dibutuhkan di dalam proses, namun demikian proses embedding lebih

banyak menghabiskan waktu dari pada proses ekstraksi, walaupun dengan ukuran

dokumen yang sama. Analisis ukuran data dapat dilihat pada Tabel 7.

Tabel 7 Ukuran File

Nama File Sebelum Embedding Sesudah Ekstraksi

Doc1

Doc2

Text1

Tex2

12,10 KB

13,16 KB

1 KB

5 KB

12,10 KB

13,16 KB

1 KB

5 KB

Analisis Waktu Proses

Perbedaan waktu proses saat pengujian dengan media penampung dan

objek yang sama, dapat disebabkan karena adanya proses lain yang harus

dikerjakan serta kemampuan memori pada komputer yang dipakai untuk

menjalankan proses. Waktu rata-rata pengujian embedding dapat dilihat pada

Tabel 8, dan analisis waktu ekstraksi dapat dilihat pada Tabel 9.

Tabel 8 Waktu Rata-rata Pengujian Embedding

File Penyimpanan Ukuran File

(KB)

Waktu Rata-rata

Audio1

(Size 2.940 KB)

(MS)

Audio2

(Size 8.594 KB)

(MS)

Doc1

Doc2

12,10

13,16

138,01

155,45

138,31

159,19

Text1

Text2

1

5

6,24

6,29

8,21

52,18

Page 17: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

21

Table 9 Waktu Proses Ekstraksi

Stego audio Ukuran file

(objek)

Waktu

(MS)

Doc1_Audio1

Doc2_Audio1

Doc1_Audio2

Doc2_Audio2

Text1_Audio1

Text2_Audio1

Text1_Audio2

Text2_Audio2

12,10 KB

13.16 KB

12,10 KB

13.16 KB

1 KB

5 KB

1 KB

5 KB

1,93

1,94

2,98

2,96

1,16

1,35

2,32

2,85

Analisis Perbandingan Wave Form

Analisis 1

Kunci: satyawacana

File media: music.wav 8.39MB (8,800,020 bytes), kapasitas 1,002,305 bits

Dokumen: Text2.txt 4.17kB (4,268 bytes) 34,288 bits

File Hasil Penyisipan: music+text2.wav.

Total Time: 22.4392834 detik

Software yang digunakan untuk menganalisis: Cool Edit Pro 2.1

Hasil Analisis Waveform ditunjukkan pada Gambar 11

Gambar 11 Visualisasi Waveform Untuk File Text2.txt

Gambar 11 merupakan visualisasi waveform pada dua file .wav. Bagian

atas adalah visualiasi waveform file music.wav, dan bagian bawah adalah file

music+text2.wav, file yang telah disisipi dokumen. Waveform adalah sebuah

kurva yang menunjukkan bentuk gelombang pada waktu tertentu. Perbandingan

pada Gambar 11, secara visual tidak menunjukkan perbedaan yang signifikan

antara file asli (music.wav) dan file yang telah disisip (music+teks2.wav).

Page 18: Perancangan dan Implementasi Steganografi Menggunakan ...repository.uksw.edu/bitstream/123456789/2392/2/T1_672007070_Full... · Proses embedding dalam bentuk flowchart, ditunjukkan

22

5. Simpulan Berdasarkan hasil penelitian dan pengujian yang telah dilakukan dapat

disimpulkan bahwa, ukuran file yang disisipkan serta ukuran media penampung,

mempengaruhi waktu dalam proses embedding. Semakin besar file yang akan

disisipkan serta semakin besar media penampung maka semakin lama pula waktu

yang dibutuhkan untuk proses embedding. Waktu yang diperlukan dalam proses

ekstraksi jauh lebih pendek dari waktu yang dibutuhkan pada proses embedding.

Perubahan kualitas audio tergantung pada besar kecilnya file yang disisipkan.

Ukuran data sebelum dan sesudah proses embedding tidak mengalami perubahan.

Hasil penyisipan tidak menunjukkan perbedaan yang signifikan antara file yang

menjadi media penampung dengan file yang akan disisipkan. Saran untuk

pengembangan aplikasi ini, diharapkan agar aplikasi ini dapat dikembangkan

dengan menggunakan file audio yang lain sebagai media steganografi, misalnya

mp3, serta menggunakan algoritma kriptografi yang lain untuk proses enkripsi

dan dekripsi.

6. Daftar Pustaka

[1] Munir, Rinaldi, 2006. Kriptografi Steganografi dan Watermarking, Bandung

: Institut Teknologi Bandung.

[2] Sridevi, Damodaram, & Narasimham, 2009. Efficient Method of Audio

Steganography by Modified LSB Algorithm and Strong Encryption Key with

Enhanced Security, Hyderabad : Department of Computer Science and

Engineering-JNTUH.

[3] Budiman, 2010. Aplikasi Steganografi Pada Vidio Dengan Metode Least

Significant Bit (LSB), Bandung : UNIKOM.

[4] Susanti, 2007. Steganografi Gambar Pada Least Significant Bit (LSB)

Dengan Pengunaan PRNG (Pseudo Random Number Generator), Bogor :

IPB.

[5] Pressman, Roger S, 2001. Software Engineering a Practitioner’s Approach,

New York : McGraw-Hill Higher Education.

[6] Nugroho, Adi, 2005. Rational Rose Untuk Pemodelan Berorientasi Objek,

Bandung : Informatika.