BLANTERWISDOM101

Memahami Algoritma Affine Cipher dalam Sistem Penyandian

Minggu, 12 April 2020
Affine Cipher adalah alat yang dikhususkan untuk  melakukan enkripsi atau dekripsi per karakter. Oleh karena itu, Affine
termasuk algoritma kriptografi stream cipher. Affine cipher merupakan pengembangan perhitungan dari Caesar Cipher.



Sistem Affine Cipher merupakan sandi
alfabetik yang menggunakan teknik
substitusi fungsi linier ax + b untuk enkripsi teks asli (plaintext) x dan a' . (y – b) untuk dekripsi teks sandi (ciphertext) y.

Rumus Fungsi Enkripsi

Dalam penyandian Affine cipher, banyaknya alfabet/karakter yang digunakan disimbolkan dengan nilai dari 0 ... m-1. Misalkan pada contoh, yang dienkripsi adalah byte, dengan nilai 0 … 255, sehingga nilai m yang digunakan
adalah 256. Kemudian, metode ini menggunakan fungsi modulo aritmatika untuk mengubah nilai dari setiap karakter menjadi kode rahasia. Berikut rumus eknkripsi nya:

E(p) = (a x p + b) mod m

dimana:
E(p) = Fungsi enkripsi (bisa juga ditulis y)
p = plaintext (Teks asli)
a dan b = kunci numerik
m = 256 (Ukuran nilai byte)

Syarat pemilihan nilai kunci adalah nilai a dan m harus relatif prima atau GCD(a, m) = 1, sedangkan nilai b dapat dipilih secara acak.



Rumus:

f(x) = ax+b

f(x) = Fungsi enkripsi (bisa juga ditulis y)
x = plaintext
a dan b = kunci numerik

! Contoh soal:
Enkripsikan ARYA dengan alfabet lengkap A-Z, dan kunci a=7 b=5!
Jawab:
INGAT! SELALU MULAI DARI NOL YAH.. ;D
A=0, B=1, C=2, D=3 ... Z=25

f(x) = 7 x 0 + 5
f(x) = 5
Ingat lagi yah.. Dimulai dari 0 huruf nya. jadi 5 = F
Huruf A sudah dienkripsi. Hasil nya adalah F. Oke, selanjutnya R dst.
f(x) = 7 x 17 + 5
f(x) = 124
       = 20 mod 26 = U

f(x) = 7 x 24 + 5
f(x) = 173
       = 17 mod 26 = R

Jadi, hasil enkripsi dari ARYA menggunakan alfabet ABCDEFGHIJKLMNOPQRSTUVWXYZ adalah FURF.

Bisa dibuktikan hasil nya sama di cryptii.com.


Rumus Fungsi Dekripsi

Pendekripsian Affine harus mengetahui nilai kunci A dan B serta alfabet. Misalnya pendekripsian dari contoh diatas yaitu FURF dengan A=7 dan B=5. Untuk setiap huruf alfabet sesuai dengan nilai posisinya dalam alfabet.

Untuk contoh, alfabet ABCDEFGHIJKLMNOPQRSTUVWXYZ, bermula dari 0 memberikan nilai A=0, B=1, C=2,...,Z=25. Maka, nilai nya sama dengan A=1, B=2,...,Y=25, dan Z=0. Maka rumus fungsi dekripsi nya adalah:

x = a'(y - b) mod m

Dengan:
y = ciphertext
a dan b = kunci numerik yang digunakan.
m = 26 (jumlah byte)
a' = inverse dari perkalian modulo dengan m (bisa juga ditulis a-¹)

Nilai a' harus memenuhi ketentuan berikut:
1 = a x a' modulo m
Untuk mencari nilai a' diperlukan perhitungan modular invers.

Contoh:
A koefisien a' untuk a=7 adalah 15, karena 7 x 15 = 1 mod 26.

Untuk f(y=5)
x = a' . (5-5) mod 26
   = 15 . 0 mod 26
1 = 0 mod 26.

Yups, dekripsi dari F dengan nilai a,b, dan alfabet sama seperti contoh diatas adalah 0, yaitu A. Gimana guys? Sudah paham perhitungannya alias algoritmanya?

Ternyata pusing juga yah belajar enkripsi. Sebenarnya sih gampang saja kalau kamu paham dengan perhitungan matematika.
Hayoo.. Siapa yang suka bolos pas kelas matematika..? Mau jadi hacker? Pahami matematika dulu ya boss..

Bagi yang belum paham bisa komentar do bawah ya.. :D. Happy pusing.. 
Share This :
_/Arya-Kun

Hanya seorang pelajar yang hobi nya membuat kode dan berharap ilmu nya bermanfaat bagi orang lain.

0 komentar