Blog Sivitas


Sandi Caesar merupakan sandi monoaphabet (hanya bekerja untuk satu huruf) berbasis subtitusi yang sederhana menggunakan operasi shift/penjumlahan. Sandi ini dikenal dipakai oleh Julius Caesar ketika berkomunikasi dengan para jendralnya.




Operasi shift adalah mensubtitusi suatu karakter alfabet ke karakter lain yang berada di-k sebelah kanan atau sebelah kiri huruf itu. Misalnya dipilih k=3 (ganti dengan karakter dengan karakter ke-3 sebelah kanannya) maka "A" menjadi "D", "B" menjadi "E" dan seterusnya. Bagaimana dengan "X", "Y" dan "Z" supaya semuanya memiliki subtitusi, karakter "A" dianggap di sebelah kanan karakter "Z" sehingga subtitusinya adalah "X" menjadi "A", "Y" menjadi "B" dan "Z" menjadi "C".





Untuk dapat mengolah teks yang merupakan deretan simbol karakter diperlukan pemetaan dari huruf menjadi angka sehingga dapat diaplikasi operasi matematika. Jadi huruf "A" sampai "Z" dipetakan ke angka integer dari "0" sampai "25".





Nilai yang mungkin bagi teks dan cipherteks adalah 0 sampai dengan 25 (huruf A s.d Z) dan apabila hasil penggeseran (penjumlahan) melebihi 26 angka tersebut dibagi 26 dan nilai yang dipakai adalah sisa baginya. Oleh karena itu aritmatika modular (sisa bagi) digunakan.



Misalnya : 30 mod 26 = 4





Sistem kriptografi untuk sandi Caesar adalah:


Tetapkan P (Plainteks),C (Cipherteks), K (kunci)
semuanya diantara 0,..,25 atau Z_{26}


Fungsi Enkripsi:


Enc_K(x) = x + K (mod 26) // sisa bagi


Fungsi Dekripsi:


Dec_K(y) = y - K (mod 26) // sisa bagi







Contoh


Dengan menggunakan sandi Caesar dengan kunci K = 7 apa cipherteks pesan berikut ini:




INI PESAN RAHASIA



Dengan menghitung satu persatu huruf misalnya

I -> 8,

N -> 13


enc_7(8) = 8 + 7 = 15 => R

enc_7(13) = 13 + 7 = 20 => W


dst


Didapatkan cipherteks sebagai:



RWR YNBJW AJQJBRJ




Keamanan sandi Caesar tidak kuat, hal ini dapat didemonstrasi dengan cara kriptanalisis dengan hanya melihat cipherteks nya saja. Hal ini disebabkan oleh besar ruang nilai yang mungkin bagi kunci K terlalu kecil yaitu hanya 26. Sehingga mencari nilai K yang sebenarnya cukup paling banyak 26 terkaan atau sama saja mencari dengan semua kemungkinan nilai K.




Cobalah terka apa pesan asli cipherteks berikut ini, jika diketahui disandi dengan sandi Caesar






SFNFNCFS UIBU B TVDDFTTGVM NBSSJBHF EFQFOET PO UXP UIJOHT: (1) GJOEJOH UIF SJHIU QFSTPO BOE (2) CFJOH UIF SJHIU QFSTPO











Lampiran 1. Kode Program Bahasa Java untuk Sandi Caesar:

Unduh




CaesarCipher.zip berisi implementasi sandi Caesar dalam bahasa pemrograman Java.





  • Unzip berkas CaesarCipher.zip

  • Compile StringClassicCipher.java: javac StringClassicCipher.java

  • Jalankan StringClassicCipher: java StringClassicCipher







about author

Dr Rifki Sadikin M.Kom.

197707102006041002

Bidang Pengelolaan Penelitian

Komentar (0)

Bagaimana Reaksi Anda Tentang Blog ini?


Tinggalkan Komentar

gambar

Komentar di Facebook
jQuery cookie Style Colors Switcher