Kamis, 22 Maret 2012

Vigenere Cipher dengan Pembangkitan Kunci Menggunakan Bilangan Euler

Vigenere Cipher dengan Pembangkitan Kunci Menggunakan Bilangan Euler

Vigenere cipher adalah salah satu jenis kriptografi klasik yang pada dasarnya adalah melakukan substitusi cipher abjad majemuk (polyalphabetic substitution), yaitu mengubah plaintext dengan kunci tertentu  biasanya berupa sebuah kata atau kalimat yang berulang sepanjang plaintext sehingga didapatkan ciphertext. Tetapi salah satu kelemahan dari cipher ini adalah ia mudah diserang dengan metode Kasiski untuk mengetahui panjang huruf yang digunakan sebagai kunci. Untuk lebih memperkuat cipher ini, banyak modifikasi dilakukan oleh para peneliti. Salah satu cara yang saya ajukan sebagai tugas makalah ini adalah Vigenere cipher dengan metode pembangkitan kunci dengan menggunakan bilangan euler. Pada dasarnya, metode ini adalah sebuah cara untuk mendapatkan suatu kunci berbentuk acak yang digenerate dari perkalian matematis antara kunci yang dimasukkan dengan bilangan Euler. Diharapkan dengan metode ini, kunci yang dihasilkan untuk Vigenere cipher menjadi lebih panjang dan acak sehingga akan menyulitkan kriptanalisis untuk menyerang dengan metode Kasiski maupun dengan analisis frekuensi.
Kata kunci: Vigenere cipher, bilangan euler, polyalphabetic substitution, perkalian matematis

Pembangkitan kunci ini menggunakan perkalian secara matematis dengan bilangan Euler kemudian setiap angka hasil perkalian akan dikelompokkan sesuai dengan panjang digit dari kunci. Untuk lebih jelasnya, sebuah kunci yang dibentuk dari sebuah kata kemudian diterjemahkan ke dalam bentuk angka. Angka tersebut dikalikan dengan bilangan Euler sesuai dengan panjang yang diinginkan kemudian didapatkan angka hasil perkalian yang selanjutnya digunakan sebagai kunci.
Sebagai contoh:
            Plaintext                          : KILL KING TONIGHT OR DIE  (20 karakter panjangnya)
Kunci (dalam huruf)        : BUDI
Diubah menjadi
Kunci (dalam angka)       : 1 20 3 8 (panjang angka menjadi 5 digit)
Kemudian ambil bilangan euler dengan panjang sesuai dengan plaintext (yaitu 20 digit): 2.7182818284590452353 (didapatkan dari http://www.mu.org/~doug/exp/100000.html )
Berikutnya, kunci dalam bentuk angka dikalikan bilangan euler adalah: 12038 x 27182818284590452353 yaitu 327226766509899865425414
Dari sini kita pisahkan lagi sesuai dengan panjang angka kunci (5 digit) menjadi:
3 27 2 26 76 6 50 98 9 98 65 4 25 41 4
Kemudian kita ubah menjadi bentuk huruf lagi (mod 26) sehingga menjadi
D B C CG Y G FA U J JI N E CF P E
Sehingga kunci yang akan digunakan dalam melakukan encrypt adalah: DBCCGYGFAUJJINECFPEMaka didapatkan hasil sebagai berikut:
Plaintext              : KILL KING TONIGHT OR DIE
Kunci                   : DBCC GYGF AUJJINE CF PED
Ciphertext           : NJNN QGTL TIWROUX QW SMH
Kekuatan dari metode ini adalah pengelompokan hasil perkalian antara kunci dengan bilangan euler yang sangat sulit untuk diterka serta bentuk acak dari kunci yang sangat panjang, sehingga akan menyulitkan kriptanalisis untuk menyerang dengan menggunakan metode Kasiski maupun analisis frekuensi.
Referensi:

0 komentar:

Posting Komentar

AHMAD TAUFIK SIREGAR
 
;