Sandi ini dikenal dengan banyak nama antara lain Caesar Cipher, sandi geser, kode Caesar atau Geseran
Caesar. Nama Caesar diambil dari Julius Caesar, seorang Jenderal perang, Konsul, dan diktator Bangsa Romawi yang
menggunakan sandi ini untuk berkomunikasi dengan para Panglima perang-nya.
Caesar menggunakannya untuk mengirim pesan yang mengandung rahasia atau taktik
militer.
Cipher ini merupakan salah satu teknikenkripsi paling
sederhana dan paling terkenal. Banyak yang mempelajari kriptografi yang
memulai tahap belajarnya dengan sandi ini. Sandi ini termasuk sandi substitusi dimana setiap huruf pada plaintext digantikan oleh huruf lain yang memiliki selisih posisi tertentu dalam alphabet.
Misalnya, jika menggunakan kunci 3, W akan menjadi Z, I menjadi L,
dan K menjadi N sehingga teks terang "wiki" akan
menjadi "ZLNL" pada ciphertext
Masih belum diketahui seberapa efektif sandi Caesar
pada waktu itu, namun kemungkinan besar sandi tersebut cukup aman, karena amat
sedikit dari musuh Caesar yang dapat membaca, apalagi yang dapat memecahkan sandi. Tidak ada catatan mengenai
ditemukannya solusi untuk memecahkan sandi Caesar pada zaman itu. Catatan
tertua mengenai pemecahan sandi substitusi monoalphabetic seperti sandi Caesar adalah pada abad ke-9, oleh
kebudayaan Arab yang
menemukan analisis frekuensi
Pada bulan April 2006 , seorang bos mafia buronan bernama Bernardo Provenzano tertangkap
di pulau Sisilia.
Keberhasilan ini tak lepas dari keberhasilan pihak berwenang memecahkan sandi
yang digunakan sang buronan. Provenzano menggunakan suatu variasi dari sandi
Caesar.
Dasar keilmuan dari Caesar cipher sebagian besar
adalah matematika yang antara lain mencakup teori bilangan, aljabar dan fungsi.
Subbab matematika tersebut sudah diajarkan sejak pendidikan sekolah bahkan
diperluas lagi di perguruan tinggi.
Rumus Caesar cipher secara umum :
Enkripsi à
C = E ( P ) = ( P + k) mod 26
Dekripsi à
P = D ( C ) = ( C - k ) mod 26
#include<stdio.h>
#include<string.h>
int main()
{
int x, a1, a2, langkah;
char A[50]; char huruf; char
enkripsi;
printf(” Penyandian Caesar Chiper \n”);
printf(” masukkan plaintext (KAPITAL) : “); gets(A);
printf(” Masukkan jumlah penggeseran : “); scanf(“%d”,&geser);
printf(” Hasil ciphertext : “);
for(x=0;x<(int)strlen(A);x++)
{
huruf=A[x];
angka=(int)(huruf-’A');
angkaBaru=(a1+geser)%26;
enkripsi=(char)(a2+’A');
printf(“%c”,enkripsi);
}
getchar();
return 0;
}
Sumber :
1.
http://id(dot)wikipedia(dot)org/wiki/Sandi_Caesar
2.
Buku “Kriptografi” , Rinaldi Munir, Penerbit
Infomatika, 2006
duh gan bikin tutor kaya gini, tapi gabisa dicopas. sedih:(
ReplyDelete