SANDI VIGENÈRE Kriptografi klasik.

D. SANDI VIGENÈRE

Salah satu pemikiran agar memperoleh perlindungan yang lebih baik pada pesan rahasia adalah dengan menggunakan sandi yang menjamin bahwa huruf-huruf yang sama dari teks-asal yang diberikan saat dienkripsi, tidak selalu menghasilkan huruf yang sama pada teks-sandi. Hal ini dapat dilakukan dengan menggunakan rangkaian huruf dengan panjang tertentu yang disebut kata kunci. Misalnya pada sandi Geser maupun sandi Affine, saat sebuah kunci telah dipilih maka setiap huruf dipasangkan secara tunggal ke huruf yang lain. Oleh karena itu, sandi yang demikian disebut monoalfabetik. Berikut ini akan dibahas salah satu sandi yang bukan monoalfabetik, atau biasa dikenal dengan polyalfabetik. Sandi tersebut yaitu Sandi Vigenère. Sandi ini berasal dari nama seorang diplomat Perancis yang melayani Raja Charles IX, yaitu Blaise de Vigenère. Pada abad ke-16, Blaise de Veginere menulis sebuah buku yang berjudul Traite des Chiffres. Dalam buku tersebut diuraikan kriptografi pada saat itu, dan memperkenalkan sistem-kripto polyalfabetik. Dengan menggunakan ide dasar dari sandi Caesar, dia membentuk persegi square yang terdiri dari huruf horizontal dan huruf vertikal. Seperti pada table berikut. Tabel 3.2: Persegi Vigenère Standar Baris pertama dalam tabel tersebut merupakan susunan huruf alfabet standar. Huruf tersebut mewakili karakter huruf untuk teks-asal. Setiap baris setelah baris pertama mewakili satu pergeseran ke kiri terhadap baris di atasnya. Huruf-huruf untuk kolom pertama juga merupakan susunan huruf alfabat standar. Huruf tersebut mewakili karakter huruf pada kata kunci yang digunakan. Untuk proses enkripsi perlu dilakukan tiga hal dalam menggunakan tabel tersebut: Letakkan huruf teks-asal pada baris pertama. Letakkan huruf untuk kata kunci pada kolom pertama. Ganti setiap huruf teks-asal dengan huruf pada perpotongan antara kolom yang diawali oleh teks-asal dan baris yang diawali oleh huruf dari kata kunci pada tabel tersebut. Sebagai contoh, Boby ingin mengirim pesan yang berbunyi “ ” kepada Alice dengan menggunakan Tabel 3.2. Diandaikan juga bahwa dalam perjanjiannya, Boby dan Alice telah berbagi sebuah kata rahasia, yaitu . Kata rahasia itu yang disebut kata kunci, dan digunakan bersama dengan tabel tersebut untuk mengenkripsi pesan. Pertama, Boby menulis kata kunci berulang kali di bawah pesan yang ingin dia kirim. Seperti berikut ini: Untuk mengenkripsi huruf , Boby menulis huruf di bawah huruf . Kemudian dia melihat ke Tabel 3.2 dan menemukan huruf pada perpotongan antara kolom yang diawali dengan huruf dan baris yang dimulai dengan huruf , sehingga dia memperoleh . Ini berarti dienkripsi sebagai . Dengan cara yang sama, dia mengganti dengan karena berada pada perpotongan antara kolom yang diawali dengan dan baris yang dimulai dengan , dan mengenkripsi dengan karena berada pada perpotongan antara kolom yang diawali dengan dan baris yang dimulai dengan , dan seterusnya sehingga semua teks-asal terenkripsi dan diperoleh: . Dua buah karakter huruf pada teks-asal tidak lagi dienkripsi menjadi teks-sandi yang sama. Selain itu, dua buah huruf juga menghasilkan teks-sandi yang berbeda. Karena huruf-huruf pada teks-asal tidak selalu dinyatakan ke dalam huruf-huruf teks-sandi yang sama, maka hal tersebut meningkatkan keamanan sistem tersebut secara signifikan. Untuk mendekripsi pesan, Alice harus membalikkan proses tersebut. Misalnya untuk mendekripsi huruf , Alice harus menemukan pada baris yang diawali dengan sehingga dapat dilihat bahwa huruf berada pada kolom yang diawali dengan huruf . Dengan cara yang sama untuk mendekripsikan , Alice harus menemukan pada baris yang diawali dengan sehingga diperoleh , karena berada pada kolom yang diawali dengan huruf , dan seterusnya. Seperti berikut ini: Dengan demikian dapat ditarik kesimpulan bahwa juga terdapat tiga hal yang harus dilakukan untuk mendekripsikan pesan rahasia dengan menggunakan Tabel 3.2, yaitu: Letakkan huruf dari kata kunci pada kolom pertama. Letakkan huruf dari teks-sandi pada baris yang diawali dengan huruf dari kata kunci. Gantilah huruf dari teks-sandi dengan huruf pertama pada kolom dimana teks-sandi berada. Sekarang akan ditunjukkan bagaimana menggunakan modulo dan korespondensi dari huruf-huruf pada Tabel 3.1 untuk melakukan proses enkripsi dan dekripsi dari Sandi Vigenère. Ingat bahwa kata kunci rocky diubah terlebih dahulu berdasarkan Tabel 3.1 menjadi , , , dan . Untuk proses enkripsi teks-asal dapat digunakan rumus berikut: , , , , . Sedangkan untuk mengenkripsi huruf letaknya yang lebih besar dari panjang kunci maka rumus yang akan digunakan adalah sebagai berikut: , , dan seterusnya. Demikian rumus yang digunakan untuk proses enkripsi dari sandi Vigenère. Untuk lebih formal dapat dilihat dalam definisi berikut ini. Definisi 3.6 Sandi Vigenère Didefinisikan bahwa . Misalkan dan merupakan bilangan bulat positif, dimana . Dengan adalah banyaknya huruf pada kata kunci dan adalah banyaknya huruf pada teks-asal. Untuk kata kunci , maka fungsi enkripsi dan fungsi dekripsi didefinisikan sebagai berikut: dan dimana , , dan . Contoh 3.6: Misalkan dan kata kunci yang digunakan adalah “ ”. Menurut Tabel 3.1, kunci ini bersesuaian dengan . Dimana teks-asalnya adalah: dan dienkripsikan menjadi: Dimana penjumlahan dilakukan di dalam modulo , kemudian saat diubah kembali ke dalam huruf-huruf menghasilkan teks-sandi yang berbentuk: . Contoh 3.7: Misalkan suatu teks-sandi yang berbentuk , sedangkan kata kunci yang digunakan adalah . Menurut Tabel 3.1, kata kunci tersebut bersesuaian dengan , dan teks- sandinya bersesuaian dengan Kemudian teks tersebut didekripsi dengan menggunakan Sandi Vigenère sehingga diperoleh: . Dapat dilihat bahwa teks-asal tersebut berbunyi: .

E. SANDI HILL