Affine Cipher
Metode Affine cipher adalah perluasan dari metode Caesar cipher, yang mengalikan plainteks dengan sebuah nilai Pdan menambahkannya dengan sebuah pergeseran b menghasilkan cipherteks Cdinyatakan dengan fungsi kongruen:
C ≡ m P + b (mod n) (2.3)
Yang mana n adalah ukuran alphabet, m adalah bilangan bulat yang harus relatif prima dengan n (jika tidak relatif prima, maka dekripsi tidak bisa dilakukan) dan b adalah jumlah pergeseran (Caesar cipher adalah bentuk khusus dari Affine cipher dengan m=1). Untuk melakukan deskripsi, persamaan (2.3) harus dipecahkan untuk memperoleh P. Solusi kekongruenan tersebut hanya ada jika inver m (mod n), dinyatakan dengan m-1. Jika m-1 ada maka dekripsi dilakukan dengan persamaan sebagai berikut: (Munir, 2006)
P ≡ m-1(C – b ) (mod n) (2.4)
Contoh:
Misalkan plainteks
G I L D A
Yang ekivalen dengan:
68 1130(dengan memisalkan ‘A’ = 0, ‘B’ = 1dst)
Dienkripsi dengan Affine cipher dengan mengambil m = 7 (karena 7 relatif prima dengan 26) dan b = 10. Karena alphabet yang digunkaan 26 huruf, maka n = 26.
Enkripsi plaintext dihitung dengan kekongruenan:
C≡7P + 10 (mod 26)
Perhitungannya adalah sebagai berikut:
P1 = 6 à C1 ≡ 7 .6 + 10 ≡ 52≡ 0 (mod 26) (huruf ‘A’)
P2= 8 à C2 ≡ 7 .8 + 10 ≡ 66 ≡ 14 (mod 26) (huruf ‘O’)
P3= 11 à C3 ≡ 7 . 11 + 10 ≡ 87 ≡ 9 (mod 26) (huruf ‘I’)
P4= 3 à C4 ≡ 7 .3 + 10 ≡ 31 ≡ 5 (mod 26) (huruf ‘F’)
P5= 0 à C5 ≡ 7 .0 + 10 ≡ 10 ≡ 10 (mod 26) (huruf ‘K’)
Ciphertext yang dihasilkan adalah
AOIFK
Untuk melakukan dekripsi, pertama-tama dihitung 7-1 (mod 26), yang dapat dihitung dengan memecahkan kekongruenan lanjar:
7x ≡ 1 (mod 26)
Solusinya adalah x ≡ 15 (mod 26) sebab 7.15 = 105 ≡ 1 (mod 26). Jadi, untuk dekripsi digunakan kekongruenan:
P ≡ 15(C – 10) (mod 26)
Perhitungannya adalah sebagai berikut:
C1 = 0 àP1≡ 15 . (0 – 10) = -150 ≡ (mod 26) (huruf ‘G’)
C2 = 14 àP2≡ 15 . (14 – 10) = 60 ≡ 8 (mod 26) (huruf ‘I’)
C3 = 9 àP3≡ 15 . (9 – 10) = -15 ≡ 11 (mod 26) (huruf ‘L’)
C4 = 5 àP4≡ 15 . (5 – 10) = -75 ≡ 3 (mod 26) (huruf ‘D’)
C5 = 10 àP5≡ 15 . (10 – 10) = 0 ≡ 0 (mod 26) (huruf ‘A’)
Plaintext yang dihasilkan adalah
G I L D A