• Tidak ada hasil yang ditemukan

ALGORITMA DAN IMPLEMENTASI KRIPTOGRAFI VIDEO STREAMING MENGGUNAKAN ALGORITMA VIDEO ENCRYPTION ALGORITHM (VEA)

N/A
N/A
Protected

Academic year: 2021

Membagikan "ALGORITMA DAN IMPLEMENTASI KRIPTOGRAFI VIDEO STREAMING MENGGUNAKAN ALGORITMA VIDEO ENCRYPTION ALGORITHM (VEA)"

Copied!
34
0
0

Teks penuh

(1)

ALGORITHM (VEA)

SKRIPSI

KONSENTRASI TEKNIK INFORMATIKA DAN KOMPUTER

Diajukan untuk memenuhi sebagian persyaratan Memperoleh gelar Sarjana Teknik

Disusun oleh:

KARINA SEFTIA DEWANTI NIM. 0810633056 - 63

KEMENTERIAN PENDIDIKAN NASIONAL UNIVERSITAS BRAWIJAYA

FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO

MALANG 2012

(2)

BAB I PENDAHULUAN

1.1 Latar Belakang

Keamanan data multimedia sangat penting dalam bisnis komersil maupun tidak komersil. 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). 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. 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 dengan delay sekecil mungkin.

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). Pada

algoritma ini byte-byte pada frame video, di-XOR-kan dengan suatu byte kunci tertentu yang telah didefinisikan. Hasil operasi XOR tersebut kemudian diterapkan pada file video, sehingga video yang dihasilkan memiliki kualitas gambar tidak sempurna. Video hasil enkripsi dengan VEA itulah yang nantinya diterima oleh user yang tidak berhak/belum memasukkan kunci tertentu yang telah didefinisikan. 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

(3)

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah dipaparkan secara jelas diatas, maka rumusan masalah ditekankan pada:

1. Bagaimana mengenkripsi dan mendekripsi video streaming MPEG dengan Video

Encryption Algorithm (VEA).

2. Bagaimana mencari macroblock pada file MPEG yang akan dienkripsi.

3. Bagaimana hasil pengujian dari video streaming setelah proses enkripsi dan dekripsi.

1.3 Batasan Masalah

Beberapa hal yang menjadi batasan masalah dalam pembuatan program ini antara lain:

1. Tidak mempelajari maupun membuat encoder dan decoder (player) video. 2. File format video yang digunakan hanya Mpeg-1, Mpeg-2, Mpeg-4.

3. Data yang dienkrispi adalah data video tanpa audio.

4. Bahasa pemograman yang digunakan untuk pembuatan aplikasi ini adalah C#.

5. Aplikasi yang digunakan untuk membuat dan menyunting listing program adalah

Microsoft Vsual Studio 2008 versi 9.0.21022.8 RTM dan .NET Framework versi 3.5 SP1.

6. Menggunakan library Aforge untuk membuat proses streaming dan player. 7. Komunikasi antar komputer menggunakan protokol TCP/IP.

8. Tipe streaming yang digunakan adalah peer to peer.

1.4 Tujuan

Tujuan dari penyusunan skripsi ini adalah merancang dan mengimplementasikan aplikasi untuk kriptografi pada video streaming MPEG menggunakan algoritma VEA.

1.5 Manfaat

Manfaat yang diharapkan adalah aplikasi yang dibuat dalam skripsi ini dapat mengamankan video streaming MPEG menggunakan algoritma VEA.

(4)

1.6 Sistematika Penulisan

Sistematika penulisan laporan skripsi ini adalah sebagai berikut : BAB I Pendahuluan

Dalam bab ini akan dijelaskan latar belakang, rumusan masalah, batasan masalah, tujuan dan manfaat, metode penelitian dan sistematika penulisan laporan tugas akhir.

BAB II Dasar Teori

Dalam bab ini akan dibahas dan dijelaskan mengenai dasar teoritisyang menjadi landasan dan mendukung pelaksanaan penulisan tugas akhir.

BAB III Metodologi

Dalam bab ini akan membahas tentang metode yang dipakai penulis untuk menyelesaikan laporan tugas akhir.

BAB IV Perancangan dan Implementasi

Dalam bab ini menjelaskan langkah - langkah perancangan dan implementasi dari video streaming MPEG menggunakan algoritmaVEA.

BAB V Pengujian

Dalam bab ini akan disampaikan hasil pengujian dari aplikasi yang telah dibuat. BAB VI Kesimpulan dan Saran

(5)

BAB II

TINJAUAN PUSTAKA

2.1 Video

Video adalah gabungan dari banyak citra digital yang disertai suara. Citra –citra digital diperlihatkan sesuai urutan dengan jangka waktu tertentu sehingga gambar tampak bergerak. Untuk dapat mengolah video, maka harus mendapatkan data warna pada frame – frame yang ada pada video. Karena frame – frame tersebut berupa sebuah citra digital, maka dalam pengolahan video tidak dapat telepas dari pengolahan citra digital dimana sesuai dengan algoritma sesuai format video yang dipakai seprti AVI, MPEG.

2.1.1 MPEG

MPEG adalah singkatan dari Moving Picture Experts Group merupakan format kompresi yang didirikan oleh group yang bernama Motion Picture Editors Guild (MPEG) yang mengeluarkan standar tahun 1988, yang terbentuk oleh 350 perusahaan dan organisasi. MPEG adalah metode standar yang digunakan dalam pengkodean citra bergerak. MPEG menetapkan standar yaitu codec. Codec MPEG menggunakan lossy

compression pada data audio video. Bagian motion (gerak) video pada standard MPEG-1

didapat dari standard Joint Picture Experts Group (JPEG) untuk lossy compression gambar diam (foto). MPEG memliki format standar kompresi sebagai berikut :

a) MPEG-1 adalah standard pertama untuk kompresi audio dan video. merupakan standard encode VideoCD dengan resolusi maksimal hanya 352 x 288 pixel, bit-rate tidak dapat dirubah dan kualitas gambar yang kurang baik.Ini juga termasuk format audio MP3. MPEG-1 digunakan pada format Video CD. Kualitas output dan bit-rate lebih kecil daripada VCR.

b) MPEG-2 adalah seri standard transport , audio dan video untuk kualitas siaran televisi. MPEG-2 sama dengan MPEG-1, tetapi juga menyediakan dukungan untuk interlaced video (seperti pada siaran TV) dan juga mendukung Transport Stream yang dibuat untuk mentranfer video dan audio digital pada media dan digunakan untuk broadcasting. Standard MPEG-2 saat ini telah ditingkat menjadi standard terbaru untuk transmisi HDTV. Saat ini digunakan untuk SVCD, DVD dengan tingkat bit yang dapat diubah dan

(6)

memiliki kualitas gambar yang luar biasa. DV Video merupakan subformat khusus dari MPEG-2 dengan tingkat bit yang tetap. Format ini sangat cocok digunakan untuk video editing.

c) MPEG-3 dikembangkan untuk high-definiton television (HDTV), tetapi kemudian ditinggalkan karena dianggap MPEG 2 memadai.

d) MPEG-4 merupakan pengembangan MPEG 1 mendukung Digital Rights Management (DRM) dan bit-rate encoding rendah, serta menggunakan codec video yang disebut H.264 yang dipandang lebih effisien. MPEG-4 berbasis MPEG-1 dan MPEG-2, tetapi ada tambahan fitur seperti dukungan VRML untuk rendering 3D, files komposit berorientasi objek (termasuk audio, video dan virtual reality modelling), dukungan untuk DRM dan berbagai macam interaktivitas . Kontainer untuk kandungan MPEG-4 adalah MP4.

e) MPEG-7 adalah sistem formal untuk mendeskripsikan isi multimedia. f) MPEG-21 merupakan standard multimedia untuk masa depan

g) MPEG-A standar ini menyediakan aplikasi-spesifik format dengan mengintegrasikan beberapa teknologi MPEG;

h) MPEG-B Kumpulan standar Sistem spesifik i) MPEG-C Kumpulan standar Video spesifik j) MPEG-D Kumpulan standar khusus Audio

k) MPEG-E Sebuah standar (M3W) dukungan penyediaan untuk men-download dan eksekusi aplikasi multimedia

l) MPEG-V standar untuk pertukaran dengan dunia virtual

m) MPEG-M Sebuah standar (MXM) untuk kemasan dan usabilitas dari MPEG teknologi n) MPEG-U standar untuk kaya-media user interface

o) MPEG-H Sebuah standar (HEVC) memberikan kinerja video kompresi meningkat secara signifikan.

(7)

2.1.2 Struktur MPEG

Gambar 2.1 Struktur File Format MPEG

Secara umum file format video MPEG tersusun dari kumpulan - kumpulan sequensial. Dalam setiap Sequensial didalamnya terdapat bagian - bagian lagi misal informasi mengenai resolusi, bitstream, dan GOP seperti Gambar 2.1. Setiap Sequensial bisa mempunyai jumlah 1 atau lebih GOP (group of Picture). Di dalam GOP tersusun dari informasi (parameter dari header) mengenai gambar (picture/frame) dan data (isi dalam parameter dari header) dari gambar, dimana gambar bisa berjumlah 1 atau lebih. Di dalam picture terdapat informasi – informasi mengenai tipe gambar, parameter DCT/IDCT dan data gambar itu sendiri atau disebut slice.

Sebuah gambar (picture/frame) dapat bertipe I (intracoded), P (predicted), atau B (bidirectional – predicted). Slice tersusun dari informasi - informasi mengenai macroblock dan datanya, dimana macroblock bisa berjumlah 1 atau lebih. Macroblock merupakan basic

coding unit atau tersusun dari bagian terkecil dari Algoritma MPEG yaitu blok. Macroblock

(8)

komponen Y, Cr, Cb beserta resolusinya. Macroblock dari gambar/frame I diencode berbeda dengan macroblock dari gambar/frame B dan P, karena gambar/frame B dan P dibutuhkan dua buah motion vector : forward prediction vector dan backward prediction

vector. Macroblock dari tiap-tiap gambar/frame pada akhirnya akan dibagi-bagi menjadi 4

buah 8 x 8 blok luminance (Y block), 2 buah 8 x 8 blok chrominance (Cr block dan Cb

block). Blok-blok Y, Cr, dan Cb yang terbentuk tersebut akan diproses ke dalam DCT

(Discrete Cosine Transformation), kuantisasi, dan Huffman entropy coding.

2.1.3 Header MPEG

Setiap stream header pasti dimulai dengan 32 bit Start Code, dimana untuk kode 00-B8 merupakan video stream start code dan untuk B9-FF adalah stream-id.

byte 0 byte 1 byte 2 byte 3

0000 0000 0000 0000 0000 0001 Video stream start code / Stream ID

Start code prefix

Tabel 2.1 Struktur Start Code Header MPEG

Start code used for

0x00 Picture 0x01 - 0xAF Slice 0xB0 Reserved 0xB1 Reserved 0xB2 user data 0xB3 Sequence header 0xB4 sequence error 0xB5 Extension 0xB6 Reserved 0xB7 sequence end 0xB8 Group of Pictures

(9)

Stream ID used for

0xB9 Program end (terminates a program stream)

0xBA Pack header

0xBB System Header

0xBC Program Stream Map

0xBD Private stream 1

0xBE Padding stream

0xBF Private stream 2

0xC0 - 0xDF MPEG-1 or MPEG-2 audio stream

0xE0 - 0xEF MPEG-1 or MPEG-2 video stream

0xF0 ECM Stream

0xF1 EMM Stream

0xF2

ITU-T Rec. H.222.0 | ISO/IEC 13818-1 Annex A or ISO/IEC 13818-6_DSMCC_stream

0xF3 ISO/IEC_13522_stream

0xF4 ITU-T Rec. H.222.1 type A

0xF5 ITU-T Rec. H.222.1 type B

0xF6 ITU-T Rec. H.222.1 type C

0xF7 ITU-T Rec. H.222.1 type D

0xF8 ITU-T Rec. H.222.1 type E

0xF9 ancillary_stream

0xFA - 0xFE Reserved

0xFF Program Stream Directory

Tabel 2.3 Stream ID

2.2 Video Streaming

Sampai beberapa saat yang lalu, video dikirim dengan metode “download and play” dimana seluruh video di download melalui network ke komputer client yang meminta video tersebut dan kemudian video tersebut disimpan di harddisk client. Setelah seluruh video tersimpan di harddisk client, barulah video tersebut dapat dijalankan. Keuntungan dari metode download ini adalah video dengan kualitas tinggi dapat dikirim. Kerugiannya adalah bandwidth network yang dibutuhkan untuk mengirimkan video sangat tinggi, pengguna harus menunggu dalam jangka waktu yang lama untk men-download sebuah

(10)

video dan juga sejumlah besar tempat penyimpanan di harddisk sangat dibutuhkan untuk menyimpan video yang ukurannya relatif cukup besar. Gambar 2.2 adalah ilustrasi dari metode “download and play”

Untuk mengatasi masalah ini, sebuah teknologi baru dibangun untuk mengirim video digital yang telah di kompresi ke sebuah jaringan network yang disebut “video

streaming”. Video streaming menggunakan teknologi kompresi video dan juga network protocol yang dibuat khusus untuk real-time media streaming. Protokol-protokol baru ini

dapat mengsinkronisasikan audio dan video untuk dimainkan di desktop client sebelum seluruh file video selesai diterima. Keuntungan yang didapat adalah client dapat memainkan video lebih cepat dan tidak membutuhkan jumlah space harddisk yang besar. Keuntungan lainnya adalah bandwidth network yang dibutuhkan untuk mengirim video sangat rendah serta video yang di-streaming juga dapat dimainkan di web browser. Gambar 2.3 menunjukkan model dari video streaming.

Gambar 2.2 Model Download

Ketika file audio atau video berada dalam proses streaming, maka sebuah tempat penampung kecil yang biasa disebut juga buffer akan terbentuk di computer pengguna, dan data dari audio atau video yang diminta pengguna akan ditransfer ke buffer tersebut. Ketika

buffer sudah penuh, file streaming tersebut akan mulai dijalankan. Untuk menjalankan file streaming dibutuhkan informasi yang tersimpan di dalam buffer yang mana informasi

tersebut akan teus bertambah seiring berjalannya file streaming. Selama data atau informasi tetap dapat terkirim ketika file streaming tersebut dijalankan, file streaming ini akan terus berjalan dengan lancar.

(11)

FILE

Jalankan setelah diterima Client

Video

server Buffer Paket data Paket data Paket data Buffer

Gambar 2.3 Model Streaming

Biasanya terdapat delay waktu antara 10 sampai 30 detik sebelum file audio atau video tersebut dimainkan. Streaming file biasanya merupakan bandwidthyang lebih sedikit dibandingkan men-download file. Besar tidaknya bandwith yang dibutuhkan juga tergantung dari jenis video yang akan di-streaming. Tabel 2.4 menunjukkan daftar jenis video beserta keterangan bandwidth yang dibutuhkan untuk streaming.

Tabel 2.4 Macam - Macam Format Video

Format Content Type Quality CPU

Requirement

Bandwidth Requirement

Cinepak AVI

QuickTime

Medium Low High

MPEG-1 MPEG High High High

H.261 AVI

RTP

Low Medium Medium

H.263 QuickTime

RTP AVI

Medium Medium Low

JPEG QuickTime

RTP AVI

High High High

Indeo QuickTime

AVI

(12)

Dapat dilihat dari Table 2.4, high quality dan high bandwidth format biasa digunkan untuk CD-ROM. H.261 dan H.263 biasa digunkan untuk aplikasi video conferencing. Biasanya video dengan high quality akan memilki ukuran file yang besar, serta membutuhkan proses dan bandwidth yang cukup besar pula. Untuk mendapatkan tampilan video yang bagus, maka jumlah frame yang ditampilkan per waktu (frame rate) harus sebesar mungkin. Biasanya video streaming menggunakan sekitar 30 frame rate (30 frame per detik)

2.3 Kriptografi

Kriptografi (cryptography) merupakan ilmu dan seni penyimpanan pesan, data, atau informasi secara aman. Kriptografi (Cryptography) berasal dari bahasa Yunani yaitu dari kata cryptós yang artinya secret (yang tersembunyi) dan gráphein yang artinya writting (tulisan). Jadi, kriptografi berarti secret writting (tulisan rahasia). Kriptografi merupakan bagian dari suatu cabang ilmu matematika yang disebut Cryptology yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data. Kriptografi bertujuan menjaga kerahasiaan informasi yang terkandung dalam data sehingga informasi tersebut tidak dapat diketahui oleh pihak yang tidak sah.Tetapi tidak semua aspek keamanan informasi ditangani oleh kriptografi.

2.3.1 Algoritma Kriptografi

Secara sederhana proses kriptografidapat digambarkan sebagai berikut :

Gambar 2.4 Ilustrasi dari proses kriptografi sederhana

Dalam menjaga kerahasiaan data, kriptografi mentransformasikan data jelas (plaintext) ke dalam bentuk data sandi (ciphertext) yang tidak dapat dikenali. Ciphertext

(13)

inilah yang kemudian dikirimkan oleh pengirim (sender) kepada penerima (receiver). Setelah sampai di penerima, ciphertext tersebut ditranformasikan kembali ke dalam bentuk

plaintext agar dapat dikenali. Proses tranformasi dari plaintext menjadi ciphertext disebut

proses Encipherment atau enkripsi (encryption), sedangkan proses mentransformasikan kembali ciphertext menjadi plaintext disebut proses dekripsi (decryption). Kunci (key) adalah parameter yang digunakan untuk transformasi enciphering dan deciphering.

Secara umum operasi enkripsi dan dekripsi dapat diterangkan secara matematis sebagai berikut :

proses dekripsi ditulis dalam Persamaan 2.1 :

E (P) = C (2.1)

Dimana, E : Enkripsi

P : Pesan (plaintext) yang akan diamankan C : Chipertext

Sedangkan proses dekripsi ditulis dalam Persamaan 2.2 :

D (C) = P (2.2)

Dimana, D : Dekripsi

C : Chipertext yang akan dirubah menjadi plaintext P : Pesan (plaintext) yang telah dibuka

Karena proses enkripsi dan dekripsi mengembalikan pesan ke pesan awal, maka Persamaan 2.3 harus benar,

(14)

Pada saat proses enkripsi kita menyandikan pesan P dengan suatu kunci K lalu dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C tersebut diuraikan dengan menggunakan kunci K sehingga dihasilkan pesan P yang sama seperti pesan sebelumnya. Contoh dari enkripsi dan dekripsi pada data teks :

Plainteks : “coba lah tulis”

Cipherteks :” ” Hasil dekripsi terhadap cipherteks di atas : “coba lah tulis”

Dengan demikian keamanan suatu pesan tergantung pada kunci ataupun kunci-kunci yang digunakan, dan tidak tergantung pada algoritma yang digunakan.Sehingga algoritma-algoritma yang digunakan tersebut dapat dipublikasikan dan dianalisis, serta produk-produk yang menggunakan algoritma tersebut dapat diproduksi massal. Tidaklah menjadi masalah apabila seseorang mengetahui algoritma yang digunakan. Selama tidak mengetahui kunci yang digunakan maka tetap tidak dapat membaca pesan.

Berdasarkan kunci yang dipakai, algoritma kriptografi dapat dibedakan atas dua golongan yaitu kriptografi kunci Simetri dan kriptografi kunci asimetri.

2.3.2 Kriptografi Kunci Simetri

Algoritma kriptografi simeteris atau disebut juga algoritma kriptografi konvensioanl adalah algoritma yang menggunakan kunci untuk proses enkripsi sama dengan kunci untuk proses dekripsi, oleh karena itulah dinamakan kriptografi simetri. Keamanan sistem kriptografi simetri terletak pada kerahasiaan kuncinya. Ada banyak algoritma kriptografi modern yang termasuk ke dalam sistem kriptografi simetri, diantaranya adalah DES (Data Encryption Standard), Blowfish, Twofish, Triple-DES, IDEA, Serpent, AES (Advanced Encryption Standard).

Gambar 2.5 Proses Enkripsi/Dekripsi Algoritma Kriptografi Simetris

Enkripsi Dekripsi

Plaintext Ciphertext Plaintext

(15)

Algoritma kriptografi (cipher) simetri dapat dikelompokkan menjadi dua kategori (Lung dan Munir, 2005), yaitu stream cipher (Cipher Aliran) dan block cipher (Cipher Blok).

2.3.2.1 Stream Cipher (Cipher Aliran)

Cipher Aliran beroperasi pada plainteks/cipherteks dalam proses penyandiannya

berorientasi pada satu bit data (bit tunggal), yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit. Cipher aliran mengenkripsikan plainteks menjadi chiperteks bit per bit (1 bit setiap kali transformasi). Proses enkripsi menggunakan cipher aliran dapat ditulis dalam Persamaan 2.4 :

c

i

= p

i

k

i (2.4)

yang dalam hal ini,

pi : bit plainteks ki: bit kunci

ci : bit cipherteks

Dan proses dekripsi dapat ditulis dalam Persamaan 2.5 :

p

i

= c

i

k

(2.5)

Contoh sederhana dari penerapan stream cipher pada plaintext. Mode enkripsi

11001100 Plaintext (+) 01101100 Keystream

(16)

Mode dekripsi

10100000 Ciphertext (+) 01101100 Keystream 11001100 Plaintext

Stream chipper cocok digunakan untuk mengenkripsi aliran data secara terus –

menerus melalui saluran komunikasi. Contohnya seperti pengiriman data antar dua computer dan video streaming. Jika bit ciphertext yang diterima terdapat kesalahan. Maka hal ini hanya mengakibatkan satu bit yang salah ketika di dekripsi, karena tiap bit plaintext hanya ditentukan dari satu bit chipertext. Kondisi ini tidak benar jika menggunakan cipher blok. Jika terdapat satu bit yang salah maka akan merambat kepada bit – bit lain pada blok bit tersebut.

2.3.2.2 Block Cipher (Cipher Blok)

Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam proses penyandiannya berorientasi pada sekumpulan bit atau byte data (per blok), yang dalam hal ini rangkaian bit dbagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya. Contoh algoritma kunci simetris yang terkenal adalah Advanced Encryption

Standard (AES).

Pada cipherblok, rangkaian bit-bit plainteks dibagi menjadi blok-blok bit dengan panjang sama, biasanya 64 bit (tapi adakalanya lebih). Algoritma enkripsi menghasilkan blok cipherteks yang – pada kebanyakan sistem kriptografi simetri – berukuran sama dengan blok plainteks.

Dengan blokcipher, blok plainteks yang sama akan dienkripsi menjadi blok cipherteks yang sama bila digunakan kunci yang sama pula. Ini berbeda dengan cipher aliran dimana bit-bit plainteks yang sama akan dienkripsi menjadi bit-bit cipherteks yang berbeda setiap kali dienkripsi.

Misalkan blok plainteks (P) yang berukuran m bit dinyatakan sebagai vektor adalah

(17)

yang dalam hal ini pi adalah 0 atau 1 untuk i = 1, 2, …, m dan blok cipherteks (C) adalah

C = (c1, c2, …,cm) (2.7)

yang dalam hal ini ci adalah 0 atau 1 untuk i = 1, 2, …, m. Bila plainteks dibagi menjadi n

buah blok, barisan blok-blok plainteks dinyatakan sebagai

(P1, P2, …,Pn) (2.8)

Untuk setiap blok plainteks Pi, bit-bit penyusunnya dapat dinyatakan sebagai vektor Pi = (pi1, pi2, …,pim) (2.9)

Enkripsi dan dekripsi dengan kunci K dinyatakan berturut-turut dengan persamaan

EK(P) = C (2.10)

untuk enkripsi, dan

DK(C) = P (2.11)

Fungsi E haruslah fungsi yang berkoresponden satu-ke-satu, sehingga

E-1 = D (2.12)

(18)

Fungsi E dan D dispesifikan oleh kriptografer.

Enkripsi: Dekripsi:

Blok Plainteks P Blok Cipherteks C

P = (p1, p2, …,pm) C = (c1, c2, …, cm)

Kunci K Enkripsi,E Kunci K Dekripsi, D

Blok Cipherteks C Blok Plainteks P

C = (c1, c2, …,cm) P = (p1, p2, …, pm)

Gambar 2.6 Skema enkripsi dan dekripsi pada cipher blok

2.3.3 Kriptografi Kunci Simetri

Algoritma kriptografi asimetris adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Algoritma ini disebut juga algoritma kunci umum (public key algorithm) karena kunci untuk enkripsi dibuat umum (public key) atau dapat diketahui oleh setiap orang, tapi kunci untuk dekripsi hanya diketahui oleh orang yang berwenang mengetahui data yang disandikan atau sering disebut kunci pribadi (private key).Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA dan ECC.

Gambar 2.7 Proses Enkripsi/Dekripsi Algoritma Kriptografi Asimetris

Enkripsi Dekripsi

Plaintext Ciphertext Plaintext

(19)

2.4 Video Encryption Algorithm (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 (misalnya Mpeg-1/Mpeg-2 dengan ekstensi .mpg dan Mpeg-4 dengan ekstensi .mp4)

2. Baca frame file MPEG, baca tipe frame-nya. 3. Baca bit stream dari frame tersebut.

4. Jika frame dari bit stream bukan frame I, maka bit stream langsung ditulis ke file tujuan. 5. Jika bit stream tersebut merupakan bit stream dari frame I, maka bit-bit tersebut di-XOR

kan dengan kunci.

6. Tulis hasil enkripsi ke file tujuan.

7. Baca frame selanjutnya, kembali ke langkah nomor 2 sampai End-of-File.

(20)

File MPEG streaming (.mpg / .mp4)

Buka File MPEG streaming (.mpg / .mp4)

Tipe frame = I?

Baca bistream MPEG

XOR bit – bit video dengan kunci

Tulis hasil ke file tujuan Selesai ? Simpan Kunci Tidak Tidak Ya Ya

Gambar 2.8 Diagram Alir Algoritma VEA untuk video MPEG

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:

(21)

S = ...s1...s2...sm...sm+1...sm+2...s2m..

yang dalam hal ini si (i = 1,2,...) adalah seluruh bit-bit dari video. Fungsi enkripsi VEA, Ek(S) dapat ditulis dengan:

Ek(S) = ...(b1 ⊕s1) ... (bm ⊕sm+1) ... (bm ⊕s2m) ... yang dalam hal ini ⊕ adalah operasi XOR.

2.5 Algoritma Message Digest 5 (MD5)

MD5 adalah fungsi hash satu-arah yang dibuat oleh Ron Rivest. MD5 merupakan perbaikan dari MD4 setelah MD4 berhasil diserang oleh kriptanalis. Algoritma MD5 menerima masukan berupa pesan dengan ukuran sembarang dan menghasilkan message digest yang panjangnya 128 bit. Gambaran pembuatan message digest dengan algoritma MD5 diperlihatkan pada Gambar 2.9.

(22)

Pesan Dan Ukuran pesan

Penambahan Bit Padding Inisialisasi Buffer MD Pengolahan pesan dalam blok berukuran tiap 512 bit Output MD5

Gambar 2.10 Blok Diagram Umum MD5

Langkah-langkah pembuatan message digest secara garis besar adalah sebagai berikut : 1. Mendapatkan pesan yang akan dilakukan MD5 dan mendapatkan ukuran dari pesan. 2. Penambahan bit-bit pengganjal (padding bits).

3. Insialisasi penyangga (buffer) untuk proses MD.

4. Pengolahan pesan dalam tiap 512 bit dan melakukan proses putaran dan operasi dasar MD5.

5. Mendapatkan hasil output MD5.

Contoh sederhana masukan – keluaran MD5 : Masukan = ”” Keluaran = d4 1d 8c d9 8f 00 b2 04 c9 80 09 98 ec f8 42 7e Masukan = “a” Keluaran = 0c c1 75 b9 c0 f1 b6 a8 31 c3 99 e2 69 77 26 61 Masukan = “b” Keluaran = 92 eb 5f fe e6 ae 2f ec 3a d7 1c 77 75 31 57 8f

Masukan MD5 dalam contoh di atas adalah karakter kosong (“”), a, dan b. Keluaran berupa bilangan hexa dan jumlahnya 128 bit. Misalkan d berarti sama dengan angka 13 desimal tau 1101 biner. Hanya dengan masukan yang berbeda satu karakter, keluaran mengalami perubahan drastis. Sifat seperti ini sengaja dibuat agar bila diketahui keluaran, sangat sulit atau mustahil untuk mengetahui masukannya.

(23)

2.6 Framework Aforge.net

Framework Aforge.net merupakan framework C# yang dirancang bagi para

pengembang dan peneliti di bidang komputer vision dan artificial intelligence yang meliputi pengolahan citra, jaringan syaraf tiruan, algoritma genetika, logika fuzzy, juga

video processing.

Framework Aforge.net terdiri dari library – library yang mempunyai fitur dan

kegunaan masing antara lain :

AForge.Imaging - library dengan fungsi – fungsi pangolahan citra dan filter. AForge.Vision – library dengan fungsi – fungsi computer vision.

AForge.Video – kumpulan library – library untuk video processing. AForge.Neuro - library dengan fungsi – fungsi komputasi jaringan syaraf.

AForge.Genetic - library dengan fungsi – fungsi pemrograman genetik atau evolusi. AForge.Fuzzy - library dengan fungsi –fungsi komputsai fuzzy.

AForge.Robotics - library yang menyediakan beberapa fungsi bantuan untuk robotika.

AForge.MachineLearning - library dengan fungsi –fungsi machine learning.

Pada framework Aforge.net.Video menyediakan 2 library untuk melakukan video

processing yaitu AForge.Video.DirectShow dan AForge.Video.FFMPEG. Pada

Aforge.net.Video.DirectShow menggunakan library dari DirectShow yang merupakan bagian dari DirectX yang menangani masalah video. Sedangkan AForge.Video.FFMPEG menggunakan library dari ffmpeg untuk melakukan video processing namun dari pihak Aforge menyatakan masih bahwa penggunaan library ffmpeg ini masih dalam tahap pengembangan.

(24)

2.7 Real-Time Transport Protocol (RTP)

Teknologi yang digunakan dalam media streaming adalah RTP atau Real Time

Transport Protocol. RTP menyediakan layanan pengiriman jaringan untuk transmisi data real time. RTP adalah jaringan dan protokol transport-independen, meskipun sering

digunakan di atas UDP. RTP dapat digunakan pada layanan jaringan unicast dan multicast. Melalui layanan unicast, salinan data yang dipisahkan dikirimkan dari sumber ke tujuan,dan jika pada layanan multicast, data dikirimkan dari sumber hanya sekali dan jaringanlah yang bertanggung jawab untuk mentransmisikan data ke berbagai lokasi. Maka dari itu layanan multicast lebih efisisen untuk berbagai aplikasi multi media, seperti video

conferences.

2.7.1 RTP Header

Dalam sebuah paket RTP terdapat 2 bagian. Yaitu RTP Header dan data yang hendak dikirim. Data yang hendak kita kita melalui RTP memiliki header sebagai pengenal bahwa data tersebut adalah data RTP. Gambar 2.11 adalah gambar dari header dari sebuah paket data RTP.

Gambar 2.11 RTP Header

Penjelasan tentang RTP header adalah sebagai berikut :

1. Version (V) adalah versi dari protocol tersebut. RTP memiliki versi 2. Version memiliki besar 2 bit.

2. Padding (P) adalah jika terdapat byte padding pada paket RTP. Padding memiliki besar 1bit.

(25)

3. Extension (X) merepresentasikan sebuah ekstensi header antara header yang standar dengan playload data.

4. CSRC Count (CC) berisi tentang identifikasi dari CSRC yang mengikuti header yang benar. CSRC Count memiliki besar 4 bit.

5. Marker (M) digunakan pada layer application. jika nilai dari Marker berisi 1, maka data yang dikirim memiliki relevansi yang special dengan aplikasi sebelumnya. Marker memiliki besar 1 bit.

6. Playload Type (PT) menindikasikan format dari playload dan interpretasi dari aplikasi tersebut. Playload Type ditentukan dari profile RTP. Playload Type memilki besar 7 bit. 7. Sequence Number (SN) adalah angka berurutan yang akan bertambah satu untuk setiap data paket yang dikirimkan oleh RTP yang digunakan. Fungsinya adalah untuk mendeteksi paket loss dan mengembalikan urutan paket. RTP tidak mengambil tindakan apapun ketika terjadi paket loss tapi Sequence Number memungkinkan untuk mendeteksi paket mana yang hilang. Sequence Number memiliki besar 16 bit.

8. Timestamp digunakan untuk memungkinkan penerima dapat memutar kembali sampel yang diterima pada interval yang tepat.

9. Synchronization Source (SSRC) identifier digunakan untuk mensinkronkan data RTP yang diterima dengan data yang telah dikirim dari source.

10. Contributing source (CSRC) identifier digunakan untuk menghitung sumber-sumber untuk aliran yang dihasilkan dari berbagai sumber.

2.7.2 RTP Control (RTPC)

RTPC berfungsi untuk menyediakan statistic out-of-band dan sebagai informasi control untuk RTP. RTPC adalah penunjang RTP dalam penyampaian data multimedia. Biasanya RTP akan dikirim pada port UDP genap, sedangkan RTP Control dikirim pada port yang ganjil.

Fungsi utama dari RTPC adalah untuk memberikan laporan tentang kualitas layanan (QoS) dalam media distribusi dengan secara berkala mengirimkan informasi statistik kepada peserta dalam sesi multimedia streaming. RTPC membedakan beberapa jenis paket yaitu

sender report, receiver report, source description, dan bye. Selain itu terdapat pula

(26)

BAB III

METODE PENELITIAN

Pada tahap ini dijelaskan mengenai langkah-langkah yang akan dilakukan untuk merancang dan mengimplementasikan perangkat lunak yang akan dibuat. Adapun langkah-langkah yang akan dilakukan adalah sebagai berikut:

3.1 Penentuan Spesifikasi Alat

Menentukan perangkat yang digunakan untuk menunjang pembuatan aplikasi : a) Perangkat Keras:

1) 2 unit PC

Intel Core 2 Duo E7500 2.93GHz (2 CPUs), mainboard FOXCONN ETON, DDR3 1024MB, VGA intel GMA X4500 Graphics, harddisk 320GB.

2) 1 Switch

Dlink DES-1024R+ ,24 port , 10/100Mbps, full duplex. 3) 2 Kabel UTP RJ45 straight.

b) Perangkat Lunak:

1) OS Windows XP service pack 3,dengan syarat minimum spesifikasi:

Hadware Minimum

Prosesor 233 MHz

Memori 64 MB

Monitor Resolusi 600 x 800 Hard Disk Free 1,5GB

Optical drive CD-ROM

Peralatan Input Mouse dan Keyboard

Sound Speaker

(27)

2) Bahasa pemrograman C#

3) Microsoft Vsual Studio 2008 versi 9.0.21022.8 RTM dan .NET Framework versi 3.5 SP1 dengan minimum spesifikasi :

Hadware Minimum Prosesor 1.6 GHz Memori 384 MB

Monitor Resolusi 1024 x 768 Hard Disk Free 2.2 GB

Optical drive DVD-ROM

PeralatanInput Mouse dan Keyboard Sistem operasi XP Service Pack 2

Tabel 3.2 Minimum Spesifikasi Microsoft Visual Studio 2008

4) Aforge.net versi 2.2.3.

5) File Video MPEG dengan format Mpeg-1, Mpeg-2,dan Mpeg-4.

3.2 Perancangan dan Implementasi Sistem

Secara garis besar desain yang akan dibuat untuk aplikasi Enkripsi Video Streaming menggunakan VEA terdiri dari 2 bagian :

 Program sisi Transmtiter atau Server

Program ini bertugas untuk menyediakan file video yang akan akan distreamingkan, mengenkripsi data video tersebut saat distreamingkan, dan membuat sesi streaming agar

client bisa membangung koneksi streaming.

 Program sisi Receiver atau Client

Program ini bertugas untuk membangun koneksi streaming dengan server, mendekripsi data yang telah diterima dari server, dan menampilkan data video yang diterima yang telah didekripsi tersebut. Namun, jika tidak dilakukan proses dekripsi data video yang akan ditampilkan masih berupa data yang masih terenkripsi.

Enkripsi yang digunakan berbasis stream cipher yakni VEA (Video Encryption

Algorithm ). Dimana aliran bit pada macroblock pada frame I baik berupa 0 atau 1 akan di–

(28)

cara masukan key dari user akan dimasukan ke fungsi hash MD5 sehingga menjadi bertambah kuat proses enkripsinya.

Gambaran umum sistem dengan proses enkripsi dan dekripsi dapat dilihat dalam Gambar 3.1.

.

Gambar 3.1 Rancangan Umum Sistem dengan Proses Enkripsi Tanpa Dekripsi

Sedangkan gambaran umum sistem dengan proses enkripsi tanpa dekripsi dapat dilihat dalam Gambar 3.2.

(29)

Gambar 3.2 Rancangan Umum Sistem dengan Proses Enkripsi dan Dekripsi

3.2.1 Diagram Alir Umum Sistem

Sistem enkripsi video streaming ini terdiri dari beberapa komponen yang dapat digambarkan secara umum dengan model seperti pada Gambar 3.3.

(30)

Start End File Video MPEG Streaming (.mpg / .mp4) Transmitter membuat sesi streaming

Enkripsi data video

Transmitter mengirim / streaming data kepada receiver Receiver membangun koneksi streaming dengan transmitter Receiver menerima data dari transmitter Dekripsi data video Receiver memainkan data yang diterima Input Key dari user Proses MD5 pada Key

Gambar 3.3 Diagram Alir Umum Sistem

Keterangan dari diagram alir pada Gambar 3.3 :

1. Mendapatkan file video Mpeg-1/Mpeg-2 dengan ekstensi .mpg dan Mpeg-4 dengan ekstensi .mp4 yang akan distreamingkan.

2. Mendapatkan private key dari user yang akan digunakan untuk proses enkripsi dan dekripsi.

3. Melakukan proses hash pada key dengan algoritma MD5 yang bertujuan untuk memperkuat enkripsi data video.

4. Transmitter/ server membuat sesi streaming supaya client / receiver dapat membangun koneksi sehingga Transmitter/ server dapat mengirim data streaming.

(31)

Start End File Video MPEG streaming (.mpg / .mp4) Input Key (kunci) Proses MD5 dari Key

Baca File MPEG

Apakah Frame I ?

Ambil Bit Stream

MacroBlock

XOR bit – bit dengan Key

Kirim Paket data

Akhir dari File MPEG

Ya

Tidak

Tidak

Ya

5. Receiver /client melakukan proses koneksi streaming dengan transmitter.

6. Setelah terbangun koneksi antara transmitter dengan receiver, maka dilakukan proses pengiriman data. Namun data yang dikirim akan dienkripsi terlebih dahulu.

7. Proses pengiriman atau streaming data dari transmitter kepada receiver. 8. Receiver proses menerima data streaming dari transmitter.

9. Data yang diterima akan didekripsi oleh receiver untuk mendapatkan data awal.

10. Setelah didapat data video original dari proses dekripsi, maka receiver memainkan data video MPEG tersebut.

3.2.2 Diagram Alir Enkripsi VEA

Diagram alir dari enkripsi VEA ditunjukan pada Gambar 3.4:

(32)

Keterangan dari diagram alir pada Gambar 3.4 :

1. Mendapatkan File video Mpeg-1/Mpeg-2 dengan ekstensi .mpg dan Mpeg-4 dengan ekstensi .mp4 yang akan distreamingkan dan dienkripsi.

2. Mendapatkan Key dari masukan user yang akan digunakan untuk proses enkripsi.

3. Melakukan proses MD5 dari Key yang telah didapat yang betujuan untuk memperkuat Key atau kunci.

4. Membaca file video MPEG.

5. Mengecek apakah frame yang sedang dibaca adalah Frame I. Jika benar, maka bit –bit pada macroblock akan di XOR kan dengan bit – bit key dari hasil proses MD5. Kemudian melakukan proses pengiriman paket atau streaming kepada receiver. Jika hasil pengecekan dari Frame I adalah salah maka bit – bit data tersebut langsung dilakukan proses pengiriman data atau streaming.

6. Dilakukan pengecekan lagi yakni apakah sudah sampai akhir dari file atau end of file (EOF). Jika hasil pengecekan tidak maka dilakukan proses pada point 5, jika hasil penyecekan benar maka proses selesai.

3.3 Pengujian dan Analisis

Pengujian dilakukan untuk menjamin dan memastikan bahwa sistem yang telah dirancang memiliki tingkat kesalahan yang kecil. Untuk mengetahui apakah sistem bekerja dengan baik dan sesuai dengan perancangan, maka diperlukan serangkain pengujian. Pengujian yang dilakukan adalah sebagai berikut:

1. Pengujian Enkrispi Video Streaming . 2. Pengujian hasil output.

3. Analisa kegagalan.

3.4 Kesimpulan dan Saran

Kesimpulan diperoleh dari data-data hasil setelah semua analisis dan pengujian aplikasi dilakukan, sehingga diperoleh saran juga guna perbaikan aplikasi pada penelitian selanjutnya

(33)

3.5 Rencana Kegiatan

Kegiatan ini direncanakan dikerjakan dalam waktu lima bulan dengan rincian sebagai berikut

No. Jenis Kegiatan

BULAN DAN MINGGU KE:

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 Studi Literatur 2 Perancangan Aplikasi 3 Pembuatan Aplikasi 4 Pengujian Aplikasi 5 Penulisan Laporan 6 Seminar Hasil

(34)

DAFTAR PUSTAKA

[1] Stallings, William. 2005. “Cryptography and Network Security, 4th edition”. [2] Munir, Rinaldi, M.T., “Diktat Kuliah IF5054 Kriptografi.”, STEI ITB, 2006.

[3] Tessa Ramsky, "Perangkat Lunak Enkripsi Video MPEG-1 dengan Modifikasi Video

encryption algorithm (VEA)", Sekolah Teknik Elektro dan Informatika-Institut

Teknologi Bandung.

[4] Letivina Anggraini, Erina. 2008. “Secure Broadcast Distribution Menggunakan Java

Media Framework (Jmf) Plug-Ins Untuk Pendistribusian Video”.

[5] http://en.pudn.com/ tentang contoh implementasi pengiriman paket data RTP, diakses tanggal 1 Februari 2012.

[6] http://id.wikipedia.org/wiki/MD5, diakses tanggal 1 Februari 2012. [7] http://mpeg.htm/mpeg, diakses tanggal 5 Februari 2012.

[8] http://id.wikipedia.org/wiki/Moving-Picture-Expert-Group, diakses tanggal 5 Februari 2012.

[9] http://en.wikipedia.org/wiki/AForge.NET, diakses tanggal 10 Februari 2012. [10] http://www.csharp-station.com/Tutorial.aspx, diakses tanggal 10 Februari 2012. [11] http://msdn.microsoft.com/en-us/vstudio/hh388566, diakses tanggal 10 Februari 2012 [12] http://www.aforgenet.com/framework/, diakses tanggal 10 Februari 2012

Gambar

Gambar 2.1 Struktur File Format MPEG
Tabel 2.2 Start Code
Tabel 2.3 Stream ID
Gambar 2.3 menunjukkan model dari video streaming.
+7

Referensi

Dokumen terkait

Berdasarkan penjelasan di atas, dapat diketahui bahwasanya praktek perceraian masyarakat Desa Parit Kecamatan Sungai Gelam Kabupaten Muaro Jambi tidak sesuai dengan ketentuan

kebudayaan, dan individu di muka bumi ini, tanpa sekat-sekat ruang komunikasi Sri Hastanto 2005 INVENTARSASI WARISAN BUDAYA TAK BENDA, Apa, Mengapa, dan Bagaimana Pengelolaan

Peran Pegawai Pencatat Nikah (PPN) Kantor Urusan Agama Kecamatan Manggala Dalam Penyelesaian Pernikahan Wali Adhal adalah pertama, PPN bertindak sebagai mediator

Berdasarkan pengamatan dibawah mikroskop dengan perbesaran 400× didapatkan empat spesies mikroalga, tiga spesies ditemukan dari sampel menggunakan plankton net dan

Karena berbagai motif batik tulis sebagai sebuah kreasi seni batik di Indonesia berkembang secara beragam.Sementara itu difinisi batik dalam kontek budaya masih juga belum

squamosa yang terdapat di lokasi tersebut masih layak untuk dikonsumsi, hal ini sejalan dengan penelitian terdahulu yang menyatakan bahwa semakin banyak polutan yang

mutu jasa yang dihasilkan oleh profesi akuntan publik di Indonesia..

Majelis Hakim dalam memutus perkara berdasarkan pertimbangan kemashlahatan dengan menghindari bahkan menghilangkan kemadharatan yang mukin akan timbul, baik untuk Penggugat