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
15
Embed
Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan ......fungsi dan kemudian mengkonversikannya kembali ke huruf. Metode ini termasuk metode cipher klasik yang dikategorikan ke
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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.