Salah satu kriptografi yang paling tua
dan paling sederhana adalah kriptogtafi Caesar menurut sejarah, ini adalah cara
Julius Caesar mengirimkan surat cinta kepada kekasihnya Cleopatra. Dalam
kriptografi Caesar, maka setiap huruf akan dituliskan dalam huruf lain hasil
pergeseran 3 buah huruf. Kriptografi Caesar ini adalah kriptografi substitusi
karena setiap huruf akan digantikan huruf lain. Sebagai contoh, huruf A akan
digeser 3 huruf menjadi huruf D, B akan digeser 3 huruf menjadi E, J akan digeser
menjadi M, O akan menjadi R dan seterusnya. Pergeseran ini juga berputar
kembali ke awal abjad sehingga sesudah huruf Z diikuti kembali oleh huruf A.
Kriptografi Caesar ini dikenal sebagai monoalphabetic substitution cipher
karena satu huruf tertentu pasti akan berubah menjadi huruf tertentu yang lain.
Substitusi kode yang pertama dalam dunia penyandian dikenal dengan Kode
Kaisar, karena penyandian ini terjadi pada saat pemerintahan Yulius Caesar.
Dengan mengganti posisi huruf awal dengan alphabet atau disebut dengan
algoritma ROT3.
Teknik penyandian ini termasuk sandi tersubtitusi pada setiap huruf pada
plaintext digantikan oleh huruf lain yang dimiliki selisih posisi tertentu
dalam alphabet.
Jika Caesar akan
menuliskan kalimat ‘I LOVE YOU’ maka akan dituliskan dalam kalimat ‘L ORYH
BRX‘.
Plaintext : IBU AKAN DATANG BESOK PAGI
Ciphertext: KDW CMCP FCVCPI DGUQM RCIK
Jika kita memberi nomor ke pada
huruf-huruf abjad dan kita mulai dengan huruf A=0, B=1, C=2 dstnya sampai
dengan Z=25, maka kriptografi Caesar memenuhi rumus sebagai berikut : C = (P +
3) mod 26, di mana C adalah nomor abjad ciphertext, P adalah nomor abjad
plaintext . Dan dekripsinya adalah P = (C – 3) mod 26.
Kripotogtafi Caesar ini kemudian
berkembang di mana pergeseran tidak hanya 3 huruf tetapi ditentukan oleh suatu
kunci yang adalah suatu huruf. Huruf ini yang menentukan pergeseran dari huruf
pada plaintext. Jika kunci adalah A maka pergeseran adalah 0, B pergeseran
adalah 1, C 2 dan seterusnya. Rumus di atas tetap berlaku tetapi pergeseran
huruf ditentukan oleh nilai pergeseran dan bisa berubah-ubah sesuai kunci yang
digunakan.
Rumus kriptografi Caesar, secara umum
bisa dituliskan sebagai berikut:
( ) 26 mod k P P E C + = =
( ) 26 mod k C C D P − = =
di mana Padalah plaintext, C adalah
ciphertext, adalah pergeseran huruf sesuai dengan kunci yang dikehendaki.
Kriptanalisis Terhadap Caesar
Chiper
Caesar chiper mudah 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, 1. Periksa apakah dekripsi menghasilkan pesan yang mempunyai
makna ( lihat tabel ).
Contoh exhaustive key search terhadap
chiperteks XMZVH
Kunci (k)
chipering
|
‘Pesan’ hasil dekripsi
|
Kunci (k)
chipering
|
‘Pesan’ hasil dekripsi
|
Kunci (k)
chipering
|
‘Pesan’ hasil dekripsi
|
0
25
24
23
22
21
20
19
18
|
XMZVH
YNAWI
ZOBXJ
APCYK
BQDZL
CREAM
DSFBN
ETGCO
FUHDP
|
17
16
15
14
13
12
11
10
9
|
GVIEQ
HWJFR
IXKGS
JYLHT
KZMIU
LANJV
MBOKW
NCPLX
ODQMY
|
8
7
6
5
4
3
2
1
|
PERNZ
QFSOA
RGTPB
SHUQC
TIVRD
UJWSE
VKXTF
WLYUG
|
Dari Tabel, kata dalam Bahasa Inggris
yang potensial menjadi plainteks adalah CREAM dengan menggunakan k = 21.
Kunci ini digunakan untuk mendekripsikan chiperteks lainnya.
·
Kadang-kadang satu kunci yang potensial menghasilkan pesan
yang bermakna tidak selalu satu buah. Untuk itu, kita membutuhkan informasi
lainnya, misalnya konteks pesan tersebut atau mencoba mendekripsi potongan
chiperteks lain untuk memperoleh kunci yang benar.
Misalkan potongan chiperteks HSPPW menghasilkan dua kemungkinan
kunci yang potensial, yaitu k = 4 menghasilkan pesan DOLLS dan k
= 11 menghasilkan WHEEL. Lakukan deksripsi terhadap potongan chiperteks lain
tetapi hanya menggunakan k = 4 dan k = 11 (tidak perlu exhaustive
key search) agar dapat disimpulkan kunci yang benar.
·
Cara lain yang digunakan untuk memecahkan chiperteks adalah
dengan statistik, yaitu dengan menggunakan tabel kemunculan karakter, yang
membantu mengidentifikasi karakter plainteks yang berkoresponden dengan
karakter di dalam chiperteks (akan dijelaskan kemudian).
Berikut ini implementasi kriptografi
Caesar dalam Bluej,
setelah program ini dijalankan maka akan terlihat menu sebagai berikut :
Cara penggunaan aplikasi ini
sangat mudah, tinggal kita menuliskan plaintext pada textfield message misalnya
“KEAMANAN KOMPUTER”, lalu kita pilih key yang kita inginkan untuk pergeserannya
misal 3, dan kita pilih algoritma enkripsi lalu tekan button try untuk
menampilkan hasilnya . “NHDPDQDQ NRPSXWHU”
Kelemahan menggunakan algoritma
Caesar cipher adalah :
1.
Tingkat keamanannya rendah ,
dikarenakan jumlah kuncinya hanya 26 kunci saja.
2.
Teknik pemecahan kata kunci
tersebut dapa dilakukan dengan cara melakukan pengecekan terhadap semua kunci
yang ada yang berjumlah 26 tersebut.
Kesimpulan
Kriptografi untuk keamanan
komputer sangat beragam cara dan metodenya, setiap metode beragam tingkat
keamanannya .