KRIPTOGRAFI KLASIK - POLYALPABETIC SUBSTATION CIPHER
VIGENERE CIPHER
Sandi Vigenère adalah salah satu penyandian teks alfabet dengan menggunakan sandi Caesar Cipher akan tetapi alfabet yang dijadikan sebagai kata kuncinya. Pada sandi Caesar, setiap huruf teks terang digantikan dengan huruf lain yang memiliki perbedaan tertentu pada urutan alfabet. Misalnya pada sandi Caesar dengan geseran 3, A menjadi D, B menjadi E and dan seterusnya. Sandi Vigenère terdiri dari beberapa sandi Caesar dengan nilai geseran yang berbeda.
Untuk menyandikan suatu pesan, digunakan sebuah tabel alfabet yang disebut Tabel Vigenère (gambar diatas). Tabel Vigenère berisi alfabet yang dituliskan dalam 26 baris, masing-masing baris digeser satu urutan ke kiri dari baris sebelumnya, membentuk ke-26 kemungkinan sandi Caesar. Setiap huruf disandikan dengan menggunakan baris yang berbeda-beda, sesuai kata kunci yang diulang.
Rumus - Rumus Vigenere Cipher
Rumus enkripsi vigenere cipher:
atau
Ci = ( Pi + Ki ) – 26 kalau hasil penjumlahan Pi dan Ki lebih dari 26
Rumus dekripsi vigenere cipher:
atau
Pi = ( Ci – Ki ) + 26 kalau hasil pengurangan Ci dengan Ki minus
Dimana:
Ci = nilai desimal karakter ciphertext ke-i
Pi = nilai desimal karakter plaintext ke-i
Ki = nilai desimal karakter kunci ke-i
Nilai desimal karakter:
A=0 B=1 C=2 ... Z=25
Sebagai contoh, jika plaintext adalah STIKOMBALI dan kunci adalah KAMPUS maka proses enkripsi yang terjadi adalah sebagai berikut :
Plaintext: | STIKOMBALI |
Key: | KAMPUSKAMP |
Ciphertext: | CTUZIELAXX |
Pada contoh diatas kata kunci KAMPUS diulang sedemikian rupa hingga panjang kunci sama dengan panjang plainteksnya. Jika dihitung dengan rumus enkripsi vigenere plainteks huruf pertama S (yang memiliki nilai Pi=18) akan dilakukan pergeseran dengan huruf K (yang memiliki Ki=10) maka prosesnya sebagai berikut :
Ci=2 maka huruf ciphertext dengan nilai 2 adalah C . Begitu seterusnya dilakukan pergeseran sesuai dengan kunci pada setiap huruf hingga semua plainteks telah terenkripsi menjadi ciphertext. Setelah semua huruf terenkripsi maka proses dekripsinya dapat dihitung sebagai berikut :
Pi=18 maka huruf plainteks dengan nilai 18 adalah S. Begitu seterusnya dilakukan pergeseran sesuai dengan kunci pada setiap huruf hingga semua ciphertext telah terdekripsi menjadi plainteks.
Komentar
Posting Komentar