VIDEO MPEG
SKRIPSI
Diajukan Oleh :
DONY RAHMAWAN 0736010020
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR
Syukur Alhamdulillaahi rabbil ‘alamin terucap ke hadirat Allah SWT atas segala limpahan Kekuatan-Nya sehingga dengan segala keterbatasan waktu, tenaga, pikiran dan keberuntungan yang dimiliki penyusun, akhirnya penyusun dapat menyelesaikan Skripsi yang berjudul “Perancangan dan implementasi algoritma VEA (Video Encryption Algorithm) untuk keamanan data pada video MPEG” tepat pada waktunya.
Skripsi dengan bobot 4 SKS ini disusun guna diajukan sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada program studi Teknik Informatika, Fakultas Teknologi Industri, UPN ”VETERAN” Jawa Timur.
Melalui Skripsi ini penyusun merasa mendapatkan kesempatan emas untuk memperdalam ilmu pengetahuan yang diperoleh selama di bangku perkuliahan, terutama berkenaan tentang penerapan teknologi perangkat lunak (Software). Namun, penyusun menyadari bahwa Skripsi ini masih jauh dari sempurna. Oleh karena itu penyusun sangat mengharapkan saran dan kritik dari para pembaca untuk pengembangan aplikasi lebih lanjut.
mendapat banyak bantuan dan dukungan dari berbagai pihak, dan tanpa menghilangkan rasa hormat,, penyusun mengucapan terima kasih kepada:
1. Prof. Dr. Ir. Teguh Soedarto, MP selaku Rektor UPN “Veteran” Jawa Timur.
2. Ir. Sutiyono, MT selaku Dekan Fakultas Teknologi Industri UPN “Veteran” Jawa Timur.
3. Basuki Rahmat,S.Si,MT selaku Kepala Jurusan Teknik Informatika UPN “Veteran” Jawa Timur, dosen wali sekaligus dosen pembimbing I yang telah banyak meluangkan waktu untuk memberikan arahan dan ilmu.
4. Agus Hermanto S.Kom selaku dosen pembimbing II yang telah banyak memberikan bimbingan sampai Tugas Akhir ini terselesaikan.
5. Bapak dan ibu tercinta yang telah memberikan do’a dan dorongan baik moril
maupun spiritual. Aries Dwi Irawan S.Kom yang selalu memberikan do’a dan semangat sampai terselesainya Tugas Akhir ini.
6. Teman-teman kuliah khususnya anak-anak Ilmu Komputer angkatan 2007
deddy, faris, borud, fathi, toni, taufik, alan, teman-teman teknik informatika dan system informasi yang tidak bisa saya sebutkan satu persatu. Terima kasih semua atas persahabatan yang begitu indah selama kuliah. N sukses buat kalian semuanya….
Hal.
1.6 MetodologiPembuatan Tugas Akhir... 5
1.7 Sistematika Penulisan... 6
2.3.4 Format video……….. 2.4 Proses digitalisasi gambar bergerak……….. 2.5 Sistem warna video………...
BAB III ANALISIS DAN PERANCANGAN……….. 33
5.1.2 output proses enkripsi ………. 59
5.2 Uji coba proses dekripsi ………..……….... 65
5.2.1 uji coba dekripsi menggunakan VEA ……… 65
5.2.2 output proses dekripsi ……… 69
5.3 Analisis dan ujicoba ………. 73
5.4 Analisis pembangkitan kunci ……….. 74
5.5 Perbandingan waktu proses dan panjang byte ……… 75
5.6 Evaluasi ……….. 76
BAB VI PENUTUP ………... 77
6.1. Kesimpulan... 77
6.2. Saran... 78
LAMPIRAN……… 79
No. Hal.
2.1 Urutan proses kriptografi ……… 09
2.2 Hubungan antara kriptologi, kriptografi dan kriptanalisis……….. 14
2.3 Skema kriptografi simetri ……… 15
2.4 Skema kriptografi asimetri ………... 16
2.5 Skema algoritma VEA ………. 18
2.6 Proses sampling gambar bergerak ……….. 24
2.7 Kubus warna RGB ………. 24
2.8 Start page netbeans 6.8 ……….. 30
2.9 lembar kerja netbeans 6.8 ……… 32
3.1 Skema global proses enkripsi……… 34
5.9 Percobaan ke-9 ……… 63
5.10 Percobaan ke-10 ……… 63
5.11 Percobaan ke-11 ……… 64
5.12 Percobaan ke-12 ……… 67
5.13 Percobaan ke-13 ……… 67
5.14 Percobaan ke-14 ………... 68
5.15 Percobaan ke-15 ………... 68
5.16 Percobaan ke-16 ……… 69
5.17 Percobaan ke-17 ……… 69
5.18 Percobaan ke-18 ……… 70
5.19 Percobaan ke-19 ……… 70
5.20 Percobaan ke-20 ……… 71
5.21 Percobaan ke-21 ……… 71
No. Hal.
2.1 Tabel diagram kolom warna ………... 26 3.1 Tabel file header mpeg………..
5.1 Tabel Data Uji Coba proses enkripsi ……….
ABSTRAK
Keamanan data multimedia sangat penting dalam akhir-akhir ini. Perkembangan awal kriptografi dipusatkan pada data berbentuk tulisan. Algoritma yang digunakan untuk itu mungkin tidak sesuai untuk file multimedia yang mempunyai ukuran yang besar. Untuk itu diperlukannya algoritma lain yang ringan dan aman. Proses enkripsi pada video akan menghasilkan video dengan gambar yang acak. Sebaliknya, proses dekripsi akan mengembalikan video terenkripsi kembali menjadi video asli. Keyword yang digunakan pada proses enkripsi dan dekripsi ini harus sama, jika tidak proses dekripsi tidak akan mengembalikan video yang aslinya.
Algoritma VEA umum digunakan untuk keperluan enkripsi video karena kemudahannya dalam implementasi, terutama karena algoritma ini mengenkripsi video bit per bit. Model enkripsi dan dekripsi pada video MPEG ini dibangun dengan menggunakan bahasa pemrograman Java dan netbeans 6.8.
Dengan adanya permasalahan diatas maka dalam Skripsi ini dibuat sebuah perancangan menggunakan algoritma VEA (Video Encryption Algorithm) untuk diimplementasikan pada video MPEG. Dengan memenuhi standart kriptografi dan keamanan data.
BAB I
PENDAHULUAN
Dalam bab ini dijelaskan beberapa hal dasar yang meliputi latar belakang,
rumusan masalah, batasan masalah, tujuan, manfaat, metodologi skripsi serta
sistematika penulisan skripsi. Dari uraian tersebut diharapkan, gambaran umum
permasalahan dan pemecahan yang diambil dapat dipahami dengan baik.
1.1Latar Belakang Masalah
Masalah keamanan dan kerahasiaan merupakan salah satu
aspek penting dari suatu data, pesan dan informasi. Pengiriman suatu
pesan, data dan informasi yang sangat penting membutuhkan tingkat
keamanan yang tinggi. Dengan perkembangan teknologi informasi
sekarang ini yang begitu pesat, di mana setiap orang akan mudah untuk
mendapatkan suatu pesan, data dan informasi. Berbagai cara dilakukan
orang untuk mendapatkan data dan informasi tersebut. Mulai dari
tingkatan yang mudah sampai kepada cara-cara yang lebih rumit. Dan
berbagai cara pula orang berusaha untuk melindungi pesan tersebut agar
tidak dapat diketahui oleh orang yang tidak memiliki hak atas pesan atau
Ilmu yang mempelajari tentang proses pengaman data adalah
kriptografi. Secara umum ada dua jenis kriptografi, yaitu kriptografi
klasik dan kriptografi modern. Kriptografi klasik adalah suatu algoritma
yang menggunakan satu kunci untuk mengamankan data. Dua teknik
dasar yang biasa digunakan adalah substitusi dan transposisi (permutasi).
Sedangkan kriptografi modern adalah algoritma yang lebih kompleks
daripada algoritma kriptografi klasik, hal ini disebabkan algoritma ini
menggunakan komputer. Algoritma yang akan penulis gunakan adalah
algoritma kriptografi modern.
Pada model enkripsi ini dipilih algoritma VEA (Video Encryption Algorithm) untuk diimplementasikan pada enkripsi file multimedia. Algoritma VEA tersebut digunakan karena dinilai ringan dan cocok
untuk diterapkan pada video yang pada umunya berukuran besar. Untuk
meningkatkan keamanan proses enkripsi, algoritma VEA yang ada
dimodifikasi dengan menambahkan algoritma kriptografi DES. Hal ini
mengakibatkan operasi yang dilakukan bukan lagi per bit, melainkan per
blok-blok slice dari gambar video
Dua hal yang dapat diperhatikan dari enkripsi data multimedia
adalah: pertama, ukuran data multimedia biasanya sangat besar.
Sebagai contoh, ukuran data dari video MPEG-1 berdurasi dua jam
kira-kira 1 GB. Kedua, data multimedia harus diproses real-time. Memproses
rumit akan memperberat kinerja komputer serta jaringannya, dan juga
tidak nyaman bagi orang yang menonton video tersebut secara real-time
karena hal tersebut dapat berpengaruh juga pada delay video yang sedang
ditontonnya. Untuk beberapa jenis aplikasi video komersil, seperti
program pay-per-view, informasi yang terdapat sangat banyak, tetapi nilai dari informasi tersebut sangat rendah.
1.2Rumusan masalah.
Berangkat dari latar belakang tersebut diatas maka dirumuskan permasalahan
dalam tugas akhir ini adalah sebagai berikut :
1. Bagaimana membuat system applikasi yang dapat melakukan enkripsi
dan dekripsi data pada video berformat MPEG ?
2. Bagaimana mengamankan dan merahasiakan berkas-berkas digital
yang dianggap tidak layak untuk diketahui public.
3. Bagaimana cara mengembalikan video yang sudah dienkripsi
menjadi video asli. Sehingga hasilnya bisa dilihat secara utuh oleh
user yang memiliki hak akses dan mengetahui kuncinya.
1.3Batasan masalah
Agar tidak terjadi kesalahan persepsi dan tidak meluasnya pokok
1. Applikasi ini dibuat dengan menggunakan bahasa pemrograman java
netbeans 6.8
2. Sistem hanya melakukan enkripsi dan dekripsi pada file video MPEG.
3. Dilakukannya proses dekripsi guna mengetahui video aslinya.
4. System akan menghasilkan file baru pada saat proses enkripsi dan dekripsi
5. Kunci dalam proses enkripsi dan dekripsi bisa berupa angka, huruf, serta
kombinasi angka dan huruf.
1.4Tujuan
Mengacu pada perumusuhan masalah diatas, tujuan yang hendak dicapai
dalam penyusunan tugas akhir ini adalah :
1. Menerapkan teknologi enkripsi pada berkas digital dengan metode VEA
(Video Encryption Algorithm) untuk keamanan data pada video berformat MPEG.
2. Mengamankan video atau berkas digital yang didalamnya mengandung
unsur pornografi, sara, teroris, dan kekerasan. sehingga tidak sampai
meluas ke masyarakat.
3. Melindungi hak cipta dan karya-karya digital dari pembajakan dan
pencurian oleh pihak yang tidak bertanggung jawab.
4. Merahasiakan video-video yang dianggap penting, seperti : video
dokumenter Negara, video perjuangan, dan video sejarah. Dengan
1.5Manfaat
Manfaat yang diperoleh dalam pembuatan aplikasi ini antara lain :
1. Dihasilkan suatu aplikasi yang dapat melakukan proses enkripsi
dan dekripsi dengan menggunakan metode VEA.
2. Dapat mengamankan data atau file video yang didalamnya terdapat
unsur pornografi, sara dan kekerasan. Sehingga tidak sampai
menyebar luas kemasyarakat.
1.6 Metodologi Pembuatan Tugas Akhir
Pembuatan Tugas Akhir ini terbagi menjadi beberapa tahapan sebagai
berikut :
1.Studi Literatur
Pada tahap ini dilakukan pengumpulan dokumen-dokumen referensi tentang
Kriptografi, keamanan data, algoritma VEA, proses enkripsi dan dekripsi, struktur komponen video.
2.Pembuatan program
Pada tahap ini dilakukan coding untuk membuat sebuah program sederhana untuk dapat melakukan proses enkripsi dan dekripsi pada MPEG. Sehingga
3.Analisa hasil
Program yang telah selesai akan dilakukan uji coba dan kemudian dilakukan
analisa terhadap hasil dari program tersebut.
4.Penyusunan Buku Tugas Akhir
Pada tahap terakhir ini disusun buku sebagai dokumentasi dari pelaksanaan
Tugas Akhir. Dokumentasi ini dibuat untuk memudahkan orang lain yang
ingin mengembangkan teknologi enkripsi dengan menerapakan metode
algoritma VEA (Video Encryption Algorithm).
1.7Sistematika Penulisan
Dalam laporan tugas akhir ini, pembahasan disajikan dalam enam bab dengan
sistematika pembahasan sebagai berikut:
BAB I PENDAHULUAN
Pada bab ini dikemukakan hal-hal yang menjadi latar belakang
masalah, perumusan masalah, pembatasan masalah, tujuan serta
keterangan mengenai sistematika penulisan.
BAB II LANDASAN TEORI
Pada bab ini dibahas teori yang mendukung pokok pembahasan
BAB III ANALISA & PERANCANGAN SISTEM
Pada bab ini akan dibahas mengenai identifikasi masalah, analisis
dan pemecahan masalah mengenai algoritma yang digunakan pada
proses enkripsi dan proses dekripsi file multimedia.
BAB IV IMPLEMENTASI SISTEM
Pada bab ini menjelaskan tentang implementasi system, berisi
langkah-langkah implementasi perancangan system dan hasil
implementasi system dengan tujuan yang telah diharapkan.
BAB V : UJI COBA
Pada bab ini akan dijelaskan mengenai analisa output baik dari proses enkripsi atau proses dekripsi menggunakan metode VEA
(Video Encryption Algorithm).
BAB VI PENUTUP
Pada bab ini dibahas mengenai kesimpulan dari perancangan dan
pembuatan tugas akhir ini terkait dengan tujuan dan permasalahan
yang ada, serta saran untuk pengembangan system dimasa
BAB II
LANDASAN TEORI
Pada bab ini akan dibahas beberapa teori dasar untuk menunjang penyelesaian
skripsi ini, yaitu beberapa pengertian umum, konsep, dan teori yang berhubungan
dengan perancangan dan implementasi algoritma VEA (Video Encyrption
Algorithm) antara lain: kriptografi, keamanan data, metode algoritma vea, struktur
dan komponen video, tolos pemrograman java netbeans 6.8.
2.1 Definisi Kriptografi
Kata kriptografi ini berasal dari bahasa Yunani. Dalam bahasa
Yunani kriptografi terdiri dari dua buah kata yaitu cryptos dan graphia.
Kata crypto berarti rahasia sedangkan graphia berarti tulisan. Berarti secara
umum makna dari kata kriptografi adalah tulisan rahasia. Dan arti
sebenarnya dari kriptografi adalah ilmu yang mempelajari tentang bagaimana
menjaga kerahasiaan suatu pesan, agar isi pesan yang disampaikan tersebut aman
sampai ke penerima pesan.
Secara umum, kriptografi merupakan teknik pengamanan informasi
yang dilakukan dengan cara mengolah informasi awal (plainteks) dengan
suatu kunci tertentu menggunakan suatu metode enkripsi tertentu sehingga
awal (plainteks) melalui proses deskripsi. Urutan proses kriptografi secara
umum dapat dilihat pada Gambar dibawah ini :
Plaintext ciphertext plaintext
Gambar 2.1 Urutan proses kriptografi.[3]
Urutan proses kriptografi diatas menunjukkan bahwa proses enkripsi dan
dekripsi ada karena terdapat plainteks yang dapat diinputkan oleh user dan
menghasilkan sebuah chiperteks. Adapun untuk proses dekripsi sebuah chiperteks
akan diproses lagi sehingga kembali akan menjadi plainteks.
2.1.1 Sejarah Kriptografi
Kriptografi mempunyai sejarah yang panjang dan menakjubkan.
Informasi yang lengkap mengenai sejarah kriptografi dapat ditemukan di
dalam buku David Kahn yang berjudul The Codebreakers. Buku yang
tebalnya 1000 halaman ini menulis secara rinci sejarah kriptografi, mulai dari
penggunaan kriptografi oleh Bangsa Mesir 4000 tahun yang lalu (berupa
hieroglyph pada piramid) hingga penggunaan kriptografi abad ke-20.
Sebagian besar sejarah kriptografi merupakan bagian dari kriptografi
klasik, yaitu metode kriptografi yang menggunakan kertas dan pensil atau
umum dikelompokkan menjadi dua kategori, yaitu algoritma transposisi
(transposition cipher) dan algoritma substitusi (substitution cipher). Algoritma
transposisi adalah algoritma yang mengubah susunan-susunan huruf di
dalam pesan, sedangkan algoritma substitusi yaitu mengganti setiap huruf
atau kelompok huruf dengan sebuah huruf atau kelompok huruf yang lain.
Kriptografi juga digunakan oleh para pecinta untuk berkomunikasi
tanpa diketahui oleh orang lain. Ini kebanyakan digunakan oleh masayarakat
India, hal ini terbukti dengan ditemukannya di dalam buku Kama Sutra yang
merekomendasikan wanita seharusnya mempelajari seni dengan memahami
cipher. Ratu Skotlandia, Queen Mary merupakan salah seorang korban pada
abad ke-17. Ratu tersebut dipancung setelah ditemukannya surat rahasianya
di balik penjara (surat yang terenkripsi berisi rencana pembunuhan terhadap
Ratu Elizabeth I) berhasil dipecahkan oleh seorang pemecah kode.
Pada abad ke-15, ditemukan kode roda (wheel cipher) oleh Leo
Battista Alberti. Kode ini terus dikembangkan menjadi alat enkripsi dan deskripsi
hingga saat ini. Metode ini dikembangkan pada awalnya oleh Thomas
Jefferson yang kemudian diberi nama roda kode Jefferson. Kemudian kode ini
kembangkan lagi oleh Bazeries yang diberi nama silinder Bazeries. Alat ini
lebih fleksibel, memungkinkan untuk dikembangkan secara terus menerus
untuk menghindari code breaking. Meskipun demikian metode ini dapat
dipecahkan oleh DeViaris pada tahun 1893. Meskipun demikian metode ini
Pada abad ke-20, kriptografi lebih banyak digunakan oleh kalangan militer.
Pada perang dunia ke II, Pemerintah Nazi Jerman membuat mesin enkripsi
yang dinamakan dengan Enigma. Mesin ini menggunakan beberapa buah
rotor (roda berputar), dan melakukan proses enkripsi yang sangat rumit.
Jerman percaya pesan akan dikirim melalui enigma tidak akan terpecahkan
kode enkripsinya. Tetapi anggapan Jerman tersebut salah, setelah
mempelajari mesin enigma bertahun-tahun, sekutu berhasil memecahkan
kode-kode tersebut. Setelah Jerman mengetahui kode-kode mereka telah
terpecahkan, kemudian enigma mengalami beberapa kali perubahan.[3]
2.1.2 Tujuan Kriptografi
Aspek-aspek keamanan di dalam kriptografi adalah :
1. Confidentiality (kerahasiaan)
Layanan yang ditujukan untuk menjaga pesan tidak dapat dibaca
oleh pihak-pihak yang tidak berhak.
2. Authentication (otentikasi)
Penerima pesan dapat memastikan keaslian pengirimnya. Penyerang tidak
dapat berpura-pura sebagai penerima ataupun pengirim pesan.
3. Integrity (data integritas)
Penerima harus dapat memeriksa apakah pesan telah dimodifikasi di
memasukkan tambahan ke dalam pesan, mengurangi atau mengubah pesan selama
data berada di perjalanan.
4. Nonrepudiation (penyangkalan)
Pengirim tidak dapat mengelak bahwa dia telah mengrim pesan, penerima
juga tidak dapat mengelak bahwa dia telah menerima pesan tersebut. Tujuan
kriptografi secara umum adalah mewujudkan keempat aspek keamanan
tersebut dalam teori dan praktek.[3]
2.1.3 Konsep Dasar Kriptografi
Dalam bidang kriptografi akan ditemukan beberapa istilah atau
terminologi. Isitilah-istilah tersebut sangat penting untuk diketahui dalam
memahami ilmu kriptografi. Oleh karena itu penulis akan menjelaskan
beberapa istilah penting dalam bidang kriptografi yang akan sering penulis
gunakan dalam tulisan penulis. Berikut merupakan istilah-istilah penting
tersebut.
a. Plainteks dan Cipherteks
Pesan merupakan data atau informasi yang dimengerti maknanya.
Nama lain dari pesan adalah plainteks. Pesan tersebut dapat dikirim
(melalui kurir, saluran telekomunikasi, dan lain-lain) dan dapat juga
disimpan dalam media penyimpanan (kertas, storage, dan lain-lain). Pesan dapat
berupa teks, video, gambar, dan lain-lain. Agar pesan tersebut tidak dapat
lain yang tidak dapat dipahami. Bentuk pesan yang telah tersandikan tersebut
dinamakan dengan cipherteks (ciphertext).
b. Enkripsi dan Deskripsi
Proses penyandian pesan, dari plainteks ke cipherteks dinamakan
dengan enkripsi (encryption) atau enchipering (standard nama menurut ISO
7498-2). Sedangkan proses mengembalikan pesan dari cipherteks ke plainteks
dinamakan dengan deskripsi (descryption) atau dechipering (standard nama
menurut ISO 7498-2). Proses enkripsi dan deskripsi dapat diterapkan pada pesan
yang dikirim ataupun pesan yang disimpan. Encryption of data in motion
mengacu pada enkripsi pesan yang ditransmisikan melalui saluran
komunikasi, sedangkan istilah encryption of data at-rest mengacu pada
enkripsi pesan yang tersimpan di dalam storage.
d. Kriptanalis dan Kriptologi
Kriptografi selalu memiliki perkembangan, karena kriptografi
memiliki ilmu yang berlawan yang disebut dengan kriptanalisis. Kriptanalis
(cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi
plainteks, tanpa memerlukan kunci yang digunakan. Pelakunya disebut
dengan kriptanalis. Jika seorang kriptopgrafer (istilah bagi pelaku kriptografi)
mentransformasikan plainteks ke cipherteks dengan menggunakan kunci,
maka sebaliknya seorang kriptanalis berusaha memecahkan cipherteks
adalah studi mengenai kriptografi dan kriptanalis. Hubungan antara
kriptologi, kriptografi dan kriptanalis dapat dilihat pada Gambar 2.5.
Gambar 2.2 Hubungan antara kriptologi, kriptografi dan kriptanalisis. [3]
Kriptoglogi dapat dibagi menjadi dua sub masalah yaitu kriptografi dan
kriptanalisis dimana keduanya adalah termasuk dalam teknologi enkripsi.
2.1.5 Jenis Kriptografi
Berdasarkan kunci enkripsi dan deskripsinya algoritma kriptografi
terbagi menjadi dua bagian yaitu :
1. Kriptografi simetri
Konsep dasar dari kriptografi kunci simetri adalah, di mana kunci untuk
enkripsi dan deskripsi sama. Istilah lain dari kriptografi simetri ini adalah
kriptografi kunci privat (privat-key cryptography), kriptografi kunci rahasia
(secret-key cryptography), atau kriptografi konvensional (conventional
cryptography). Dalam kriptografi kunci simetri dapat diasumsikan bahwa si
pesan dikirimkan. Keamanan dari sistem ini terletak pada kerahasiaan
kuncinya.
Semua kriptografi klasik menggunakan sistem kunci simetri ini.
Sebelum tahun 1976 hanya kriptografi simetri inilah yang dikenal. Kriptografi
modern juga ada yang masuk ke dalam lingkup kriptografi simetri ini
diantaranya adalah algoritma DES (Data Encryption Standard), Triple-DES,
dan lain-lain. Pada umumya cipher yang termasuk ke dalam kriptografi
simetri ini beroperasi dalam mode blok (block cipher), yaitu setiap kali proses
enkripsi atau deskripsi dilakukan terhadap satu blok data (yang berukuran
tertentu), atau beroperasi dalam mode aliran (streamcipher),
Proses dari skema kriptografi simetri dapat dilihat pada Gambar 2.3
Gambar 2.3 Skema kriptografi simetri.[3]
Proses enkripsi dan dekripsi dilakukan dengan kunci privat dengan
menghasilkan chiperteks. Dengan aturan Ek(P) = C. dan pada saat dekripsi
2. Kriptografi asimetri
Berbeda dengan kriptografi kunci simetri, kriptografi kunci publik
memiliki dua buah kunci yang berbeda pada proses enkripsi dan deskripsinya.
Nama lain dari kunci asimetri ini adalah kriptografi kunci-publik (public-key
cryptography). Kunci untuk enkripsi pada kriptografi asimetri ini tidak rahasia
(diketahui oleh publik), sedangkan kunci untuk deskripsi bersifat rahasia
(kunci privat). Entitas pengirim akan mengenkripsi dengan menggunakan
kunci publik, sedangkan entitas penerima mendeskripsi menggunakan kunci
privat. Skema dari kriptografi asimetri dapat dilihat pada Gambar 2.4.
Gambar 2.4 Skema kriptografi asimetri.[4]
Kriptografi asimetri ini dapat dianalogikan seperti kotak surat yang
terkunci dan memiliki lubang untuk memasukan surat. Setiap orang dapat
memasukkan surat ke dalam kotak surat tersebut, tetapi hanya pemilik surat
yang memiliki kunci dan yang dapat membuka kotak surat. Kunci publik
dapat dikirim ke penerima melalui saluran yang sama dengan saluran yang
berkepentingan tidak akan dapat mendeskripsi pesan tersebut, karena tidak
memiliki kunci privat. [6]
2.2 Algoritma VEA (Video Encryption Algorithm)
Banyak algoritma enkripsi video yang telah dibangun sampai saat ini,
tetapi algoritma yang umum digunakan terutama untuk aplikasi video adalah
algoritma Video Encryption, atau sering disebut juga VEA (Video Encryption
Algorithm). Alasan banyaknya penggunaan algoritma ini adalah karena
tingkat keamanannya yang cukup memuaskan, komputasi yang ringan, dan
cocok diimplementasikan di lingkungan video streaming karena algoritmanya
yang dapat berbasis stream cipher maupun block cipher, tergantung
kebutuhan saat streaming video tersebut. Implementasi dari algoritma ini
diharapkan dapat memenuhi kebutuhan keamanan dalam video streaming,
terutama apabila Video Encryption ini dapat dikombinasikan
dengan metode algoritma kriptografi lainya. Sebelum enkripsi video
dapat diterapkan pada video, akan lebih baik jika model dari penerapan
enkripsi video pada video dirancang terlebih dahulu, agar enkripsi video
dapat berjalan dengan baik.[4]
Sama dengan enkripsi pada data teks, enkripsi video juga memiliki
algoritma sendiri. Umumnya video dapat dienkripsi langsung dengan
menggunakan algoritma enkripsi kunci rahasia yang telah banyak beredar saat
ini, seperti DES, AES, dan lain-lain, tetapi enkripsi seperti itu membutuhkan
enkripsi video yang umum digunakan adalah VEA (Video Encryption
Algorithm). Algoritma ini memiliki berbagai macam modifikasi yang
disesuaikan berdasarkan kebutuhan, karena kemudahannya dalam
implementasi.[4]
VEA (Video Encryption Algorithm) merupakan sebuah algoritma
enkripsi video yang berbasis pada cipher aliran (stream cipher). Kunci rahasia
VEA, k, di-generate secara random dalam bentuk bitstream dengan panjang m,
yang dapat ditulis sebagai k = b1b2...bm. Bitstream dari video dapat
direpresentasikan dengan:
S = ...s1...s2...sm...sm+1...sm+2...s2m.. (2.1)
yang dalam hal ini si (i = 1,2,...) adalah seluruh bit-bit dari video. Fungsi enkripsi
VEA, Ek, dapat ditulis dengan:
Ek(S) = ...(b1 ⊕ s1) ... (bm ⊕ sm+1) ... (bm ⊕ s2m) ... (2.2)
Keterangan : ⊕ adalah operasi XOR.[1]
Operasi dalam mode bit berarti semua data dan informasi (baik kunci,
plainteks, maupun cipherteks) dinyatakan dalam rangkaian (string) bit biner, 0
dan 1. Algoritma enkripsi dan dekripsi memproses semua data dan informasi
dalam bentuk rangkaian bit. Rangkaian bit yang menyatakan plainteks dienkripsi
Gambar 2.5 skema algoritma VEA [4]
Skema algoritma diatas menunjukkan bahwasanya eksekusi dilakukan
ditaraf byte dari mulai inputan video dilanjutkan membaca frame dari setiap
video. Dan setelah itu proses XOR dilakukan dengan kunci yang diinputkan oleh
user dan kemudian proses enkripsi dan dekripsi dapat dilakukan oleh system.
2.2.1 langkah-langkah algoritma VEA
Adapun langkah-langkah global dari algortima VEA adalah seperti dibawah
ini :
1. Buka file video.
2. Baca frame dari file video, baca tipe frame-nya.
4. Jika frame dari stream bit bukan frame I, maka stream bit langsung
ditulis ke file tujuan.
5. Jika stream bit tersebut merupakan stream bit dari frame I, maka
bit-bit tersebut di-XOR-kan dengan kunci yang diinputkan oleh user.
6. Tulis hasil enkripsi ke file tujuan.
7. Baca frame selanjutnya, kembali ke langkah nomor 2 sampai
End-of-File. [2]
2.3 Pengertian Video
Video adalah teknologi untuk menangkap, merekam,
memproses,mentransmisikan dan menata ulang gambar bergerak. Biasanya
menggunakan film seluloid, sinyal elektronik, atau media digital.Berkaitan
dengan “penglihatan dan pendengaran” Aplikasi video pada multimedia
mencakup banyak aplikasi diantaranya :
Entertainment: broadcast TV, VCR/DVD recording
Interpersonal: video telephony, video conferencing
Interactive: windows
Proses digitalisasi ini juga berpengaruh terhadap sistem pemrosesan
gambar bergerak. Sehingga format-format gambar analog pun mulai
ditinggalkan dan beralih ke format gambar digital. Salah satu format gambar
Format MPEG-1 menjadi salah satu standard yang dipakai untuk berbagai
aplikasi seperti format MPEG-1 audio, format MPEG-1 video, dan juga
teleconference. Format ini memiliki rasio kompresi yang cukup besar sehingga
file dengan format ini memiliki ukuran yang sangat kecil dibanding dengan data
asalnya. [5]
2.3.1 Jenis video
Secara garis besar video dapat dibedakan dalam 2 tipe yaitu analog dan
digital. Kedua tipe ini yang mendasari format video.
1. Video Analog
Jenis ini memakai sinyal elektrik (gelombang analog). Siaran TV yang
sampai ke rumah – rumah menggunakan jenis ini, demikian juga dengan
video player yang menggunakan kaset VHS atau Betacam. Umumnya di dalam
pita kaset video terdapat 3 track yaitu track gambar, track suara, track control.
2. Video Digital
Sinyal digital dibentuk dari sederetan bilangan 1 dan 0. Untuk membentuk
sinyal digital maka dilakukan pengubahan sinyal analog ke dalam bentuk
sinyal digital. Hal ini terjadi pada proses pengubahan dari Camcoder analog yang
menggunakan kaset ke dalam komputer. Proses ini disebut proses capture,
tetapi sekarang teknologi camcoder telah memiliki cara perekaman digital
piringan miniDVD untuk menyimpan data videonya. Produk video digital
sudah banyak kita jumpai seperti VCD dan DVD tetapi tipe video
digital yang dimainkan sebenarnya adalah format Mpeg, AVI, MOV,dan
masih banyak lagi dengan berbagai spesialisasi yang dimiliki oleh format
itu.[5]
2.3.2 Sumber Video
Terdapat tiga sumber video yaitu :
1. Gambar bergerak (movie image)
Gambar ini bersumber dari camcoder dan juga disertai dengan
suara. Jadi gambar bergerak ini yang sering disebut video. Gambar
gambar yang bergerak itu terdiri dari rangkaian gambar yang
berformat bitmap.
2. Gambar diam (still image)
Gambar ini bersumber dari camera digital atau sering disebut foto.
Gambar diam ini dapat dibuat ke dalam bentuk video atau gambar
bergerak dengan bentuk slide atau biasa disebut dengan slide foto.
3. Gambar rekayasa (animation, cartoon, dll)
Untuk gambar yang satu ini bukan termasuk ke dalam tipe gambar
yang diambil dari alam (natural image) seperti kedua sumber
gambar di atas. Alat yang digunakan untuk menghasilkan gambar
seperti photoshop, 3Ds max, dll. Gambar yang dihasilkan
merupakan kreasi kita sendiri dan dapat dalam bentuk bergerak,
diam dan dapat juga bersuara.
2.3.3 Format video
Setelah video berada di dalam komputer, maka video memilki format
yang dapat kita tentukan sendiri. Permasalahan akhir pada video adalah
bentuk keluaran dari video itu sendiri. Format video ini menentukan letak video
tersebut akan diputar di media player, seperti beberapa format video dibawah ini :
1. AVI (Audio Video Interleave)
Format ini termasuk format video yang tidak
dikompresi. Format AVI merupakan format video yang menjadi
standar microsoft dan windows sebagai platformnya. Video yang
menggunakan format ini akan menghasilkan ukuran file yang
sangat besar karena resolusi yang dipakai sesuai resolusi asli dari
sumber videonya yaitu kaset video.
2. MPEG (Motion Picture Experts Group)
Termasuk dalam format video terkompresi dan dijadikan untuk
video yang disimpan pada disk. Resolusi video yang berformat
MPEG mendukung resolusi setengah layar dan satu layar, tergantung
3. Real Video
Format terkompresi yang berprioritas pada aliran video dengan
bandwith yang rendah. Banyak digunakan dalam internet TV, on-line
video. Format ini mempunyai ekstensi .rm atau .ram. format video
ini banyak didukung oleh handphone dan juga dapat dihasilkan dari
handphone yang berkamera.
4. MOV
Termasuk dalam format video terkompresi. MOV
dibuat oleh APPLE Computer dan dijalankan pada platform
Macintosh, tetapi sekarang dapat juga dijalankan di Windows
dengan menginstal CODEC quick time. MOV termasuk video yang
ditujukan untuk on-line video, website yang berbasis multimedia, dan
CD-ROM.[7]
2.4 Proses digitalisasi gambar bergerak
Bentuk-bentuk tiga dimensi dari dunia nyata ditangkap oleh kamera
yang menirukan proses pada mata manusia. Kamera memiliki lensa dan
komponen yang peka cahaya. Sinyal yang ditangkap kamera selanjutnya
diubah menjadi data digital dengan proses digitalisasi yang terdiri dari dua proses
yaitu sampling dan kuantisasi. Proses sampling menggunakan ruang dua dimensi
yang dibagi-bagi dalam bagian kecil yang disebut piksel. Proses kuantisasi
kumpulan dari piksel dalam urutan baris dan kolom tertentu. Piksel
merupakan elemen gamba r yang di dalamnya memuat informasi tentang
komponen intensitas dan warna gambar. Proses sampling pada gambar bergerak
dilakukan pada sumbu horisontal, vertikal, dan sumbu waktu. seperti terlihat pada
gambar 1.
Gambar 2.6 proses sampling gambar bergera k.[7]
Proses sampling gambar bergerak dilakukan dengan berbagai tahapan
diantaranya tahapan spatial, tahapan temporal, tahapan vertical. Dari proses
tersebut maka akan tercipta sampling gambar bergerak.
2.5 Sistem warna video
Teori Trichromatic menyatakan bahwa hampir semua warna cahaya bisa
dihasilkan dari gabungan ketiga cahaya warna primer merah (Red), hijau
(Green), dan biru (Blue) atau disingkat RGB (Mattison, 1994: 88). Sistem
warna yang dipakai pada video MPEG-1 ini adalah sistem RGB dan sistem
banyak digunakan pada komputer grafik dan sistem imaging. Merah, hijau, dan
biru merupakan tiga warna primer aditif dan dapat digambarkan sebagai sistem
koordinat Kartesian tiga dimensi
Gambar 2.7 kubus warna RGB.[7]
Diagonal dari kubus dengan jumlah komponen primer yang sama
menghasilkan berbagai variasi tingkat keabuan. Tabel 1 terdiri dari kolom warna
dan amplitudo RGB 100 % yang merupakan sinyal tes warna video.
Sistem warna RGB lebih banyak dipakai untuk frame buffer grafis, karena
CRT berwarna menggunakan phospor merah, hijau, dan biru untuk menghasilkan
warna yang diinginkan. Sistem warna YCbCr dibuat berdasarkan rekomendasi
ITU-R BT.601 (sebelumnya CCIR 601) yang dikeluarkan pada saat
penentuan standart komponen video digital pada tingkat internasional (Jack, 1996:
42). Y adalah merupakan informasi hitam putih dari gambar, sedang informasi
warna adalah Cb dan Cr. Nilai Y berkisar antara 16 sampai dengan 235, dan Cb
dan Cr memiliki range 16 sampai dengan 240 dengan nilai 128 sebanding
dengan nol. Ada beberapa format sampling untuk YCbCr yaitu 4:4:4, 4:2:2,
4:1:1, dan 4:2:0.
2.6 Jenis frame mpeg video
Jenis frame pada MPEG-1 dibagi dua jenis besar Intra Picture dan Inter
Picture. Keduanya meliputi 4 jenis frame yang harus dikodekan pada struktur
video mpeg, diantaranya seperti dibawah ini :
1. Frame jenis pertama adalah I (Intra) frame (~1bit/piksel), merupakan
gambar yang dikodekan sebagai suatu gambar diam yang berdiri sendiri.
2. Frame jenis kedua adalah P (Predicted) frame (~0.1 bit /piksel)
dikodekan relatif terhadap frame I atau P terdekat sebelumnya,
proses kompresi yang lebih besar dari I, dengan adanya kompensasi gerak
(motion compensation).
3. Frame jenis ketiga adalah B (Bidirectional) frame
(~0.015bit/piksel) menggunakan frame I atau P terdekat baik dari
sebelumnya atau sesudahnya sebagai referensi, menghasilkan prediksi dua
arah (forward dan backward). Frame B memiliki kompresi terbesar dan
dapat mengurangi noise karena mengambil rata-rata dari dua gambar.
4. Frame jenis keempat adalah D (DC) frame merupakan frame yang dikodekan
sebagai suatu gambar diam yang berdiri sendiri dengan hanya
menggunakan komponen DC dari DCT. Frame D juga termasuk jarang
digunakan.[5]
2.7Pemrograman Java Netbeans 6.8
merupakan sebuah proyek kode terbuka yang sukses dengan pengguna
yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra
(dan terus bertambah). Sun Microsystems mendirikan proyek kode terbuka
NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama.Saat ini terdapat
dua produk :
1. NetBeans IDE adalah sebuah lingkungan pengembangan - sebuah
kakas untuk pemrogram menulis, mengompilasi, mencari kesalahan
dapat mendukung bahasa pemrograman lain. Terdapat banyak modul
untuk memperluas Netbeans IDE. Netbeans IDE adalah sebuah produk
bebas dengan tanpa batasan bagaimana digunakan.
2. NetBeans Platform; sebuah fondasi yang modular dan dapat diperluas
yang dapat digunakan sebagai perangkat lunak dasar untuk membuat
aplikasi desktop yang besar. Mitra ISV menyediakan plug-in bernilai
tambah yang dapat dengan mudah diintegrasikan ke dalam Platform
dan dapat juga digunakan untuk membuat kakas dan solusi sendiri.
Kedua produk adalah kode terbuka (open source) dan bebas (free) untuk
penggunaan komersial dan non komersial. Kode sumber tersedia untuk guna
ulang dengan lisensi Common Development and Distribution License (CDDL).[5]
2.7.1 sejarah singkat
Bahasa pemrograman Java pertama lahir dari The Green Project, yang
berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek
tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh
Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan
pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah
maskot Duke yang dibuat oleh Joe Palrang.Pertemuan proyek berlangsung di
sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas
yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar
sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai
"*7" (Star Seven).
Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik
ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan
kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo
Alto.Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam
waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan
pemakaian Internet sebagai medium yang menjembatani kerja dan ide di antara
mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang
dipakai hanya di kalangan akademisi dan militer.[5]
2.7.2 Kelebihan Netbeans 6.8
1. Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa
platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di
mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java
dan dikompilasisekali lalu hasilnya dapat dijalankan di atas beberapa platform
tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java
dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas
Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft
2. OOP (Object Oriented Programming)
yang artinya semua aspek yang terdapat di Java adalah Objek. Semua tipe data
diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan
pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi
kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan
terorganisir.
3. Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga
menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java
sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. [5]
2.7.3 Tampilan awal Netbeans 6.8
Pada saat pertama kali menjalankan Netbeans 6.8, secara otomatis akan
muncul kotak dialog Start Page seperti yang terlihat pada gambar 2.8
Gambar 2.8 start page netbeans 6.8
2.7.4 lembar kerja netbeans 6.8
Adapun langkah selanjutnya Untuk melanjutkan pekerjaan kita di lembar kerja
netbeans 6.8 adalah seperti dibawah ini :
Gambar 2.9 lembar kerja netbeans 6.8
Lembar kerja akan terlihat seperti gambar dan pemrograman pun akan siap
dimulai. Didalam netbeans kita juga dapat menggunakan beberapa option untuk
membantu kerja kita di dunia pemrograman diantaranya terdapat : java, javaFX,
BAB III
ANALISIS DAN PERANCANGAN
Metode VEA adalah merupakan algoritma enkripsi video yang hanya
beroperasi pada sign bits dari koefisien DCT pada frame I dari sebuah
file video . Algoritma VEA akan menghasilkan sebuah kunci rahasia berupa
k secara random dalam bentuk bitstream. Pada bab ini akan di bahas
tentang analisa permasalahan, perancangan aplikasi yang terdiri dari proses
enkripsi, proses dekripsi, analisa algoritma vea, operasi perbit dan fungsi hash
serta rancangan antarmuka aplikasi yang akan dibuat.
3.1 Analisis sistem
Dalam merancang suatu system diperlukan analysis terhadap system yang
akan dirancang tersebut terlebih dahulu. Tujuan dari analisis ini sendiri adalah
agar system yang dirancang menjadi tepat guna dan ketahanan dan keamanan dari
system tersebut akan lebih terjaga kerahasiaanya. Disamping itu dengan
dilakukannya analisis ini kita akan dapat mempermudah kerja kita dalam
membuat system. Dan jika suatu saat ada perbaikan atau penambahan modul
system akan lebih mempermudah kinerja kita karena sudah ada analisis system
System yang akan dirancang ada dua proses secara garis besar. Yaitu
proses enkripsi, dan proses dekripsi. Dimana untuk proses enkripsi data pada file
multimedia menggunakan metode algoritma VEA (Video Encryption Algorithm)
karena metode VEA diatas memiliki algoritma yang cukup kompleks mulai dari
proses eksekusi data pada file multimedia yang menjadi plaintext sampai dengan
proses pencarian chippertext pada proses dekripsi.
Gambar 3.1 skema global proses enkripsi
Dari gambar diatas dapat dilihat bahwa proses plaintext atau informasi
awal yang inputannya berupa file multimedia atau file video dapat dilakukan
proses enkripsi menggunakan metode algoritma VEA (Video Encryption
Algorithm). Dari proses yang pertama akan menghasilkan sebuah kondisi yang kemudian di implementasikan ke dalam algoritma VEA. Dan didalam proses
enkripsi tersebut akan dilakukan sebuah proses XOR Yang dapat ditulis dengan :
Hasi keseluruhan dari proses enkripsi tersebut diatas akan menghasilkan
chiphertext. Ciphertext inilah yang akan di eksekusi lagi pada proses dekripsiDari
gambar diatas dapat dilihat bahwa proses yang pertama akan menghasilkan
cihphertext sementara yang mana merupakan hasil enkripsi dari implementasi
metode algoritma VEA (Video Encryption Algorithm). Setelah itu proses
selanjutnya melakukan dekripsi pada ciphertext yang sementara dengan
menggunakan metode VEA. Proses dekripsi bertujuan agar file yang telah
dienkripsi dan dikompresi dapat menjadi informasi awal sebelum dilakukannya
proses enkripsi tanpa mengubah format dan size yang semula. Dan tentunya
proses dekripsinya menggunakan kata kunci atau password yang sama pada saat
proses enkripsi.
Gambar 3.2 skema globar proses dekripsi
Proses dekripsi bertujuan agar file yang telah dienkripsi dan dikompresi
dapat menjadi informasi awal sebelum dilakukannya proses enkripsi tanpa
3.2 Perancangan
Dibawah ini akan dijelaskan mengenai perancangan applikasi yang akan
dibuat dalam implementasi algoritma VEA.
Gambar 3.3 diagram alir applikasi
Secara garis besar alur proses enkripsi berawal dari sebuah inputan file
maka akan langsung di tulis ke file tujuan. Sebaliknya jika video tersebut
termasuk frame-I maka proses selanjutnya adalah membaca bit per bit dari file
video tersebut dan kemudian akan melalui proses enkripsi yaitu setiap bit dari file
video akan di XOR kan dengan sebuah kunci (keyword) yang dapat diinputkan
oleh user. Setelah operasi XOR selesai maka hasil video terenkripsi akan ditulis
ke file tujan dan akan di simpan untuk mengetahui perubahan yang terjadi pada
video yang sudah melalui tahapan enkripsi.
3.3 Algoritma dan Diagram Alir
Pada bagian ini dijelaskan mengenai beberapa algoritma yang digunakan
dalam perangkat lunak, beserta diagram alirnya. Diantaranya adalah algoritma
VEA, operasi bit dan logika X-OR.
3.3.1 Analisis algoritma VEA (Video Encryption Algorithm)
Arus MPEG berbeda dengan data tekstual tradisional karena ia
mempunyai tipe data yang khusus dan ia dikompresi. Perhatikan bahwa
kesamaan dari kompresi dan enkripsi adalah keduanya mencoba
membuang informasi yang kurang bermanfaat. Karena itu
pembelajaran sturktur video dan sifat statistiknya membawa kepada
Algoritma Enkripsi Video. Prinsip kerja metode algoritma VEA (Video
b1..b2...bm. Detail algoritma Video Encryption (VEA) dalam bentuk algoritma umumnya adalah sebagai berikut:
Gambar 3.4 diagram alir algoritma VEA.[4]
Algoritma diatas adalah menggunakan bahasa C. yang didalamnya terdapat
Algoritma VEA tersebut juga melakukan proses XOR pada file video dengan
menggunakan array of bit dan kunci. Sehingga proses enkripsi file berjalan sesuai
dengan konsep yang diharapkan.
3.3 File Header Video
Merupakan format file dalam struktur video yang tidak boleh dirubah atau
terkena dampak dari proses enkripsi. Karena kalau file header dari sebuah video
tersebut terenkripsi maka outputnya tidak akan bisa dikenali oleh mediaplayer.
file header juga bisa dikatakan sebagai frame utama yang menentukan tipe of file
dari sebuah video. Seperti pada fomat avi, file headernya berkisar sekitar 56 byte.
Adapun selebihnya boleh dilakukan proses enkripsi dan dekripsi karena tidak
akan mempegaruhi struktur didalamnya dan masih bisa terbaca oleh media player.
File haeder video mpeg ialah merupakan susunan struktur yang ada didalam
video guna untuk proses sequence header, extension dan GOP (Group of
picture).[7]
3.4 Operasi perbit
Bit merupakan sebuah digit dalam sistem angka biner (basis 2), yang selalu
digunakan sebagai satuan terkecil dalam penyimpanan dan komunikasi informasi
di dalam teori komputasi dan informasi digital. Sebagai contoh, angka 1001011
memiliki panjang 7 bit.
]
Gambar 3.5 struktur bit video
Gambar diatas menunjukkan bahwa sebuah file video terdiri dari banyak
informasi yang dapat dibawa diantaranya, starting time, size of, number of video
frames, number of preview frames, number of data stream, width and height video
images, data rate dan sebagainya. Sehingga file tersebut dapat dikenali sebagai
satuan format video.
3.6 AnalisisOperator XOR
Operator biner yang sering digunakan dalam cipher yang yang beroperasi
dalam mode bit adalah XOR atau exclusive-or. Notasi matematis untuk operator
XOR adalah ⊕ (dalam Bahasa C, operator XOR dilambangkan dengan ^).
Operator XOR diperasikan pada dua bit dengan aturan sebagai berikut:
0 ⊕ 0 = 0
0 ⊕ 1 = 1
1 ⊕ 0 = 1
1 ⊕ 1 = 0
Perhatikan bahwa operator XOR identik dengan penjumlahan modulo 2:
0 + 0 (mod 2) = 0
0 + 1 (mod 2) = 1
1 + 0 (mod 2) = 1
Misalkan a, b, dan c adalah peubah Boolean. Hukum-hukum yang terkait dengan
operator XOR:
(i) a ⊕ a = 0
(ii) a ⊕ b = b ⊕ a (Hukum komutatif)
(iii) a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c (Hukum asosiatif)
Jika dua rangkaian dioperasikan dengan XOR, maka operasinya dilakukan dengan
meng-XOR-kan setiap bit yang berkoresponden dari kedua rangkaian bit tersebut.
Contoh: 10011 ⊕ 11001 = 01010 yang dalam hal ini, hasilnya diperoleh sebagai
berikut:
1 0 0 1 1
1 1 0 0 1 ⊕
1 ⊕ 1 0 ⊕ 1 0 ⊕ 0 1⊕ 0 1 ⊕ 1
0 1 0 1 0
Algoritma enkripsi sederhana yang menggunakan XOR adalah dengan
meng-XOR-kan plainteks (P) dengan kunci (K) menghasilkan cipherteks:
Karena meng-XOR-kan nilai yang sama dua kali berturut-turut menghasilkan nilai
semula, maka dekripsi menggunakan persamaan:
P = C ⊕ K (3.3)
Contoh: plainteks 01100101 (karakter ‘e’)
kunci 00110101 ⊕ (karakter ‘5’)
cipherteks 01010000 (karakter ‘P’)
kunci 00110101 ⊕ (karakter ‘5’)
plainteks 01100101 (karakter ‘e’)
Algoritma enkripsi XOR sederhana pada prinsipnya sama seperti Vigenere cipher
dengan penggunaan kunci yang berulang secara periodik. Setiap bit plainteks
di-XOR-kan dengan setiap bit kunci.[2]
3.5 Fungsi Hash
Fungsi hash adalah fungsi yang menerima masukan string atau karakter yang
ukuran string semula). Persamaan fungsi hash dapat dituliskan dengan
persamaan berikut.
h = H(M) (3.4)
dengan
• M = pesan berukuran sembarang.
• h = nilai hash (hash value) atau pesan ringkas (message-digest).
Berikut gambaran penggunaan fungsi hash yang mengubah suatu
byte video dengan panjang tertentu.[3]
Gambar 3.6. contoh fungsi Hash dengan algoritma VEA
Dalam kriptografi, keberadaan fungsi hash yang aman secara
kriptografik sangatlah penting. Fungsi hash semacam ini memiliki
• Collision resistance : seseorang seharusnya tidak dapat menemukan dua
pesan berbeda, sebut saja M dan M′ sedemiki an sehingga H(M)= H(M′)
(terjadi kolisi).
• First preimage resistance : seseorang yang diberikan hasil hash h seharusnya
tidak dapat menemukan M di mana H(M) = h. Salah satu contoh mengapa
hal ini penting yakni pada umumnya sandi lewat pengguna disimpan dalam
bentuk hash. Jika seseorang memiliki akses pada data sandi lewat yang telah
dihash maka seharusnya ia tidak bisa memperoleh sandi lewat yang asli dari
data tersebut. Akan tetapi, hal ini mungkin terjadi jika properti tidak dipenuhi.
• Second preimage resistance : seseorang yang memiliki pesan
M seharusnya tidak dapat memperoleh pesan M′ di mana M tidak sama
dengan M′ tetap i H(M) = H(M′). Properti ini merupakan implikasi dari
collision resistance.
Fungsi hash telah digunakan secara luas dalam berbagai aplikasi
misalnya integritas pesan, otentikasi, tanda tangan digital, secure timestamping,
dan banyak aplikasi lainnya. Sekuriti aplikasi-aplikasi tersebut seringkali
bergantung secara langsung pada properti sekuriti dari fungsi hash yang
digunakan. Jika fungsi hash tidak seaman yang dipercaya sebelumnya
(properti sekuriti tidak lagi dipenuhi), maka aplikasi juga tidak lagi
3.6 Rancangan antar muka applikasi
Dalam melakukan perancangan antarmuka aplikasi diharapkan mampu
memenuhi aspek-aspek seperti user friendly (mudah dimengerti oleh user),
sederhana, dan mengurangi terjadinya kesalahan saat user menggunakan aplikasi.
Untuk memberikan gambaran awal tentang antarmuka aplikasi serta menjaga
konsistensi dari desain aplikasi, maka perlu dibuat suatu rancangan masukan dan
keluaran aplikasi.
a. Form utama
Form utama pada gambar 3.8 seperti dibawah ini. Digunakan untuk
proses open file dan save file video. Yaitu dengan menekan tombol
open file maka path dari file video akan terlihat di inputbox.
Gambar 3.7 antar muka applikasi
Antar muka applikasi juga dapat melakukan proses simpan dengan
menekan tombol save file. maka nama file yang akan disimpan akan tampil di
a. Open file
Pada saat open file maka akan muncul kotak dialog seperti dibawah ini:
Gambar 3.8 kotak dialog open file.
Pada saat kotak dialog muncul maka kita bisa membuka file video seperti
video yang berformat MPEG-1 atau AVI yang akan kita eksekusi untuk
digunakan sebagai input file guna kepentingan proses enkripsi file video.
b. Save file video
Pada saat save file maka akan muncul kotak dialog seperti dibawah ini:
Gambar 3.9 kotak dialog save file.
BAB IV
IMPLEMENTASI DAN EVALUASI
4.1 Kebutuhan Aplikasi
Sebelum melakukan implementasi dan menjalankan proses enkripsi dan
dekripsi data pada file multimedia dibutuhkan spesifikasi perangkat keras dan
perangkat lunak dengan kondisi tertentu agar sistem dapat berjalan dengan baik.
Berikut ini adalah perangkat keras yang digunakan dalam implementasi metode
algoritma VEA (Video Encryption Algorithm) adalah sebagai berikut :
a. Notebook
b. Intel Pentium dual core P6100
c. Memory 1 Gb DDR3.
d. Harddisk 320 Gb
Perangkat lunak yang digunakan dalam implementasi metode algoritma
VEA adalah sebagai berikut :
a. Microsoft Windows Seven Ultimate
4.2 Potongan Program
Pada subbab ini akan dijelaskan implementasi sistem berdasarkan
rancangan program pada bab sebelumnya. Rancangan yang dibangun
akan diimplementasikan kedalam bentuk sourcecode dalam bahasa
pemrograman java netbeans 6.8.
a. Open file video
Untuk membuka file video dan ditampilkan di inputbox atau text field
maka potongan programnya adalah seperti dibawah ini :
private void
Dari potongan program diatas bahwasanya inputbox akan menampilkan
nama file dan file path yang berasal dari directory file tersebut di buka. Dan
system juga melakukan proses pengambilan data berupa file video yang akan
b. Save file video
Untuk menyimpan (save) file video dan ditampilkan di outputbox
atau text field maka potongan programnya adalah seperti dibawah ini :
Dari potongan program diatas adalah berfungsi untuk menyimpan
file video dan kita akan menentukan dimana hasil enkripsi tersebut disimpan.
Pemberian nama pada saat proses save file harus disertai dengan format video
seperti : untuk format MPEG-1 (*.mpg) dan untuk AVI (*.avi). hal ini bertujuan
agar video hasil enkripsi memiliki format yang sama.
c. Ukuran file
Untuk membaca ukuran file atau file size dari sebuah video maka
potongan programnya seperti dibawah ini :
fileSize = openFile.length();
txtOpenFile.setText(fileName);
lblUkuranFile.setText(String.valueOf(fileSize)+ "
bytes");
d. Proses enkripsi
Dalam proses enkripsi system akan merubah inputan file video yang
semula mempunyai format character menjadi filestream yang nantinya akan
dijadikan plaintext dan chipertext baik pada saat proses enkripsi maupun dekripsi.
Untuk menampilkan bit yang akan dieksekusi selama proses enkripsi dan
dekripsi dan potongan programnya adalah seperti dibawah ini :
System juga melakukan Operasi per bit dengan fungsi XOR,
adapun potongan programnya adalah seperti dibawah ini :
if((int)current != 224){
Dari potongan program tersebut diatas bahwasanya proses XOR dengan
tanda ( ^ )dilakukan pada saat proses Chiper dengan input file video yang berasal
dari plain. pembangkitan kunci dilakukan sendiri oleh user dengan keyword angka
ataupun huruf yang digunakan untuk proses XOR antara plainteks dan chiperteks.
System akan membaca setiap bitstream dari file video untuk melakukan
e. Proses dekripsi
Dalam proses dekripsi system akan merubah inputan file video yang
semula mempunyai chiperteks menjadi plainteks yang nantinya akan diproses
pada saat dekripsi file video.
Untuk menampilkan bit yang akan dieksekusi selama proses enkripsi dan
dekripsi dan potongan programnya adalah seperti dibawah ini :
System juga melakukan Operasi per bit dengan fungsi XOR,
adapun potongan programnya adalah seperti dibawah ini :
if((int)current != 224){
Dari potongan program tersebut diatas bahwasanya proses XOR dengan
tanda ( ^ )dilakukan pada saat proses Chiper dengan input file video yang berasal
dari plain. pembangkitan kunci dilakukan sendiri oleh user dengan keyword angka
ataupun huruf yang digunakan untuk proses XOR antara plainteks dan chiperteks.
System akan membaca setiap bitstream dari file video untuk melakukan
4.3 Implementasi antar muka
Pada tahap ini akan dijabarkan tentang implementasi antarmuka dari
perancangan dan implementasi algoritma VEA (Video Encryption Algorithm)
untuk keamanan data pada file multimedia. Form - form yang digunakan, antara
lain :
1. form splash
2. form utama
4.3.1 Form Splash
Form ini tampak pada saat aplikasi pertama kali dijalankan. Form splash ini perlu dibuat agar dapat diketahui nama dari aplikasi tersebut. Seperti terlihat
pada gambar 4.1 dibawah. Berikut adalah antarmuka dari form splash.
4.3.2 Form utama
Berikut ini akan dijelaskan mengenai menu-menu yang terdapat di
form utama. Form utama pada Gambar 4.2 ini digunakan untuk melakukan proses enkripsi dan dekripsi pada file multimedia. Terdapat tombol open file untuk
membuka file video yang akan dijadikan plainteks pada saat proses enkripsi dan
dekripsi. Dan tombol save file yang digunakan untuk menyimpan hasil dari proses
enkripsi maupun hasil dari proses dekripsi. Klik jalankan untuk memulai proses
enkripsi dan tekan tombol close untuk keluar dari applikasi.
BAB V
EVALUASI DAN UJI COBA
5.1.1 Uji Coba Proses Enkripsi
5.1.2 Uji Coba enkripsi menggunakan metode VEA
Uji coba proses enkripsi dengan implementasi metode VEA menggunakan
file video berformat MPEG-1.
Tabel 5.1 Tabel Data Uji Coba proses enkripsi
No Nama video Durasi 2 stealtwalk.mpg 0:00:18 1714175
7 Mrbean.mpg 0:00:08 2938784
9 Autobott.mpg 0:00:08 4581376
informania 00:06:14
Tabel Data Uji Coba proses enkripsi menunjukkan bahwasanya video
yang dijadikan ujicoba adalah video yang memiliki format MPEG-1 (*.mpg).
Alasan penggunaan algoritma ini pada video MPEG adalah karena tingkat
keamanannya yang cukup bagus dan komputasi yang ringan. Untuk
meningkatkan faktor kemanan, maka VEA akan dimodifikasi dengan
pemberian kunci yang bisa langsung diinputkan oleh user. Implementasi dari
algoritma ini diharapkan dapat memenuhi kebutuhan keamanan dalam
proses penyimpanan video. Selanjutnya video tersebut akan menjadi inputan
pada proses enkripsi dan menghasilkan video baru terenkripsi. Dengan format
sama dan akan terlihat berbeda apabila video itu dimainkan. Dengan disertai kunci
huruf, angka serta kombinasi huruf dan angka. maka proses enkripsi akan berjalan
5.1.3Output Video terenkripsi
beberapa hasil dari enkripsi video adalah seperti gambar dibawah ini :
(a) video asli(bear.mpg) (b) video terenkripsi(bear1.mpg)
Gambar 5.1 percobaan ke-1 dengan video berformat MPEG-1(*.mpg), gambar a merupakan video asli yang digunakan sebagai plainteks pada proses enkripsi. Gambar b merupakan output video terenkripsi.
(a) video asli (stealtwalk.mpg) (b) video terenkripsi (stealtwalk1.mpg)
(a) video asli (bocah.mpg) (b) video terenkripsi (bocah1.mpg)
Gambar 5.3 percobaan ke-3 dengan video berformat MPEG-1(*.mpg), gambar a merupakan video asli yang digunakan sebagai plainteks pada proses enkripsi. Gambar b merupakan output video terenkripsi.
(a) video asli (walker.mpg) (b) video terenkripsi (walker1.mpg)
(a) video asli (monkey.mpg) (b) video terenkripsi (monkey1.mpg)
Gambar 5.5 percobaan ke-5 dengan video berformat MPEG-1(*.mpg), gambar a merupakan video asli yang digunakan sebagai plainteks pada proses enkripsi. Gambar b merupakan output video terenkripsi.
(a) video asli (pixar.mpg) (b) video terenkripsi (pixar1.mpg)
(c) video asli (mrbean.mpg) (d) video terenkripsi (mrbean1.mpg)
Gambar 5.7 percobaan ke-7 dengan video berformat MPEG-1(*.mpg), gambar a merupakan video asli yang digunakan sebagai plainteks pada proses enkripsi. Gambar b merupakan output video terenkripsi. Dan akan terlihat berbeda dengan video aslinya bila dijalankan.
(a) Video asli (trap.mpg) (b) video terenkripsi (trap1.mpg)
(c) video asli (autobott.mpg) (d) video terenkripsi (autobott1.mpg)
Gambar 5.9 percobaan ke-9 dengan video berformat MPEG-1(*.mpg), gambar a merupakan video asli yang digunakan sebagai plainteks pada proses enkripsi. Gambar b merupakan output video terenkripsi. Dan akan terlihat berbeda dengan video aslinya bila dijalankan.
(c) video asli (pichip.mpg) (d) video asli (pichip1.mpg)
(c) video asli (pasta.mpg) (d) video terenkripsi (pasta1.mpg)
Gambar 5.11 percobaan ke-11 dengan video berformat MPEG-1(*.mpg), gambar a merupakan video asli yang digunakan sebagai plainteks pada proses enkripsi. Gambar b merupakan output video terenkripsi. Dan akan terlihat berbeda dengan video aslinya bila dijalankan.
Hasil dari perancangan dan implementasi algoritma VEA (Video
Encryption Algorithm) untuk keamanan data pada file multimedia. Dengan
menggunakan metode tersebut diatas dengan sample video sebanyak 11 dengan
format MPEG-1(*.mpg). menghasilkan output yang sesuai dengan harapan pada
algoritma VEA. sesuai dengan kunci yang didefinisikan oleh user. Hasil yang
diperoleh adalah sebuah file video baru terenkripsi dengan format yang
sama yang akan menghasilkan gambar yang kabur atau acak dan berbeda
5.2Uji Coba Proses Dekripsi
5.2.1 Uji Coba dekripsi menggunakan metode VEA
Uji coba proses dekripsi dengan implementasi metode VEA
menggunakan file video berformat MPEG-1.
Tabel 5.2 Tabel Data Uji Coba proses dekripsi
No Nama video Durasi 2 Stealtwalk1.mpg 0:00:18 1714175
7 Mrbean1.mpg 0:00:08 2938784
9 Autobott1.mpg 0:00:08 4581376
informania 00:06:14 ilmukomputer 00:06:22 Teknologi2011 00:06:49
10 Pichip1.mpg 0:00:14 3221504
1nf0rm4t1k4 00:06:23
Tabel Data Uji Coba proses dekripsi menunjukkan bahwasanya video
yang dijadikan ujicoba adalah video terenkripsi yang memiliki format MPEG-1
(*.mpg). Selanjutnya video tersebut akan menjadi inputan pada proses dekripsi
dan menghasilkan video baru terdekripsi. Dengan format yang sama dengan video
aslinya. Dengan disertai kunci yang dapat diinputkan oleh user baik huruf atau
angka serta kombinasi huruf dan angka. dan proses dekripsi akan berjalan dengan
baik apabila kunci yang diinputkan sama pada saat proses enkripsi dengan
demikian video terenkripsi akan kembali menjadi video asli. Yang hasilnya bisa