Kriptografi Hill Cipher [Cara Menggunakan CRYPTOOOL]

Hill Cipher

Kode Hill atau lebih dikenal dengan Hill cipher merupakan salah satu algoritma kriptografi kunci simetris dan merupakan salah satu kripto polyalphabetic. Hill cipher diciptakan oleh Lester S. Hill pada tahun 1929.
Teknik kriptografi ini diciptakan dengan maksud untuk dapat menciptakan cipher yang tidak dapat dipecahkan menggunakanteknik analisis frekuensi. Berbeda dengan caesar cipher, hill cipher tidak mengganti setiap abjad yang sama pada plainteks dengan abjad lainnya yang sama pada cipherteks karena menggunakan perkalian matriks pada dasar enkripsi dan dekripsinya.
Hill cipher merupakan penerapan aritmatika modulo pada kriptografi. Teknik kriptografi ini enggunakan sebuah matriks persegi sebagai kunci berukuran m x m sebagai kunci untuk melakukan enkripsi dan dekripsi. Dasar teori matriks yang digunakan dalam Hill cipher antara lain adalah perkalian antar matriks dan melakukan invers pada matriks.
Karena menggunakan matriks sebagai kunci, Hill cipher merupakan algoritma kriptografi kunci simetris yang sulit dipecahkan, karena teknik kriptanalisis seperti analisis frekuensi tidak dapat diterapkan dengan mudah untuk memecahkan algoritma ini. Hill cipher sangat sulit dipecahkan jika kriptanalis hanya memiliki ciphertext saja (chipertext-only), namun dapat dipecahkan dengan mudah jika kriptanalis memiliki ciphertext dan potongan dari plaintext-nya (known-plaintext).

Gambar Kriptografi Hill Cipher
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg150seEmNFledE7vv7QnNKkoyibfWUtZIo3JBH-EbhLKqBK2dtIuNHPMgrgqasW4R0oVOfSM4-9YmamXluhWg1MbModbQ49UeJo7FA1SuX7I4Z4GuViQgkP9MkAe-7sBgEJHSGovc-CgBC/s320/simetris.jpg
Contoh Hill Cipher
        Perhitungan Matematis Dasar dari teknik hill cipher adalah aritmatika modulo terhadap matriks. Dalam penerapannya, Hill cipher menggunakan teknik perkalian matriks dan teknik invers terhadap matriks. Kunci pada hill cipher adalah matriks n x n dengan n merupakan ukuran blok. Jika matriks kunci kita sebut dengan K, maka matriks K adalah sebagai berikut :

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4FDhRW46KTpoZ7JQrnxPqVOUmMRROvMi43NbJ_bN2jHR_TEt_rFL17pDH6dnOJNP_ZdaHJpmgHf8d1bDqziN05BexiHUR4WyuneOVPhCteMh9x8hMuD5bSxlf2IYCg-BdK7-7w38uI1Dx/s320/kunci+KODE+HILL.jpg
Matriks K yang menjadi kunci ini harus merupakan matriks yang invertible, yaitu memiliki multiplicative inverse K-1 sehingga : K.K-1 = 1  Ingat ! Kunci harus memiliki invers karena matriks K-1 tersebut adalah kunci yang digunakan untuk melakukan dekripsi. Cara Enkripsi Dengan mengkodekan atau mengubah setiap huruf abjad dengan integer sebagai berikut: A = 0, B = 1, …, Z = 25
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_hNkV1abBjxq6NGG75kMJwlB4ER0OcyF1j_A1tnBR1MnNi1T1TxXw6iZ-noLA2WWYBAZH28UX9knQvNwt7x6NLmJ27UjSRX6myuRK9Yiku5gBSs2sW3kl1QHHueuvryMk29maFVzJAVTQ/s320/Alfabet+Integer.jpg

maka secara matematis, proses enkripsi pada hill cipher adalah:  C = K . P mod 26 C = Cipherteks | K = Kunci | P = Plainteks Proses enkripsi pada hill cipher dilakukan per blok plainteks. Ukuran blok tersebut sama dengan ukuran matriks kuncinya. Perhatikan contoh dibawah ini! P = D O D I S P U T R A ,dikodekan/diintegerkan menjadi P = 3 14 3 8 18 15 20 19 17 0
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjccHqWH_ZYS0Wiz87JaYoCSE9s-jIavmtK8Y8wct4GHhZnGK2m_0hhnbOO8lGZVSY5292ds-Rn11VYukdUVCi98j1c2hu8Rh59LwFw1fwduOB7CGD0kq3hCD6PfebSKn4tuZ3j44wu6Mpa/s200/1598.jpg

Karena matriks kunci K berukuran 2, maka plainteks dibagi menjadi blok yang masing-masing bloknya berukuran 2 karakter. Blok pertama dari plainteks P1,2 =[3;14] kemudian dienkripsi dengan kunci K dengan persamaan C = K . P mod 26. Karena perkalian tersebut menghasilkan lebih dari angka 25 maka dilakukan modulo 26 pada hasil yang lebih dari 25.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0aBY_UK5iGiZPwmBzClW1a0Q-On0c89EzhukfXzHUtXNol0y1jRKnpV8MJEj7EnycP1ioQMoGJg2w7cVaqE2YjnlluZZKuUP0BFTqVjg1n7QCTX_zX3z79PI8bp6kWOAKsffj-6dL65Cx/s320/Chipertext+Hitung.jpg

Karakter yang berkorespondensi dengan 21 dan 9 adalah V dan J. Setelah melakukan enkripsi semua blok pada plainteks P maka dihasilkan cipherteks C sebagai berikut: P = D O D I S P U T R A  C = V J R N P W L U R X Cipherteks yang dihasilkan oleh enkripsi hill chiper atau kode hill menghasilkan cipherteks yang tidak memiliki pola yang mirip dengan plainteks atau pesan aslinya. Mancari K Invers dan Teknik Dekripsi Perhitungan matematis dekripsi pada hill chiper atau kode hill ini sama halnya dengan enkripsi. Namun matriks kunci harus dibalik (invers) terlebih dahulu dan kunci invers harus memenuhi persamaan K . K-1 = 1.  P=K-1.Cm26 Sebelum mendekripsi kita akan menginvers kunci K terlebih dahulu, untuk menginvers kita akan menggunakan persamaan [K | I] = K-1, proses invers ini kita akan kita lakukan dengan operasi baris/ row operation.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8YuYM6QmeGTmeFHgC5iX-A0uSD7sC6igqNCz7OlUKM4wQrvH4R03r1JvW_ZQ6a_rHtUTz5p8VLKOz5nXx-bRvzcjfhXAU9yxCkma6UWrubHubCtaC_z-FZuSvWPiXklamj4te72BSW7VO/s200/inversmatriksjpeg.jpg

Dari perhitungan diatas didapatkan K invers :

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlN3aa6rWw294fMBc4PdAH1doZETTWeRPS7q2w4KFGfldvgHZ3DOoyIhDEj-zdZgay8giPCAh3P9QLeT49NkEfyoko-VNVGyoMe_jWj9Q7lHaztVoxExKdPMGmVk_Xtia_BCjnsU-iKe9A/s320/kinversjpeg.jpg

K invers ini sudah memenuhi persamaan K . K-1 = I, berdasarkan perkalian K dengan K-1 kemudian dimodulasi dengan 26 menghasilkan I = [1 0;0 1]. Setelah itu kita akan melakukan dekripsi terhadap chiperteks, kemudian dirubah menjadi integer terlebih dahulu. Dengan kunci dekripsi yang dimiliki, kriptanalis hanya perlu menerapkan persamaan (P = K-1 . C mod 26) pada cipherteks dan kunci, sehingga menghasilkan plainteks/ pesan asli (P = D O D I S P U T R A). Hill cipher/ kode hill merupakan algoritma kriptografi klasik yang sangat kuat dilihat dari segi keamanannya dnegan matriks kunci hill cipher harus merupakan matriks yang invertible, karena disitulah letak keunikan sekaligus kesulitan kode hill tersebut.
Cara Menggunakan CRYPTOOOL
  1. Visualisasi Enkripsi Hybrid

Langkah:
  1. Pilih File
  2. Klik pada dokumen
  3. Lihat tampilan konten
  4. Buat kunci acak
  5. Pilih kunci asimetris
  6. Dokumen dan kunci Session dapat di enkripsi

  1. Preparasi enkripsi hybrid   
  2. Cryptograph enkripsi hybrid
  1. Hasil enkripsi Hybrid
  1. Visualisasi Digital Signature
Langkah:
  1. Pilih fungsi Hash
  2. Berikan kunci dan sertifikat
  3. Hitung nilai Hash
  4. Enkrip nilai Hash
  5. Hasilkan Signature
  6. Dokumen dapat disimpan
  7. Operasi dapat dilakukan dalam urutan apapun, sebagaimana diizinkan oleh dependensi data
  1. Preparasi Digital Signature
  1. Cryptography Digital Signature
  1. Hasil Digital Signature
Serangan pada enkripsi RSA dengan RSA modulus singkat
Langkah:
  1. Masukkan parameter RSA N dan e.
  2. Faktorkan.
  3. Faktorisasi menghasilkan p dan q.
  4. p dan q telah dimasukkan secara otomatis dan kunci rahasia d telah dihitung
  5. Sesuiakan option
  6. Pilih alphabet pada Text options
  7. Pilih metode koding
  8. Pilih panjang block
  9. Masukan cipher text
  10. Dekripsi

C:\Users\Chandra\Desktop\pkw.PNG
C:\Users\Chandra\Desktop\pkx.PNG
C:\Users\Chandra\Desktop\pky.PNG
C:\Users\Chandra\Desktop\pkz.PNG

Komentar

Postingan populer dari blog ini

ISTILAH-ISTILAH DALAM INTERNET [IP,TCP,UDP,DNS,PPP,HTTP, dll.]

SPESIFIKASI KEBUTUHAN PERANGKAT LUNAK [Analisis dan Perancangan Sistem Penjualan (Kasir) Serta Pengelolaan Barang DebagsPro]

OUTPUT DEVICE