Aplikasi Kriptografi Metode Hill Cipher Pada Citra Digital Dengan Java
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
implementasi cipher hill pada delphi ada gan?soalnya say kurang ngerti dengan bahasa java..
ReplyDeleteWaduh, kagak punya gan .... (^_^), maaf yak.....
Deletegan upload lagi sorce code nya itu ga bisa di akses :)
ReplyDeleteMasih bisa kok gan,,, udah aku cek
DeleteMakasih ya gan atas postingannya....
ReplyDeleteAda source code untuk enkripsi gambar dengan metode AES menggunakan java gan?
ReplyDeleteBelum ada gaaannnn.... maaf yaa...
Deleteklo setelah dienkripsi biar gambar ga kelihatn betul itu gemna ya ,. aku bkin pake algoritma rc4 juga hasilnya kya punya agan tu ,. gambrnya masih kelihatn tuu
ReplyDeleteKalo nilai RGBnya mendekati maksimal atau minimal ya jadi gak kelihatan kok gan....
Deletemas kalau dikalikan matrix ordo 3x3 gmn mas sourcode nya?
ReplyDeletejadi nilai rgb dikalikan ordo 3x3
Bisa, dirubah saja ke ordo 3x3...
DeleteSilakan di utak-atik, insya Allah mas alex bisa (^_^)
itu nilai 78 126 162 di dapat dari mana mas
DeleteSaya membuat program tambahan, diatas bernama RGB Taker yang berfungsi untuk mengambil nilai R G B pada koordinat tertentu pada citra. Melalui program RGB Taker, yang ambil sampel citra pada koordinat x = 0 dan y = 0. Didapat R G B awal sebesar R = 187, G = 192 , B = 221. nilai itu kemudian dikalikan dengan matrik kunci enkripsi yaitu [10 10 10], hasilnya adalah 78 126 162. Penjelasan lengkap sudah saya jelaskan diatas
Deletesaya sangat tertarik dengan tulisan anda, saya juga mempunyai tulisan sejenis
ReplyDeleteyang mungkin anda juga tertarik, anda bisa mengunjunginya di klik disini terima kasih.
This comment has been removed by the author.
ReplyDeletepermisi gan, bisa minta programnya dikirimkan ke email saya, soalnya link program nya itu nggak bisa di download, dan saya butuh program itu untuk pengerjaan seminar hasil saya
ReplyDeleteemail : nabihsemarang@gmail.com
makasih kakak ^^
Saya kasih link source code yang lebih lengkap gan....
Deletepermisi gan, link yang anda share tidak bisa digunakan. boleh minta tolong source codenya dikirim ke email saya? saya sangat butuh gan. ini email saya siahaanjosua@gmail.com terimakasih gan
ReplyDeleteUdah saya update link downloadnya gan
DeleteAssalamualaikum kak, kakak mahasiswa teknik informatika ya?
ReplyDeleteSemoga saja begitu..... (^_^)
DeleteKak itu softwarenya apa ? Bukan delphi ?
ReplyDeleteJava, pakai netbean
Deletemas saya mnta promramnya kirim ke zulmir9@gmail.com yg dilink ga bisa d donlot
ReplyDeletepostinan mengenai aplikasi kriptorafi diatas sangat bermanfaat untuk tugas yang sedang saya dapatkan. saya juga memiliki referensi mengenai enkripsi yang dapat anda kunjungi http://ejournal.gunadarma.ac.id/index.php/kommit/article/view/1005/872
ReplyDeletegan untuk enkripsi gambar menggunakan algoritma elgamal ada tidak gan ??
ReplyDeleteBelum bikin gan....
Deletegan g bisa di download
ReplyDeletemakasih gan, sangat membantu
ReplyDeleteMass.. itu hasil nya salah. Seharusnya hasilnya itu seperti semut. Gak ada gambarnya.
ReplyDeletegan ada source code untuk file tidak yang hill cipher...???
ReplyDeleteklau ada tolong lah gan
izin sedot gan, makasih banyak sangat bermanfaat
ReplyDeleteGan, update dong link-nya mati..atau boleh kirim ke arry.091010600@gmail.com
ReplyDeleteMas koleh minta sourcodenya ? linknya sudah ga aktif mas mohon kirim ke qismanmultahadi@gmail.com
ReplyDeletemas bisa minta sourcodenya ? link nya ud gk bisa. bisa dikirim ke santomalau3@gmail.com
ReplyDeleteGan linknya eror mnta di kirim ke email sya dong gan c.mariio9512@gmail.com
ReplyDeleteKak aplikasinya udah ga bisa di download, boleh minta share lagi?
ReplyDeletesaidahalzulfanas@gmail.com
ReplyDeleteKalo tidak keberatan kirim email, terimakasih kak