1
1. Pendahuluan
Keamanan sangat penting dalam memberi sebuah informasi, baik untuk
tujuan keamanan bersama, maupun untuk privasi individu. Menurut konsep dasar
keamanan sistem informasi dalam dunia TI (teknologi informasi) meliputi tiga
aspek dasar, yaitu kerahasiaan (confidentialitiy), keutuhan (integrity), dan
ketersediaan (availability). Sistem komunikasi akan dinyatakan aman jika tiga hal
tersebut terjaga dengan baik [1]. Namun kelemahan dapat terjadi pada salah satu
aspek seperti pada aspek kerahasian. Suatu data atau pesan yang bersifat rahasia
dapat menimbulkan rasa ingin tahu seseorang terhadap suatu data atau pesan.
Oleh karena itu kriptografi terlahir sebagai solusi untuk menjaga keamanan pesan.
Kriptografi sudah digunakan 4000 tahun yang lalu, diperkenalkan oleh orang-
orang mesir lewat hieroglyph. Pada zaman romawi kuno, Julius Caesar
menggunakan kriptografi untuk mengirimkan pesan rahasia kepada jendral
dimedan perang [2]. Sebelum diciptakan komputer, kriptografi dilakukan dengan
menggunakan pensil dan kertas. Algoritma kriptografi yang digunakan saat itu
dinamakan algoritma klasik berbasis karakter yang berarti enkripsi dan dekripsi
dilakukan pada setiap karakter pesan [3]. Salah satu algoritma klasik adalah
Affine cipher.
Affine cipher termasuk kriptografi bertipe monoalphabetic cipher yang
berarti satu huruf pada plainteks diganti dengan satu huruf cipherteks, dimana
huruf yang sama akan memiliki pengganti yang sama. Affine cipher
mengkonversi setiap huruf ke dalam angka, kemudian dienkripsi menggunakan
fungsi dan kemudian mengkonversikannya kembali ke huruf. Metode ini termasuk
metode cipher klasik yang dikategorikan ke dalam kriptografi kunci simetris
(symmetric key cryptography). Keunggulan metode ini terletak pada kuncinya,
yaitu nilai integer yang menunjukkan pergeseran karakter-karakter, kekuatan
kedua terletak pada barisan bilangan-bilangan yang berfungsi sebagai pengali
dengan kunci yang berbentuk barisan bilangan prima. Walaupun Affine Cipher
memiliki keunggulan penyandian yang baik dibandingkan algoritma subtitusi lain,
namun juga memiliki kelemahan, yaitu ruang kunci yang kecil. Ukuran Kunci
Affine cipher adalah 12 x 26 = 312, dimana 12 adalah jumlah bilangan yang
relatif prima dengan 26 [4].
Selain memiliki ruang kunci yang kecil, Affine cipher hanya dapat
mengenkripsi karakter alfabet saja, hal ini mengakibatkan plainteks yang akan
dienkripsi sangat terbatas karena hanya menggunakan 26 karakter. Padahal
sekarang ini, bukan hanya kombinasi huruf berupa kata atau kalimat saja yang
menjadi data penting, tetapi berupa angka dan simbol lainnya juga [5]. Selain itu,
cipherteks yang dihasilkan affine cipher masih dalam karakter abjad dan jumlah
elemen plainteks sama dengan cipherteks. Hal ini memudahkan kriptanalisis
known plaintext attack untuk menemukan plainteks dan cipherteks yang
berkorespondensi, sehingga kunci dapat diperoleh dengan memecahkan sistem
kekongruen lanjar [3]. Oleh karena terdapatnya kelemahan dan berbagai
keterbatasan dalam teknik kriptografi Affine cipher, maka dalam penelitian ini
akan memodifikasi affine cipher menggunakan kode ASCII (American Standard
Code for Information Interchange) untuk subtitusi berbagai karakter plainteks
dengan angka, dan juga menggunakan fungsi gamma dan fungsi hiperbolik
2
sebagai kunci dalam proses enkripsi-dekripsi.
2. Tinjauan Pustaka
Penelitian sebelumnya, dalam tulisan yang berjudul Pemanfaatan Railfence
Cipher sebagai Sandi Transposisi untuk memperkuat Sandi Subtitusi Affine,
menggabungkan dua metode penyandian klasik yang berbeda yaitu penyandian
dengan subtitusi affine cipher dan penyandian dengan transposisi Railfence
cipher. pada proses enkripsi plaintext menggunakan Railfence cipher dan akan
dihasilkan cipherteks1 yang merupakan cipherteks sementara pertama, kemudian
cipherteks1 dienkripsi menggunakan Affine cipher yang menghasil cipherteks2
yang merupakan cipherteks sementara kedua, kemudian cipherteks2 dienkripsi
lagi menggunakan inverse Railfence cipher yang menghasilkan output cipherteks
terakhir. Pada proses dekripsi akan dilakukan proses kebalikan dari proses
enkripsi [6].
Selanjutnya, dalam penelitian yang berjudul Kriptografi Klasik dengan
Metode Subtitusi Affine Cipher yang diperkuat dengan Vigenere Cipher,
memodifikasi affine cipher dengan menggunakan vigenere cipher sebagai kunci
ketiga dan menambahkan beberapa karakter angka 0 sampai 9 dan empat buah
karakter lain ( _ . , „ ), sehingga menjadi A=0, B=1, ...,Z=25, 0=26, 1=27, ...,
9=35, _=36, .=37, ,=38, „=39 [7].
Penelitian lainnya yang berjudul Analysis and Design of Affine and Hill
Cipher, melakukan analisis pada proses enkripsi dan dekripsi, serta menunjukkan
keunggulan dan kelemahan yang terdapat pada Affine cipher dan Hill cipher [8].
Perbedaan penelitian ini dengan penelitan sebelumnya adalah dalam
penelitian ini, akan dilakukan proses modifikasi menggunakan kode ASCII untuk
subtitusi sebagai karakter plainteks, serta penggunaan fungsi khusus yaitu fungsi
gamma dan fungsi hiperbolik sebagai kunci m dan b yang digunakan dalam proses
putaran, dimana dalam putaran dilakukan proses subtitusi terhadap 9 persamaan
berbeda yang merupakan fungsi linier serta menggunakan konversi basis bilangan
untuk membuat cipherteks yang lebih panjang.
Modifikasi Affine cipher menggunakan fungsi gamma dan fungsi hiperbolik
sebagai kunci yang digunakan dalam proses enkripsi dan dekripsi. Fungsi gamma
merupakan salah satu fungsi khusus yang digunakan untuk membantu
menyelesaikan integral-integral khusus yang sulit dalam pemecahannya [9],
fungsi gamma dinyatakan oleh (z) yang didefinisikan pada Persamaan 1:
0
1)( dtetz tz (1)
Fungsi hiperbolik adalah analog dari fungsi Trigonometri, fungsi dasar hiperbolik
adalah hiperbolik sinus "sinh", kosinus hiperbolik "cosh", dan tangen hiperbolik
“tanh”. Fungsi sinus hiperbolik dan fungsi kosinus menggunakan rumus yang
ditunjukkan pada Persamaan 2 sampai Persamaan 6 [9]:
2
)( coshxx ee
x
(2)
2
)( sinhxx ee
x
(3)
3
)( cosh
)( sinh)( tanh
x
xx (4)
)( cosh
1)(sech
xx (5)
)( sinh
1)(csch
xx (6)
Modifikasi affine cipher juga menggunakan Konversi Basis Bilangan (Convert
Between Base). Secara umum Konversi Basis Bilangan diberikan pada Defenisi 1
dan Definisi 2 [10].
Defenisi 1,
Konversi sembarang bilangan positif berbasis 10 basis β. Secara
umum notasinya,
)base s,( Konv β
Definisi 2,
Konversi dari urutan bilangan (list digit) dalam basis α ke basis β.
Secara umum dinotasikan,
)base,( Konv βa
dengan jumlahan urutan bilangan (jumlahan ) mengikuti aturan,
)(
1
1.nops
k
k
K aI
dimana adalah nilai terakhir dari urutan bilangan . dan adalah bilangan positif. Nilai yang diperoleh merupakan kumpulan
urutan bilangan dalam basis β.
Fungsi slope digunakan untuk menghitung kemiringan garis regresi
menggunakan data y maupun x yang diketahui nilainya. Kemiringan diartikan
sebagai hasil antara jarak vertikal dengan sumbu datar dengan jarak horizontal
dengan sumbu tegak, kemiringan ini menunjukkan derajat kemiringan garis
regresi [11].
Regresi linier adalah metode statistika yang digunakan untuk membentuk
model hubungan antara variabel terikat (dependen Y) dengan satu atau lebih
variabel bebas (independen X). Persamaan regresi linier secara umum ditunjukkan
pada Persamaan 7 [12].
bxay (7)
Dimana y = nilai variabel terikat (dependen), a = intercept, b = slope, x = nilai
variabel bebas (independen). b disebut slope karena merupakan koefisien arah
garis linier. Nilai b dihitung menggunakan Persamaan 8 [12].
22 )(
)).((b
xxn
yxy (8)
3. Metode Penelitian
Penelitian modifikasi affine cipher menggunakan fungsi gamma dan fungsi
hiperbolik diselesaikan melalui lima tahapan yang diberikan pada Gambar 1.
4
Gambar 1 Tahapan Penelitian
Tahapan penelitian berdasarkan Gambar 1 dapat dijelaskan sebagai berikut:
Tahap pertama: Analisis dan pengumpulan bahan yaitu, melakukan analisis
kebutuhan dan pengumpulan terhadap data-data dari jurnal-jurnal, buku, serta
sumber yang terkait dengan modifikasi Affine cipher dan fungsi gamma dan
fungsi hiperbolik; Tahap kedua: perancangan modifikasi yang meliputi pembuatan
bagan proses enkripsi dan dekripsi dalam modifikasi Affine cipher, serta
gambaran umum mengenai modifikasi yang akan dilakukan; Tahap ketiga:
membuat modifikasi berdasarkan tahap kedua ke dalam aplikasi menggunakan
maple v16, kemudian melakukan analisis hasil dari modifikasi kriptografi Affine
yang dilakukan; Tahap keempat: melakukan uji hasil modifikasi terhadap
keseluruhan perancangan dan aplikasi yang telah dibuat terhadap kriptanalisis
known plaintext attack; Tahap kelima: penulisan laporan hasil penelitian, yaitu
mendokumentasikan proses penelitian yang sudah dilakukan dari tahap awal
hingga akhir ke dalam tulisan, yang akan menjadi laporan hasil penelitian.
Modifikasi Affine cipher dilakukan dengan membagi dua tahapan yaitu,
persiapan enkripsi-dekripsi dan proses enkripsi-dekripsi, sebelum melakukan
proses enkripsi-dekripsi, hal pertama yang dilakukan adalah persiapan enkripsi-
dekripsi dengan menentukan fungsi-fungsi yang digunakan dalam setiap proses
enkripsi maupun proses dekripsi, yaitu menyiapkan fungsi linier yang digunakan
dalam putaran pada proses enkripsi, yang ditunjukkan pada Persamaan 9 sampai
Persamaan 17.
127mod)(1 bxaxf (9)
127mod2
)(2 bxa
xf (10)
127mod2)(3 axbxf (11)
127mod)(4 axbxf (12)
127mod11
)(5b
xa
xf (13)
127mod)14(
)(6a
bxxf
(14)
Analisis dan Pengumpulan Bahan
Perancangan Modifikasi
Modifikasi Affine Cipher
Uji Hasil Modifikasi
Penulisan Laporan
5
127mod)(7 ab
xxf (15)
127mod1
)(8 axb
xf (16)
127mod)(9a
bxxf
(17)
Tahap persiapan yang kedua adalah menyiapkan invers fungsi linier yang
merupakan invers dari fungsi linier yang digunakan pada proses enkripsi. Invers
fungsi linier digunakan dalam putaran pada proses dekripsi, yang ditunjukkan
pada Persamaan 18 sampai Persamaan 26.
127mod)(1
1b
axxf
(18)
127mod1
)(1
2
b
axxf
(19)
127mod)(1
3 ba
xxf
(20)
127mod14
)()(
1
4
bxaxf
(21)
127mod1
)1
(
)(1
5
a
bx
xf
(22)
127mod)(1
6b
axxf
(23)
127mod2
)()(
1
7b
axxf
(24)
127mod2
)()(
1
8
a
bxxf
(25)
127mod)(
)(1
9a
bxxf
(26)
Tahap persiapan berikutnya, yaitu menyiapkan fungsi gamma dan fungsi
hiperbolik yang digunakan sebagai kunci pada proses enkripsi-dekripsi, dimana
fungsi gamma sebagai kunci pertama ,)(a dan fungsi hiperbolik sebagai kunci
kedua .)(b Fungsi gamma ditunjukkan pada Persamaan 1, dan fungsi hiperbolik
ditunjukkan pada Persamaan 2 sampai Persamaan 6.
Tahap persiapan yang terakhir yaitu menyiapkan konversi basis bilangan yang
digunakan pada akhir proses (putaran 10), untuk menghasilkan karakter cipherteks
yang lebih panjang. Konversi basis bilangan ditunjukkan pada Persamaan 27.
)base,( Konv βa (27)
6
Selanjutnya, proses enkripsi modifikasi affine cipher dilakukan dengan
membuat proses putaran sebanyak sepuluh (10) kali yang ditunjukkan pada
Gambar 2.
Plainteks ASCII
P1={x1,x2,...,xn}
Fungsi gamma
0
1)( dtetx tx
Fungsi hiperbolik
2 )( sinh
xx eex
127mod)(1 bxaxf
Pa11={y1,y2,...,yn}
127 mod )(4 awbwf
Pa12={r1,r2,...,rn}
127mod11
)(5b
ra
rf
Pa13={u1,u2,...,un}
127mod2
)(2 bya
yf
Pb11={z1,z2,...,zn}
127 mod 2)(3 azbzf
Pb12={w1,w2,...,wn}
127mod)14(
)(6a
buuf
Pb13={p1,p2,...,pn}
127mod)(7 ab
ppf
Pc13={Q1,Q2,...,Qn}
127mod1
)(8 aQb
Qf
Pc12={t1,t2,...,tn}
127mod)(9a
bttf
Pc11={D1,D2,...,Dn}
Putaran 1
.
.
.
.
.
.
.
.
.
.
.
.
7
Gambar 2 Proses Enkripsi Modifikasi Affine Cipher
Proses enkripsi modifikasi Affine Cipher pada Gambar 2 merupakan proses
dimana plainteks dikonversi ke dalam kode ASCII sehingga menghasilkan angka-
angka yang berkorespondensi dengan plainteks, maka diperoleh Persamaan 28.
}...,,,{P 211 nxxx (28)
Selanjutnya, proses membangkitkan kunci yang merujuk pada Persamaan 1 dan
Persamaan 2, dimana hasil dari fungsi gamma sebagai kunci pertama )(a yang
ditunjukkan pada persamaan 29 dan fungsi hiperbolik sebagi kunci kedua )(b
seperti pada Persamaan 30 yang digunakan dalam proses putaran 1...10.
0
1 dteta tz (29)
2
xx eeb
(30)
Proses berikutnya adalah hasil dari P1 masuk ke dalam proses putaran dan
disubtitusikan ke dalam fungsi linier sesuai pada Persamaan 9 sampai Persamaan
Pc91={C1,C2,...,Cn} Fungsi gamma
0
1)( dtetx tx
Fungsi hiperbolik
2 )( sinh
xx eex
127mod)(1 bCaCf
Pa101={E1,E2,...,En}
127 mod )(4 ahbhf
Pa102={i1,i2,...,in}
127mod11
)(5b
ia
if
Pa103={j1,j2,...,jn}
127mod2
)(2 bEa
Ef
Pb101={g1,g2,...,gn}
127 mod 2)(3 agbgf
Pb102={h1,h2,...,hn}
127mod)14(
)(6a
bjjf
Pb103={k1,k2,...,kn}
127mod)(7 ab
kkf
Pc103={m1,m2,...,mn}
127mod1
)(8 amb
mf
Pc102={n1,n2,...,nn}
127mod)(9a
bnnf
Pc101={v1,v2,...,vn}
Putaran10
.
.
.
.
.
.
.
.
.
.
.
.
Fungsi hiperbolik
2 )( sinh
xx eex
CBB
Cipherteks ASCII
8
17, maka diperoleh Persamaan 31
}D,...,D,D{Pc n2111 (31)
Proses putaran diulang sebanyak sepuluh putaran, yaitu pada proses Pc101, dengan
menggunakan nilai dari proses sebelumnya.
}V,...,V,V{Pc n21101 (32)
Selanjutnya, dimana hasil dari proses putaran terakhir (Pc101) dijadikan sebagai
dalam proses convert between base (CBB) yang merujuk pada Persamaan 27,
dimana fungsi hiperbolik sebagai ( ) dan 255 sebagai (β), hasil dari proses CBB
dikonversi ke dalam kode ASCII sehingga diperoleh cipherteks.
}F,...,F,F{C n21tx (33)
Setelah cipherteks diketahui, maka selanjutnya akan dilakukan proses dekripsi.
Proses dekripsi modifikasi affine cipher secara umum diberikan pada Gambar 3.
Cipherteks
CBB
Fungsihiperbolik
2)sinh(
xx eex
InvPa103={j1,j2,...,jn} InvPb103={k1,k2,...,kn} InvPc101={v1,v2,...,vn}
127mod1
)1
(
)(5
a
bj
jf
127mod14
)()(6
bkakf
127mod)(9b
avvf
InvPa102={i1,i2,...,in} InvPb102={h1,h2,...,hn} InvPc102={n1,n2,...,nn}
127mod)(4b
aiif
127mod2
)()(3
b
ahhf
127mod
1)(8
b
annf
InvPa101={E1,E2,...,En} InvPb101={g1,g2,...,gn} InvPc103={m1,m2,...,mn}
127mod)(
)(1a
bEEf
127mod2
)()(2
a
bggf
127mod)(7 ba
mmf
InvPc91={C1,C2,...,Cn} Fungsi gamma
0
1)( dtetx tx
Fungsihiperbolik
2)sinh(
xx eex
Putaran1
.
.
.
.
.
.
.
.
.
ASCII
9
Gambar 3 Proses Dekripsi Modifikasi Affine Cipher
Proses dekripsi dalam modifikasi Affine Cipher pada Gambar 3 merupakan
proses kebalikan dari proses enkripsi, dimana cipherteks yang diperoleh
dikonversi kembali ke dalam kode ASCII, hasil yang diperoleh dari proses
konversi disubtitusikan kembali ke dalam proses CBB, dimana hasil konversi
sebagai , 255 sebagai dan fungsi hiperbolik sebagai , sehingga diperoleh
}V,...,V,V{InvPc n21101 (34)
Hasil dari InvPc101 Masuk ke dalam proses putaran dan disubtitusikan ke dalam
invers fungsi linier sesuai pada Persamaan 18 sampai Persamaan 26, sehingga
diperoleh
}C,...,C,C{InvPc n2191 (35)
Proses putaran diulang sebanyak sepuluh putaran, yaitu pada proses InvP1 dengan
menggunakan nilai dari proses sebelumnya.
},...,,{InvP n211 xxx (36)
Hasil dari proses putaran terakhir (InvP1) dikonversi ke dalam karakter ASCII,
sehingga diperoleh plainteks.
4. Hasil dan Pembahasan
Proses enkripsi dan dekripsi dilakukan sesuai dengan langkah-langkah yang
telah diberikan pada tahap perancangan dengan menggunakan plainteks
InvPa13={u1,u2,...,un} InvPb13={P1,P2,...,Pn} InvPc11={D1,D2,...,Dn}
127mod1
)1
(
)(5
a
bu
uf
127mod14
)()(6
bPaPf
127mod)(9b
aDDf
InvPa12={r1,r2,...,rn} InvPb12={w1,w2,...,wn} InvPc12={t1,t2,...,tn}
127mod)(4b
arrf
127mod2
)()(3
b
awwf
127mod
1)(8
b
attf
InvPa11={y1,y2,...,yn} InvPb11={z1,z2,...,zn} InvPc13={Q1,Q2,...,Qn}
127mod)(
)(1a
byyf
127mod2
)()(2
a
bzzf
127mod)(7 ba
QQf
InvP1={x1,x2,...,xn} Fungsi gamma
0
1)( dtetx tx
Fungsihiperbolik
2)sinh(
xx eex
Putaran10
.
.
.
.
.
.
.
.
.
.
.
InvPa21={h1,h2,...,hn} 127mod)(
)(1a
bhhf
ASCII
Plainteks
10
“rickydjoko”. Langkah awal adalah melakukan konversi pada plainteks yang
disiapkan ke dalam angka berdasarkan kode ASCII sesuai pada Persamaan 28,
maka diperoleh P1.
}111,107,111,106,100,121,107,99,105,114{P1
Selanjutnya merupakan proses pembangkitan kunci, dimana 7z pada
Persamaan 29 dan 20x pada Persamaan 30, maka diperoleh kunci a dan b .
720a
2425825977b Hasil dari P1 masuk ke dalam proses putaran dan disubtitusikan ke dalam fungsi
linier yang merujuk pada Persamaan 9 sampai 17, sehingga diperoleh Pc11.
}77,92,77,64,23,103,92,122,36,34{Pc11
Proses putaran diulang sebanyak sepuluh putaran sesuai pada Persamaan 32
dengan menggunakan nilai dari proses sebelumnya, sehingga diperoleh Pc101.
}124,109,124,10,51,98,109,79,38,40{Pc101
Selanjutnya, hasil dari proses putaran terakhir (Pc101) dijadikan sebagai dalam
proses convert between base (CBB), dimana fungsi hiperbolik sebagai ( ) dan
255 sebagai (β), hasil dari proses CBB dikonversi ke dalam kode ASCII sehingga
diperoleh cipherteks
Ctx={ßÐÈ_Pƒ¶ö‚ì‚ÒDѹxŠ§NÕ\Åmä)z(õïÔ}
Setelah cipherteks diketahui, maka selanjutnya akan dilakukan proses
dekripsi. Proses yang dilakukan sesuai dengan langkah-langkah pada tahap
perancangan, dimana cipherteks dikonversi kembali ke dalam kode ASCII, hasil
yang diperoleh dari proses konversi disubtitusikan kembali kedalam proses CBB,
dimana hasil konversi sebagai , 255 sebagai dan fungsi hiperbolik sebagai ,
sehingga diperoleh InvPc101.
}124,109,124,10,51,98,109,79,38,40{InvPc101
Selanjutnya, hasil dari InvPc101 masuk ke dalam proses putaran dan disubtitusikan
ke dalam invers fungsi linier sesuai pada Persamaan 18 sampai 26, sehingga
diperoleh InvPc91.
}90,94,90,95,101,80,94,102,96,87{InvPc91
Proses putaran diulang sebanyak sepuluh putaran sesuai pada Persamaan 36,
dengan menggunakan nilai dari proses sebelumnya, sehingga diperoleh InvP1.
}111,107,111,106,100,121,107,99,105,114{InvP1
Hasil dari proses putaran terakhir (InvP1) dikonversi ke dalam karakter ASCII,
sehingga diperoleh plainteks “rickydjoko”.
Modifikasi Affine cipher yang dihasilkan, dirancang menjadi sebuah
aplikasi guna melakukan pengujian sebagai sistem kriptografi dalam melakukan
proses enkripsi dan dekripsi sesuai pada tahap perancangan. Aplikasi yang dibuat
merupakan aplikasi yang dapat melakukan proses enkripsi dan dekripsi pada file
teks (.txt). Hasil dari pembuatan aplikasi diberikan pada Gambar 4.
11
Gambar 4 Tampilan Proses Enkripsi Gambar 5 Tampilan Cipherteks
Gambar 4 merupakan tampilan proses enkripsi pada aplikasi dan Gambar 5
merupakan tampilan cipherteks yang dihasilkan. Pada proses enkripsi, user
menentukan URL (Uniform Resource Locator) plainteks yang merupakan lokasi
dimana file plainteks yang akan dienkripsi, kemudian user menentukan URL
cipherteks yang merupakan lokasi dimana hasil enkripsi (cipherteks) akan
disimpan. Setelah URL plainteks dan cipherteks diinputkan, maka proses
selanjutnya menginputkan kunci gamma dan hiperbolik dan memilih button
enkripsi untuk menjalankan proses enkripsi. Setelah notifikasi pada aplikasi
menyatakan bahwa proses enkripsi sukses, maka file cipherteks terletak pada
lokasi yang sesuai dengan URL cipherteks yang ditentukan.
Gambar 6 Tampilan Proses Dekripsi Gambar 7 Tampilan Plainteks
Gambar 6 menjelaskan tampilan proses dekripsi dan Gambar 7 merupakan
tampilan dari plainteks yang telah berhasil didekripsi. Cipherteks yang dihasilkan
dari proses enkripsi digunakan dalam proses dekripsi untuk mengembalikan pesan
ke bentuk awal dengan menggunakan nilai kunci yang sama seperti yang
digunakan pada proses enkripsi. Pada proses dekripsi, user menentukan URL
cipherteks yang merupakan lokasi file cipherteks yang akan didekripsi, kemudian
user menentukan URL plainteks yang merupakan lokasi dimana hasil dekripsi
(plainteks) akan disimpan, serta menginputkan kunci gamma dan hiperbolik.
Selanjutnya user memilih button dekripsi agar diproses untuk memperoleh file
plainteks. Setelah notifikasi pada aplikasi menyatakan bahwa proses dekripsi
12
sukses, maka file plainteks terletak pada lokasi yang sesuai dengan URL plainteks
yang ditentukan.
Selanjutnya, menunjukkan modifikasi Affine cipher menggunakan fungsi
gamma dan fungsi hiperbolik sebagai sebuah teknik kriptografi berdasarkan
Stinson, dengan memenuhi syarat five-tuple [13] yaitu, syarat pertama: P adalah
himpunan berhingga dari plainteks. Rancangan kriptografi ini menggunakan
plainteks berupa 127 karakter yang ekuivalen dengan ASCII. Bilangan ASCII
adalah sekumpulan karakter yang ekuivalen dengan jumlah bilangan yang
semuanya terbatas dalam sebuah himpunan yang berhingga, maka himpunan
plainteks pada modifikasi Affine Cipher adalah himpunan berhingga; Syarat
kedua: C adalah himpunan berhingga dari cipherteks. Cipherteks dihasilkan dalam
elemen byte, dimana karakter cipherteks yang dihasilkan ekuivalen dengan
ASCII, maka himpunan cipherteks yang dihasilkan pada modifikasi Affine Cipher
merupakan elemen terbatas karena hanya menghasilkan elemen byte; Syarat
ketiga: K merupakan ruang kunci (keyspace) yang merupakan himpunan
berhingga dari kunci. Penggunaan fungsi gamma dan fungsi hiperbolik adalah
fungsi dan kunci yang digunakan dalam proses modifikasi, maka kunci yang
digunakan dalam perancangan ini adalah ruang kunci; Syarat keempat: Untuk
setiap , terdapat aturan enkripsi dan berkorespodensi dengan aturan
dekripsi Setiap dan adalah fungsi sedemikian
hingga ( ) untuk setiap plainteks Syarat keempat secara menyeluruh terdapat kunci yang dapat melakukan
proses enkripsi sehingga merubah plainteks menjadi cipherteks dan dapat
melakukan proses dekripsi yang merubah cipherteks ke plainteks. Sebelumnya
telah dibuktikan dengan plainteks rickydjoko juga dapat melakukan proses
enkripsi dan dekripsi. Perancangan modifikasi Affine Cipher telah memenuhi five-
tuple, maka terbukti menjadi sebuah sistem kriptografi.
Pengujian berdasarkan jumlah karakter plainteks terhadap memori dan
waktu dengan menggunakan kriptografi Affine Cipher standar dan Affine Cipher
yang telah dimodifikasi yang ditunjukkan pada Gambar 8 dan Gambar 9.
Gambar 8 Pengujian Panjang Karakter Plainteks
terhadap Waktu Gambar 9 Pengujian Panjang Karakter Plainteks
terhadap Memori
0.7
0.81
1.21 1.37
1.59
2.1
2.5
3.12
4.18
5.65
0
1
2
3
4
5
6
1000 2000 3000 4000 5000
Wak
tu (
s)
Pesan Teks Affine Standar Affine Modifikasi
7
12.48
18.15
23.5
29.27
14.25
22.31
33.42
49.36
67.62
0
10
20
30
40
50
60
70
80
1000 2000 3000 4000 5000
Mem
ory
(M
b)
Pesan Teks Affine Standar Affine Modifikasi
13
Berdasarkan Gambar 8 dan Gambar 9, dapat dilihat bahwa ada perbedaan
dalam penggunaan waktu dan memori. Kriptografi Affine standar memerlukan
memori dan waktu lebih sedikit dalam melakukan proses enkripsi dan dekripsi
dibandingkan dengan kriptografi Affine modifikasi. Hal tersebut dikarenakan
proses modifikasi Affine cipher menggunakan sepuluh putaran untuk setiap
proses dengan mengaplikasikan fungsi gamma dan fungsi hiperbolik sebagai
kunci. Jika dianalisis kebutuhan waktu yang diperlukan dalam proses enkripsi dan
dekripsi dari jumlah karakter 0 sampai 5000 adalah 3.51s untuk Affine
modifikasi, sedangkan pada Affine standar adalah 1.13s. Pada pemakaian memori
dapat dihitung rata-rata dari jumlah karakter 0 sampai 5000 pada Affine
modifikasi adalah 37.3Mb, sedangkan pada Affine standar adalah 18.1Mb.
Selanjutnya, dibuat suatu model untuk melakukan curve fitting (pencocokan
kurva) untuk memperkirakan ukuran file cipherteks melampaui interval
pengamatan berdasarkan ukuran file plainteks, sehingga diperoleh gambaran
secara matematis mengenai hubungan antara dua variabel yang diukur yang
ditunjukkan pada Gambar 10.
Gambar 10 Curve Fitting Modifikasi Affine Cipher
Gambar 10 menunjukkan bahwa ukuran file cipherteks yang dihasilkan pada
modifikasi Affine cipher, lebih besar dibandingkan ukuran file plainteks.
Berdasarkan pada Gambar 8 dan Gambar 9, nilai kemiringan antara Affine cipher
modifikasi dengan Affine cipher standar yang dihitung menggunakan Persamaan
11 yang ditunjukkan pada tabel 1.
Tabel 1 Kemiringan Waktu dan Memori Terhadap Plainteks
Plainteks Affine Cipher
Modifikasi
Affine Cipher
Standar Keterangan
1000 – 5000
0,00087 0,00023 Kemiringan
Waktu
0,0133 0,0055 Kemiringan
Memori
Berdasarkan tabel 1, nilai kemiringan modifikasi Affine cipher lebih besar
dibandingkan Affine cipher standar. Walaupun nilai kemiringan waktu dan
memori modifikasi Affine cipher lebih besar dibandingkan Affine cipher standar
y = 3.856x + 0.0974 R² = 1
0
50
100
150
200
250
300
350
0 20 40 60 80 100
Ukuran file (KB)
14
dan ukuran file cipherteks yang dihasilkan lebih besar dibandingkan ukuran file
plainteks, tetapi modifikasi Affine cipher menggunakan fungsi gamma dan fungsi
hiperbolik dapat menahan serangan known plaintext attack yang telah
memecahkan Affine cipher standar.
Pengujian selanjutnya adalah menguji ketahanan hasil modifikasi Affine
cipher terhadap serangan known plaintext attack. Pada modifikasi Affine Cipher
dilakukan uji ketahanan terhadap known plaintext attack pada satu langkah
sebelum mendapatkan cipherteks yaitu pada tahapan Pc101. Sebagai perbandingan
kriptanalisis known plaintext attack memecahkan Affine Cipher yang ditunjukkan
pada Gambar 11. Setelah itu, dengan plainteks yang sama diuji pada modifikasi
Affine Cipher. Gambar 12 menunjukkan bahwa kriptanalisis known plaintext
attack tidak dapat memecahkan modifikasi Affine Cipher. Plainteks yang
digunakan adalah rickydjoko, cipherteks yang dihasilkan Affine standar adalah
JYIMGPFOMO dan cipherteks yang dihasilkan Affine modifikasi adalah
(&Omb3 |m|.
Gambar 11 Known Plaintext Attack terhadap Affine Cipher
Gambar 12 Known Plaintext Attack terhadap Affine Cipher Modifikasi
15
5. Simpulan
Penelitian modifikasi Affine Cipher menggunakan fungsi gamma dan fungsi
hiperbolik dapat melakukan proses enkripsi dan dekripsi, sehingga modifikasi
Affine Cipher menjadi sebuah sistem kriptografi. Modifikasi Affine Cipher
memiliki beberapa keunggulan dibandingkan dengan Affine Cipher standar.
Plainteks yang dapat dienkripsi tidak hanya berupa 26 karakter abjad, tetapi dapat
berupa karakter yang lain seperti angka, tanda baca, simbol. Selain itu, cipherteks
yang dihasilkan berupa karakter serta jumlah karakter cipherteks yang dihasilkan
lebih banyak dari plainteks, sehingga dapat menahan serangan kriptanalisis known
plaintext attack yang sebelumnya dapat memecahkan Affine Cipher.
6. Daftar Pustaka
[1] Ronald, L. K. & Russel, D. V. 2007. The CISSP and CAP Prep Guide,
Platinum Edition. New York: John Wiley & Sons.
[2] Ariyus, Dony. 2008. Pengantar Ilmu Kriptografi. Yogyakarta: ANDI.
[3] Munir, Rinaldi. 2006. Kriptografi. Bandung: Informatika.
[4] Sadikin, Rifki. 2012. Kriptografi untuk Keamanan Jaringan. Yogyakarta:
ANDI.
[5] Wowor, A. D, Pakereng, M. A. Ineke, & Sembiring, Irwan, 2011.
Modifikasi Teknik Kriptografi Hill Cipher Menggunakan Fungsi Rasional
dan Konversi Basis Bilangan pada Proses Enkripsi-Dekripsi. Salatiga:
Tesis Magister Sistem Informasi Universitas Kristen Satya Wacana.
[6] Purboyono, Ageng. 2006. Pemanfaatan Railfence Cipher sebagai Sandi
Transposisi untuk Memperkuat Sandi Subtitusi Affine Cipher. Jakarta:
Skripsi S1 Sarjana Universitas Pembangunan Nasional Veteran.
[7] Juliadi & Prihandono, B. 2013. Kriptografi Klasik dengan Metode
Modifikasi Affine Cipher yang Diperkuat dengan Vigenere Cipher.
Pontianak: Skripsi-S1 Sarjana Universitas Tanjung Pura.
[8] Mokhtari, M. & Naraghi, H. 2012. Analysis and Design of Affine and Hill
Cipher. Iran: Department of Mathematics, Islamic Azad University.
[9] Anton, H. 2009. Calculus Early Transendencial, 9th Edition. New York:
John Wiley & Sons.
[10] Maplesoft. 2010. Convert/Base: Convert Between Base, Maple-14,
Waterloo: Waterloo Maple Inc.
[11] Kusrianto, Adi. 2007. Memanfaatkan Formula dan Fungsi Microsoft Office
Excel 2007. Jakarta: PT Elex Media Komputindo.
[12] Harinaldi. 2005. Prinsip-Prinsip Statistika untuk Teknik dan Sains. Jakarta:
Erlangga.
[13] Stinson, D.R. 1995. Cryptography Theory and Practice. Florida: CRC
Press, Inc.