Skip to content Skip to sidebar Skip to footer

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.

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 for "Aplikasi Kriptografi Metode Hill Cipher Pada Citra Digital Dengan Java "

  1. implementasi cipher hill pada delphi ada gan?soalnya say kurang ngerti dengan bahasa java..

    ReplyDelete
    Replies
    1. Waduh, kagak punya gan .... (^_^), maaf yak.....

      Delete
  2. gan upload lagi sorce code nya itu ga bisa di akses :)

    ReplyDelete
  3. Makasih ya gan atas postingannya....

    ReplyDelete
  4. Ada source code untuk enkripsi gambar dengan metode AES menggunakan java gan?

    ReplyDelete
  5. 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

    ReplyDelete
    Replies
    1. Kalo nilai RGBnya mendekati maksimal atau minimal ya jadi gak kelihatan kok gan....

      Delete
  6. mas kalau dikalikan matrix ordo 3x3 gmn mas sourcode nya?
    jadi nilai rgb dikalikan ordo 3x3

    ReplyDelete
    Replies
    1. Bisa, dirubah saja ke ordo 3x3...
      Silakan di utak-atik, insya Allah mas alex bisa (^_^)

      Delete
    2. itu nilai 78 126 162 di dapat dari mana mas

      Delete
    3. 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

      Delete
  7. This comment has been removed by the author.

    ReplyDelete
  8. 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 ^^

    ReplyDelete
    Replies
    1. Saya kasih link source code yang lebih lengkap gan....

      Delete
  9. 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

    ReplyDelete
  10. Assalamualaikum kak, kakak mahasiswa teknik informatika ya?

    ReplyDelete
  11. Kak itu softwarenya apa ? Bukan delphi ?

    ReplyDelete
  12. mas saya mnta promramnya kirim ke zulmir9@gmail.com yg dilink ga bisa d donlot

    ReplyDelete
  13. 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

    ReplyDelete
  14. gan untuk enkripsi gambar menggunakan algoritma elgamal ada tidak gan ??

    ReplyDelete
  15. Mass.. itu hasil nya salah. Seharusnya hasilnya itu seperti semut. Gak ada gambarnya.

    ReplyDelete
  16. gan ada source code untuk file tidak yang hill cipher...???
    klau ada tolong lah gan

    ReplyDelete
  17. izin sedot gan, makasih banyak sangat bermanfaat

    ReplyDelete
  18. Gan, update dong link-nya mati..atau boleh kirim ke arry.091010600@gmail.com

    ReplyDelete
  19. Mas koleh minta sourcodenya ? linknya sudah ga aktif mas mohon kirim ke qismanmultahadi@gmail.com

    ReplyDelete
  20. mas bisa minta sourcodenya ? link nya ud gk bisa. bisa dikirim ke santomalau3@gmail.com

    ReplyDelete
  21. Gan linknya eror mnta di kirim ke email sya dong gan c.mariio9512@gmail.com

    ReplyDelete
  22. Kak aplikasinya udah ga bisa di download, boleh minta share lagi?

    ReplyDelete
  23. saidahalzulfanas@gmail.com

    Kalo tidak keberatan kirim email, terimakasih kak

    ReplyDelete