Aplikasi Kriptografi Metode Hill Cipher Pada Citra Digital Dengan Java
Table of Contents
Teman-temanku Sobat Blogger, kali ini saya memposting salah satu project saya ketika duduk di semeter III kemarin. Project ini saya buat untuk tugas akhir mata kuliah Aljabar Linear dan Matrik mengenai implementasi matrik dan determinan dalam sebuah program. Dan telah saya presentasikan didepan dosen penguji. Okey, selamat menyimak... !!
Kriptografi Citra Digital
Penggunaan metode Hill Cipher untuk pembuatan aplikasi Kriptografi merupakan salah satu teknik penyandian teks. Penggunaan metode Hill Cipher diperluas dari teks ke Citra Digital bertipe JPG,BMP dan GIF. Matriks yang dipakai berordo 2x2 dan 3x3. Pengujian data menunjukkan bahwa Hill Cipher cocok untuk enkripsi citra dengan variasi nilai RGB antar piksel berdekatan yang tinggi (seperti foto atau gambar), tapi tidak cocok untuk citra dengan variasi nilai RGB yang rendah (seperti gambar kartun) karena pola citra asli tidak dapat maksimal untuk menyandi citra asli tersebut. Hill Cipher memiliki kelemahan dalam menggunakan matriks kunci yang memiliki nilai determinan yaitu 1. Untuk pemakaian biasa, dengan pemilihan matriks kunci yang baik, Hill Cipher dapat dipakai untuk penyandian karena melibatkan operasi matriks biasa sehingga prosesnya relatif cepat.
Kriptografi Citra Digital
Penggunaan metode Hill Cipher untuk pembuatan aplikasi Kriptografi merupakan salah satu teknik penyandian teks. Penggunaan metode Hill Cipher diperluas dari teks ke Citra Digital bertipe JPG,BMP dan GIF. Matriks yang dipakai berordo 2x2 dan 3x3. Pengujian data menunjukkan bahwa Hill Cipher cocok untuk enkripsi citra dengan variasi nilai RGB antar piksel berdekatan yang tinggi (seperti foto atau gambar), tapi tidak cocok untuk citra dengan variasi nilai RGB yang rendah (seperti gambar kartun) karena pola citra asli tidak dapat maksimal untuk menyandi citra asli tersebut. Hill Cipher memiliki kelemahan dalam menggunakan matriks kunci yang memiliki nilai determinan yaitu 1. Untuk pemakaian biasa, dengan pemilihan matriks kunci yang baik, Hill Cipher dapat dipakai untuk penyandian karena melibatkan operasi matriks biasa sehingga prosesnya relatif cepat.
Pendahuluan
Sobat Blogger, Kriptografi dirasakan semakin penting. Mengingat keamanan pengiriman informasi melalui komputer menjadi bagian yang tak terpisahkan dalam kehidupan sehari-hari. Seiring dengan peningkatan kepentingannya, banyak metode-metode yang ditemukan maupun diperluas penggunaannya. Diantara metode-metode tersebut terdapat metode yang hanya membutuhkan operasi matematika sederhana, tetapi juga terdapat metode yang melibatkan teori yang rumit dan sulit implementasinya.
Citra Digital sebagai salah satu bentuk data digital saat ini banyak dipakai untuk menyimpan photo, gambar, ataupun hasil karya dalam format digital. Bila data - data tersebut tidak diamankan, dikuatirkan data tersebut dapat jatuh ke pihak yang tidak diinginkan, yang kemudian disalahgunakan untuk hal–hal bersifat negatif. Salah satu cara untuk mengatasi hal tersebut adalah menyandikan citra tersebut sehingga bentuk citra menjadi teracak, sehingga apabila jatuh ke tangan yang tidak diinginkan, citra tersebut juga tidak dapat digunakan.
Salah satu metode penyandian untuk tujuan di atas adalah menggunakan teknik penyandian Hill Cipher. Hill Cipher sebenarnya merupakan salah satu teknik penyandian teks, tetapi dengan melakukan perubahan perhitungan pada nilai RGB (Red Green Blue) citra maka Hill Cipher juga dapat dipakai untuk menyandikan citra. Hill Cipher menggunakan matriks persegi sebagai kunci dalam proses penyandiannya, karena hanya melibatkan operasi matriks biasa sehingga prosesnya relatif cepat.
Implememtasi dan Hasil Penelitian
Penggunaan Hill Cipher dipergunakan pada citra bertipe JPG, BMP dan Gif. Karena tiap-tiap komponen RGB piksel memiliki panjang 8 bit yang bernilai (0 - 255), maka sistem modulo yang dipakai dalam penyandian adalah 256. Untuk mengenkripsikan Citra, mula-mula nilai RGB dari tiap-tiap piksel diambil, kemudian dikalikan dengan Matriks kunci yang akan dipakai.
Piksel yang dipakai untuk uji coba adalah piksel pada koordinat 0,0 pada sebuah citra seperti pada gambar :
Diperoleh yaitu nilai RGB yakni, R = 187, G = 192 , B = 221
kemudian saya tentukan matriks Kunci Encripsinya, yaitu [10,10,10], penentuan matriks kunci ini bebas sesuai keinginan.
Rumus untuk menentukan nilai encripsi adalah C = K x P
C = Chipertext / Citra Terenkripsi
K = Matriks Kunci
P = Plaintext / Citra Sebelum Terenkripsi
Lantas, tinggal kita hitung saja perkalian antara matriks nilai RGB pada Koordinat 0,0 dengan Matriks Kunci, hasilnya adalah R = 78, G = 128 , B = 162
Nilai RGB enkripsi itulah yang nantinya dimasukkan dalam source code program untuk proses enkripsi citranya
Barangkali teman-teman banyak yang bertanya, bagaimana bisa kita mengetahui nilai RGB pada sebuah piksel, terutama pada koordinat 0,0 ? Saya memang membuat program khusus bernama RGB Taker sebagai program yang membantu pengambilan nilai RGB pada piksel koordinat tertentu. Sekaligus program itu mampu menghitung hasil perkalian RGB dengan nilai matrik kunci yang kita tentukan, sehingga hasil akhir program ini membuahkan nilai RGB baru yang nantinya kita butuhkan untuk proses enkripsi.
Ini screen shoot program bantu RGB Taker
Enkripsi
Deskripsi
Kesimpulan
Beberapa kesimpulan yang dapat diambil dari penelitian ini adalah sebagai berikut :
Saya namakan krippho sebagai kependekan dari kegunaan aplikasi ini, yakni Kriptografi Photo.
Semoga bermanfaat ya... ((^_^)). Berikan komentar kalian jika ingin menanyakan, memberi saran ataupun memberi kritikan yang membangun...
Penggunaan Hill Cipher dipergunakan pada citra bertipe JPG, BMP dan Gif. Karena tiap-tiap komponen RGB piksel memiliki panjang 8 bit yang bernilai (0 - 255), maka sistem modulo yang dipakai dalam penyandian adalah 256. Untuk mengenkripsikan Citra, mula-mula nilai RGB dari tiap-tiap piksel diambil, kemudian dikalikan dengan Matriks kunci yang akan dipakai.
Piksel yang dipakai untuk uji coba adalah piksel pada koordinat 0,0 pada sebuah citra seperti pada gambar :
Diperoleh yaitu nilai RGB yakni, R = 187, G = 192 , B = 221
kemudian saya tentukan matriks Kunci Encripsinya, yaitu [10,10,10], penentuan matriks kunci ini bebas sesuai keinginan.
Rumus untuk menentukan nilai encripsi adalah C = K x P
C = Chipertext / Citra Terenkripsi
K = Matriks Kunci
P = Plaintext / Citra Sebelum Terenkripsi
Lantas, tinggal kita hitung saja perkalian antara matriks nilai RGB pada Koordinat 0,0 dengan Matriks Kunci, hasilnya adalah R = 78, G = 128 , B = 162
Nilai RGB enkripsi itulah yang nantinya dimasukkan dalam source code program untuk proses enkripsi citranya
Barangkali teman-teman banyak yang bertanya, bagaimana bisa kita mengetahui nilai RGB pada sebuah piksel, terutama pada koordinat 0,0 ? Saya memang membuat program khusus bernama RGB Taker sebagai program yang membantu pengambilan nilai RGB pada piksel koordinat tertentu. Sekaligus program itu mampu menghitung hasil perkalian RGB dengan nilai matrik kunci yang kita tentukan, sehingga hasil akhir program ini membuahkan nilai RGB baru yang nantinya kita butuhkan untuk proses enkripsi.
Ini screen shoot program bantu RGB Taker
Enkripsi
Deskripsi
Kesimpulan
Beberapa kesimpulan yang dapat diambil dari penelitian ini adalah sebagai berikut :
- Hill Cipher merupakan metode penyandian sederhana yang cocok diterapkan pada citra dengan variasi warna beragam dan banyak (seperti foto), dan tidak cocok diterapkan pada citra yang variasi warnanya tidak terlalu bervariatif.
- Hanya Matriks Bujursangkar yang nilai determinannya bernilai 1 yang dapat digunakan untuk proses enkripsi dan dekripsi, apabila determinannya tidak bernilai 1 maka gambar yang telah terenkripsi tidak dapat di kembalikan ke gambar aslinya.
- Untuk gambar yang memiliki pola warna piksel bersebelahan yang berbeda jauh atau kontras, maka pada gambar enkripsinya pola tersebut masih akan terlihat walaupun telah berubah warna.
- Hill Cipher digunakan untuk merubah nilai RGB pada piksel gambar sesuai dengan hasil perkalian dengan kunci matriks yang digunakan. Metode tersebut digunakan tidak merubah posisi piksel sehingga pola gambar masih bisa terlihat.
Referensi
Jurnal Ilmu Komputer : PENGGUNAAN METODE HILL CIPHER UNTUK KRIPTOGRAFI PADA CITRA DIGITAL, Oleh : Hamdani 1), Anindita Septiarini 2), dan Fajri Nugraha 3), Instansi : Jurusan Ilmu Komputer, Fakultas MIPA, Universitas Mulawarman Jalan Barong Tongkok No. 4 Gunung Kelua, Samarinda, Kalimantan Timur.
Bagi teman-teman yang ingin tahu langsung bagaimana programnya, silakan download disini, free dan open source.
link lama terhapus
link lama terhapus
Saya namakan krippho sebagai kependekan dari kegunaan aplikasi ini, yakni Kriptografi Photo.
Semoga bermanfaat ya... ((^_^)). Berikan komentar kalian jika ingin menanyakan, memberi saran ataupun memberi kritikan yang membangun...
==================== Update ======================
Berhubung banyak sekali agan-agan yang neror saya pengen minta aplikasinya, ya udah dari pada ngirim satu-satu lewat email, mendingan saya sediakan saja link download yang masih fresh dan valid. Sebenarnya sudah saya posting link downloadnya, cuma banyak yang komplain karena gagal di download.
Ini saya kasih satu folder project kriptografinya. Aplikasi yang saya jelaskan diatas tertampung dalam package bernama Hill_Chiper :
http://www.mediafire.com/file/pj7a1epnj3tq8yi/Kriptografi.rar/file
Silakan menghubung saya via email gan.
Berhubung banyak sekali agan-agan yang neror saya pengen minta aplikasinya, ya udah dari pada ngirim satu-satu lewat email, mendingan saya sediakan saja link download yang masih fresh dan valid. Sebenarnya sudah saya posting link downloadnya, cuma banyak yang komplain karena gagal di download.
Ini saya kasih satu folder project kriptografinya. Aplikasi yang saya jelaskan diatas tertampung dalam package bernama Hill_Chiper :
http://www.mediafire.com/file/pj7a1epnj3tq8yi/Kriptografi.rar/file
Silakan menghubung saya via email gan.
Posted By
jadi nilai rgb dikalikan ordo 3x3
email : nabihsemarang@gmail.com
makasih kakak ^^
klau ada tolong lah gan
Kalo tidak keberatan kirim email, terimakasih kak