Friday, November 2, 2012

Caesar Cipher

Caesar Cipher atau sandi caesar merupakan salah satu kriptografi klasik substitusi monoalphabetic, dimana cara pengenkripsiannya sangat mudah yaitu menggantikan tiap-tiap huruf pesan dengan huruf yang ada didepannya. Contoh jika menggunakan pergeseran 3, maka huruf "A" pada pesan diganti menjadi huruf "D" pada ciphertext, jika dijumpai huruf "Z" maka akan kembali lagi ke huruf awal sehingga menghasilkan huruf "C", dst.



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;
}

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
Untuk informasi lengkapnya silahkan kunjungi situs
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