Digital Signature pada Citra Digital dengan Algoritma Least Significant Bit dan Chaocipher Artikel Ilmiah
Peneliti: Sandy Juniart Siwabessy (672010264) Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga Juli 2016
Digital Signature pada Citra Digital dengan Algoritma Least Significant Bit dan Chaocipher Artikel Ilmiah Diajukan kepada Fakultas Teknologi Informasi untuk memperoleh Gelar Sarjana Komputer
Peneliti: Sandy Juniart Siwabessy (672010264) Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga Juli 2016
Digital Signature pada Citra Digital dengan Algoritma Least Significant Bit dan Chaocipher Sandy Juniart Siwabessy 1, Magdalena A. Ineke Pakereng 2 Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Jl. Diponegoro 52-60, Salatiga 50711, Indonesia E-mail:
[email protected],
[email protected] Abstract Documents in the form of digital image has the possibility to be manipulated unlawfully. The information contained within can be faked, so that the recipient of the document can be wrong in interpreting the intention of the information therein. This could result in losses for both the sender and recipient document, the decision made, based on the information that has been falsified. A solution is needed to secure the information stored on it. Information from the sender must be the same when it reached the receiver. In this study generated digital signature applications implemented in a way that is calculating the value of bytes of data into a form MD5 hash algorithm. Results hash is then encrypted with an algorithm Chaocipher. Cipher hash then inserted at Least Significant Bit of digital images. Digital signature is inserted can be used to detect whether the digital image has been changed or not. The test results showed that the change can be detected, even if the change only by 2x2 pixels. Keywords: Digital Signature, Least Significant Bit Embedding, Chaocipher Abstrak Dokumen berbentuk citra digital memiliki kemungkinan untuk dimanipulasi secara tidak sah. Informasi yang terdapat di dalamnya dapat dipalsukan sehingga pihak penerima dokumen dapat salah dalam menginterpretasikan maksud informasi di dalamnya. Hal ini dapat mengakibatkan kerugian baik bagi pengirim dokumen maupun penerima dokumen, karena keputusan yang dibuat, berdasarkan pada informasi yang telah dipalsukan. Sebuah solusi diperlukan untuk mengamankan informasi yang tersimpan di dalamnya. Informasi dari pengirim harus sama ketika sampai di penerima. Pada penelitian ini dihasilkan aplikasi digital signature diimplementasikan dengan cara yaitu menghitung nilai byte data menjadi bentuk hash dengan algoritma MD5. Hasil hash kemudian dienkripsi dengan algoritma Chaocipher. Cipher hash kemudian disisipkan pada bagian Least Significant Bit citra digital. Digital signature yang disisipkan tersebut dapat berfungsi untuk mendeteksi apakah citra digital telah mengalami perubahan atau tidak. Hasil pengujian menunjukkan bahwa perubahan dapat terdeteksi, sekalipun perubahan hanya sebesar 2x2 piksel. Kata Kunci: Tanda Tangan Digital, Penyisipan Least Significant Bit, Chaocipher 1
Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga 2 Staf Pengajar Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga
1.
Pendahuluan
Komunikasi merupakan faktor penting dalam kehidupan manusia. Kini manusia dipermudah oleh teknologi untuk menyampaikan informasi. Media komunikasi yang diciptakan manusia tersebut memang memudahkan dalam penyampaian informasi, tapi di sisi lain penyampaian pesan melalui media tertentu tidak menjamin keamanan terhadap integritas data. Keamanan telah menjadi aspek yang sangat penting dari suatu sistem informasi. Adapun permasalahan yang ada seperti dokumen berbentuk berkas gambar (file image), memiliki kemungkinan untuk dimanipulasi oleh pihak lain yang menyebabkan informasi yang terdapat pada citra digital menjadi berubah (tidak asli). Tindakan manipulasi informasi ini dapat mengakibatkan kerugian baik bagi pihak pemilik citra digital, maupun penerima citra digital. Oleh karena itu, diperlukan solusi yang sangat tepat agar citra digital dapat diketahui keutuhan informasi di dalamnya. Salah satu upaya untuk menjaga integritas informasi pada citra digital adalah dengan menyisipkan digital signature terlebih dahulu ke dalam citra digital yang akan dikirim. Digital signature atau yang juga disebut tanda tangan digital adalah suatu mekanisme untuk menggantikan tanda tangan secara manual pada dokumen kertas [1]. Digital signature memiliki fungsi sebagai penanda pada data yang memastikan bahwa data tersebut adalah data yang sebenarnya (utuh/integral). Penanda pada digital signature ini tidak semata hanya berupa tanda tangan digital, tetapi dapat berupa cap digital, text, bit, dan gambar. Aspek keamanan dan kerahasiaan bukan disediakan dengan sistem berupa tanda tangan digital, tetapi tanda tangan yang telah dienkripsi terlebih dahulu dengan algoritma tertentu. Tujuan dari digital signature adalah untuk melindungi citra digital dari tindakan manipulasi. Cara untuk membuat digital signature adalah dengan membuat hash, kemudian hash tersebut dienkripsi, dan hasil enkripsi disisipkan ke dalam citra digital. Hash terenkripsi yang disisipkan tersebut akan berfungsi sebagai segel. Citra digital dapat dilihat dan dimanipulasi orang lain, namun ketika dilakukan proses validasi, maka akan terbukti bahwa citra digital tidak valid karena nilai hash telah berubah akibat tindakan manipulasi. Berdasarkan latar belakang tersebut maka dilakukan penelitian dengan judul “Digital signature pada Citra Digital dengan Algoritma Least Significant Bit dan Chaocipher”, yang diharapkan dapat membantu menyedikan alat untuk menjaga integritas informasi dari suatu citra digital. 2.
Tinjauan Pustaka
Penelitian sebelumnya yang terkait dengan penelitian yang dilakukan adalah penelitian yang berjudul “Rancang Bangun Sistem Pengamanan Dokumen Informasi Akademik Menggunakan Digital signature dengan Algoritma Kurva Eliptik”. Penggunaan e-paper atau lembaran/dokumen digital yang digunakan untuk setiap lembar naskah yang dicetak dari sistem informasi akademik baik oleh mahasiswa, staff administrasi maupun pihak lainnya rentan terhadap pemalsuan
1
dan pembajakan oleh pihak-pihak yang tidak bertanggung jawab. Pada penelitian ini dibahas tentang bagaimana mengamankan berkas elektronik (e-paper) dengan menambahkan (meng-embedded) digital signature pada setiap berkas yang akan dicetak baik yang menggunakan kertas (paper) maupun yang tidak menggunakan kertas (paperless) dalam format PDF maupun format digital lainnya. Penelitian ini menghasilkan aplikasi sistem informasi akademik yang telah ditambahkan tanda tangan dan aplikasi pembaca keabsahan tanda tangan. Berdasarkan hasil uji coba, tanda tangan tidak dapat didekripsi dengan aplikasi sniffer, serta aplikasi verifying menunjukkan waktu akses rata-rata 110 milidetik. Aplikasi web verifying membutuhkan waktu yang lama untuk mendekripsikan digital signature, tetapi ini sebanding dengan keamanan dan kehandalan yang dihasilkan oleh sistem informasi dengan algoritma kurva eliptik ini [1]. Penelitian yang selanjutnya berjudul “Studi dan Implementasi Algoritma RSA untuk Pengamanan Data Transkrip Akademik Mahasiswa”. Masalah 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 [2]. Digital signature dimasukkan ke dalam dokumen yang akan diamankan, dengan cara menyisipkan ke dalamnya. Penelitian yang dilakukan oleh Noertjahyana [3] membahas tentang penyisipan data ke dalam media lain. Noertjahyana memanfaatkan teknik ini untuk mengamankan pesan. Pada penelitian tersebut digunakan metode LSB (Least Significant Bit). Bit pesan disisipkan pada bit LSB citra digital. Teknik ini memberikan keuntungan yaitu kecilnya perubahan yang terjadi pada citra digital. Penelitian Noertjahyana tidak menggunakan algoritma kriptografi untuk mengenkripsi data sebelum disisipkan. Berdasarkan penelitian-penelitian yang dilakukan tentang pemanfaatan digital signature, algoritma-algoritma untuk digital signature, dan teknik LSB, maka dilakukan penelitian yang membahas mengenai perancangan digital signature dengan algoritma Chaocipher, dan penyisipan LSB. Perbedaan penelitian ini dengan penelitian sebelumnya adalah, pada penelitian ini digital signature dibentuk dengan cara menghitung nilai hash dari dokumen. Hash dihitung dengan algoritma MD5, kemudian hash dienkripsi dengan algoritma Chaocipher, dan hasilnya disisipkan pada posisi LSB tiap warna pada citra digital. Tanda tangan digital (digital signature) adalah salah satu teknologi yang digunakan untuk meningkatkan keamanan jaringan [1]. Digital signature berfungsi sebagai penanda pada data untuk memastikan keaslian data. Digital signature dapat memenuhi setidaknya dua syarat keamanan jaringan, yaitu authenticity dan nonrepudiation. Digital signature memanfaatkan teknologi kunci
2
publik (public key). Sepasang kunci publik dan privat dibuat unik dan tidak ada pasangannya. Kunci privat disimpan oleh pemiliknya, dan digunakan untuk membuat digital signature. Sedangkan kunci publik dapat diserahkan kepada siapa saja yang ingin memeriksa keaslian digital signature yang bersangkutan pada suatu dokumen. Untuk membuka digital signature tersebut diperlukan kunci privat. Bila data telah diubah oleh pihak luar, maka digital signature juga ikut berubah sehingga kunci privat yang ada tidak akan dapat membukanya. Ini merupakan salah satu syarat keamanan jaringan, yaitu authenticity dimana keaslian data dapat terjamin dari perubahan-perubahan yang dilakukan pihak luar, dengan cara yang sama, pengirim data tidak dapat menyangkal data yang telah dikirimkannya. Bila digital signature cocok dengan kunci privat yang dipegang oleh penerima data, maka dapat dipastikan bahwa pengirim adalah pemegang kunci privat yang sama. Ini berarti digital signature memenuhi salah satu syarat keamanan jaringan, yaitu nonrepudiation atau non-penyangkalan [1]. Menurut Amin [4], cara paling umum menyembunyikan pesan adalah dengan memanfaatkan Least Significant Bit (LSB). Walaupun ada kekurangan pada metode ini, tetapi kemudahan implementasinya membuat metode ini tetap digunakan sampai sekarang. Metode ini membutuhkan syarat, yaitu jika dilakukan kompresi pada image watermarking, harus digunakan format lossless compression, karena metode ini menggunakan beberapa bit pada setiap pixel pada image. Jika digunakan format lossy compression, pesan rahasia yang disembunyikan dapat hilang. Jika digunakan image 24 bit color sebagai cover, sebuah bit dari masing-masing komponen Red, Green dan Blue dapat digunakan sehingga 3 bit dapat disimpan pada setiap pixel. Pada susunan bit di dalam sebuah byte (1 byte = 8 bit), ada bit yang paling berarti most significant bit (MSB) dan bit yang paling kurang berarti least significant bit (LSB). Bit yang cocok untuk diganti adalah bit LSB, sebab perubahan tersebut hanya mengubah nilai byte satu lebih tinggi atau satu lebih rendah dari nilai sebelumnya. Misalkan pada cover citra, byte tersebut menyatakan warna merah, maka perubahan satu bit LSB tidak mengubah warna merah tersebut secara berarti, apalagi mata manusia tidak dapat membedakan perubahan yang kecil. Misalnya, di bawah ini terdapat 3 piksel dari image 24 bit color : (00100111 11101001 11001000) (00100111 11001000 11101001) (11001000 00100111 11101001) Yang ingin disisipkan adalah huruf A dengan biner 01000001, dengan menyisipkannya ke dalam piksel di atas maka akan dihasilkan (00100110 11101001 11001000) (00100110 11001000 11101000) (11001000 00100111 11101001) Dapat dilihat bahwa hanya 3 bit saja yang perlu diubah untuk menyembunyikan karakter A ini. Perubahan pada LSB ini akan terlalu kecil untuk terdeteksi sehingga pesan dapat disembunyikan secara efektif. Jika digunakan image 8 bit color sebagai cover, hanya 1 bit saja dari setiap piksel warna yang dapat dimodifikasi sehingga pemilihan image harus dilakukan dengan sangat hati-
3
hati, karena perubahan LSB dapat menyebabkan terjadinya perubahan warna yang ditampilkan pada citra. Chaocipher adalah algoritma kriptografi yang ditemukan oleh J. F. Byrne pada tahun 1918 dan dideskripsikan pada otobiografinya yang berjudul Silent Years pada tahun 1953. Byrne menjelaskan bahwa Chaocipher adalah kriptografi yang sederhana, namun tidak dapat dipatahkan. Byrne menyatakan bahwa mesin yang digunakan untuk menguraikan pesan bisa dipasang ke dalam kotak cerutu. Byrne menawarkan hadiah uang tunai bagi siapa saja yang bisa memecahkannya. Pada bulan Mei 2010 keluarga Byrne menyumbangkan semua dokumen Chaocipher ke Museum National Cryptologic di Ft. Meade, Maryland, Amerika Serikat. Hal ini menyebabkan pengungkapan algoritma Chaocipher [5]. Sistem Chaocipher terdiri dari dua alfabet, dengan huruf "kanan" digunakan untuk mencari huruf plaintext sementara yang lain ("kiri") alfabet digunakan untuk membaca surat ciphertext yang sesuai. Algoritma ini mendukung konsep substitusi dinamis [6] dimana dua huruf yang sedikit diubah setelah setiap masukan huruf plaintext dienkripsi. Hal ini menyebabkan plaintext yang non linear dan sangat tersebar. Proses dekripsi identik dengan enkripsi, dengan huruf ciphertext yang terletak di "kiri" alfabet sedangkan huruf plaintext yang sesuai yang dibaca dari "kanan" alfabet.
Gambar 1 Model Mekanik dari Chaocipher [5]
Alfabet yang digunakan oleh Chaocipher berada dalam bentuk susunan acak. Pada penelitian ini digunakan algoritma Fisher Yates untuk melakukan pengacakan alfabet yang digunakan pada awal proses pembuatan digital signature maupun verifikasi dengan algoritma Chaocipher. Fisher Yates shuffle (diambil dari nama Ronald Fisher dan Frank Yates) atau juga dikenal dengan nama Knuth shuffle (diambil dari nama Donald Knuth), adalah sebuah algoritma untuk menghasilkan suatu permutasi acak dari suatu himpunan terhingga, dengan kata lain untuk mengacak suatu himpunan tersebut [6]. Jika diimplementasikan dengan benar, maka hasil dari algoritma ini tidak akan berat sebelah, sehingga setiap permutasi memiliki kemungkinan yang sama. Metode dasar yang digunakan untuk 4
menghasilkan suatu permutasi acak untuk angka 1 sampai N adalah sebagai berikut [7]: 1. Tuliskan angka dari 1 sampai N. 2. Pilih sebuah angka acak K di antara 1 sampai dengan jumlah angka yang belum dicoret. Dihitung dari bawah, coret angka K yang belum dicoret, dan tuliskan 3. angka tersebut di lain tempat. 4. Ulangi langkah 2 dan langkah 3 sampai semua angka sudah tercoret. 5. Urutan angka yang dituliskan pada langkah 3 adalah permutasi acak dari angka awal. Contoh langkah Fisher Yates ditunjukkan pada Tabel 1. Range adalah jumlah angka yang belum terpilih, roll adalah angka acak yang terpilih, scratch adalah daftar angka yang belum terpilih, dan result adalah hasil permutasi yang akan didapatkan. Range 1-8 1-7 1-6 1-5 1-4 1-3 1-2
Tabel 1 Contoh Langkah Fisher Yates Shuffle Roll Scratch Result (bilangan acak di dalam Range) ABCDEFGH 3 AB C DEFGH C 4 AB C DEFGH CE 5 AB C DEFGH CEG 3 AB C DEFGH CE G D AB C DEFGH CE G D H 4 1 AB C DEFGH CE G D H A 2 AB C DEFGH CE G D H A F AB C DEFGH CE G D H A F B
Dalam kriptografi, MD5 (Message-Digest Algorithm 5) ialah fungsi hash kriptografi yang digunakan secara luas dengan hash value 128-bit [7]. MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan MD5 juga umum digunakan untuk melakukan pengujian integritas (fingerprint) sebuah file. MD5 didesain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash function sebelumnya, yaitu MD4.
Gambar 2 Hash Value dari Beberapa Input yang Berbeda [8]
5
Hash value yang dihasilkan oleh MD5 memiliki panjang 128-bit (16 byte), sekalipun input (pesan) yang digunakan memiliki panjang yang bervariasi. Hash value berubah signifikan sekalipun perubahan yang terjadi pada input hanya 1 byte (1 kata). 3.
Metode dan Perancangan Sistem
Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang terbagi dalam lima tahapan, yaitu: (1) Identifikasi masalah dan studi literatur, (2) Perancangan sistem, (3) Implementasi sistem, (4) Pengujian sistem dan analisis hasil pengujian, (5) Penulisan laporan. Identifikasi Masalah dan Studi Literatur Perancangan Sistem Implementasi Sistem Pengujian Sistem dan Analisis Hasil Pengujian Penulisan Laporan
Gambar 3 Tahapan Penelitian
Tahapan penelitian pada Gambar 3, dapat dijelaskan sebagai berikut. Tahap pertama: Pada tahap ini dilakukan identifikasi masalah diperlukannya sistem pengamanan dokumen digital terutama citra digital. Selain identifikasi masalah, dikumpulkan juga penelitian-penelitian terdahulu yang membahas masalah yang sama atau mirip, sehingga dapat dilihat metode-metode yang dapat diaplikasikan untuk pengamanan citra digital. Tahap kedua: yaitu melakukan perancangan sistem yang meliputi perancangan proses. Proses terbagi pada 2 bagian utama yaitu proses pemberian digital signature, dan proses verifikasi digital signature. Pada kedua proses tersebut, masing-masing terdapat subproses, yaitu proses pembuatan hash, proses enkripsi/dekripsi hash, dan proses embedding/extracting digital signature. Tahap ketiga: yaitu mengimplementasikan rancangan yang telah dibuat di tahap dua ke dalam sebuah aplikasi/program sesuai kebutuhan sistem. Tahap keempat: yaitu melakukan pengujian terhadap sistem yang telah dibuat, serta menganalisis hasil pengujian tersebut, untuk melihat apakah aplikasi yang telah dibuat sudah sesuai dengan yang diharapkan atau tidak, jika belum sesuai maka dilakukan perbaikan. Tahap kelima: melakukan penulisan laporan penelitian.
6
Signatory
Dokumen Original
Proses Digital Signature
Dokumen dengan Digital Signature
Verifikasi
Valid atau Tidak Valid
Verifier Dokumen dengan Digital Signature
Gambar 4 Arsitektur Sistem
Arsitektur sistem 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
Input Kunci
Input Dokumen Citra Digital
Enkripsi HASH sehingga menjadi Digital Signature
Shuffle Alfabet Left & Right
Output dokumen
Embed Digital Signature
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 digital yang telah diberi digital signature.
7
Mulai
Input Kunci
Input Dokumen Citra Digital Shuffle Alfabet Left & Right
Hitung nilai HASH
Ekstrak Digital Signature
Dekripsi Digital Signature
YA
HASH sama dengan hasil Dekripsi
TIDAK
Output tidak valid
Ouput valid
Selesai
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. Contoh proses pembuatan digital signature dengan algoritma Chaocipher adalah sebagai berikut. Terdapat susunan 2 alfabet yang telah diacak sebelumnya dengan algoritma Fisher Yates.
Gambar 7 Alfabet Left dan Right pada Chaocipher
Alfabet Right digunakan untuk mencari plaintext, alfabet Left digunakan untuk mencari ciphertext. Pada contoh ini, untuk mengenkripsi huruf A, dicari pada alfabet Right, yaitu pada posisi 13, dan pada posisi yang sama di alfabet Left adalah huruf P. Maka huruf A dienkripsi menjadi P. Posisi + adalah posisi zenith, dan posisi * adalah posisi nadir. Selanjutnya dilakukan perputaran pada kedua alfabet tersebut. Perputaran untuk alfabet Left dilakukan dengan cara: 1. Putar alfabet ke kiri, sehingga huruf yang dienkripsi tadi (P) berada pada posisi zenith.
8
2. Keluarkan huruf pada posisi zenith+1, biarkan kosong untuk sementara 3. Geser satu posisi ke kiri, semua huruf dari posisi zenith+2 sampai dengan huruf posisi nadir. 4. Masukkan huruf yang dikeluarkan tadi, ke posisi nadir.
Gambar 8 Langkah Perputaran Alfabet Left
Alfabet Right diputar dengan langkah sebagai berikut: 1. Putar alfabet ke arah kiri sehingga huruf plaintext tadi (A) berada pada posisi zenith. 2. Putar sekali lagi ke arah kanan secara penuh, sehingga huruf paling depan menjadi berada di posisi paling belakang. 3. Keluarkan huruf pada posisi zenith+2, biarkan posisi tersebut kosong. 4. Geser satu posisi ke kiri, semua huruf dimulai dari posisi zenith+3 sampai posisi nadir. 5. Masukkan huruf yang dikeluarkan tadi, ke posisi nadir.
Gambar 9 Langkah Perputaran Alfabet Right
4.
Hasil dan Pembahasan
Hasil implementasi sistem berdasarkan perancangan yang telah dibuat, dijelaskan sebagai berikut. Antarmuka sistem yang dihasilkan ditunjukkan pada Gambar 10 dan Gambar 11. Gambar 10 ditunjukkan hasil dari proses digital signing. Gambar 11 menunjukkan hasil dari proses verifikasi.
9
Gambar 10 Tampilan Proses Pemberian Digital Signature
Pada proses pemberian digital signature (Gambar 10), ditampilkan perubahan nilai hash (signature) sebelum dan sesudah proses enkripsi. Algoritma Chaocipher tidak mengubah panjang data, tidak ada proses, sehingga panjang signature tidak mengalami perubahan, yaitu 16 byte. Signature ini kemudian disisipkan ke dalam citra digital yang hasil akhirnya ditampilkan pada sisi sebelah kanan (signed image).
Gambar 11 Tampilan Proses Verifikasi
Pada proses verifikasi (Gambar 11), ditampilkan hasil akhir berupa valid atau tidak valid. 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 10
signature, maka nilai digital signature akan memberikan hasil yang berbeda, sekalipun citra digital tidak dimanipulasi. Sehingga hanya penerima yang sah, yang memiliki kunci yang tepat, yang dapat melakukan proses verifikasi. Pengujian sistem dilakukan terhadap beberapa faktor yaitu otentikasi, integritas, dan pengaruh ukuran kunci terhadap ukuran citra digital [9]. Otentikasi memiliki makna yaitu dokumen tersebut asli dan berasal dari sumber yang dipercaya [10]. Pengujian otentikasi dilakukan dengan menguji apakah dengan kunci yang berbeda, proses verifikasi dapat dilakukan. Tabel 2 menunjukkan hasil pengujian otentikasi, dan sistem dapat bekerja dengan tepat untuk mengetahui kunci yang digunakan benar atau tidak. Kunci Signatory 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
123456 123456 ABC123rahasia Abc123rahasia aBC123 123456789 !@#Q@#!@# AAAAA1123 FTIFTIFTI ukswUKSW 123456 ABC123rahasia Abc123rahasia aBC123 123456789
Tabel 2 Hasil Pengujian Otentikasi Kunci Verifier Perbedaan Output karakter proses kunci verifikasi 12345 1 Tidak otentik 123457 1 Tidak otentik abC123rahasia 2 Tidak otentik aBc123rahasia 2 Tidak otentik aBC231 3 Tidak otentik 123456123 3 Tidak otentik !@#Q@3123 4 Tidak otentik AAAAA!!@# 4 Tidak otentik ftiFTIFti 5 Tidak otentik ukswUKSW 5 Tidak otentik 123456 0 Otentik ABC123rahasia 0 Otentik Abc123rahasia 0 Otentik aBC123 0 Otentik 123456789 0 Otentik
Kesimpulan Pengujian Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil
Keutuhan (integrity) suatu dokumen diuji dengan cara melakukan perubahan (manipulasi) pada dokumen. Pengujian integritas 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"). No 1 2 3 4
Jenis Perubahan Rotasi Image Mirror Image Crop
5
Resize Image Grayscale
6
Manipulasi
Tabel 3 Hasil Pengujian Integritas Digital Signature Digital Signature Awal Akhir 95689bada7500a4f a331487da5c91016 57e5710226e8e971 7bbacc42d798c307 95689bada7500a4f 2d1ddb3dbd34bd9e 57e5710226e8e971 633fe6ddce817e1b 95689bada7500a4f 47a7faa6ecc55d14 57e5710226e8e971 2ea15593edf90afa 95689bada7500a4f 8e46cbf64bc55eb9 57e5710226e8e971 1a0120a0810bb220 95689bada7500a4f a3dcabc7b0804282 57e5710226e8e971 4c575009f4abe029 95689bada7500a4f bc24942ce6c70546
11
Hasil Verifikasi Tidak valid Tidak valid Tidak valid Tidak valid Tidak valid Tidak
Kesimpulan Pengujian Sukses Sukses Sukses Sukses Sukses Sukses
20x20px Manipulasi 10x10px Manipulasi 2x2px (ubah warna 2 piksel)
7 8
57e5710226e8e971 95689bada7500a4f 57e5710226e8e971 95689bada7500a4f 57e5710226e8e971
f4136e36cfdd8ffb c4934c6021c09f38 75329cae8a47de04 c37ad79a3555ae82 dc2a28bba619d510
valid Tidak valid Tidak valid
Sukses Sukses
Berdasarkan hasil pengujian integritas, pada Tabel 3, 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. Pada Tabel 4, pengujian pengaruh ukuran kunci terhadap ukuran citra digital dilakukan dengan cara melakukan proses signing dengan panjang kunci yang bervariasi. No
1 2 3 4 5 6 7 8 9 10
Tabel 4 Hasil Pengujian Pengaruh Ukuran Kunci Terhadap Ukuran Citra Digital Kunci Citra Digital Ukuran Ukuran Perbedaan Citra Digital Citra Digital Piksel Awal Akhir (byte) (byte) 123 Baboon.png 120,054 120,054 64 1234 F16.png 120,054 120,054 63 123456 Lena 335,054 335,054 60 Crop.png 1234567 Lena 786,486 786,486 59 Grayscale.png 12345678 Lena 786,486 786,486 64 Mirror.png Abc Lena 196,662 196,662 60 Resize.png Abcd Lena 786,486 786,486 56 Rotate.png Abcde Lena.png 1,080,054 1,080,054 60 Abcdef Tiffany.png 120,054 120,054 62 Abcdefg UKSW.png 888,402 888,402 63
Berdasarkan hasil pengujian pada Tabel 4 diketahui bahwa ukuran kunci tidak mempengaruhi besarnya perubahan ukuran citra digital. Perubahan terjadi pada nilai piksel, karena proses penyisipan pada LSB komponen warna pada piksel. Digital signature berukuran 24 byte. Angka ini diperoleh dari 16 byte digital signature (hash yang telah dienkripsi), ditambah 8 byte meta data yang berfungsi sebagai tanda pemisah antara byte citra digital, dengan byte digital signature. Jika tiap piksel dapat disisipi 3 bit data, maka untuk menyisipkan 24 byte (192 bit) data diperlukan 64 piksel (diperoleh dari 192/3). Sehingga jumlah maksimal perubahan citra digital akibat proses penambahan digital signature adalah 64 piksel.
12
5.
Simpulan
Berdasarkan penelitian, pengujian dan analisis terhadap aplikasi, maka dapat diambil kesimpulan sebagai berikut: (1) Digital signature dapat diimplementasikan dengan cara yaitu menghitung nilai byte data menjadi bentuk hash dengan algoritma MD5. Hasil hash kemudian dienkripsi dengan algoritma Chaocipher. Cipher hash kemudian disisipkan pada bagian LSB citra digital; (2) Pengujian membuktikan bahwa dapat dideteksi perubahan dokumen dari hasil manipulasi rotasi, mirror, crop, resize, dan manipulasi piksel; (3) Jumlah maksimal perubahan citra digital akibat proses penambahan digital signature adalah 64 piksel. Saran yang dapat diberikan untuk penelitian lebih lanjut adalah metode penyisipan digital signature dapat diganti dengan metode yang lain, sebagai contoh EOF, spread spectrum atau yang lain, sehingga dapat dibandingkan kelebihan dan kekurangannya. 6.
Daftar Pustaka
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 [2]. Rahajoeningroem, T., Aria, M., 2009. Studi dan Implementasi Algoritma RSA untuk Pengamanan Data Transkrip Akademik Mahasiswa. Jurusan Teknik Elektro Universitas Komputer Indonesia [3]. Noertjahyana, A., Gunadi, K., Hartono, S. K. G., 2012. Aplikasi Metode Steganography pada Citra Digital dengan Menggunakan Metode LSB (Least Significant Bit). Universitas Kristen Petra. [4]. Amin, M. M., 2015. Image Steganography dengan Metode Least Significant Bit (LSB). CSRID Journal 6, 53–64. [5]. Rubin, M., 2010. Chaocipher Revealed: The Algorithm. http://www.mountainvistasoft.com/chaocipher/ActualChaocipher/Chaociph er-Revealed-Algorithm.pdf. Diakses pada 22 Mei 2016. [6]. Ritter, T., 1990. Substitution cipher with pseudo-random shuffling: The dynamic substitution combiner. Cryptologia 14, 289–303. [7]. Walia, A. G. N. K., 2014. Cryptography Algorithms: A Review. International Journal of Engineering Development and Research [8]. Rivest, R. L., 1992. RFC 1321: The MD5 message-digest algorithm. Internet activities board 143. [9]. Shaw, S., 1999. Overview of Watermarks , Fingerprints , and Digital signatures. [10]. Stallings, W., 2006. Cryptography and Network Security. (doi:10.1007/11935070) [1].
13