Algoritma substitusi tertua yang diketahui adalah Caesar cipher yang digunakan oleh kaisar Romawi, Julius Caesar (sehingga dinamakan juga caesar cipher), untuk menyandikan pesan yang ia kirim kepada gubernurnya. Caranya kerjanya adalah dengan mengganti (menyulih atau mensubstitusi) setiap karakter dengan karakter lain dalam susunan abjad (alfabet). Misalnya, tiap huruf disubstitusi dengan huruf ketiga berikutnya dari susunan abjad. Dalam hal ini kuncinya adalah jumlah pergeseran huruf (yaitu k = 3). Tabel substitusi:
Contoh
Misalkan Plainteks adalah
AWASI ASTERIX DAN TEMANNYA OBELIX
di-enkripsi menjadi DZDVL DVWHULA GDQ WHPDQQBA REHOLA
Penerima pesan men-dekripsi chiperteks dengan menggunakan tabel substitusi, sehingga chiperteks
DZDVL DVWHULA GDQ WHPDQQBA REHOLA
dapat dikembalikan menjadi plainteks semula:
AWASI ASTERIX DAN TEMANNYA OBELIX
Dengan mengkodekan setiap huruf abjad dengan integer sebagai berikut: A = 0, B = 1, …, Z = 25, maka secara matematis caesar cipher menyandikan plainteks pi menjadi ci dengan aturan:
ci = E(pi) = (pi + 3) mod 26 (1)
dan dekripsi cipherteks ci menjadi pi dengan aturan:
pi = D(ci) = (ci – 3) mod 26 (2)
Karena hanya ada 26 huruf abjad, 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 adalah
ci = E(pi) = (pi + k) mod 26 (3)
dan fungsi dekripsi adalah
pi = D(ci) = (ci – k) mod 26 (4)
Catatan:
1. Pergeseran 0 sama dengan pergeseran 26 (susunan huruf tidak berubah)2. Pergeseran lain untuk k > 25 dapat juga dilakuka namun hasilnya akan kongruen dengan bilangan bulat dalam modulo 26. Misalnya k = 37 kongruen dengan 11 dalam modulo 26, atau 37 ยบ 11 (mod 26)
3. Karena ada operasi penjumlahan dalam persamaan (3) dan (4), maka caesar cipher kadang kadang dinamakan juga additive cipher
Untuk mengenkripsi/dekripsi pesan yang disusun oleh karakter-karakter teks (ASCII, 256 karakter), maka persamaan 3 dan 4 ditulis
ci = E(pi) = (pi + k) mod 256 (5)
pi = D(ci) = (ci – k) mod 256 (6)