ABSTRACT
HERMAWAN TRI ROSANJA. Combining Data Compression Techniques and Stream Ciphers Encryption for Digital Image Security. Supervised by SHELVIE NIDYA NEYMAN.
One of the most common information form is image. Some certain images are strictly confidential, therefore, it has to be kept confidential. The process of maintaining its confidentiality is related to cryptography. Cryptography has two main components, encryption and decryption. In many cases, confidentiality is not the only issue, but also how the data is stored and transferred. To solve these issues, data compression is required. The purpose of this research is to apply data compression techniques and stream ciphers encryption for digital image, and to analyze the result. This research uses DCT method and quantization with compression level 50 (in 1-100 scale). LFSR method is used to generate a key. Then, PSNR value of the decrypted image is calculated. As a result, this research shows that the compression process affects encryption time, the time required to encrypt and decrypt an image is getting longer as the size of the image grows.
PENGGABUNGAN TEKNIK KOMPRESI DATA DAN ENKRIPSI
SANDI ALIR UNTUK KEAMANAN CITRA DIGITAL
HERMAWAN TRI ROSANJA
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
ABSTRACT
HERMAWAN TRI ROSANJA. Combining Data Compression Techniques and Stream Ciphers Encryption for Digital Image Security. Supervised by SHELVIE NIDYA NEYMAN.
One of the most common information form is image. Some certain images are strictly confidential, therefore, it has to be kept confidential. The process of maintaining its confidentiality is related to cryptography. Cryptography has two main components, encryption and decryption. In many cases, confidentiality is not the only issue, but also how the data is stored and transferred. To solve these issues, data compression is required. The purpose of this research is to apply data compression techniques and stream ciphers encryption for digital image, and to analyze the result. This research uses DCT method and quantization with compression level 50 (in 1-100 scale). LFSR method is used to generate a key. Then, PSNR value of the decrypted image is calculated. As a result, this research shows that the compression process affects encryption time, the time required to encrypt and decrypt an image is getting longer as the size of the image grows.
PENGGABUNGAN TEKNIK KOMPRESI DATA DAN ENKRIPSI
SANDI ALIR UNTUK KEAMANAN CITRA DIGITAL
HERMAWAN TRI ROSANJA
Skripsi
Sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer pada
Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
Judul : Penggabungan Teknik Kompresi Data dan Enkripsi Sandi Alir Untuk Keamanan Citra Digital
Nama : Hermawan Tri Rosanja NIM : G64052892
Menyetujui
Pembimbing
Shelvie Nidya Neyman, S.Kom., M.Si. NIP. 19770206 200501 2 002
Mengetahui Ketua Departemen
Dr. Ir. Sri Nurdiati, M.Sc. NIP. 19601126 198601 2 001
PRAKATA
Alhamdulillahi Rabbil ‘alamin, puji dan syukur penulis panjatkan kepada Allah SWT atas limpahan rahmat dan hidayah-Nya sehingga tugas akhir dengan judul Penggabungan kompresi Data dan Enkripsi Sandi Alir Untuk Keamanan Citra Digital dapat diselesaikan. Penelitian ini dilaksanakan mulai Maret 2010 sampai dengan Agustus 2011, bertempat di Departemen Ilmu Komputer.
Penulis mengucapkan terima kasih kepada semua pihak yang telah membantu penulis dalam menyelesaikan tulisan akhir ini, antara lain kepada Bapak dan Ibu atas cinta kasih, bimbingan dan iringan doa yang tak ternilai. Kepada adik-adikku, Yekti dan Yuli serta kepada kakakku Ika atas motivasi serta canda tawa yang diberikan. Kepada Nur Khoiriyah atas kasih sayang yang tidak ternilai serta dukungan yang tidak hentinya. Ucapan terima kasih dan penghargaan yang setinggi-tingginya kepada Ibu Shelvie Nidya Neyman, S.Kom., M.Si. selaku pembimbing atas bimbingan dan arahan yang diberikan, tidak hanya mengenai tugas akhir ini tetapi juga tentang kehidupan secara luas, Bapak Aziz Kustiyo, S.Si, M.Kom dan Bapak Endang Purnama Giri, S.kom, M.Kom selaku dosen penguji yang telah memberikan saran dan kritik yang membangun kepada penulis. Tidak lupa kepada semua dosen pengajar yang telah mendidik, membina serta mengajar penulis selama menjadi civitas akademika Departemen Ilmu Komputer. Kepada staf TU dan pendukung Departemen Ilmu Komputer IPB yang tidak dapat disebutkan satu-persatu untuk semua bantuannya selama masa perkuliahan, seminar dan siding.
Selanjutnya, penulis ingin mengucapkan terima kasih kepada Fahri, Rofiq, Makinun, Ardi, Hasyim, Wardi, Fahmilu, Mizan, Haryanto, Furqon, Wisnu, Hanif, Sendi, Isa, Hengky, Desca, Fatoni dan semua Ilkomerz 42 atas kebersamaan dalam mengarungi masa-masa sebagai mahasiswa di Institut Pertanian Bogor.
Penulis menyadari bahwa penelitian ini masih jauh dari kesempurnaan. Oleh karena itu, penulis sangat mengharapkan kritik dan saran untuk perbaikan penelitian selanjutnya. Besar harapan penulis bahwa apa yang telah dikerjakan dapat memberikan manfaat bagi semua pihak, khususnya untuk para peneliti yang berminat melanjutkan dan menyempurnakan penelitian ini.
Bogor, Agustus 2011
RIWAYAT HIDUP
Penulis dilahirkan pada tanggal 01 Maret 1986 di Tegal sebagai anak ketiga dari lima bersaudara dari pasangan Nanang Sahroni dan Maslakha Tur Rofiah.
iv
DAFTAR ISIHalaman
DAFTAR TABEL ... v
DAFTAR GAMBAR ... v
PENDAHULUAN Latar Belakang ... 1
Tujuan ... 1
Ruang Lingkup ... 1
TINJAUAN PUSTAKA Citra ... 1
Representasi Citra ... 2
Kompresi ... 2
Discrete Cosine Transform (DCT) ... 3
Kuantisasi... 3
Kriptografi ... 3
Enkripsi ... 3
Dekripsi... 3
Sandi Alir Kunci Simetrik ... 3
Sandi Alir Selaras ... 4
Sandi Alir Adatif Biner ... 4
Register Geser Umpan Balik Linear ... 4
Peak Signal to Noise Ratio (PSNR) ... 5
Uji T ... 5
METODE PENELITIAN Tahap Enkripsi Citra ... 6
Citra ... 6
Tahap Kompresi Citra ... 6
Representasi Citra ... 6
Proses Konstruksi Blok Data ... 6
Proses Transformasi Blok Data ... 6
Proses Kuantisasi ... 6
Proses Dekuantisasi ... 7
Proses LFSR ... 7
Tahap Dekripsi Citra... 7
HASIL DAN PEMBAHASAN Analisis Hasil Enkripsi ... 7
Analisis Hasil Dekripsi ... 8
Analisis Perbandingan Waktu Eksekusi Proses Enkripsi antara Citra Asli dengan Citra Terkompresi ... 9
Perbandingan Antara Citra Asli dan Citra Hasil Dekripsi ... 10
KESIMPULAN DAN SARAN Kesimpulan ... 10
Saran ... 10
v
DAFTAR TABELHalaman
1 Ukuran citra asli dan citra kompresi (dalam kB) ... 8
2 Waktu proses enkripsi citra terkompresi (dalam detik) ... 8
3 Waktu proses dekripsi (dalam detik) ... 9
4 Waktu proses enkripsi citra asli ... 9
5 Hasil uji statistik waktu eksekusi pada dimensi 160 x 120 ... 9
6 Hasil uji statistik waktu eksekusi pada dimensi 256 x 256 ... 9
7 Hasil uji statistik waktu eksekusi pada dimensi 320 x 240 ... 10
8 Hasil uji statistik waktu eksekusi pada dimensi 460 x 425 ... 10
9 Nilai PSNR hasil dekripsi ... 10
DAFTAR GAMBAR Halaman 1 Skema umum proses enkripsi dengan sandi alir selaras... 4
2 Skema umum proses dekripsi dengan sandi alir selaras ... 4
3 Skema umum proses enkripsi dengan sandi alir adatif biner. ... 4
4 Skema umum proses deskripsi dengan sandi alir adatif biner. ... 4
5 Skema LFSR dengan panjang L. ... 5
6 Bagan alir proses enkripsi. ... 6
7 Bagan alir proses dekripsi. ... 7
8 Waktu rata-rata proses enkripsi. ... 8
9 Citra asli. ... 8
10 Citra enkripsi... 8
11 Citra dekripsi... 8
2 Citra digital dibagi menjadi dua yaitu: citra
bitmap dan citra vektor. Citra bitmap sering disebut sebagai citra raster yaitu citra yang terdiri atas titik-titik atau pixel. Masing-masing
pixel ini mempunyai lokasi serta warna tersendiri yang secara keseluruhan membentuk sebuah tampilan citra. Kehalusan tampilan citra ini sangat bergantung pada resolusi serta jumlah titik atau pixel yang membentuk citra tersebut (Anggawirya 2004).
Apabila kita memperbesar tampilan citra jenis ini, maka citra akan kelihatan seperti kotak-kotak. Semakin besar tampilan citra maka semakin besar pula kotak-kotak tersebut, yang sebenarnya merupakan tampilan pixel yang diperbesar. Contoh dari citra bitmap adalah foto, citra hasil scanner serta citra yang dihasilkan dari software grafis seperti : Adobe Photoshop, Corel PhotoPaint dan beberapa
software garfish lainnya.
Citra vektor yaitu citra yang terbentuk dari sejumlah garis dan kurva. Citra vektor mempunyai kualitas citra tetap baik apabila citra ini diperbesar karena citra vektor bukan terbentuk dari kumpulan titik.
Representasi Citra
Sebuah citra dapat direpresentasikan ke dalam tiga jenis, yaitu citra skala keabuan, citra berwarna, citra hitam-putih. Citra digital dapat ditampilkan dalam bentuk matrikss berukuran M x N dengan M menunjukkan banyaknya sel dalam baris dan N menunjukkan banyaknya sel dalam kolom. Jadi citra digital dapat dinyatakan dalam matrikss M x N sel, dan tiap sel menyimpan nilai intensitas warna dari koordinat spasial sel tersebut. Sel matrikss disebut juga
pixel (Gonzales & Woods 2002).
Citra digital warna mempunyai format 8-bit
dan 24-bit. Citra dengan format 8-bit
mempunyai 256 nilai intensitas warna karena tiap nilai diwakili oleh 8-bit atau 1 byte
(28=256). Nilai ini berkisar dari 0 sampai 255, nilai 0 menunjukkan intensitas paling gelap (hitam) dan nilai 255 menunjukkan intensitas paling terang (putih). Untuk citra dengan format 24-bit tiap nilai intensitas warna merupakan kombinasi dari tiga nilai intensitas warna utama yaitu merah, hijau, dan biru. Tiap nilai pixel
dibagi menjadi 3 segmen yang masing-masing terdiri dari 8-bit secara berurutan menunjukkan nilai intensitas warna merah, hijau dan biru.
Kompresi
Kompresi citra atau pemampatan citra dapat mengatasi masalah besarnya ukuran citra dan
lamanya waktu transfer (Gonzales & Woods 2002). Kompresi citra digital merupakan upaya untuk melakukan transformasi terhadap data atau simbol penyusun citra digital menjadi data atau simbol lain, tanpa menimbulkan perubahan yang jauh atas citra digital tersebut bagi mata manusia yang mengamatinya. Kompresi haruslah dilakukan secara efektif, sehingga citra digital yang dihasilkan setelah proses kompresi mempunyai ukuran yang lebih kecil dibandingkan sebelum menjalani proses kompresi. Dengan melakukan kompresi data maka tempat penyimpanan sedikit dapat dihemat dan transfer data akan lebih cepat ataupun
bandwith yang diperlukan tidak terlalu tinggi. Teknik kompresi data dapat dibagi menjadi dua kategori besar, yaitu:
1 Lossy Compression
Lossy compression menyebabkan ukuran file citra digital menjadi lebih kecil dengan menghilangkan beberapa informasi dalam citra asli. Sebagai gantinya lossy compression memberikan derajat kompresi lebih tinggi.
Teknik ini mengubah detail dan warna pada file citra menjadi lebih sederhana tanpa terlihat perbedaan yang mencolok dalam pandangan manusia, sehingga ukurannya menjadi lebih kecil.
Biasanya digunakan pada citra foto atau image lain yang tidak terlalu memerlukan detail citra, dimana kehilangan bit rate foto tidak berpengaruh pada citra.
Beberapa contoh yang termasuk metode
lossy compression antara lain: color reduction, chroma subsampling, dan teknik kompresi jpeg.
2 Lossless Compression
Teknik kompresi citra dimana tidak ada satupun informasi citra yang dihilangkan. Kompresi ini cocok untuk basis data, dokumen atau spreadsheet, rekaman medis kedokteran, serta rakaman kejahatan kepolisian (crime images) untuk data sidik jari (finger print).
Beberapa contoh yang termasuk metode
loseless antara lain: Run Length Encoding,
3
Discrete Cosine Transform (DCT)
Proses kompresi pada citra digital menggunakan proses transformasi DCT untuk merubah data dari domain ruang ke dalam domain frekuensi. Proses transformasi DCT dilakukan pada data digital setelah sebelumnya citra digital tersebut dibagi menjadi blok-blok 8x8 (Ansari & Memon 2000).
Alihragam DCT sangat mirip dengan alihragam fourier 2 dimensi yang mengubah dari daerah waktu (blok 8×8 asli) menjadi daerah frekuensi (64 koefisien yang baru menunjukkan amplitude dari analisis ruang frekuensi ).
Input pada proses transformasi DCT berupa matrikss dua dimensi. DCT ditampilkan dengan sebuah nilai piksel matrikss persegi N×N, dan menghasilkan sebuah koefisien frekuensi dari matrikss persegi N×N. Rumus untuk DCT maju dan DCT balik adalah sebagai berikut: FDCT:
Bpq=αpαq
dimana
IDCT: Amn=
dimana
Kuantisasi
Kuantisasi secara sederhana merupakan proses untuk mengurangi jumlah bit yang dibutuhkan untuk menyimpan sebuah nilai bilangan bulat dengan mengurangi ketelitian bilangan bulat (Cabeen & Gent 1998).
Algoritme JPEG menerapkan kuantisasi yang menggunakan sebuah matrikss kuantisasi. Untuk tiap posisi elemen pada matrikss DCT, nilai yang sesuai dengan matrikss kuantisasi memberikan sebuah nilai kuantum. Nilai kuantum menunjukkan langkah ukuran yang akan menjadi elemen tersebut dalam menerjemahkan pemampatan dari gambar,
dengan nilai berkisar dari satu sampai dengan 255. Rumus yang sebenarnya untuk kuantisasi adalah cukup sederhana, seperti di bawah ini:
Nilai Kuantisasi = DCT / Quantum
Dari rumus di atas, dapat disimpulkan bahwa besar kecilnya nilai kuantisasi dipengaruhi oleh nilai quantum.
Kriptografi
Kriptografi adalah suatu studi teknik matematika yang berkaitan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, autentikasi entitas, dan autentikasi asal data. Kriptografi tidak hanya sebagai alat untuk menyediakan keamanan informasi, tetapi juga berisi teknik atau prosedur yang berhubungan dengan keamanan informasi (Menezes et al. 1996).
Kriptografi memiliki beberapa tujuan di antaranya adalah sebagai berikut:
Kerahasiaan adalah suatu layanan yang digunakan untuk menjaga isi informasi dari semua yang tidak berwenang memilikinya. Integritas data adalah suatu layanan yang berkaitan dengan pengubahan data dari pihak-pihak yang tidak berwenang.
Otentikasi adalah suatu layanan yang berhubungan dengan identifikasi entitas dari informasi itu sendiri.
Non-repudiasi adalah suatu layanan yang ditujukan untuk mencegah terjadinya pelanggaran kesepakatan yang telah dibuat sebelumnya oleh entitas.
Enkripsi
Enkripsi adalah proses mengubah pesan asli (plaintext) menjadi pesan yang dikodekan (ciphertext). Plaintext dapat berupa deretan bit, sebuah file teks, gambar bitmap, aliran suara digital, gambar video digital, dan lain-lain (Stallings 2003).
Dekripsi
Dekripsimerupakan kebalikan dari enkripsi, yaitu proses mendapatkan plaintext dari
ciphertext (Stallings 2003). Hasil dekripsi harus mampu mengembalikan citra enkripsi menjadi citra asli.
Sandi AlirKunci Simetrik
4 waktu. Hal ini berbeda dengan sandi blok yang
mengenkripsi sekelompok karakter atau bit dalam satu waktu.
Misalkan K adalah ruang kunci untuk himpunan semua transformasi enkripsi. Barisan simbol e1e2e3...ei K, disebut alir kunci (key stream).
Diberikan A adalah alfabet dengan q simbol dan Ee adalah sandi substitusi sederhana dengan
panjang blok 1. Misalkan m1 m2 m3... adalah
string plaintext dan e1e2e3... adalah alir kunci K.
Sandi alir menransformasikan string plaintext
ke string ciphertext c1c2c3... dengan rumus
. Jika di menotasikan kebalikan
dari ei, maka mendekripsi string
ciphertext ke string plaintext. Sandi Alir dapat dimanfaatkan untuk melakukan proses enkripsi dan dekripsi terhadap gambar (Bayro-Corrochano 2003).
Sandi Alir Selaras
Sandi alir selaras adalah sandi alir kunci simetrik yang alir kuncinya dibangkitkan secara bebas baik dari plaintext maupun ciphertext
(Menezes et al. 1996).
Proses sandi alir selaras dapat dinyatakan dengan persamaan:
... (1)
... (2)
... (3)
adalah status inisial (initial state) dan bisa ditentukan dari kunci k, f adalah fungsi status berikutnya, g adalah fungsi yang memproduksi alirkunci zi dan h adalah fungsi
output yang mengombinasikan alir kunci dan
plaintextmi untuk memproduksi ciphertextci.
Gambar 1 Skema umum proses enkripsi dengan sandi alir selaras.
Gambar 2 Skema umum proses dekripsi dengan sandi alir selaras.
Sandi Alir Adatif Biner
Sandi alir adatif biner adalah sandi alir selaras yang alirkunci, plaintext dan ciphertext
berdigit biner, serta fungsi output h adalah fungsi XOR (Menezes et al. 1996).
Gambar 3 Skema umum proses enkripsi dengan sandi alir adatif biner.
Gambar 4 Skema umum proses dekripsi dengan sandi alir adatif biner.
Register Geser Umpan Balik Linear
Register Geser Umpan Balik Linear atau
Linear Feedback Shift Register (LFSR) dapat digunakan sebagai keystream generator untuk membangkitkan alir kunci (Menezes et al. 1996).
LFSR dengan panjang L terdiri dari L tahap (stage) yang dinomori dengan 0,1,2,...,L-1, masing-masing mampu menyimpan 1 bit dan mempunyai 1 input dan 1 output serta dilengkapi suatu clock yang mengontrol pergerakan data (Menezes et al. 1996). Selama setiap satuan waktu operasi berikut dikerjakan: 1 Isi tahap 0 adalah output dan membentuk
bagian dari barisan output.
2 Isi tahap i digerakkan ke tahap i-1 untuk
setiap i, .
3 Isi baru dari tahap L-1 adalah bit arus balik (feedback bit) sj yang dihitung dengan menambahkan sekaligus isi subhimpunan tetap dari {0,1,2,...,L-1} modulo 2.
)
(
ie
i
E
m
c
i
i i
d
c
m
D
i
(
)
k
f
ii 1
,
k
g
z
i i,
i i
i
h
z
m
c
,
0
1
5 Gambar 5 Skema LFSR dengan panjang L.
LFSR dinotasikan dengan .
C(D) adalah polinomial penghubung yang memenuhi persamaan berikut:
... (4) Jika status inisial dari LFSR adalah
, maka barisan s = s0, s1, s2...
ditentukan oleh rekursi
mod 2 untuk
Untuk semua status inisial yang mungkin, setiap barisan output dari LFSR
adalah periodik jika dan hanya jika polinomial penghubung C(D) mempunyai derajat L
(Menezes et al. 1996).
LFSR yang digunakan pada enkripsi dan dekripsi gambar sebaiknya adalah LFSR yang mampu menghasilkan aliran bit acak dengan periode yang cukup besar. Aliran bit yang dihasilkan tidaklah sepenuhnya acak, namun akan berulang pada periode tertentu. Dengan demikian, dapat dikatakan aliran bit yang dihasilkan adalah aliran bit acak semu.
LFSR akan menghasilkan output
dengan periode maksimum 2L – 1 jika C(D)
adalah polinomial primitif.
Peak Signal to Noise Ratio (PSNR)
Signal to Noise Ratio (SNR) digunakan pada matrikss distorsi pixel based visual dan digunakan untuk mengukur distorsi antara citra asli dengan citra setelah dilakukan proses terhadapnya (Katzenbeisser et al. 2000, diacu dalam Ramadhan 2005). Sedangkan PSNR merupakan sebuah istilah dalam engineering
yang digunakan untuk mengukur rasio antara kekuatan kemungkinan maksimum dari sebuah sinyal dan kekuatan pengorupsian noise yang dapat mempengaruhi kemurnian representasi aslinya.
Nilai PSNR dapat dihitung dengan menggunakan rumus:
,
dengan nilai MSE dapat dihitung dengan menggunakan rumus:
Hasil penghitungan ini memiliki satuan dB (desibel). Nilai PSNR yang rendah menunjukkan bahwa citra telah mengalami distorsi yang cukup besar. Jika nilai PSNR lebih besar dari 30dB maka hasil dekripsi mempunyai kualitas yang bagus. Keterangan rumus di atas adalah sebagai berikut:
MAX1 = nilai piksel maksimum pada citra I.
MSE = Mean Squared Error, yang menunjukkan rata-rata noise yang terjadi antara citra I dan citra K.
m = jumlah baris dari citra I.
n = jumlah baris dari kolom K.
Uji t
Uji t dilakukan apabila ukuran contohnya kecil (n < 30). Rumus untuk mencari nilai t hitung jika ragam tidak diketahui adalah sebagai berikut :
Keterangan : n = ukuran contoh µ = rata-rata s = simpangan baku x = nilai tengah
Uji t bisa digunakan untuk menguji hipotesis statistik misalnya hipotesis statistik tersebut terdiri atas H0 : µA = µk dan H1 : µA ≠ µk. Tujuan
dilakukan uji hipotesis statistik salah satunya adalah untuk mengetahui ada perbedaan yang nyata atau tidak suatu faktor yang diperbandingkan. Jika nilai t hitung lebih besar dari t tabel atau p-value < α, maka tolak H0
(Walpole 1995).
METODE PENELITIAN
Metodologi yang digunakan pada penelitian ini terdiri atas beberapa tahap. Penelitian diawali dengan studi pustaka, penentuan topik, kemudian dilanjutkan dengan perumusan masalah. Pada tahap perumusan masalah, permasalahan yang didapatkan adalah mengenai keamanan citra digital. Setelah itu penelitian dilanjutkan dengan analisis dan implementasi yang terdiri atas tahap enkripsi dan dekripsi.
D
C
L,
D D c D c D C L L 2 1 ... 1 ) ( 0 1 1,...,
s
,
s
s
LL j L j
j
c
s
c
s
s
1 1...
6
Tahap Enkripsi Citra
Tahap enkripsi yang dilakukan pada penelitian ini secara garis besar dapat dilihat pada Gambar 6.
Citra mulai
Selesai Representasi Citra
Transformasi DCT
Kuantisasi
Dekuantisasi
Transformasi IDCT
Kontruksi blok data
Citra Terkompresi
Representasi Citra
Key LFSR
Representasi Citra
Citra Terenkripsi Tahap Kompresi Citra
Konstruksi blok data
Representasi Citra
XOR
Citra
Citra digital yang digunakan dalam penelitian ini adalah citra raster yang berukuran, 160 x 120 , 256 x 256, 320 x 240 dan 460 x 425, masing-masing ukuran terdiri dari 10 gambar berbeda dalam format file .jpg. Citra digital tersebut didapat dari berbagai sumber khususnya dari internet. Citra tersebut kemudian diubah ukurannya sesuai dengan kebutuhan untuk pengujian.
Tahap Kompresi Citra
Teknik kompresi yang digunakan
menggunakan metode DCT dan kuantisasi. Level kompresi yang digunakan adalah 50 dari skala 1 sampai 100. Tahap kompresi citra memiliki beberapa tahapan antara lain:
Representasi Citra
Citra yang digunakan dalam percobaan adalah gambar raster dengan model warna RGB 24-bit. Masing-masing komponen red, green, blue akan diproses ke dalam proses kontruksi blok data.
Proses Konstruksi Blok Data
Proses konstruksi blok data adalah proses membagi data ke dalam blok-blok data berukuran sama yaitu 8 x 8. Setelah pembentukan blok data selesai kemudian citra tersebut kita kurangi dengan 128.
Proses Transformasi Blok Data
Proses transformasi DCT dan IDCT dilakukan pada blok data berukuran 8 x 8. Tiap-tiap blok data akan ditransformasi dengan menggunakan matrikss transformasi T berukuran 8 x 8. Proses transformasinya sendiri adalah sebagai berikut:
1 Transformasi DCT, B=TAT’. Dimana A
merupakan matriks blok 8 x 8 dari hasil pengurangan antara citra asli dengan 128, dan B merupakan matriks koefisien DCT.
2 Transformasi IDCT, A=T’BT. Dimana B
merupakan matriks blok 8 x 8 hasil dekuantisasi dan A merupakan matriks koefisien IDCT.
Proses Kuantisasi
Proses kuantisasi merupakan proses pembagian antara koefisien DCT dengan tabel kuantisasi. Tabel kuantisasi bergantung dari level kompresi yang diberikan. Level kompresi berkisar antara skala 1 sampai 100. Pada penelitian ini level kompresi yang digunakan adalah 50. Hasil kuantisasi akan digunakan sebagai input proses dekuantisasi.
7
Proses Dekuantisasi
Proses dekuantisasi merupakan kebalikan dari proses kuantisasi, yaitu proses perkalian antara hasil kuantisasi dengan tabel kuantisasi. Hasil dekuantisasi akan digunakan sebagai inputan proses IDCT.
Proses LFSR
Pada proses LFSR terdapat dua proses yaitu proses pembangkitan kunci dan proses XOR antara kunci dengan masing-masing komponen
red, green, blue. Di dalam proses pembangkitan kunci penulis menggunakan LFSR, initial value
yang digunakan adalah kunci masukan yang panjangnya 8 karakter. Penelitian ini menggunakan pergeseran LFSR-nya setiap 8 baris. Semakin besar angka pergeseranya semakin cepat proses pembangkitan kuncinya. Begitu pula sebaliknya semakin kecil angka pergeserannya proses pembangkitan kuncinya semakin lama. Setelah proses pembangkitan kuncinya selesai selanjutnya masing-masing komponen red, green, blue di xor kan dengan kunci. Setelah proses xor selesai akan didapat citra hasil enkripsi.
Tahap Dekripsi Citra
Tahap dekripsi yang dilakukan pada penelitian ini secara garis besar dapat dilihat pada Gambar 7. Pada gambar ini dapat kita lihat bahwa proses dekripsi mempunyai algoritme yang sama dengan proses enkripsi namun di dalam proses dekripsi tidak terdapat proses kompresi citra.
Penelitian ini diimplementasikan pada perangkat keras dengan spesifikasi:
Notebook dengan processor Intel Core Duo 2.2 GHz.
Memory 2 GB.
Harddisk 320 GB.
Keyboard, mouse, dan monitor.
Di sisi lain perangkat lunak yang digunakan adalah:
Sistem Operasi Microsoft Windows XP Professional.
Matlab 7.0.1 Minitab 14
Setelah tahap enkripsi dan dekripsi dilakukan, maka dilakukan analisis terhadap hasil yang diperoleh. Hal-hal yang dianalisis dalam penelitian ini adalah mengenai:
Perbandingan citra hasil dekripsi dengan citra asli.
Perbandingan waktu eksekusi antara proses enkripsi citra terkompresi dengan citra asli.
Setelah menganalisis hasil pada tahap sebelumnya, maka dilanjutkan dengan tahap penarikan kesimpulan.
mulai
Selesai
Key LFSR
Representasi Citra
Citra Terdekripsi
XOR Citra Terenkripsi
Representasi Citra
HASIL DAN PEMBAHASAN Analisis Hasil Enkripsi
Pada penelitian ini citra digital yang digunakan adalah citra raster yang berukuran 160 x 120 , 256 x 256, 320 x 240, dan 460 x 425 masing-masing ukuran terdiri atas 10 citra berbeda dalam format file .jpg.
Proses enkripsi diawali dengan proses kompresi terlebih dahulu. Level kompresi yang digunakan dalam penelitian ini adalah 50. Kemudian proses selanjutnya adalah proses pembentukan kunci menggunakan sandi alir LFSR. Initial value yang digunakan adalah kunci masukan yang panjangnya 8 karakter. Penelitian ini menggunakan pergeseran LFSRnya setiap 8 baris. Polinomial penghubung yang digunakan pada penelitian ini adalah C(D)=[1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]. Proses selanjutnya adalah meng-XOR kan antara kunci yang hasil LFSR dengan citra hasil kompresi. Setelah proses XOR selesai akan menghasilkan citra terenkripsi.
8 Proses enkripsi akan menghasilkan citra
terkompresi dan citra enkripsi. Hasil yang dicatat adalah data citra asli, citra hasil kompresi dan waktu proses enkripsi pada setiap citra. Data citra asli dan citra hasil kompresi dapat dilihat dalam Tabel 1.,sedangkan Data waktu proses enkripsi dapat dilihat dalam Tabel 2.
Tabel 1 Ukuran citra asli dan citra kompresi (dalam kB).
Citra
Dimensi Citra
160x120 256x 256 320x240 460x425
A K A K A K A K
1 38 4 87 10 34 12 196 25
2 24 5 41 11 42 12 70 23
3 15 3 23 6 23 7 35 12
4 25 5 45 13 46 15 80 32
5 17 3 31 8 32 9 57 20
6 22 5 40 11 41 13 72 29
7 56 6 157 20 175 24 435 65
8 32 4 68 9 74 11 141 21
9 31 4 68 9 74 11 144 21
10 30 4 61 9 67 10 131 21
K=citra kompresi, A= Citra Asli
Tabel 2 Waktu proses enkripsi citra terkompresi (dalam detik).
Citra Dimensi citra
160x120 256x256 320x240 460x425
1 6.312 36.485 49.157 602.250 2 6.640 38.844 55.000 619.406 3 6.156 34.812 52.829 627.875 4 7.563 31.344 49.344 617.328 5 6.359 33.078 58.703 603.187
6 7.390 39.672 48.953 627.859 7 6.891 34.438 59.453 632.282 8 6.219 36.187 57.812 638.516 9 7.906 28.250 56.688 628.265 10 6.672 26.125 77.968 632.671
Mean 6.811 33.924 56.591 622.964
Berdasarkan data pada Tabel 2, terlihat bahwa waktu proses enkripsi akan semakin membesar seiring dengan bertambahnya ukuran citra. Jika waktu rata-rata proses enkripsi tersebut ditampilkan dalam sebuah grafik, maka akan terlihat seperti pada Gambar 8.
Gambar 8 Waktu rata-rata proses enkripsi.
Analisis Hasil Dekripsi
Proses dekripsi dilakukan dengan menerapkan algoritme seperti yang telah dijelaskan pada tahap dekripsi di atas. Hasil dekripsi harus mampu mengembalikan citra terenkripsi menjadi citra asli.
Hasil dekripsi dapat dilihat pada gambar di bawah ini:
Gambar 9 citra asli
Gambar 10 citra enkripsi
Gambar 11 citra dekripsi
Dari gambar di atas dapat kita lihat hasil dekripsi dapat mengembalikan citra yang terenkripsi menjadi citra asli. Hasil yang dicatat pada percobaan adalah waktu proses dekripsi setiap citra. Data waktu proses dekripsi dapat dilihat dalam Tabel 3.
0 200 400 600 800
160 x 120 256 x 256 320 x 240 460 x 425
w
a
k
tu
(d
e
ti
k
)
Dimensi Citra
9 0 100 200 300 400 500 600 700
160 x 120 256 x 256 320 x 240 460 x 425
w a k tu (d e ti k ) Dimensi Citra Waktu rata-rata proses dekripsi
Tabel 3 Waktu proses dekripsi (dalam detik).
Citra
Dimensi Citra
160x120 256x256 320x240 460x425
1 6.578 34.656 47.437 595.188 2 6.563 47.906 64.218 623.953 3 7.703 31.563 54.390 646.468 4 7.937 28.110 51.516 622.250 5 7.016 37.312 45.906 636.875 6 6.891 41.781 46.391 651.641 7 6.391 44.672 64.734 647.000 8 7.047 33.265 57.719 651.109 9 7.359 28.312 64.813 644.250 10 6.750 25.953 65.016 631.015
Mean 7.024 35.353 56.214 634.9749
Berdasarkan data pada Tabel 3, terlihat bahwa waktu proses dekripsi juga akan semakin membesar seiring dengan bertambahnya ukuran citra. Waktu rata-rata proses dekripsi dapat dilihat dalam bentuk grafik seperti pada Gambar 12.
Gambar 12 Waktu rata-rata proses dekripsi. Analisis Perbandingan Waktu Eksekusi Proses Enkripsi antara Citra Asli dengan Citra Terkompresi
Untuk mengetahui apakah proses kompresi memengaruhi waktu proses enkripsi atau tidak maka dilakukan uji T dengan menggunakan minitab untuk melakukan perbandingan waktu eksekusi proses enkripsi antara citra asli dengan citra terkompresi pada masing-masing ukuran citra. Uji tersebut membandingkan nilai antara Tabel 2 dan Tabel 4 untuk mendapatkan nilai p-value. Jika p-value < 0.05 maka proses kompresi dianggap signifikan, tetapi jika nilai p-value > 0.05 maka proses kompresi dianggap tidak signifikan.
Tabel 4 Waktu proses enkripsi citra asli (dalam detik).
Citra Dimensi citra
160x120 256x256 320x240 460x425
1 6.813 40.438 55.422 626.516
2 7.485 42.531 61.109 647.672
3 6.781 43.828 60.078 637.891
4 8.031 39.516 59.125 626.422
5 7.953 44.250 66.234 646.062
6 7.516 46.969 63.000 642.500
7 7.484 40.343 64.391 648.625
8 6.906 42.328 64.672 645.985
9 8.579 33.125 66.328 633.156
10 6.875 33.0320 82.250 651.891
Mean 7.442 40.636 64.261 640.672
Berikut ini merupakan hasil uji statistik dari perbandingan nilai antara Tabel 2 dan Tabel 4 : Hipotesis statistik untuk semua dimensi adalah sebagai berikut :
H0 : µA = µk
H1 : µA ≠ µk
dimana µA merupakan waktu eksekusi proses enkripsi citra asli dan µk merupakan waktu eksekusi proses enkripsi citra terkompresi.
Tabel 5 Hasil uji statistik waktu eksekusi pada dimensi 160 x 120
Citra N Mean StDev SEMean
T-Value
P-Value
K 10 6.811 0.614 0.19 -2.31 0.034 A 10 7.442 0.610 0.19
K=citra kompresi, A= Citra Asli
Tabel 5 di atas merupakan hasil uji statistik perbandingan antara waktu eksekusi proses enkripsi citra yang terkompresi dengan citra asli pada ukuran 160 x 120. Hasil di atas menunjukkan bahwa nilai p-value < 0.05 sehingga dapat diambil kesimpulan bahwa tolak
H
0 artinya proses kompresi mempengaruhi waktu eksekusi enkripsi.Tabel 6 Hasil uji statistik waktu eksekusi pada dimensi 256 x 256
Citra N Mean StDev SEMean
T-Value
P-Value
K 10 33.92 4.35 1.4 -3.38 0.004 A 10 40.64 4.54 1.4
10 Tabel 6 di atas merupakan hasil uji statistik
perbandingan antara waktu eksekusi proses enkripsi citra yang terkompresi dengan citra asli pada ukuran 256 x 256. Hasil di atas menunjukkan bahwa nilai p-value < 0.05 sehingga dapat diambil kesimpulan bahwa tolak
H
0 artinya proses kompresi mempengaruhi waktu eksekusi enkripsi.Tabel 7 Hasil uji statistik waktu eksekusi pada dimensi 320 x 240
Citra N Mean StDev SEMean
T-Value
P-Value
K 10 56.59 8.52 2.7 -2.17 0.044 A 10 64.26 7.19 2.3
K=citra kompresi, A= Citra Asli
Tabel 7 di atas merupakan hasil uji statistik perbandingan antara waktu eksekusi proses enkripsi citra yang terkompresi dengan citra asli pada ukuran 320 x 240. Hasil di atas menunjukkan bahwa nilai p-value < 0.05 sehingga dapat diambil kesimpulan bahwa tolak
H
0 artinya proses kompresi mempengaruhi waktu eksekusi enkripsi.Tabel 8 Hasil uji statistik waktu eksekusi pada dimensi 460 x 425
Citra N Mean StDev SEMean
T-Value
P-Value
K 10 623.0 12.3 3.9 -3.64 0.002
A 10 640.67 9.23 2.9 K=citra kompresi, A= Citra Asli
Tabel 8 di atas merupakan hasil uji statistik perbandingan antara waktu eksekusi proses enkripsi citra yang terkompresi dengan citra asli pada ukuran 460 x 425. Hasil di atas menunjukkan bahwa nilai p-value < 0.05 sehingga dapat diambil kesimpulan bahwa tolak
H
0 artinya proses kompresi mempengaruhi waktu eksekusi enkripsi.Dapat diambil kesimpulan bahwa proses kompresi mempengaruhi waktu eksekusi proses enkripsi pada setiap ukuran citra.
Analisis Perbandingan Antara Citra Asli dan Citra Hasil Dekripsi
Setelah melalui tahap enkripsi dan dekripsi, berdasarkan hasil percobaan yang telah dilakukan. Maka analisis dilanjutkan dengan membandingkan citra asli dengan citra hasil dekripsi. Pembandingan ini dilakukan dengan menghitung nilai PSNR citra hasil dekripsi.
Hasil penghitungan PSNR memiliki satuan dB (desibel). Hasil perbandingan antara citra
asli dengan citra hasil dekripsi dapat dilihat pada Tabel 9.
Tabel 9 Nilai PSNR hasil dekripsi (dalam desibel).
Citra Dimensi citra
160x120 256x256 320x240 460x425
1 39.988 40.643 42.226 42.323
2 40.177 42.253 42.468 44.038
3 43.962 45.509 45.743 47.254
4 39.443 40.260 40.279 41.035
5 40.096 42.168 42.300 42.809
6 39.515 40.272 40.243 41.042
7 38.743 38.713 38.598 38.473
8 40.876 42.510 42.653 44.165
9 41.376 42.672 42.662 44.039
10 40.538 42.280 42.351 43.141
Mean 40.471 41.728 41.952 42.832
Berdasarkan data pada Tabel 9, terlihat bahwa nilai PSNR masing-masing citra mempunyai nilai lebih dari 30 dB. Hal ini berarti hasil dekripsi masing-masing citra mempunyai kualitas yang bagus.
KESIMPULAN DAN SARAN Kesimpulan
Dari hasil akurasi yang dihasilkan, diperoleh kesimpulan sebagai berikut:
1
Waktu yang dibutuhkan untuk proses enkripsi dan dekripsi akan semakin besar dengan bertambahnya dimensi citra yang dienkripsi atau didekripsi.2 Proses kompresi mempengaruhi waktu eksekusi enkripsi.
3 Hasil dekripsi mempunyai kualitas yang bagus karena mempunyai nilai PSNR lebih dari 30.
Saran
1. Penggunaan teknik kompresi selain DCT. 2. Penggunaan teknik enkripsi selain LFSR. 3. Penelitian selanjutnya sebaiknya
11
DAFTAR PUSTAKA
Anggawirya E. 2004. Desain Grafis dengan CorelDraw 12. Jakarta : PT. Ercontara Rajawali.
Ansari R , Memon, N. 2000. The JPEG Lossy Image Compression Standard. Di dalam : Al Bovik, editor. Handbook of Image and Video Processing. San Diego : Academic Press.Hlm 513-526.
Bayro-Corrochano E. 2003. Handbook of Computational Geometry for Pattern Recognation, Computer Vision, Neural Computing and Robotics. Springer. New York.
Cabeen K, Gent P.1998. Image Compression and The Discrete Cosine Transform, Math 45 college Of The Redwoods.
Gonzalez RC, Woods RE. 2002. Digital Image Processing. Ed ke-2. New Jersey: Prentice Hall.
Menezes A, Oorschot PV and Vanstone S. 1996. Handbook of Applied Cryptography. CRC Press
Ramadhan A. 2005. Sistem Enkripsi dan Dekripsi Gambar Memanfaatkan Linear Feedback Shift Register (LFSR) [skripsi]. Bogor: Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.
Stalling W. 2003. Cryptography and Network Security Principles and Practice Third Edition. New Jersey: Pearson Education, Inc.
Walpole RE. 1995. Pengantar Statistika. Edisi ke-3. Sumantri B, penerjemah; Jakarta: Gramedia Pustaka Utama. Terjemahan dari:
2 Citra digital dibagi menjadi dua yaitu: citra
bitmap dan citra vektor. Citra bitmap sering disebut sebagai citra raster yaitu citra yang terdiri atas titik-titik atau pixel. Masing-masing
pixel ini mempunyai lokasi serta warna tersendiri yang secara keseluruhan membentuk sebuah tampilan citra. Kehalusan tampilan citra ini sangat bergantung pada resolusi serta jumlah titik atau pixel yang membentuk citra tersebut (Anggawirya 2004).
Apabila kita memperbesar tampilan citra jenis ini, maka citra akan kelihatan seperti kotak-kotak. Semakin besar tampilan citra maka semakin besar pula kotak-kotak tersebut, yang sebenarnya merupakan tampilan pixel yang diperbesar. Contoh dari citra bitmap adalah foto, citra hasil scanner serta citra yang dihasilkan dari software grafis seperti : Adobe Photoshop, Corel PhotoPaint dan beberapa
software garfish lainnya.
Citra vektor yaitu citra yang terbentuk dari sejumlah garis dan kurva. Citra vektor mempunyai kualitas citra tetap baik apabila citra ini diperbesar karena citra vektor bukan terbentuk dari kumpulan titik.
Representasi Citra
Sebuah citra dapat direpresentasikan ke dalam tiga jenis, yaitu citra skala keabuan, citra berwarna, citra hitam-putih. Citra digital dapat ditampilkan dalam bentuk matrikss berukuran M x N dengan M menunjukkan banyaknya sel dalam baris dan N menunjukkan banyaknya sel dalam kolom. Jadi citra digital dapat dinyatakan dalam matrikss M x N sel, dan tiap sel menyimpan nilai intensitas warna dari koordinat spasial sel tersebut. Sel matrikss disebut juga
pixel (Gonzales & Woods 2002).
Citra digital warna mempunyai format 8-bit
dan 24-bit. Citra dengan format 8-bit
mempunyai 256 nilai intensitas warna karena tiap nilai diwakili oleh 8-bit atau 1 byte
(28=256). Nilai ini berkisar dari 0 sampai 255, nilai 0 menunjukkan intensitas paling gelap (hitam) dan nilai 255 menunjukkan intensitas paling terang (putih). Untuk citra dengan format 24-bit tiap nilai intensitas warna merupakan kombinasi dari tiga nilai intensitas warna utama yaitu merah, hijau, dan biru. Tiap nilai pixel
dibagi menjadi 3 segmen yang masing-masing terdiri dari 8-bit secara berurutan menunjukkan nilai intensitas warna merah, hijau dan biru.
Kompresi
Kompresi citra atau pemampatan citra dapat mengatasi masalah besarnya ukuran citra dan
lamanya waktu transfer (Gonzales & Woods 2002). Kompresi citra digital merupakan upaya untuk melakukan transformasi terhadap data atau simbol penyusun citra digital menjadi data atau simbol lain, tanpa menimbulkan perubahan yang jauh atas citra digital tersebut bagi mata manusia yang mengamatinya. Kompresi haruslah dilakukan secara efektif, sehingga citra digital yang dihasilkan setelah proses kompresi mempunyai ukuran yang lebih kecil dibandingkan sebelum menjalani proses kompresi. Dengan melakukan kompresi data maka tempat penyimpanan sedikit dapat dihemat dan transfer data akan lebih cepat ataupun
bandwith yang diperlukan tidak terlalu tinggi. Teknik kompresi data dapat dibagi menjadi dua kategori besar, yaitu:
1 Lossy Compression
Lossy compression menyebabkan ukuran file citra digital menjadi lebih kecil dengan menghilangkan beberapa informasi dalam citra asli. Sebagai gantinya lossy compression memberikan derajat kompresi lebih tinggi.
Teknik ini mengubah detail dan warna pada file citra menjadi lebih sederhana tanpa terlihat perbedaan yang mencolok dalam pandangan manusia, sehingga ukurannya menjadi lebih kecil.
Biasanya digunakan pada citra foto atau image lain yang tidak terlalu memerlukan detail citra, dimana kehilangan bit rate foto tidak berpengaruh pada citra.
Beberapa contoh yang termasuk metode
lossy compression antara lain: color reduction, chroma subsampling, dan teknik kompresi jpeg.
2 Lossless Compression
Teknik kompresi citra dimana tidak ada satupun informasi citra yang dihilangkan. Kompresi ini cocok untuk basis data, dokumen atau spreadsheet, rekaman medis kedokteran, serta rakaman kejahatan kepolisian (crime images) untuk data sidik jari (finger print).
Beberapa contoh yang termasuk metode
loseless antara lain: Run Length Encoding,
3
Discrete Cosine Transform (DCT)
Proses kompresi pada citra digital menggunakan proses transformasi DCT untuk merubah data dari domain ruang ke dalam domain frekuensi. Proses transformasi DCT dilakukan pada data digital setelah sebelumnya citra digital tersebut dibagi menjadi blok-blok 8x8 (Ansari & Memon 2000).
Alihragam DCT sangat mirip dengan alihragam fourier 2 dimensi yang mengubah dari daerah waktu (blok 8×8 asli) menjadi daerah frekuensi (64 koefisien yang baru menunjukkan amplitude dari analisis ruang frekuensi ).
Input pada proses transformasi DCT berupa matrikss dua dimensi. DCT ditampilkan dengan sebuah nilai piksel matrikss persegi N×N, dan menghasilkan sebuah koefisien frekuensi dari matrikss persegi N×N. Rumus untuk DCT maju dan DCT balik adalah sebagai berikut: FDCT:
Bpq=αpαq
dimana
IDCT: Amn=
dimana
Kuantisasi
Kuantisasi secara sederhana merupakan proses untuk mengurangi jumlah bit yang dibutuhkan untuk menyimpan sebuah nilai bilangan bulat dengan mengurangi ketelitian bilangan bulat (Cabeen & Gent 1998).
Algoritme JPEG menerapkan kuantisasi yang menggunakan sebuah matrikss kuantisasi. Untuk tiap posisi elemen pada matrikss DCT, nilai yang sesuai dengan matrikss kuantisasi memberikan sebuah nilai kuantum. Nilai kuantum menunjukkan langkah ukuran yang akan menjadi elemen tersebut dalam menerjemahkan pemampatan dari gambar,
dengan nilai berkisar dari satu sampai dengan 255. Rumus yang sebenarnya untuk kuantisasi adalah cukup sederhana, seperti di bawah ini:
Nilai Kuantisasi = DCT / Quantum
Dari rumus di atas, dapat disimpulkan bahwa besar kecilnya nilai kuantisasi dipengaruhi oleh nilai quantum.
Kriptografi
Kriptografi adalah suatu studi teknik matematika yang berkaitan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, autentikasi entitas, dan autentikasi asal data. Kriptografi tidak hanya sebagai alat untuk menyediakan keamanan informasi, tetapi juga berisi teknik atau prosedur yang berhubungan dengan keamanan informasi (Menezes et al. 1996).
Kriptografi memiliki beberapa tujuan di antaranya adalah sebagai berikut:
Kerahasiaan adalah suatu layanan yang digunakan untuk menjaga isi informasi dari semua yang tidak berwenang memilikinya. Integritas data adalah suatu layanan yang berkaitan dengan pengubahan data dari pihak-pihak yang tidak berwenang.
Otentikasi adalah suatu layanan yang berhubungan dengan identifikasi entitas dari informasi itu sendiri.
Non-repudiasi adalah suatu layanan yang ditujukan untuk mencegah terjadinya pelanggaran kesepakatan yang telah dibuat sebelumnya oleh entitas.
Enkripsi
Enkripsi adalah proses mengubah pesan asli (plaintext) menjadi pesan yang dikodekan (ciphertext). Plaintext dapat berupa deretan bit, sebuah file teks, gambar bitmap, aliran suara digital, gambar video digital, dan lain-lain (Stallings 2003).
Dekripsi
Dekripsimerupakan kebalikan dari enkripsi, yaitu proses mendapatkan plaintext dari
ciphertext (Stallings 2003). Hasil dekripsi harus mampu mengembalikan citra enkripsi menjadi citra asli.
Sandi AlirKunci Simetrik
4 waktu. Hal ini berbeda dengan sandi blok yang
mengenkripsi sekelompok karakter atau bit dalam satu waktu.
Misalkan K adalah ruang kunci untuk himpunan semua transformasi enkripsi. Barisan simbol e1e2e3...ei K, disebut alir kunci (key stream).
Diberikan A adalah alfabet dengan q simbol dan Ee adalah sandi substitusi sederhana dengan
panjang blok 1. Misalkan m1 m2 m3... adalah
string plaintext dan e1e2e3... adalah alir kunci K.
Sandi alir menransformasikan string plaintext
ke string ciphertext c1c2c3... dengan rumus
. Jika di menotasikan kebalikan
dari ei, maka mendekripsi string
ciphertext ke string plaintext. Sandi Alir dapat dimanfaatkan untuk melakukan proses enkripsi dan dekripsi terhadap gambar (Bayro-Corrochano 2003).
Sandi Alir Selaras
Sandi alir selaras adalah sandi alir kunci simetrik yang alir kuncinya dibangkitkan secara bebas baik dari plaintext maupun ciphertext
(Menezes et al. 1996).
Proses sandi alir selaras dapat dinyatakan dengan persamaan:
... (1)
... (2)
... (3)
adalah status inisial (initial state) dan bisa ditentukan dari kunci k, f adalah fungsi status berikutnya, g adalah fungsi yang memproduksi alirkunci zi dan h adalah fungsi
output yang mengombinasikan alir kunci dan
plaintextmi untuk memproduksi ciphertextci.
Gambar 1 Skema umum proses enkripsi dengan sandi alir selaras.
Gambar 2 Skema umum proses dekripsi dengan sandi alir selaras.
Sandi Alir Adatif Biner
Sandi alir adatif biner adalah sandi alir selaras yang alirkunci, plaintext dan ciphertext
berdigit biner, serta fungsi output h adalah fungsi XOR (Menezes et al. 1996).
Gambar 3 Skema umum proses enkripsi dengan sandi alir adatif biner.
Gambar 4 Skema umum proses dekripsi dengan sandi alir adatif biner.
Register Geser Umpan Balik Linear
Register Geser Umpan Balik Linear atau
Linear Feedback Shift Register (LFSR) dapat digunakan sebagai keystream generator untuk membangkitkan alir kunci (Menezes et al. 1996).
LFSR dengan panjang L terdiri dari L tahap (stage) yang dinomori dengan 0,1,2,...,L-1, masing-masing mampu menyimpan 1 bit dan mempunyai 1 input dan 1 output serta dilengkapi suatu clock yang mengontrol pergerakan data (Menezes et al. 1996). Selama setiap satuan waktu operasi berikut dikerjakan: 1 Isi tahap 0 adalah output dan membentuk
bagian dari barisan output.
2 Isi tahap i digerakkan ke tahap i-1 untuk
setiap i, .
3 Isi baru dari tahap L-1 adalah bit arus balik (feedback bit) sj yang dihitung dengan menambahkan sekaligus isi subhimpunan tetap dari {0,1,2,...,L-1} modulo 2.
)
(
ie
i
E
m
c
i
i i
d
c
m
D
i
(
)
k
f
ii 1
,
k
g
z
i i,
i i
i
h
z
m
c
,
0
1
5 Gambar 5 Skema LFSR dengan panjang L.
LFSR dinotasikan dengan .
C(D) adalah polinomial penghubung yang memenuhi persamaan berikut:
... (4) Jika status inisial dari LFSR adalah
, maka barisan s = s0, s1, s2...
ditentukan oleh rekursi
mod 2 untuk
Untuk semua status inisial yang mungkin, setiap barisan output dari LFSR
adalah periodik jika dan hanya jika polinomial penghubung C(D) mempunyai derajat L
(Menezes et al. 1996).
LFSR yang digunakan pada enkripsi dan dekripsi gambar sebaiknya adalah LFSR yang mampu menghasilkan aliran bit acak dengan periode yang cukup besar. Aliran bit yang dihasilkan tidaklah sepenuhnya acak, namun akan berulang pada periode tertentu. Dengan demikian, dapat dikatakan aliran bit yang dihasilkan adalah aliran bit acak semu.
LFSR akan menghasilkan output
dengan periode maksimum 2L – 1 jika C(D)
adalah polinomial primitif.
Peak Signal to Noise Ratio (PSNR)
Signal to Noise Ratio (SNR) digunakan pada matrikss distorsi pixel based visual dan digunakan untuk mengukur distorsi antara citra asli dengan citra setelah dilakukan proses terhadapnya (Katzenbeisser et al. 2000, diacu dalam Ramadhan 2005). Sedangkan PSNR merupakan sebuah istilah dalam engineering
yang digunakan untuk mengukur rasio antara kekuatan kemungkinan maksimum dari sebuah sinyal dan kekuatan pengorupsian noise yang dapat mempengaruhi kemurnian representasi aslinya.
Nilai PSNR dapat dihitung dengan menggunakan rumus:
,
dengan nilai MSE dapat dihitung dengan menggunakan rumus:
Hasil penghitungan ini memiliki satuan dB (desibel). Nilai PSNR yang rendah menunjukkan bahwa citra telah mengalami distorsi yang cukup besar. Jika nilai PSNR lebih besar dari 30dB maka hasil dekripsi mempunyai kualitas yang bagus. Keterangan rumus di atas adalah sebagai berikut:
MAX1 = nilai piksel maksimum pada citra I.
MSE = Mean Squared Error, yang menunjukkan rata-rata noise yang terjadi antara citra I dan citra K.
m = jumlah baris dari citra I.
n = jumlah baris dari kolom K.
Uji t
Uji t dilakukan apabila ukuran contohnya kecil (n < 30). Rumus untuk mencari nilai t hitung jika ragam tidak diketahui adalah sebagai berikut :
Keterangan : n = ukuran contoh µ = rata-rata s = simpangan baku x = nilai tengah
Uji t bisa digunakan untuk menguji hipotesis statistik misalnya hipotesis statistik tersebut terdiri atas H0 : µA = µk dan H1 : µA ≠ µk. Tujuan
dilakukan uji hipotesis statistik salah satunya adalah untuk mengetahui ada perbedaan yang nyata atau tidak suatu faktor yang diperbandingkan. Jika nilai t hitung lebih besar dari t tabel atau p-value < α, maka tolak H0
(Walpole 1995).
METODE PENELITIAN
Metodologi yang digunakan pada penelitian ini terdiri atas beberapa tahap. Penelitian diawali dengan studi pustaka, penentuan topik, kemudian dilanjutkan dengan perumusan masalah. Pada tahap perumusan masalah, permasalahan yang didapatkan adalah mengenai keamanan citra digital. Setelah itu penelitian dilanjutkan dengan analisis dan implementasi yang terdiri atas tahap enkripsi dan dekripsi.
D
C
L,
D D c D c D C L L 2 1 ... 1 ) ( 0 1 1,...,
s
,
s
s
LL j L j
j
c
s
c
s
s
1 1...
5 Gambar 5 Skema LFSR dengan panjang L.
LFSR dinotasikan dengan .
C(D) adalah polinomial penghubung yang memenuhi persamaan berikut:
... (4) Jika status inisial dari LFSR adalah
, maka barisan s = s0, s1, s2...
ditentukan oleh rekursi
mod 2 untuk
Untuk semua status inisial yang mungkin, setiap barisan output dari LFSR
adalah periodik jika dan hanya jika polinomial penghubung C(D) mempunyai derajat L
(Menezes et al. 1996).
LFSR yang digunakan pada enkripsi dan dekripsi gambar sebaiknya adalah LFSR yang mampu menghasilkan aliran bit acak dengan periode yang cukup besar. Aliran bit yang dihasilkan tidaklah sepenuhnya acak, namun akan berulang pada periode tertentu. Dengan demikian, dapat dikatakan aliran bit yang dihasilkan adalah aliran bit acak semu.
LFSR akan menghasilkan output
dengan periode maksimum 2L – 1 jika C(D)
adalah polinomial primitif.
Peak Signal to Noise Ratio (PSNR)
Signal to Noise Ratio (SNR) digunakan pada matrikss distorsi pixel based visual dan digunakan untuk mengukur distorsi antara citra asli dengan citra setelah dilakukan proses terhadapnya (Katzenbeisser et al. 2000, diacu dalam Ramadhan 2005). Sedangkan PSNR merupakan sebuah istilah dalam engineering
yang digunakan untuk mengukur rasio antara kekuatan kemungkinan maksimum dari sebuah sinyal dan kekuatan pengorupsian noise yang dapat mempengaruhi kemurnian representasi aslinya.
Nilai PSNR dapat dihitung dengan menggunakan rumus:
,
dengan nilai MSE dapat dihitung dengan menggunakan rumus:
Hasil penghitungan ini memiliki satuan dB (desibel). Nilai PSNR yang rendah menunjukkan bahwa citra telah mengalami distorsi yang cukup besar. Jika nilai PSNR lebih besar dari 30dB maka hasil dekripsi mempunyai kualitas yang bagus. Keterangan rumus di atas adalah sebagai berikut:
MAX1 = nilai piksel maksimum pada citra I.
MSE = Mean Squared Error, yang menunjukkan rata-rata noise yang terjadi antara citra I dan citra K.
m = jumlah baris dari citra I.
n = jumlah baris dari kolom K.
Uji t
Uji t dilakukan apabila ukuran contohnya kecil (n < 30). Rumus untuk mencari nilai t hitung jika ragam tidak diketahui adalah sebagai berikut :
Keterangan : n = ukuran contoh µ = rata-rata s = simpangan baku x = nilai tengah
Uji t bisa digunakan untuk menguji hipotesis statistik misalnya hipotesis statistik tersebut terdiri atas H0 : µA = µk dan H1 : µA ≠ µk. Tujuan
dilakukan uji hipotesis statistik salah satunya adalah untuk mengetahui ada perbedaan yang nyata atau tidak suatu faktor yang diperbandingkan. Jika nilai t hitung lebih besar dari t tabel atau p-value < α, maka tolak H0
(Walpole 1995).
METODE PENELITIAN
Metodologi yang digunakan pada penelitian ini terdiri atas beberapa tahap. Penelitian diawali dengan studi pustaka, penentuan topik, kemudian dilanjutkan dengan perumusan masalah. Pada tahap perumusan masalah, permasalahan yang didapatkan adalah mengenai keamanan citra digital. Setelah itu penelitian dilanjutkan dengan analisis dan implementasi yang terdiri atas tahap enkripsi dan dekripsi.
D
C
L,
D D c D c D C L L 2 1 ... 1 ) ( 0 1 1,...,
s
,
s
s
LL j L j
j
c
s
c
s
s
1 1...
6
Tahap Enkripsi Citra
Tahap enkripsi yang dilakukan pada penelitian ini secara garis besar dapat dilihat pada Gambar 6.
Citra mulai
Selesai Representasi Citra
Transformasi DCT
Kuantisasi
Dekuantisasi
Transformasi IDCT
Kontruksi blok data
Citra Terkompresi
Representasi Citra
Key LFSR
Representasi Citra
Citra Terenkripsi Tahap Kompresi Citra
Konstruksi blok data
Representasi Citra
XOR
Citra
Citra digital yang digunakan dalam penelitian ini adalah citra raster yang berukuran, 160 x 120 , 256 x 256, 320 x 240 dan 460 x 425, masing-masing ukuran terdiri dari 10 gambar berbeda dalam format file .jpg. Citra digital tersebut didapat dari berbagai sumber khususnya dari internet. Citra tersebut kemudian diubah ukurannya sesuai dengan kebutuhan untuk pengujian.
Tahap Kompresi Citra
Teknik kompresi yang digunakan
menggunakan metode DCT dan kuantisasi. Level kompresi yang digunakan adalah 50 dari skala 1 sampai 100. Tahap kompresi citra memiliki beberapa tahapan antara lain:
Representasi Citra
Citra yang digunakan dalam percobaan adalah gambar raster dengan model warna RGB 24-bit. Masing-masing komponen red, green, blue akan diproses ke dalam proses kontruksi blok data.
Proses Konstruksi Blok Data
Proses konstruksi blok data adalah proses membagi data ke dalam blok-blok data berukuran sama yaitu 8 x 8. Setelah pembentukan blok data selesai kemudian citra tersebut kita kurangi dengan 128.
Proses Transformasi Blok Data
Proses transformasi DCT dan IDCT dilakukan pada blok data berukuran 8 x 8. Tiap-tiap blok data akan ditransformasi dengan menggunakan matrikss transformasi T berukuran 8 x 8. Proses transformasinya sendiri adalah sebagai berikut:
1 Transformasi DCT, B=TAT’. Dimana A
merupakan matriks blok 8 x 8 dari hasil pengurangan antara citra asli dengan 128, dan B merupakan matriks koefisien DCT.
2 Transformasi IDCT, A=T’BT. Dimana B
merupakan matriks blok 8 x 8 hasil dekuantisasi dan A merupakan matriks koefisien IDCT.
Proses Kuantisasi
Proses kuantisasi merupakan proses pembagian antara koefisien DCT dengan tabel kuantisasi. Tabel kuantisasi bergantung dari level kompresi yang diberikan. Level kompresi berkisar antara skala 1 sampai 100. Pada penelitian ini level kompresi yang digunakan adalah 50. Hasil kuantisasi akan digunakan sebagai input proses dekuantisasi.
7
Proses Dekuantisasi
Proses dekuantisasi merupakan kebalikan dari proses kuantisasi, yaitu proses perkalian antara hasil kuantisasi dengan tabel kuantisasi. Hasil dekuantisasi akan digunakan sebagai inputan proses IDCT.
Proses LFSR
Pada proses LFSR terdapat dua proses yaitu proses pembangkitan kunci dan proses XOR antara kunci dengan masing-masing komponen
red, green, blue. Di dalam proses pembangkitan kunci penulis menggunakan LFSR, initial value
yang digunakan adalah kunci masukan yang panjangnya 8 karakter. Penelitian ini menggunakan pergeseran LFSR-nya setiap 8 baris. Semakin besar angka pergeseranya semakin cepat proses pembangkitan kuncinya. Begitu pula sebaliknya semakin kecil angka pergeserannya proses pembangkitan kuncinya semakin lama. Setelah proses pembangkitan kuncinya selesai selanjutnya masing-masing komponen red, green, blue di xor kan dengan kunci. Setelah proses xor selesai akan didapat citra hasil enkripsi.
Tahap Dekripsi Citra
Tahap dekripsi yang dilakukan pada penelitian ini secara garis besar dapat dilihat pada Gambar 7. Pada gambar ini dapat kita lihat bahwa proses dekripsi mempunyai algoritme yang sama dengan proses enkripsi namun di dalam proses dekripsi tidak terdapat proses kompresi citra.
Penelitian ini diimplementasikan pada perangkat keras dengan spesifikasi:
Notebook dengan processor Intel Core Duo 2.2 GHz.
Memory 2 GB.
Harddisk 320 GB.
Keyboard, mouse, dan monitor.
Di sisi lain perangkat lunak yang digunakan adalah:
Sistem Operasi Microsoft Windows XP Professional.
Matlab 7.0.1 Minitab 14
Setelah tahap enkripsi dan dekripsi dilakukan, maka dilakukan analisis terhadap hasil yang diperoleh. Hal-hal yang dianalisis dalam penelitian ini adalah mengenai:
Perbandingan citra hasil dekripsi dengan citra asli.
Perbandingan waktu eksekusi antara proses enkripsi citra terkompresi dengan citra asli.
Setelah menganalisis hasil pada tahap sebelumnya, maka dilanjutkan dengan tahap penarikan kesimpulan.
mulai
Selesai
Key LFSR
Representasi Citra
Citra Terdekripsi
XOR Citra Terenkripsi
Representasi Citra
HASIL DAN PEMBAHASAN Analisis Hasil Enkripsi
Pada penelitian ini citra digital yang digunakan adalah citra raster yang berukuran 160 x 120 , 256 x 256, 320 x 240, dan 460 x 425 masing-masing ukuran terdiri atas 10 citra berbeda dalam format file .jpg.
Proses enkripsi diawali dengan proses kompresi terlebih dahulu. Level kompresi yang digunakan dalam penelitian ini adalah 50. Kemudian proses selanjutnya adalah proses pembentukan kunci menggunakan sandi alir LFSR. Initial value yang digunakan adalah kunci masukan yang panjangnya 8 karakter. Penelitian ini menggunakan pergeseran LFSRnya setiap 8 baris. Polinomial penghubung yang digunakan pada penelitian ini adalah C(D)=[1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]. Proses selanjutnya adalah meng-XOR kan antara kunci yang hasil LFSR dengan citra hasil kompresi. Setelah proses XOR selesai akan menghasilkan citra terenkripsi.
7
Proses Dekuantisasi
Proses dekuantisasi merupakan kebalikan dari proses kuantisasi, yaitu proses perkalian antara hasil kuantisasi dengan tabel kuantisasi. Hasil dekuantisasi akan digunakan sebagai inputan proses IDCT.
Proses LFSR
Pada proses LFSR terdapat dua proses yaitu proses pembangkitan kunci dan proses XOR antara kunci dengan masing-masing komponen
red, green, blue. Di dalam proses pembangkitan kunci penulis menggunakan LFSR, initial value
yang digunakan adalah kunci masukan yang panjangnya 8 karakter. Penelitian ini menggunakan pergeseran LFSR-nya setiap 8 baris. Semakin besar angka pergeseranya semakin cepat proses pembangkitan kuncinya. Begitu pula sebaliknya semakin kecil angka pergeserannya proses pembangkitan kuncinya semakin lama. Setelah proses pembangkitan kuncinya selesai selanjutnya masing-masing komponen red, green, blue di xor kan dengan kunci. Setelah proses xor selesai akan didapat citra hasil enkripsi.
Tahap Dekripsi Citra
Tahap dekripsi yang dilakukan pada penelitian ini secara garis besar dapat dilihat pada Gambar 7. Pada gambar ini dapat kita lihat bahwa proses dekripsi mempunyai algoritme yang sama dengan proses enkripsi namun di dalam proses dekripsi tidak terdapat proses kompresi citra.
Penelitian ini diimplementasikan pada perangkat keras dengan spesifikasi:
Notebook dengan processor Intel Core Duo 2.2 GHz.
Memory 2 GB.
Harddisk 320 GB.
Keyboard, mouse, dan monitor.
Di sisi lain perangkat lunak yang digunakan adalah:
Sistem Operasi Microsoft Windows XP Professional.
Matlab 7.0.1 Minitab 14
Setelah tahap enkripsi dan dekripsi dilakukan, maka dilakukan analisis terhadap hasil yang diperoleh. Hal-hal yang dianalisis dalam penelitian ini adalah mengenai:
Perbandingan citra hasil dekripsi dengan citra asli.
Perbandingan waktu eksekusi antara proses enkripsi citra terkompresi dengan citra asli.
Setelah menganalisis hasil pada tahap sebelumnya, maka dilanjutkan dengan tahap penarikan kesimpulan.
mulai
Selesai
Key LFSR
Representasi Citra
Citra Terdekripsi
XOR Citra Terenkripsi
Representasi Citra
HASIL DAN PEMBAHASAN Analisis Hasil Enkripsi
Pada penelitian ini citra digital yang digunakan adalah citra raster yang berukuran 160 x 120 , 256 x 256, 320 x 240, dan 460 x 425 masing-masing ukuran terdiri atas 10 citra berbeda dalam format file .jpg.
Proses enkripsi diawali dengan proses kompresi terlebih dahulu. Level kompresi yang digunakan dalam penelitian ini adalah 50. Kemudian proses selanjutnya adalah proses pembentukan kunci menggunakan sandi alir LFSR. Initial value yang digunakan adalah kunci masukan yang panjangnya 8 karakter. Penelitian ini menggunakan pergeseran LFSRnya setiap 8 baris. Polinomial penghubung yang digunakan pada penelitian ini adalah C(D)=[1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]. Proses selanjutnya adalah meng-XOR kan antara kunci yang hasil LFSR dengan citra hasil kompresi. Setelah proses XOR selesai akan menghasilkan citra terenkripsi.
8 Proses enkripsi akan menghasilkan citra
terkompresi dan citra enkripsi. Hasil yang dicatat adalah data citra asli, citra hasil kompresi dan waktu proses enkripsi pada setiap citra. Data citra asli dan citra hasil kompresi dapat dilihat dalam Tabel 1.,sedangkan Data waktu proses enkripsi dapat dilihat dalam Tabel 2.
Tabel 1 Ukuran citra asli dan citra kompresi (dalam kB).
Citra
Dimensi Citra
160x120 256x 256 320x240 460x425
A K A K A K A K
1 38 4 87 10 34 12 196 25
2 24 5 41 11 42 12 70 23
3 15 3 23 6 23 7 35 12
4 25 5 45 13 46 15 80 32
5 17 3 31 8 32 9 57 20
6 22 5 40 11 41 13 72 29
7 56 6 157 20 175 24 435 65
8 32 4 68 9 74 11 141 21
9 31 4 68 9 74 11 144 21
10 30 4 61 9 67 10 131 21
K=citra kompresi, A= Citra Asli
Tabel 2 Waktu proses enkripsi citra terkompresi (dalam detik).
Citra Dimensi citra
160x120 256x256 320x240 460x425
1 6.312 36.485 49.157 602.250 2 6.640 38.844 55.000 619.406 3 6.156 34.812 52.829 627.875 4 7.563 31.344 49.344 617.328 5 6.359 33.078 58.703 603.187
6 7.390 39.672 48.953 627.859 7 6.891 34.438 59.453 632.282 8 6.219 36.187 57.812 638.516 9 7.906 28.250 56.688 628.265 10 6.672 26.125 77.968 632.671
Mean 6.811 33.924 56.591 622.964
Berdasarkan data pada Tabel 2, terlihat bahwa waktu proses enkripsi akan semakin me