Sandi Vigenère: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
k Perbaikan untuk PW:CW (Fokus: Elemen gaya teks HTML <b> (bold)) |
|||
(11 revisi perantara oleh 9 pengguna tidak ditampilkan) | |||
Baris 1:
{{tanpa referensi}}
[[Berkas:Vigenere.jpg|
'''Sandi Vigenère''' adalah metode [[enkripsi|menyandikan]] teks [[alfabet]] dengan menggunakan deretan [[sandi Caesar]] berdasarkan huruf-huruf pada kata kunci. Sandi Vigenère merupakan bentuk sederhana dari sandi [[substitusi polialfabetik]]. Kelebihan sandi ini dibanding sandi Caesar dan [[sandi monoalfabetik]] lainnya adalah sandi ini tidak begitu rentan terhadap metode [[kriptoanalisis|pemecahan sandi]] yang disebut [[analisis frekuensi]]. Giovan Batista Belaso menjelaskan metode ini dalam buku ''La cifra del. Sig. Giovan Batista Belaso'' ([[1553]]); dan disempurnakan oleh [[diplomat]] [[
Sandi ini dikenal luas karena cara kerjanya mudah dimengerti dan dijalankan, dan bagi para pemula sulit dipecahkan. Pada saat kejayaannya, sandi ini dijuluki '''le chiffre indéchiffrable''' ([[bahasa Prancis]]: 'sandi yang tak terpecahkan'). Metode pemecahan sandi ini baru ditemukan pada abad ke-19. Pada tahun [[1854]], [[Charles Babbage]] menemukan cara untuk memecahkan sandi Vigenère. Metode ini dinamakan [[tes Kasiski]] karena [[Friedrich Kasiski]]-lah yang pertama mempublikasikannya.
== Cara kerja ==
[[Berkas:Vigenere-square.png|
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
:<math>C_i \equiv (P_i + K_i) \mod 26</math>
Baris 54:
'''''Ci = ( Pi + Ki ) – 26''''' kalau hasil penjumlahan '''''Pi '''''dan '''''Ki''''' lebih dari 26
'''Rumus dekripsi vigenere cipher
:<math>P_i \equiv (C_i - K_i) \mod 26</math>
'''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
|