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,
Imenjadi
L, dan
K menjadi
N sehingga teks terang "wiki" akan menjadi "ZLNL" pada
teks tersandi. Nama
Caesar diambil dari
Julius Caesar,
jenderal,
konsul, dan
diktator Romawi 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.
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:
Alfabet Biasa: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Alfabet Sandi: DEFGHIJKLMNOPQRSTUVWXYZABC
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 (
En) dari "huruf"
x dengan geseran
n secara matematis dituliskan dengan,
Sedangkan pada proses pemecahan kode (
dekripsi), hasil dekripsi (
Dn) adalah
[sunting]Sejarah dan Penggunaan
- 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, namun 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, 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 monoalfabetik seperti sandi Caesar adalah pada abad ke-9, oleh kebudayaan
Arab Muslim 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
kriptoanalis Jerman dan
Austria dapat memecahkan sandi-sandi tentara Rusia dengan mudah.
Sekarang sandi Caesar tidak dapat digunakan untuk hal-hal yang penting, namun 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
algoritma ROT13, 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]
[sunting]Memecahkan sandi Caesar
geseran yang digunakan | calon teks terang |
0 | exxegoexsrgi |
1 | dwwdfndwrqfh |
2 | cvvcemcvqpeg |
3 | buubdlbupodf |
4 | attackatonce |
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.
Pola frekuensi huruf-huruf dalam bahasa Inggris. Pola ini memiliki sifat tertentu, misalnya "lonjakan" pada
e, atau tiga bar tinggi pada
r-
s diikuti 6 batang rendah pada
u-
z.
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 ber
bahasa 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.