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.
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.
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 :
0 komentar