Vigenère Cipher dengan Modifikasi Fibonacci

Algoritma Vigenère cipher bisa dikembangkan sedemikian rupa sehingga menjadi lebih susah untuk dipecahkan. Salah satunya adalah dengan cara menggunakan kunci yang acak dan yang panjangnya sama dengan panjang plainteks (pendekatan OTP). Kunci yang acak ini bisa dibentuk dari kunci masukan (kunci dari pengguna) ditambah dengan deretan karakter yang dibangkitkan dengan persamaan tertentu terhadap kunci masukan.


Pada algoritma Vigenère cipher dengan modifikasi Fibonacci ini, pembangkitan deretan karakter dilakukan dengan memanfaatkan sifat deret bilangan Fibonacci. Seperti yang kita ketahui, deret Fibonacci (0,1,1,2,3,5,8,13,…) memiliki sifat sebagai berikut:


Un = Un − 1 + Un – 2 

di mana: 

Un = karakter kunci ke-n 

Pada algoritma ini, sifat di atas dimodifikasi menjadi: 

Un = Un – k + Un – k + m 

di mana: 

k = panjang kunci masukan 

m = 1 + ( ∑ (karakter_tiap_kunci) mod (k-1) ) 

Contoh: 

Kunci Masukan: INIKUNCI 

k = 8 
m = 1 + ((8+13+8+10+20+13+2+8) mod 7) = 6 

U9 = U1 + U7 = I (8) + C (2) = K (10 mod 26) 
U10 = U2 + U8 = N (13) + I (8) = V (21 mod 26) 
U11 = U3 + U9 = I (8) + K (10) = S (18 mod 26) 
U12 = U4 + U10 = K (10) + V (21) = F (31 mod 26) 
… 

P : SAYASUKAKRIPTOGRAFI 
K : INIKUNCIKVSFMSOAYVQ 
C : ANGKMHMIUMAUFGURYAY


Dengan algoritma di atas, Vigenère cipher menjadi lebih susah untuk dikriptanalisis, baik dengan analisis frekuensi, known-plaintext attack, maupun serangan lainnya.


[updated: download my paper]


No comments :