TUGAS 5 [FATHUR] KRIPTOGRAFI KLASIK BAGIAN 3 4C23
Affine Cipher
Affine Cipher adalah jenis enkripsi substitusi yang mengubah setiap huruf plaintext menjadi huruf ciphertext melalui sebuah fungsi linear yang didefinisikan sebagai E(x) = (ax + b) mod 26, di mana a dan b adalah kunci enkripsi yang dipilih sebelumnya.
Proses enkripsi menggunakan Affine Cipher terdiri dari beberapa langkah sebagai berikut:
Setiap huruf plaintext diubah menjadi angka sesuai dengan urutan alfabet, dengan A = 0, B = 1, C = 2, dan seterusnya hingga Z = 25.
Kemudian, setiap angka plaintext diubah menjadi angka ciphertext melalui rumus enkripsi E(x) = (ax + b) mod 26.
Setiap angka ciphertext diubah kembali menjadi huruf ciphertext sesuai dengan urutan alfabet.
Proses dekripsi menggunakan Affine Cipher juga melibatkan beberapa langkah sebagai berikut:
Setiap huruf ciphertext diubah menjadi angka sesuai dengan urutan alfabet.
Kemudian, setiap angka ciphertext diubah menjadi angka plaintext melalui rumus dekripsi D(y) = a^-1 (y - b) mod 26, di mana a^-1 adalah inverse modular dari a.
Setiap angka plaintext diubah kembali menjadi huruf plaintext sesuai dengan urutan alfabet.
Meskipun Affine Cipher cukup mudah dan cepat, tetapi memiliki kelemahan yaitu rentan terhadap serangan brute-force karena hanya terdapat 26 kemungkinan kunci. Oleh karena itu, Affine Cipher biasanya digunakan bersamaan dengan teknik enkripsi lainnya untuk meningkatkan keamanan.
• Perluasan dari Caesar cipher
• Enkripsi: C mP + b (mod n)
• Dekripsi: P m–1 (C – b) (mod n)
• Kunci: m dan b
Keterangan:
1. n adalah ukuran alfabet
2. m bilangan bulat yang relatif prima dengan n
3. b adalah jumlah pergeseran
4. Caesar cipher adalah khusus dari affine cipher dengan m = 1
5. m–1 adalah inversi m (mod n), yaitu m m–1 1 (mod n)
Setiap karakter di teks asli akan diganti dengan karakter lain di dalam alfabet sesuai dengan rumus matematika tertentu.
Rumus yang digunakan pada affine cipher adalah sebagai berikut:
E(x) = (ax + b) mod 26
D(x) = a^-1(x - b) mod 26
Dimana:
E(x) adalah fungsi enkripsi
D(x) adalah fungsi dekripsi
a dan b adalah bilangan bulat, dimana a harus saling prima dengan 26 (gcd(a, 26) = 1).
mod 26 digunakan untuk memastikan hasil operasi tidak lebih besar dari 25 (jumlah huruf di alfabet)
Contoh penggunaan affine cipher dengan a=5 dan b=7:
Plaintext: HELLO WORLD
a=5, b=7
Proses enkripsi:
H = 7, maka E(H) = (5*7 + 7) mod 26 = 18 = S
E = 4, maka E(E) = (5*4 + 7) mod 26 = 3 = D
L = 11, maka E(L) = (5*11 + 7) mod 26 = 15 = P
L = 11, maka E(L) = (5*11 + 7) mod 26 = 15 = P
O = 14, maka E(O) = (5*14 + 7) mod 26 = 19 = T
= 4, maka E( ) = (5*4 + 7) mod 26 = 3 = D
W = 22, maka E(W) = (5*22 + 7) mod 26 = 0 = A
O = 14, maka E(O) = (5*14 + 7) mod 26 = 19 = T
R = 17, maka E(R) = (5*17 + 7) mod 26 = 8 = I
L = 11, maka E(L) = (5*11 + 7) mod 26 = 15 = P
D = 3, maka E(D) = (5*3 + 7) mod 26 = 4 = E
Ciphertext: SPPTD ADITE
Proses dekripsi:
S = 18, maka D(S) = 21 = V
P = 15, maka D(P) = 11 = L
P = 15, maka D(P) = 11 = L
T = 19, maka D(T) = 14 = O
D = 3, maka D(D) = 24 = Y
= 0, maka D( ) = 23 = X
A = 0, maka D(A) = 7 = H
D = 3, maka D(D) = 24 = Y
I = 8, maka D(I) = 17 = R
T = 19, maka D(T) = 14 = O
E = 4, maka D(E) = 3 = D
Plaintext: VLLDY XOYRDO
HILL CIPHER
Hill cipher adalah salah satu metode enkripsi yang menggunakan matriks sebagai kunci untuk mengenkripsi pesan. Metode ini termasuk dalam kategori cipher substitusi, yang artinya karakter-karakter pada pesan asli digantikan dengan karakter-karakter lain pada alfabet. Hill cipher memanfaatkan kaidah matematika, khususnya operasi matriks, untuk melakukan enkripsi pesan.
Dalam Hill cipher, setiap karakter pada pesan asli direpresentasikan dengan angka, dimulai dari angka 0 hingga 25. Matriks kunci digunakan untuk mengubah setiap blok karakter menjadi blok karakter terenkripsi. Kunci yang digunakan harus memenuhi syarat inversibilitas, yaitu matriks kunci harus memiliki invers sehingga bisa dilakukan proses dekripsi.
Berikut adalah contoh penggunaan Hill cipher dengan matriks kunci 2x2:
Plaintext: HELLO WORLD
Matriks kunci: [3 4]
[2 3]
Proses enkripsi:
H = 7, E = (37 + 411) mod 26 = 13 = N
E = 4, E = (34 + 411) mod 26 = 5 = F
L = 11, E = (27 + 311) mod 26 = 16 = Q
L = 11, E = (27 + 311) mod 26 = 16 = Q
O = 14, E = (314 + 417) mod 26 = 20 = U
= 4, E = (34 + 417) mod 26 = 19 = T
W = 22, E = (222 + 33) mod 26 = 0 = A
O = 14, E = (314 + 417) mod 26 = 20 = U
R = 17, E = (217 + 311) mod 26 = 18 = S
L = 11, E = (27 + 311) mod 26 = 16 = Q
D = 3, E = (33 + 419) mod 26 = 24 = Y
Ciphertext: NFAQUTAUQSYY
Proses dekripsi:
N = 13, D = (313 + 2023) mod 26 = 7 = H
F = 5, D = (45 + 1113) mod 26 = 4 = E
Q = 16, D = (213 + 316) mod 26 = 11 = L
Q = 16, D = (213 + 316) mod 26 = 11 = L
U = 20, D = (320 + 45) mod 26 = 14 = O
T = 19, D = (319 + 45) mod 26 = 14 = O
A = 0, D = (20 + 322) mod 26 = 14 = O
U = 20, D = (320 + 45) mod
ENIGMA CIPHER
Enigma cipher adalah mesin enkripsi elektromekanik yang dikembangkan pada awal abad ke-20 oleh Jerman untuk mengamankan komunikasi militer. Mesin ini menggunakan rangkaian roda pengganti dan konfigurasi kabel untuk mengenkripsi pesan teks. Setiap huruf pada pesan asli dienkripsi menjadi huruf lain dengan menggunakan roda pengganti, yang diatur oleh konfigurasi awal pada setiap roda.Konfigurasi awal ini dapat diubah setiap hari dan dikirimkan kepada pihak-pihak yang membutuhkan, sehingga mempersulit pembobolan mesin enkripsi. Mesin ini sangat efektif dalam menjaga kerahasiaan pesan, dan menjadi salah satu alasan mengapa Jerman dapat mempertahankan komunikasi rahasia selama Perang Dunia II.
Berikut adalah contoh bagaimana pesan dienkripsi dengan mesin Enigma:
Misalnya kita ingin mengenkripsi pesan "HELLO" menggunakan mesin Enigma dengan konfigurasi awal yang telah ditentukan. Pertama, kita akan memasukkan pengaturan konfigurasi awal pada mesin Enigma, seperti pengaturan awal pada setiap roda dan posisi huruf pada setiap roda. Kemudian, setiap huruf pada pesan asli akan dienkripsi menjadi huruf lain melalui serangkaian penggantian huruf yang terjadi ketika setiap roda berputar.
Sebagai contoh, jika konfigurasi awal pada mesin Enigma adalah "AAA", maka huruf "H" akan dienkripsi menjadi "U", "E" akan dienkripsi menjadi "Z", "L" akan dienkripsi menjadi "P", dan "O" akan dienkripsi menjadi "D". Konfigurasi awal pada mesin Enigma dapat diubah setiap hari, sehingga sulit bagi pihak yang tidak memiliki konfigurasi awal untuk membaca pesan yang dienkripsi menggunakan mesin ini.
Meskipun mesin Enigma sangat efektif dalam menjaga kerahasiaan pesan, tetapi akhirnya mesin ini dapat dipatahkan oleh sekutu pada Perang Dunia II. Kelemahan mesin ini adalah pengaturan awal yang tidak boleh sama selama penggunaan mesin, namun terkadang pengaturan awal dapat diulang pada hari-hari tertentu. Selain itu, adanya pola pada pesan teks dapat dimanfaatkan untuk mempercepat proses pembobolan mesin enkripsi ini.
source: https://onlinelearning.uhamka.ac.id
Komentar
Posting Komentar