Pemodelan
Digital
Signature
Menggunakan RSA
untuk Menjaga Keutuhan Citra
Digital
Artikel Ilmiah
Peneliti:
Eko Prasetyo (672012090) Wiwin Sulistyo, ST., M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
1
1. Pendahuluan
Jaringan komputer dan internet mempermudah proses pertukaran informasi. Salah satu bentuk informasi yang sering dikirimkan lewat jaringan internet adalah
file citra digital. File citra digital yang tersimpan di dalam harddisk misalnya, dapat dibaca kemudian dimanipulasi, sehingga mengubah informasi yang dimaksudkan oleh citra digital tersebut [1]. Sebagai contoh, gambar hasil X-ray, dapat diubah sehingga seolah-olah pasien menderita penyakit tertentu. Jika gambar ini digunakan sebagai acuan pengobatan, maka dapat menimbulkan kerugian bagi pasien, maupun dokter karena terjadi malpraktek [2].
Citra digital dimanipulasi dengan cara mengganti piksel-piksel yang ada di dalamnya. Proses ini dapat dilakukan dengan menggunakan aplikasi image editor, seperti Adobe Photoshop. Aplikasi tersebut menyediakan alat untuk mengolah citra
digital, seperti bluring, cropping, penambahan teks, dan lain sebagainya.
Suatu citra digital jika dimanipulasi dengan tujuan jahat akan dapat menimbulkan kerugian bagi pihak yang menggunakan informasi pada citra digital
tersebut, sehingga diperlukan suatu cara supaya pihak pengguna citra digital
tersebut, dapat mengetahui apakah citra digital yang digunakan, sudah mengalami kerusakan/perubahan/manipulasi atau tidak. Untuk mengetahui apakah citra digital
tersebut masih utuh, dengan kondisi yang sama seperti yang dikirimkan oleh pengirim, dapat digunakan metode digital signature.
Digital-signature adalah suatu cara matematis untuk menunjukkan keaslian suatu dokumen [3]. Digital signature memiliki fungsi sebagai penanda pada data yang memastikan bahwa data tersebut adalah data yang sebenarnya (tidak ada yang berubah) [4]. Jika diimplementasikan pada citra digital, maka digital signature
berfungsi untuk memastikan bahwa piksel-piksel di dalamnya tidak mengalami pergantian nilai akibat manipulasi atau kerusakan.
Pada penelitian ini diimplementasikan metode digital signature dengan kombinasi algoritma RSA, MD5, dan algoritma penyisipan LSB dan EOF. Digital signature diperoleh dengan cara meringkas data pada citra digital sehingga terbentuk hash, dengan algoritma MD5. Hash kemudian dienkripsi dengan algoritma RSA, hasilnya disisipkan pada citra digital. Proses penyisipan dilakukan dengan algoritma LSB atau EOF. Pada pengujian dibandingkan dan dianalisis kelebihan dan kekurangan dari proses penyisipan LSB dan EOF pada tiga jenis
format gambar yang umum, yaitu PNG, JPG, dan BMP.
2. Tinjauan Pustaka
Pada penelitian yang berjudul "Elliptic Curve Digital signature Algorithm (ECDSA)" dibahas tentang perlunya suatu mekanisme untuk menjamin keaslian (otentikasi) dokumen elektronis dalam pertukaran dokumen (file) [5]. Metode yang digunakan untuk mengatasi permasalahan di atas adalah dengan cara menambahkan tanda tangan digital pada dokumen tersebut. Digital signature pada penelitian tersebut diimplementasikan dengan algoritma ECDSA.
Penelitian yang selanjutnya berjudul “Studi dan Implementasi Algoritma
2
keamanan dan kerahasiaan data merupakan hal yang penting dalam suatu organisasi. Data yang bersifat rahasia tersebut perlu dibuatkan sistem penyimpanan dan pengirimannya agar tidak terbaca atau diubah oleh orang-orang yang tidak bertanggung jawab, baik saat data tersebut tersimpan sebagai file di dalam komputer maupun saat data tersebut dikirim melalui email. Penelitian ini membuat model sistem pengamanan dengan proses enkripsi dan dekripsi menggunakan algoritma RSA. Hasil penelitian ini menunjukkan bahwa algoritma RSA berhasil diimplementasikan untuk pengamanan data transkrip akademik mahasiswa dengan diperolehnya hasil komputasi algoritma RSA adalah sebesar 15625 mikrodetik, sedangkan kompleksitas memori yang dibutuhkan algoritma RSA sebesar 3908
bytes [6].
Pada penelitian berjudul "Aplikasi Metode Steganography Pada Citra Digital dengan Menggunakan Metode LSB (Least Significant Bit)", dibahas mengenai implementasi LSB embedding untuk menyembunyikan pesan pada citra
digital [7]. Metode LSB embedding dipilih karena dengan melakukan penggantian pada bit belakang pada warna citra, maka perubahan tingkat intensitas warna tidak dapat terdeteksi oleh mata manusia.
Penelitian Patricia dan Aripin (2015) membahas mengenai keamanan data menggunakan kriptografi algoritma Vigenere cipher dan steganografi dengan metode end of file (EOF) [8]. Pada penelitian tersebut, file pesan yang akan disisipkan, dienkripsi terlebih dahulu dengan algoritma Vigenere. Ciphertext yang dihasilkan, kemudian disisipkan ke dalam file cover yang berupa file gambar dengan format BMP. Hasil dari penelitian tersebut yaitu menghasilkan aplikasi yang dapat menyembunyikan file dengan baik dan menutup kecurigaan dari pihak lain.
Berdasarkan penelitian-penelitan tentang digital signature, RSA, metode penyisipan LSB, dan metode penyisipan EOF, maka dilakukan penelitian ini yang mengimplementasikan digitalsignature dengan menggunakan algoritma-algoritma tersebut. Perbedaan penelitian yang dilakukan ini dengan penelitian-penelitian sebelumnya adalah, Pada penelitian ini diimplementasikan metode digitalsignature
dengan kombinasi algoritma RSA, MD5, dan algoritma penyisipan LSB dan EOF.
Digitalsignature diperoleh dengan cara meringkas data pada citra digital sehingga terbentuk hash, dengan algoritma MD5. Hash kemudian dienkripsi dengan algoritma RSA, hasilnya disisipkan pada citra digital. Proses penyisipan dilakukan dengan algoritma LSB atau EOF.
3
LSB embedding merupakan teknik steganografi yang menggunakan pendekatan tergolong sederhana dan langsung. Sesuai dengan namanya, teknik LSB
embedding menyisipkan pesan ke dalam LSB (least significant bit). Hal ini hanya akan mempengaruhi nilai warna pada piksel sebesar + 1, maka secara umum diasumsikan bahwa degradasi warna yang terjadi dapat tidak dikenali oleh mata [11]. Jika digunakan image 24 bitcolor sebagai cover, sebuah bit dari masing-masing komponen Red, Green, dan Blue, dapat digunakan, sehingga tiga bit dapat disimpan pada setiap piksel. Sebuah image 800 x 600 piksel dapat digunakan untuk menyembunyikan 1.440.000 bit (180.000 bytes) data rahasia. Misalkan terdapat piksel-piksel dari image 24 bit color, dapat dilihat bahwa bit-bit pesan rahasia mengubah bit-bit terakhir citra gambar.
00111000 01010110 11000111 00110011
Jika ada pesan rahasia yang memiliki nilai 1101, maka dihasilkan:
00111001 01010111 11000110 00110011
LSB embedding memiliki kelebihan dibandingkan dengan algoritma EOF
steganography [12], dalam hal perubahan ukuran dokumen yang disisipi. LSB
embedding tidak menambahkan ukuran dokumen, karena proses yang terjadi adalah mengganti bit akhir tiap warna. EOF bekerja dengan menambahkan informasi pada akhir dokumen. Algoritma steganografi yang lain adalah algoritma DCT. Algoritma ini menggunakan frequencydomain dari citra digital untuk menyisipkan informasi. Kelemahan dari algoritma DCT adalah mata manusia dapat mengenali perubahan yang terjadi pada frekuensi rendah [13]. Karena kelebihan-kelebihan dari algoritma LSB embedding, maka pada penelitian ini dipilih LSB embedding dalam proses penyisipan Digital signature dalam dokumen digital.
Digital signature adalah salah satu teknologi yang digunakan untuk meningkatkan keamanan jaringan. Digital signature memiliki fungsi sebagai penanda pada data yang memastikan bahwa data tersebut adalah data yang sebenarnya (tidak ada yang berubah). Digital signature dapat memenuhi setidaknya dua syarat keamanan jaringan, yaitu authenticity dan non-repudiation, dan juga
integrity (keutuhan data). Authenticity berarti bahwa dokumen tersebut berasal dari pemilik yang spesifik. Non-repudiation berarti bahwa berdasarkan digital signature
di dalam suatu dokumen, pelaku/pengirim tidak dapat mengingkari bahwa yang bersangkutan melakukan pengiriman/manipulasi data. Integrity berarti bahwa keutuhan suatu dokumen dapat diketahui berdasarkan kondisi digital signature
didalamnya [14].
Gambar 1 True Color 24 bit dan 32 bit [15]
Pada penelitian ini, formatfile citra digital yang digunakan adalah PNG, BMP dan JPG. PNG dan BMP merupakan True Color image. True Color image berarti tiap piksel direpresentasikan dengan 3 byte, terbagi ke dalam red, green, dan blue
4
True Color 24 bit. Selain 24 bit warna, file PNG juga mendukung 32 bit warna.
True Color 32 bit sama dengan 24 bit, dengan perbedaan adalah adanya 1 byte
tambahan yang disebut komponen alpha [15][16].
Pada Gambar 2 ditunjukkan contoh potongan dari suatu gambar True Color Image. Potongan ini memiliki dimensi 6 x 6 piksel. Pada tiap piksel terdapat tiga bagian warna yaitu red, green dan blue. Pada lokasi piksel 1,1 terdapat warna red
bernilai 96, green bernilai 143, dan blue bernilai 179. Pada lokasi piksel 1,2 terdapat warna red 61, green 125, dan green 198.
Gambar 2 Komponen RGB pada File Gambar 24 Bit Warna.
JPG adalah standar format gambar de facto dan yang paling populer digunakan di web. JPG mendukung 16.7 juta warna dan format yang lebih disukai untuk menyimpan file foto [17]. File JPG juga lebih kecil dibandingkan dengan
format gambar lainnya karena menggunakan kompresi 'lossy' untuk mengurangi ukuran file. Kompresi ‘lossy’ adalah kompresi yang menghilangkan sebagian data
[18]. Hal ini mungkin tidak disadari oleh mata manusia, tapi gambar JPG mengorbankan beberapa informasi gambar untuk membuat ukuran file menjadi kecil. Setiap kali file JPG disimpan, beberapa data menjadi hilang, dan data gambar yang hilang tersebut tidak dapat dipulihkan.
Format PNG dirancang sebagai alternatif elegan untuk GIF. Seperti GIF,
format PNG mendukung warna 8-bit, tetapi juga meluas ke 24-bit, sehingga memberikan lebih banyak jangkauan warna seperti dalam file JPEG. PNG tidak mendukung animasi. PNG menggunakan kompresi ‘lossless’ untuk
mempertahankan informasi warna ketika dikompresi, sehingga tidak ada informasi yang hilang seperti yang terjadi pada JPG. Gambar dengan warna yang kompleks akan menyebabkan ukuran file yang lebih besar [17].
BMP merupakan format file asli dari platform Windows, dan merupakan
5
yang dibahas tersebut. Gambar BMP memiliki kualitas yang tajam, namun karena tidak mendukung kompresi, maka gambar BMP memiliki ukuran yang lebih besar daripada format JPG maupun PNG [17].
3. Metode dan Perancangan Sistem
Penelitian yang dilakukan, diselesaikan melalui tahapan pemodelan yang terbagi dalam enam tahapan, yaitu: analisis kelayakan, desain model, implementasi komputer, evaluasi/pengujian model, optimasi/perbaikan model, dan produk model [19].
ANALISIS KELAYAKAN
DESAIN MODEL
IMPLEMENTASI KOMPUTER
EVALUASI/PENGUJIAN MODEL
OPTIMASI/PERBAIKAN MODEL
PRODUK MODEL
Gambar 3 Tahapan Penelitian
Tahapan penelitian pada Gambar 3, dijelaskan sebagai berikut: Tahap analisis kelayakan: mengidentifikasi masalah, mengidentifikasi tujuan, dan membatasi masalah. Masalah yang ditemukan adalah perlunya pengamanan dokumen digital dari perubahan dan pemalsuan, terutama pada dokumen yang ditransmisikan lewat jaringan Internet. Tujuan yang ditemukan adalah untuk mengamankan dokumen digital terhadap ancaman tersebut. Masalah dibatasi pada dokumen dengan bentuk citra digital. Tahap desain model, merancang sistem yaitu proses pembangkitan kunci publik dan privat, serta proses pembangkitan digital signature dan validasi digital signature. Tahap implementasi komputer: yaitu mengimplementasikan hasil perancangan model, membangun model berdasarkan rancangan pada tahap sebelumnya. Dokumen yang digunakan adalah citra digital
6
melakukan pengujian model dan kemudian melakukan analisis terhadap hasil pengujian tersebut. Tahap optimasi model, adalah melaukan perbaikan dan optimasi pada model, sesuai dengan masalah atau kebutuhan baru yang muncul pada tahap evaluasi. Tahap produk model, pada tahap ini dihasilkan model akhir yang telah sesuai dengan kebutuhan.
Hitung Hash
Hash Akhir Citra digital
valid jika Hash Awal
sama dengan Hash
Akhir
Gambar 4 Arsitektur Sistem
Sistem yang dikembangkan, memiliki desain yang ditunjukkan pada Gambar 4. Sistem terdiri dari dua proses, yaitu proses signing dan proses verifiying. Proses signing dilakukan oleh signatory, dengan menanamkan digital signature ke dalam dokumen. Proses verifiying dilakukan oleh verifier, dengan mengekstraksi
digital signature dari dalam dokumen.
Mulai Hitung nilai HASH citra
digital dengan algoritma MD5
Selesai
Gambar 5 Alur Proses Pemberian Digital Signature
Proses pemberian digital signature ditunjukkan pada Gambar 5. Proses ini memerlukan input dari pengguna yaitu kunci, dan dokumen citra digital. Kunci digunakan untuk menyandikan hash. Hash diperoleh dari proses algoritma MD5.
Hash terenkripsi disisipkan ke dalam citra digital. Hasil akhir adalah dokumen citra
7
Mulai Input
Public Key
Input Dokumen
Citra Digital
Hitung nilai HASH Ekstrak Digital Signature
Dekripsi Digital Signature
HASH sama dengan hasil
Dekripsi Ouput
valid
Output tidak valid
Selesai
TIDAK YA
Gambar 6 Alur Proses Verifikasi Digital Signature
Pada proses verifikasi (Gambar 6), hash yang telah disisipkan, diekstrak kemudian didekripsi. Hasil dekripsi dibandingkan dengan hash citra digital
sekarang. Jika nilai hash ini berbeda, maka dapat dipastikan bahwa citra digital
tersebut telah mengalami perubahan.
Proses pembuatan digital signature dijelaskan menggunakan contoh berikut. Jika terdapat suatu gambar berukuran 4 x 2 piksel, dan tiap piksel terdiri dari 3 warna (RGB).
Tabel 1 Contoh Susunan Nilai Warna pada Citra Digital
R G B R G B R G B R G B 200 200 100 45 55 10 90 120 90 255 0 0 80 70 0 255 255 255 90 90 10 178 190 240
Pada Tabel 1, piksel pertama memiliki komponen warna R =2 00, G = 200, B = 100, piksel kedua memiliki komponen warna R = 45, G = 55, B = 10. Tiap komponen warna ini kemudian dihitung nilai ringkasan (hash) dengan menggunakan algoritma MD5. MD5 menghasilkan outputhash dengan panjang 16
byte, dengan panjang input bebas. Sehingga input dengan panjang 1 byte akan tetap menghasilkan 16 bytehash, input dengan panjang 100 byte akan menghasilkan 16
bytehash juga.
Tabel 2 Contoh Hasil Proses Tahap Pertama: Pembuatan Ringkasan/Hash
Nilai warna Hash
200
diproses dengan algoritma MD5
200
100
45
8
10 60
90 70
120 44
90 110
255 45
0 121
0 190
80 180
70 245
0 235
255 89
255 100
255 112
90 78
90 90
10
178
190
240
Tahap pertama menghasilkan nilai ringkasan (hash). Pada penelitian ini digunakan algoritma MD5 untuk membuat ringkasan, sehingga berdasarkan spesifikasi MD5, hash yang dihasilkan memilik panjang 16 byte. Pada contoh di
Tabel 2, dihasilkan nilai hash: 120, 60, 70, 44, 110, 45, 121, 190, 180, 245, 235, 89, 100, 112, 78, 90.
Tahap kedua yaitu mengenkripsi nilai hash ini dengan algoritma RSA. Algoritma RSA bersifat asimetrik, sehingga kunci yang digunakan untuk enkripsi berbeda dengan kunci dekripsi. Pada penggunaan di digitalsignature, kunci untuk enkripsi dimiliki dan dirahasikan oleh pemilik citra digital. Karena sifatnya ini, maka kunci enkripsi disebut sebagai kunci private.
Tabel 3 Contoh Hasil Proses Tahap Pertama: Pembuatan Ringkasan/Hash
Nilai warna Hash Hash
Terenkripsi 200
diproses dengan algoritma MD5
200
100
45
55 120 244
10 60 245
90 70 105
120 44 198
90 110 123
255 45 162
0 121 234
9
80 180 67
70 245 45
0 235 68
255 89 11
255 100 84
255 112 25
90 78 47
90 90 135
10
178
190
240
Pada tahap kedua, dihasilkan hash terenkripsi: 244, 245, 105, 198, 123, 162, 234, 90, 67, 45, 68, 11, 84, 25, 47, 135. Hash terenkripsi kemudian disisipkan ke dalam citra digital dengan algoritma EOF atau LSB.
Kunci dekripsi hanya dapat digunakan untuk proses dekripsi, sehingga tidak dapat digunakan untuk menyandikan nilai ringkasan. Kunci dekripsi dapat diberikan oleh pengirim kepada pihak-pihak yang bermaksud untuk menggunakan informasi dari citra digital. Kunci dekripsi ini berguna untuk proses validasi keutuhan citra digital, dengan cara membandingkan hasil dekripsi dengan nilai ringkasan yang baru.
4. Hasil dan Pembahasan
Pada bagian ini dijelaskan tentang hasil penelitian yang telah dilakukan. Pembahasan terbagi pada pembahasan hasil penelitian dan pembahasan aspek keamanan.
Berdasarkan perancangan yang telah dibuat maka antarmuka sistem yang dihasilkan ditunjukkan pada Gambar 6 dan Gambar 7. Gambar 6 ditunjukkan hasil dari proses digital signing. Gambar 7 menunjukkan hasil dari proses verifikasi.
10
Gambar 7 merupakan form yang digunakan untuk proses pemberian digital signature, ditampilkan perubahan nilai hash (signature) sebelum dan sesudah proses enkripsi. Signature dengan panjang 16 byte, kemudian disisipkan ke dalam citra digital yang hasil akhirnya ditampilkan pada sisi sebelah kanan (signed image).
Gambar 8 Tampilan Proses Verifikasi
Pada proses verifikasi ditampilkan hasil akhir berupa valid atau tidak valid
(Gambar 8). Nilai digital signature yang telah disisipkan sebelumnya dibandingkan dengan nilai digital signature sekarang. Jika kunci yang digunakan untuk proses verifikasi berbeda dengan kunci pada proses pemberian digital signature, maka nilai digital signature akan memberikan hasil yang berbeda, sekalipun citra digital
tidak mengalami perubahan (manipulasi). Sehingga hanya penerima yang sah, yang memiliki kunci yang tepat, yang dapat melakukan proses verifikasi.
Kode Program 1 Perintah untuk Membaca Warna pada Dokumen Gambar 1 public static byte[] ExtractColors(Bitmap img)
2 {
3 List<byte> list = new List<byte>(); 4 Bitmap bitmap = img;
5
6 for (int y = 0; y < img.Height; y++)
7 {
8 for (int x = 0; x < img.Width; x++)
9 {
10 Color c = bitmap.GetPixel(x, y);
11 list.Add(c.R);
12 list.Add(c.G);
13 list.Add(c.B);
14 }
15 }
16 return list.ToArray(); 17 }
.Net Framework menyediakan library untuk mengolah dokumen dengan
11
digital signature disisipkan pada LSB tiap warna pada piksel. Dalam satu piksel terdapat 3 warna yaitu RED, GREEN dan BLUE (perintah pada baris 11-13), dengan demikian dalam satu piksel dapat disisipi 3 bit data.
Kode Program 2 Perintah untuk Memanipulasi LSB
1 private static byte ReplaceLSB(byte current, char p) 2 {
3 string binary = Convert 4 .ToString(current, 2) 5 .PadLeft(8, '0');
6 char[] arrayBit = binary.ToCharArray(); 7 arrayBit[7] = p;
8 binary = new string(arrayBit); 9 return Convert.ToByte(binary, 2); 10 }
Untuk mengubah LSB suatu byte warna, maka proses yang dilakukan adalah mengubah warna tersebut ke dalam formatbinary. Kemudian bit paling kanan dari warna tersebut diganti dengan bit pesan. Untuk mengubah byte menjadi binary
digunakan library class Convert (perintah pada baris 3).
Kode Program 3 Perintah untuk Membaca Digital signature
1 public static byte[] GetLSB(byte[] data) 2 {
3 List<char> bits = new List<char>(); 4 for (int i = 0; i < data.Length; i++)
16 byte[] message = GetBytesArray( 17 new string(bits.ToArray())); 18 return message;
19 }
Proses untuk membaca digital signature terdari dari proses membaca warna pada dokumen gambar. Dilanjutkan dengan proses membaca nilai LSB dari tiap-tiap warna, dan dikumpulkan pada suatu variabel penampung (perintah pada baris 3).
Pengujian sistem dilakukan terhadap beberapa faktor yaitu otentikasi, integritas, dan pengaruh LSB dan EOF pada berbagai tipe file gambar. [14]. Otentikasi memiliki makna yaitu dokumen tersebut asli dan berasal dari sumber yang dipercaya [20]. Pengujian otentikasi dilakukan dengan menguji apakah dengan pasangan kunci yang berbeda, proses verifikasi dapat dilakukan. Tabel 4 menunjukkan hasil pengujian otentikasi, dan sistem dapat bekerja dengan tepat untuk mengetahui kunci yang digunakan benar atau tidak.
Tabel 4 Hasil Pengujian Otentikasi
12
1 PrivateA.priv PublicB.pub Tidak otentik Berhasil mendeteksi pasangan kunci yang salah. 2 PrivateB.priv PublicC.pub Tidak otentik Berhasil mendeteksi pasangan
kunci yang salah. 3 PrivateC.priv PublicD.pub Tidak otentik Berhasil mendeteksi pasangan
kunci yang salah. 4 PrivateD.priv PublicE.pub Tidak otentik Berhasil mendeteksi pasangan
kunci yang salah. 5 PrivateE.priv PublicA.pub Tidak otentik Berhasil mendeteksi pasangan
kunci yang salah. 6 PrivateA.priv PublicE.pub Tidak otentik Berhasil mendeteksi pasangan
kunci yang salah. 7 PrivateB.priv PublicE.pub Tidak otentik Berhasil mendeteksi pasangan
kunci yang salah. 8 PrivateC.priv PublicE.pub Tidak otentik Berhasil mendeteksi pasangan
kunci yang salah. 9 PrivateD.priv PublicE.pub Tidak otentik Berhasil mendeteksi pasangan
kunci yang salah. 10 PrivateE.priv PublicD.pub Tidak otentik Berhasil mendeteksi pasangan
kunci yang salah. 11 PrivateA.priv PublicA.pub Otentik Berhasil melakukan verifikasi
dengan pasangan kunci yang tepat. 12 PrivateB.priv PublicB.pub Otentik Berhasil melakukan verifikasi
dengan pasangan kunci yang tepat. 13 PrivateC.priv PublicC.pub Otentik Berhasil melakukan verifikasi
dengan pasangan kunci yang tepat. 14 PrivateD.priv PublicD.pub Otentik Berhasil melakukan verifikasi
dengan pasangan kunci yang tepat. 15 PrivateE.priv PublicE.pub Otentik Berhasil melakukan verifikasi
dengan pasangan kunci yang tepat.
Keutuhan (integrity) suatu dokumen diuji dengan cara melakukan perubahan (manipulasi) pada dokumen. Pengujian 2 bertujuan untuk mengetahui apakah aplikasi dapat mendeteksi perubahan pada dokumen yang telah diberi
digital signature. Digital signature dapat disimpulkan berhasil menjaga keotentikan dokumen jika perubahan yang dilakukan pada dokumen dapat terdeteksi (hasil verifikasi "tidak valid").
Tabel 5 Hasil Pengujian Integritas
13
5 Grayscale 95689bad
a7500a4f Berdasarkan hasil pengujian integritas, pada Tabel 5, disimpulkan bahwa
segala bentuk perubahan yang dilakukan pada dokumen gambar yang telah diujikan, memberikan hasil verifikasi tidak valid. Hal ini dikarenakan pada proses manipulasi, nilai-nilai warna pada piksel yang dimanipulasi menjadi berubah. Sehingga ketika proses verifikasi, digital signature yang disisipkan menjadi berbeda dengan digital signature yang asli.
Pengujian ketiga adalah pengujian untuk melihat kelebihan dan kekurangan dari penyisipan digital signature dengan metode LSB maupun EOF. Hasil pengujian ditunjukkan pada Tabel 6.
Tabel 6 Hasil Pengujian Pengaruh Penyisipan DigitalSignature dengan LSB
No Jenis Citra Digital Ukuran File Jumlah Perubahan
Piksel Sebelum Sesudah
14
error, namun ekstraksi tidak dapat dilakukan.
Pada Tabel 3, file dengan formatJPG bersifat kompresi ‘lossy’, sehingga di
dalam 1 warna, belum tentu terdapat 8 bit, sehingga hal ini tidak dapat diproses oleh pustaka grafik pada pemrograman C#. Sehingga, hal ini menyebabkan file format
JPG tidak dapat diproses dengan algoritma LSB. Pada library C#, proses yang terjadi adalah JPG diubah ke bentuk bitmap, kemudian penyisipan dilakukan. Setelah penyisipan, dilakukan penyimpanan ke bentuk JPG kembali, namun karena
sifat JPG yang ‘lossy’, maka terdapat. warna-warna yang hilang, sehingga digital
signature tidak diekstraksi.
File dengan format PNG dan BMP dapat disisipi pada pikselnya, karena kedua format gambar ini menggunakan TrueColorImage. Tiap 1 piksel memiliki 3 warna dan dalam 1 warna terdapat 8 bit informasi, seperti ditunjukkan pada Gambar 2.
Tabel 7 Hasil Pengujian Pengaruh Penyisipan DigitalSignature dengan EOF
No Jenis Citra Digital Ukuran File Jumlah Perubahan
Piksel bekerja pada level informasi file. Sehingga hal ini tidak dipengarui oleh jenis format file gambar. Besar perubahan yang terjadi pada ukuran file adalah 16 byte, karena
15
Gambar 9 Isi file PNG Sebelum Penyisipan
Gambar 10 Isi File PNG Setelah Penyisipan DigitalSignature, ditunjukkan dengan Huruf Warna Merah
Gambar 11 Perbandingan Ukuran File Sebelum dan Sesudah Penyisipan
Pada Gambar 9 ditunjukkan isi file (bukan piksel), sebelum proses penyisipan. Penyisipan dilakukan dengan menempelkan digitalsignature di bagian akhir file. Gambar 10 menunjukkan isi file setelah proses penyisipan. Untuk melihat isi file dalam bentuk heksadesimal, digunakan aplikasi heksa editor, HxD. Perbandingan ukuran file ditunjukkan pada Gambar 11.
Berdasarkan hasil pengujian pada Tabel 3 dan Tabel 4 dapat dilihat bahwa metode penyisipan digitalsignature dengan algoritma LSB hanya dapat dilakukan pada file jenis PNG dan BMP. Kedua jenis file ini memiliki sifat truecolorimage, yaitu pada 1 warna diwakili dengan 1 byte, dan di dalam 1 piksel terdapat 3 warna. Untuk memanipulasi 1 warna ini lebih mudah, karena 1 warna tepat berukuran 1
16
“least significant”. Nilai perubahannya adalah sebesar maksimal 1, minimal 0. Sebagai contoh jika warna merah (255) diganti dengan bit 0, maka akan menjadi 254 yang tetap merupakan warna merah.
Nilai desimal 255 (Gambar 12), dalam biner ditulis 11111111. Jika bit
paling akhir (LSB) diubah menjadi 0 karena hasil penyisipan, maka warna merah tersebut menjadi 11111110, yang jika diubah kembali ke bentuk desimal, bernilai 254 (Gambar 13).
Gambar 12 Warna Merah dengan Nilai 255
Gambar 13 Warna Merah dengan Nilai 254
Pada file jenis JPG, untuk memanipulasi piksel, perlu diubah ke bentuk
Bitmap. Pustaka ini tersedia di .Net Framework. Setelah penyisipan dilakukan, maka harus tetap tersimpan dalam formatBitmap, dalam hal ini pilihannya adalah BMP atau PNG. Jika tetap disimpan dalam format JPG seperti awalnya, maka penyisipan yang dilakukan tadi akan menjadi rusak, karena dalam JPG terdapat proses kompresi.
Pada penyisipan EOF, berhasil dilakukan pada ketiga jenis file gambar. Proses EOF tidak memanipulasi informasi warna, namun menambahkan byte
(bukan bit), pada bagian akhir file. Setiap file terdapat penanda, yang menunjukkan
bahwa “akhir file” telah tercapai. Penyisipan EOF memanfaatkan tanda ini, dengan
cara meletakkan digital signature setelah tanda “akhir file”. Efek yang terjadi
17
5. Simpulan
Berdasarkan penelitian, pengujian dan analisis terhadap aplikasi, maka dapat diambil kesimpulan sebagai berikut: Digital signature dapat diimplementasikan dengan menggunakan algoritma RSA, MD5 dan LSB/EOF
embedding, sehingga dapat berfungsi untuk menguji keutuhan dan otentikasi suatu dokumen digital. Pengujian membuktikan bahwa dapat dideteksi perubahan dokumen dari hasil manipulasi rotasi, mirror, crop, resize, dan manipulasi piksel
Metode penyisipan digital signature dengan algoritma LSB hanya dapat dilakukan pada file jenis PNG dan BMP, yang merupakan true color image. Penyisipan dilakukan pada LSB tiap warna. Pada file jenis JPG, untuk memanipulasi piksel, perlu diubah ke bentuk Bitmap. Setelah penyisipan, maka dikembalikan kembali ke format JPG, sehingga menyebabkan hasil penyisipan yang dilakukan sebelumnya, menjadi rusak, karena dalam JPG terdapat proses kompresi. Metode LSB memiliki kelebihan yaitu tidak mengubah ukuran file citra
digital. Kekurangannya adalah hanya dapat dilakukan pada file format dengan bentuk truecolorimage seperti PNG dan BMP yang tidak menggunakan kompresi
‘lossy’.
Pada penyisipan EOF, berhasil dilakukan pada ketiga jenis file gambar. Proses EOF memiliki kelebihan yaitu tidak memanipulasi informasi warna, namun menambahkan byte (bukan bit), pada bagian akhir file. Setiap file terdapat penanda, yang menunjukkan bahwa “akhir file” telah tercapai. Penyisipan EOF
memanfaatkan tanda ini, dengan cara meletakkan digital signature setelah tanda
“akhir file”. Kelebihan yang lain adalah metode EOF, dapat dilakukan pada PNG,
BMP dan JPG. Kekurangan dari metode EOF, yaitu efek yang terjadi adalah piksel tidak mengalami perubahan, namun ukuran file bertambah sebesar nilai digital signature.
Saran yang dapat diberikan untuk penelitian lebih lanjut adalah penelitian dapat diarahkan untuk mendeteksi lokasi perubahan pada dokumen gambar. Jika deteksi dapat dilakukan, maka dapat dipisahkan antara piksel asli, dengan piksel termanipulasi. Sehingga pada bagian piksel yang asli, masih dapat dimanfaatkan informasi di dalamnya.
6. Daftar Pustaka
[1]. Kaufman, C., Perlman, R. & Speciner, M. 2002. Network security: private communication in a public world. Prentice Hall Press.
[2]. Ahmaddul, H. & Sediyono, E. 2012. Rancang Bangun Sistem Pengamanan Dokumen pada Sistem Informasi Akademik Menggunakan Digital Signature dengan Algoritma Kurva Eliptik. Program Pascasarjana Universitas Diponegoro Semarang
[3]. Goldwasser, S., Micali, S. & Rivest, R. L. 1988. A digital signature scheme secure against adaptive chosen-message attacks. SIAM Journal on Computing 17, 281–308.
18
[5]. Triwinarko, A. 2010. Elliptic Curve Digital Signature Algorithm (ECDSA). Laboratorium Ilmu dan Rekayasa Komputasi Departemen Teknik Informatika, Institut Teknologi Bandung
[6]. Rahajoeningroem, T. & Aria, M. 2009. Studi dan Implementasi Algoritma RSA untuk Pengamanan Data Transkrip Akademik Mahasiswa. Jurusan Teknik Elektro Universitas Komputer Indonesia
[7]. Noertjahyana, A., Gunadi, K. & Agustinus Noertjahyana, Samuel Hartono, K. G. 2012. Aplikasi Metode Steganography pada Citra Digital dengan Menggunakan Metode LSB (Least Significant Bit). Universitas Kristen Petra.
[8]. Patricia, H. & Aripin 2015. Teknik Keamanan Data Menggunakan Kriptografi dengan Algoritma Vigenere Cipher dan Steganografi dengan Metode End of File (EoF). Program Studi Teknik Informatika Fakultas Ilmu Komputer Universitas Dian Nuswantoro
[9]. Wasino, Rahayu, T. P. & Setiawan 2012. Implementasi Steganografi Teknik End of File dengan Enkripsi Rijndael. Seminar Nasional Teknologi Informasi dan Komunikasi 2012 (SENTIKA 2012)
[10]. Computer Hope 2016. EOF.
http://www.computerhope.com/jargon/e/eof.htm. Diakses 13 Februari 2016. [11]. Chandramouli, R. & Memon, N. 2001. Analysis of LSB based image
steganography techniques. In Image Processing, 2001. Proceedings. 2001 International Conference on, pp. 1019–1022.
[12]. Weiss, M. 2009. Principles of Steganography. www.math.ucsd.edu/~crypto/Projects/MaxWeiss/steganography.pdf.
Diakses pada 13 Februari 2016.
[13]. Rafferty, C. 2005. Steganography & Steganalysis of Images. National University of Ireland, Galway
[14]. Shaw, S. 1999. Overview of Watermarks , Fingerprints , and Digital Signatures.
[15]. Willamette.edu 2004. Image File Formats.
www.willamette.edu/~gorr/classes/GeneralGraphics/imageFormats/. Diakses pada 4 Desember 2015.
[16]. Boutell, T. 1997. PNG (Portable Network Graphics) Specification Version 1.0.
[17]. Basu, S. 2014. GT Explains: What is the Difference Between JPG, GIF, PNG, BMP Image Formats? http://www.guidingtech.com/7729/difference-between-jpg-png-gif-bmp-image-formats/. Diakses 1 Agustus 2016.
[18]. Margaret Rouse 2015. Lossless and Lossy Compression. http://whatis.techtarget.com/definition/lossless-and-lossy-compression. Diakses pada 1 Agustus 2016.
[19]. Sulistyo, W. & Subanar 2013. Desain Metodologi Penelitan untuk Pemodelan dalam Bidang Ilmu Komputer. Seminar Nasional Sains dan Aplikasi Komputasi