A. Cipher Substitusi

Prinsip utama cipher substitusi adalah menukarkan setiap huruf pada plainteks dengan sesuatu. Cipher substitusi termasuk algoritma kriptografi klasik. Idenya adalah menggantikan sebuah atau lebih huruf pada plainteks dengan sebuah atau lebih huruf pada plainteks dengan aturan tertentu. Aturan tersebut bergantung cara proses enkripsi dan dekripsi. Cipher subtitusi memiliki beberapa varian atau jenis.

Jenis-jenis Cipher substitusi adalah:
1. Cipher substitusi abjad-tunggal (monoalphabetic substitution cipher). Jenis cipher substitusi ini sering juga disebut cipher substitusi sederhana. Ide cipher substitusi abjad-tunggal adalah menggantikan satu karakter pada plainteks menjadi satu karakter pada cipherteks dengan aturan tertentu. Fungsi ciphering-nya merupakan fungsi satu ke satu.
2. Cipher substitusi homofonik (homophonic substitution cipher)
Ide cipher substitusi homofonik adalah menggantikan satu karakter pada plainteks menjadi satu atau lebih karakter pada cipherteks. Fungsi ciphering-nya merupakan fungsi satu ke banyak.
3. Cipher substitusi abjad-majemuk (polyalphabetic substitution cipher). Jenis cipher substitusi ini dapat disebut sebagai cipher substitusi ganda. Cipher substitusi abjad-majemuk merupakan cipher substitusi abjad-tunggal yang menggunakan kunci berbeda-beda. Karena itu, cipher substitusi abjad-majemuk memiliki periode m, m merupakan panjang kunci.
4. Cipher substitusi poligram (polygram substitution cipher).
Ide cipher substitusi poligram adalah menggantikan sebuah blok karakter dengan sebuah blok cipherteks. Blok terdiri dari satu atau lebih karakter. Misalnya AAA diganti menjadi BCD tau PAP, dan lain-lain.

Contoh :

Misal menggunakan kata kunci ”zebras” sehingga substitusi pada alfabetnya menjadi :
Plaintext alphabet:       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
Ciphertext alphabet:   Z E B R A S C D F G H I J  K L M N O P Q T  U V W X Y

Sehingga pesan berikut :

flee at once. we are discovered!

Dienkripsi menjadi
SIAA ZQ LKBA. VA ZOA RFPBLUAOAR!

 

B. Shift Cipher

Sandi geser (shift cipher) merupakan generalisasi dari Sandi Caesar, yaitu tidak membatasi pergeseran sebanyak tiga huruf. Jadi ada sebanyak 26 kunci pergeseran yang bisa digunakan. Secara umum dapat dituliskan dengan persamaan berikut ini.

 e_K(x) = (x+k) bmod 26

 d_K(y) = (x-k) bmod 26 Untuk K dengan  0 leq K leq 25 dan  x,y in mathbb{Z}_{26} .

Caesar cipher (Shift Cipher)  adalah kasus khusus dari substitusi abjad tunggal dimana susunan huruf cipherteks diperoleh dengan menggeser huruf-huruf alfabet.

Tabel Substitusi Shift Cipher

Contoh :

Misalnya, kata ‘MAIZARTI’ bila dienkripsikan menggunakan Caesar Shift
menggunakan pergeseran huruf sebanyak 13 huruf :

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
N O P Q R S T U V W X Y Z  A B C D E F G H I  J  K  L M

M= Y
A = N
I= V
Z= M
A= N
R = E
T= G
I = V
MAIZARTI akan menjadi YNVMNEGV