perancangan dan implementasi teknik steganografi...
Post on 18-Mar-2019
236 Views
Preview:
TRANSCRIPT
1
1. Pendahuluan
Steganografi dapat dipandang sebagai kelanjutan kriptografi. Jika
kriptografi merahasiakan makna pesan sementara eksistensi pesan tetap ada, maka
steganografi menutupi keberadaan pesan. Dalam praktiknya, 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.
Dalam menjaga keamanan pesan yang dikirimkan, data dalam pesan
tersebut dapat disamarkan terlebih dahulu dengan menggunakan teknik
kriptografi. Kemudian teknik steganografi digunakan agar dalam pengiriman
pesan, pesan yang disisipkan pada audio tidak dapat diketahui sehingga ketika
audio diambil oleh pihak ketiga atau pihak lainnya tidak dapat menyadari adanya
pesan di dalam audio yang dikirimkan.
Berdasarkan latar belakang masalah tersebut, maka dilakukan penelitian
dengan tujuan merancang suatu aplikasi steganografi yang akan melakukan
penyisipan file atau pesan rahasia ke dalam file audio dengan format *.WAV
menggunakan metode Enhanced Audio steganography (EAS) serta menggunakan
algoritma Columnar Transposition untuk proses enkripsi dan dekripsi file. Dalam
penelitian ini, file yang akan disisipkan yaitu file pesan dengan format *.txt.
2. Kajian Pustaka
Adapun penelitian terdahulu yang menjadi acuan dalam penelitian ini
adalah penelitian dengan judul “Efficient Method of Audio Steganography by
Modified LSB Algorithm and Strong Encryption Key With Enhanced Security”.
Penelitian ini 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 [1].
Penelitian dengan judul “Aplikasi Steganografi pada Citra Menggunakan
Metode Least Significant Bit Termodifikasi dan RC6” juga menjadi acuan dalam
penelitian ini. Pada penelitian tersebut sistem steganografi yang dibangun akan
dianalisis dengan melihat apakah terjadi perubahan signifikan terhadap kualitas
dan besar ukuran data pada cover image setelah melalui proses embedding dan
extracting data serta melihat apakah terjadi perubahan atau kerusakan pada data
yang telah diekstrak [2].
Penelitian lainnya yang juga menjadi acuan dalam penelitian ini adalah
penelitian dengan judul “Perancangan dan Implementasi Steganografi
Menggunakan Metode Enhanced Audio Steganography (EAS)”. Pada penelitian
ini metode EAS digunakan untuk menyisipkan pesan teks ke dalam file *.WAV.
Proses enkripsi dan dekripsi pesan menggunakan algoritma Vigenere [3].
Berdasarkan penelitian terdahulu yang menjadi acuan, maka akan
dilakukan penelitian steganografi yang menggunakan metode Enhanced Audio
Steganography (EAS) dan menggunakan algoritma Columnar Transposition
2
untuk proses enkripsi pada data atau pesan yang akan disisipkan serta media yang
digunakan yaitu file audio berformat *.WAV.
Steganografi berasal dari Bahasa Yunani, yaitu “steganos” yang artinya
“tulisan tersembunyi”. Steganografi adalah ilmu dan seni menyembunyikan pesan
rahasia di dalam pesan lain sehingga keberadaan pesan rahasia tersebut tidak
dapat diketahui [4]. Steganografi menyembunyikan pesan rahasia ke dalam media
penampung pesan rahasia, dimana pesan tersebut telah dienkripsi terlebih dahulu.
Selanjutnya menyisipkan ciphertext ke dalam media penampung tanpa mengubah
media tersebut sehingga sebelum dan setelah proses penyembunyian pesan, media
penampung sama seperti aslinya.
Algoritma EAS merupakan algoritma yang memodifikasi algoritma LSB.
Modifikasi yang dilakukan adalah penyisipan bit pada media penampung hanya
dilakukan pada byte yang bernilai 254 atau 255. Pada algoritma EAS, byte yang
akan digunakan sebagai penampung hanya selective byte sehingga media
penampung yang digunakan akan mengalami kerusakan yang kecil. Dalam
algoritma EAS, diterapkan juga algoritma enkripsi pada pesan yang akan
disisipkan. Terdapat empat proses yang terjadi dalam algoritma EAS yaitu
enkripsi, deskripsi, encoding, decoding [1].
Pada algoritma Columnart Transposition, huruf-huruf di dalam plaintext
tetap sama namun urutannya diubah. Algoritma ini melakukan transpose terhadap
rangkaian karakter di dalam teks. Nama lain untuk metode ini adalah permutasi
atau pengacakan (scrambling) karena transpose setiap karakter di dalam teks
sama dengan mempermutasikan karakter-karakter tersebut [4].
Proses enkripsi pesan pada algoritma Columnar Transposition dapat
dilihat pada Gambar 1. Sebagai contoh, kunci yang digunakan untuk melakukan
proses enkripsi adalah enam. Jumlah kolom yang dibentuk sesuai dengan kunci
enkripsi, sedangkan jumlah baris disesuaikan dengan panjang karakter dari
plaintext “FAKULTAS TEKNOLOGI INFORMASI UKSW”. Plaintext ditulis
secara horizontal dengan lebar kolom tetap sesuai dengan kunci yang digunakan
yaitu enam.
Gambar 1 Proses Enkripsi Algoritma Columnar Transposition [1]
Berdasarkan Gambar 1, maka ciphertext dari proes enkripsi dapat dibaca
secara vertikal yaitu menjadi “FAN MKASOIASK LNSWUTOFI LEGO
TKIRU”.
Proses dekripsi merupakan proses kebalikan dari proses enkripsi. Dekripsi
pesan dilakukan dengan membagi panjang ciphertext dengan kunci yang
ditentukan seperti pada waktu proses enkripsi. Proses dekripsi dengan algoritma
3
Columnar Transposition untuk ciphertext “FAN MKASOIASK LNSWUTOFI
LEGO TKIRU” yang merupakan hasil dari proses enkripsi sebelumnya dapat
dilihat pada Gambar 2. Hasil dekripsi yang diperoleh dengan membaca setiap
kolom pada Gambar 2 adalah “FAKULTAS TEKNOLOGI INFORMASI
UKSW”.
Gambar 2 Proses Dekripsi Algoritma Columnar Transposition [1]
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. File WAV dapat dibuat dengan
menggunakan berbagai program wave editor maupun wave recorder. Pemilihan
format file *.WAV karena file ini merupakan audio yang tidak terkompres
sehingga memiliki kualitas audio yang baik dan memiliki tempat penyimpanan
yang besar dalam melakukan proses penyisipan bit pesan dalam audio, serta
memiliki library untuk membaca byte stream pada audio [5].
3. Metode dan Perancangan Sistem
Tahapan penelitian yang dilakukan dalam penelitian ini terlihat dalam
Gambar 3.
Gambar 3 Tahapan Penelitian
Berdasarkan Gambar 3 dapat dilihat tahap pertama yang dilakukan adalah
identifikasi masalah. Pada tahap ini dilakukan analisis terhadap permasalahan
yang ada, yaitu mendapatkan data dan literatur terkait dengan proses embedding,
ekstraksi, enkripsi dan dekripsi terhadap data file pada audio menggunakan
4
metode Enhanced audio steganography (EAS) dan algoritma Columnar
Transposition melalui dokumen dan referensi yang ada.
Tahap selanjutnya yang dilakukan adalah perancangan sistem. Perancangan
proses dalam sistem dilakukan dengan menggunakan Unified Modeling Language
(UML). Adapun diagram yang dibuat pada perancangan sistem ini adalah use case
diagram. Use case diagram merupakan diagram yang memperlihatkan hubungan
antara aktor dengan sistem [6].
Gambar 4 Use Case Diagram Sistem
Gambar 4 menunjukkan use case diagram dari sistem yang dibangun.
Pada Gambar 4 dapat dilihat interaksi antara user dengan sistem, dimana terdapat
user yang dapat berperan sebagai embeddor maupun extractor. Embeddor dapat
melakukan input audio, input document, dan proses embedding dengan
memasukkan key untuk proses enkripsi. Extractor dapat melakukan input stego
audio serta proses ekstraksi dengan memasukkan key untuk proses dekripsi.
Selain itu user dapat juga melakukan perbandingan file audio maupun file
document.
Pada tahap perancangan sistem, juga dilakukan perancangan untuk proses
embedding, extracting dengan algoritma EAS, dan proses enkripsi dan dekripsi
dengan algoritma Columnar Transposition. Perancangan ini diperlukan agar
proses implementasi lebih sistematis dan terarah. Flowchart proses embedding
dapat dilihat pada Gambar 5, proses extracting pada Gambar 6, flowchart proses
enkripsi dapat dilihat pada Gambar 7 dan proses dekripsi pada Gambar 8.
5
Gambar 5 Proses Embedding
Algoritma proses embedding pada Gambar 5, secara umum digunakan
untuk menyembunyikan pesan atau data di dalam data lainnya. Media diperlukan
sebagai sarana penampung pesan tersebut untuk menyembunyikan pesan rahasia.
Setelah menentukan media penampung, kemudian pesan rahasia disisipkan ke
dalam media penampung. Selanjutnya dilakukan proses embedding menggunakan
algoritma embedding. Pada Gambar 5 dapat dilihat bahwa setelah user mengisi
file audio, file document dan key enkripsi, sistem akan menghitung besar lokasi
yang tersedia pada file audio dan file document tersebut. Kemudian file yang akan
disisipkan dienkripsi terlebih dahulu. File WAV yang digunakan sebagai media
penyisipan harus memiliki jumlah byte bernilai 254 atau 255 yang cukup
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
6
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.
Gambar 6 Proses Extracting
Proses yang terjadi sesuai algoritma extracting data seperti pada Gambar 6
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
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 ada data yang disisipkan maka
proses akan selesai, tetapi jika ada data yang disisipkan maka proses akan
berlanjut dengan penyiapan penampung pesan. Sistem akan membaca panjang
7
data yang disisipkan ke 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 diperoleh akan didekripsi, kemudian disimpan sebagai file baru.
Proses selesai dengan output document yang telah dilakukan proses extracting.
Gambar 7 Proses Enkripsi
Gambar 7 menjelaskan proses enkripsi file dimulai dengan input file
(plaintext), selanjutnya input key sebagai perhitungan jumlah kolom dalam proses
enkripsi. Setelah proses input selesai, selanjutnya proses enkripsi dijalankan.
Proses enkripsi melakukan langkah-langkah untuk melakukan proses enkripsi,
Setelah proses selesai dijalankan, maka akan menghasilkan output ciphertext.
8
Gambar 8 Proses Dekripsi
Gambar 8 menjelaskan proses dekripsi file dimulai dengan input file
(ciphertext), selanjutnya input key sebagai perhitungan jumlah kolom dalam
proses enkripsi. Setelah proses input selesai, selanjutnya proses dekripsi
dijalankan. Proses dekripsi melakukan langkah-langkah untuk melakukan proses
dekripsi, Setelah proses selesai dijalankan, maka akan menghasilkan output
plaintext.
Setelah melakukan perancangan sistem menggunakan UML serta
perancangan flowchart, tahap selanjutnya yaitu implementasi sistem. Pada tahap
ini dilakukan implementasi perancangan yang telah dibuat. Implementasi
dilakukan dengan menulis kode program menggunakan bahasa pemrograman C#.
Tahapan selanjutnya yang dilakukan yaitu pengujian sistem. 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 Columnar Transposition.
9
4. Hasil dan Pembahasan
Pada bagian hasil dan pembahasan akan dibahas mengenai penerapan dari
tiap perancangan yang sudah dibangun. Adapun hasil penerapan yang akan
dibahas adalah proses embedding dan proses extracting.
Proses embedding dimulai dengan menghitung jumlah bit yang tersedia
dari file audio sebagai media penampung untuk penyisipan pesan dan jumlah bit
yang harus disisipkan dari file document yang berisi pesan rahasia. Setelah itu,
pesan rahasia tersebut akan dienkripsi terlebih dahulu dan kemudian disisipkan
pada media penampung. Pengkodean untuk proses perhitungan jumlah bit dari file
audio dapat dilihat pada Kode Program 1 sedangkan untuk proses perhitungan
jumlah bit dari file document dapat dilihat pada Kode Program 2 dan pengkodean
untuk proses enkripsi dapat dilihat pada Kode Program 3.
Kode Program 1 Proses Perhitungan Jumlah Bit File Audio
Pada Kode Program 1 terdapat fungsi HitungKapasitasBit dengan
parameter nama dari file audio yang akan dihitung jumlah bitnya. Proses
perhitungan dimulai dari perintah baris 9 sampai pada baris 16. Setelah berhasil
melakukan perhitungan, fungsi tersebut akan mengembalikan nilai dari
perhitungan yang dilakukan berupa jumlah bit yang tersedia untuk disisipkan
pesan.
1. public int HitungKapasitasBit(string filename)
2. {
3. if (File.Exists(filename))
4. {
5. int counter = 0;
6. FileStream waveFileStream = new FileStream(filename, FileMode.Open);
7. WaveStream baru = new WaveStream(waveFileStream);
8. int r = -1;
9. while ((r = baru.ReadByte()) != -1)
10. {
11. byte current = (byte)r;
12. if (current == A || current == B)
13. {
14. counter++;
15. }
16. }
17. baru.Close();
18. waveFileStream.Close();
19. return counter;
20. }
21. .
22. .
23. .
24. .
25. }
10
Kode Program 2 Perintah Untuk Proses Perhitungan Jumlah Bit File Document
Kode Program 2 merupakan pengkodean untuk menghitung jumlah bit
yang harus disisipkan dari file document. Perhitungan jumlah bit dilakukan
dengan perintah pada baris 14, yang ditampung dalam variabel binaryMessage.
Kode Program 3 Perintah Untuk Proses Enkripsi
1. private String BuildBinaryMessage(int key , string documentFile)
2. {
3. byte[] plain = File.ReadAllBytes(documentFile);
4. byte[] message = Transposisi.TranspositionCipherAdapter.Encrypt
(plain,key);
5. FileInfo infoFile = new FileInfo(documentFile);
6. byte[] fileName = Encoding.Default.GetBytes(infoFile.Name);
7. int messageLength = message.Length * 8;
8. int nameLength = fileName.Length * 8;
9. String binaryMarker = BitsMarker;
10. String binaryNameLength = IntToBinaryString(nameLength);
11. String binaryName = StringToBinaryString(fileName);
12. String binaryMessageLength = IntToBinaryString(messageLength);
13. String binaryMessage = StringToBinaryString(message);
14. binaryMessage = binaryMarker + binaryNameLength + binaryName +
binaryMessageLength + binaryMessage;
15. return binaryMessage;
16. }
1. public static List<string> transpose(string plain, int k)
2. {
3. string rslt = "";
4. List<string> listRsltTranspose = new List<string>();
5. char[] data = plain.ToCharArray();
6. int count = data.Length;
7. for (int i = 0; i < count; )
8. {
9. string strTemp = "";
10. if ((i + k) > count)
11. {
12. for (int n = i; n < count; n++)
13. {
14. rslt += data[n];
15. strTemp += data[n];
16. }
17. listRsltTranspose.Add(strTemp);
18. }
19. else
20. {
21. int temp = i;
22. for (int j = i; j < (temp + k); j++)
23. {
24. rslt += data[j];
25. strTemp += data[j];
26. }
27. listRsltTranspose.Add(strTemp);
28. }
29. i += k;
30. rslt += "\n";
31. }
32. return listRsltTranspose;
33. }
11
Pada Kode Program 3 terdapat fungsi transpose dengan parameter plain
yaitu pesan yang akan disisipkan dan k sebagai kunci yang digunakan untuk
melakukan proses enkripsi. Proses enkripsi dilakukan dengan perintah pada baris
7 sampai baris 31 sesuai dengan algoritma Columnar Transposition. Hasil dari
fungsi tersebut adalah pesan yang telah dienkripsi.
Setelah melakukan enkripsi pada pesan rahasia, langkah selanjutnya yang
dilakukan yaitu proses embedding. Pada proses ini dilakukan penyisipan pesan
rahasia ke dalam media penampung berupa file audio. Pengkodean untuk
penyisipan pesan dapat dilihat pada Kode Program 4.
Kode Program 4 Perintah Untuk Proses Penyisipan
Kode Program 4 merupakan pengkodean untuk proses embedding data ke
dalam media penampung. Penyisipan data pada tiap byte file audio dilakukan
dengan perintah pada baris 10 sampai baris 19. Hasil dari proses embedding yang
dilakukan dapat dilihat pada Gambar 9.
Gambar 9 Antarmuka Untuk Proses Embedding
1. public void EmbeddingStart(int key, string mediaFile, string resultFile,
string documentFile)
2. {
3. .
4. .
5. List<int> daftarIndex = FindIndices(mediaBytes);
6. .
7. String binaryMessage = BuildBinaryMessage(key, documentFile);
8. .
9. int messageIndex = 0;
10. foreach (int index in daftarIndex)
11. {
12. if (messageIndex >= binaryMessage.Length) break;
13. byte current = mediaBytes[index];
14. char bit = binaryMessage[messageIndex];
15. current = ReplaceBit(current, bit);
16. mediaBytes[index] = current;
17. messageIndex++;
18. .
19. }
20. destinationStream.Write(mediaBytes, 0, mediaBytes.Length);
21. .
22. .
23. }
12
Gambar 9 merupakan tampilan antarmuka untuk proses embedding dimana
user akan memilih button browse untuk memilih media penampung. Selanjutnya
pilih dokumen yang akan disisipkan, kemudian user memasukkan kunci yang
diinginkan pada textbox key, kemudian pilih button embed untuk memilih lokasi
dimana ingin menyimpan file hasil embedding. Kemudian proses penyisipan file
dokumen ke dalam media *.WAV berjalan hingga tampil message box finish,
maka proses embedding telah selesai.
Selain proses embedding, user juga dapat melakukan proses extracting
pada aplikasi yang dibangun. Proses extracting dilakukan dengan mengeluarkan
file document yang disisipkan terlebih dahulu kemudian file tersebut didekripsi.
Pengkodean untuk mengeluarkan file document yang disisipkan dapat dilihat pada
Kode Program 5 dan pengkodean untuk proses dekripsi dapat dilihat pada Kode
Program 6.
Kode Program 5 Perintah Untuk Proses Ekstraksi
Kode Program 5 merupakan pengkodean untuk membaca file document
yang disisipkan pada media penampung. Perintah pada baris 14 dapat dilihat
bahwa program akan memanggil fungsi yang digunakan untuk mendekripsikan
pesan rahasia yang telah dienkripsi pada proses embedding. Setelah itu hasil
dekripsi pesan akan disimpan sebagai file yang baru.
1. public void ExtractingStart(string key, string mediaFile, string
resultFolder)
2. {
3. .
4. .
5. List<byte> containers = GetContainer(mediaBytes);
6. .
7. .
8. if (IsHeaderValid(containers.GetRange(0, 8)))
9. {
10. int nameBytesLength = ReadInteger(containers.GetRange(8,
32).ToArray());
11. string fileName = ReadString(containers.GetRange(40,
nameBytesLength).ToArray());
12. int messageBytesLength = ReadInteger(containers.GetRange(40 +
nameBytesLength, 32).ToArray());
13. byte[] cipherMessage = ReadBytes(containers.GetRange(40 +
nameBytesLength + 32,
messageBytesLength).ToArray());
14. byte[] message = TranspositionCipherAdapter.Decrypt(
cipherMessage,int.Parse(key));
15. FileStream result = new FileStream(resultFolder, FileMode.Create);
16. result.Write(message, 0, message.Length);
17. result.Close();
18. .
19. }
20. .
21. .
22. }
13
Kode Program 6 Perintah Untuk Perintah Untuk Proses Dekripsi
File document yang telah berhasil diekstraksi dari media penampung
berupa file stego audio kemudian didekripsi melalui pengkodean seperti pada
Kode Program 6. Proses dekripsi dimulai dari perintah pada baris 9 sampai baris
29. Hasil dari proses extracting dapat dilihat pada Gambar 10.
Gambar 10 Antarmuka Untuk Proses Extracting
Gambar 10 merupakan tampilan antarmuka untuk proses extracting dimana
user akan memasukkan file stego audio yang akan diekstraksi dengan memilih
button browse. Selanjutnya user harus memasukkan kunci dekripsi pada textbox
key yang sama dengan kunci enkripsi, kemudian pilih button extract untuk
memilih lokasi dimana ingin menyimpan file hasil ekstraksi. Setelah itu proses
1. public static List<string> transpose(string plain, int k, int remain)
2. {
3. string rslt = "";
4. List<string> listRsltTranspose = new List<string>();
5. string str = "";
6. int previousIndex = 0, nextIndex = 0;
7. int countCopy = plain.Length / k;
8. int inc = 0;
9. for (int i = 0; i < plain.ToCharArray().Length; )
10. {
11. nextIndex += countCopy ;
12. if (remain != 0)
13. {
14. nextIndex += 1;
15. --remain;
16. listRsltTranspose.Add(plain.Substring(previousIndex, countCopy +1
));
17. i += (countCopy + 1);
18. }
19. else
20. {
21. Try
22. {
23. listRsltTranspose.Add(plain.Substring(previousIndex, countCopy
));
24. i += countCopy;
25. }catch (Exception ) {
26. }
27. }
28. previousIndex = nextIndex;
29. }
30. plain = str;
31. return listRsltTranspose;
32. }
14
ekstraksi akan berjalan hingga tampilnya message box finish maka proses
ekstraksi selesai.
Setelah melakukan implementasi sistem terhadap perancangan yang
dibuat, selanjutnya dilakukan pengujian sistem. Pengujian sistem dilakukan
dengan membandingkan pengaruh ukuran file audio maupun file document
terhadap durasi atau waktu proses embedding dan extracting. Hasil pengujian
untuk proses embedding dapat dilihat pada Tabel 1 dan untuk proses extracting
dapat dilihat pada Tabel 3.
Tabel 1 Hasil Pengujian Embedding Data dengan Ukuran Berbeda
File Yang
Disisipkan (.txt)
Jumlah Bits
Yang Dapat
Disisipkan
Waktu Embedding (MS)
Audio 1
(10.666 KB)
(348.056 bit)
Audio 2
(8.592 KB)
(176.289 bit)
Pesan 1 (2 KB) 8.760 bits 13,74 13,78
Pesan 2 (6 KB) 49.080 bits 58,93 64,98
Pesan 3 (10 KB) 79.320 bits 99,55 105,17
Pesan 4 (14 KB) 108.120 bits 135,33 145,75
Pesan 5 (18 KB) 147.000 bits 182,56 216,65
Pesan 6 (21 KB) 167.184 bits 193,33 255,35
Pesan 7 (22 KB) 177.248 bits 238,74
Pesan 8 (24 KB) 188.784 bits 238,74
Pesan 9 (28 KB) 223.392 bits 322,40
Pesan 10 (32 KB) 255.040 bits 385,10
Pesan 11 (36 KB) 288.160 bits 445,63
Pesan 12 (40 KB) 327.088 bits 450,04
Pesan 13 (43 KB) 348.688 bits
Pengujian pada Tabel 1 dilakukan dengan menggunakan file document
dengan format *.txt yang akan disisipkan pada file audio dengan format *.WAV.
kunci enkripsi yang digunakan untuk proses embedding adalah enam. Berdasarkan
hasil pengujian embedding data dengan ukuran yang berbeda pada Tabel 1 dapat
dilihat bahwa pengujian pada Audio 2 untuk menyisipkan file Pesan 7 sampai file
Pesan 13 tidak dapat dilakukan karena jumlah bit pesan melebihi kapasitas bit
yang tersedia pada Audio 2. Sebagai contoh, file Pesan 7 memiliki 177.248 bit
yang dapat disisipkan, sedangkan pada Audio 2 hanya tersedia 176.289 bit untuk
disisipkan. Grafik dari Tabel 1 dapat dilihat pada Gambar 11 dan Gambar 12.
15
Gambar 11 Grafik Embedding Audio1 Gambar 12 Grafik Embedding Audio2
Berdasarkan grafik pada Gambar 11 dan Gambar 12 yaitu grafik proses
embedding data dengan ukuran berbeda, file yang akan disisipkan berbeda pada
dua file audio dengan ukuran berbeda pula, dapat dilihat bahwa semakin besar
ukuran file yang disisipkan maka semakin lama waktu yang dibutuhkan untuk
proses embedding. Hal ini disebabkan karena semakin banyak bit yang harus
dibaca kemudian disisipkan, sehingga proses penyisipan harus dilakukan
berulang-ulang dan memerlukan lebih banyak waktu, sedangkan pada kedua file
audio walaupun berbeda ukuran namun hanya berpengaruh sedikit terhadap
proses embedding. Oleh karena itu dapat disimpulkan bahwa ukuran file yang
akan disisipkan dapat mempengaruhi waktu proses embedding namun besar
ukuran file audio tidak terlalu mempengaruhi waktu proses embedding.
Terkait pembahasan, karakter dari algoritma yang dibangun maka dibuat
model dengan menggunakan pencocokan kurva (fitting) berdasarkan pada Tabel
1. Pembuatan model bertujuan untuk mencari interpolasi data berdasarkan pada
Tabel 1, sebagai contoh :
Audio 1 dengan = 3 dimasukkan dalam persamaan berikut :
( )
( ) ( ) ( ) ( ) ( )
( ) 27,3816
y = -0,001x4 + 0,076x3 - 1,7946x2 + 24,606x - 32,256
R² = 0,9965
0
50
100
150
200
250
300
350
400
450
500
0 4 8 12 16 20 24 28 32 36 40 44
Audio1
Audio 1
Poly. (Audio 1)
y = -0,0052x4 + 0,2521x3 - 3,9376x2 + 33,415x - 39,612
R² = 0,999
0
50
100
150
200
250
300
0 4 8 12 16 20 24
Audio2
Audio 2
Poly. (Audio 2)
16
Tabel 2 Hasil Pengujian Extracting
Stego File Ekstraksi Proses Isi Waktu Extracting
(MS)
Pesan 1 (1KB) -
Audio 1 (10.666 KB) Ya Berhasil 100% 0,19
Pesan 2 (2KB) -
Audio 1 (10.666 KB) Ya Berhasil 100% 0,26
Pesan 1 (1KB)- Audio
2 (8.592 KB) Ya Berhasil 100% 0,16
Pesan 2 (2KB) -
Audio 2 (8.592 KB) Ya Berhasil 100% 0,24
Pada Tabel 2 dapat dilihat bahwa file document yang disisipkan yaitu file
Pesan 1 dan file Pesan 2 berhasil diektraksi. Proses ekstraksi mengggunakan kunci
yang sama pada waktu proses embedding yaitu enam dan hasilnya sesuai dengan
apa yang disisipkan. Berdasarkan Tabel 2 dapat dilihat bahwa besar ukuran file
yang disisipkan berpengaruh pada waktu extracting. Semakin besar ukuran file
yang disisipkan, semakin lama waktu yang dibutuhkan untuk proses ekstraksi.
Selain pengujian seperti pada Tabel 2, juga dilakukan pengujian dari file
document dengan ukuran berbeda yang telah disisipkan pada dua file audio. File
audio dan file document yang digunakan sama dengan file yang digunakan pada
pengujian embedding. Kunci dekripsi yang digunakan juga sama seperti pengujian
sebelumnya yaitu enam. Hasil pengujian tersebut dapat dilihat pada Tabel 3.
Tabel 3 Hasil Pengujian Extracting Data Dengan Ukuran Berbeda
File Yang
Disisipkan (.txt)
Jumlah
Bits Yang
Dapat
Disisipkan
Waktu Extracting (MS)
Audio 1
(10.666 KB)
(348.056 bit)
Audio 2
(8.592 KB)
(176.289 bit)
Pesan 1 (2 KB) 8.760 bits 0,35 0,18
Pesan 2 (6 KB) 49.080 bits 1,31 1,26
Pesan 3 (10 KB) 79.320 bits 1,95 1,91
Pesan 4 (14 KB) 108.120 bits 2,85 2,80
Pesan 5 (18 KB) 147.000 bits 3,69 3,63
Pesan 6 (21 KB) 167.184 bits 4,30 4,28
Pesan 7 (22 KB) 177.248 bits 4,57
Pesan 8 (24 KB) 188.784 bits 4,97
Pesan 9 (28 KB) 223.392 bits 5,94
Pesan 10 (32 KB) 255.040 bits 6,77
Pesan 11 (36 KB) 288.160 bits 7,78
Pesan 12 (40 KB) 327.088 bits 8,97
Pesan 13 (43 KB) 348.688 bits
17
Berdasarkan hasil pengujian extracting data dengan ukuran yang berbeda
pada Tabel 3, dapat dilihat bahwa pada file Pesan 7 sampai file Pesan 13 tidak
terdapat waktu extracting. Hal ini dikarenakan file Pesan 7 sampai file Pesan 13
tidak dapat disisipkan pada media penampung saat proses embedding seperti yang
terlihat pada Tabel 1. Grafik dari Tabel 3 dapat dilihat pada Gambar 13 dan
Gambar 14.
Gambar 13 Grafik Extracting Audio1 Gambar 14 Grafik Extracting Audio2
Berdasarkan grafik pada Gambar 13 dan Gambar 14 yaitu grafik proses
extracting data dengan ukuran file yang berbeda, dapat dilihat bahwa waktu yang
dibutuhkan untuk melakukan ekstraksi data lebih cepat dibandingkan waktu untuk
melakukan embedding. Berbeda dengan proses embedding, pada proses extracting
ukuran file audio lebih berpengaruh daripada file document. Semakin besar
ukuran file audio yang digunakan dalam proses embedding, semakin lama waktu
yang dibutuhkan untuk proses extracting. Oleh karena itu dapat disimpulkan
bahwa ukuran file yang akan diekstraksi tidak mempengaruhi waktu proses
embedding namun besar ukuran file audio sebagai media penampung
mempengaruhi waktu proses extracting.
Selain melakukan pengujian terhadap proses embedding dan extracting
dari sistem yang dibangun, dilakukan juga pengujian terhadap perbedaan file
audio sebelum dan sesudah dilakukan penyisipan pesan. Pengujian ini dilakukan
untuk mengetahui apakah dokumen yang disisipkan sama dengan dokumen yang
asli atau tidak. Proses pengujian dapat dilakukan melalui sistem yang dibangun
dengan memilih button compare pada tampilan utama aplikasi seperti pada
Gambar 15.
y = 3E-05x3 - 0,0012x2 + 0,2186x - 0,0597 R² = 0,9996
0
1
2
3
4
5
6
7
8
9
10
0 4 8 12 16 20 24 28 32 36 40 44
Audio1
audio1
Poly. (audio1)
y = -5E-05x4 + 0,0028x3 - 0,0474x2 + 0,5153x - 0,6776
R² = 0,9994
0
0,5
1
1,5
2
2,5
3
3,5
4
4,5
0 4 8 12 16 20 24
Audio2
audio2
Poly. (audio2)
18
Gambar 15 Proses Compare File Audio
Gambar 15 merupakan proses compare file audio yang digunakan pada
proses embedding dan extracting, dimana terlihat bahwa ukuran file audio
sebelum dan sesudah dilakukan penyisipan pesan sama karena proses penyisipan
dilakukan dengan cara mengganti bit sehingga tidak merubah ukuran file audio
yang disisipkan pesan, sedangkan hasil pada MD5 checksum dari file audio
sebelum dan sesudah penyisipan pesan berbeda. Perbandingan file audio sebelum
dan sesudah disisipkan pesan dapat dilihat pada Tabel 4.
Tabel 4 Hasil Compare File Audio
File
Audio
Ukuran File MD5 Checksum
Sebelum Sesudah Sebelum Sesudah
Audio 1 10921178
byte
10921178
byte
b7b328287113c423
7466162f2d3b851a
38126af2ee5b3b9d
c4d44339b119648f
Audio 2 8798002
byte
8798002
byte
7ab0b42ac9f2d3c81
f5b9809be11c80e
9565f805ad79f282
32bb782acdb1067e
Tabel 4 menunjukkan hasil perbandingan file audio 1 yang berukuran
10.666KB dan file audio 2 yang berukuran 8.592KB.
Gambar 15 Proses Compare File Audio DiffMaker
19
Gambar 15 merupakan proses compare file menggunakan aplikasi audio
DiffMaker. Pada Gambar 15 dapat dilihat bahwa terdapat reference track yang
diisi dengan file *.WAV asli dan compared track diisi dengan file audio yang
telah disisipkan pesan atau stego file. Setelah itu pilih button extract kemudian
akan muncul dua file audio dengan ukuran yang sama, yaitu file
wav01x@wav01.wav dan file wav01x-wav01.wav.
Gambar 16 Visualisasi Waveform Audio DiffMaker
Gambar 16 merupakan visualisasi waveform audio pada dua file yang telah
diekstrak dengan aplikasi DiffMaker. File bagian atas merupakan file
wav01x@wav01.wav yang menunjukkan bahwa file wav01x.wav sebagai
compared track terdapat di dalam file reference track yaitu wav01.wav, sehingga
saat file tersebut dijalankan hasil dan kualitas suaranya sama seperti file asli. File
wav01x-wav01.wav menunjukkan bahwa file wav01x.wav sebagai compared
track tidak terdapat di dalam file reference track yaitu file wav01.wav karena
stego file dikurangi dengan file asli, sehingga saat file tersebut dijalankan kualitas
suara yang dihasilkan memiliki perbedaan di awal audio yaitu ketika audio
dijalankan maka suara yang dihasilkan hanya terdengar pada awal audio, hal
tersebut disebabkan karena penyisipan pesan pada audio terjadi pada bagian awal.
Selain melakukan perbandingan pada file audio yang disisipkan pesan,
perbandingan juga dilakukan terhadap file document yang disisipkan pada file
audio. Proses perbandingan ini dapat dilakukan dengan cara yang sama seperti
pada proses perbandingan file audio sebelumnya. Proses perbandingan tersebut
dapat dilihat pada Gambar 17.
Gambar 17 Proses Compare File Document
20
Gambar 17 merupakan proses compare file document yang digunakan
pada proses embedding dan extracting, dimana dari Gambar 17 dapat dilihat
bahwa ukuran file document sebelum dan sesudah dilakukan penyisipan pesan
sama karena file document hasil ekstraksi tidak mengalami penambahan bit dalam
byte pesan. Hasil pada MD5 checksum dari file document sebelum dan sesudah
penyisipan pesan juga tidak mengalami perubahan. Perbandingan file pesan
sebelum dan sesudah disisipkan ke dalam file audio dapat dilihat pada Tabel 5.
Tabel 5 Hasil Compare File Document
File Yang
Disisipkan
(.txt)
Ukuran File MD5 Checksum
Sebelum Sesudah Sebelum Sesudah
Pesan 1 176 byte 176 byte dbb89c86abca13b1
162564b9a3f9db3b
dbb89c86abca13b1
162564b9a3f9db3b
Pesan 2 1436
byte
1436
byte
ec2797cbd8e0accfc
ae6a76fd7d2454f
ec2797cbd8e0accfc
ae6a76fd7d2454f
Tabel 5 menunjukkan hasil perbandingan file Pesan 1 yang berukuran 1KB
dan file Pesan 2 yang berukuran 2KB.
Gambar 18 Visualisasi Hasil Perbandingan Audio
Gambar 18 merupakan visualisasi waveform audio pada dua file *.WAV
sebelum dan sesudah embedding. Bagian atas menunjukkan file *WAV sebelum
disisipkan dan pada bagian bawah menunjukkan file *.WAV yang telah disisipkan
pesan. Angka yang terdapat pada bagian atas merupakan durasi dari file audio.
Gambar 18 secara visual tidak menunjukkan perbedaan secara signifikan antara
file asli dan file yang telah disisipkan pesan, sehingga akan sulit dibedakan
kualitas suara dari kedua file audio tersebut oleh sistem pendengaran manusia.
21
5. Simpulan
Berdasarkan hasil penelitian dan pengujian yang telah dilakukan, maka
dapat diambil kesimpulan sebagai berikut : (1) Sistem steganografi yang dibangun
menggunakan metode Enhanced Audio Steganography, dapat melakukan
penyisipan (embedding) dan pengambilan (extracting) pesan dengan format
*.WAV; (2) Berdasarkan hasil pengujian integritas pesan, pesan sebelum
disisipkan dan setelah disisipkan tidak mengalami perubahan; (3) Berdasarkan
hasil pengujian visual terhadap file audio sebelum dan sesudah proses embedding,
audio tidak mengalami perubahan signifikan secara visual; (4) Berdasarkan
pengujian terhadap perbandingan waktu proses, perbedaan file audio
mempengaruhi kecepatan proses, hal ini disebabkan tiap audio memiliki
perbedaan ukuran file, perbedaan file ini yang mempengaruhi kecepatan proses
penyisipan; (5) Berdasarkan pengujian terhadap kapasitas maksimal pesan yang
dapat disisipkan dalam file audio, semakin besar ukuran file audio semakin besar
byte yang tersedia. Saran pengembangan yang dapat diberikan untuk penelitian
lebih lanjut adalah sebagai berikut : (1) Aplikasi dapat dikembangkan tidak hanya
suara digital sebagai media penampung tetapi dapat juga berupa media teks,
media citra, atau media video. (2) Aplikasi bisa dikembangkan untuk media
penampung tidak hanya *.WAV saja tetapi dapat juga dalam bentuk format suara
lain, misalnya format *.MIDI, *.MP3, *.WMA, *.ACC. (3) Serta dapat
mengembangkan metode Enhanced Audio Steganography (EAS) dan algoritma
Columnar Transposition dalam melakukan proses steganografi.
6. Daftar pustaka
[1] 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.
[2] Solsolay, Marthen, L., Pakereng, M. A. Ineke, 2012, Aplikasi Steganografi
pada Citra Menggunakan Metode Least Significant Bit (LSB)
Termodifikasi dan RC6, Skripsi, Salatiga : Universitas Kristen Satya
Wacana.
[3] Loppies, Marsanthia, J., Pakereng, M. A. Ineke, Beeh, Yos R., 2012,
Perancangan dan Implementasi Steganografi Menggunakan Metode
Enhanced Audio Steganography (EAS), Jurnal, Salatiga : Universitas
Kristen Satya Wacana.
[4] Munir, Rinaldi, 2006, Kriptografi Steganografi dan Watermarking,
Bandung : Institut Teknologi Bandung.
[5] Gunawan, Ibnu & Gunardi, Kartika, 2005, Pembuatan Perangkat Lunak
Wave Manipulator Untuk Memanipulasi File WAV, Surabaya : Universitas
Kristen Petra Surabaya.
[6] Nugroho, Adi, 2005, Rational Rose Untuk Pemodelan Berorientasi Objek,
Bandung : Informatika.
top related