Studi dan Implementasi Steganografi pada Video Digital di Mobile Phone dengan DCT Modification
LAPORAN TUGAS AKHIR
Disusun sebagai syarat kelulusan tingkat sarjana
oleh : Paul Gunawan Hariyanto / 13504023
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2008
LEMBAR PENGESAHAN Program Studi Sarjana Teknik Informatika Studi dan Implementasi Steganografi pada Video Digital di Mobile Phone dengan Metode DCT Modification
Tugas Akhir Program Studi Sarjana Teknik Informatika ITB
Oleh Paul Gunawan Hariyanto / 13504023
Telah disetujui dan disahkan sebagai laporan Tugas Akhir di Bandung, pada tanggal 24 Juni 2008
Pembimbing
Ir. Rinaldi Munir, M.T. 132 084 796
ii
RINGKASAN Keamanan dalam pengiriman informasi merupakan salah satu faktor penting yang harus dijaga, apabila isi dari informasi tersebut tidak boleh diketahui oleh pihak luar. Salah satu teknik yang dapat dipakai untuk menangani hal tersebut adalah steganografi. Steganografi merupakan ilmu dan seni yang mempelajari cara penyembunyian informasi rahasia ke dalam suatu media sedemikian sehingga manusia tidak dapat menyadari keberadaan pesan tersebut. Pada Tugas Akhir ini, dilakukan studi mengenai bagaimana steganografi pada media video digital. Video yang digunakan memiliki format 3GP dan codec H.263, maka dilakukan juga studi terhadap bagaimana representasi video dan codec ini terlebih dahulu. Kemudian dilakukan juga implementasi terhadap hasil studi beserta analisis yang telah dikerjakan. Perangkat lunak yang dikembangkan pada Tugas Akhir bernama XGP, dan memiliki fungsi utama untuk melakukan steganografi pada media video 3GP. Metode yang digunakan adalah DCT Modification, yaitu melakukan perubahan terhadap koefisien DCT pada video sesuai dengan pesan masukan. Perangkat lunak ini dibangun pada perangkat mobile phone yang mendukung aplikasi Java dengan konfigurasi CLDC 1.1 dan MIDP 2.0. Kakas pembangun yang digunakan adalah Java 2 Micro Edition, dengan IDE NetBeans, dan emulator Sun Java Wireless Toolkit. Perangkat lunak XGP telah dikembangkan dengan baik, dan dapat menjalankan semua fungsinya dengan benar. XGP dapat melakukan penyisipan pesan ke dalam video 3GP, dan dapat mengekstraksi pesan tersebut dengan kunci yang sama. Pengujian telah dilakukan baik pada emulator maupun perangkat mobile phone. Kata kunci: steganografi, DCT, video 3GP, mobile phone
iii
KATA PENGANTAR Puji syukur penulis panjatkan kepada Tuhan Yang Maha Kuasa, yang telah menganugerahkan rahmat-Nya sehingga Tugas Akhir ini dapat dilaksanakan dengan sebaik-baiknya. Penulisan laporan ini ditujukan untuk memberi gambaran tentang pelaksanaan Tugas Akhir.
Atas terselesaikannya laporan ini, penulis tidak lupa untuk mengucapkan terima kasih kepada pihak-pihak yang telah membantu, antara lain: 1. Bapak Dr. Ing. M. Sukrisno Mardiyanto selaku Kepala Program Studi Teknik Informatika ITB. 2. Bapak Ir. Rinaldi Munir, M.T., selaku pembimbing Tugas Akhir. 3. Ibu Dra. Harlili, M.Sc., selaku penguji Tugas Akhir. 4. Ibu Dr. Eng. Ayu Purwarianti, S.T., M.T., selaku penguji Sidang Tugas Akhir. 5. Ibu Dra. Christine Suryadi, M.T., selaku Dosen Wali sekaligus Koordinator Tugas Akhir. 6. Ibu Dr. Ir. M.M. Inggriani Liem, dan Bapak Riza Satria Perdana, S.T., M.T., selaku Dosen Tetap di Lab Programming. 7. Bapak Rasidi, Bapak Ade, dan Ibu Titi, selaku pegawai tata usaha program studi Teknik Informatika ITB. 8. Arya, Herianto, Tara, Anne, selaku teman seperjuangan di topik steganografi. 9. Fitri, Anggriawan, Nicolas, Jimmy, Roberto, Bayu, Ahmy, Indra, Shieny, Primanio, Hanson, Andrew, Hengky, Iqbal, selaku sesama asisten di Lab Programming. 10. Tania, Catherine, Abigael, Shanny, Heryanto, Dendy, selaku teman dekat penulis. 11. Ade Gunawan, Joe Siagian, Herry Winandi, Krisna, Mike, selaku penghuni dan mantan penghuni Taman Hewan 19. 12. Teman-teman di Teknik Informatika ITB, atas dukungannya selama proses pelaksanaan Tugas Akhir berlangsung. 13. Keluarga penulis, atas segala pendidikan, pengorbanan, dan segala restu serta kasihnya. 14. Dan semua pihak lainnya yang tidak dapat saya sebutkan satu persatu. iv
Penulis berharap supaya laporan ini dapat memberikan manfaat yang berguna untuk para pembacanya. Penulis sadar bahwa laporan ini jauh dari sempurna, maka dari itu penulis sangat terbuka untuk saran dan kritiknya.
Bandung, Juni 2008
Penulis
v
DAFTAR ISI Lembar Pengesahan.....................................................................................................ii RINGKASAN ............................................................................................................. iii KATA PENGANTAR ................................................................................................. iv DAFTAR ISI................................................................................................................ vi DAFTAR GAMBAR ................................................................................................ viii DAFTAR TABEL ....................................................................................................... ix DAFTAR ISTILAH ..................................................................................................... x BAB I PENDAHULUAN .......................................................................................... I-1 1.1 1.2 1.3 1.4 1.5 1.6
Latar Belakang ........................................................................................................ I-1 Rumusan Masalah ................................................................................................... I-3 Tujuan ..................................................................................................................... I-3 Batasan Masalah ..................................................................................................... I-4 Metodologi .............................................................................................................. I-4 Sistematika Pembahasan ......................................................................................... I-5
BAB II DASAR TEORI.......................................................................................... II-1 2.1
Video...................................................................................................................... II-1
2.1.1 2.1.2 2.1.3 2.1.4 2.1.5
2.2 2.3
Pengukuran Kualitas Video .................................................................................. II-10 Steganografi ......................................................................................................... II-14
2.3.1 2.3.2 2.3.3
2.4
Metode Video Scan ................................................................................................... II-1 Sinyal Video .............................................................................................................. II-2 Format Video Digital ................................................................................................. II-6 Multimedia Container................................................................................................ II-7 Color Space ............................................................................................................... II-8
Least Significant Bit Insertion .................................................................................. II-16 Masking and Filtering ............................................................................................. II-17 Transformations ...................................................................................................... II-18
Pembangkitan Bilangan Acak .............................................................................. II-19
BAB III ANALISIS MASALAH .......................................................................... III-1 3.1
Penyisipan Pesan Pada Video................................................................................III-1
3.1.1 3.1.2
3.2 3.3 3.4 3.5
Jenis Koefisien DCT ................................................................................................. III-3 Ukuran Maksimum Pesan ......................................................................................... III-7
Ekstraksi Pesan Pada Video ..................................................................................III-8 Penggunaan Kunci ................................................................................................III-9 Pengukuran Kualitas Video ................................................................................. III-10 Implementasi Pada Mobile Phone ....................................................................... III-11
BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK ........... IV-1 4.1
Analisis Perangkat Lunak..................................................................................... IV-1
4.1.1 4.1.2 4.1.3 4.1.4 4.1.5
4.2
Deskripsi Umum Sistem .......................................................................................... IV-1 Arsitektur Perangkat Lunak ..................................................................................... IV-2 Kebutuhan Perangkat Lunak .................................................................................... IV-3 Diagram Use Case ................................................................................................... IV-3 Analisis Kelas.......................................................................................................... IV-5
Perancangan Perangkat Lunak ............................................................................. IV-8
4.2.1 4.2.2
Perancangan Antarmuka .......................................................................................... IV-8 Perancangan Kelas .................................................................................................IV-10
BAB V IMPLEMENTASI DAN PENGUJIAN .....................................................V-1 5.1
Implementasi .......................................................................................................... V-1
vi
5.1.1 5.1.2 5.1.3 5.1.4
5.2
Lingkungan Implementasi ......................................................................................... V-1 Implementasi Kelas ................................................................................................... V-1 Batasan Implementasi ................................................................................................ V-3 Implementasi Antarmuka ........................................................................................... V-3
Pengujian Perangkat Lunak .................................................................................... V-4
5.2.1 5.2.2 5.2.3 5.2.4 5.2.5
Lingkungan Pengujian ............................................................................................... V-4 Tujuan Pengujian....................................................................................................... V-4 Data Uji ..................................................................................................................... V-4 Kasus Uji................................................................................................................... V-5 Hasil Pengujian dan Evaluasi ..................................................................................... V-6
BAB VI PENUTUP ................................................................................................ VI-1 6.1 6.2
Kesimpulan .......................................................................................................... VI-1 Saran .................................................................................................................... VI-2
DAFTAR REFERENSI .............................................................................................. xi DAFTAR PUSTAKA ............................................................................................... xiii LAMPIRAN A Video 3GP ...................................................................................A-1 LAMPIRAN B Video Codec H.263 ...................................................................... B-1 LAMPIRAN C Kelas Perancangan .....................................................................C-1 LAMPIRAN D Frame Video Hasil Pengujian ....................................................D-1
vii
DAFTAR GAMBAR Gambar II–1 Contoh tampilan frame dengan metode progressive dan interlace .................. II-2 Gambar II–2 Alur DCT dan IDCT ....................................................................................... II-4 Gambar II–3 Contoh proses kuantisasi dan dekuantisasi ...................................................... II-5 Gambar II–4 Urutan zig-zag pada entropy coding ................................................................ II-6 Gambar II–5 Diagram sistem pengukuran SSIM ................................................................ II-11 Gambar II–6 Proses penyisipan pesan ................................................................................ II-14 Gambar II–7 Proses ekstraksi pesan ................................................................................... II-14 Gambar II–8 Proses penyisipan pesan memakai kunci ....................................................... II-15 Gambar II–9 Proses ekstraksi pesan memakai kunci .......................................................... II-16 Gambar II–10 Penyisipan data menggunakan LSB Insertion .............................................. II-16 Gambar II–11 Contoh gambar dengan watermark.............................................................. II-17 Gambar II–12 Contoh proses penyisipan pada koefisien DCT ........................................... II-18 Gambar III–1 Sistem penyisipan pesan ...............................................................................III-1 Gambar III–2 Frame pada video H.263 ...............................................................................III-2 Gambar III–3 Contoh hasil penyisipan pada koefisien DC ..................................................III-3 Gambar III–4 Contoh hasil penyisipan pada koefisien AC ..................................................III-5 Gambar III–5 Hasil penyisipan pada 1, 2, dan 3 LSB ..........................................................III-8 Gambar III–6 Sistem ekstraksi pesan ..................................................................................III-9 Gambar III–7 Contoh pengacakan dan pengurutan pesan .................................................. III-10 Gambar IV–1 Deskripsi umum sistem ................................................................................ IV-1 Gambar IV–2 Arsitektur XGP ............................................................................................ IV-2 Gambar IV–3 Diagram use case ......................................................................................... IV-3 Gambar IV–4 Kelas analisis pada penyisipan pesan ........................................................... IV-5 Gambar IV–5 Kelas analisis pada ekstraksi pesan .............................................................. IV-7 Gambar IV–6 Kelas analisis keseluruhan ........................................................................... IV-7 Gambar IV–7 Antarmuka menu utama ............................................................................... IV-8 Gambar IV–8 Antarmuka modul 'Embed' .......................................................................... IV-9 Gambar IV–9 Antarmuka modul 'Extract' ........................................................................ IV-10 Gambar IV–10 Diagram kelas perancangan ..................................................................... IV-11 Gambar V–1 Pesan dengan header ....................................................................................... V-2
viii
DAFTAR TABEL Tabel III-1 Contoh perubahan pada INTRA-DC .................................................................III-4 Tabel III-2 Contoh perubahan VLC pada TCOEF ...............................................................III-6 Tabel III-3 Contoh perubahan LEVEL pada TCOEF ..........................................................III-6 Tabel III-4 Kapasitas maksimum pesan pada satu I-frame ..................................................III-7 Tabel IV-1 Narasi use case ................................................................................................. IV-4 Tabel IV-2 Daftar kelas perancangan ............................................................................... IV-11 Tabel V-1 Hasil Pengujian Kasus Uji 1 ................................................................................ V-6 Tabel V-2 Hasil Pengujian Kasus Uji 2 (Penyisipan) ........................................................... V-7 Tabel V-3 Hasil Pengujian Kasus Uji 2 (Ekstraksi) .............................................................. V-7 Tabel V-4 Hasil Pengujian Kasus Uji 3 ................................................................................ V-8 Tabel V-5 Hasil Pengujian Kasus Uji 4 .............................................................................. V-10
ix
DAFTAR ISTILAH Box
Sebuah blok pada ISO base media file format, yang terdefinisi berdasarkan tipe pada header-nya.
Chunk
Sekumpulan sample terurut pada satu track.
Chrominance
Pembawa informasi warna pada gambar.
CIF
Common Intermediate Format; sebuah resolusi standar, dan memiliki beberapa varian. QCIF (Quarter CIF) memiliki resolusi 176 x 144 pixel, dan Sub-QCIF beresolusi 128 x 96 pixel.
FLC
Fixed-Length Code; sekumpulan bit dengan panjang tetap yang dipakai untuk memetakan terhadap kode lain, dipakai untuk memampatkan data.
Koefisien AC
Pada matriks frekuensi, menunjuk kepada frekuensi yang lebih tinggi daripada koefisien DC.
Koefisien DC
Pada matriks frekuensi, menunjuk kepada frekuensi yang paling rendah, terletak pada sudut kiri atas matriks.
Luminance
Pembawa informasi tingkat kecerahan (brightness) pada gambar.
Sample
Sebuah frame pada video.
Track
Gabungan dari semua sample yang berhubungan.
VLC
Variable-Length Code; sekumpulan bit dengan panjang bervariasi yang dipakai untuk memetakan terhadap kode lain, dipakai untuk memampatkan data.
x