Senin, Agustus 02, 2010

ALGORITMA RAIL FENCE CIPHER

Algoritma ini melibatkan penulisan plainteks sehingga mempunyai baris atas dan baris bawah yang terpisah. Urutan karakter pada baris atas akan diikuti oleh karakter berikutnya pada baris bawahnya, dan seterusnya sehingga n-rail. Apabila penulisan ke bawah sudah mencapai n, maka penulisan dilakukan ke baris atasnya dan seterusnya. Bila penulisan ke atas juga sudah mencapai n-rail, maka penulisan dilakukan seperti awal. Cipherteks dibaca secara horizontal. Untuk lebih jelasnya, berikut adalah contohnya:

Misalkan kita mempunyai plainteks : MEET ME AT NOON enkripsi dilakukan dengan kunci k = 3, offset = 0 (artinya dalam 3 baris dimulai dari baris ke-0 atau awal atau paling atas)
M . . . M . . . N . . .
. E . T . E . T . O . N
. . E . . . A . . . O .
maka cipherteksnya menjadi : MMNET ETONE AO
Namun enkripsi juga dapat dilakukan dengan memulainya bukan dari baris paling atas (offset = 0), namun bisa juga dari baris lainnya. Dengan menggunakan contoh plainteks di atas :
Enkripsi dilakukan dengan kunci k = 3, offset = 2 (artinya dalam 3 baris dimulai dari baris ke-2)
. . E . . . A . . . O .
. E . T . E . T . O . N
M . . . M . . . N . . .
maka cipherteksnya menjadi : EAOET ETONM MN
Biasanya penulisan cipherteks dilakukan menjadi blok-blok standar biasanya sepanjang 5 karakter. Bila hasil cipherteks tidak habis dibagi dengan panjang karakter, maka penambahan karakter dummy dilakukan pada saat pengenkripsian.
Rail Fence cipher mempunyai kelebihan dibandingkan algoritma lainnya (dalam cipher transposisi) dalam proses penulisan plainteks menjadi cipherteks karena penulisan dapat dilakukan di baris mana saja. Hal ini akan menambah kerumitan dalam proses enkripsi maupun dekripsi.
Namun algoritma Rail Fence cipher mempunyai kelemahan yaitu serumit apapun kita melakukan transposisi atau permutasi pada karakter-karakter dalam plainteks, kita hanya melakukan mengacak urutan dari plainteks tidak mengubahnya. Kemunculan karakter cipherteks akan sama dengan plainteks, hal ini dapat memberikan pertunjuk bahwa proses enkripsi menggunakan salah satu algoritma cipher transposisi. Sehingga, usaha untuk memecahkan suatu cipher transposisi tidaklah sulit bila kita mencoba semua algoritma cipher transposisi.

Tidak ada komentar:

Posting Komentar