Kriptografi Algoritma Vigenere Cipher
1. Pendahuluan
Pada kesempatan ini kita akan membahas mengenai Kriptografi Algoritma Vigenere Cipher. Algoritma vigenere cipher adalah algoritma kriptografi klasik yang umum dan banyak digunakan pada masanya. Pada tulisan ini kita akan membahas mengenai algoritma tersebut dan hal-hal yang berkenaan dengan nya:
- Pengertian Algoritma Vigenere Cipher
- Enkripsi Algoritma Vigenere Cipher
- Dekripsi Algoritma Vigenere Cipher
- Desain Program
- Proses Enkripsi
- Proses Dekripsi
2. Pengertian Algoritma Vigenere Cipher
Algoritma vigenere cipher adalah algoritma klasik yang merupakan pengembangan dari metode Caesar Cipher. Proses Enkripsi dilakukan dengan cara menggeser atau menambahkan plaintext sebanyak kunci ke-i. Sedangkan dekripsi adalah proses menggeser ciphertext ke arah berlawanan atau mengurangkan ciphertext sebanyak kunci ke-i.
2.1 Enkripsi Algoritma Vigenere Cipher
Proses enkripsi algoritma vigenere cipher lebih mudah dengan melihat rumus berikut:
Keterangan:
- Ci = Cipertext ke-i
- Pi = Plaintext ke-i
- Ki = Kunci ke-i
Contoh Enkripsi
Plaintext : data
Kunci : abcd
Ciphertext : [d+a][a+b][t+c][a+d]
Cipertext : [4+1][1+2][20+3][1+4]
Ciphertext : [5]mod 26 [3]mod 26 [23]mod 26 [5]mod 26
Ciphertext : [5][3][23][5]
Ciphertext : ecwe
2.2 Dekripsi Algoritma Vigenere Cipher
Proses dekripsi algoritma vigenere cipher lebih mudah dengan melihat rumus berikut:
Keterangan:
- Ci = Cipertext ke-i
- Pi = Plaintext ke-i
- Ki = Kunci ke-i
Contoh Dekripsi
Ciphertext : ecwe
Kunci : abcd
Plaintext : [e-a][c-b][w-c][e-d]
Plaintext : [5-1][3-2][23-3][5-4]
Plaintext : [4]mod 26 [1] mod 26 [20] mod 26 [1] mod 26
Plaintext : [4][1][20][1]
Plaintext : data
3. Kesimpulan
Dari contoh algoritma vigenere cipher diatas dapat ditarik beberapa kesimpulan.
- Jumlah modulus adalah jumlah karakter yang digunakan
- Untuk mendaftarkan karakter lain seperti spasi, huruf kapital, angka, tanda baca dll, berarti merubah jumlah modulus
- Panjang kunci yang lebih pendek dari panjang plaintext, contoh:
Plaintext : Data ini sangat penting
Kunci : abc
Dapat disiasati dengan cara mengulang kunci sebanyak panjang plaintext.
4. Latihan
Hitunglah hasil enkripsi dan dekripsi data berikut menggunakan metode vigenere cipher:
Plaintext : Data Penting
Kunci : rahasia
5. Video
Untuk memahami penjelasan di atas lebih mudah, silahkan tonton video berikut:
6. Desain Tampilan Program
Kali ini saya akan menunjukkan desain tampilan dari program algoritma vigenere cipher yang terdapat 3 halaman yaitu home, enkripsi dan dekripsi. Untuk mempercepat pembuatan tampilan kita menggunakan bootstrap.
6.1. Halaman Home
Halaman home digunakan sebagai halaman utama yang menampilkan informasi penting secara ringkas. Berikut tampilannya.
6.2. Halaman Enkripsi
Halaman enkripsi ini berisi formulir untuk melakukan proses enkripsi. Terdapat beberapa elemen formulir seperti input text untuk plaintext, kunci dah hasil. Formulir tersebut juga menggunakan sebuah tombol submit. Berikut tampilannya.
6.3. Halaman Dekripsi
Halaman enkripsi ini berisi formulir untuk melakukan proses dekripsi. Berikut tampilannya.
7. Struktur Folder Program
Untuk mengikuti tutorial ini, kamu perlu melihat struktur folder program berikut:
7.1. File vigenere.php
Berikut ini adalah isi dari file vigenere.php yang dapat anda contoh. Perlu diketahui, tidak ada aturan baku dalam membuat kode program. Bagian terpentingnya adalah tercapainya tujuan sebuah program, panjang baris program, kecepatan eksekusi dll. Berikut ini adalah kode program vigenere cipher saya.
7.2. File enkripsi.php
Berikut ini adalah isi dari file enkripsi.php yang dapat anda contoh. File ini tidak ditampilkan langsung. Melainkan di include kedalam file index.php.
7.3. File dekrpsi.php
Berikut ini adalah isi dari file dekripsi.php yang dapat anda contoh. File ini tidak ditampilkan langsung. Melainkan di include kedalam file index.php.
7.3. File index.php
Berikut ini adalah isi dari file index.php yang dapat anda contoh. File ini bisa dikatakan template program. File inilah yang akan meng-include file-file lain yang akan ditampilkan dalam format yang sama.
8. Latihan
Coba modifikasi kode Program diatas agar mampu melakukan proses enkripsi dan dekripsi data barikut:
Plaintext : Data Penting
Kunci : rahasia
9. Video Penjelasan Program
Untuk penjelasan kode program vigenere cipher. serta demo programnya. Tonton video berikut: