Kriptografi Metode Hill Cipher

By | November 9, 2021
2,550 Views

Kriptografi berasal dari bahasa Yunani yaitu cryptos yang berarti rahasia dan graphein yang berarti tulisan. Kriptografi merupakan ilmu yang mempelajari penulisan secara rahasia dengan menggunakan teknik-teknik metematika yang berhubungan dengan aspek keamanan informasi seperti : keabsahan, integritas data, serta autentifikasi data.

Kriptografi itu sendiri terdiri dari dua proses utama yakni proses enkripsi dan proses dekripsi. Proses enkripsi mengubah plaintext menjadi ciphertext (dengan menggunakan kunci tertentu) sehingga isi informasi pada pesan tersebut sulit dimengerti, sedangkan proses deskripsi yaitu mengubah ciphertext menjadi plaintext, sehigga berupa data awal/asli.

Kegunaan Kriptografi

Kriptografi banyak digunakan untuk

  1. Autentikasi: adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri.
  2. Kerahasiaan: adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.
  3. Non-repudiasi., atau nir penyangkalan:adalah usaha untuk mencegah terjadinya peyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.

Istilah dalam Kriptografi

Beberapa istilah dalam kriprografi terdiri dari 5 yaitu

  1. Plaintext ( M) merupakan sebuah pesan yang akan dikirimkan ( berisi data asli)
  2. Chiphertext (C) merupakan pesan ter- enkrip ( tersandi) yang merupakan hasil enkripsi
  3. Enkripsi ( Fungsi E) merupakan proses pegubahan plaintext menjadi chipherttext
  4. Dekripsi ( Fungsi D) Merupakan kebalikan dari enkripsi yakni mengubah chiphertext menjadi plaintext sehingga berupa data awal/ asli
  5. Kunci merupakan suatu bilangan yang dirahasiakan yang digunakan dalam proses enkripsi dan dekripsi
See also  Cara Membuat Aplikasi GUI di Matlab

Jenis Kriptografi berdasarkan kunci

Ada 2 jenis kriptografi berdasarkan kunci yaitu

  1. Simetris yang berarti key untuk enkripsi dan dekripsi mempunyai key yang sama. Contohnya Chiper Hill
  2. Asimetris yang berarti key untuk enkripsi (key public) dan dekripsi (private key) mempunyai key yang berbeda. Contohnya RSA

Kripografi Metode Cipher Hill

Hill Cipher merupakan salah satu algoritma kriptografi kunci simetris. Algoritma Hill Cipher menggunakan matriks 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.

Cipher Hill membutuhkan konversi yaitu mengubah huruf menjadi angka seperti berikut yang terdiri dari 94 karakter yang terdiri dari kombinasi huruf kecil besar dan melibatkan simbol.

Cara kerja metode cipher Hill

Terdiri dari 3 langkah yaitu

  1. Mengubah huruf menjadi angka
  2. tentukan matrix 2×1 sebagai matrix key
  3. urutan angka point 1 akan dibuat per blok
  4. perkalian antar matrix key dengan blok
  5. lakukan mod dengan 94
  6. mengubah angka menjadi huruf sebagai chiper text

Menyiapkan Plain Text dan Key

Kriptografi cipher hill dengan menyiapkan plain text dan key, agar mudah kita buat huruf kecil saja semua milk dengan kunci

    \[ \begin{pmatrix} 11 & 12 \\ 13 & 14 \\ \end{pmatrix} \]

berdasarkan tabel konversi cipher hill diatas 12 8 11 10 kemudian akan dibuat per block menjadi berikut

    \[ \begin{pmatrix} 12 \\ 8 \\ \end{pmatrix} dan \begin{pmatrix} 11 \\ 10 \\ \end{pmatrix} \]

Perkalian antara plain text dengan key

Langkah selanjutnya yaitu melakukan operasi perkalian antar matrix

enkripsi = key * plainText yaitu

    \[ \begin{pmatrix} 11 & 12 \\ 13 & 14 \\ \end{pmatrix} * \begin{pmatrix} 12 \\ 8 \\ \end{pmatrix} = \begin{pmatrix} 228 \\ 268 \\ \end{pmatrix} \]

dan yang satunya

    \[ \begin{pmatrix} 11 & 12 \\ 13 & 14 \\ \end{pmatrix} * \begin{pmatrix} 11 \\ 10 \\ \end{pmatrix} = \begin{pmatrix} 241 \\ 283 \\ \end{pmatrix} \]

Lakukan Modulus

Matrix angka diatas harus diubah menjadi range 94 sehingga kita harus lakukan modulus

See also  Croping Image per Block

    \[ mod( \begin{pmatrix} 241 \\ 283 \\ \end{pmatrix} ,94) = \begin{pmatrix} 40 \\ 80 \\ \end{pmatrix} \]

dan yang satunya

    \[ mod( \begin{pmatrix} 228 \\ 268 \\ \end{pmatrix} ,94) = \begin{pmatrix} 53 \\ 1 \\ \end{pmatrix} \]

Mengubah ke Chiper Text

Untuk mengubah ke chiper text maka angka diatas akan diubah lagi menjadi huruf  40, 80, 53,1  menjadi  E|Rb

Proses Dekripsi

Untuk proses dekripsi yaitu berkebalikan dengan proses diatas dengan

  1. melakukan pengubahan terlebih dahulu huruf menjadi angka
  2. lakukan operasi modulus
  3. lakukan invers dengan melibatkan key
  4. mengubah angka menjadi huruf

Bagaimana dengan jumlah huruf yang tidak pas?

Adakalanya kita melakukan operasi block akan tetapi jumlah huruf tidak pas, seperti jumlah huruf 5 saja maka akan ada 1 karakater huruf yang tersisa, oleh sebab itu kalian harus menambahkan karakter khusus agar pas jumlahnya.

Contoh kasus bahkan bisa berubah-ubah ukuran matrix seperti berikut menggunakan matlab/octave

clc;clear all;close all;
addpath('daftar_pustaka');
kunci = [18 13; 14 9; 1 2]; %%ini adalah kunci, silahkan diubah sendiri ukuran matrix nya
kalimat = 'www.softscients.com'
kalimat_enc = enkripsi(kalimat,kunci)

kalimat_dec = dekripsi(kalimat_enc,kunci)

hasilnya

  1. kalimat asli = www.softscients.com
  2. kalimat enkripsi =  ‘E0Agtqx77ljg677gdq5;<]+
  3. Kalimat dekripsi =www.softscients.com
Download Source Code

Kegunaan Kriptografi

Banyak sekali penerapan kriptografi salah satunya pada pertukaran data via internet. Seperti login pada situs tertentu via SSL – Secure Socket Layer ditandai dengan alamat URL bertipe HTTPS bukan HTTP. Aplikasi Whatsapp yang biasa kita gunakan itu pun menggunakan enkripsi sehingga bila data itu bocor ke luar karena ada hacker yang masuk akan sulit melakukan dekripsi