Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan...

15
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

Transcript of Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan...

Page 1: Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan ...repository.uksw.edu/bitstream/123456789/8702/2/T1_672009251_Full... · 1 1. Pendahuluan . Keamanan sangat penting dalam memberi

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

Page 2: Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan ...repository.uksw.edu/bitstream/123456789/8702/2/T1_672009251_Full... · 1 1. Pendahuluan . Keamanan sangat penting dalam memberi

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)

Page 3: Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan ...repository.uksw.edu/bitstream/123456789/8702/2/T1_672009251_Full... · 1 1. Pendahuluan . Keamanan sangat penting dalam memberi

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.

Page 4: Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan ...repository.uksw.edu/bitstream/123456789/8702/2/T1_672009251_Full... · 1 1. Pendahuluan . Keamanan sangat penting dalam memberi

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

Page 5: Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan ...repository.uksw.edu/bitstream/123456789/8702/2/T1_672009251_Full... · 1 1. Pendahuluan . Keamanan sangat penting dalam memberi

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)

Page 6: Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan ...repository.uksw.edu/bitstream/123456789/8702/2/T1_672009251_Full... · 1 1. Pendahuluan . Keamanan sangat penting dalam memberi

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

.

.

.

.

.

.

.

.

.

.

.

.

Page 7: Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan ...repository.uksw.edu/bitstream/123456789/8702/2/T1_672009251_Full... · 1 1. Pendahuluan . Keamanan sangat penting dalam memberi

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

Page 8: Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan ...repository.uksw.edu/bitstream/123456789/8702/2/T1_672009251_Full... · 1 1. Pendahuluan . Keamanan sangat penting dalam memberi

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

Page 9: Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan ...repository.uksw.edu/bitstream/123456789/8702/2/T1_672009251_Full... · 1 1. Pendahuluan . Keamanan sangat penting dalam memberi

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

Page 10: Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan ...repository.uksw.edu/bitstream/123456789/8702/2/T1_672009251_Full... · 1 1. Pendahuluan . Keamanan sangat penting dalam memberi

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.

Page 11: Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan ...repository.uksw.edu/bitstream/123456789/8702/2/T1_672009251_Full... · 1 1. Pendahuluan . Keamanan sangat penting dalam memberi

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

Page 12: Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan ...repository.uksw.edu/bitstream/123456789/8702/2/T1_672009251_Full... · 1 1. Pendahuluan . Keamanan sangat penting dalam memberi

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

Page 13: Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan ...repository.uksw.edu/bitstream/123456789/8702/2/T1_672009251_Full... · 1 1. Pendahuluan . Keamanan sangat penting dalam memberi

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)

Page 14: Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan ...repository.uksw.edu/bitstream/123456789/8702/2/T1_672009251_Full... · 1 1. Pendahuluan . Keamanan sangat penting dalam memberi

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

Page 15: Modifikasi Affine Cipher Menggunakan Fungsi Gamma Dan ...repository.uksw.edu/bitstream/123456789/8702/2/T1_672009251_Full... · 1 1. Pendahuluan . Keamanan sangat penting dalam memberi

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.