Sandi Vigenère: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
kTidak ada ringkasan suntingan |
k Perbaikan untuk PW:CW (Fokus: Elemen gaya teks HTML <b> (bold)) |
||
(3 revisi perantara oleh 3 pengguna tidak ditampilkan) | |||
Baris 9:
[[Berkas:Vigenere-square.png|ka|jmpl|320px|Tabel Vigenère, atau ''[[tabula recta]]'', dapat digunakan untuk [[enkripsi]] maupun [[dekripsi]] sandi Vigenère.]]
Sandi Vigenère sebenarnya merupakan pengembangan dari [[sandi Caesar]]. 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, <
Untuk menyandikan suatu pesan, digunakan sebuah tabel alfabet yang disebut [[tabel Vigenère]] ([http://upload.wikimedia.org/wikipedia/commons/c/c7/Vigenere-square.png gambar]). 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
Baris 15:
Misalnya, [[teks terang]] yang hendak disandikan adalah perintah "Serbu Berlin":
:<
Sedangkan kata kunci antara pengirim dan tujuan adalah "Pizza"
:"<
:<
Huruf pertama pada teks terang, <
{|
| Teks terang: || <
|-
| Kata kunci: || <
|-
| Teks bersandi: || <
|}
Proses sebaliknya (disebut [[dekripsi]]), dilakukan dengan mencari huruf teks bersandi pada baris berjudul huruf dari kata kunci. Misalnya, pada contoh di atas, untuk huruf pertama, kita mencari huruf <
[[Enkripsi]] (penyandian) dengan sandi Vigenère juga dapat dituliskan secara matematis, dengan menggunakan penjumlahan dan [[operasi modulus]], yaitu:
Baris 44:
Keterangan: <math>C_i</math> adalah huruf ke-i pada teks tersandi, <math>P_i</math> adalah huruf ke-i pada teks terang, <math>K_i</math> adalah huruf ke-i pada kata kunci, dan <math>mod</math> adalah [[operasi modulus]] (sisa pembagian).
==
'''Rumus enkripsi vigenere cipher:'''
Baris 59:
'''atau'''
'''''Pi = ( Ci – Ki ) + 26''''' kalau hasil pengurangan '''''Ci''''' dengan '''''Ki''''' minus
'''Dengan:'''
Ci = nilai desimal karakter ciphertext ke-i
Baris 77:
{|
| Plaintext: || <
|-
| Key: || <
|-
| Ciphertext: || <
|}
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:
<b>Ci = ( Pi + Ki ) mod 26
= (18 + 10) mod 26
= 28 mod 26
|