AUDIO STEGANOGRAFI DENGAN METODE LEAST SIGNIFICANT BIT (LSB) TERHADAP PESAN ...... · TERHADAP...
Transcript of AUDIO STEGANOGRAFI DENGAN METODE LEAST SIGNIFICANT BIT (LSB) TERHADAP PESAN ...... · TERHADAP...
AUDIO STEGANOGRAFI
DENGAN METODE LEAST SIGNIFICANT BIT (LSB)
TERHADAP PESAN TERENKRIPSI
DENGAN ALGORITMA TWOFISH
SKRIPSI
Diajukan untuk memenuhi sebagian persyaratan mendapatkan gelar
Strata Satu Jurusan Informatika
Disusun Oleh:
MARYAM
NIM. M0508050
JURUSAN INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SEBELAS MARET
SURAKARTA
Februari, 2013
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
i
AUDIO STEGANOGRAFI
DENGAN METODE LEAST SIGNIFICANT BIT (LSB)
TERHADAP PESAN TERENKRIPSI
DENGAN ALGORITMA TWOFISH
SKRIPSI
Diajukan untuk memenuhi sebagian persyaratan mendapatkan gelar
Strata Satu Jurusan Informatika
Disusun Oleh:
MARYAM
NIM. M0508050
JURUSAN INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SEBELAS MARET
SURAKARTA
Februari, 2013
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
ii
SKRIPSI
AUDIO STEGANOGRAFI
DENGAN METODE LEAST SIGNIFICANT BIT (LSB)
TERHADAP PESAN TERENKRIPSI
DENGAN ALGORITMA TWOFISH
Disusun oleh:
MARYAM
M0508050
Skripsi ini telah disetujui untuk dipertahankan di hadapan dewan penguji
pada tanggal 7 Februari 2013
Pembimbing I
Esti Suryani, S.Si., M.Kom
NIP. 19761129 200812 2 001
Pembimbing II
Abdul Aziz, S.Kom., M.Cs
NIP. 19810413 200501 1 001
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
iii
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
iv
MOTTO
-
(QS. Ali Imron : 146)
( Booker T.)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
v
PERSEMBAHAN
Karya ini Penulis persembahkan kepada:
Keluarga besar tercinta, Bapak Ibu & Bapak Ibu mertua
Suamiku dengan kasih sayang dan dukungannya, love u
Kakak & Adek-adek bandel, terimakasih untuk lecutan
semangatnya
Keluarga keduaku, Teman-teman Informatika UNS
-sahabat khususnya 2008
Terimakasih telah berbagi suka dan duka bersama
:-)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
vi
AUDIO STEGANOGRAFI
DENGAN METODE LEAST SIGNIFICANT BIT (LSB)
TERHADAP PESAN TERENKRIPSI
DENGAN ALGORITMA TWOFISH
MARYAM
Jurusan Informatika. Fakultas MIPA. Universitas Sebelas Maret
ABSTRAK
Informasi atau pesan dapat menjadi sesuatu yang sangat berharga dan dijaga kerahasiaannya. Semakin berkembangnya teknologi informasi, maka berbagai cara juga berkembang untuk dapat mengetahui informasi yang bukan haknya. Keamanan informasi dapat dilakukan dengan teknik kriptografi dan steganografi. Penelitian ini berfokus pada enkripsi pesan teks menggunakan algoritma Twofish menghasilkan chiperteks. Selanjutnya chiperteks tersebut disisipkan ke dalam file audio dengan metode LSB sehingga dihasilkan file audio stego.
Pengujian pertama adalah uji kapasitas file audio untuk mengetahui kapasitas pesan terbesar yang mampu ditampung file audio. Pengujian kedua dilakukan dengan menghitung waktu eksekusi enkripsi, dekripsi, penyisipan, dan ekstraksi. Plainteks yang diujikan berformat .txt dengan ukuran kelipatan 5 KB. File audio yang digunakan menggunakan format .mp3 dengan genre musik instrumen, akustik, pop, dan rock. Pengujian ketiga dilakukan dengan menghitung nilai PSNR untuk mengukur kualitas suara file audio stego.
Hasil pengujian menunjukkan bahwa penerapan steganografi pada file audio mp3 berhasil dilakukan. Kapasitas pesan yang mampu ditampung file mp3 dipengaruhi oleh banyaknya byte homogen. Waktu eksekusi penyisipan dan ekstraksi tercepat berturut-turut dimiliki oleh genre musik instrumen, akustik, rock, dan pop. Genre musik instrumen mempunyai kapasitas pesan terbesar dan waktu eksekusi tercepat. Rata-rata waktu eksekusi untuk enkripsi, dekripsi, penyisipan, dan ekstraksi mengalami kenaikan secara linear. File audio stego mempunyai kualitas baik dengan nilai PSNR yang berkisar antara nilai 30 dB 50 dB. Hasil ekstraksi file audio stego memiliki tingkat kesesuaian karakter pesan 100% terhadap isi pesan asli.
Kata Kunci Audio Steganografi, Least Significant Bit (LSB), Twofish
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
vii
AUDIO STEGANOGRAPHY
WITH LEAST SIGNIFICANT BIT (LSB) METHODS
FOR MESSAGE ENCRYPTED
WITH TWOFISH ALGORITHM
MARYAM
Department of Informatics - Faculty of Mathematics and Natural Sciences
Sebelas Maret University
ABSTRACT Information or message can be something very valuable and confidential. The
continued development of information technology, it is also developing ways to find out information that is not right. Information security can be done with cryptography and steganography techniques. This study focuses on text messaging encryption using Twofish algorithm produces chipertext. Furthermore chipertext is inserted into the audio file that is generated by the method LSB stego audio files.
The first test is a test of the capacity of the audio file to determine the capacity of the largest message that can be accommodated audio files. The second test is done by calculating the execution time of encryption, decryption, insertion and extraction. Tested plaintext extension. txt with multiple size 5 KB. Audio files used to use format. mp3 by genre musical instruments, acoustic, pop, and rock. The third testing done by calculating the value of PSNR for measuring voice quality stego audio files.
The test results showed that the application of steganography in audio mp3 file successfully. Capacity of messages that can be accommodated mp3 files affected by the number of bytes homogeneous. Execution time insertion and extraction of the fastest consecutive owned by genre musical instruments, acoustic, rock, and pop. Genre of music instruments have the greatest message capacity and the fastest execution time. The average execution time for encryption, decryption, insertion and extraction increased linearly. Stego audio files have good quality with PSNR values ranging from 30 dB - 50 dB. Stego audio files extracted own level of fitness characters message 100% of the content of the original message.
Keyword Audio Steganography, Least Significant Bit (LSB), Twofish
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
viii
KATA PENGANTAR
senantiasa memberikan nikmat dan karunia-Nya sehingga penulis dapat
menyelesaikan penelitian dengan judul Audio Steganografi dengan Metode Least
Significant Bit (LSB) terhadap Pesan Terenkripsi dengan Algoritma Twofish , yang
menjadi salah satu syarat wajib untuk memperoleh gelar Sarjana Informatika di
Universitas Sebelas Maret (UNS) Surakarta.
Penulis mengucapkan terima kasih kepada semua pihak yang telah
memberikan bimbingan, dan motivasi dalam penelitian ini, terutama kepada:
1. Ibu Esti Suryani, S.Si., M.T. selaku Dosen Pembimbing I yang penuh kesabaran
membimbing, mengarahkan, dan memberi motivasi kepada penulis selama
proses penyusunan skripsi ini,
2. Bapak Abdul Aziz, S.Si, M.Kom selaku Dosen Pembimbing II yang penuh
kesabaran membimbing, mengarahkan, dan memberi motivasi kepada penulis
selama proses penyusunan skripsi ini,
3. Bapak dan Ibu dosen serta karyawan di Jurusan Informatika FMIPA UNS yang
telah mengajarkan ilmu dan membantu selama masa studi,
4. Ibu, Bapak, suami, kakak, dan adek-adek yang telah memberikan motivasi dan
doa sehingga penyusunan skripsi ini dapat terselesaikan,
5. Sahabat-sahabat Informatika, yang telah membantu penyelesaian skripsi ini.
Penulis berharap semoga skripsi ini dapat bermanfaat bagi semua pihak yang
berkepentingan.
Surakarta, 7 Februari 2013
Penulis
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
ix
DAFTAR ISI
Halaman
HALAMAN JUDUL ..................................................................................................... i
HALAMAN PERSETUJUAN ..................................................................................... ii
HALAMAN PENGESAHAN ..................................................................................... iii
HALAMAN MOTTO ................................................................................................. iv
HALAMAN PERSEMBAHAN .................................................................................. v
ABSTRAK .................................................................................................................. vi
ABSTRACT ............................................................................................................... vii
KATA PENGANTAR .............................................................................................. viii
DAFTAR ISI ............................................................................................................... ix
DAFTAR TABEL ...................................................................................................... xii
DAFTAR GAMBAR ................................................................................................ xiii
DAFTAR LAMPIRAN ............................................................................................. xiv
BAB I PENDAHULUAN ............................................................................................ 1
1.1 Latar Belakang .............................................................................................. 1
1.2 Rumusan Masalah ......................................................................................... 3
1.3 Batasan Masalah ............................................................................................ 3
1.4 Tujuan Penelitian ........................................................................................... 3
1.5 Manfaat Penelitian ......................................................................................... 4
1.6 Sistematika Penulisan .................................................................................... 4
BAB II TINJAUAN PUSTAKA .................................................................................. 5
2.1 Dasar Teori ................................................................................................... 5
2.1.1 Kriptografi ................................................................................................... 5
2.1.2 Algoritma Twofish ..................................................................................... 14
2.1.3 Steganografi ............................................................................................... 28
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
x
2.1.4 Audio Steganografi ................................................................................... 32
2.1.5 LSB (Least Significant Bit) ........................................................................ 33
2.1.6 File Audio .................................................................................................. 34
2.1.7 MP3 ............................................................................................................ 35
2.2 Penelitian Terkait ........................................................................................ 38
2.3 Rencana Penelitian ...................................................................................... 41
BAB III METODOLOGI PENELITIAN................................................................... 42
3.1 Studi Literatur .............................................................................................. 42
3.2 Tahap Identifikasi Masalah ......................................................................... 42
3.3 Tahap Implementasi .................................................................................... 42
3.4 Tahap Enkripsi ............................................................................................ 43
3.5 Tahap Penyisipan Pesan .............................................................................. 45
3.6 Tahap Ekstraksi Pesan ................................................................................. 49
3.7 Tahap Dekripsi Pesan .................................................................................. 51
3.8 Tahap Pengujian .......................................................................................... 53
BAB IV PEMBAHASAN .......................................................................................... 55
4.1 Spesifikasi Perangkat ....................................................................................... 55
4.2 Hasil Pengujian dan Analisa ............................................................................. 55
4.2.1 Pengujian Kapasitas Pesan yang Mampu ditampung File Audio .............. 57
4.2.2 Pengujian Kecepatan Waktu Eksekusi ...................................................... 58
4.2.3 Pengujian Kualitas Suara ........................................................................... 68
BAB V PENUTUP ..................................................................................................... 71
5.1 Kesimpulan .................................................................................................. 71
5.2 Saran ............................................................................................................ 72
DAFTAR PUSTAKA ................................................................................................ 73
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
xi
DAFTAR TABEL
Halaman
Tabel 2.1 Kotak S-boxes ....................................................................................
Tabel 4.1 Atribut Data Sample File Audio . 56
Tabel 4.2 Atribut Data Sample File Teks........................................................... 56
Tabel 4.2 Atribut Data Sample File Teks........................................................... 56
Tabel 4.3 Hasil Pengujian Kapasitas Pesan yang Mampu ditampung File ..59
Tabel 4.5 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3 Bergenre
Akustik dengan Kapasitas Pesan 50000 byte 75000 byte .......................................... 59
Tabel 4.6 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3 Bergenre
Intrumen dengan Kapasitas Pesan 10000 byte 35000 byte ........................................ 59
Tabel 4.7 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3 Bergenre
Instrumen dengan Kapasitas Pesan 50000 byte 75000 byte .................................... 60
Tabel 4.8 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3 Bergenre
Pop dengan Kapasitas Pesan 10000 byte 35000 byte ................................................ 60
Tabel 4.9 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3 Bergenre
Pop dengan Kapasitas Pesan 50000 byte 75000 byte .............................................. 60
Tabel 4.10 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3 Bergenre
Rock dengan Kapasitas Pesan 10000 byte 35000 byte .............................................. 61
Tabel 4.11 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3 Bergenre
Rock dengan Kapasitas Pesan 50000 byte 75000 byte ............................................ 61
Tabel 4.12 Rata-rata Waktu Eksekusi Enkripsi, Dekripsi, Penyisipan, dan Ekstraksi
pada Plaintext 1 KB .................................................................................................... 62
Tabel 4.13 Rata-rata Waktu Eksekusi Enkripsi, Dekripsi, Penyisipan, dan Ekstraksi
pada Plaintext 5 KB .................................................................................................... 62
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
xii
Tabel 4.14 Rata-rata Waktu Eksekusi Enkripsi, Dekripsi, Penyisipan, dan Ekstraksi
pada Plaintext 10 KB .................................................................................................. 63
Tabel 4.15 Rata-rata Waktu Eksekusi Enkripsi, Dekripsi, Penyisipan, dan Ekstraksi
pada Plaintext 15 KB .................................................................................................. 63
Tabel 4.16 Rata-rata Waktu Eksekusi Enkripsi, Dekripsi, Penyisipan, dan Ekstraksi
pada Plaintext dengan Kelipatan 5 KB ....................................................................... 64
Tabel 4.17 Kenaikan Waktu Eksekusi Untuk Enkripsi, Dekripsi, Penyisipan, Dan
Ekstraksi Pada Plainteks Dengan Kelipatan 5 KB ...................................................... 66
Tabel 4.18 Rata-Rata Keseluruhan Waktu Eksekusi Berdasar Genre File mp3......... 67
Tabel 4.19 Tabel Pengujian Kekuatan Sinyal File Audio Steganografi pada Plainteks
Kelipatan 5 KB ............................................................................................................ 68
Tabel 4.20 Tabel Pengujian Kualitas Suara File Audio Steganografi Pada Plainteks
Kelipatan . 69
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
xiii
DAFTAR GAMBAR
Halaman
Gambar 2.1 Proses Enkripsi dan Dekripsi ................................................................... 5
Gambar 2.2 Contoh Skema Jaringan Fiestel .............................................................. 12
Gambar 2.3 Proses Whitening .................................................................................... 16
Gambar 2.4 Blok Diagram Twofish .......................................................................... 19
Gambar 2.5 Fungsi h ................................................................................................. 23
Gambar 2.6. Satu Putaran Fungsi F ........................................................................... 26
Gambar 2.7 Diagram Sistem Steganografi................................................................ 29
Gambar 2.3 Struktur File mp3 ................................................................................... 36
Gambar 2.8 Struktur Frame mp3 36
Gambar 3.1 Skema Implementasi Kriptografi dan Steganografi ............................... 42
Gambar 3.2 Skema Tahap Enkripsi dengan Agoritma Twofish ................................. 43
Gambar 3.3 Flowchart Proses Enkripsi Agoritma Twofish ....................................... 44
Gambar 3.4 Skema Proses penyisipan pesan ............................................................. 46
Gambar 3.5 Flowchart Tahap Penyisipan Pesan ...................................................... 46
Gambar 3.6. Flowchart Proses Pencarian Byte Yang Sama ...................................... 47
Gambar 3.7 Flowchart Penyisipan Pesan dengan Metode Penggantian Byte ............ 49
Gambar 3.8 Skema Proses Ekstraksi Pesan ............................................................... 49
Gambar 3.9 Flowchart Proses Ekstraksi Pesan.......................................................... 50
Gambar 3.10 Skema Tahap Dekripsi dengan Agoritma Twofish .....51
Gambar 3.11 Flowchart Proses Dekripsi Agoritma Twofish ..................................... 51
Gambar 4.1 Grafik Rata-Rata Waktu Enkripsi Twofish............................................. 64
Gambar 4.2 Grafik Rata-Rata Waktu Dekripsi Twofish ............................................ 65
Gambar 4.3 Grafik Rata-Rata Waktu Penyisipan Chiperteks ke dalam File Audio .. 65
Gambar 4.4 Grafik Rata-Rata Waktu Ekstraksi Chiperteks dari Objek Stego .......... 66
Gambar 4.5 Grafik Keseluruhan Waktu Eksekusi Berdasar Genre File Audio ......... 67
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
xiv
DAFTAR LAMPIRAN
Halaman
LAMPIRAN 1 ............................................................................................................ 74
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
15
BAB I
PENDAHULUAN
1.1 Latar Belakang
Informasi atau pesan dapat menjadi sesuatu yang sangat berharga dan dijaga
kerahasiaannya. Semakin berkembangnya teknologi informasi, maka berbagai cara
juga berkembang untuk dapat mengetahui informasi yang bukan haknya. Maka dari
itu sejalan dengan berkembangnya teknologi informasi harus dibarengi dengan
perkembangan pengamanan kerahasiaan informasi.
Berbagai macam teknik digunakan untuk menjaga keamanan informasi, teknik
yang dapat digunakan adalah teknik kriptografi dan teknik steganografi. Kriptografi
adalah proses mengamankan pesan dengan mengubahnya ke dalam bentuk himpunan
karakter acak yang tidak dapat dibaca (Scheiner, 1996). Terdapat banyak algoritma
yang dapat digunakan dalam teknik kriptografi , diantaranya adalah Algoritma
Twofish. Algoritma Twofish merupakan cipher blok yang beroperasi pada 128
bit (Scheiner, 1998). Sebagaimana penelitian yang dilakukan oleh Alfath (2008) yang
membahas tentang algoritma Twofish, menyatakan bahwa algoritma tersebut
mempunyai level ketangguhan keamanan yang tinggi .
Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia di dalam
pesan lain sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui (Rinaldi,
2004). Steganografi berbeda dengan kriptografi, kriptografi berfokus pada
bagaimana melindungi isi informasi agar tetap terjaga kerahasiaanya, sedangkan
steganografi berfokus pada cara meminimalkan kecurigaan tentang keberadaan
pesan rahasia.
Steganografi membutuhkan dua properti yaitu media penampung dan pesan
rahasia. Media penampung yang umum digunakan adalah media gambar, audio
dan video. Pesan yang disembunyikan dapat berupa sebuah teks, gambar, suara,
maupun video. Perkembangan dunia multimedia membuat file multimedia populer
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
16
digunakan sebagai media penampung pesan , salah satunya adalah file audio. Media
penampung berformat audio dapat berupa Wideband Angular Vibration Experiment
(.wav), Motion Picture Expert Group Audio Stream Layer III (.mp3), dll.
Menurut jurnal yang ditulis oleh Herny dan Setyawan (2010) format mp3
berukuran lebih kecil dibanding format audio lain dan mempunyai kualitas suara
yang setara dengan kualitas CD serta dapat didistribusikan dengan mudah dan
merupakan berkas yang sangat umum dikenal oleh masyarakat pengguna informasi,
sehingga jika berkas tersebut digunakan untuk media pembawa pesan dapat
meminimalkan kecurigaan bahwa berkas tersebut mengandung pesan rahasia
didalamnya.
Steganografi pada file audio dapat memanfaatkan metode Least Significant
Bit (LSB). Least Significant Bit merupakan metode penyembunyian informasi dengan
memodifikasi bit terakhir dari file carrier dengan bit-bit informasi dan hanya
menyebabkan perubahan nilai bit satu lebih tinggi atau satu lebih rendah. Berdasar
penelitian yang dilakukan oleh Ema (2009) disebutkan bahwa dengan metode LSB
pada file audio tidak terkompresi, keuntungan yang didapatkan adalah ukuran pesan
yang disisipkan relatif besar dan tidak mengakibatkan penurunan kualitas suara file
audio yang signifikan.
Pada penelitian Ema (2009), metode LSB digunakan pada steganografi file
audio tidak terkompresi tapi tidak melakukan proses enkripsi pada pesan yang
disisipkan. Berdasar penelitian Alfath (2008) menyebutkan bahwa algoritma Twofish
merupakan algortima yang mempunyai level ketangguhan keamanan yang tinggi.
Selain itu, dalam jurnal yang ditulis oleh Herny dan Setyawan (2010) disebutkan
bahwa file audio berformat mp3 merupakan file yang berukuran cukup kecil dan
umum dikenal oleh masyarakat sehingga dapat didistribusikan dengan mudah tanpa
menimbulkan kecurigaan apabila digunakan sebagai media penampung pada
steganografi. Berangkat dari penelitian-penelitian tersebut, penulis bermaksud untuk
melakukan penelitian penyisipan data pada berkas MP3 dengan metode LSB dengan
terlebih dahulu melakukan proses enkripsi pada pesan rahasia tersebut dengan
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
17
algoritma Twofish. Karena, jika proses steganalisis berhasil mendeteksi dan
menemukan pesan rahasia tersebut, pesan itu masih dapat diselamatkan karena masih
dalam keadaan terenkripsi, karena seorang steganalisis tidak berusaha untuk
melakukan dekripsi terhadap pesan rahasia yang tersembunyi dalam suatu media,
yang dilakukannya adalah berusaha menemukannya.
1.2 Rumusan Masalah
Berdasarkan latar belakang masalah yang telah diuraikan di atas, rumusan
masalah yang dikemukakan adalah:
a. Bagaimana menerapkan steganografi pada file audio mp3 dengan metode
Least Significant Bit (LSB) terhadap pesan terenkripsi dengan algoritma
Twofish.
b. Bagaimana menganalisis pengaruh variasi ukuran file audio dan ukuran pesan
teks yang ditinjau dari kapasitas pesan yang mampu ditampung file audio,
waktu eksekusi dan kualitas suara yang dihasilkan oleh file audio.
1.3 Batasan Masalah
Dalam penelitian tugas akhir ini diberlakukan beberapa batasan masalah,
antara lain :
a. Pesan rahasia yang akan disisipkan berupa file jenis teks.
b. Media yang digunakan sebagai penampung pesan adalah file audio berformat
mp3
1.4 Tujuan Penelitian
Tujuan dari penelitian tugas akhir ini adalah penerapan steganografi pada file
audio mp3 dengan metode Least Significant Bit (LSB) terhadap pesan terenkripsi
dengan algoritma Twofish dan dilakukan pengujian untuk variasi ukuran file audio
dan ukuran pesan teks yang ditinjau dari kapasitas pesan yang mampu ditampung file
audio, waktu eksekusi dan kualitas suara yang dihasilkan file audio.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
18
1.5 Manfaat Penelitian
Manfaat penelitian tugas akhir ini adalah meningkatkan keamanan pesan
dengan mengenkripsi pesan teks menggunakan algoritma Twofish dan meminimalkan
kecurigaan tentang keberadaan pesan dengan menyisipkan pesan tersebut dalam file
audio dengan steganografi menggunakan metode LSB sehingga hal tersebut dapat
dijadikan alternatif solusi dalam hal pengiriman pesan rahasia dengan aman.
1.6 Sistematika Penulisan
Penelitian ini akan disusun dengan sistematika sebagai berikut :
BAB I PENDAHULUAN
Menguraikan secara umum tentang latar belakang masalah, rumusan masalah,
pembatasan masalah, tujuan, manfaat atas penelitian dan sistematika penulisan.
BAB II TINJAUAN PUSTAKA
Berisi tentang tinjauan pustaka sebagai acuan, dasar teori yang digunakan, serta
rencana penelitian yang dilakukan.
BAB III METODOLOGI PENELITIAN
Menguraikan langkah-langkah rinci dari penelitian yang dilakukan meliputi metode
yang dipakai, algoritma, dan bagaimana mengimplementasikannya.
BAB IV HASIL DAN PEMBAHASAN
Berisi tentang implementasi pengujian dari aplikasi yang telah dibuat dengan
menggunakan contoh data yang telah disiapkan untuk kemudian dilakukan analisa
terhadap hasil dari implementasi yang telah dilakukan.
BAB V PENUTUP
Berisi kesimpulan penelitian yang diambil sesuai analisa hasil pengujian serta saran-
saran sebagai bahan pertimbangan untuk pengembangan penelitian selanjutnya.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
5
BAB 2
TINJAUAN PUSTAKA
2.1 Dasar Teori
2.1.1 Kriptografi
Kriptografi merupakan ilmu sekaligus seni untuk menjaga kerahasiaan pesan
(data atau informasi) dengan cara menyamarkannya menjadi bentuk tersandi yang
tidak bermakna (Rinaldi, 2006). Pesan yang dirahasiakan dinamakan plaintext,
sedangkan pesan hasil penyamaran dinamakan Ciphertext. Proses penyamaran dari
plaintext ke ciphertext disebut enkripsi (encryption) dan proses pembalikan dari
ciphertext ke plaintext disebut dekripsi (decryption). Gambar 2.1 memperlihatkan
diagram proses enkripsi dan dekripsi.
Gambar 2.1 Proses Enkripsi dan Dekripsi
2.1.1.1 Terminologi Kriptografi
Terminologi kriptografi diuraikan sebagai berikut (Schneier, 1996) :
a. Pengirim dan Penerima pesan
Seorang pengirim pesan (sender) ingin mengirim pesan kepada seorang
penerima (receiver). Pengirim menginginkan pesan dapat dikirim secara aman,
yaitu ia yakin bahwa pihak lain tidak dapat membaca isi pesan.
b. Pesan, Plaintext, dan Ciphertext
Pesan adalah data atau informasi yang dapat dimengerti maknanya. Nama lain
untuk pesan adalah plaintext (plaintext). Agar pesan tidak dapat dimengerti
maknanya oleh pihak lain, maka pesan disandikan ke bentuk lain. Bentuk pesan
yang tersandi disebut ciphertext (ciphertext).
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
6
c. Enkripsi dan Dekripsi
Proses menyandikan plaintext menjadi ciphertext disebut enkripsi
(encryption). Proses mengembalikan ciphertext menjadi plaintextnya disebut
dekripsi (decryption).
d. Kriptografi
Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan
(message). Praktisi (pengguna kriptografi) disebut kriptografer (cryptographer).
e. Algoritma kriptografi dan Kunci
Algoritma kriptografi adalah aturan fungsi matematika untuk enkripsi dan
dekripsi. Sedangkan kunci adalah parameter yang digunakan untuk transformasi
enkripsi dan dekripsi.
f. Sistem Kriptografi
Sistem kriptografi adalah algoritma kriptografi, plaintext, ciphertext, dan
kunci.
g. Penyadap
Penyadap (eavesdropper) adalah orang yang mencoba menangkap pesan
selama ditransmisikan.
h. Kriptanalisis dan Kriptologi
Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan
Ciphertext menjadi plaintext tanpa mengetahui kunci yang diberikan, pelakunya
disebut kriptanalis. Sedangkan kriptologi (cryptology) adalah studi mengenai
kriptografi dan kriptanalisis.
2.1.1.2 Teknik Kriptografi
Teknik yang digunakan pada kriptografi ada dua, yaitu : kunci simetris dan
kunci asimetris (Rinaldi,2004).
a. Algoritma Kunci Simetris
Algoritma kunci-simetri mengacu pada metode enkripsi yang dalam hal ini
pengirim maupun penerima memiliki kunci yang sama.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
Kelebihan :
Algoritma kriptografi simetri dirancang sehingga proses enkripsi/dekripsi
membutuhkan waktu yang singkat.
Ukuran kunci simetri relatif pendek.
Algorima kriptografi simetri dapat disusun untuk menghasilkan cipher yang
lebih kuat.
Otentikasi pengirim pesan langsung diketahui dari ciphertext yang diterima,
karena kunci hanya diketahui oleh pengirim dan penerima pesan saja.
Kekurangan :
Kunci simetri harus dikirim melalui saluran yang aman. Kedua entitas yang
berkomunikasi harus menjaga kerahasisan kunci ini.
Kunci harus sering diubah, mungkin pada setiap sesi komunikasi.
Contoh algoritma : Twofish dan Camellia
Algoritma kunci-simetri modern beroperasi dalam mode bit dan dapat
dikelompokkan menjadi dua kategori yaitu Cipher aliran (stream cipher) dan Cipher
blok(block cipher).
1. Cipher aliran (stream cipher)
Algoritma kiptografi beroperasi pada plaintext/ciphertext dalam bentuk bit
tunggal, yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit.
Cipher aliran mengenkripsi satu bit setiap kali tranformasi atau byte per byte (1
karakter = 1 byte). Nama lain untuk cipher stream adalah cipher status sebab enkripsi
tiap bit bergantung pada status saat ini (current state).
Cipher aliran pertama kali diperkenalkan oleh Vernam melalui algoritmanya
yang dikenal dengan nama Vernam cipher. Vernam cipher diadopsi dari one-time pad
cipher, yang dalam hal ini karakter diganti dengan bit (0 dan 1). Ciphertext diperoleh
dengan melakukan penjumlahan modulo 2 satu bit plaintext dengan satu bit kunci.
ci = (pi + ki) mod 2 (1)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
Yang dalam hal ini :
pi : bit plaintext
ki : bit kunci
ci : bit ciphertext.
Plaintext diperoleh dengan melakukan penjumlahan modulo 2 satu bit ciphertext
dengan satu bit kunci :
pi = (ci + ki) mod 2
oleh karena itu kita dapat menyatakan bahwa cipher aliran merupakan aproksimasi
dari unbreakable cipher yaitu on-time pad cipher.
Mengingat operasi penjumlahan modulo 2 identik dengan operasi bit dengan
operator XOR, maka pada cipher aliran, bit hanya mempunyai dua buah nilai,
sehingga proses enkripsi hanya menyebabkan dua keadaan pada bit tersebut : berubah
atau tidak berubah. Dua keadaan tersebut ditentukan oleh kunci enkripsi yang disebut
aliran kunci (keystream). Aliran kunci dibangkitkan dari sebuah pembangkit yang
dinamakan pembangkit aliran-kunci (keystream generator). Aliran kunci di XOR-kan
dengan aliran bit-bit plaintext -bit
ciphertext.
ci = pi ki (2)
disisi penerima, bit-bit ciphertext di XOR-kan dengan aliran kunci yang sama untuk
menghasilkan bit-bit plaintext :
pi = ci ki
Contoh :
Plaintext : 1100101
Aliran kunci : 1000110
Maka ciphertext didapatkan dengan meng-XOR-kan bit-bit plaintext dengan
aliran kunci pada posisi yang berkoresponden, sehinga didapatkan :
0100011
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
2. Cipher blok (block cipher)
Algoritma kriptografi beroperasi pada plaintext/ciphertext dalam bentuk blok
bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya
sudah ditentukan sebelumnya. Misalnya panjang blok adalah 64 bit, maka itu berarti
algoritma enkripsi memerlukan 8 karakter setiap kali enkripsi (1 karakter = 8 bit
dalam pengkodean ASCII). Cipher blok mengenkripsi satu blok bit setiap kali.
Pada cipher blok, rangkaian bit-bit plaintext dibagi menjadi blok-blok bit
dengan panjang sama, biasanya 64 bit (tapi adakalanya lebih). Algoritma
enkripsi menghasilkan blok ciphertext yang pada kebanyakan sistem
kriptografi simetri berukuran sama dengan blok plaintext.
Dengan blok cipher, blok plaintext yang sama akan dienkripsi menjadi blok
ciphertext yang sama bila digunakan kunci yang sama pula. Ini berbeda
dengan cipher aliran dimana bit-bit plaintext yang sama akan dienkripsi
menjadi bit-bit ciphertext yang berbeda setiap kali dienkripsi.
Misalkan blok plaintext (P) yang berukuran m bit dinyatakan sebagai vektor
P = (p1, p2 pm)
yang dalam hal ini pi m, dan blok ciphertext
(C) adalah
C = (c1, c2 cm)
yang dalam hal ini ci m.
Bila plaintext dibagi menjadi n buah blok, barisan blok-blok plaintext
dinyatakan sebagai (P1, P2 Pn). Untuk setiap blok plaintext Pi, bit-bit
penyusunnya dapat dinyatakan sebagai vektor
Pi = (pi1, pi2 pim)
Enkripsi dan dekripsi dengan kunci K dinyatakan berturut-turut dengan
persamaan:
EK(P) = C , DK(C) = P.
dimana, E : Enkripsi C : Chipertext
D : Dekripsi P : Plaintext
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
b. Algoritma Kunci Asimetris
Algorita kunci asimetris adalah suatu algoritma dimana kunci kriptografi yang
digunakan dibuat sepasang, satu kunci untuk enkripsi dan satu kunci untuk dekripsi.
Kunci untuk enkripsi diumumkan kepada publik dan bersifat tidak rahasia sehingga
dinamakan kunci publik (public-key). Kunci untuk dekripsi bersifat rahasia sehingga
dinamakan kunci privat (private-key). Walaupun kunci publik diketahui secara umum
namun sangat sukar mengetahui kunci privat yang digunakan.
Kelebihan :
Hanya kunci privat yang perlu dijaga kerahasiaannya oleh setiap entitas yang
berkomunikasi tetapi otentikasi kunci publik tetap harus terjamin. Tidak ada
kebutuhan mengirim kunci kunci privat sebagaimana pada sistem simetri.
Pasangan kunci publik/kunci privat tidak perlu diubah, bahkan dalam periode
waktu yang panjang.
Kekurangan :
Enkripsi dan dekripsi data umumnya lebih lambat daripada sistem simetri,
karena enkripsi dan dekripsi menggunakan bilangan yang besar dan
melibatkan operasi perpangkatan yang besar.
Ukuran ciphertext lebih besar daripada plaintext (bisa dua sampai empat kali
ukuran plaintext).
Ukuran kunci relatif lebih besar daripada ukuran kunci simetri.
Karena kunci publik diketahui secara luas dan dapat digunakan setiap orang,
maka ciphertext tidak memberikan informasi mengenai otentikasi pengirim.
Contoh Algoritma : RSA (Rivest-Shamir-Adleman) dan El-Gamal.
2.1.1.3. Prinsip-prinsip Perancangan Cipher Blok
Perancangan algoritma kriptografi berbasis blok mempertimbangkan
beberapa prinsip berikut (Rinaldi,2004) :
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
11
1. Prinsip Confusion dan Diffusion dari Shannon.
Confussion bertujuan untuk menyembunyikan hubungan apapun yang ada
antara plaintext, ciphertext, dan kunci. Prinsip confusion membuat kriptanalis
frustasi untuk mencari pola-pola statistik yang muncul pada ciphertext. Confusion
yang bagus membuat hubungan statistik antara plaintext, ciphertext, dan kunci
menjadi sangat rumit.
Diffusion menyebarkan pengaruh satu bit plaintext atau kunci ke sebanyak
mungkin ciphertext. Sebagai contoh, pengubahan kecil pada plaintext sebanyak
satu atau dua bit menghasilkan perubahan pada ciphertext yang tidak dapat
diprediksi.
2. Cipher berulang (Iterated Cipher)
Fungsi transformasi sederhana yang mengubah plaintext menjadi
ciphertext diulang sejumlah kali. Pada setiap putaran digunakan sub-kunci
(subkey) atau kunci putaran (round key) yang dikombinasikan dengan plaintext.
Cipher berulang dinyatakan sebagai
Ci = f(Ci 1, Ki) (3)
dimana,
i r (r adalah jumlah putaran).
Ki = sub-kunci (subkey) pada putaran ke-i
f = fungsi transformasi (didalamnya terdapat operasi substitusi,
permutasi, dan/atau ekspansi, kompresi). Plaintext dinyatakan dengan C0 dan
ciphertext dinyatakan dengan Cr.
3. Jaringan Feistel (Feistel Network)
Jaringan Feistel banyak dipakai pada algoritma kriptografi DES, LOKI,
GOST, FEAL, Lucifer, Blowfish, Twofish, dan lain-lain karena model ini bersifat
reversible untuk proses enkripsi dan dekripsi. Sifat reversible ini membuat kita
tidak perlu membuat algoritma baru untuk mendekripsi ciphertext menjadi
plaintext. Secara formal, operasi transformasi pada jaringan Feistel dapat
dinyatakan sebagai:
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
12
Li = Ri 1 (4)
Ri = Li 1 Xor f(Ri 1, Ki) i= 1,2,3,..,r (5)
dimana :
Li : Bagian plaintext kiri ke-i
Ri : Bagian plaintext kanan ke-i
Ki : Kunci untuk putaran ke-i
f : Fungsi Transformasi
Skema Jaringan Fiestel dapat dilihat pada Gambar 2.1 .
Gambar 2.2 Contoh Skema Jaringan Fiestel (Schneier,1998)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
4. Kunci lemah (weak key)
Kunci lemah adalah kunci yang menyebabkan tidak adanya perbedaan
antara enkripsi dan dekripsi. Dekripsi terhadap ciphertext tetap menghasilkan
plaintext semula, namun enkripsi dua kali berturut-turut terhadap plaintext akan
menghasilkan kembali plaintextnya. Persamaan berikut menunjukan fenomena
kunci lemah:
EKL(P) = C untuk fungsi enkripsi,dan
DKL(C) = EKL(C ) = P untuk fungsi dekripsi.
Cipher blok yang bagus tidak mempunyai kunci lemah.
5. Kotak-S (S-boxes)
Kotak-S adalah matriks yang berisi substitusi sederhana yang memetakan
satu atau lebih bit dengan satu atau lebih bit yang lain. Pada kebanyakan
algoritma cipher blok, kotak-S memetakan m bit masukan menjadi n bit keluaran,
sehingga kotak-S tersebut dinamakan kotak m n S-box. Kotak-S merupakan
satu-satunya langkah nirlanjar di dalam algoritma, karena operasinya adalah look-
up table. Masukan dari operasi look-up table dijadikan sebagai indeks kotak-S,
dan keluarannya adalah entry di dalam kotak-S. Contoh S-Boxes dapat dilihat
pada Tabel 2.1 yang merupakan contoh kotak-S dalam algoritma DES yaitu 6 x 4
S-box yang berarti memetakan 6 bit masukan menjadi 4 bit keluaran.
Tabel 2.1 Kotak S-Boxes
Baris diberi nomor dari 0 sampai 3. Kolom diberi nomor dari 0 sampai 15.
Masukan untuk proses substitusi adalah 6 bit, yaitu b1b2b3b4b5b6. Nomor baris
dari tabel ditunjukkan oleh string bit b1b6 (menyatakan 0 sampai 3 desimal).
Sedangkan nomor kolom ditunjukkan oleh string bit b2b3b4b5 (menyatakan 0
sampai 15 desimal). Misalnya masukan adalah 110100 Nomor baris tabel = 10
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
14
(artinya baris 2 desimal) .Nomor kolom tabel = 1010 (artinya kolom 10 desimal).
Jadi, substitusi untuk 110100 adalah entry pada baris 2 dan kolom 10, yaitu 0100
(atau 4 desimal).
2.1.2 Algoritma Twofish
Algoritma Twofish merupakan algoritma kunci simetris block cipher dengan
blok masukan 128 bit dan kunci 128 bit, 192 bit, dan 256 bit (Schneier, 1998). Pada
tahun 1972 dan 1974, National of Standart (yang sekarang bernama NIST)
mengumumkan adanya standar enkripsi, yaitu Data Encryption Standart (DES) yang
sangat beralasan karena penggunaannya yang luas dan merupakan algoritma yang
sangat sukses di dunia. Dalam proses perkembangannya ternyata key-key dalam DES
dirasa terlalu pendek bagi keamanan komersial sehingga membuat gusar para
closed door
NIST mengumumkan Advanced Encryption Standard (AES) pada tahun 1997
[NIST97a].
Salah satu kandidat Advanced Encryption Standard (AES) adalah algoritma
Twofish. Twofish memenuhi semua kriteria yang dibutuhkan NIST, yaitu blok 128
bit, kunci 128 bit, 192 bit dan 256 bit, efisien pada platform manapun dan lain-
lain, serta beberapa desain berat lainnya Twofish dapat melakukan:
a. Melakukan enkripsi data pada 285 siklus per block di atas Pentium Pro
setelah menjalankan key setup 12700 siklus clock.
b. Melakukan enkripsi data pada 860 siklus per block di atas Pentium Pro
setelah menjalankan key setup 1250 siklus clock.
c. Melakukan enkripsi data pada 26500 siklus per block di atas sebuah 6805
smart card setelah mejalankan key setup 1750 siklus clock.
2.1.2.1 Unsur Pembangun Algoritma Twofish
Unsur pembangun Twofish terdiri dari Feistel Network (Jaringan Feistel),
S-boxes, Matrix Maximum Distances Separable (MDS), Pseudo-Hadamard
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
15
Transform (PHT), Whitening, dan Key Schedule (penjadwalan kunci). Berikut
merupakan penjabaran dari unsur-unsur pembangun Twofish (Schneier, 1998) :
1. Feistel Network (Jaringan Feistel)
Schneier menjelaskan bahwa Feistel Network adalah metoda umum untuk
mentransformasi suatu fungsi menjadi bentuk permutasi. Bagian paling fundamental
dari Jaringan Feistel adalah Fungsi F yaitu sebuah pemetaan key-dependent dari
suatu input string menjadi output string. Fungsi F selalu tidak linear dan mungkin
tidak surjektif:
(6)
dimana:
n : ukuran blok dari jaringan Fiestel
F : fungsi yang menerima n=2 bit dari blok N bit sebagai kunci input dan
menghasilkan output n=2 bit
Setiap putaran, blok sumber adalah input fungsi F, dan dari fungsi F di-
XORkan dengan blok target, lalu dua blok ini dipertukarkan sebelum masuk ke
putaran berikutnya. Dua putaran pada jaringan Fistel disebut satu cycle, dan dalam
satu cycle setiap bit dari blok teks telah dimodifikasi satu kali. Pada Twofish
dilakukan Feistel Network sebanyak 16 kali atau 8 cycle dengan fungsi bijektif F.
2. S-Boxes (Kotak S)
Sebuah S-boxes adalah operasi subsitusi table-driven non linear yang
digunakan dalam block cipher. S-boxes bervariasi antara setiap ukuran input dan
ukuran outputnya, dan bisa diciptakan secara random atau dengan algoritma.
Twofish menggunakan empat bijekktif, key-dependent dan 8x8-bit S-boxes. S-boxes
ini dibuat menggunakan dua permutasi 8x8-bit dan material key.
3. Matrix MDS (Maximum Distance Separable)
Matrix Maximum Distance Separable (MDS) melalui sebuah pemetaan linear
dari elemen field a ke elemen field b, menghasilkan campuran dari vektor a+b
elemen, dengan jumlah minimum angka tidak nol dalam vektor tidak nol paling
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
16
Distance yang
berbeda antara dua vektor yang berbeda yang dihasilkan oleh MDS paling kurang
b+1. Pemetaan MDS bisa direpresentasikan oleh matriks MDS yang terdiri dari a
x b elemen.
4. Pseudo-Hadamard Transform (PHT)
Transformasi Pseudo-Hadamard (PHT) adalah operasi sederhana yang
bekerja dengan cepat dalam software. Diberikan dua input, a dan b, dan PHT 32 bit
didefinisikan :
A0 = a + b mod 232 (7)
B0 = a + 2b mod 232 (8)
Twofish menggunakan PHT 32 bit untuk melakukan mixing terhadap
outputnya dari dua buah fungsi g 32 bit paralel. PHT ini dapat dieksekusi
dalam dua opcode diatas kebanyakan microprocessor modern, termasuk keluarga
Pentium.
5. Whitening
Schneier menjabarkan bahwa whitening merupakan teknik meng-XOR-kan
key material sebelum putaran pertama dan sesudah p
serangan terhadap Twofish, terbukti bahwa whitening secara substansial
meningkatkan kesulitan menyerang cipher, dengan jalan menyembunyikan input
spesifik untuk awal dan akhir putaran dari Twofish. Twofish meng-XOR-kan 128 bit
sub kunci sebelum putaran Fiestel pertama dan 128-bit lagi setelah putaran Fiestel
terakhir. Proses Whitening dapat dilihat pada Gambar 2.3.
Gambar 2.3 Proses Whitening (Scheiner,1998)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
17
6. Key Schedule (Penjadwalan Kunci)
Key schedule adalah suatu cara dimana bit-bit key diubah menjadi key-key
bulat yang dapat digunakan oleh chipper. Twofish memerlukan material key yang
sangat banyak, dan memiliki key schedule yang rumit. Jadi secara singkat,
penjadwalan kunci adalah proses pengacakan kunci untuk melakukan proses
enkripsi sehingga tingkat kerumitannya menjadi tinggi.
2.1.2.2 Struktur Algoritma Twofish
Twofish menggunakan sebuah Struktur Feistel-like 16-round dengan
tambahan whitening pada masukan dan keluaran. Satu-satunya unsur non-Feistel
adalah 1-bit rotasi. Perputaran dapat dipindah ke dalam fungsi F untuk membuat
suatu struktur Feistel murni, tapi memerlukan suatu tambahan perputaran kata-
kata yang tepat sebelum langkah keluaran whitening. Plaintext 128 bit dipecah
menjadi empat word 32-bit yaitu P0, P1, P2, dan P3. P0 dan P1 akan menjadi bagian
kiri, sedangkan P2 dan P3 akan menjadi bagian kanan. Plaintext tersebut dipecah
menggunakan konvensi little-endian.
(6)
summation
P = Input plaintext yang dipecah menjadi 4 word
j = indeks dengan batas bawah 0 dan batas atas 3
Plaintext akan melalui proses input whitening yaitu input akan di-XOR
dengan empat word kunci yang telah terjadwal yaitu K0, K1, K2, dan K3. Secara
formalnya adalah sebagai berikut :
(7)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
R = Proses Whitening
P = Input plaintext yang dipecah menjadi 4 word
K = Kunci terjadwal
= XOR
Proses berikutnya input akan melalui proses pada fungsi F yang meliputi
didalamnya adalah fungsi g dan dilanjutkan dengan PHT (Pseudo Hadamard
Transform), dan dilakukan penambahan hasil PHT dengan kunci. Proses fungsi F
tersebut dilakukan secara bertahap.
Pada setiap 16 putaran, dua word pertama digunakan sebagai masukan kepada
fungsi F, yang juga mengambil angka bulat itu sebagai masukan. Word ketiga di-
XOR dengan keluaran pertama F dan kemudian diputar ke kanan satu bit. Word
keempat diputar ke kiri satu bit kemudian di-XOR dengan kata keluaran F yang kedua
. Akhirnya, keduanya saling ditukar menghasilkan persamaan :
(Fr,0,Fr,1) = F(Fr,0,Fr,1,r) (8)
Rr+1,0 = ROR(Rr,2 Fr,0,1) (9)
Rr+1,1 = ROL(Rr,3,1) Fr,1 (10)
Rr+1,2 = Rr,0 (11)
Rr+1,3 = Rr,1 (12)
ROR dan ROL adalah berfungsi memutar argumentasi
pertama (32-bit word) ke kanan dengan angka bit-bit diindikasikan dengan
argumentasi keduanya. Langkah output whitening
terakhir dan meng-XOR-kan 4 word dengan 4 kunci yang diperluas yaitu K0, K1, K2,
dan K3. Empat word dari ciphertext kemudian ditulis sebagai 16 byte c0 15.
Gambar 2.5 menunjukkan gambar dari blok diagram Twofish.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
19
Gambar 2.4 Blok Diagram Twofish (Schneier, 1998)
1. Fungsi F
Fungsi F adalah suatu permutasi key-dependent di atas nilai 64-bit. Untuk
mengambil tiga argumentasi, dua masukan R0 dan R1, dan angka bulat r digunakan
untuk memilih subkey yang sesuai. R0 yang dilewati fungsi g, menghasilkan T0. i
diputar 8 bit ke kanan kemudian melewati fungsi g untuk menghasilkan T1. Hasil T0
dan T1 selanjutnya dikombinasikan dalam sebuah PHT dan ditambahkan 2 word dari
kunci yang diperluas menghasilkan persamaan :
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
T0 = g(R0) (13)
T1 = g(ROL(R1,8)) (14)
F0 = (T0 + T1 + K2r+8) mod 232 (15)
F1 = (T0 + 2T1 + K2r+9) mod 232 (16)
Dimana ( F0, F1) adalah hasil dari F. Kita juga menggambarkan fungsi F
menganalisa. adalah identik dengan fungsi F, kalau tidak tambahkan beberapa
blok kunci pada output (PHT masih dilakukan.)
2. Fungsi g
Fungsi g merupakan inti dari Twofish. Word masukan X dipecah menjadi
empat byte. Masing-masing byte dijalankan melewati S-box key-dependent. Masing-
masing S-box adalah bijective, mengambil 8 bit masukan, dan menghasilkan 8 bit
keluaran. Ke empat hasil diinterpretasikan sebagai vektor yang panjangnya 4 di atas
GF (28), dan dikalikan dengan yang matriks MDS 4x4 (menggunakan bidang GF (28)
untuk perhitungannya). Untuk menghasilkan vektor diinterpretasikan sebagai 32-bit
sebagai hasil dari fungsi g :
xi = iX 82/ mod 28
yi = si ix
3
2
1
0
z
z
z
z
=
.
.
.
MDS .
3
2
1
0
y
y
y
y
Z = 83
0
2.i
iz (17)
Di mana si adalah S-Box key-dependent dan Z adalah hasil dari g. Untuk merumuskan
dengan baik, kita harus menetapkan koresponden antara nilai-nilai byte dan elemen-
elemen bidang GF (28). Kita merepresentasikan GF (28) sebagai GF(28)[x]/v(x) di
mana v(x)=x8+x6+x5+x3+1 adalah suatu polynomial primitif dari 8 tingkat di atas
GF(2). Unsur Bidang a=7
0iaix
i dengan ai GF (28) adalah dikenal dengan nilai
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
byte 7
0i aix
i. Ini adalah beberap penambahan di
dalam GF (28) berkorespondensi dengan suatu XOR dalam byte. Matriks MDS-nya
adalah sebagai berikut :
MDS =
BEFEF
EFBEF
EFEFB
BBEF
501
015
015
5501
Di mana elemen-elemen ditulis sebagai nilai-nilai byte heksadesimal.
3. Penjadwalan Kunci
Penjadwalan kunci harus menyediakan 40 buah kunci yang diperluas
K0 39, dan 4 buah S-Box key-dependent yang digunakan di dalam fungsi g.
Twofish didefinisikan untuk kunci-kunci dengan panjang N= 128, N= 192, dan N=
256. Beberapa kunci yang lebih pendek dari 256 bit dapat digunakan oleh lapisannya
dari nol hingga yang lebih besar yang didefinisikan sebagai panjang kunci. Kita
mendefinisikan k=N/64. Kunci M terdiri dari 8k byte m0 8k-1. Byte-byte yang
pertama diubah ke dalam 2k word 32 bit masing-masing adalah:
Mi = j
jjim 8
3
0)4( 2. -1 (18)
dan ke dalam dua vektor word dari panjang k :
Me = (M0,M2 2k-2) (19)
Mo = (M1,M3 2k-2) (20)
Sepertiga vektor word dari panjang k adalah juga diperoleh dari kunci itu.
Hal ini dilakukan dengan mengambil byte-byte kunci dan
menginterpretasikannya sebagai vektor di atas GF (28), dan mengalikannya dengan
matriks 4x8 yang diperoleh dari suatu kode R. Masing-masing hasil dari 4 byte
kemudian diinterpretasikan sebagai suatu word 32 bit. Word ini menyusun vektor
yang ketiga :
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
3,
2,
1,
0,
i
i
i
i
s
s
s
s
=
.
.
.
RS .
7
6
5
4
3
2
1
Si
Si
Si
Si
Si
Si
Si
Si
m
m
m
m
m
m
m
m
Si = j
jjiS 8
3
0, 2. (21)
-1, dan S = (Sk-1,Sk-2 0)
Catat bahwa daftar S word itu di ntuk perkalian
matriks RS, GF (28) diwakili oleh GF (28)[x]/w(x), di mana w(x)= x8+x6+x3+x2+1
adalah polynomial primitif derajat dari 8 tingkat di atas GF(28). Pemetaan antara
nilai-nilai byte dan elemen-elemen GF (28) menggunakan defnisi yang sama
sebagaimana yang digunakan untuk perkalian matriks MDS. Dalam pemetaan ini,
matriks RS ditunjukkan sebagai berikut :
RS =
03958
19347
56861
9585
587554
1102
382564
8755401
EDB
DAE
ECE
EDBA
AA
CFCA
FA
A
Ke tiga vektor Me, Mo, dan S ini membentuk basis dari jadwal kunci.
3.1 Penambahan Panjang Kunci
Twofish dapat menerima kunci-kunci dengan panjang byte di atas 256 bit.
Untuk ukuran-ukuran kunci yang tidak didefinisikan di atas, kunci diisi pada bagian
akhir dengan nol byte. Sebagai contoh, suatu kunci 80-bit m0 9 akan diperluas
dengan mengatur mi pada kunci
128-bit.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
3.2 Fungsi h
Fungsi h adalah suatu fungsi yang mengambil dua input 32 bit word X dan
sebuah daftar L = ( L0 k-1) dari word X 32 dengan panjang k dan menghasilkan
satu word pada outputnya. Pada setiap langkah, empat byte masing-masing melintasi
suatu fixed S-Box, dan di-XOR dengan sebuah byte dari daftar. Akhirnya, byte-byte
sekali lagi digeser melewati sebuah fixed S-box dan empat byte itu dikalikan dengan
matriks MDS seperti halnya dalam g.
li,j = 82/iL mod 28 (22)
xj = jX 82/ mod 28 (23)
- XOR diterapkan :
yk,j = xj (24)
Fungsi h ditunjukkan pada Gambar 2.5 sebagai berikut :
Gambar 2.5 Fungsi h
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
:
y3,0 = q1[y4,0] l3,0
y3,1 = q0[y4,1] l3,1
y3,2 = q0[y4,2] l3,2
y3,3 = q1[y4,3] l3,3
jika k = 4 didapatkan :
y2,0 = q1[y3,0] l3,0
y2,1 = q1[y3,1] l3,1
y2,2 = q0[y3,2] l3,2
y2,3 = q0[y3,3] l3,3
Dalam seluruh kasus didapatkan :
y0 = q1[q0[q0[y2,0] l1,0] l0,0] (25)
y1 = q0[q0[q1[y2,1] l1,1] l0,1] (26)
y2 = q0[q1[q0[y2,2] l1,2] l0,2] (27)
y3 = q1[q1[q1[y2,3] l1,3] l0,3] (28)
Di sini, q0 dan q1 ditetapkan permutasi di atas nilai 8-bit yang akan didefinisikan
segera. Menghasilkan vektor yang merupakan perkalian matriks MDS, seperti halnya
dalam fungsi g :
3
2
1
0
z
z
z
z
= .
.
.
MDS .
3
2
1
0
y
y
y
y
Z = i
iiz 8
3
0
2. (29)
di mana Z adalah hasil dari fungsi h.
3.3 S-Box Key-dependent
Sekarang dapat didefinisikan S-Box dalam fungsi g oleh :
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
g(x)= h(X; S) (30)
S-Box Key-Dependent si dibentuk oleh pemetaan dari
xi ke yi di dalam fungsi h, di mana daftar L = vektor S yang diperoleh dari kunci itu.
3.4 Kunci yang Diperluas Kj
Kunci yang diperluas didefinisikan menggunakan fungsi h :
= 224 + 216 + 28 + 20 (31)
Ai = h(2 ,Me) (32)
Bi = ROL(h((2i o),8) (33)
K2i = (Ai + Bi) mod 232 (34)
K2i+1 = ROL((Ai + 2Bi) mod 232,9) (35)
Konstanta digunakan untuk menduplikat byte yang mempunyai properti untuk i=
jika terdiri dari empat byte yang sama, masing-masing dengan nilai i.
Fungsi h diberlakukan bagi word jenis ini. Untuk Ai nilai-nilai byte itu adalah 2i, dan
argumentasi yang kedua dari h adalah Me. Bi dihitung dengan cara yang sama
menggunakan 2i+1 sebagai byte nilai dan Mo sebagai argumentasi yang kedua,
dengan suatu putaran ekstra di atas 8 bit. Nilai-nilai Ai dan Bi Dua dikombinasikan
dalam PHT. Salah satu dari hasil itu selanjutnya diputar dengan 9 bit. Kedua hasil
tersebut membentuk dua buah kunci yang diperluas.
3.5 Permutasi q0 dan q1
Permutasi q0 dan q1 ditetapkan sebagai permutasi di atas nilai-nilai 8 bit dan
dibangun dari 4-bit permutasi yang berbeda. Untuk nilai masukan x didefinisikan
sebagai nilai output y sebagai berikut :
a0, b0 = 16/x , x mod 16
a1 = a0 b0
b1 = a0 ROR1(b0,1) 8a0 mod 16
a2, b2 = t0[a1],t1[b1]
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
a3 = a2 b2
b3 = a2 ROR1(b2,1) 8a2 mod 16
a4, b4 = t2[a3],t3[b3]
y = 16b4 + a4 (36)
di mana ROR4 adalah suatu fungsi yang serupa dengan ROR yang merupakan putaran
nilai 4-bit. Pertama, byte dipecah menjadi dua bagian dan dikombinasikan secara
bijective. Masing-masing bagian melintasi 4-bitfixed S-Box. Ini diikuti oleh yang lain.
Akhirnya, dua bagian dikombinasikan kembali ke dalam satu byte. Untuk permutasi
q0 S-Box 4-bit :
t0 = [8 1 7 D 6 F 3 2 0 B 5 9 E C A 4]
t1 = [E C B 8 1 2 3 5 F 4 A 6 7 0 9 D]
t2 = [B A 5 E 6 D 9 0 C 8 F 3 2 4 7 1]
t3 = [D 7 F 4 1 2 6 E 9 B 3 0 8 5 C A]
di mana masing-masing S-Box 4-bit diwakili oleh daftar masukan yang menggunakan
notasi hexadecimal
yang sama, untuk q1 S-Box 4-bit :
t0 = [2 8 B D F 7 6 E 3 1 9 4 0 A C 5]
t1 = [1 E 2 B 4 C 3 7 6 D A 5 F 9 0 8]
t2 = [4 C 7 5 1 6 9 A 0 E D 8 2 B 3 F]
t3 = [B 9 5 1 C 3 D E 6 4 7 F 2 0 8 A]
Gambar 2.6 menunjukkan satu putaran dalam fungsi F.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
27
Gambar 2.6. Satu putaran fungsi F (kunci 128-bit)
2.1.3 Steganografi
Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia di dalam
pesan lain sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui (Rinaldi,
2004). Kata steganorafi berasal
covered writing). Steganografi membutuhkan dua properti: wadah
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
28
penampung dan data rahasia yang akan disembunyikan. Steganografi digital
menggunakan media digital sebagai wadah penampung, misalnya citra berformat
JPG, GIF, BMP, atau di dalam musik MP3, atau bahkan di dalam sebuah film dengan
format WAV atau AVI. Data rahasia yang disembunyikan juga dapat berupa citra,
suara, teks, atau video. Semua dapat dijadikan tempat bersembunyi, asalkan berkas
tersebut memiliki bit-bit yang tidak signifikan atau terdapat redundant bits yang
dapat dimodifikasi. Setelah dimodifikasi, berkas media tersebut tidak akan terganggu
fungsinya dan kualitasnya tidak akan jauh berbeda dengan aslinya.
2.1.3.1 Karakteristik Steganografi
Steganografi dikenal dengan nama data hiding atau data embedding, yang
merupakan rangkaian proses dalam menyembunyikan data ke dalam berbagai media,
seperti citra, audio atau teks dengan meminimalisir penampakan degradasi sinyal
media penampung (Forouzan, 2008). Hal ini tampak familiar dengan enkripsi.
Namun jika ditelusuri lebih jauh maka penyembunyian data dalam steganografi
sangat kontras dengan kriptografi. Perbedaannya terletak pada bagaimana proses
penyembunyian data dan hasil akhir dari proses tersebut.
Kriptografi merahasiakan makna pesan sementara keberadaan pesan tetap
dapat diamati oleh indera manusia. Kriptografi melakukan proses pengacakan data
asli sehingga menghasilkan data terenkripsi yang benar-benar acak dan berbeda
dengan aslinya. Sedangkan steganografi menyembunyikan keberadaan pesan tersebut,
data disisipkan dalam media penampung tanpa mengubah keadaan media
penampung tersebut. Dengan kata lain keluaran steganografi ini memiliki bentuk
persepsi yang sama dengan bentuk aslinya. Diagram steganografi ditunjukkan pada
Gambar 2.7.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
29
Gambar 2.7 Diagram Sistem Steganografi (Forouzan, 2008)
Penyisipan data rahasia ke dalam media digital harus memperhatikan
beberapa aspek keamanan sebagai berikut (Renaldi, 2004) :
a. Fidelity
Mutu media penampung tidak jauh berubah. Setelah penambahan data rahasia,
berkas hasil steganografi tidak mengalami degradasi yang signifikan, sehingga
perubahan atau degradasi tersebut tidak dapat dipersepsi oleh indera manusia. Pada
kasus audio steganografi, audio hasil steganografi masih dapat didengar dengan baik.
Pengamat tidak menyadari bahwa di dalam audio tersebut terdapat data rahasia. Atau
dengan kata lain penyisipan data rahasia tidak mempengaruhi kualitas sinyal asli,
sehingga keberadaan pesan tidak dapat ditangkap oleh pendengaran manusia.
b. Recovery
Data yang disembunyikan harus dapat diungkapkan kembali (recovery).
Karena tujuan steganografi adalah data hiding, maka sewaktu-waktu data rahasia
didalam media penampung harus dapat diambil kembali untuk digunakan lebih lanjut.
c. Robustness
Robustness merupakan salah satu isu desain algoritma steganografi yang
utama. Data rahasia yang disisipkan harus tahan terhadap pengolahan sinyal yang
mungkin dilakukan termasuk konversi digital-analog dan analog-digital, linear dan
non-linear filtering, kompresi dan perubahan ukuran (scaling).
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
30
2.1.3.2 Terminologi dalam Steganografi
Terdapat beberapa istilah yang berkaitan dengan steganografi (Rinaldi,
2004) :
1. Hiddentext atau embedded message: pesan atau informasi yang
disembunyikan.
2. Covertext atau cover-object: pesan atau objek yang digunakan untuk
menyembunyikan embedded message.
3. Stegotext atau stego-object: pesan atau objek yang sudah berisi embedded
message.
Steganografi pada media digital baik hiddentext atau covertext dapat
berupa teks, gambar, audio, maupun video.
2.1.3.3 Metode dalam Steganografi
Proses penyisipan pesan rahasia dalam sistem steganografi pada dasarnya
dilakukan dengan mengidentifikasi media digital pembawa pesan, yaitu bit redundant
yang mana dapat dimodifikasi tanpa merusak integritas dari media digital itu sendiri.
Pengaplikasikan steganografi pada berkas digital dapat dilakukan dengan
berbagai metode. Berikut adalah beberapa metode yang dapat digunakan (Yusrian,
2007) :
a. Least Significant Bit (LSB).
LSB lazim digunakan dalam teknik digital steganografi yaitu mengganti LSB
input setiap samplingnya dengan data yang dikodekan. Dengan metode ini
keuntungan yang didapatkan adalah ukuran pesan yang disispkan relatif besar, namun
berdampak pada hasil file digital yang berkualitas kurang dengan banyaknya noise.
b. Phase Coding
Metode phase coding merekayasa fasa dari sinyal masukan. Teori yang
digunakan adalah dengan mensubstitusi awal fasa dari tiap awal segment dengan fasa
yang telah dibuat sedemikian rupa dan merepresentasikan pesan yang disembunyikan.
Fasa dari tiap awal segment ini dibuat sedemikian rupa sehingga setiap segmen masih
memiliki hubungan yang berujung pada kualitas suara yang tetap terjaga. Teknik ini
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
31
menghasilkan keluaran yang jauh lebih baik daripada metode pertama namun
dikompensasikan dengan kerumitan dalam realisasinya.
c. Spread Spectrum
Metode yang ketiga adalah penyebaran spektrum. Dengan metode ini pesan
dikodekan dan disebar ke setiap spektrum frekuensi yang memungkinkan. Maka dari
itu akan sangat sulit bagi yang akan mencoba memecahkannya kecuali ia memiliki
akses terhadap data tersebut atau dapat merekonstruksi sinyal random yang
digunakan untuk menyebarkan pesan pada range frekuensi.
d. Echo Hiding
Metode terakhir yang sering digunakan adalah menyembunyikan pesan
melalui teknik echo. Teknik menyamarkan pesan ke dalam sinyal yang membentuk
echo. Kemudian pesan disembunyikan dengan menvariasikan tiga parameter dalam
echo yaitu besar amplitude awal, tingkat penurunan atenuasi, dan offset. Dengan
adanya offset dari echo dan sinyal asli maka echo akan tercampur dengan sinyal
aslinya, karena sistem pendengaran manusia yang tidak memisahkan antara echo dan
sinyal asli.
2.1.4 Audio Steganografi
Audio Steganografi merupakan teknik menyembunyikan pesan pada suara
digital. Pesan tersebut disisipkan dengan cara merubah urutan biner dari file audio
tersebut. (Bender, 1996). Audio Steganografi dapat diterapkan pada file audio WAV,
midi, AU, dan bahkan MP3.
Menyisipkan pesan ke dalam suara digital umumnya mempunyai proses yang
lebih sulit dibanding menyisipkan pesan kedalam media lainnya, seperti media
gambar. Metode sederhana yang dapat digunakan untuk audio steganografi yaitu
menyisipkan pesan dalam bentuk gangguan sinyal sampai kepada cara yang lebih
sulit seperti menggunakan teknik pengolahan sinyal yang rumit untuk meyisipkan
pesan. Audio Steganografi menggunakan kelemahan dari sistem pendengaran
manusia untuk menyembunyikan pesan ke dalam file audio.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
32
2.1.5 LSB (Least Significant Bit)
Metode LSB (Least Significant Bit) ini merupakan metode yang
komputasinya tidak terlalu kompleks dan pesan yang disembunyikan cukup aman
serta dapat menyimpan pesan dengan ukuran relatif besar. Metode ini memodifikasi
nilai yang paling kurang signifikan dari jumlah bit dalam 1 byte file carrier. Bit yang
memiliki signifikansi paling tinggi adalah numerik yang memiliki nilai tertinggi
(misal, 27 = 128), artinya bila terjadi perubahan pada bit ini akan menghasilkan
perubahan yang sangat signifikan. Bit yang memiliki signifikansi paling rendah
adalah numerik yang memiliki nilai terendah (misal, 20 = 1), artinya bila terjadi
perubahan pada bit ini akan menghasilkan perubahan yang tidak terlalu signifikan.
pada
berkas carrier yang berukuran 8 byte. Least Significant Bit dari file carrier ditandai
dengan garis bawah. Berkas carrier dalam biner dengan ukuran 8 byte :
1 00001101 11001001 10010110
00001111 11001011 10011111 00010000
byte :
Kedelapan bit ini nantinya akan dimasukan kedalam Least Significant Bit dari tiap-
tiap byte pada file carrier seperti berikut ini :
Berkas carrier dalam biner dengan ukuran 8 byte :
1 00001101 11001001 10010110
00001111 11001011 10011111 00010000
byte :
Proses Least Significant Bit Modification :
0 00001101 11001000 10010110
00001110 11001011 10011111 00010001
Pada contoh diatas, hanya sebagian dari Least Significant Bit filecarrier yang berubah
(ditunjukkan dengan karakter berwarna merah). Berdasarkan teori yang didapat
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
33
adalah bahwa kemungkinan terjadinya perubahan bit adalah sekitar 50%, karena
peluangnya perubahannya adalah antara 0 atau 1 dan dengan mengubah Least
Significant Bit maka ukuran dari file pembawa tidak akan berubah sehingga akan sulit
untuk terdeteksi (Bender, 1996).
2.1.6 File Audio
Audio (suara) adalah fenomena fisik yang dihasilkan oleh getaran suatu benda
yang berupa sinyal analog dengan amplitudo yang berubah secara kontinyu terhadap
waktu yang disebut frekuensi. Selama bergetar, perbedaan tekanan terjadi di udara
sekitarnya. Pola osilasi yang terjadi dinamakan sebagai gelombang. Gelombang
mempunyai pola sama yang berulang pada interval tertentu, yang disebut sebagai
periode. Contoh suara periodik adalah instrumen musik, nyanyian burung sedangkan
contoh suara non periodik adalah batuk, percikan ombak dan lain-lain (Binanto,
2010).
Suatu format file audio adalah format file untuk menyimpan data audio digital
pada sistem komputer. Data ini dapat disimpan tanpa dikompresi, atau dikompresi
untuk mengurangi ukuran file. Ini bisa menjadi sebuah raw bitstream, tetapi biasanya
merupakan sebuah container format atau format data audio dengan lapisan
penyimpanan yang telah ditetapkan.
Penting untuk membedakan antara format file dan codec audio. Codec
melakukan encoding dan decoding data audio mentah sementara data itu sendiri
disimpan dalam file dengan format file audio tertentu. Meskipun sebagian besar
format file audio hanya mendukung satu jenis data audio (dibuat dengan coder audio),
multimedia container format (seperti Matroska atau AVI) dapat mendukung beberapa
jenis data audio dan video. Ada tiga kelompok utama format file audio (Rassol,2002):
1. Format audio yang tidak terkompresi, seperti WAV, AIFF, AU atau raw
header-less PCM.
2. Format audio dengan kompresi lossless, seperti FLAC, Monkey Audio (yang
berekstensi APE), WavPack (yang berekstensi WV), TTA, ATRAC Advance
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
34
Lossless, Apple Lossless yang berekstensi m4a), MPEG-4 SLS, MPEG-4 ALS,
MPEG -4 DST, Windows Media Audio Lossless (WMA Lossless), dan Shorten
(SHN);
3. Format audio dengan kompresi lossy, seperti MP3, Vorbis, Musepack, AAC,
ATRAC dan Windows Media Audio lossy (WMA lossy).
2.1.7 MP3 (Moving Picture Expert Group Audio Layer III)
MPEG (Moving Picture Expert Group) Audio Layer III atau yang lebih
dikenal dengan MP3, adalah salah satu dari pengkodean dalam file audio dan juga
merupakan format kompresi audio loseless
Istilah menghilangkan yang dimaksud adalah kompresi audio ke dalam format mp3
menghilangkan aspek-aspek yang tidak signifikan pada pendengaran manusia untuk
mengurangi besarnya file audio.
MP3 adalah pengembangan dari teknologi sebelumya sehingga dengan ukuran
yang lebih kecil dapat menghasilkan kualitas yang setara dengan kualitas CD.
Spesifikasi dari Layer-Layer sebagai berikut:
a. Layer 1: paling baik pada 384 kbit/s
b. Layer 2: paling baik pada 256...384 kbit/s, sangat baik pada 224...256 kbit/,
baik pada 192...224 kbit/s
c. Layer 3: paling baik pada 224...320 kbit/s, sangat baik pada 192...224 kbit/s,
baik pada 128...192 kbit/s
Mp3 tidak mempertahankan bentuk asli dari sinyal input. Melainkan yang
dilakukan adalah menghilangkan suara-suara yang keberadaannya kurang/tidak
signifikan bagi sistem pendengaran manusia. Proses yang dilakukan adalah
menggunakan model dari sistem pendengaran manusia dan menentukan bagian yang
terdengar bagi sistem pendengaran manusia. Setelah itu sinyal input yang memiliki
domain waktu dibagi menjadi blok-blok dan ditransformasi menjadi domain
frekuensi. Kemudian model dari sistem pendengaran manusia dibandingkan dengan
sinyal input dan dilakukan proses pemfilteran yang menghasilkan sinyal dengan
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
35
range frekuensi yang signifikan bagi sistem pendengaran manusia. Proses diatas
adalah proses konvolusi dua sinyal yaitu sinyal input dan sinyal model sistem
pendengaran manusia. Langkah terakhir adalah kuantisasi data, dimana data yang
terkumpul setelah pemfilteran akan dikumpulkan menjadi satu keluaran dan
dilakukan pengkodean dengan hasil akhir file dengan format mp3. Berikut adalah
beberapa kelemahan dari sistem pendengaran manusia yang digunakan dalam
pemodelan:
a. Terdapat beberapa suara yang tidak dapat didengar oleh manusia (di luar
jangkauan frekuensi 30-30.000 Hz).
b. Terdapat beberapa suara yang dapat terdengar lebih baik bagi pendengaran
manusia dibandingkan suara lainnya.
c. Bila terdapat dua suara yang dikeluarkan secara simultan, maka pendengaran
manusia akan mendengar yang lebih keras sedangkan yang lebih pelan akan
tidak terdengar.
Kepopuleran dari mp3 yang sampai saat ini belum tersaingi disebabkan oleh
beberapa hal. Pertama mp3 dapat didistribusikan dengan mudah dan hampir tanpa
biaya., walaupun sebenarnya hak paten dari mp3 telah dimiliki dan penyebaran mp3
seharusnya dikenai biaya. Walaupun begitu, pemilik hak paten dari mp3 telah
memberikan pernyataan bahwa penggunaan mp3 untuk keperluan perorangan tidak
dikenai biaya. Keuntungan lainnya adalah kemudahaan akses mp3, dimana banyak
sofware yang dapat menghasilkan file mp3 dari CD dan keberadaan file mp3 yang
bersifat ubiquitos (kosmopolit).
Struktur file mp3 terdiri dari banyak frame ditambah ID3 tag . ID3 tag ini
tidak selalu ada dalam file mp3 (bersifat opsional), karena ID3 tag ini hanya berisi
informasi mengenai judul lagu, artis, tahun terbit lagu, dan lain-lain yang tidak
diperlukan. Struktur file mp3 ditunjukkan pada Gambar 2.8.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
36
Gambar 2.8 Struktur File mp3
Frame merupakan bagian terbesar dari sebuah file mp3. Sebuah file mp3
dapat mempunyai ribuan hingga puluhan ribu frame tergantung dari ukuran dan
kualitas lagu. Setiap frame dalam mp3 mempunyai panjang frame yang berbeda-beda
untuk itu perlu diketahui struktur dari suatu frame agar dapat mengetahui posisi frame
berikutnya. Struktur frame mp3 ditunjukkan pada Gambar 2.9.
Gambar 2.9 Struktur Frame mp3
Main data adalah bagian dimana data audio dari sebuah file MP3 berada dan
mempunyai panjang yang bervariasi. Bagian frame yang akan digunakan dalam
steganografi ini adalah dengan mengganti isi dari Main Data tersebut. Teknik
kompresi MP3 juga menerapkan metode Huffman coding untuk mendapatkan hasil
kompresi yang lebih baik. Jika sebuah frame MP3 mempunyai suara/audio yang sama
persis (biasanya terdapat pada frame yang tidak mempunyai nada/suara apapun) maka
isi dari Main Data-nya cukup ditulis dalam satu macam nilai saja. Nilai homogen
yang dimaksud disini dapat berupa nilai heksadesimal berapapun. Sebuah frame
hanya menyumbangkan waktu selama 0,026 detik saja.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
37
2.2 Penelitian Terkait
Least Significant Bit Modification Untuk
Merancang Aplikasi Steganography Pada File Audio Digital Tidak
o. 1 Maret 2009
Penelitian ini menggunakan metode modifikasi LSB (Least Significant Bit
Modification) pada aplikasi steganografi pada file audio digital tidak terkompresi.
Least Significant Bit Modification merupakan metode penyembunyian informasi
rahasia dengan memodifikasi LSB file carrier. Modifikasi LSB dilakukan dengan
memodifikasi bit terakhir dalam satu byte data dengan bit-bit informasi dan hanya
menyebabkan perubahan nilai bit satu lebih tinggi atau satu lebih rendah. File carrier
yang digunakan dalam proses steganografinya berupa file audio tidak terkompresi
(.wav) dan menganalisis pengaruh besar kecilnya informasi terhadap kualitas suara
file audio dan melakukan uji coba keberhasilan terhadap kemungkinan terjadinya
pendeteksian.
Manfaat yang diharapkan bisa dicapai dalam penelitian ini adalah membantu
pengguna dalam proses pengamanan informasi untuk menjaga kerahasiaan (privacy)
informasi, keutuhan informasi (integrity), ukuran file dan keaslian informasi
(authentication) sehingga informasi yang didistribusikan tidak mengalami perubahan
oleh pihak yang tidak berwenang.
Pengujian dilakukan selain dengan membandingkan ukuran file, dilakukan
pula perbandingan terhadap perubahan bit-bit LSB dan perbandingan kualitas suara
dari kedua file tersebut. Setelah melakukan perbandingan terhadap beberapa kriteria,
akan dilakukan pengujian ketahanan terhadap file pembawa terlabel (stego file) untuk
tidak terdeteksi oleh software yang dapat mendeteksi ada atau tidaknya informasi
yang disembunyikan pada suatu file (Steganalysis Software).
Perbandingan yang dilakukan menunjukkan bahwa ukuran file antara file
carrier dengan file asli tidak mengalami perubahan setelah mengalami proses
Steganografi dengan ukuran file pesan yang berbeda. File stego tidak dapat dideteksi
secara kasat telinga karena penurunan kualitas suara yang terjadi sangat kecil.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
38
Kelemahannya adalah file pembawa bisa dideteksi jika pihak lain membandingkan
file stego dengan file carrier yang asli.
Video Steganography
Dengan Metode Least Significant Bit (LSB
Konferensi Nasional Sistem dan Informatika 2009. Bali, November 14, 2009
Penelitian ini merupakan pembuatan aplikasi steganografi yang mampu
menyembunyikan informasi rahasia di dalam media video. Media video yang
digunakan berformat avi, 3gp, flv, dan mpeg. Tujuan penelitian ini adalah untuk
mengembangkan aplikasi video steganografi yang dapat memberikan keamanan pada
suatu informasi rahasia dengan menyembunyikannya dalam file video.
Pendekatan yang digunakan untuk melakukan penyembunyian informasi
adalah pendekatan Least Significant Bit (LSB). Dalam program ini, dilakukan uji
coba berbagai format video. Ternyata semua format video tetap tersimpan dalam
format yang sama dan hasil dari embedding dan retrieving tidak merusak video.
Secara garis besar pelaksanaan uji coba dibedakan dalam dua tahap yaitu tahap
embedding dan tahap retrieving. Dalam tahap embedding, pengujian hanya dilakukan
dalam lingkup proses penyisipan data dengan melakukan tahap pengambilan file
pembawa, pengambilan data pesan rahasia, dan kemudian hasil keluaran tahap
embedding. Pada tahap retrieving, pengujian dilakukan pada proses pengembalian
data yaitu dengan pengambilan data carrier, dan hasil keluaran tahap retrieving.
Proses penyisipan dan ekstraksi data membutuhkan waktu yang lebih lama
apabila ukuran media penampung dan data atau informasi yang disisipkan dan
diekstraksi besar. Salah satu kekurangan aplikasi ini adalah informasi yang disimpan
belum dapat lebih besar memorinya dari objek video itu sendiri. Sehingga untuk
pengembangan lebih lanjut dapat menggunakan metode yang lebih efisien dalam
pemrosesannya sehingga proses steganografi yang dilakukan bisa lebih cepat dan
dapat menampung banyak data atau informasi. Ditambah lagi alangkah baiknya
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
39
sebelum dilakukan proses penyisipan, terlebih dahulu dilakukan proses enkripsi
terhadap data atau informasi.
Alfath Yanuarto Analisis Algoritma dan Keamanan Sandi Blok Twofish dalam
Penelitian ini membahas mengenai analisis dan keamanan sandi blok
algoritma Twofish. Pengujian yang dilakukan mengenai analisis algoritma, analisis
keamanan, uji kecepatan waktu eksekusi enkripsi dan dekripsi dari hasil implementasi
algoritma twofish. Hasil pengujian menunjukkan bahwa waktu eksekusi dipengaruhi
oleh ukuran input plaintext. Dari analisis keamanan diperoleh level ketangguhan
keamanan yang tinggi jika dilihat dari jumlah putaran twofish. Twofish dikategorikan
memliki level ketangguhan keamanan yang tinggi. Analisis hasil implementasi
terlihat bahwa running time proses enkripsi dan dekripsi mengalami peningkatan
secara linear berdasar tingkat ukuran plaintextnya. Hal tersebut terjadi karena
semakin besar ukuran plaintext maka iterasi proses yang dilakukan semakin besar.
Irfan Encryption and
Decryption of Data Using Twofish Algorithm
Journal Science and Technology 2012, 2(3) : 157-161. ISSN : 2231-2587.
Jurnal ini membahas enkripsi dan dekripsi data menggunakan algoritma
Twofish. Twofish menerima plaintext dengan panjang 128 bit dan menerima kunci
dengan panjang 128 bit , 192 bit, atau 256 bit. Penelitian yang dilakukan adalah
menguji algoritma Twofish yang dilihat dari keberagaman panjang plaintext yang
berbeda serta panjang kunci yang berbeda.
Hasil penelitian menunjukkan bahwa algoritma Twofish hanya menerima
input plaintext dengan panjang 128 bit. Jika kurang dari 128 bit maka program
mendefinisikan plaintext dengan menambahi nilai bit sehingga bernilai sama dengan
128 bit. Jika lebih dari 128 bit maka pada saat proses enkripsi plaintext akan terbagi
menjadi blok yang tidak beraturan sehingga menyebabkan Ciphertext yang dihasilkan
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
40
juga terpisah. Untuk panjang kunci, algoritma Twofish menerima panjang kunci 128
bit, 192 bit, atau 256 bit. Jika panjang kunci kurang dari 128 bit, maka panjang bit
ditambah sehingga bernilai sama dengan 128 bit begitu juga dengan panjang kunci
192 bit dan 256 bit. Algoritma Twofish tidak menerima panjang kunci lebih dari
256bit . Algoritma Twofish dengan panjang kunci 128 bit mempunyai kompleksitas
2128 , 192 bit mempuyai kompleksitas 2192, 256 bit mempuyai kompleksitas 2256.
2.3 Rencana Penelitian
Penelitian yang akan dilakukan pada tugas akhir ini adalah menerapkan
steganografi pada file audio terhadap pesan terenkripsi. Metode yang digunakan pada
proses steganografi adalah metode Least Significant Bit (LSB) untuk file audio
terhadap pesan teks seperti yang digunakan di penelitian Ema Utami (2009) pada file
audio tidak terkompresi dan di penelitian Dian Dwi Hapsari, Lintang Yuniar (2009)
pada file video. Penelitian tersebut hanya meminimalkan kecurigaan terhadap
keberadaan pesan dengan steganografi tetapi belum ada usaha peningkatan keamanan
pesan menggunakan proses kriptografi. Untuk itu dapat dilakukan proses kriptogafi
untuk mengenkripsi pesan yang disembunyikan.
Algoritma kriptografi yang digunakan adalah algoritma Twofish. Pada
penelitian Alfath (2008) algoritma Twofish dinyatakan mempunyai level ketangguhan
keamanan yang tinggi. File audio yang digunakan berupa file mp3 karena dapat
menampung pesan dengan kapasitas besar serta mudah cara mendistribusikannya dan
pesan teks yang digunakan berupa pesan teks dengan format .txt. Pengujian dilakukan
dengan menganalisis pengaruh variasi ukuran pesan teks yang disisipkan terhadap
kapasitas pesan yang mampu ditampung file audio, kualitas suara yang dihasilkan
oleh file audio, serta akan dihitung waktu enkripsi dan dekripsi pesan teks, dan
dilakukan pula perhitungan waktu penyisipan dan ekstraksi pesan terhadap variasi
ukuran pesan teks dan file audio.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
41
BAB 3
METODE PENELITIAN
3.1 Studi Literatur
Studi literatur dilakukan dengan melakukan pemahaman mengenai
konsep dari kriptografi dan steganografi, serta file audio yang berkonsentrasi pada
algoritma Twofish, metode Least Significanti Bit (LSB), dan file audio mp3.
Literatur pendukung ini dapat berupa jurnal, paper, makalah, artikel, buku, atau
sumber lainnya. Hasil yang ingin diperoleh dari tahap ini adalah ringkasan dasar
teori serta tinjauan penelitian sebelumnya.
3.2 Tahap Identifikasi Masalah
Tahap ini dilakukan untuk penentuan hal-hal penting seperti
pengumpulan data file audio, pengelompokan file audio berdasar kapasitas
maksimum pesan yang dapat ditampung file mp3 dan pengelompokan berdasar
genre masing-masing file audio, serta pengumpulan data file pesan teks. Tahapan
ini digunakan sebagai dasar permasalahan yang akan dianalisis. Tahapan ini juga
merupakan tahap mengkaji dan membatasi masalah yang akan diimplementasikan
dalam sistem.
3.3 Tahap Implementasi
Ada 4 tahapan dalam implementasi aplikasi ini dengan
mengkombinasikan proses kriptografi yang terdiri dari tahap enkripsi dan dekripsi
pesan teks dari chiperteks menjadi plainteks serta proses steganografi yang terdiri
dari tahap penyisipan pesan teks ke dalam file audio dan tahap ekstraksi audio
stego sehingga menjadi file audio dan chipertext. Penjelasan lebih rinci dari
perancangan aplikasi dapat dilihat pada Gambar 3.1.
Tahap EnkripsiTahap Penyisipan
Pesan Tahap Ekstraksi Tahap Dekripsi
Gambar 3.1 Skema Implementasi Kriptografi dan Steganografi
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
42
File audio menjadi masukan sebagai media penampung atau disebut
file audio pembawa dan file teks menjadi masukan pesan rahasia yang akan
disisipkan. File teks terlebih dahulu melalui tahap enkripsi menghasilkan
chipertext, kemudian chipertext disisipkan ke dalam file audio. Hasil dari proses
penyisipan pesan tersebut adalah file audio-stego. File audio stego mengandung
pesan teks rahasia didalamnya. File audio-stego ini diharapkan mempunyai
kualitas suara yang tidak jauh berbeda dengan file audio asli. Tahap ekstraksi
digunakan untuk memisahkan antara file audio pembawa dan pesan teks yang
disisipkan. Pesan teks yang didapat masih dalam keadaan terenkripsi sehingga
harus melalui tahap dekripsi terlebih dahulu agar menghasilkan pesan rahasia
yang dapat diketahui maknanya. Pembahasan secara lebih detail mengenai
tahapan implementasi kriptografi dan steganografi akan dijelaskan pada sub-bab
selanjutnya.
3.4 Tahap Enkripsi
Tahap enkripsi melakukan penyandian pesan teks berupa pesan rahasia
berformat .txt untuk menghasilkan chipertext menggunakan algoritma Twofish.
Skema tahapan enkripsi algoritma Twofish secara umum yang dapat dilihat pada
Gambar 3.2.
PlaintextTahap Enkripsi
Algoritma TwofishChipertext
Gambar 3.2 Skema Tahap Enkripsi dengan Agoritma Twofish
Flowchart dari tahap enkripsi pesan teks menggunakan agoritma Twofish
dapat dilihat pada Gambar 3.3.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
43
Mulai
Plaintext(blok=128 bit)
Blok / 4 = P0...P3
i = 0
R0, i = Pi XOR Ki
(Fr,0,Fr,1) = F(Rr,0,Rr,1,r)Rr+1,0 = ROR (Rr,2 XOR Fr,0,1)Rr+1,1 = ROL (Rr,3,1) XOR Fr,1Rr+1,2 = Rr,0Rr+1,3 = R,r,1
i = 16
i = i + 1
Tukar ROR dan ROL
Ci=R16(i+2)mod 4 XOR Ki+4
Satukan kembali ROR dan ROL
Chipertex t(blok=128 bit)
Selesai
ya
tidak
Gambar 3.3 Flowchart Proses Enkripsi Agoritma Twofish
Keterangan Gambar 3.3:
1. Input berupa plaintext sebesar 128 bit dibagi menjadi empat word
32 bit yaitu P0, P1, P2, P3 . P0 dan P1 akan menjadi bagian
kiri, sedangkan P2 dan P3 akan menjadi bagian kanan.
2. Plaintext akan melalui proses input whitening yaitu plaintext di-
XOR dengan empat sub kunci yang telah terjadwal yaitu K0, K1,
K2, dan K3.
3. Proses berikutnya plaintext akan melalui proses pada fungsi F
(Feistel) yang meliputi di dalamnya adalah fungsi g dan
dilanjutkan dengan PHT (pseudo hadamard transform), dan
dilakukan penambahan hasil PHT dengan kunci. proses fungsi F
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
44
tersebut dilakukan secara bertahap. R0 dan R1 yang merupakan
hasil whitening akan menjadi input untuk fungsi F.
4. R0 dan R1 akan dimasukkan ke dalam fungsi g yang
merupakan bagian awal dari fungsi F. Untuk R1 sebelum
dimasukkan ke dalam fungsi g akan dirotasi ke kiri sejauh 8 bit. R0
dan R1 melalui S-box dan selanjutnya akan dikalikan dengan
matriks MDS. Hasil dari fungsi g ini masing-masing menjadi
T0 dan T1.
5. T0 dan T1 akan melalui proses PHT yang merupakan
penggabungan T0 dan T1 dimana T0 + T1 dan T0 + 2T1. Setelah
itu hasil dari PHT tersebut masing-masing akan ditambahkan
dengan kunci yang sudah terjadwal yaitu K2r+8 dan K2r+9.
Hasil dari fungsi F adalah F0 dan F1, maka dengan demikian
fungsi F telah terpenuhi.
6. Setelah itu F0 dan F1 masing-masing di-XOR dengan R2 dan
R3. Hasil dari R2 XOR F0 dirotasi ke kanan sejauh 1 bit.
Sedangkan R3 XOR F1, sebelumnya R3 dirotasi ke kiri sejauh 1
bit.
7. Setelah itu, maka akan dilakukan iterasi sebanyak 16 kali.
Setiap iterasi sama dengan proses sebelumnya.
8. Terakhir adalah penukaran blok bagian kanan dan kiri.
9. Hasil dari 16 round enkripsi melalui output whitening yaitu proses
peng-XORan 16 round enkripsi dengan K4, K5, K6, dan K7.
Tahap enkripsi pesan teks dilakukan dengan menggunakan
penjadwalan kunci. Algoritma Twofish menggunakan kunci private.
3.5 Tahap Penyisipan Pesan
Tahap penyisipan pesan dilakukan pada file audio MP3 dengan
menggunakan metode LSB. Tahap penyisipan pesan ini secara lebih rinci terdiri
dari 2 proses , yaitu proses pencarian byte dan proses penggantian byte yang sama.
Skema tahapan penyisipan pesan secara umum dapat dilihat pada Gambar 3.4.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
45
Chipertext + MP3Tahap Penyisipan
Pesan denganmetode LSB
Objek Stego
Gambar 3.4 Skema Proses penyisipan pesan
Langkah-langkah penyisipan pesan teks ke dalam media audio MP3
menggunakan metode LSB dapat dilihat pada Gambar 3.5.
Mulai
Masukkan kuncienkripsi,
pesan_text,file_mp3
Enkripsi pesanteks dengan
Algoritma Twofish
Penyisipan pesan denganmengganti byte homogen
pada mp3
Keluaran filemp3_stegged
Selesai
kapasitas pesan >chipertext
PesanError
ya
tidak
Kapasitas = jumlahbyte homogen / 8
Menghitung jumlahbyte homogendalam file mp3
Gambar 3.5 Flowchart Tahap Penyisipan Pesan
Keterangan Gambar 3.5 :
1. Masukkan kunci yang digunakan sebagai kunci enkripsi, pesan
rahasia dalam bentuk text , dan file mp3 sebagai media
penampung.
2. Pesan text ditampung dalam temporary file kemudian dienkripsi
mengunakan algoritma Twofish menghasilkan chipertext.
3. Dihitung jumlah byte homogen dalam mp3 kemudian dihitung
kapasitas pesan yang mampu ditampung oleh file MP3 dengan
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
46
perhitungan jumlah byte homogen dibagi 8. Jika ukuran chipertext
lebih besar dari kapasitas yang mampu ditampung MP3 maka
penyisipan pesan tidak dapat dilakukan.
4. Penyisipkan pesan dilakukan dengan mengganti byte homogen
terakhir pada file mp3 menggunakan metode LSB menghasilkan
keluaran file mp3-stego.
3.5.1 Tahap Pencarian Byte Yang Sama
Pencarian byte-byte yang sama pada file mp3 dilakukan untuk
mengetahui byte-byte yang dapat digunakan sebagai tempat penyisipan pesan.
Byte-byte yang sama pada file mp3 disubstitusi dengan byte-byte chipertext.
Flowchart dari proses pencarian byte yang sama pada file mp3 yang dapat
dilihat pada Gambar 3.6.
Mulai
Masukkanfile_mp3 cover
Pencarian framemp3
Mencari informasiukuran framedalam byte
i=1
Apakah [i] <= panjangframe mp3 ? i = i + 1
Frame dapatdigunakan sebagaipenampung pesan
Selesai
Nilaibyte[i]=byte
[i+1] ?
ya
tidak
tidak
ya
Gambar 3.6 Flowchart Proses Pencarian Byte Yang Sama
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
47
Keterangan Gambar 3.6 :
1. Stream file mp3 dibaca dari awal sampai akhir dengan tujuan
mencari informasi ukuran frame dalam byte.
2. Frame ke-i=1 didapat, byte pertama dibandingkan dengan byte
selanjutnya.
3. Pembacaan byte terus dilakukan, jika byte pertama bernilai sama
dengan byte selanjutnya maka dilakukan perulangan sampai
mencapai ukuran panjang file.
4. Jika hasil pemeriksaan dalam satu frame mengandung byte sama
maka frame tersebut dapat digunakan sebagai tempat penyisipan
pesan.
3.5.2 Proses Penyisipan Pesan
File MP3 terdiri dari ribuan frame, jika byte-byte dalam frame
tersebut sama atau mengandung byte homogen maka frame tersebut dapat
disisipi pesan. Frame pertama yang dapat disisipi pesan diberikan string
penanda, semisal string yang terdiri dari ukuran dan ekstensi pesan text,
byte dengan
format txt. Penanda berupa ukuran file pesan berguna pada saat proses
ekstraksi pesan. Pada setiap frame yang digunakan juga diberikan penanda
berupa string nda pada saat
ekstraksi pesan. Setelah seluruh chipertext disisipkan ke dalam MP3, maka
proses penyisipan pesan selesai. Tahap penyisipan pesan dengan metode
penggantian byte dapat dilihat pada Gambar 3.7.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
48
Mulai
frame yang digunakan
Mensubstitusi byte-byte yang samadengan chipertext setelah string penanda
Selesai
ukuran pesan pada frame MP3 pertamayang digunakan
Proses substitus i telahmencapai ukuran
chipertext ?
ya
tidak
Gambar 3.7 Flowchart Penyisipan Pesan dengan Metode Penggantian Byte
Keterangan Gambar 3.7 :
1. Frame pertama yang digunakan sebagai tempat menampung
chipertext diberi string string ukuran
chipertext.
2. Frame selanjutnya yang dapat digunakan sebagai tempat
menampug chipertext diberi string
3. Substitusi byte homogen terakhir mp3 dengan 1 bit chipertext
setelah string penanda sampai mencapai ukuran chipertext.
3.6 Tahap Ekstraksi Pesan
Tahap ekstraksi pesan berfungsi untuk mengungkap pesan berupa
chipertext yang tersembunyi dalam file mp3. Skema dari proses ekstraksi pesan
secara umum dapat dilihat pada Gambar 3.8.
Objek Stego
Tahap EkstraksiFile MP3 Chipertext
Gambar 3.8 Skema Proses Ekstraksi Pesan
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
49
Langkah-langkah dalam proses ekstraksi chipertext dapat dilihat pada
Gambar 3.9.
Mulai
Masukkan kuncienkripsi dan filemp3_stegged
Ekstraksi pesan byte demibyte dari mp3
Dekripsi chipertext
Selesai
Apakah kuncisesuai ?
tidak
Pencarian frame pertamaMP3 yang memuat string
string ukuran chipertext
Mencari informasi ukuranchipertext yang disisipkan
dalam MP3
Pencarian frame yang
frame MP3
Ukuran byteterekstraksi = ukuran
chipertext
tidak
ya
ya
Gambar 3.9 Flowchart Proses Ekstraksi Pesan
Keterangan Gambar 3.9 :
a. Masukkan kunci dekripsi dan file mp3 terlabel.
b. Jika kunci yang dimasukkan sesuai maka dilakukan pencarian
frame pertama yang bertanda string string ukuran
chipertext sehingga didapat ukuan chipertext
c. Pencarian frame bertanda string
mendapatkan frame yang berisi byte-byte chipertext kemudian
dilakukan ekstraksi pesan byte demi byte hingga mencapai ukuran
chipertext yang disisipkan.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
50
d. Chipertext didekripsi sehingga menghasilkan plaintext dalam
bentuk file teks.
3.7 Tahap Dekripsi
Tahap dekripsi pesan dilakukan untuk mengembalikan chipertext
menjadi plaintext berformat.txt menggunakan algoritma Twofish. Skema tahap
dekripsi pesan menggunakan algoritma Twofish dapat dilihat pada Gambar 3.10.
ChipertextTahap Dekr ipsi
Algor itma TwofishPlaintext
Gambar 3.10 Skema Tahap Dekripsi dengan Agoritma Twofish
Langkah-langkah proses dekripsi dari algoritma Twofish dapat dilihat
pada Gambar 3.11.
Mulai
Chipertext(blok=128 bit)
i = 0
R0, i = Pi XOR Ki
(Fr,0,Fr,1) = F(Rr,0,Rr,1,r)Rr+1,0 = ROR (Rr,2 XOR Fr,0,1)Rr+1,1 = ROL (Rr,3,1) XOR Fr,1Rr+1,2 = Rr,0Rr+1,3 = R,r,1
i = 16
i = i + 1
Plaintext(blok=128 bit)
Selesai
ya
tidak
Tukar ROR dan ROL
Ci=R16(i+2)mod 4 XOR Ki+4
Blok / 4 = P0...P3
Gambar 3.11 Flowchart Proses Dekripsi Agoritma Twofish
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
51
Keterangan Gambar 3.11:
1. Input chipertext sebesar 128 bit
2. Penukaran bagian kanan dan kiri.
3. Setelah itu F0 dan F1 masing-masing di-XOR dengan R2 dan R3.
Hasil dari R2 XOR F0 dirotasi ke kanan sejauh 1 bit. Sedangkan
R3 XOR F1, sebelumnya R3 dirotasi ke kiri sejauh 1 bit.
4. Hasil dari 16 round dekripsikan melalui output whitening yaitu
proses peng-XORan 16 round enkripsi dengan K4, K5, K6, dan K7.
5. Proses berikutnya input akan melalui proses pada fungsi F yang
meliputi di dalamnya adalah fungsi g dan dilanjutkan dengan
PHT (pseudo hadamard transform), dan dilakukan penambahan
hasil PHT dengan kunci. Proses fungsi F tersebut dilakukan secara
bertahap. R0 dan R1 yang merupakan hasil whitening akan menjadi
input untuk fungsi F.
6. R0 dan R1 akan dimasukkan ke dalam fungsi g yang
merupakan bagian awal dari fungsi F. Untuk R1 sebelum
dimasukkan ke dalam fungsi g akan dirotasi ke kiri sejauh 8 bit. R0
dan R1 melalui S-box dan selanjutnya akan dikalikan dengan
matriks MDS. Hasil dari fungsi g ini masing-masing menjadi T0
dan T1.
7. T0 dan T1 akan melalui proses PHT yang merupakan
penggabungan T0 dan T1 dimana T0 + T1 dan T0 + 2T1. Setelah
itu hasil dari PHT tersebut masing-masing akan ditambahkan
dengan kunci yang sudah terjadwal yaitu K2r+8 dan K2r+9.
Hasil dari fungsi F adalah F0 dan F1, maka dengan demikian
fungsi F telah terpenuhi.
8. Setelah itu, maka akan dilakukan iterasi sebanyak 16 kali.
Setiap iterasi sama dengan proses sebelumnya.
9. Chipertext akan melalui proses input whitening yaitu input akan
di-XOR dengan empat word kunci yang telah terjadwal yaitu K0,
K1, K2, dan K3 menghasilkan plaintext.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
52
10. Plaintext sebesar 128 bit akan dibagi menjadi empat word yaitu P0,
P1, P2, P3 yang masing-masing sebesar 32 bit. P0 dan P1
akan menjadi bagian kiri, sedangkan P2 dan P3 akan menjadi
bagian kanan.
3.8 Tahap Pengujian
Pengujian dilakukan pada 12 data sample yang terdiri dari 4 buah plaintext
dan 8 buah file audio. Plaintext yang diujikan menggunakan format .txt dan
ukuran tiap plaintext dinaikkan kelipatan 5 KB. File audio terdiri dari file musik
mp3 ber-genre akustik, instrumen, pop, dan rock.
Musik adalah kumpulan dari bunyi atau suara dan keadaan diam (sounds
and silences) dalam alur waktu dan ruang tertentu (Eagle Jr, 1996). Musik
instrumen merupakan musik yang mengalun tanpa lirik, hanya berupa alunan alat
musik saja. Musik instrumen identik memiliki karakteristik irama yang lembut
dan mempunyai banyak keadaan nada diam (Syukur,2005). Berbeda dengan
alunan musik akustik, rock dan pop memiliki karakteristik irama yang kompleks
dengan ketukan yang relatif cepat sehingga tidak banyak mempunyai keadaan
nada diam. Semakin banyak nada yang sama persis atau keadaan nada diam maka
semakin banyak byte homogen yang dikandung file audio tersebut. Musik akustik
dapat dihasilkan dari alat musik akustik seperti gitar akustik, piano akustik, violin,
maupun cello. Musik rock dan pop berkisar antara permainan gitar listrik
dikombinasikan dengan gitar bass dan drum.
Masing- masing file audio tersebut berukuran 4 MB yang dibedakan
berdasar ukuran kapasitas pesan yang mampu ditampung file mp3 dan dalam
pengujian ini ditentukan dua cakupan ukuran kapasitas pesan yang berbeda yaitu
antara 10000 byte 35000 byte dan 50000 byte 75000 byte. Ukuran kapasitas
pesan yang mampu ditampung file mp3 diperoleh dari banyaknya byte yang sama
dibagi 8, karena dalam metode LSB, 1 byte file audio digunakan untuk 1 bit
karakter pesan.
Aspek pertama yang diuji adalah uji kapasitas pesan teks yang mampu
ditampung oleh file mp3, tiap file mp3 disisipkan pesan teks dengan ukuran
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
53
kelipatan 5 KB. File mp3 terakhir yang masih mampu menampung pesan berarti
mempunyai kapasitas yang paling besar. Aspek kedua yang diuji adalah
perhitungan waktu eksekusi. Waktu eksekusi yang dihitung antara lain : waktu
enkripsi, waktu dekripsi, waktu penyisipan pesan ke dalam file audio, dan waktu
ekstraksi file mp3 stego. Aspek ketiga yang diuji adalah perhitungan kualitas
suara file mp3 stego yang dihasilkan. Kualitas suara file mp3 stego diuji secara
obyektif dengan terlebih dahulu mengukur kekuatan sinyal file audio
menggunakan alat berupa Sound Level Meter Extech tipe 407736, lalu dihitung
nilai Peak Signal to Noise Ratio (PSNR) dengan rumus :
(1)
P0 adalah kekuatan sinyal awal (dB) dan P1 adalah kekuatan sinyal fie audio
setelah disisipi (dB). Jika nilai PSNR berkisar antara 30-50 dB maka file MP3
hasil steganografi dinyatakan mempunyai kualitas suara yang baik (Jiang, 2011).
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
54
BAB 4
HASIL DAN PEMBAHASAN
4.1 Spesifikasi Perangkat
Perangkat yang digunakan untuk melakukan implementasi pengujian
sistem berupa perangkat keras dan perangkat lunak yang meliputi :
1. Spesifikasi Perangkat Lunak
a. Sistem Operasi Windows 7
b. Borland Delphi 7.0 dengan library DcpCrypt untuk proses enkripsi dan
dekripsi algoritma Twofish.
c. Sound Level Meter Extech tipe 407736 untuk mengukur kekuatan sinyal
audio.
2. Spesifikasi Perangkat Keras
Pembangunan aplikasi ini menggunakan Personal Computer dengan
spesifikasi:
a. Processor Intel Atom
b. RAM 2 GB dan HardDisk dengan kapasitas 32GB
4.2 Hasil Pengujian dan Analisa
Pengujian yang dilakukan terdiri dari tiga macam yaitu pengujian
kapasitas pesan yang mampu ditampung file audio, kecepatan waktu eksekusi
berupa waktu enkripsi, dekripsi, penyisipan, dan ekstraksi serta pengujian kualitas
suara audio yang telah mengalami proses steganografi. Data sample pada
penelitian ini menggunakan 8 file mp3 dengan genre musik akustik, instrumen,
pop, dan rock serta 4 buah file teks .txt dengan ukuran 1 KB, 5 KB, 10 KB, dan 15
KB. Atribut dari data sample file mp3 dan file teks dijelaskan pada Tabel 4.1 dan
Tabel 4.2.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
55
Tabel 4.1 Atribut Data Sample File Audio
Genre Nama File mp3 Ukuran (MB)
Jumlah Byte Homogen
(byte)
Kapasitas Pesan MP3
(byte) Akustik everything you want.mp3 4.08 278184 34773
my immortal(akustik).mp3 4.12 417264 52158 Instrumen because tomorrow.mp3 4.22 273336 34167
love in the ice.mp3 4.59 586864 73358 Pop Saat kau pergi.mp3 4.47 146632 19653
Lelaki untukmu.mp3 4.12 602944 57829 Rock a sing for absolution.mp3 4.49 160256 20032
snow white queen.mp3 4.02 471696 58962
Tabel 4.2 Atribut Data Sample File Teks
Nama File Teks Ukuran (KB) 1.txt 1 5.txt 5 10.txt 10 15.txt 15
Pesan teks dapat disisipkan ke dalam file audio dengan mengganti byte
homogen terakhir pada file audio dengan metode LSB. Byte homogen adalah byte
yang sama dan berurutan pada satu frame. Sebuah file mp3 dapat mempunyai
ribuan hingga puluhan ribu frame tergantung dari kualitas lagu. Jika dalam suatu
frame mengandung byte homogen maka frame tersebut dapat dijadikan tempat
menyisipkan pesan. Banyaknya byte homogen menentukan seberapa besar ukuran
kapasitas pesan yang mampu ditampung file audio, dengan perhitungan banyak
byte homogen dibagi 8 dimana hal itu bersesuaian dengan metode LSB, 1 byte
file audio digunakan untuk 1 bit pesan. Jika suatu file audio mempunyai banyak
byte homogen berarti semakin banyak pula ukuran kapasitas pesan yang mampu
ditampung file audio tersebut.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
56
4.2.1. Pengujian Kapasitas Pesan yang Mampu ditampung File Audio
Pengujian kapasitas pesan yang mampu ditampung file audio
menggunakan file audio yang terdiri dari file musik mp3 bergenre akustik,
instrumen, pop, dan rock sesuai dengan data sample yang dibedakan berdasar
genre file audio berukuran sama yaitu 4 MB, tetapi untuk pesan teks yang
disisipkan menggunakan data pesan teks berformat .txt dengan ukuran kelipatan
10 KB. Proses penyisipan dilakukan hingga seluruh file mp3 dinyatakan gagal
dalam menyisipkan pesan karena pesan yang disisipkan lebih besar dari ukuran
kapasitas pesan yang mampu ditampung file mp3, file mp3 terakhir yang berstatus
gagal berarti mempunyai kapasitas terbesar dibandingkan file mp3 lain. Hasil
pengujian kapasitas pesan ditunjukkan pada Tabel 4.3.
Tabel 4.3 Hasil Pengujian Kapasitas Pesan yang Mampu ditampung File Audio
Gen re
Nama File mp3
STATUS PENYISIPAN dengan Ukuran Pesan Teks (KB)
Prosentase Penyisipan Sukses per-genre (%)
1 10 20 30 40 50 60 70 80
Akustik
everything you want.mp3
Suk ses
Suk ses
Suk Ses
Suk ses
Ga gal
Ga gal
Ga gal
Ga Gal
Ga gal
55.6
my immortal (akustik).mp3
Suk ses
Suk ses
Suk Ses
Suk ses
Suk ses
Suk Ses
Ga gal
Ga gal
Ga gal
Ins Tru men
because tomorrow.mp3
Suk ses
Suk ses
Suk ses
Suk ses
Ga gal
Ga Gal
Ga gal
Ga gal
Ga gal
66.7
love in the ice .mp3
Suk ses
Suk ses
Suk ses
Suk ses
Suk ses
Suk Ses
Sukses
Sukses
Ga gal
Pop saat kau pergi .mp3
Suk ses
Suk ses
Ga gal
Ga gal
Ga gal
Ga Gal
Ga gal
Ga gal
Ga gal
44.4
lelaki untukmu .mp3
Suk ses
Suk ses
Suk ses
Suk ses
Suk ses
Suk Ses
Ga gal
Ga gal
Ga gal
Rock
a sing for absolution.mp3
Suk ses
Suk ses
Suk ses
Ga gal
Ga gal
Ga Gal
Ga gal
Ga gal
Ga gal
50
snow white queen.mp3
Sukses
Sukses
Sukses
Sukses
Sukses
Sukses
Gagal
Gagal
Gagal
Prosentase penyisipan sukses per-genre dihitung dengan rumus :
(1)
Tabel 4.3 menunjukkan 9 percobaan yang dilakukan pada tiap file mp3
yang berukuran sama dengan menyisipkan pesan teks berukuran kelipatan 10 Kb,
didapat kesimpulan bahwa file mp3 terakhir yang dinyatakan gagal dalam proses
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
57
penyisipan pesan adalah file love in the ice.mp3 ber-genre instrumen, yang berarti
file tersebut mempunyai kapasitas pesan yang paling besar. Untuk menyatakan
kapasitas pesan terbesar yang mampu ditampung file mp3 berdasar genre-nya
maka dihitung prosentase penyisipan sukses per-genre, dimana prosentase
terbesar dimiliki oleh genre instrumen dengan prosentase sebesar 66.7 %, dan
berturut-turut diikuti oleh genre akustik dengan 55.6 %, genre rock dengan 50%,
dan genre pop dengan 44.4%.
Kapasitas pesan yang mampu ditampung file mp3 tergantung pada
banyaknya byte homogen. Kapasitas terbesar untuk meyisipkan pesan dimiliki
oleh genre instrumen. Genre instrumen identik mempunyai irama yang lembut
dan banyak keadaan nada diam sehingga mempuyai banyak byte homogen.
Sedangkan pada genre musik akustik, rock dan pop mempunyai irama yang
kompleks sehingga mempunyai jumlah byte homogen yang bervariasi berdasar
dari alunan nada yang dihasilkan. Semakin banyak byte homogen semakin besar
pula kapasitas pesan yang mampu ditampung file mp3.
4.2.2. Pengujian Kecepatan Waktu Eksekusi
Pengujian kecepatan waktu eksekusi dilakukan dengan cara menghitung
waktu eksekusi enkripsi, dekripsi, penyisipan, dan ekstraksi. Plainteks yang
diujikan menggunakan format .txt dan ukuran tiap plainteks dinaikkan kelipatan 5
KB. File Audio yang digunakan terdiri dari file musik mp3 bergenre akustik,
instrumen, pop, dan rock yang dibedakan berdasar ukuran kapasitas pesan yang
dapat ditampung oleh file mp3 dan dalam pengujian ini ditentukan dua cakupan
ukuran kapasitas pesan yang berbeda yaitu antara 10000 byte 35000 byte dan
50000 byte 75000 byte. Cakupan ukuran kapasitas yang berbeda ini digunakan
untuk menganalisis pengaruh kapasitas file audio terhadap waktu eksekusi. Hasil
pengujiannya dapat dlihat pada pada Tabel 4.4, Tabel 4.5, Tabel 4.6, Tabel 4.7,
Tabel 4.8, Tabel 4.9, Tabel 4.10, dan Tabel 4.11.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
58
Tabel 4.4 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3
Bergenre Akustik dengan Kapasitas Pesan 10000 byte 35000 byte
File Audio : Sabrina-Everything u want.mp3 [4.08 MB] Kapasitas pesan : 34773 byte
UKURAN (byte)
UKURAN (MB) WAKTU (detik) Kesesuaian Teks Hasil Ekstraksi
(%) Plainteks
Cipherteks
File MP3 Asli
File MP3 Stego
Enkripsi Dekripsi
Penyisipan
Ekstraksi
985 1091 4.08 4.08 0.0024 0.0027 29.069 7.131 100 5011 5798 4.08 4.08 0.0031 0.0031 31.924 9.442 100
10138 11500 4.08 4.08 0.0042 0.0038 34.598 16.649 100 15,310 17155 4.08 4.08 0.0053 0.0044 45.086 19.405 100
rata-rata 0.00375 0.0035 35.16925 13.15675
Tabel 4.5 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3
Bergenre Akustik dengan Kapasitas Pesan 50000byte-75000byte
File Audio : My immortal (acoustic).mp3 [4.12 MB] Kapasitas Pesan : 52158 byte
UKURAN (byte)
UKURAN (MB) WAKTU (detik) Kesesuaian Teks Hasil Ekstraksi
(%) Plainteks
Cipherteks
File MP3 Asli
File MP3 Stego
Enkripsi Dekripsi
Penyisipan
Ekstraksi
985 1091 4.12 4.12 0.0028 0.0029 36.333 1.8388 100 5011 5798 4.12 4.12 0.0031 0.0032 38.862 14.398 100
10138 11500 4.12 4.12 0.0039 0.0039 43.382 21.099 100 15,310 17155 4.12 4.12 0.0053 0.0058 47.162 24.327 100
rata-rata 0.003775 0.00395 41.43475 15.4157
Tabel 4.6 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3
Bergenre Instrumen dengan Kapasitas Pesan 10000 byte 35000 byte
File Audio : because tomorrow .mp3 [4.22 MB] Kapasitas Pesan : 34167 byte
UKURAN (byte)
UKURAN (MB) WAKTU (detik) Kesesuaian Teks Hasil Ekstraksi
(%) Plainteks
Cipherteks
File MP3 Asli
File MP3 Stego
Enkripsi Dekripsi
Penyisipan
Ekstraksi
985 1091 4.22 4.22 0.0029 0.0026 26.884 4.3372 100 5011 5798 4.22 4.22 0.0031 0.0031 28.815 7.0218 100
10138 11500 4.22 4.22 0.0037 0.0039 31.767 10.535 100 15,310 17155 4.22 4.22 0.0045 0.0041 34.612 13.959 100
rata-rata 0.00355 0.003425 30.5195 8.96325
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
59
Tabel 4.7 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3
Bergenre Instrumen dengan Kapasitas Pesan 50000 byte 75000 byte
File Audio : Love in the ice.mp3 [ 4.59 MB] Kapasitas Pesan : 73358 byte
UKURAN (byte)
UKURAN (MB) WAKTU (detik) Kesesuaian Teks Hasil Ekstraksi
(%) Plainteks
Cipherteks
File MP3 Asli
File MP3 Stego
Enkripsi Dekripsi
Penyisipan
Ekstraksi
985 1091 4.59 4.59 0.0025 0.0028 44.889 4.3424 100 5011 5798 4.59 4.59 0.0031 0.0032 45.786 7.2673 100
10138 11500 4.59 4.59 0.0037 0.0037 49.557 10.924 100 15,310 17155 4.59 4.59 0.0042 0.0043 59.071 14.549 100
rata-rata 0.003375 0.0035 49.82575 9.270675
Tabel 4.8 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3
Bergenre Pop dengan Kapasitas Pesan 10000 byte 35000 byte
File Audio : Saat kau pergi.mp3 [4.47 MB] Kapasitas Pesan : 19653 byte
UKURAN (byte)
UKURAN (MB) WAKTU (detik) Kesesuaian Teks Hasil Ekstraksi
(%) Plainteks
Cipherteks
File MP3 Asli
File MP3 Stego
Enkripsi Dekripsi
Penyisipan
Ekstraksi
985 1091 4.47 4.47 0.0017 0.0028 24.432 14.211 100 5011 5798 4.47 4.47 0.0028 0.0031 38.022 17.621 100
10138 11500 4.47 4.47 0.0034 0.0036 44.251 20.518 100 15,310 17155 4.47 4.47 0.0042 0.0046 55.332 22.192 100
rata-rata 0.003025 0.003525 40.50925 18.6355
Tabel 4.9 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3
Bergenre Pop dengan Kapasitas Pesan 50000 byte 75000 byte
File Audio : lelaki untukmu.mp3 [4.12 MB] Kapasitas Pesan : 57829 byte
UKURAN (byte)
UKURAN (MB) WAKTU (detik) Kesesuaian Teks Hasil Ekstraksi
(%) Plainteks
Cipherteks
File MP3 Asli
File MP3 Stego
Enkripsi Dekripsi
Penyisipan
Ekstraksi
985 1091 4.12 4.12 0.0017 0.0023 49.253 8.592 100 5011 5798 4.12 4.12 0.0023 0.0026 53.687 13.712 100
10138 11500 4.12 4.12 0.0031 0.0033 54.113 20.893 100 15,310 17155 4.12 4.12 0.0034 0.0036 69.641 23.411 100
rata-rata 0.002625 0.00295 56.6735 16.652
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
60
Tabel 4.10 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3
Bergenre Rock dengan Kapasitas Pesan 10000 byte 35000 byte
File Audio : A sing for absolution.mp3 [4.49 MB] Kapasitas Pesan : 20032 byte
UKURAN (byte)
UKURAN (MB) WAKTU (detik) Kesesuaian Teks Hasil Ekstraksi
(%) Plainteks
Cipherteks
File MP3 Asli
File MP3 Stego
Enkripsi Dekripsi
Penyisipan
Ekstraksi
985 1091 4.49 4.49 0.0019 0.0024 30.905 6.5157 100 5011 5798 4.49 4.49 0.0025 0.0028 35.752 9.6551 100
10138 11500 4.49 4.49 0.0031 0.0033 42.311 11.0191 100 15,310 17155 4.49 4.49 0.0036 0.0038 48.364 13.4592 100
rata-rata 0.002775 0.003075 39.333 10.16228
Tabel 4.11 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3
Bergenre Rock dengan Kapasitas Pesan 50000 byte 75000 byte
File Audio : Snow white queen [ 4.02 MB] Kapasitas Pesan: 58962 byte
UKURAN (byte)
UKURAN (MB) WAKTU (detik) Kesesuaian Teks Hasil Ekstraksi
(%) Plainteks
Cipherteks
File MP3 Asli
File MP3 Stego
Enkripsi Dekripsi
Penyisipan
Ekstraksi
985 1091 4.02 4.02 0.0025 0.0025 34.339 5.6954 100 5011 5798 4.02 4.02 0.0028 0.0026 45.688 15.866 100
10138 11500 4.02 4.02 0.0033 0.0031 47.846 18.744 100 15,310 17155 4.02 4.02 0.0037 0.0035 50.146 21.747 100
rata-rata 0.003075 0.002925 44.50475 15.5131
Pengujian pada Tabel 4.4, Tabel 4.5, Tabel 4.6, Tabel 4.7, Tabel 4.8, Tabel
4.9, Tabel 4.10, dan Tabel 4.11 mengenai waktu enkripsi, dekripsi, penyisipan,
dan ekstraksi dari proses kriptorafi dan steganografi. File MP3 Stego adalah file
audio yang telah mengalami proses steganografi. File mp3-stego tidak mengalami
perubahan ukuran dari file mp3 asli setelah disisipkan pesan teks dengan berbagai
macam ukuran. Untuk setiap plainteks yang dienkripsi, ukuran cipherteks yang
dihasilkan naik kurang lebih 1.13 kali lipat dari ukuran plainteks aslinya. Pada
saat proses ekstraksi dilakukan, pesan teks yang dihasilkan memiliki karakter
yang sama dengan pesan teks asli dengan prosentase 100%.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
61
Rata-rata Waktu Enkripsi, Dekripsi, Penyisipan, dan Ekstraksi
Berdasar Tabel 4.4, Tabel 4.5, Tabel 4.6, Tabel 4.7, Tabel 4.8, Tabel 4.9,
Tabel 4.10, dan Tabel 4.11 dapat dihitung rata-rata waktu eksekusi untuk tiap
plainteks yang diujikan. Hasilnya ditunjukkan pada Tabel 4.12, Tabel 4.13, Tabel
4.14, dan Tabel 4.15.
Tabel 4.12 Rata-rata Waktu Eksekusi Enkripsi, Dekripsi, Penyisipan, dan
Ekstraksi pada Plainteks 1 KB
UKURAN PLAINTEKS
WAKTU (detik)
Enkripsi Dekripsi Penyisipan Ekstraksi
1 KB
0.0024 0.0027 29.069 7.131 0.0028 0.0029 36.333 1.8388 0.0029 0.0026 26.884 4.3372 0.0025 0.0028 44.889 4.3424 0.0017 0.0028 24.432 14.211 0.0017 0.0023 49.253 8.592 0.0019 0.0024 30.905 6.5157 0.0025 0.0025 34.339 5.6954
Total 0.0184 0.021 276.104 52.6635 Rata-rata 0.0023 0.002625 34.513 6.5829375
Tabel 4.13 Rata-rata Waktu Eksekusi Enkripsi, Dekripsi, Penyisipan, dan
Ekstraksi pada Plainteks 5 KB
UKURAN PLAINTEKS
WAKTU (detik) Enkripsi Dekripsi Penyisipan Ekstraksi
5 KB
0.0031 0.0031 31.924 9.442 0.0031 0.0032 38.862 14.398 0.0031 0.0031 28.815 7.0218 0.0031 0.0032 45.786 7.2673 0.0028 0.0031 38.022 17.621
0.0023 0.0026 53.687 13.712 0.0025 0.0028 35.752 9.6551 0.0028 0.0026 45.688 15.866
Total 0.0228 0.0237 318.536 94.9832 Rata-rata 0.00285 0.0029625 39.817 11.8729
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
62
Tabel 4.14 Rata-rata Waktu Eksekusi Enkripsi, Dekripsi, Penyisipan, dan
Ekstraksi pada Plainteks 10 KB
UKURAN PLAINTEKS
WAKTU (detik) Enkripsi Dekripsi Penyisipan Ekstraksi
10 KB
0.0042 0.0038 34.598 16.649
0.0039 0.0039 43.382 21.099 0.0037 0.0039 31.767 10.535 0.0037 0.0037 49.557 10.924 0.0034 0.0036 44.251 20.518 0.0031 0.0033 54.113 20.893 0.0031 0.0033 42.311 11.0191 0.0033 0.0031 47.846 18.744
Total 0.0284 0.0286 347.825 130.3811 Rata-rata 0.00355 0.003575 43.478125 16.2976375
Tabel 4.15 Rata-rata Waktu Eksekusi Enkripsi, Dekripsi, Penyisipan, dan
Ekstraksi pada Plainteks 15 KB
UKURAN PLAINTEKS
WAKTU (detik) Enkripsi Dekripsi Penyisipan Ekstraksi
15 KB
0.0053 0.0044 45.086 19.405 0.0053 0.0058 47.162 24.327 0.0045 0.0041 34.612 13.959 0.0042 0.0043 59.071 14.549 0.0042 0.0046 55.332 22.192 0.0034 0.0036 69.641 23.411
0.0036 0.0038 48.364 13.4592 0.0037 0.0035 50.146 21.747
Total 0.0342 0.0341 409.414 153.0492 Rata-rata 0.004275 0.0042625 51.17675 19.13115
Berdasar Tabel 4.12, Tabel 4.13, Tabel 4.14, dan Tabel 4.15 dapat
dihitung rata-rata waktu eksekusi enkripsi, dekripsi, penyisipan, dan ekstraksi
untuk plainteks dengan kelipatan ukuran 5 KB yang dapat ditunjukkan pada Tabel
4.16.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
63
Tabel 4.16 Rata-rata Waktu Eksekusi Enkripsi, Dekripsi, Penyisipan, dan
Ekstraksi pada Plainteks dengan Kelipatan 5 KB
Ukuran Plainteks (KB)
WAKTU (detik) Enkripsi Dekripsi Penyisipan Ekstraksi
1 0.0023 0.0026 34.513 6.5829 5 0.0028 0.0029 39.817 11.872
10 0.0035 0.0035 43.478 16.2976 15 0.0042 0.0042 51.176 19.131
Keterangan pada Tabel 4.16 dapat digambarkan lebih jelas pada grafik yang
ditunjukkan pada Gambar 4.2, Gambar 4.3, Gambar 4.4, dan Gambar 4.5 berikut
ini :
Gambar 4.1 Grafik Rata-Rata Waktu Enkripsi Twofish
-0.001
2E-17
0.001
0.002
0.003
0.004
0.005
1 5 10 15Wak
tu E
nkrip
si T
wofi
sh (d
eぼk )
Ukuran Plainteks (KB)
Grafik Waktu Enkripsi Twofish
waktu enkripsi
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
64
Gambar 4.2 Grafik Rata-Rata Waktu Dekripsi Twofish
Gambar 4.3 Grafik Rata-Rata Waktu Penyisipan Cipherteks ke dalam File Audio
-0.001
1.1E-17
0.001
0.002
0.003
0.004
0.005
1 5 10 15Wak
tu D
ekri
psi T
wofi
sh (d
eぼk )
Ukuran Plainteks (KB)
Grafik Waktu Dekripsi Twofish
waktu dekripsi
0
10
20
30
40
50
60
1 5 10 15
Wak
tu P
enyi
sipa
n (d
eぼk )
Ukuran Plainteks (KB)
Waktu Penyisipan Chipertext ke Dalam Media Audio
waktu penyisipan
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
65
Gambar 4.4 Grafik Rata-Rata Waktu Ekstraksi Cipherteks dari Stego Object
Gambar 4.1, Gambar 4.2, Gambar 4.3, dan Gambar 4.4 menjelaskan
bahwa rata-rata waktu eksekusi untuk enkripsi, dekripsi, penyisipan, dan ekstraksi
mengalami kenaikan secara linear. Berdasar grafik fungsi tersebut, dapat
disimpulkan bahwa semakin besar ukuran plainteks semakin lama pula waktu
eksekusinya.
Berdasar hasil Tabel 4.16 dapat dilihat rata-rata kenaikan waktu eksekusi
untuk enkripsi, dekripsi, penyisipan, dan ekstraksi yang ditunjukkan pada Tabel
4.17.
Tabel 4.17 Kenaikan Waktu Eksekusi Untuk Enkripsi, Dekripsi, Penyisipan, Dan
Ekstraksi Pada Plainteks Dengan Kelipatan 5 KB
Ukuran Plainteks (KB)
WAKTU (detik)Enkripsi Dekripsi Penyisipan Ekstraksi
1 - 5 1.21 1.13 1.15 1.81 5 - 10 1.25 1.12 1.1 1.37 10 - 15 1.23 1.23 1.16 1.17
Rata-rata 1.23 1.16 1.13 1.45
Tabel 4.17 menunjukkan bahwa rata-rata waktu enkripsi naik kurang lebih 1.23
kali lipat dari waktu enkripsi sebelumnya. Rata-rata waktu dekripsi naik kurang
lebih 1.16 kali lipat dari waktu dekripsi sebelumnya. Rata-rata waktu penyisipan
0
5
10
15
20
25
1 5 10 15
Wak
tu E
kstr
aksi
(deぼ
k )
Ukuran Plaintext (KB)
Grafik Waktu Ekstraksi Chipertext dari Stego Object
waktu ekstraksi
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
cipherteks ke dalam file audio naik kurang lebih 1.13 kali dari waktu penyisipan
sebelumnya. Rata-rata waktu ekstraksi dari file mp3 stego naik kurang lebih 1.45
kali dari waktu sebelumnya.
Berdasar Tabel 4.4, Tabel 4.5, Tabel 4.6, Tabel 4.7, Tabel 4.8, Tabel 4.9,
Tabel 4.10, dan Tabel 4.11 dapat dihitung rata-rata keseluruhan waktu eksekusi
penyisipan dan ekstrkasi yang dibedakan berdasar genre tiap-tiap file mp3, seperti
yang ditunjukkan pada Tabel 4.18.
Tabel 4.18 Rata-Rata Keseluruhan Waktu Eksekusi Berdasar Genre File mp3
GENRE Penyisipan (detik)
Ekstraksi (detik)
Rata-rata Waktu Penyisipan (detik)
Rata-rata Waktu Ekstraksi (detik )
Akustik 38.169 13.156 41.3 14.3 44.434 15.415
Instrumen 30.514 8.963 40.2 9.1 49.825 9.270
Pop 40.509 18.635 48.5 17.6 56.673 16.652
Rock 39.333 10.162 41.9 12.8 44.504 15.513
Keterangan pada Tabel 4.18 dapat dijelaskan secara terperinci pada
Gambar 4.6.
Gambar 4.6 Grafik Keseluruhan Waktu Eksekusi Berdasar Genre File Audio
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
67
Tabel 4.18 mengenai rata-rata kseluruhan waktu eksekusi yang dibedakan
berdasar genre file mp3. Gambar 4.6 menunjukkan rata-rata waktu eksekusi
penyisipan dan ekstraksi tercepat berturut-turut dicapai oleh genre instrumen
dengan waktu penyisipan sebesar 40.2 detik dan waktu ekstraksi sebesar 9.1 detik,
diikuti genre akustik, rock, dan kemudian genre pop.
Kecepatan waktu eksekusi penyisipan dan ekstraksi tergantung pada besar
ukuran frame file audio, setiap file audio mempunyai ukuran frame yang berbeda.
Proses penyisipan pesan ke dalam file audio terlebih dahulu membaca
keseluruhan file audio, jika dalam suatu file audio mempunyai ukuran frame yang
besar (jumlah frame yang dimilikinya sedikit) maka waktu penyisipan lebih cepat
dibandingkan dengan file audio yang mempunyai ukuran frame yang kecil
(jumlah frame yang dimilikinya banyak) dikarenakan dengan jumlah frame yang
sedikit menyebabkan perulangan untuk membaca frame-frame tersebut relatif
cepat.
4.2.3 Pengujian Kualitas Suara Audio
Pengujian kualitas suara file audio dilakukan dengan menghitung nilai
PSNR (Peak Signal To Ratio). Pengukuran kekuatan sinyal audio menggunakan
alat berupa Sound Level Meter Extech tipe 407736. Hasil pengukuran kekuatan
sinyal file audio ditunjukkan pada Tabel 4.19.
Tabel 4.19 Tabel Pengujian Kekuatan Sinyal File Audio Steganografi pada
Plainteks Kelipatan 5 KB
Nama File MP3 Kekuatan Sinyal (dB) Audio Sebelum Audio Sesudah disisipi Pesan
Berukuran 1 KB 5 KB 10 KB 15 KB
everything you want.mp3 55.21 54.87 55.78 54.71 54.65 my immortal.mp3 51.35 51.72 50.85 52.08 50.88 because tomorrow.mp3 48.76 48.42 48.38 48.44 48.26 love in the ice.mp3 49.52 49.23 49.93 48.56 48.47 saat kau pergi.mp3 64.05 64.34 63.69 64.54 63.68 lelaki untukmu.mp3 67.76 67.48 67.12 66.99 66.76 a sing for absolution.mp3 64.37 64.03 63.88 63.91 63.58 snow white queen.mp3 68.52 68.05 69.34 67.53 67.35
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
68
Berdasar pengukuran kekuatan sinyal file audio pada Tabel 4.19 dapat
diukur nilai PSNR dari masing-masing file audio yang telah disisipi pesan dengan
rumus yang sudah diuraikan pada bab sebelumnya. Diketahui file audio ber-genre
akustik everything you want.mp3, dengan kekuatan sinyal file audio asli (P0 =
55.21 dB) dan file audio setelah disisipi pesan teks 1 KB (P1 = 54.87 dB ).
Rumus menghitung nilai PSNR :
Contoh perhitungan nilai PSNR untuk file audio everything you want.mp3
yang telah disisipi pesan berukuran 1 KB menghasilkan nilai sebesar 44.15 dB.
Hasil pengukuran kualitas suara file audio keseluruhan yang telah disisipi pesan
dapat ditunjukkan pada Tabel 4.20.
Tabel 4.20 Tabel Pengujian Kualitas Suara File Audio Steganografi Pada
Plainteks Kelipatan 5 KB
Nama File MP3 PSNR (dB) Audio Sesudah Disisipi Pesan Berukuran 1 KB 5 KB 10 KB 15 KB
everything you want.mp3 44.15 39.81 40.78 39.78 my immortal.mp3 42.90 40.14 37.06 40.68 because tomorrow.mp3 43.07 42.09 43.60 39.69 love in the ice.mp3 44.59 41.71 34.08 33.28 saat kau pergi.mp3 46.92 44.95 42.39 44.71 lelaki untukmu.mp3 47.64 40.41 38.79 36.49 a sing for absolution.mp3 45.49 42.30 42.85 38.11 snow white queen.mp3 43.21 38.54 36.67 35.20
Rata-rata 44.74 41.24 39.52 38.49
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
69
File mp3 asli merupakan file audio sebelum disisipi dan file mp3 stego
merupakan file mp3 setelah disisipi pesan teks. Pengujian pada Tabel 4.20
menunjukkan kualitas suara file audio yang telah mengalami proses steganografi.
Jika nilai Peak Signal To Ratio (PSNR) berada antara 30 dB 50 dB maka file
audio tersebut mempunyai kualitas suara yang baik. Hasil pengujian menunjukkan
bahwa file mp3 stego memiliki nilai PSNR antara 30 dB - 50 dB. Dapat
disimpulkan bahwa file mp3 stego mempuyai kualitas suara yang baik.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
70
BAB V
PENUTUP
5.1. Kesimpulan
Berdasar hasil implementasi dan pengujian yang telah dilakukan, dapat ditarik
kesimpulan sebagai berikut :
a. Penerapan steganografi pada file audio mp3 dengan metode Least Significant
Bit (LSB) terhadap pesan terenkripsi dengan algoritma Twofish berhasil
dilakukan.
b. Kapasitas pesan yang mampu ditampung file mp3 dipengaruhi oleh
banyaknya byte homogen. Semakin banyak byte homogen suatu file mp3
maka kapasitas pesan yang mampu ditampung file mp3 juga semakin besar.
Kapasitas terbesar dimiliki oleh genre musik instrumen.
c. Rata-rata waktu eksekusi penyisipan dan ekstraksi tercepat berturut-turut
dicapai oleh genre musik instrumen, akustik, rock, dan pop. Genre musik
instrumen mempunyai rata-rata waktu penyisipan dan ekstraksi masing-
masing sebesar 40.2 detik dan 9.1 detik. Diikuti genre akustik dengan 41.3
detik dan 14.3 detik, genre rock dengan 41.9 detik dan 12.8 detik, serta genre
pop dengan 48.6 detik dan 17.6 detik.
d. Genre musik instrumen mempunyai kapasitas pesan terbesar dan waktu
eksekusi tercepat.
e. Rata-rata waktu eksekusi untuk enkripsi, dekripsi, penyisipan dan ekstraksi
mengalami kenaikan secara linear.
f. Pesan teks hasil ekstraksi file audio stego memiliki kesesuaian terhadap isi
pesan teks asli mencapai 100%.
g. File mp3 stego mempunyai nilai PSNR berkisar antara nilai 30 dB 50 dB
yang berarti mempunyai kualitas suara yang baik
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
71
5.2. Saran
Untuk pengembangan lebih lanjut, saran yang dapat diberikan yaitu pengujian
dilakukan dengan menggunakan data sample yang berbeda. Pesan teks tidak terbatas
pada format .txt saja atau file pesan dapat berupa image, serta media digital sebagai
audio cover dapat menggunakan media berformat wav, midi, ataupun acc.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user