Random Post

Recent Post

Comment

Latest Article Get our latest posts by subscribing this site

Perancangan dan Implementasi Modifikasi Algoritma VEA (Video Encryption Algorithm) untuk Video Streaming

Jumat, 11 Februari 2011

ABSTRAK
         Makalah ini akan membahas model enkripsi video streaming yang dibangun dengan tujuan mengamankan data video yang akan dikirim melalui jaringan komputer dengan metode streaming. Enkripsi data akan dilakukan di sisi transmitter, yaitu sisi pengirim video, dan kemudian data tersebut dikirim ke sisi receiver sebagai penerima video. Sebelum dapat dijalankan, data video yang dikirim harus didekripsi terlebih dahulu oleh sisi receiver. Kunci yang digunakan pada sisi transmitter dan receiver harus sama. Jika kunci yang digunakan tidak sama, maka receiver tidak dapat mendekripsi data tersebut dimana pada akhirnya video tidak dapat ditampilkan. Algoritma enkripsi video yang dipilih untuk diimplementasikan pada video streaming adalah VEA (Video Encryption Algorithm). Algoritma VEA umum digunakan untuk keperluan enkripsi video karena  kemudahannya dalam implementasi, terutama karena algoritma ini mengenkripsi video bit per bit. Algoritma VEA selanjutnya dimodifikasi sedemikian rupa agar cocok diimplementasikan terhadap model enkripsi video streaming. Modifikasi dilakukan dengan menambahkan algoritma kriptografi kunci rahasia DES dan fungsi hash MD5. Selain itu juga, operasi yang akan dilakukan oleh modifikasi algoritma VEA bukan lagi bit per bit namun per paket-paket data yang akan dikirim transmitter. Paket-paket data ini akan dienkripsi menggunakan DES, dimana masukan kunci untuk DES di-hash terlebih dahulu menggunakan MD5. Model enkripsi video streaming ini dibangun dengan menggunakan bahasa pemrograman Java dan memanfaatkan kakas Java Media Framework (JMF).

Kata kunci: video streaming, enkripsi, DES, MD5, JMF.

1. PENDAHULUAN

          Keamanan data multimedia sangat penting dalam bisnis komersil maupun tradisional saat ini. Contohnya, pada aplikasi video on demand, hanya orang yang membayar yang dapat menonton video tersebut. Selain itu juga pada aplikasi video conferencing, hanya orang yang berkepentingan saja yang dapat ikut serta dalam konferensi tersebut dan mendapatkan datanya. 
            Salah satu cara untuk mengamankan aplikasi distributed multimedia seperti pada contoh-contoh di atas adalah dengan mengenkripsinya menggunakan algoritma kriptografi seperti DES (Data Encryption Standard) atau IDEA (International Data Encryption Algorithm) [2]. Masalahnya, algoritma kriptografi tersebut memiliki komputasi yang rumit. Implementasi dari algoritma kriptografi ini tidak cukup cepat untuk memproses sejumlah besar data yang dihasilkan oleh aplikasi multimedia. [3] 
            
            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 sejumlah besar data saat real-time dengan algoritma kriptografi yang 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. Serangan terhadap data ini sangat mahal tetapi tidak menguntungkan karena untuk memecahkan kode enkripsi video tersebut jauh lebih mahal dibandingkan membeli program untuk menonton video tersebut [3]. Walaupun begitu, algoritma enkripsi yang ringan yang dapat menghasilkan tingkat keamanan yang cukup memuaskan dan memiliki komputasi yang ringan sangat dibutuhkan pada aplikasi video. 
            Banyak algoritma enkripsi video yang telah dibangun sampai saat ini, tetapi algoritma yang umum digunakan terutama untuk aplikasi video streaming 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 algoritma kriptografi kunci rahasia seperti DES atau AES yang sudah cukup terkenal tingkat keamanannya. Sebelum enkripsi video dapat diterapkan pada video streaming, akan lebih baik jika model dari penerapan enkripsi video pada video streaming dirancang terlebih dahulu, agar enkripsi video dapat berjalan dengan baik.

2. VEA
              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 waktu yang cukup lama, karena ukuran video yang cukup besar. Algoritma enkripsi video yang umum digunakan adalah VEA (Video Encryption Algorithm). Algoritma ini memiliki berbagai macam modifikasi yang disesuaikan berdasarkan kebutuhan, karena kemudahannya dalam implementasi. Salah satu tipe modifikasinya diberi nama MVEA (Modified VEA). 
Berikut adalah skema global dari algoritma VEA:
  1. Buka file MPEG.
  2. Baca frame file MPEG, baca tipe frame-nya.
  3. Baca stream bit dari frame tersebut.
  4. Jika frame dari stream bit bukan frame I, maka
  5. stream bit langsung ditulis ke file tujuan.
  6. Jika stream bit tersebut merupakan stream bit dari frame I, maka bit-bit tersebut di-XOR-kan dengan kunci.
  7. Tulis hasil enkripsi ke file tujuan.
  8. Baca frame selanjutnya, kembali ke langkah
  9. nomor 2 sampai End-of-File.
Diagram alir dari algoritma VEA dapat dilihat di Gambar 1.

             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..  (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)
yang dalam hal ini ⊕ adalah operasi XOR.

Gambar 1. Diagram Alir Algoritma VEA untuk video MPEG
Detail algoritma Video Encryption (VEA) dalam bentuk algoritma umumnya adalah sebagai berikut:

Algoritma VEA(
          int   m,                             /*key length*/
          bit   key[m],                    /*secret key*/
          char *mpeg_video,         /*input file*/
          char *vea_mpeg_video) /*output file*/
{
          int n; /*buffer size*/
          bit video[n]; /*input buffer*/
          file in; /*for input*/
          file out; /*for output*/
          int k,l,i = 0;
          in = open(mpeg_video,“r“);
          out = open(vea_mpeg_video,“w“);
          while(!eof(in)){
                  l = read(video,n,in);
             /*read l bits*/
          for(k=0,k<l;k++){
          switch(video[k]){
           case(beginning of a GOP):
           i=0;
            /*resynchronization*/
             break;
             case():
             video[k] = video[k] xor
             key[i];
             i = ++i mod m;
} /*end switch*/
} /*end for*/
             write(video,l,out);
} /*end while*/
              close(in);
             close(out);
}
/*end procedure*/

Mode Operasi Cipher Blok

Cipher blok adalah algoritma yang datanya dibagi kedalam blok-blok berukuran sama dan proses enkripsi dilakukan pada setiap blok tersebut. Dalam cipher blok masih ada kemungkinan dihasilkannya suatu cipherteks yang sama dari plainteks yang sama yang akan mengurangi tingkat keamanan algoritma enkripsi. Oleh karena itu dibutuhkan suatu mekanisme tambahan untuk meningkatkan tingkat keamanannya yaitu dengan penggunaan berbagai mode operasi dalam cipher blok.
 
Mode operasi yang sering digunakan oleh algoritma cipher blok adalah CBC (Cipher Block Chaining). Dalam CBC, plainteks di-XOR dengan cipherteks dari blok sebelumnya, kemudian hasilnya dimasukkan ke dalam algoritma enkripsi dan menghasilkan cipherteks. Kelemahan dari mode operasi CBC adalah prosesnya yang sekuensial. Untuk melakukan enkripsi dari suatu blok harus menunggu cipherteks dari hasil enkripsi blok yang sebelumnya. Sehingga hal ini bisa menimbulkan penundaan (delay).

Salah satu mode operasi cipher blok yang bisa beroperasi seperti cipher aliran adalah mode operasi Counter. Mode operasi ini menghasilkan sebuah blok keystream dengan cara mengenkripsi nilai dari sebuah fungsi penghitung (“counter”). Counter ini berupa fungsi yang menghasilkan suatu rangkaian nilai yang pasti berbeda satu dengan yang lain untuk waktu yang lama. Dengan kata lain, untuk semua enkripsi blok dengan masukan suatu kunci tertentu, nilai counter yang dihasilkan selalu unik.


Daftar list SoftwareWeb Design

Jumat, 22 Oktober 2010

NamePriceChannelWYSIWYGCSSImagesIntlDBScriptXMLValidators
Komodo Edit0Professional Web Developers
yes
yes
JS Server side yesHTML Accessibility CSS
HTML-Kit0Professional Web Developers
yes


Server side yesHTML Accessibility CSS
Aptana Studio Community0Professional Web Developers




JS Server side yesHTML CSS
KompoZer0Professional Web Designersyesyes


JS
HTML
Nvu0Professional Web Designersyesyes


JS
HTML
SeaMonkey0Newcomers to Web Designyes

yes
JS
HTML CSS
Selida0Professional Web Designersyes



Server side
HTML
Amaya0Professional Web Developersyesyes
yes
yesHTML CSS
CoffeeCup Free HTML Editor0Newcomers to Web Design
yes
yes
JS
PSPad0Professional Web Developers
yes


JS yesHTML CSS

Penerapan Algoritma Breadth-first Search dan Depth-first Search (Pola strategi menemukan file pada suatu mesin pencari)

Selasa, 05 Oktober 2010

Pola strategi menemukan file pada suatu mesin pencari
Secara umum terdapat 3 pola strategi yang dilakukan oleh user mesin pencari untuk menemukan file yang sesuai dengan kata kunci yaitu strictly depth-first strategy, extreme breathfirst strategy dan partially breath-first pattern)

Pengertian
Metode strictly depth-first srategy berarti pengguna mengamati tiap link hasil dari mesin pencari mulai dari atas, dan memutuskan segera untuk membuka dokumen atau tidak. Metode extreme breath-first strategy berarti pengguna melihat keseluruhan link daftar hasil pencarian kemudian memilih link yang mengacu ke dokumen yang paling sesuai lalu mengunjungi link tersebut. Sekali-kali pengguna juga melihat kembali daftar hasil pencarian lalu mengunjungi ulang beberapa link yang menurut dia berkaitan. Metode partially breath-first pattern merupakan metode campuran dimana pengguna melihat beberapa link baru memutuskan link mana yang akan dibuka.


Hasil Eksperimen 
Pada eksperimen yang dilakukan oleh penelitian yang dilakukan oleh Kerstin Klockner, Nadine Wirshum, Anthony Jameson, empat puluh satu subjek diberi waktu sepuluh menit untuk mendapatkan informasi tentang “Assessment centers” dengan cara membuka dokumen yang relevan yang dikembalikan oleh Google sebagai respon pencarian. Sebuah daftar hasil pencarian terdiri dari 25 hasil telah disiapkan sebelumnya dan disajikan dalam sebuah halaman web. Subjek harus menggulung layer untuk dapat melihat keseluruhan halaman. Gerakan mata para subjek dan aksi klik tetikus direkam dengan bantuan pendeteksi ASL3504. Berdasarkan rekaman video yang dibuat melalui  pendeteksi itu, pemrosesan hasil pencarian yang dilakukan para subjek dianalisis. Tiga kategori diidentifikasi : Sebagian besar subjek (65%) mengaplikasikan strategi DFS. Kebalikannya, minoritas subjek mengaplikasikan pola strategi BFS yang ekstrim, melihat ke seluruh daftar hasil pencarian sebelum membuka sebuah dokemen. Pola BFS yang parsial ditunjukkan oleh sisa 20% subjek, yang terkadang melihat kebeberapa entri berikutnya sebelum memilih dokumen yang akan dibuka. Pada eksperimen dua, dua puluh tujuh subjek diminta untuk melakukan dua aktivitas yang sama dengan eksperimen satu, dengan waktu 5 menit untuk masing-masing aktivitas. Untuk menciptakan situasi yang membuat BFS terlihat relative menarik, kita memperbolehkan subjek untuk membuka maksimal sepuluh dari 25 dokumen yang di daftar, memberi penghargaan kepada mereka untuk setiap penemuan dokumen yang relevan (hamper setengah dari dokumen relevan). Di sini, strategi yang berlawanan ditemukan lagi : 52% subjek tidak menunjukkan niat untuk melihat keseluruhan daftar. Minoritas subjek sebanyak 11% menggunakan strategi BFS yang ekstrim, melihat ke seluruh daftar sebelum membuka sebuah dokumen; sisanya sebanyak 37% mengaplikasikan strategi campuran, melihat dulu ke dua sampai enam dokumen berikutnya dalam daftar.



Analisis
Berdasarkan penelitian yang dilakukan oleh Kerstin Klockner, Nadine Wirshum, Anthony Jameson pada makalahnya yang berjudul “Depth- and Breadth-First Processing of Search Result” kita dapat menyimpulkan bahwa pengguna cenderung melakukan pencarian secara strictly depth-first strategy . Yaitu melihat suatu link yang paling atas dari hasil pencarian kemudian mengaksesnya dan terus menelusuri link yang terdapat pada document tersebut yang berkaitan dengan kata kunci yang
dicari. Sehingga agar pencarian oleh FTP search lebih efektif perlu ada penyesuaian dengan algoritma mesin pencari. Algoritma yang menurut kami paling sesuai adalah algoritma BFS pada mesin pencari yang akan menampilkan daftar file yang paling dekat relefansinya dengan kata kunci. Metode FTP search melakukan hal yang sama dengan WebCrawler yaitu mengunjungi setiap server, mencatat link file dan memasukkannya ke dalam basis data. Sehingga file yang paling relevan ditempatkan di bagian paling atas daftar hasil pencarian. Perbedaan dengan web crawler ftp search akan mengelompokkan file-file tersebut berdasarkan server. Kelebihan metode baru ini bagi pengguna FTP search adalah pengguna akan dapat langsung melihat file yang paling relevan pada bagian atas daftar hasil pencarian dan meminimalisasi pengaksesan lintas server.

Penerapan Algoritma Breadth-first Search dan Depth-first Search (Pengertian Depth First Search)

Depth-first Search

      - Pengertian Depth First Search
Depth-first search (DFS) melakukan pencarian
secara preorder. Mengunjungi anak suatu simpul
sebelum simpul tetangganya. Berkaitan dengan
mesin pencari, DFS ini cenderung mengindeks
dokumen berdasarkan suatu link.

       - Metode Pencarian
Algoritma DFS yang diterapkan pada mesin pencari
dalam melakukan pengindeksan adalah
mengunjungi suatu server kemudian menyimpan
semua link yang berhubungan dengan server
tersebut baru kemudian mengunjungi server lain.
Salah satu yang menerapkan algoritma DFS pada
mesin pencarian adalah FTPSearch.
FTPSearch adalah suatu mesin pencari dokumen
yang tersimpan di jaringan .
FTPSearch akan menampilkan daftar hasil
pencarian berdasarkan server. File-file yang
tersimpan pada suatu server akan ditampilkan
terlebih dahulu kemudian baru berpindah pada
server lain. FTPSearch tidak memperhatikan file
mana yang lebih berkaitan dengan kata kunci
karena FTPSearch tidak melakukan observasi
sampai pada isi dokumen tapi hanya melihat judul dokumen.

Penerapan Algoritma Breadth-first Search dan Depth-first Search (Breadth-first Search)


Breadth-first Search
 Pengertian Breadth First Search

Breadth-first search adalah algoritma yang
melakukan pencarian secara melebar yang
mengunjungi simpul secara preorder yaitu
mengunjungi suatu simpul kemudian mengunjungi
semua simpul yang bertetangga dengan simpul
tersebut terlebih dahulu. Selanjutnya, simpul yang
belum dikunjungi dan bertetangga dengan simpulsimpul
yang tadi dikunjungi , demikian seterusnya.
Jika graf berbentuk pohon berakar, maka semua
simpul pada aras d dikunjungi lebih dahulu
sebelum simpul-simpul pad aras d+1.
Algoritma ini memerluka-n sebuah antrian q untuk
menyimpan simpul yang telah dikunjungi. Simpulsimpul
ini diperlukan sebagai acuan untuk
mengunjungi simpul-simpul yang bertetanggaan
dengannya. Tiap simpul yang telah dikunjungu
masuk ke dalam antrian hanya satu kali.
Algoritma ini juga membutuhkan table Boolean
untuk menyimpan simpul yang te lah dikunjungi
sehingga tidak ada simpul yang dikunjungi lebih
dari satu kali.

Other Post

Other Post
 
Support : Your Link | Your Link | Your Link
Copyright © 2013. Gommbang - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger