Vigenere Cipher
Oleh :
Nama : Agus Gede Wiraguna
NIM : 140030369
Kelas : CB143
Cara kerja sandi ini dapat diilustrasikan dengan membariskan dua set alfabet; alfabet sandi
disusun dengan cara menggeser alfabet biasa ke kanan atau ke kiri dengan angka tertentu
(angka ini disebut kunci). Misalnya sandi Caesar dengan kunci 3, adalah sebagai berikut:
Untuk menyandikan sebuah pesan, cukup mencari setiap huruf yang hendak disandikan di
alfabet biasa, lalu tuliskan huruf yang sesuai pada alfabet sandi. Untuk memecahkan sandi
tersebut gunakan cara sebaliknya. Contoh penyandian sebuah pesan adalah sebagai berikut.
Proses penyandian (enkripsi) dapat secara matematis menggunakan operasi modulus dengan
mengubah huruf-huruf menjadi angka, A = 0, B = 1,…, Z = 25. Sandi (En) dari “huruf” x
dengan geseran n secara matematis dituliskan dengan,
En (x) = (x + n) mod 26
Sedangkan pada proses pemecahan kode (dekripsi), hasil dekripsi (Dn) adalah
Dn (x) = (x – n) mod 26
Setiap huruf yang sama digantikan oleh huruf yang sama di sepanjang pesan, sehingga sandi
Caesar digolongkan kepada, substitusi monoalfabetik, yang berlawanan dengan substitusi
polialfabetik.
2. Sandi Vigenere
Algoritma enkripsi jenis ini sangat dikenal karena mudah dipahami dan diimplementasikan.
Teknik untuk menghasilkan ciphertext bisa dilakukan menggunakan substitusi angka maupun
bujursangkar vigènere. Teknik susbtitusi vigènere dengan menggunakan angka dilakukan
dengan menukarkan huruf dengan angka, hampir sama dengan kode geser.
Contoh:
Plaintext 0 6 20 18 22 8 17 0 6 20 13 0
Kunci 10 14 3 4 21 8 6 4 13 4 17 4
Hasil 10 20 23 22 17 16 23 4 19 24 4 4
Ciphertext K U X W R Q X E T Y E E
Dengan metode pertukaran angka dengan huruf di atas, diperoleh bahwa teks asli (AGUS
WIRAGUNA) memiliki kode angka (0, 6, 20, 18, , 22, 8, 17, 0, 6, 20, 13, 0), sedangkan kode
angka untuk teks kunci (KODE VIGENERE) yaitu (10, 14, 3, 4, , 21, 8, 6, 4, 13, 4, 17, 4).
Setelah dilakukan perhitungan, maka dihasilkan kode angka ciphertext (10, 20, 23, 22, , 17,
16, 23, 4, 19, 24, 4, 4). Jika diterjemahkan kembali menjadi huruf sesuai urutan awal, maka
menjadi huruf KUXW RQXETYEE.