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.

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 :


  • 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

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.


Posted By 









37 comments

Terima kasih telah mampir di blog kami. Jika ingin menghubungi penulis, silakan kirim pesan via email di kitainformatika@gmail.com atau via WA di 087750503014. Jika mood penulis lagi baik, biasanya fast respon.
Comment Author Avatar
December 14, 2014 at 8:03 PM Delete
implementasi cipher hill pada delphi ada gan?soalnya say kurang ngerti dengan bahasa java..
Comment Author Avatar
December 18, 2014 at 6:33 PM Delete
Waduh, kagak punya gan .... (^_^), maaf yak.....
Comment Author Avatar
December 30, 2014 at 6:38 PM Delete
gan upload lagi sorce code nya itu ga bisa di akses :)
Comment Author Avatar
December 30, 2014 at 7:34 PM Delete
Masih bisa kok gan,,, udah aku cek
Comment Author Avatar
Anonymous
January 7, 2015 at 8:41 AM Delete
Makasih ya gan atas postingannya....
Comment Author Avatar
Anonymous
January 7, 2015 at 8:44 AM Delete
Ada source code untuk enkripsi gambar dengan metode AES menggunakan java gan?
Comment Author Avatar
January 7, 2015 at 2:04 PM Delete
Belum ada gaaannnn.... maaf yaa...
Comment Author Avatar
March 29, 2015 at 9:27 AM Delete
klo 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
Comment Author Avatar
March 30, 2015 at 11:23 AM Delete
Kalo nilai RGBnya mendekati maksimal atau minimal ya jadi gak kelihatan kok gan....
Comment Author Avatar
July 31, 2015 at 4:40 PM Delete
mas kalau dikalikan matrix ordo 3x3 gmn mas sourcode nya?
jadi nilai rgb dikalikan ordo 3x3
Comment Author Avatar
July 31, 2015 at 7:03 PM Delete
Bisa, dirubah saja ke ordo 3x3...
Silakan di utak-atik, insya Allah mas alex bisa (^_^)
Comment Author Avatar
August 7, 2015 at 9:50 PM Delete
itu nilai 78 126 162 di dapat dari mana mas
Comment Author Avatar
August 8, 2015 at 5:12 AM Delete
Saya 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
Comment Author Avatar
November 25, 2015 at 8:20 AM Delete
This comment has been removed by the author.
Comment Author Avatar
November 25, 2015 at 9:36 AM Delete
permisi 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

email : nabihsemarang@gmail.com

makasih kakak ^^
Comment Author Avatar
November 25, 2015 at 5:28 PM Delete
Saya kasih link source code yang lebih lengkap gan....
Comment Author Avatar
November 27, 2015 at 5:46 PM Delete
permisi 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
Comment Author Avatar
November 27, 2015 at 10:39 PM Delete
Udah saya update link downloadnya gan
Comment Author Avatar
January 21, 2016 at 2:35 PM Delete
Assalamualaikum kak, kakak mahasiswa teknik informatika ya?
Comment Author Avatar
January 23, 2016 at 4:44 AM Delete
Semoga saja begitu..... (^_^)
Comment Author Avatar
January 23, 2016 at 9:59 AM Delete
Kak itu softwarenya apa ? Bukan delphi ?
Comment Author Avatar
January 23, 2016 at 12:22 PM Delete
Java, pakai netbean
Comment Author Avatar
February 24, 2016 at 11:08 AM Delete
mas saya mnta promramnya kirim ke zulmir9@gmail.com yg dilink ga bisa d donlot
Comment Author Avatar
March 31, 2016 at 1:02 PM Delete
postinan 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
Comment Author Avatar
April 8, 2016 at 9:46 PM Delete
gan untuk enkripsi gambar menggunakan algoritma elgamal ada tidak gan ??
Comment Author Avatar
April 10, 2016 at 10:45 AM Delete
Belum bikin gan....
Comment Author Avatar
May 13, 2016 at 11:20 PM Delete
gan g bisa di download
Comment Author Avatar
November 18, 2016 at 3:57 AM Delete
makasih gan, sangat membantu
Comment Author Avatar
December 22, 2016 at 4:01 PM Delete
Mass.. itu hasil nya salah. Seharusnya hasilnya itu seperti semut. Gak ada gambarnya.
Comment Author Avatar
January 11, 2017 at 5:43 AM Delete
gan ada source code untuk file tidak yang hill cipher...???
klau ada tolong lah gan
Comment Author Avatar
May 30, 2017 at 10:03 PM Delete
izin sedot gan, makasih banyak sangat bermanfaat
Comment Author Avatar
September 13, 2017 at 8:20 AM Delete
Gan, update dong link-nya mati..atau boleh kirim ke arry.091010600@gmail.com
Comment Author Avatar
October 17, 2017 at 3:00 PM Delete
Mas koleh minta sourcodenya ? linknya sudah ga aktif mas mohon kirim ke qismanmultahadi@gmail.com
Comment Author Avatar
November 2, 2017 at 8:41 AM Delete
mas bisa minta sourcodenya ? link nya ud gk bisa. bisa dikirim ke santomalau3@gmail.com
Comment Author Avatar
November 18, 2017 at 7:19 PM Delete
Gan linknya eror mnta di kirim ke email sya dong gan c.mariio9512@gmail.com
Comment Author Avatar
December 17, 2018 at 6:30 PM Delete
Kak aplikasinya udah ga bisa di download, boleh minta share lagi?
Comment Author Avatar
December 17, 2018 at 6:31 PM Delete
saidahalzulfanas@gmail.com

Kalo tidak keberatan kirim email, terimakasih kak