<div style='background-color: none transparent;'><a href='http://www.rsspump.com/?web_widget/rss_ticker/news_widget' title='News Widget'>News Widget</a></div>

Rabu, 21 Maret 2012

Algoritma Chiper Geser

Prinsip utama chiper geser terletak pada penggeseran huruf dengan panjang tertentu, sesuai dengan kesepakatan antara beberapa orang yang saling berkomunikasi, dan panjang penggeseran itulah yang dikenal dengan “kunci”. Misalkan : seseorang ingin mengirimkan huruf “a” pada teman atau relasinya, maka pengirim menggeser “a” ke huruf selanjutnya sepanjang 6 satuan, dan menghasilkan huruf “g” yang demikian itu dinamakan dengan proses enkripsi. Kemudian, hasilnya dikirimkan ke relasinya.
Mendapat kiriman dari temannya, maka sesuai dengan kesepakatan kunci, si penerima mengubah kembali hurufnya dengan menggeser huruf “g” ke huruf sebelumnya sepanjang 6 satuan pula dan menghasilkan huruf “a” kembali yang dinamakan proses dekripsi.
Berikut adalah definisi matematis dari chiper geser :


Diberikan P=C=K=Z26 , di definisikan :

eK(x)=x+K mod 26

dandK(y)=y-k mod 26 ;dimana (x,y) anggota Z26

Penjelasan simbol :

P=Plaintext (Teks Asli)

C=Chipertext (Text setelah dienkripsi)

K=KeyKunci enkripsi

Z26=mendefinisikan hanya untuk huruf abjad az

eK(x)=enkripsi dengan kunci K dan yang ingin dienkripsi x

dK(y)=dekripsi dengan kunci K dan yang ingin didekripsi y




if ($encrypt == "crypto") {
$len_plaintext = strlen($plaintext);
$shift = intval($shiftchiper);
$shift = $shift % 26;
for ($i = 0;$i < $len_plaintext; $i++) {
$avg = $plaintext[$i];
$ord_plaintext = ord($avg);
if (($ord_plaintext > 96) and ($ord_plaintext < 123)) {
$change = ($ord_plaintext + $shift) % 123;
if ($change < 97) {$change = $change + 97;}
$chr_plaintext = chr($change);
$result .= $chr_plaintext;
}
else {$result .= $avg;}
}
}

if ($decrypt == "crypto") {
$len_chipertext = strlen($chipertext);
$shift = intval($shiftchiper);
$shift = $shift % 26;
for ($i = 0;$i < $len_chipertext; $i++) {
$avg = $chipertext[$i];
$ord_chipertext = ord($avg);
if (($ord_chipertext > 96) and ($ord_chipertext < 123)) {
$change = ($ord_chipertext - $shift) % 123;
if ($change < 97) {$change = $change + 26;}
$chr_chipertext = chr($change);
$result1 .= $chr_chipertext;
}
else {$result1 .= $avg;}
}
}

0 komentar:

Posting Komentar