Analisis Kombinasi Message-Digest Algorithm 5 (MD5) dan Affine Block Cipherterhadap Serangan Dictionary Attack Untuk Keamanan Router Weblogin Hotspot

4

BAB II
TINJAUAN PUSTAKA
2.1

Keamanan

Keamanan merupakan komponen yang vital dalam komunikasi data elektronis. Masih
banyak yang belum menyadari bahwa keamanan (security) merupakan sebuah
komponen penting yang tidak murah. Teknologi kriptografi sangat berperan juga
dalam proses komunikasi, yang digunakan untuk melakukan enkripsi (pengacakan)
data yang ditransaksikan selama perjalanan dari sumber ke tujuan dan juga melakukan
dekripsi (menyusun kembali) data yang telah teracak tersebut. Berbagai sistem yang
telah dikembangkan adalah sistem private key dan public key. Penguasaan algoritmaalgoritma popular digunakan untuk mengamankan data juga sangat penting. Contohcontoh algoritma ini antara lain : DES, IDEA, RC5, RSA dan ECC (Elliptic Curve
Cryptography).
Dari sisi tindakan pihan yang bertanggung jawab, keamanan jaringan
komputer terbagi dua level :
1.

keamanan fisik peralatan mulai dari server, terminal/client router sampai

dengan cabling.

2.

keamanan sistem sekiranya ada penyusup yang berhasil mendapatkan akses ke
saluran fisik jaringan komputer. Sebagai contoh, dalam sistem mainframedumb terminal di suatu gedung perkantoran, mulai dari komputer sentral
sampai ke terminal secara fisik keamanan peralatan dikontrol penuh oleh
otoritas sentral. Manakala sistem tersebut hendak diperpanjang sampai ke
kantor-kantor cabang di luar gedung, maka sedikit banyak harus menggunakan
komponen jaringan komputer yang tidak sepenuhnya dikuasai pemilik sistem
seperti menyewa kabel leased line atau menggunakan jasa komunikasi satelit.

Universitas Sumatera Utara

5

Dari sisi pemakaian, sistem keamanan dipasang untuk mencegah :
1. Pencurian
2. Kerusakan
3. Penyalahgunaan data yang terkirim melalui jaringan komputer

Dalam praktek, pencurian data berwujud pembacaan oleh pihak yang tidak
berwenang biasanya dengan menyadap saluran publik. Teknologi jaringan komputer
telah dapat mengurangi bahkan membuang kemungkinan adanya kerusakan data
akibat buruknya konektivitas fisik namun kerusakan tetap bisa terjadi Karena bug
pada program aplikasi atau ada unsur kesengajaan yang mengarah ke penyalahgunaan
sistem.
2.2.

Mekanisme Kriptografi

Suatu sistem kriptografi (kriptosistem) bekerja dengan cara menyandikan suatu pesan
menjadi suatu kode rahasia yang dimengerti oleh pelaku sistem informasi saja. Pada
dasarnya mekanisme kerja semacam ini telah dikenal sejak jaman dahulu. Bangsa
Mesir kuno sekitar 4000 tahun yang lalu bahkan telah mempraktekkannya dengan cara
yang sangat primitive.
Dalam era teknologi informasi sekarang ini, mekanisme yang sama masih
digunakan tetapi tentunya implementasi sistemnya berbeda. Beberapa istilah yang
umum digunakan dalam pembahasan kriptografi.
1. Plaintext
Plaintext (message) merupakan pesan asli yang dikirimkan dan dijaga

keamanannya. Pesan tidak lain dari informasi tersebut.
2. Cipher
Cipher merupakan algoritma matematis yang digunakan untuk proses penyandian
plaintext menjadi ciphertext

Universitas Sumatera Utara

6

3. Enkripsi
Enkripsi (encryption) merupakan proses yang dilakukan untuk menyandikan
plaintext sehingga menjadi ciphertext.
4. Dekripsi
Dekripsi (decryption) merupakan proses yang dilakukan untuk memperoleh
kembali plaintext dari ciphertext.
5. Kriptosistem
Kriptosistem merupakan sistem yang dirancang untuk mengamankan suatu sistem
informasi dengan memanfaatkan kriptografi. Urutan-urutan proses kriptografi dapat
digambarkan sebagai berikut :


Gambar 2.1. Mekanisme kriptografi
Prosesnya pada dasarnya sangat sederhana. Sebuah plaintext (m) akan
dilewatkan pada proses enkripsi (E) sehingga menghasilkan suatu ciphertext (c).
kemudian untuk memperoleh kembali plaintext, maka ciphertext (c) melalui proses
dekripsi (D) yang akan menghasilkan kembali plaintext (m). secara matematis proses
ini dapat dinyatakan sebagai,
E(m) = c
D(c) = m
D(E(m)) = m
Kriptografi sederhana ini menggunakan algoritma penyandian yang disebut
cipher. Keamanannya bergantung pada kerahasiaan algoritma penyandian tersebut,

Universitas Sumatera Utara

7

karena itu algoritmanya harus dirahasiakan. Pada kelompok dengan jumlah besar dan
anggota yang senantiasa berubah, penggunaannya akan menimbulkan masalah. Setiap
ada anggota yang meninggalkan kelompok, algoritma harus digantikarena anggota ini
dapat saja membocorkan algoritma tersebut sehingga dapat membahayakan keamanan

data.
Kriptografi modern selain memanfaatkan algoritma juga menggunakan kunci
(key) untuk memecahkan masalah tersebut. Proses enkripsi dan dekripsi dilakukan
dengan menggunakan kunci ini. Setiap anggota memiliki kuncinya masing-masing
yang digunakan untuk proses enkripsi dan dekripsi yang akan dilakukannya. Proses
tersebut dapat digambarkan seperti gambar berikut.

Gambar 2.2 : Kriptografi berbasis kunci
Mekanisme kriptografi seperti ini dinamakan kriptografi berbasis kunci.
Dengan demikian kriptosistemnya akan terdiri atas algoritma dan kunci, beserta segala
plaintext dan ciphertextnya. Dengan persamaan matematisnya menjadi seperti berikut,
Ee(m) = c
Dd(c) = m
Dd(Ee(m)) = m
Dengan,
e = kunci enkripsi
d = kunci dekripsi

Universitas Sumatera Utara


8

2.3.

Tujuan kriptografi

Dalam kriptografi ada beberapa hal yang perlu dimiliki oleh sebuah kriptografi dalam
mengamankan data yaitu :
a. Confidentiality
Menjamin bahwa data-data tersebut hanya bisa diakses oleh pihak-pihak tertentu
saja.
b. Authentication
Baik pada saat mengirim atau menerima informasi, kedua belah pihak perlu
mengetahui bahwa pengirim dari pesan tersebut adalah orang yang sebenarnya
seperti yang diklaim.
c. Integrity
Aspek ini berhubungan dengan jaminan setiap pesan yang dikirim pasti sampai
pada penerimanya tanpa ada bagian dari pesan atau informasi tersebut yang
diganti, diduplikasi, dirusak, diubah urutannya dan ditambahkan
d. Nonrepudation

Aspek ini mencegah pengirim dan penerima mengingkari bahwa mereka telah
mengirimkan atau menerima suatu pesan atau informasi.
e. Access control
Membatasi sumber-sumber data hanya kepada orang-orang tertentu

f. Availability
Jika dibutuhkan setiap saat semua informasi pada sistem komputer harus tersedia
bagi semua pihak yang berhak atas informasi tersebut.
Tujuan tersebut dapat dicapai tidak hanya bergantung kepada algoritma matematik
dan mekanismenya, tetapi ada aspek lain seperti prosedur penyampaian yang
digunakan atau perlindungan hukum.
2.4.

Kriptografi Simetrik dan Asimetrik

Berdasarkan jenis kunci yang digunakan dalam proses enkripsi dan dekripsi,
kriptografi dapar dibedakan

menjadi dua jenis, yaitu kriptografi simetrik dan


kriptografi asimetrik. Perbedaan utama diantara keduanya terletak pada sama dan

Universitas Sumatera Utara

9

tidaknya kunci yang digunakan dalam enkripsi dengan kunci yang digunakan pada
proses dekripsi (Zelvina, et al. 2012).
2.4.1. Kriptrografi Simetris
Algoritma ini mengasumsikan pengirim dan penerima pesan sudah berbagi kunci yang
sama sebelum bertukar pesan. Algoritma simetris (symmetric algorithm) adalah suatu
algoritma dimana kunci enkripsi yang digunakan sama dengan kunci dekripsi,
sehingga algoritma ini disebut juga sebagai single-key algorithm. Algoritma ini sering
juga disebut dengan algoritma klasik karena memakai kunci yang sama untuk kegiatan
enkripsi dan dekripsi. Algoritma ini sudah ada sejak lebih dari 4000 tahun yang
lalu.Semua algoritma kriptografi klasik termasuk kedalam sistem kriptografi
simetri.Keamanan dari pesan yang menggunakan algoritma ini tergantung pada kunci.
Jika kunci tersebut diketahui oleh orang lain maka orang tersebut akan dapat
melakukan enkripsi dan dekripsi terhadap pesan (Mollin, 2007).
Algoritma yang memakai kunci simetris diantaranya adalah :

1. Data Encryption Standard (DES)
2. RC2, RC4, RC5, RC6
3. International Data Encrytion Algorithm (IDEA)
4. Advanced Encryption Standard (AES)
5. One Time Pad (OTP)
Berikut ini adalah ilustrasi penggunaan Algoritma simetris

Gambar 2.3. Diagram proses enkripsi dan dekripsi.
Sebelum melakukan pengiriman pesan, pengirim dan penerima harus memilih suatu
kunci tertentu yang sama untuk dipakai bersama, dan kunci ini haruslah rahasia bagi
pihak yang tidak berkepentingan sehingga algoritma ini disebut juga algoritma kunci
rahasia (secret-key algorithm).
Kelebihan Algoritma Simetris:

Universitas Sumatera Utara

10

• Kecepatan operasi lebih tinggi bila dibandingkan dengan algoritma asimetris.
• Karena kecepatannya yang cukup tinggi, maka dapat digunakan pada sistem realtime

Kelemahan Algoritma Simetris :
• Untuk tiap pengiriman pesan dengan pengguna yang berbeda dibutuhkan kunci
yang berbeda juga, sehingga akan terjadi kesulitan dalam manajemen kunci
tersebut.
• Permasalahan dalam pengiriman kunci itu sendiri yang disebut “key distribution
problem” (Chehal, 2012)
2.4.2. KriptografiAsimetris
Kriptografi asimetris juga disebut dengan kriptografi kunci-publik.Dengan arti kata
kunci yang digunakan untuk melakukan enkripsi dan dekripsi adalah berbeda. Pada
kriptografi jenis ini, setiap orang yang berkomunikasi mempunyai sepasang kunci
yaitu:
1. Kunci umum (public key) : yaitu kunci yang boleh semua orang tahu. Pengirim
mengenkripsi pesan dengan menggunakan kunci publik si penerima pesan.
2. Kunci rahasia (private key) : yaitu kunci yang dirahasiakan atau diketahui oleh
satu orang saja. Hanya penerima pesan yang dapat mendekripsi pesan, karena
hanya ia yang mengetahui kunci private nya sendiri.
Kunci-kunci tersebut berhubungan satu sama lain. Walau kunci publik telah diketahui
namun akan sangat sukar mengetahui kunci private yang digunakan. Contoh algoritma
kriptografi kunci-publik diantaranya RSA, Elgamal, DSA dll.


Universitas Sumatera Utara

11

Gambar 2.4. Diagram proses enkripsi dan dekripsi algoritma asimetris.
Sumber : Menezes, 1996

Kelebihan Algoritma Asimetris:
• Masalah keamanan pada distribusi kunci dapat lebih baik
• Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih
sedikit
Kelemahan Algoritma Asimetris:
• Kecepatan yang lebih rendah bila dibandingkan dengan algoritma simetris
• Untuk tingkat keamanan sama, kunci yang digunakan lebih panjang
dibandingkan dengan algoritma simetris (Mulya, 2013).
2.5.

Keamanan Sistem Kriptografi

Keamanan suatu sistem kriptografi merupakan masalah yang paling fundamental.
Dengan menggunakan sistem standar terbuka, maka keamanan suatu sistem
kriptografi akan lebih mudah dan lebih cepat dianalisa. Mengingat kenyataan inilah
maka sekarang tidak digunakan lagi algoritma rahasia yang tidak diketahui tingkat
keamanannya.
Sebuah sistem kriptografi dirancang untuk menjaga plaintext dari kemungkinan
dibaca oleh pihak-pihak yang tidak berwenang, yang secara umum dinamakan sebagai
penyerang (attacker). Penyerang diasumsikan memiliki akses tak terbatas terhadap

Universitas Sumatera Utara

12

jalur taka man yang digunakan untuk transaksi ciphertext. Oleh karena itu penyerang
dianggap memiliki akses langsung terhadap ciphertext.
Tipe penyerangan paling umum terhadap suatu sistem kriptografi adalah serangan
kriptanalisis (cryptanalysis attack). Kriptanalisis merupakan ilmu yang mempelajari
tentang upaya-upaya untuk memperoleh plaintext dari ciphertext tanpa informasi
tentang kunci yang digunakan.
2.6.

Algoritma Message Digest 5

MD5 adalah salah satu dari banyak algoritma kriptografi (merupakan salah satu fungsi
Hash). Message Digest yang didesain oleh Profesor Ronald Rivest dari MIT (Rivest,
1994). MD5 sering digunakan untuk menyimpan password serta digunakan juga
dalam digital signature dan certificate. Dalam algoritma MD5 spesifikasi lengkap ada
pada RFC (request for comment). Dalam hal kerja algoritma MD5 memiliki besar
blok sebanyak 512 bit sedangkan ukuran digest adalah 128 bit. Karena word size
ditentukan sebesar 32 bit, satu blok terdiri dari 16 word sedangkan digest terdiri dari 4
word. Indeks untuk bit dimulai dari 0. Proses awal dimulai dengan padding sebagai
berikut :
1. Bit dengan nilai 1 ditambahkan setelah akhir naskah
2. Deretan bit dengan nilai 0 ditambahkan setelah itu sehingga besar dari naskah
mencapai nilai 448 /mod 512 (sedikitnya 0 dan sebanyaknya 511 bit dengan
nilai 0 ditambahkan sehingga tersisa 64 bit untuk diisi agar besar naskah
menjadi kelipatan 512).
3. 64 bit yang tersisa diisi dengan besar naskah asli dalam bit. Jika besar naskah
asli lebih dari 264 bit maka hanya 64 lower order bit yang dimasukkan. Lower
order word untuk besar naskah asli dimasukkan sebelum high order word.
Setelah padding, naskah terdiri dari n-word M [0 . . . n -1], dimana n adalah kelipatan
16. Langkah berikutnya dalam preprocessing adalah menyiapkan MD buffer sebesar 4
word, yaitu :
(A, B, C, D)
Dimana A merupakan lower order word. Buffer diberi nilai awal sebagai berikut (nilai
dalam hexadecimal dimulai dengan lower order byte).

Universitas Sumatera Utara

13

A : 01 23 45 67
B : 89 ab cd ef
C : fe dc ba 98
D : 76 54 32 10
Proses hashing dilakukan perblok, dimana setiap blok melalui 4 putaran. Proses
hashing menggunakan 4 fungsi yaitu F, G, H, dan I yang masing – masing mempunyai
input 3 word dan output 1 word :
F(X,Y,Z)

= (X ʌ Y) ᴠ (¬X ʌ Z)

G(X,Y,Z)

= (X ʌ Z) ᴠ (Y ʌ ¬Z)

H(X,Y,Z)

=X⨁Y⨁Z

I(X,Y,Z)

= Y ⨁ (X ᴠ¬Z)

Dimana ʌ adalah bitwise and, ᴠ adalah bitwise or, ⨁ adalah bitwise exclusive or dan ¬

adalah bitwise not.
2.7.

Serangan Pada Algoritma Message Digest

Kriptografi dirancang untuk menjadi instrument untuk mempelajari prinsip dan teknik
dalam menyembunyikan informasi kedalam bentuk ciphertext yang kemudian
diberikan kepada orang yang sah dengan kunci yang dimilikinya. Teknik tersebut
dilakukan agar orang yang tidak berkepentingan dalam informasi tersebut tidak dapat
membuka dan merubah informasi tersebut.
Ada beberapa bentuk serangan yang dapat dilakukan pada algoritma hash antara lain :
Solanki & Agarwal (2012) menguraikan antara lain :
1.

Pre-image Attacks
Dengan teknik serangan pre-image attacks kripanalis dapat menemukan
input hash dari hasil keluaran yang sudah ditentukan.

Universitas Sumatera Utara

14

2.

Second Pre-image Attacks
Serangan kedua pre-image ini sama dengan serangan pre-image yang
pertama tetapi disini ditujukan untuk menemukan masukan kedua yang
memiliki ouput informasi yang sama dengan input tertentu.

3.

Collision Attacks
Serangan collision adalah usaha untuk menemukan dua pesan M1 dan M2
yang memiliki nilai hash yang sama. Kripanalis masuk pada satu pesan
tetapi mencoba juga masuk pada pesan yang lain.

4.

Birthday Attack terhadap fungsi hash satu arah
Dalam serangan birthday atau sering disebut brute force terhadap fungsi
hash satu arah terdapat dua bentuk serangan. Yang pertama adalah
mengingat hash dari pesan H(M), kemudian kripanalis membuat pesan
lain dengan nama (M’), sehingga didapat H(M) = H(M’). Kedua adalah
bentuk serangan yang lebih halus yaitu kripanalis menemukan dua pesan
acak M dan M’ sehingga H(M) = H(M’). ini yang disebut dengan
tabrakan, dan serangan ini jauh lebih mudah dari yang pertama. Serangan
kedua ini umumnya dikenal sebagai birthday attack.

2.8.

Analisa Keamanan Algoritma MD5

Algoritma MD5 merupakan algoritma fungsi hash kriptografi yang banyak digunakan
sebagai alat untuk menjamin atau memberi garansi bahwa pesan yang dikirim akan
sama dengan yang diterima dengan cara membandingkan ‘sidik jari’ kedua pesan
tersebut. Namun algoritma MD5 rentan terhadap Collision Vulnerability. Collion
Vulnerability adalah adanya 2 atau lebih teks yang menghasilkan nilai hash yang
sama. Anda sendiri telah melihat dengan MD5 bahwa masukan sepanjang berapapun,
akan menghasilkan nilai hash sepanjang 128 bit. Itu artinya kemungkinan inputnya
sangat banyak jumlahnya, tak terhingga, namun kemungkinan nilai hashnya hanya
sejumlah 2^128. Bahkan untuk nilai kosong: X = “” Hash MD5 akan menghasilkan:
H(X) = 7215ee9c7d9dc229d2921a40e899ec5f Yang berukuran 128-bit. Hal ini
memberikan indikasi awal bahwa MD5 akan rentan terhadap suatu situasi di mana
f(x1)=f(x2), atau suatu masukan akan memiliki nilai keluaran hash yang sama dengan
suatu nilai masukan yang lain. Situasi sepertiini disebut collision (“tabrakan”).

Universitas Sumatera Utara

15

Tak dinyana jumlah 2128 ini sendiri adalah jumlah yang relatif besar, dan apabila
digunakan metode brute force murni untuk mencoba mencari situasi collision ini di
mana akan dicoba masukan-masukan acak sehingga nilai hash masukan tersebut akan
sama dengan nilai hash yang dibandingkan maka secara teoretis dan tanpa
memperhatikan teori probabilitas kasus terburuk dari algoritma brute force ini,
diberikan satu proses perbandingan masukan memakan waktu 1 milisekon, akan
memiliki t=2128 milisekon atau 1,07 x 1028 tahun. Dengan memperhatikan
probabilitas, maka akan ditemui suatu paradoks yang disebut birthday paradox di
mana dianalisis kemungkinan sejumlah orang memiliki tanggal lahir yang sama:
Diberikan n jumlah orang, maka berdasarkan prinsip pigeonhole kemungkinan
terdapat dua orang yang memiliki tanggal lahir yang sama (p(n)) dapat ditemukan
dengan (asumsi 1 tahun = 365 hari)

Dengan aproksimasi Taylor :

Apabila 365 disubstitusikan dengan H yang berlaku sebagai peubah, maka dari
persamaan di atas bisa didapat pula n yang diperlukan untuk mendapat probabilitas p
tertentu:

Universitas Sumatera Utara

16

Persamaan di atas berlaku bagi situasi di mana n adalah jumlah percobaan masukan
pada suatu upaya pencarian collision, H adalah jumlah nilai hash keluaran yang
mungkin dari suatu fungsi kriptografik, dan p adalah kemungkinan terjadinya collision
di mana f(x1)=f(x2).
Dari aproksimasi persamaan di atas, jika diberikanQ(H) adalah jumlah percobaan
masukan yang diharapkan hingga penemuan collision pertama maka:

Dari aproksimasi nilai yang berkelanjutan dapat disimpulkan lebih jauh lagi bahwa
untuk fungsi yang menghasilkan keluaran m bit jumlah yang harus dicoba “hanya”
sejumlah 2m/2 hingga collision pertama. Dalam kasus MD5 (128 bit), maka dari itu,
jumlah percobaan yang diperlukan bukan 2128 kali, namun hanya setengah
pangkatnya dari ini (264 kali). Jumlah percobaan 2 n/2 ini disebut birthday bound dan
merupakan batasan bawah keamanan ideal dari fungsi kriptografik secara probabilitas
(jika dilakukan percobaan sejumlah ini pada suatu fungsi maka hampir dapat dijamin
akan terjadi collision). Apabila suatu fungsi membutuhkan percobaan yang lebih
sedikit daripada birthday bound nya untuk mengalami collision, maka fungsi itu
dianggap lemah. Terdapat berbagai macam faktor lain yang dapat mempengaruhi
ketahanan suatu fungsi terutama terhadap collision. Salah faktor lain itu adalah
distribusi dari hasil. Analisis probabilitas birthday bound di atas dilakukan dengan
asumsi bahwa hasil keluaran dari fungsi terdistribusi normal seperti halnya tanggal
pada kalender. Dapat dengan mudah dilihat bahwa peristiwa penemuan collision akan
lebih mudah didapat apabila distribusi hasil tidak merata, seperti misalnya apabila
keluaran fungsi itu cenderung memiliki nilai tertentu.

Universitas Sumatera Utara

17

2.9.

Algoritma Affine Cipher
Algoritma affine cipher merupakan salah satu jenis algoritma kriptografi

simetris yang bersifat monoalpabetic subsitutis. Algoritma ini merupakan perluasan
dari algoritma caesar cipher, yang mengalikan plainteks dengan sebuah nilai dan
menambahkannya dengan sebuah pergeseran. Proses enkripsi plaintext menjadi
ciphertext dinyatakan dengan fungsi kongruen C≡ a P + b (mod n) dimana dalam hal
ini :
n = ukuran alfabet
m = bilangan bulat yang relatif prima dengan n
b = jumlah pergeseran
P = Plaintext
C = Ciphertext
Sedangkan proses dekripsi pada algortima affine cipher dapat dilakukan sebagai
berikut P ≡ a-1 (C-b) mod n
2.10.

Analisa Keamanan Algoritma Affine Block Cipher

Algoritma affine block cipher adalah algoritma perluasan dari algoritma affine cipher
yang mempunyai fungsi-fungsi yang sama dalam proses enkripsi maupun dekripsi.
Pada algoritma affine cipher, proses enkripsi menggunakan formula matematika C ≡
aP + b (mod n), sedangkan proses dekripsi menggunakan formula matematika P ≡ a-1
(C-b) mod n. Algoritma ini tergolong pada algoritma kriptografi kunci simetris
karena menggunakan kunci yang sama pada proses enkripsi maupun dekripsi.
Algoritma affine block cipher memiliki beberapa kelemahan terhadap serangan dalam
proses penyadian pesannya antara lain known plaintext attack dan exhaustive key
search.
Ciphertext only attack merupakan salah satu serangan pada algoritma kriptografi
dengan memanfaatkan akses yang dimiliki terhadap ciphertext dan plaintext yang
dimiliki kriptanalis. Misalkan kriptanalis mempunyai dua buah plainteks, P1 dan P2,

Universitas Sumatera Utara

18

yang berkoresponden dengan cipherteks C1 dan C2, maka m dan b mudah dihitung dari
buah kekongruenan simultan berikut ini:
C1≡mP1 + b (mod n)
C2≡mP2 + b (mod n)
Sebagai coontoh: Misalkan kriptanalis menemukan cipherteks C dan plainteks
berkorepsonden Kdan cipherteks E dan plainteks berkoresponden O. Kriptanalis m
dan n dari kekongruenan berikut:
2 ≡ 10a + b (mod 26)

(i)

4 ≡ 14a + b (mod 26)

(ii)

Kurangkan (ii) dengan (i), menghasilkan
2 ≡ 4a (mod 26)

(iii)

Solusi: a= 7
Substitusi a= 7 ke dalam (i),
2 ≡ 70 + b (mod 26)

(iv)

Solusi: b = 10.
Pada kasus ini, kriptanalis telah mendapatkan kunci pada proses enkripsi yaitu a=7
dan b=10. Selanjutnya, untuk mendapatkan plaintext dari ciphertext yang tersedia,
kriptanalis akan melakukan proses dekripsi pada algoritma affine cipher dengan
formula P ≡ a-1 (C-b) mod n. nilai a-1 pada contoh kasus ini adalah 15.
Selain known plaintext attack, algoritma affine cipher dapat dipecahkan dengan
serangan exhaustive key search. Pada algoritma affine cipher, bilangan relatif prima
hanya dapat dilakukan sebanyak nilai n=26. Dalam hal ini, bilangan relatif prima yang
tersedia hanya 12 buah yaitu 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, dan 25. Sedangkan
bilangan acak yang dapat digunakan adalah 1, 2, 3,..25. sehingga kemungkinan
kriptanalis untuk kombinasi kunci yang dapat dilakukan adalah a * b  12 * 25 = 300
kemungkinan. Untuk mengatasi kelemahan dari exhaustive key search pada algoritma

Universitas Sumatera Utara

19

affine cipher adalah dengan memperbesar nilai n. pengembangan dari algoritma affine
cipher dalam memperbesar nilai n adalah dengan melakukan proses enkripsi pada
blok-blok plaintext yang tersedia. Pengembangan dari algoritma ini disebut algoritma
affine block cipher. Pada penelitian ini, plaintext menggunakan kode ASCII. Panjang
dari ASCII tersebut adalah 255 karakter yang tersedia. Selanjutnya akan dilakukan
proses pengelompokan terhadap plaintext yang tersedia kedalam blok-blok dimana
dari setiap blok tersebut terdiri dari 4 karakter, sehingga panjang nilai n yang dapat
digunakan adalah 255255255255. Bilangan acak yang dapat digunakan dapat dimulai
dari bilangan 1,2,...,255255255255 dan banyak bilangan relatif prima yang tersedia
adalah 117810117810 sehingga kemungkinan kombinasi kunci yang dapat dilakukan
kriptanalis adalah 255255255255 * 117810117810 = 30071651693213171591550

Universitas Sumatera Utara