Kriptografi Klasik Caesar Cipher
Semua orang pasti menginginkan ketika kita berkomunikasi hanya ada dua pihak saja yang mengetahui isi percakapan kita, yaitu pihak pengirim dan pihak penerima, atau orang yang berkomunikasi satu sama lain pasti tidak mau ada orang ketiga (pihak penguping) yang mengetahui isi percakapan. Oleh karena itu, ini adalah contoh pentingnya kriptografi dalam kehidupan sehari-hari.
Kriptografi adalah suatu ilmu untuk menyamarkan suatu pesan sehingga pesan tersebut tidak dapat dibaca oleh pihak ketiga, dan yang dapat membaca pesan tersebut hanya 2 pihak yaitu pihak pengirim dan pihak penerima. Dalam kriptografi terdapat 2 istilah yaitu :
- Enkripsi : Proses menyamarkan pesan asli (plaintext) dengan algoritma kriptografi. Hasil dari enkripsi dinamakan ciphertext.
- Dekripsi : Proses pengembalian pesan yang telah dienkripsi (ciphertext) menjadi pesan asli (plaintext).
Pada kali ini akan dibahas salah satu kriptografi klasik yaitu Caesar Cipher.
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 diktator Romawi yang menggunakan sandi ini untuk berkomunikasi dengan para panglimanya. (Wikipedia)
- Proses Enkripsi
Keterangan:
- Plaintext merupakan sebuah karakter alphabet a-z,A-Z kemudian karakter tersebut dicari nilai indexnya.
- Key merupakan sebuah integer dalam range 0–26
- Ciphertext merupakan hasil penambahan index plaintext dengan nilai key kemudian hasilnya dijadikan karakter kembali
Contoh
Plaintext : RAVI
Key : 17
Ciphertext : IRMZ
2. Proses Dekripsi
Keterangan:
- Ciphertext merupakan sebuah karakter alphabet a-z,A-Z kemudian karakter tersebut dicari nilai indexnya.
- Key merupakan sebuah integer dalam range 0–26
- Plaintext merupakan hasil pengurangan index plaintext dengan nilai key kemudian hasilnya dijadikan karakter kembali.
Contoh
Ciphertext : IRMZ
Key : 17
Plaintext : RAVI
Kurang lebih cukup postingan kali ini, di next post akan saya bahas implementasi kriptografi Caesar pada Python. So stay tune ya