BLANTERWISDOM101

Memahami Kode Algoritma Vigenere Cipher

Rabu, 15 April 2020
Belajar kriptografi memang terasa gurih ya, dalam program nya kamu harus memahami matematika terlebih dahulu agar mudah memahaminya. Cipher atau alat sebagai penyandian menggunakan perhitungan aritmetika untuk menentukan kode enkripsi sekaligus untuk mencari dekripsi dari suatu ciphertext.



Vigenere cipher mungkin adalah contoh terbaik dari cipher alphabet-majemuk manual. Algoritma ini dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis, Blaise de Vigenere pada abad 16

Giovan Batista Belaso telah menggambarkanya pertama kali pada tahun 1553 seperti ditulis di dalam bukunya La Cifra del Sig. Giovan Batista Belaso. Vigenere cipher dipublikasikan pada tahun 1586, tetapi algoritma tersebut baru dikenal luas 200 tahun kemudian yang oleh penemunya cipher tersebut kemudian dinamakan VigenĂ©re Cipher. Sejarah lengkapnya bisa kamu baca di Si Wiki.


Cara Enkripsi

Enkripsi vigenere cipher dilakukan menggunakan kunci yang terbuat dari huruf dan alfabet. Ada beberapa cara untuk melakukan penyandian secara manual:

1. Perhitungan aritmetika

Secara sistematis, enkripsi dilakukan dengan menambahkan nilai urutan huruf plaintext dengan urutan huruf kunci (urutan huruf bergantung pada alfabet nya dan index dimulai dari 0) dan dengan metode modulo aritmetika jika penjumlahan melebihi ukuran/jumlah huruf pada alfabet. Jadi, enkripsi vigenere cipher dapat dinyatakan sbb:

f(x) = (x + K) mod m

Dengan:
x = Plaintext
K = Kunci
m = Jumlah huruf pada alfabet

*/ NOTE: Jika panjang kunci lebih pendek dari pada panjang plainteks, maka kunci diulang penggunaanya (sistem periodik). Bila panjang kunci adalah z, maka periodenya dikatakan z.


Contoh:
Kita akan meng-enkripsi ARYA KRESNA dengan kunci GANS memakai alfabet lengkap (A-Z).
Maka, kita memakai sistem periodik pada kunci yaitu mengulang kata GANS sejumlah huruf plaintext. Jadi:
Plaintext: ARYA KRESNA
Key : GANS GANSGA

Jadi, mulai menjumlahkan huruf pertama:
f(A) = 0 + 6
        = 6 = G
Jadi, A = G
f(R) = 17 + 0
       = 17 = R
Jadi, R = R
f(Y) = 24 + 13
       = 37
  37 = 11 mod 26 = L
Jadi, Y = L

Dan seterusnya. Di sini kita dapat hasil enkripsi dari ARYA KRESNA dengan kunci GANS adalah GRLS QRRKTA bisa dibuktikan kebenarannya pada Cryptii.com.


2. Menggunakan Tabel

Membuat urutan huruf dengan tabel mungkin cara yang mudah untuk dilakukan. Pasalnya, kamu tinggal menentukan huruf dari plaintext di baris tabel dan huruf dari kunci di kolom kiri. Berikut gambar tabel jika alfabet nya adalah A-Z.


Cara Dekripsi

Pendekripsian vigenere cipher sama caranya dengan saat meng-enkripsi. Perbedaannya adalah pada perhitungan aritmetika nilai bilangan huruf ciphertext dikurangkan.

x = y - Kn

Dengan:
y = ciphertext
Kn = Kunci

Jika hasil pengurangan adalah negatif, tambahkan m (jumlah huruf pada alfabet).
Jadi,
x = (y - Kn) + m

Contoh:
Dekripsi GRLS dengan kunci GANS dengan alfabet A-Z (m=26).
x = 6 - 6
   = 0 = A
Jadi, G = A
x = 17 - 0
   = 17 = R
Jadi, R = R

Dan seterusnya hingga menjadi kembali pada plaintext tadi, ARYA.


Oke, sudah paham? Vigenere cipher masuk dalam kategori perhitungan yang mudah kan? Ya, meskipun sudah ada alat untuk meng-enkripsi dan men-dekripsi tetapi tetap satu jua.. Eh salah. Tetapi tetap kamu harus memahami program nya seperti apa langkah penyandiannya dan itu wajib diketahui oleh anak IT.
Share This :
_/Arya-Kun

Hanya seorang pelajar yang hobi nya membuat kode dan berharap ilmu nya bermanfaat bagi orang lain.

0 komentar