Algoritma kriptografi Caesar Chiper
atau kode kaisar ini sebenarnya sudah kira bahas dasarnya dalam tulisan
sebelumnya ‘SANDI SUBSTITUSI’ dan cara memecahkan kode
tersebut dalam tulisan Destroyed ‘Substitution Chiper’, karena kode
kaisar termasuk dalam teknik substitusi.
Pada suatu masa di jaman peperangan
antara Romawi dengan berbagai bangsa, saat itu sang kaisar yang tidak lain
adalah Julius Caesar berpikir keras bagaimana cara menyampaikan pesan strategi
kepada para jendral dan pasukannya di garis depan tanpa takut pesan tersebut
terbaca oleh pihak musuh. Sebab umum terjadi pada masa peperangan, pengirim
pesan dicegat dalam perjalanannya.
Saat itu mulai muncul ide untuk
mengacak pesan. Caranya adalah dengan mengganti (mensubstitusi) setiap
karakter dengan karakter lain dalam susunan abjad (alfabet). Bentuk
pengacakannya seperti ini, kalau pesan aslinya ‘Dodis’ maka yang ditulis adalah
‘Grglv’’. Kuncinya adalah hanya dengan menggeser 3 huruf sebenarnya.
Algoritma
kriptografi ini disebut dengan kode kaisar atau caesar chipper.
Dengan mengkodekan atau mengubah
setiap huruf abjad dengan integer sebagai berikut: A = 0, B
= 1, …, Z = 25 maka secara matematis kode kaisar (caesar
chipper) kunci 3 menyandikan plainteks pi menjadi ci
dengan aturan:
ci = E(pi) = (pi +
3) mod 26
Dekripsi chiperteks ci
menjadi pi dengan aturan matematis:
pi = D(ci) = (ci –
3) mod 26
ci adalah chipertext (pesan tersandi), pi adalah
plaintext (pesan asli), E adalah enkripsi (proses mengubah plaintext menjadi
chipertext), D adalah dekripsi (proses mengubah chipertext menjadi plaintext).
Hasilnya akan menjadi seperti table dibawah ini :
pi : A B C D
E F G H I J K L M N O P Q R S T U V W X Y Z
ci : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Bila plaintext/ pesannya SAYA SENANG
BELAJAR KRIPTOGRAFI, maka kode kaisar dengan menggunkan kunci 3 seperti diatas
chipertextnya akan menjadi VDBDVHQDQJ EHODMDUNULSWRJUDIL. Untuk
mendekripsikannya hanya tinggal mundur 3 huruf dari chipertext tersebut.
Perlu diingat karena hanya ada 26
huruf abjad (alfabet), dan pengintegeran huruf dimulai dari A = 0, B
= 1, …, Z = 25 0, maka pergeseran huruf yang mungkin dilakukan adalah
dari 0 sampai 25. Secara umum, untuk pergeseran huruf sejauh k (dalam
hal ini k adalah kunci enkripsi dan deksripsi), fungsi enkripsi dalam
perhitungan matematis akan menjadi :
ci = E(pi) = (pi + k)
mod 26
Dekripsi chiperteks ci
menjadi pi dengan k sebagai kunci, aturan matematisnya
menjadi:
pi = D(ci) = (ci – k)
mod 26
Kunci pergeseran huruf antara 0
sampai 25, tapi tidak menutup kemungkinan untuk pergeseran lebih dari 25 (k
> 25). Namun hasinya akan tetap kongruen dengan bilangan bulat antara 0
sampia 25. Seperti contoh, k =36 akan kongruen dengan 10 pada mod 26,
karena 37 mod 26 =10.
Kode kaisar ini dapat dipecahkan
dengan metode exhaustive key search karena jumlah kuncinya sangat
sedikit (hanya ada 26 kunci). Misalkan kriptanalis menemukan potongan
chiperteks (disebut juga cryptogram) XMZVH. Diandaikan kriptanalis
mengetahui bahwa plainteks disusun dalam Bahasa Inggris dan algoritma
kriptografi yang digunakan adalah caesar chiper. Untuk memperoleh
plainteks, lakukan dekripsi mulai dari kunci yang terbesar, 25, sampai kunci
yang terkecil yaitu 1. Periksa apakah dekripsi menghasilkan pesan yang
mempunyai makna.
Kata dalam Bahasa Inggris yang
potensial menjadi plainteks adalah CREAM dengan menggunakan k = 21.
Kunci ini digunakan untuk mendekripsikan chiperteks lainnya.
Alternatif lain dalam memecahkan
kode kaisar dengan cara melihat frekwensi kemunculan huruf. Cara ini lebih
sering disebut dengan analisis frekwensi kemunculan huruf, untuk hal ini dapat
anda pelajari dalam tulisan sebelumnya Destroyed ‘Substitution Chiper’ yang berupa
toeri dan praktik langsung
0 komentar:
Posting Komentar