Dalam kriptografi, sandi Caesar, atau sandi geser, kode Caesar atau Geseran Caesar adalah salah satu teknik enkripsi paling sederhana dan paling terkenal. Sandi ini termasuk sandi substitusi dimana setiap huruf pada teks terang (plaintext) digantikan oleh huruf lain yang memiliki selisih posisi tertentu dalam alfabet. Misalnya, jika menggunakan geseran 3, W akan menjadi Z, I menjadi L, dan K menjadi N sehingga teks terang "wiki" akan menjadi "ZLNL" pada teks tersandi. Nama Caesar diambil dari Julius Caesar, jenderal, konsul, dan diktatorRomawi yang menggunakan sandi ini untuk berkomunikasi dengan para panglimanya.
Langkah enkripsi oleh sandi Caesar sering dijadikan bagian dari penyandian yang lebih rumit, seperti sandi Vigenère, dan masih memiliki aplikasi modern pada sistem ROT13. Pada saat ini, seperti halnya sandi substitusi alfabet tunggal lainnya, sandi Caesar dapat dengan mudah dipecahkan dan praktis tidak memberikan kerahasiaan bagi pemakainya.
Contoh
Cara kerja sandi ini dapat diilustrasikan dengan membariskan dua set alfabet; alfabet sandi disusun dengan cara menggeser alfabet biasa ke kanan atau ke kiri dengan angka tertentu (angka ini disebut kunci). Misalnya sandi Caesar dengan kunci 3, adalah sebagai berikut:
Untuk menyandikan sebuah pesan, cukup mencari setiap huruf yang hendak disandikan di alfabet biasa, lalu tuliskan huruf yang sesuai pada alfabet sandi. Untuk memecahkan sandi tersebut gunakan cara sebaliknya. Contoh penyandian sebuah pesan adalah sebagai berikut.
teks terang: kirim pasukan ke sayap kiri
teks tersandi: NLULP SDVXNDQ NH VDBDS NLUL
Proses penyandian (enkripsi) dapat secara matematis menggunakan operasi modulus dengan mengubah huruf-huruf menjadi angka, A = 0, B = 1,..., Z = 25. Sandi () dari "huruf" dengan geseran n secara matematis dituliskan dengan,
Sedangkan pada proses pemecahan kode (dekripsi), hasil dekripsi () adalah
Nama Sandi Caesar diambil dari Julius Caesar, yang menurut buku SuetoniusKehidupan Duabelas Caesar, menggunakan sandi ini dengan geseran tiga, untuk mengirim pesan yang mengandung rahasia atau taktik militer.
Jika ia memiliki suatu rahasia yang akan disampaikan, ia menuliskannya dalam sandi, dengan mengganti urutan abjad, sehingga tak satu kata pun dapat dimengerti. Jika ada yang ingin membaca pesan-pesan ini, ia harus mengganti huruf keempat dalam alfabet, yaitu D, untuk A, dan seterusnya untuk huruf-huruf lain. - Suetonius, Kehidupan Julius Caesar 56[1]
Keponakan Caesar, Augustus juga menggunakan skema sandi Caesar, tetapi dengan geseran satu ke kanan, dengan sedikit perbedaan.
Jika ia hendak menulis sandi, ia menuliskan B untuk A, C untuk B, dan seterusnya, serta AA untuk Z. — Suetonius, Kehidupan Augustus 88.[2]
Juga terdapat bukti bahwa Julius Caesar juga menggunakan sistem yang lebih rumit. Penulis Aulus Gellius, merujuk pada sebuah risalah (yang sekarang hilang) dalam sandi-sandinya.
Bahkan terdapat suatu risalah yang ditulis secara cerdas oleh ahli tatabahasa Probus mengenai arti rahasia dari huruf-huruf yang menyusun surat-surat Caesar — Aulus Gellius, 17.9.1–5.
Masih belum diketahui seberapa efektif sandi Caesar pada waktu itu, tetapi 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 monoalfabetik seperti sandi Caesar adalah pada abad ke-9, oleh kebudayaan ArabMuslim yang menemukan analisis frekuensi.
Juga diketahui bahwa sejenis sandi Caesar juga pernah digunakan sebelum masa Caesar. Sandi Caesar dengan geseran satu diklaim telah ditemukan di belakang Hezuzah.[3]
Pada abad ke-19, iklan pribadi di surat-surat kabar kadang-kadang dituliskan dengan sandi Caesar. David Kahn (1967) menuliskan beberapa pasangan kekasih berkomunikasi secara rahasia dengan sandi Caesar melalui iklan di The Times. Bahkan pada Perang Dunia I, Tentara Kekaisaran Rusia menggunakan sandi Caesar, karena banyak tentara yang tidak mampu menggunakan metode sandi yang lebih maju; akibatnya para kriptoanalisJerman dan Austria dapat memecahkan sandi-sandi tentara Rusia dengan mudah.
Sekarang sandi Caesar tidak dapat digunakan untuk hal-hal yang penting, tetapi dapat digunakan untuk kepentingan sederhana seperti diari, surat cinta, menyembunyikan penghinaan, spoiler dan lain-lain yang tidak melibatkan para ahli. Sandi Caesar dengan geseran 13 disebut algoritmeROT13, digunakan pada forum-forum internet agar suatu tulisan (mis. spoiler) tidak langsung terbaca.
Pada akhir abad ke-16 ditemukan sandi Vigenère yang merupakan pengembangan lebih lanjut daripada sandi Caesar. Sandi Vigenère menggunakan sandi Caesar dengan bilangan geseran yang berbeda tiap hurufnya, sesuai dengan sebuah kata kunci. Berbeda dengan sandi Caesar yang dapat dipecahkan melalui analisis frekuensi sederhana, Sandi Vigenère pada saat itu terlihat sulit sekali dipecahkan. Sandi Vigenère dijuluki le chiffre indéchiffrable (sandi yang tak terpecahkan) hingga akhirnya dipecahkan pada abad ke-19 dengan cara analisis frekuensi lanjutan.
Pada April 2006, seorang bos mafia buronan 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.[4]
Memecahkan sandi Caesar
geseran yang digunakan
calon teks terang
0
exxegoexsrgi
1
dwwdfndwrqfh
2
cvvcemcvqpeg
3
buubdlbupodf
4
5
zsszbjzsnmbd
6
yrryaiyrmlac
...
23
haahjrhavujl
24
gzzgiqgzutik
25
fyyfhpfytshj
Proses membaca teks tersandi menjadi teks terang disebut dekripsi. Sandi Caesar dapat dipecahkan bahkan jika seseorang hanya memiliki teks tersandi tanpa mengetahui nilai geserannya, ataupun bahwa sandi Caesar telah digunakan.
Jika pihak pemecah sandi hanya mengetahui bahwa digunakan substitusi monoalfabetik dalam suatu sandi, sandi tersebut dipecahkan dengan cara analisis frekuensi. Setiap bahasa memiliki huruf yang sering digunakan atau jarang digunakan. Misalnya huruf a sering sekali digunakan dalam bahasa Indonesia, dan q atau x jarang sekali muncul. Setiap bahasa memiliki pola frekuensi tertentu, yang menunjukkan frekuensi relatif dari digunakannya huruf-huruf dalam bahasa tersebut. Pola frekuensi huruf dalam bahasa Inggris ditunjukkan dalam gambar.
Jika pemecah kode menghitung frekuensi huruf pada teks tersandi, karakteristik khusus pada grafik disamping tentu masih ada pada teks tersandi, hanya saja posisinya telah digeser. Misalkan sang pemecah kode menemukan lonjakan di C, serta tiga batang tinggi berturut-turut diikuti enam batang rendah berturut-turut dimulai dari O, maka bisa ditebak bahwa sandi tersebut menggunakan geseran 5 ke kiri, dan dari kesimpulan ini kita dapat mendekripsi teks tersandi dengan menggeser setiap huruf sandi 2 posisi ke kanan.
Cara kedua yang lebih mudah, dapat dilakukan jika sang pemecah sandi mengetahui bahwa pengirim sandi menggunakan sandi Caesar. Sandi tersebut akan dipecahkan dengan menggunakan brute force attack, yaitu mencoba ke-26 kemungkinan geseran yang digunakan. Biasanya hanya satu dari ke-26 kemungkinan ini yang dapat dibaca. Misalkan suatu teks tersandi "EXXEGOEXSRGI". Pada tabel disamping ditunjukkan hasil percobaan yang dilakukan, dan hanya satu hasil yang dapat dibaca, yaitu attackatonce. Hal ini berarti pesan yang disandikan adalah pesan berbahasa Inggris "attack at once", yang berarti "serang sekarang juga".
Dengan kemajuan komputer dan teknologi informasi, kedua cara diatas dapat dijalankan dengan mudah dan cepat, sehingga saat ini sandi Caesar sama sekali tidak berguna untuk menyembunyikan atau menyandikan dokumen-dokumen atau perintah-perintah penting dan rahasia.