Gambar 1. Contoh pergeseran huruf pada Caesar Cipher
Misalkan pesan yang akan disandikan adalah "SAYA SUKA MAKAN SOTO" digunakan pergeseran 3 huruf, maka ciphertext-nya adalah "VDBD VXND PDNDQ VRWR". Sedangkan untuk mendekripsikan ciphertext menjadi plaintext mundurkan huruf 3 kali kebelakang.
Dibawah ini diberikan source code untuk memodelkan caesar cipher menggunakan bahasa C.
caesar-cipher.c
#include<stdio.h>
#include<string.h>
int main(){
char kata[10];
int x,kar,kunci;
printf("Masukan kata = ");gets(kata);
printf("Masukan kunci = ");scanf("%d",&kunci);
x=strlen(kata);
for(kar=0;kar<strlen(kata);kar++){
kata[kar]=(kata[kar]-96+kunci)%26+96;
}
printf("%s\n",kata);
getch();
return 0;
}
#include<string.h>
int main(){
char kata[10];
int x,kar,kunci;
printf("Masukan kata = ");gets(kata);
printf("Masukan kunci = ");scanf("%d",&kunci);
x=strlen(kata);
for(kar=0;kar<strlen(kata);kar++){
kata[kar]=(kata[kar]-96+kunci)%26+96;
}
printf("%s\n",kata);
getch();
return 0;
}
Untuk memecahkan caesar cipher dapat dilakukan dengan beberapa cara antara lain:
- analisis frekuensi , yaitu menganalisa frekuensi huruf-huruf yang paling sering muncul
- brute-force , yaitu mencoba 26 geseran yang digunakan
http://www.richkni.co.uk/php/crypta/freq.php , dan
http://id.wikipedia.org/wiki/Sandi_Caesar
Referensi:
http://id.wikipedia.org/wiki/Sandi_Caesar
No comments:
Post a Comment