Ticker

6/recent/ticker-posts

Algoritma Kriptografi Vigenere Cipher

Salah satu algoritma kriptografi klasik yang paling tangguh adalah Vigenere Cipher yang ditemukan pada tahun 1553 oleh Giovan Battista Bellaso[1]. Teks yang dienkripsi dengan algoritma ini sangat sulit untuk didapatkan hasil dekripsinya tanpa menggunakan kunci, hingga ditemukannya metode Kasiski pada tahun 1863. Namun demikian sejak ditemukannya metode ini, algoritma Vigenere Cipher menjadi sangat rentan untuk dipecahkan untuk teks yang panjang.
 
Foto: Pixabay

Vigenere Cipher bekerja dengan cara menentukan suatu nilai ninteger yang merupakan panjang kunci, kemudian dibentuk n buah subsequence dari teks tersebut berdasarkan indeks karakter dimodulokan n, sedemikian sehingga subsequence ke – i adalah kumpulan karakter dengan indeks j, di mana j ≡ i mod n. dari teks.Kemudian subsequence ke- i dioperasikan dengan karakter ke- i dari kunci[1]. Subsequence dari suatu string S, adalah kumpulan karakter di-S tanpa mengubah urutan karakter tersebut pada S. Contoh : misalkan S = “ABCDEFGH”. Maka contoh subsequence dari Sadalah “ABCE”, “BDFH”, dll. Yang bukan subsequence dari S adalah “JKL”, “ACHG”, “DEGF”, dll.

Untuk meningkatkan kesulitan dari algoritma Vigenere Cipher dapat dilakukan dengan cara menentukan suatu kunci dan suatu bilangan bulat nyang merupakan jumlah subsequence yang akan dibentuk (n bukan merupakan panjang kunci). Kemudian setiap subsequencedienkripsi menggunakan algoritma kriptografi kunci simetris yang berbeda dengan kunci yang sama. Pemilihan algoritma kunci simteris ini didasarkan pada Vigenere Cipher merupakan algoritma kriptografi simetris. Setiap algoritma kunci simetris memiliki pola yang unik, yaitu masing-masing algoritma membutuhkan satu kunci untuk mengenkripsi dan mendeskripsi teks.

Karena jumlah algoritma dapat sangat banyak maka algoritma yang digunakan perlu dijadikan suatu fileyang berisikan konfigurasi dari algoritma-algoritma tersebut, sedemikian sehingga file ini kemudian menjadi salah satu kunci yang digunakan untuk dapat membuka cipher teks tersebut. Akan tetapi, umumnya file mudah untuk dibuka. Namun demikian, kerahasiaan isi dari filetersebut tetap perlu untuk dijaga.

Salah satu teknik pengamanan data berbentuk file yang dapat diterapkan adalah dengan memanfaatkan object serialization java. Object Serialization Java memiliki properti yaitu suatu objek yang diserialisasi memiliki suatu ID tertentu, yang berupa suatu bilangan bulat non-negatif, dan tergolong pada suatu Class tertentu. Jadi jika suatu objek akan dideserialisasi, maka diperlukan suatu ID dan Class yang sama yang merealisasikan objek tersebut.

Selanjutnya, karena telah terdapat kunci untuk enkripsi teks, dan ID merupakan salah satu kebutuhan pada object serialization, maka ID perlu untuk ditetapkan sebagai suatu kunci publik. Sehingga pada saat proses dekripsi, penerima dapat menggunakan ID (kunci privat) nya sendiri.

Vigenere Cipher termasuk dalam cipher abjad majemuk (Polyalphabetic Substitution Cipher)yang dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis, Blaise de Vigenere pada tahun 1586. Vigenere Cipher adalah metode menyandikan teks alfabet dengan menggunakan deretan sandi Caesar berdasarkan huruf-huruf pada kata kunci. 

Teknik dari substitusi vigenere cipher biasa dilakukan dengan dua cara :

1. Angka
Vigenere Cipher dengan angka adalah metode menyandikan teks alfabet dengan menggunakan deretan sandi Caesar berdasarkan huruf-huruf pada kata kunci.
 
2. Huruf
Vigenere Cipher dengan huruf berisi alfabet yang dituliskan dalam 26 baris, masingmasing baris digeser ke kiri dari baris sebelumnya membentuk ke-26 kemungkinan sandi Caesar setiap huruf disediakan dengan menggunakan baris yang berbeda-beda sesuai kunci yang diulang.

Rumus dari enkripsi dan dekripsi data vigenere cipher adalah 


Posting Komentar

0 Komentar