• Tidak ada hasil yang ditemukan

Kombinasi hybrid algortima hill cryptosystem teknik rail fence dan rabin pada javascript untuk keamanan data di website

N/A
N/A
Protected

Academic year: 2016

Membagikan "Kombinasi hybrid algortima hill cryptosystem teknik rail fence dan rabin pada javascript untuk keamanan data di website"

Copied!
73
0
0

Teks penuh

(1)

KOMBINASI HYBRID ALGORTIMA HILL CRYPTOSYSTEM

TEKNIK RAIL FENCE DAN RABIN PADA JAVASCRIPT

UNTUK KEAMANAN DATA DI WEBSITE

TESIS

JOHANNES

127038033

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

(2)

KOMBINASI HYBRID ALGORTIMA HILL CRYPTOSYSTEM

TEKNIK RAIL FENCE DAN RABIN PADA JAVASCRIPT

UNTUK KEAMANAN DATA DI WEBSITE

TESIS

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh

ijazah Magister Teknik Informatika

JOHANNES

127038033

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

(3)

LEMBAR PERSETUJUAN

Judul Tesis : KOMBINASI HYBRID ALGORTIMA HILL

CRYPTOSYSTEM TEKNIK RAIL FENCE DAN RABIN PADA JAVASCRIPT UNTUK KEAMANAN DATA DI WEBSITE

Kategori : TESIS

Nama Mahasiswa : JOHANNES

Nomor Induk Mahasiswa : 127038033

Program Studi : Magister (S2) Teknik Informatika

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Prof. Dr. Tulus, Vor. Dipl. Math, M.Si Prof. Dr. Muhammad Zarlis

Diketahui/disetujui Oleh,

Program Studi Magister (S2) Teknik Informatika, Ketua,

(4)

PERNYATAAN

KOMBINASI HYBRID ALGORTIMA HILL CRYPTOSYSTEM

TEKNIK RAIL FENCE DAN RABIN PADA JAVASCRIPT

UNTUK KEAMANAN DATA DI WEBSITE

Dengan ini penulis menyatakan bahwa tesis ini disusun sebagai syarat untuk

memperoleh gelar pada Program Studi Magister S2 Teknik Informatika Universitas

Sumatera Utara adalah benar merupakan hasil karya penulis sendiri.

Adapun pengutipan-pengutipan yang penulis lakukan pada bagian-bagian

tertentu dari hasil karya orang lain dalam penulisan disertasi ini, telah penulis

cantumkan sumbernya secara jelas sesuai dengan norma, kaidah, dan etika penulisan

ilmiah.

Apabila di kemudian hari ternyata ditemukan seluruh atau sebagian disertasi ini

bukan hasil karya penulis sendiri atau adanya plagiat dalam bagianbagian tertentu,

penulis bersedia menerima sanksi pencabutan gelar akademik yang penulis sandang dan

sanksi-sanksi lainnya sesuai dengan peraturan perundangan yang berlaku.

Medan, 17 Juli 2014

Johannes

(5)

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN

AKADEMIS

Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan di bawah ini:

Nama : Johannes

NIM : 127038033

Program Studi : Teknik Informatika

Jenis Karya Ilmiah : Tesis

Dengan pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak bebas Royalti Non-Eksklusif (non-Exlusive Royalty Free Right) atas tesis saya yang berjudul:

KOMBINASI HYBRID ALGORTIMA HILL CRYPTOSYSTEM

TEKNIK RAIL FENCE DAN RABIN PADA JAVASCRIPT

UNTUK KEAMANAN DATA DI WEBSITE

Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non-Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk data-base, merawat dan mempublikasikan Tesis saya tanpa minta izin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan atau sebagai pemilik hak cipta.

Dengan pernyataan ini dibuat dengan sebenarnya.

Medan, 17 Juli 2014

Johannes

(6)

Telah diuji pada

Tanggal : 17 Juli 2014

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Muhammad Zarlis

Anggota : 1. Prof. Dr. Tulus

2. Prof. Dr. Herman Mawengkang

3. Dr. Syahril Efendi, S.Si, M.IT

(7)

RIWAYAT HIDUP

DATA PRIBADI

Nama lengkap berikut gelar : Johannes

Tempat dan Tanggal Lahir : Medan, 11 Maret 1978

Alamat Rumah : Jl Pasundan Gg Menteng no 12 B

Medan - 20118

Nomor HP : 085760750405

e-mail : jhn.rustan@gmail.com

Instansi Tempat Bekerja : Yayasan Perguruan Sutomo

Alamat Kantor : Jl. Letkol Martinus Lubis no 7

DATA PENDIDIKAN

SD : SD Seri Arihta, Medan Tamat: 1990

SMP : SMP Jenderal Sudirman, Medan Tamat: 1993

SMA : SMA Sutomo 2, Medan Tamat: 1996

Strata-1 : Universitas Atma Jaya Yogyakarta Tamat: 2001

(8)

KATA PENGANTAR

Puji dan Syukur penulis panjatkan kepada Tuhan Yang Maha Esa, berkat limpahan rahmat dan karunia-Nya lah penulis dapat menyelesaikan Tesisini dengan bimbingan, arahan, kritik dan saran serta bantuan dari pembimbing, pembanding, segenap dosen, rekan-rekan mahasiswa Program Studi Magister ( S2 ) Teknik Informatika Universitas Sumatera Utara.

Tesis ini diajukan sebagai salah satu syarat untuk memperoleh gelar Magister Komputer pada Program Studi Pascasarjana Magister Teknik Informatika pada Fakultas Ilmu Komputer – Teknologi Informasi Universitas Sumatera Utara. Dengan judul tesis “Kombinasi hybrid algortima hill cryptosystem teknik rail fence dan rabin pada javascript untuk keamanan data di website”. Pada proses penulisan sampai dengan selesainya penulisan tesis ini, perkenankanlah penulis mengucapkan terima kasih yang sebesar-besarnya kepada:

1. Prof. Dr. Muhammad Zarlis selaku dekan Fakultas Ilmu Komputer dan Teknologi Informasi sekaligus Ketua Program Studi Magister ( S2 ) Teknik Informatika, dan M. Andri Budiman, S.T, M. Comp, M.E.M selaku Sekretaris Program Studi Magister ( S2 ) Teknik Informatika beserta seluruh staf pengajar pada Program Studi Magister ( S2 ) Teknik Informatika Program Pascasarjana Fakultas Teknik Informatika Universitas Sumatera Utara, yang telah bersedia membimbing penulis sehingga dapat menyelesaikan pendidikan tepat pada waktunya.

2. Terima kasih yang tak terhingga dan penghargaan setinggi - tingginya saya ucapkan kepada Prof. Dr. Muhammad Zarlis, selaku pembimbing utama dan kepada Prof. Dr. Tulus selaku pembimbing lapangan yang penuh dengan kesabaran menuntun serta membimbing saya hingga selesainya tesis ini dengan baik.

3. Terima kasih yang tak terhingga dan penghargaan setinggi – tingginya saya ucapkan kepada Prof. Dr. Herman Mawengkang, Dr.Syahril Efendi,S.Si, M.IT, Dr. Erna Budhiarti Nababan, M.IT sebagai pembanding yang telah memberikan saran dan masukan serta arahan yang baik demi penyelesaian tesis ini.

4. Terima kasih juga terhadap M. Andri Budiman, S.T, M. Comp, M.E.M yang telah membimbing dan memberikan banyak masukkan hingga terselesaikannya tesis ini.

(9)

6. Rekan mahasiswa / I angkatan tahun 2012 pada Program Pascasarjana Fakultas Teknik Informatika Universitas Sumatera Utara yang telah banyak membantu penulis baik berupa dorongan semangat dan doa selama mengikuti perkuliahan. 7. Seluruh pihak yang tidak dapat penulis sebutkkan satu persatu dalam tesis ini,

terima kasih atas segala bantuan dan doa yang diberikan.

Dengan segala kekurangan dan kerendahan hati, sekali lagi penulis mengucapkan terima kasih. Semoga kiranya Allah SWT membalas segala bantuan dan kebaikan yang telah kalian berikan.

Medan, 17 Juli 2014

Johannes

(10)

ABSTRAK

Beberapa hasil penelitian tentang keamanan data menunjukkan bahwa perlunya

pengembangan kombinasi baru antara teknik klasik dengan teknik modern, yang

bertujuan untuk meningkatkan keamanan serta kecepatan. Algoritma Hill dikenal

dikenal sebagai salah satu algortima klasik yang menggunakan tabel kunci dengan

perkalian matrik dan digabungkan dengan teknik Rail Fence, serta kunci dari Hill juga

dilakukan pengenkripsian dengan algoritma Rabin, sehingga nantinya akan menjadikan

sebuah kombinasi algortima yang lebih aman digunakan.

(11)

COMBINATION HYBRID ALGORITHMS HILL CRYPTOSYSTEM WITH

RAIL FENCE AND RABIN IN JAVASCRIPT

DATA SECURITY FOR WEBSITE

ABSTRACT

Some security data research that the need for development of a new combination

between classic tecniques with modern techniques, whic aims to improe the security

and speed. Hill algorithm is know as one of the classic algorithm that use matrix multiplication with table of key , combined with Rail Fence and the hill’s key will be proceed with Rabin Algorithm so that can make the data more safer to use.

(12)
(13)

BAB III : METODE PENELITIAN

4.2.1. Proses Enkripsi Data dengan Hill dan Rail Fence... 41

4.2.2. Proses Enkripsi Kunci Hill dengan Rabin... ... 42

4.2.3. Proses Dekripsi Kunci Hill dengan Rabin... ... 43

4.2.4. Proses Dekripsi dengan Hill Cipher... ... 44

(14)

4.4. Hasil Penelitian.. ... 46

4.4.1. Perhitungan waktu enkripsi ... 46

4.4.2. Perhitungan waktu dekripsi ... 49

BAB IV : KESIMPULAN DAN SARAN

5.1. Kesimpulan ... 53

5.2 Saran ... 53

(15)

DAFTAR GAMBAR

Gambar 3.1 Proses Enkripsi dan Pengiriman Ciphertext ... 16

Gambar 3.2 Proses Dekripsi Ciphertext ... 16

Gambar 3.3 Installasi Apache di Linux ... 39

Gambar 3.4 Web Server ... 39

Gambar 3.5 Diagram Alir Penelitian ... 40

Gambar 4.1 Proses Enkripsi Hill dan Rail Fence ... 41

Gambar 4.2 Proses Enkripsi Kunci Hill dengan Rabin ... 42

Gambar 4.3 Proses Dekripsi Kunci Hill dengan Rabin ... 43

Gambar 4.4 Proses Dekripsi Dengan Hill Cipher ... 44

Gambar 4.5 Waktu Enkripsi ... 44

Gambar 4.6 Waktu Dekripsi ... 45

Gambar 4.7 Grafik Enkripsi ... 46

(16)

DAFTAR TABEL

Tabel 2.1. Huruf Setara Angka ... 4

Tabel 2.2. Korespondensi huruf untuk Cipher Caesar ... 5

Tabel 2.3. Korespondensi huruf untuk Cipher dengan C≡7P+10(Mod 26) ... 7

Tabel 2.4. Riset Terkait ... 21

Tabel 3.1. Kunci Hill ... 26

Tabel 4.2. Waktu untuk Enkripsi ... 46

(17)

ABSTRAK

Beberapa hasil penelitian tentang keamanan data menunjukkan bahwa perlunya

pengembangan kombinasi baru antara teknik klasik dengan teknik modern, yang

bertujuan untuk meningkatkan keamanan serta kecepatan. Algoritma Hill dikenal

dikenal sebagai salah satu algortima klasik yang menggunakan tabel kunci dengan

perkalian matrik dan digabungkan dengan teknik Rail Fence, serta kunci dari Hill juga

dilakukan pengenkripsian dengan algoritma Rabin, sehingga nantinya akan menjadikan

sebuah kombinasi algortima yang lebih aman digunakan.

(18)

COMBINATION HYBRID ALGORITHMS HILL CRYPTOSYSTEM WITH

RAIL FENCE AND RABIN IN JAVASCRIPT

DATA SECURITY FOR WEBSITE

ABSTRACT

Some security data research that the need for development of a new combination

between classic tecniques with modern techniques, whic aims to improe the security

and speed. Hill algorithm is know as one of the classic algorithm that use matrix multiplication with table of key , combined with Rail Fence and the hill’s key will be proceed with Rabin Algorithm so that can make the data more safer to use.

(19)

BAB 1

PENDAHULUAN

1.1. Latar Belakang Masalah

Internet telah menjadikan perubahan sistim pembelajaran menjadi digital dan tanpa

batas, dimana semua informasi bisa didapatkan melalui Internet. Kemajuan yang sangat

drastis ini menjadikan internet sebagai sarana untuk mendapatkan informasi, begitu

juga dengan perkembangan teknik kriptografi, semua algortima yang telah ditemukan

dapat dipelajari di internet sehingga perlu adanya kita melakukan pengkombinasian

algoritma yang ada sehingga nantinya akan membuat data kita lebih aman daripada kita

menggunakan algoritma yang sudah ada.

Beberapa perbandingan teknik enkripsi dan dekripsi baik secara klasik maupun

modern telah dilakukan (Kumar, M., Mishra, R., Pandey, R. K., & Singh, P.,2010)

menunjukkan perlu adanya pengembangan algoritma yang baru, yang bisa

meningkatkan kekuatan proses enkripsi. Begitu juga dengan bagaimana mendesign

serta mengimplementasikan suatu algortima yang baru untuk meningkatkan kecepatan

(Jain, R., & Shivastava,A.,2012)

Berdasarkan latar belakang masalah di atas, penulis mencoba merancang

bagaimana menggabungkan proses enkripsi dengan metode klasik dan modern (Saeed,

2010) sehingga nantinya memunculkan suatu kombinasi algoritma yang baru yang lebih

sulit untuk melakukan dekripsi data.

Perkembangan yang pesat juga terjadi pada browser, dimana pada saat sekarang

sudah berubah menjadi browser yang mendukung HTML5, yang memiliki

penyimpanan Web SQL, IndexedDB, Local Storage, Session Storage, Cookies serta

Application Cache. Dengan perkembangan ini keamanan browser menjadi perlu lebih

(20)

1.2. Rumusan Masalah

Dari uraian sebelumnya maka penulis mengambil rumusan permasalahan bahwa

diperlukannya proses keamanan data yang baru, yang salah satunya bisa dibuat dengan

menggunakan kombinasi algoritma yang ada sehingga data yang tersimpan menjadi

aman. Penulis mencoba menggunakan Algoritma Hill Cipher,yang dikenal dengan

teknik subsitusi dengan perkalian matriknya. Digabungkan dengan Rail Fence yang

dikenal dengan teknik transpoisi zigzag, kemudian dari kunci Hill dilakukan proses

enkripsi dengan algoritma Rabin, yang terkenal dengan kesulitan dalam hal

faktorisasinya sehingga nantinya menjadi suatu kombinasi antara metode klasik dan

metode modern.

Dalam perumusannya akan dilakukan berbasis web, sehingga nantinya script

yang akan digunakan adalah php yakni bahasa pemrograman web server side serta

Javascript , bahasa pemrograman yang bisa diproses oleh semua browser hingga pada

mobile.

1.3. Batasan Masalah

Agar pembahasan ini tidak menyimpang dari apa yang telah dirumuskan, maka

diperlukan batasan-batasan penelitian. Adapun batasan-batasan dalam penelitian ini

adalah :

1. Pesan yang akan dilakukan pada proses enkripsi dan dekripsi adalah bentuk teks

2. Waktu enkripsi dan dekripsi

3. Penggunaan kata kunci hanya terbatas pada angka

1.4. Tujuan Penelitian

Tujuan penelitian tesis ini menganalisa kerja kombinasi algoritma Hill Cipher, Rail

(21)

kombinasi algoritma tersebut dihasilkan tingkat keamanan yang tinggi namun cepat

dalam proses enkripsi dan dekripsi

1.5. Manfaat Penelitian

Manfaat yang dapat diambil dari penelitian tesis ini adalah :

1. Menghasilkan suatu kombinasi algoritma yang baru

2. Memberikan manfaat yang lebih baik mengenai cara mengkombinasikan algoritma

(22)

BAB II

TINJAUAN PUSTAKA

2.1. Definisi Kriptografi

Kriptografi adalah ilmu yang menggunakan matematika untuk mengenkripsi dan

mendekripsi data. Kriptografi memungkinkan kita untuk menyimpan informasi dan

mengirimkan sehingga tidak dapat dibaca oleh siapapun kecuali penerima yang dituju.

Enkripsi adalah sebuah proses penyandian yang melakukan perubahan sebuah

kode (pesan) dari yang bisa dimengerti (plainteks) menjadi sebuah kode yang tidak

mudah dimengerti (cipherteks). Sedangkan proses kebalikannya untuk mengubah

cipherteks menjadi plainteks disebut dekripsi. Proses enkripsi dan dekripsi memerlukan

suatu mekanisme dan kunci tertentu.

Kriptoanalisis (cryptanalysis) adalah kebalikan dari kriptografi, yaitu suatu ilmu

untuk memecahkan mekanisme kriptografi dengan cara mendapatkan kunci dari

cipherteks yang digunakan untuk mendapatkan plainteks. Kriptologi (cryptology)

adalah ilmu yang mencakup kriptografi dan kriptoanalisis.

2.3. Tujuan Kriptografi

Ada empat tujuan mendasar dari kriptografi yang juga merupakan aspek keamanan

informasi, yaitu (Ir. Rinaldi Munir , Pengantar Kriptografi, 2004) :

 Kerahasiaan, adalah aspek yang berhubungan dengan penjagaan isi informasi

dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk

(23)

 Keabsahan pengirim (user authentication) , adalah menjaga bahwa pesan

yang diterima benar-benar dari pengirim yang sesungguhnya

 Keaslian Pesan (Message Autentication), berhubungan dengan keutuhan pesan, selama proses pengiriman tidak terjadi perubahan atas pesan yang telah

diterima.

 Non-repudiation (antid penyangkalan), adalah usaha untuk mencegah

terjadinya penyangkalan terhadap pengiriman suatu informasi oleh yang

mengirimkan, atau harus dapat membuktikan bahwa suatu pesan berasal dari

seseorang, apabila ia menyangkal mengirim informasi tersebut.

2.4. Jenis Kriptografi

2.4.1 Caesar Cipher

Merupakan algoritma terlama dari Julius Caesar dengan metode penggeseran. Setiap

huruf angka akan digeser sejauh k.

Tabel 2.1. Huruf Setara Angka

Huruf A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Angka 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Tentu saja, jika kita mengirim pesan Rusia, Yunani, Ibrani atau bahasa lain kita

akan menggunakan berbagai bilangan bulat yang sesuai abjad. Kita mungkin juga ingin

memasukkan tanda baca, simbol untuk menunjukkan kosong, dan mungkin untuk

mewakili digit nomor sebagai bagian dari pesan. Namun, demi kesederhanaan, kita

membatasi diri pada huruf-huruf alfabet Inggris.

Pertama, kita bahas berdasarkan sistem kerahasiaan mengubah setiap huruf dari

pesan plaintext menjadi huruf yang berbeda untuk menghasilkan ciphertext. Cipher

seperti ini disebut cipher karakter atau monografi, karena setiap huruf berubah secara

(24)

mungkin untuk menghasilkan transformasi monografi. Kita akan membahas yang

didasarkan pada aritmatika modular.

Sebuah cipher, yang digunakan oleh Julius Caesar, didasarkan pada substitusi di mana

setiap huruf digantikan dengan huruf tiga bagian bawah abjad, dengan tiga huruf

terakhir bergeser ke tiga huruf pertama dari alfabet. Untuk menggambarkan cipher ini

menggunakan aritmatika modular, biarkan P menjadi setara numerik huruf dalam

plaintext dan C setara numerik dari huruf ciphertext yang sesuai. Kemudian N adalah

panjang tabel ( Rosen K.H, 2011)

C≡P+ 3( mod N),0 ≤C≤ N-1

Korespondensi antara plaintext dan ciphertext diberikan dalam Tabel 2.1

Tabel 2 .2. Korespondensi huruf untuk Cipher Caesar

Plaintext A

Untuk menulis dalam kode pesan menggunakan transformasi ini, pertama

diubah ke setara angkanya, dengan pengelompokan huruf dengan lima blok. Kemudian

kita mengubah setiap angka. Langkah ini disebut dengan enkripsi pesan.

Secara singkat, langkah- langkah untuk mengenkripsi pesan dari cipher caesar sebagai

berikut:

a. Huruf diubah menjadi angka ( lihat tabel 2.1),

b. Menggunakan transformasi C≡ P + 3 (mod N) untuk memperoleh pesan

ciphertext,

(25)

Contoh:

Enkripsikan pesan : JOHANNES RUSTAN dengan k =3

pesan menjadi : 9 14 7 0 13 13 4 17 20 18 19 0 13

Menggunakan transformasi Caesar C≡P+ 3 (mod N) ini menjadi

12 17 10 3 16 16 7 20 23 21 22 3 16

Penerjemahan kembali ke huruf, diperoleh

M R K D Q Q H V U X V W D Q

Ini adalah pesan yang dikirim.

Untuk mendeskripsikan pesan, pertama terlebih dahulu pesan dikonversi ke angka. Kemudian, hubungan C≡P+ 3(mod N), 0 ≤ C ≤ N-1 digunakan untuk mengubah ciphertext kembali ke plaintext.

Secara singkat, langkah- langkah untuk mendeskripsi pesan dari cipher caesar sebagai

berikut:

a. Ubah huruf menjadi angka ( lihat tabel 2.1 ),

b. Menggunakan transformasi P≡ C−3(Mod N) untuk memperoleh pesan plaintext

c. Ubah angka kembali menjadi huruf,

d. Susun huruf sehingga mempunyai arti.

Contoh:

M R K D Q Q H V U X V W D Q

Pertama, mengubah huruf menjadi angka, diperoleh

12 17 10 3 16 16 7 20 23 21 22 3 16

(26)

9 14 7 0 13 13 4 17 20 18 19 0 13

Megubah angka kembali ke huruf,

JOHANNESRUSTAN

Dengan menggabungkan huruf-huruf yang sesuai dengan kata-kata, kita menemukan

bahwa pesan tersebut

JOHANNES RUSTAN

2.4.2. Transformasi Affine

Affine Cipher adalah salah satu dari keluarga cipher serupa digambarkan oleh shift

transformasi:

C ≡P+k(mod 26) dimana 0 ≤C≤ 25

di mana k adalah kunci yang mewakili ukuran pergeseran huruf dalam alfabet. Ada 26

transformasi yang berbeda dari jenis ini, termasuk kasus k = 0 (mod 26), di mana huruf tidak berubah, karena dalam hal ini C≡P(Mod26). Secara umum,

C≡aP+b(mod 26), 0 ≤C≤ 25

dimana a dan b adalah bilangan bulat dengan (a, 26) = 1. Ini disebut transformasi affine.

Shift transformasi adalah transformasi affine dengan a=1 . Mengharuskan gcd(a, 26) =

1, sehingga P berjalan melalui sistem residu lengkap modulo 26, demikian juga dengan C. Ada Φ(26)=12 pilihan untuk a, dan 26 pilihan untuk b, memberikan total 12×26=312 transformasi jenis ini (salah satunya adalah C = P (mod 26) diperoleh bila a = 1 dan b

= 0. Jika hubungan antara plaintext dan ciphertext dijelaskan oleh (2.1), maka hubungan

terbalik diberikan oleh

(27)

Contoh:

a = 7 dan b = 10, sehingga C≡ 7P+10(mod 26) Oleh karena itu, P≡15(C−10)≡15C+

6(mod 26). 15 adalah invers dari 7 modulo 26.

Korespondensi antara huruf diberikan dalam Tabel 2.3.

Table 2 .3. Korespondensi huruf untuk Cipher dengan C≡ 7P+10(Mod 26)

Plaintext A

Untuk menggambarkan memperoleh korespondensi tersebut, perhatikan bahwa huruf

plaintext L dengan setara angka 11 sesuai dengan huruf J pada ciphertext, 7×11+10 =87 ≡ 9(Mod26) dan 9 setara dengan J.

Langkah- langkah untuk mengenkripsi pesan dari transformasi affine sebagai berikut:

a. Huruf diubah menjadi angka ( lihat tabel 2.1)

b. Menggunakan transformasi C≡7P+10(mod 26)untuk memperoleh pesan

ciphertext

c. Angka diubah menjadi huruf

Langkah- langkah untuk mendeskripsi pesan dari transformasi affine sebagai berikut:

a. Ubah huruf menjadi angka ( lihat tabel 2.1 ),

b. Menggunakan transformasi P ≡ 15 C + 6 (mod 26 ) untuk memperoleh pesan

plaintext

c. Ubah angka kembali menjadi huruf

(28)

Contoh :

Enkripsikan pesan: JOHANNES RUSTAN

Mengubah huruf menjadi angka, selanjutnya menggunakan transformasi

C≡ 7P+10(Mod26), sehingga diperoleh

J = 9 maka C = 7. 9 + 10 = 73≡ 21 ( mod 26 ), sehingga J menjadi V.

O = 14 maka C = 7. 14 + 10 = 108 ≡ 4 ( mod 26), sehingga O menjadi E

Dan selanjutnya sampai huruf terakhir dapat dilihat dengan cepat melalui tabel 2.3

diatas, di peroleh : VEHKXXMG ZUGNKX

Deskripsikan pesan:

VEHKXXMG ZUGNKX

Menggunakan rumus P ≡ 15 C + 6 (mod 26 ) di peroleh

V = 21 maka P = 15. 21 + 6 = 321 ≡ 9 ( mod 26 ), sehingga V menjadi J.

E = 4 maka P = 15. 4 + 6 = 66 ≡ 14 ( mod 26 ), sehingga E menjadi O.

Dan seterusnya sampai huruf terakhir, hasil akhir menjadi

JOHANNESRUSTAN

2.4.3. Cipher Vigenere

Untuk mengenkripsi pesan plaintext, pertama kita membagi menjadi blok dengan

panjang n. Sebuah blok yang terdiri dari pesan dengan setara numerik p1, p2, ... pn

berubah menjadi blok ciphertext dengan huruf setara numerik c1, c2,..., cn

menggunakan cipher pergeseran urutan dengan

(29)

untuk i = 1 2, ... , n. Vigenère cipher adalah algoritma enkripsi dimana huruf plaintext

dengan panjang n, dienkripsi pesan ciphertext yang sama panjang. Vigenere cipher

dapat dianggap sebagai cipher yang beroperasi dengan panjang n menggunakan kunci

dengan panjang n.

Langkah – langkah untuk mengenkripsikan pesan dari cipher vigenere sebagai berikut:

a. Pesan dan kunci diubah menjadi angka ( lihat tabel 2.1),

b. Huruf- huruf yang ada di pesan (P1, P2, P3,P4...) dan huruf di kunci (K1,K2,

K3,K4,K5,.... )

c. Menggunakan Cipher Vigenere Ci ≡ Pi + Ki (mod 26)

d. Angka tersebut diartikan ke dalam huruf menggunakan tabel 2.1

e. Huruf di kelompokkan menjadi 5 huruf.

Contoh:

Enkripsikan pesan JOHANNES dengan kunci RUSTAN menggunakan Cipher

Vigenere.

Pertama, artikan pesan dan kunci ke dalam angka ( tabel 2.1 )

J O H A N N E S

9 14 7 0 13 13 4 18

p1 p2 p3 p4 p5 p6 p7 p8

Dan

R U S T A N

17 20 18 19 0 13

k1 k2 k3 k4 k5 K6

Menggunakan Cipher Vigenere: Ci ≡ Pi + Ki (mod 26)

(30)

C1 =p1 + k1 = 9 + 17 ≡ 0 ( mod 26 )

C2 =p2 + k2 = 14 + 20 ≡ 8 ( mod 26 )

C3 =p3 + k3 = 7 + 18 ≡ 25 ( mod 26 )

C4 =p4 + k4 = 0 + 19 ≡ 19 ( mod 26 )

C5 =p5 + k5 = 13 + 0 ≡ 13 ( mod 26 )

C6 =p6 + k6 = 13 + 13 ≡ 0 ( mod 26 )

C7 =p7 + k7 = 4 + 17 ≡ 21 ( mod 26 )

C8 =p8 + k8 = 18 + 20 ≡ 12 ( mod 26 )

Angka tersebut diartikan ke dalam huruf menggunakan tabel 2.1, kita peroleh AIZTNA

VM

Langkah – langkah untuk mengdeskripsikan pesan dari cipher vigenere sebagai berikut:

a. Pesan dan kunci diubah menjadi angka ( lihat tabel 2.1),

b. Huruf- huruf yang ada di pesan (C1, C2, C3,C4...) dan huruf di kunci (K1,K2,

K3, K4, K5,.... )

c. Menggunakan Cipher Vigenere Pi ≡ Ci - Ki (mod 26)

d. Angka tersebut diartikan ke dalam huruf menggunakan tabel 2.1

e. Susun huruf sehingga mempunyai arti.

Contoh:

Deskripsikan pesan AIZTNA VM menggunakan Cipher Vigenere dengan kunci

RUSTAN.

Artikan pesan tersebut dengan angka ( lihat tabel 2.1 )

(31)

c1 c2 c3 c4 c5 c6 c7 c8

dan

R U S T A N

17 20 18 19 0 13

k1 k2 k3 k4 k5 K6

Menggunakan Cipher Vigenere:

ci ≡ pi + ki ( mod 26 )

pi ≡ ci - ki ( mod 26 ) di peroleh:

p1≡ c1 - k1 = 0 - 17 ≡ 9 ( mod 26 )

p2≡ c2 - k2 = 8 - 20 ≡ 14 ( mod 26 )

p3≡c3 - k3 = 25 –18 ≡ 7 ( mod 26 )

p4≡ c4 - k4 = 19 –19 ≡ 0 ( mod 26 )

p5≡ c5 - k5= 13 - 0 ≡ 13 ( mod 26 )

p6≡ c6 - k6 = 0- 13 ≡ 13 ( mod 26 )

p7≡ c7 - k7 = 21 - 17 ≡ 4 ( mod 26 )

p8≡ c8 - k8 = 12 - 20 ≡ 18 ( mod 26 )

Angka tersebut di kembalikan ke dalam huruf dengan menggunakan tabel 8.1, diperoleh

pesan JOHANNES

2.4.4. Cipher Hill

Cipher Hill diciptakan oleh Lester Hill di tahun 1929. Untuk memperkenalkan cipher

(32)

dari dua huruf ciphertext (menambahkan huruf boneka X, pada akhir pesan, jika perlu,

sehingga blok akhir memiliki dua huruf).

Langkah – langkah untuk mengenkripsikan pesan dari cipher hill sebagai

berikut:

a. Kelompokkan pesan menjadi 2 huruf (menambahkan huruf X, pada akhir pesan,

jika perlu, sehingga blok akhir memiliki dua huruf),

b. Huruf-huruf ini diterjemahkan ke dalam setara numerik ( Tabel 2.1 ),

c. Menggunakan transformasi yang ditentukan,

d. Ubah angka tersebut menjadi huruf.

Contoh:

JOHANNES RUSTAN

Pertama kita bagi pesan menjadi dua huruf (menambahkan huruf X, pada akhir pesan,

jika perlu, sehingga blok akhir memiliki dua huruf).

JO HA NN ES RU ST AN

Berikutnya, huruf-huruf ini diterjemahkan ke dalam setara numerik ( Tabel 2.1 ),

diperoleh

9 14 7 0 13 13 4 18 17 20 18 19 0 13

Misal,

C1≡ 5P1 + 17P2 ( mod 26 ), 0 ≤C1≤ 26

C2 ≡ 4P1 + 15P2 ( mod 26 ), 0 ≤C2≤ 26

Untuk 9 dan 14

C1≡ 5 . 9 + 17 . 14 ≡ 23 ( mod 26 ), 0 ≤C1≤ 26

(33)

23 12 9 2 0 13 14 0 9 4 23 19 13 13

Angka tersebut di ubah ke huruf dengan menggunakan tabel 2.1

XM JC AN OA JE XT NN

Langkah – langkah untuk mengdeskripsikan pesan dari cipher hill sebagai berikut:

a. Huruf-huruf ini diterjemahkan ke dalam setara numerik ( Tabel 8.1 ),

b. Menggunakan transformasi yang ditentukan,

c. Ubah angka tersebut menjadi huruf.

Untuk mendeskripsikan :

XM JC AN OA JE XT NN

Diterjemahkan dengan tabel 2.1

23 12 9 2 0 13 14 0 9 4 23 19 13 13

Bentuk:

C1≡ 5P1 + 17P2 ( mod 26 )

C2≡ 4P1 + 15P2 ( mod 26 )

Diubah, dengan menggunakan matrik dan mencari inversnya.

( 7)(� ) ≡ (� )

Mencari (� ) dengan mencari invers dari ( 7) , diperoleh

P1 ≡ 17C1 + 5C2 ( mod 26 )

P2 ≡ 18C1 + 23C2 ( mod 26 )

Untuk 23 dan 12

P1 ≡ 17. 23 + 5 . 12 ≡ 9 ( mod 26 )

(34)

Dengan cara yang sama diperoleh

9 14 7 0 13 13 4 18 17 20 18 19 0 13

Angka tersebut diterjemahkan dengan tabel 2. 1

JO HA NN ES RU ST AN Dengan menggabungkan

huruf-huruf yang sesuai dengan kata-kata, kita menemukan bahwa pesan tersebut :

JOHANNES RUSTAN

2.4.5. Rail Fence

Sistem ini dikenal sebagai sistem transformasi dalam proses ciphering-nya, yang

pertama adalah membagi teks menjadi 3 bagian dengan menyusun pesan dari kolom

kiri ke kanan dalam tiga baris kemudian disusun kembali menjadi satu baris dari baris

paling atas ke baris paling bawah. (aamt, 2012)

Contoh:

Plaintext: JOHANNES RUSTAN

J A E U A

O N S S N

H N R T

Ciphertext: J A E U A O N S S N H N R T

2.4.6. Rabin

Dipublikasikan oleh Michael O.Rabin pada tahun 1979, merupakan algortima asymetris

pertama yang dibuktikan sangat sulit dalam faktorial. Rabin menggunakan kunci publik

(35)

X2 = C mod N

Keuntungan dari menggunakan eksponen 2 dibandingkan dengan eksponen

yang lebih besar dalah komputasinya yang lebih kecil serta pemecahannya dengan

faktorial N .

Contoh : B melakukan enkripsi pesan m dan mengirimkan ciphertext C ke A

Enkripsi :

- Mendapatkan kunci publik A

- Representasikan pesan menjadi integer m dalam batasan {0,1,..n-1) - Komputasi c=m2 mod n

- Mengirimkan pesan ciphertext C ke A

Dekripsi Pesan C dengan cara :

- Komputasi √C mod n

- Ada 4 akar yakni m1, m2, m3, m4 dari C modulo n

- Pesan m sama dengan salah satu dari akar diatas

Ketika p≡3 mod 4 maka akan ada formula untuk menghitung akar dari C pad mod p.

(36)

Oleh karena itu dua akar kuadrat dari c mod p adalah

Dan juga dengan dua akar kuadrat dari c mod q adalah

Kemudian kita dapat memperoleh empat akar kuadrat dari c mod n dengan

menggunakan teori Chinese Remainder

Misal : n=77 = 7 x 11

C = m2 mod 77

Maka untuk pesan m maka ciphertext c adalah √c mod 77

Untuk melakukan dekripsi kita memerlukan perhitungan c≡102≡ 23 mod 77 dengan

contoh misalkan panjang m adalah sebesar 10.

Untuk menemukan akar kuadrat dari 23 mod 7 dan mod 11 kita dapat gunakan karena

formula untuk 7 dan 11 adalah kongruen dari 3 mod 4.

23 (7+1)/4≡ 22≡ 4 mod 7

23 (11+1)/4≡ 13≡ 1 mod 11

Dengan menggunakan Teori Chinese Remainder maka kita mendapatkan 4 buah akar

dari 23 mod 77 adalah ±10, ±32 mod 77

Maka itu kemungkinan pesan yang ada adalah m1=10 , m2=67, m3=32 dan m4=45

Dari empat buah kemungkinan itu, kita bisa mendapatkan dengan cara menggunakan

salah satu varian dari simbol jacobi (Michele E.,2011)

(37)

Dimana bo adalah untuk menentukan apakah angka yang didapatkan genap atau ganjil,

serta b1 adalah hasil akhir yang memiliki nilai yang harus sama dengan m.

b0 = 10 mod 2

= 0

b1= [1 + (�) ]

= 0.56493506

Artinya parity atau jenis angkanya adalah genap, dari m1,m2,m3 dan m4 yang

memenuhi syarat adalah m1 dan m3. Kemudian dimasukkan ke dalam rumus b1 untuk

mencari nilai m yang benar dari dua kemungkinan m1 atau m3.

b1= [1 + (�) ]

dengan masukkan m1 didapati b1 = 0.56493506

dengan masukkan m2 didapati b1 = 0.70779220

maka yang memenuhi syarat akhir adalah m1, sehingga hasil yang didapatkan adalah

nilai m=10.

2.5. JavaScript

Javascript diperkenalkan pertama kali oleh Netscape pada tahun 1995. Pada awalnya bahasa yang sekarang disebut JavaScript ini dulunya dinamai “LiveScript” yang berfungsi sebagai bahasa sederhana untuk browser Netscape Navigator 2 yang sangat

populer pada saat itu. Kemudian sejalan dengan sedang giatnya kerjasama antara Netscape dan Sun (pengembang bahasa pemrograman “Java”) pada masa itu, maka Netscape memberikan nama “JavaScript” kepada bahasa tersebut pada tanggal 4 desember 1995. Pada saat yang bersamaan Microsoft sendiri mencoba untuk

mengadaptasikan teknologi ini yang mereka sebut sebagai “Jscript” di browser milik

mereka yaitu Internet Explorer 3. JavaScript sendiri merupakan modifikasi dari bahasa

pemrograman C++ dengan pola penulisan yang lebih sederhana dari bahasa

(38)

JavaScript adalah bahasa pemrograman yang khusus untuk halaman web agar

halaman web menjadi lebih hidup. Kalau dilihat dari suku katanya terdiri dari dua suku

kata, yaitu Java dan Script. Java adalah Bahasa pemrograman berorientasi objek,

sedangkan Script adalah serangkaian instruksi program.

Ada beberapa hal yang harus diperhatikan dalam pengelolaan pemrograman JavaScript, diantaranya JavaScript adalah “case sensitive”, yang artinya JavaScript membedakan huruf besar dan huruf kecil, Jika Anda pernah belajar bahasa

pemrograman seperti Turbo C atau C++, maka sama seperti bahasa pemrograman

tersebut, dimana huruf T tidak sama dengan huruf t. Dalam bahasa pemrograman

JavaScript juga, sebagai contoh fungsi perintah var tidak boleh ditulis Var dan juga

tidak boleh ditulis VAR (huruf besar semua), yang benar adalah var (huruf kecil semua).

Perintah lain adalah new Date tidak boleh ditulis new date (huruf kecil semua), dan

banyak yang lainnya.

2.5.1. Kelebihan Javascript

Javasript bekerja pada sisi browser dan telah disupport oleh semua browser sehingga

sangat berperan penting jika kita menggunakan javascript dalam membuat halaman

website menjadi lebih responsif.

Salah satu implementasi dari Javascript yang banyak digunakan seperti pada

Gmail, Google Reader adalah AJAX ( Asynchronous Javascript and XMLHTTP) yang

dapat membuat halaman website lebih interaktif dan responsif.

2.5.2. Penggunaan Javascript

Contoh penggunaan Javascript pada sebuah website adalah sebagai berikut :

<script type="text/javascript"> ...

...

</script>

(39)

2.6. Riset-riset terkait

Dalam melakukan penelitian ini, penulis menggunakan beberapa riset terkait yang

dijadikan untuk membuat penelitian berjalan lancar. Adapun riset-riset terkait tersebut

adalah :

Tabel. 2.4. Riset Terkait

No Judul Riset Nama Peneliti

Dan Tahun

dapat membuat proses

dekripsi menjadi lebih

sulit. Ini cukup penting

untuk meningkatkan

performa algoritma di

masa depan.

modifikasi Hill Cipher

dan teknik block cipher

simetris dapat

Dari semua percobaan

penelitian, yang

(40)

Modern

dari 2 bit dibandingkan

dengan playfair yang

memberikan perbedaan

Hill Cipher Ketika matrik kunci dikirim untuk blok data

pertama, kunci publik

akan terbentuk pada

kedua sisi pengirim dan

penerima. Sehingga

Rabin lebih aman untuk

pengiriman pesan dan

efektif dalam penerapan

tanda tangan elektronik

maupun sebagai fungsi

(41)

2.7. Perbedaan Dengan Riset Yang Lain

Dalam penelitian ini menggunakan Hill Cipher karena dari berbagai penelitian hill

cipher dapat dimodifikasi untuk menghasilkan respon time yang cepat, kemudian

digabungkan dengan Teknik Rail Fence yang dimodifikasi menjadi dua baris supaya

mendapatkan respon yang lebih cepat, serta mengabungkan dengan Algoritma Rabin

yang memiliki kekuatan dalam faktorisasinya dalam mengamankan sebuah pesan.

2.8. Kontribusi Riset

Dengan adanya kombinasi dari Hill Cipher Teknik Rail Fence dan pengamanan kunci

Hill dengan Algoritma Rabin dapat menambah suatu daftar kombinasi algoritma yang

baru, sehingga dapat nantinya digunakan dan diimplementasikan pada website karena

(42)

BAB III

METODOLOGI PENELITIAN

3.1.Studi Literatur

Studi literatur yang dilakukan dalam penelitian ini adalah mengumpulkan bahan

referensi mengenai Integrasi Enkripsi Klasik dengan teknik modern (Fauzan Saeed,

et al. 2010) dan Design algoritma baru untuk meningkatkan parameter (Rajni Jain,

et al. 2012) serta berbagai jurnal tentang kriptografi klasik dan modern.

3.2.Analisa Permasalahan

Pada tahap ini dilakukan analisis terhadap hasil studi literatur untuk mengetahui dan

mendapatkan pemahaman mengenai perlunya suatu kombinasi algoritma yang baru

untuk meningkatkan keamanan enkripsi.

3.3. Hipotesis

Menilai bahwa pentingnya membuat suatu algoritma baru yang bisa menambah

keamanan maka akan dicoba menggabungkan teknik enkripsi klasik dengan

Modern, adapun untuk algoritma klasik yang diambil adalah Hill Cipher dan Rail

Fence serta algoritma modern yakni algoritma Rabin.

3.4.Perancangan Sistem

Pada tahap perancangan sistem dilakukan perancangan arsitektur, pengumpulan

data , merancang antarmuka. Proses perancangan dilakukan berdasarkan hasil

analisis studi literatur yang telah didapatkan. Kemudian melakukan suatu terobosan

dengan mengenkripsi supaya data yang ada pada menjadi lebih aman.

(43)

a. Proses Enkripsi dan Pengiriman Ciphertext

Gambar 3.1 Proses Enripsi dan Pengiriman Ciphertext

b. Proses Dekripsi Ciphertext

Gambar 3.2 Proses Dekripsi Ciphertext

(44)

3.4.1 Perancangan Keamanan Data di Website

Setelah melakukan penelitian pada masing-masing algoritma yang ada, maka akan

dicoba melakukan penggabungan dari algoritma Hill, Rail Fence dan Rabin yang

nantinya akan dilakukan penelitian atas waktu yang dibutuhkan dalam pemrosesan

suatu tesks.

3.4.2 Proses Enkripsi

Pada tahap awal enkripsi, data yang dibutuhkan adalah berupa teks yang akan

dienkripsi, dengan kunci sebagai berikut :

Tabel 3.1. Kunci Hill

_ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 . ? , -

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

3.4.2.1 Menterjemahkan proses Kata kunci menjadi matrik

Jika kita melakukan input Kata kunci adalah 12, maka akan diterjemahkan menjadi

matrik

A =

28 29

1 2

Didapati dari tabel Kunci hill 1 diterjemahkan menjadi angka 28 dan Kunci Hill 2

diterjemahkan menjadi angka 29, sedangkan untuk mengisi sisa matrik yang kosong

(45)

Jika kata kunci yang kita input adalah 12345, maka akan diterjemahkan menjadi

matrik

A =

28 29 30

31 32 1

2 3 4

Contoh lain Jika Kata kuncinya adalah 8, 88, 888,88888

A = 35 A =

35 35

1 2

A =

35 35

35 1

A =

35 35 35

35 35 1

2 3 4

3.4.2.2 Menterjemahkan matrik dari isi pesan

Pada proses ini akan menerjemahkan isi pesan ke dalam bentuk matrik yang sesuai

dengan kata kunci, jika kata kuncinya memiliki matrik 1 x 1 maka pesan yang akan

diterjemahkan juga memiliki jumlah baris yang sama dengan kata kunci yakni 1.

Contoh :

Jika dimasukkan Tesks Isi Pesan adalah : Universitas Sumatera Utara maka hasil

dari matrik pesan dengan kata kunci 8 adalah

(46)

Jika kata kuncinya adalah 88 maupun 888 atau memiliki matrik dengan bentuk 2x2,

maka hasil dari matrik pesan adalah :

M =

21 14 9 22 5 18 19 9 20 1 19 0 19

21 13 1 20 5 18 1 0 21 20 1 18 1

Jika kata kuncinya adalah 88888 atau memiliki matrik dengan bentuk 3x3, maka hasil

dari matrik pesan adalah :

M =

21 14 9 22 5 18 19 9 20

1 19 0 19 21 13 1 20 5

18 1 0 21 20 1 18 1 0

3.4.2.3 Proses Kata kunci dengan Matrik Pesan

Setelah didapatkan hasil terjemahan dari kata kunci dan isi pesan, maka dilakukan

perkalian matrik dan dilakukan mod 41 sehingga akan dihasilkan proses dari enkripsi

(47)

AM (mod 41) =

38 39 28 32 11 15 9 28 3 35 9 0 9 38 4 35 3 11 15 35 0 38 3 35 15 35

Perkalian kunci 88 dan isi pesan Universitas Sumatera Utara adalah sebagai berikut :

AM =

1470 945 350 1470 350 1260 700 315 1435 735 700 630 700

63 40 11 62 15 54 21 9 62 41 21 36 21

Dan hasil proses mod 41 adalah sebagai berikut :

AM (mod 41) =

35 2 22 35 22 30 3 28 0 38 3 15 3

22 40 11 21 15 13 21 9 21 0 21 36 21

Perkalian kunci 88888 dan isi pesan Universitas Sumatera Utara adalah sebagai berikut

:

AM =

1400 1190 315 2170 1610 1120 1330 1050 875

788 1156 315 1456 930 1086 718 1016 875

117 89 18 185 153 79 113 82 55

Dan hasil proses mod 41 adalah sebagai berikut :

AM (mod 41) =

6 1 28 38 11 13 18 25 14

9 8 28 21 28 20 21 32 14

(48)

Dari proses diatas akan dikembalikan lagi dari angka menjadi huruf sesuai dengan tabel

3.1

Contoh hasil dari kata kunci 8 adalah : ?,15KOI1C8I_I?D8CKO8_?C8O8

Contoh hasil dari kata kunci 88 adalah : 8BV8V3C1_?COCV-KUOMUIU_U9U

Contoh hasil dari kata kunci 888 adalah : 8BV8V3C1_?COCRK2KP6J1XNJRJ

Contoh hasil dari kata kunci 88888 adalah : FA1?KMRYNIH1U1TU5N8GRU3?4_N

3.4.2.4 Proses Enkripsi Rail Fence

Dengan hasil akhir yang didapati dari proses Hill diatas, maka dilakukan lagi kombinasi

dengan Rail Fence yakni melakukan proses transposisi zigzag dengan 2 baris.

Hasil Enkripsi dari Universitas Sumatera Utara menghasilkan :

?,15KOI1C8I_I?D8CKO8_?C8O8 dengan 26 karakter

Dibagi dengan dua sehingga menghasilkan 13, kemudian dilakukan penulisan sebesar

hasil pembagiannya menjadi :

?1KICIIDCO_CO

,5O18_?8K8?88

Kemudian digabungkan antara baris pertama dan kedua menjadi satu baris

Contoh hasil dari kata kunci 8 adalah : ?1KICIIDCO_CO,5O18_?8K8?88

(49)

Contoh hasil dari kata kunci 88888 adalah : F1KRNHUT58R34NA?MYI11UNGU?_

3.4.3. Proses Enkripsi Rabin

Melakukan proses enkripsi kunci dari Hill menjadi ciphertext yang nantinya akan

dikirm ke penerima pesan. Proses pertama yang dilakukan pada Enkripsi Rabin adalah

melakukan pengacakan bilangan prima di bawah 1000, yang nantinya dipakai untuk

menentukan nilai dari n, dimana :

n = p.q

p dan q adalah bilangan prima dibawah 1000, dimana perkalian p dan q harus lebih

besar dari kunci Hill.

Kemudian di Enkripsi dengan rumus :

c = m^2 (mod) n

Contoh :

pada Kunci Hill 8 dilakukan proses pengacakan p dan q sehingga didapatkan

nilai p dan q masing-masing adalah 631 dan 991, kemudian dilakukan enkripsi dengan

rumus m^2 (mod) n didapati hasil akhir adalah 64.

pada Kunci Hill 88 dilakukan proses pengacakan p dan q sehingga didapatkan

nilai p dan q masing-masing adalah 823 dan 263, kemudian dilakukan enkripsi dengan

rumus m^2 (mod) n didapati hasil akhir adalah 7744.

pada Kunci Hill 888 dilakukan proses pengacakan p dan q sehingga didapatkan

nilai p dan q masing-masing adalah 67 dan 151, kemudian dilakukan enkripsi dengan

(50)

3.4.4. Proses Pengiriman Pesan Teks yang sudah dienkripsi

Pada proses ini akan dilakukan pengiriman hasil enkripsi yang terdiri dari :

- Hasil Enkripsi Hill dan Rail Fence

- Hasil Enkripsi Kunci Hill dengan Rabin dan Kunci Privatenya

- b0=m mod 2 dan b1 = ½ [1+m/2]

Contoh Hasil pengiriman data adalah :

Hasil Enkripsi Hill dan Rail Fence : 8VVC_CCKK61NRB831?OR2PJXJJ

Hasil Enkripsi kunci Hill dengan Rabin : 9535 dengan kunci privatenya yakni : p= 67

q= 151 .

b0=m mod 2 dan b1 = 1/2 [1+m/2] yakni b0=0 dan b1=0.54388652762677

3.4.5. Proses Dekripsi

Setelah data didapat oleh penerima, maka penerima harus menterjemahkan kunci hill

terlebih dahulu karena sudah dienkripsi oleh Rabin.

3.4.5.1 Proses Dekripsi rabin

Melakukan proses dekripsi dengan rumus m2=c mod n, dimana hasil dari sebuah m2

mod n adalah selalu menghasilkan 2 bilangan akar kuadrat, seperti halnya sebuah angka

memiliki dua buah akar kuardrat.

(51)

m mod 11

kuadrat Akar kuadrat

1 1, 10

3 5, 6

4 2, 9

5 4, 7

9 3, 8

Karena n berupa bilangan prima dan sesuai teori rabin p≡q≡3 (mod) 4, maka kita dapat mencari nilai m menjadi

mp=((c ^ ((p+1)/4)) mod p)

mq=((c ^ ((q+1)/4)) mod q)

dan didapati 4 buah hasil akhir dengan rumus :

m1=(yp.p.mq+yq.q.mp)mod n

m2=-(yp.p.mq-yq.q.mp)mod n

m3=(yp.p.mq+yq.q.mp)mod n

m4 = -(yp.p.mq - yq.q.mp) mod n

dimana yp dan yq didapati dari menggunakan algoritma extended euclidean dengan

rumus yp.p + yq.q = 1

Contoh :

(52)

p= 67

q=151

b0=0

b1 = 0.54388652762677

mp = 9535^(68/4) mod 67

= 9535^17 mod 67

= 4450941184661180417505813894521536960836130050156202660140

9912109375 mod 67

= 17

mq = 9535 ^ (152/4) mod 151

= 9535 ^ 38 mod 151

= 163751957591135842730966263610964763448146790819303346028227

041095836186090033205266664245936647838680104315849249728870468

42151903547346591949462890625 mod 151

= 18

Kemudian pencarian yp dan yq dengan menggunakan euclidean didapati

Yp.67 + yq.151 =1

(53)

m1 = 9531

m2 = 586

m3 = 9229

m4 = 888

kemudian untuk mencari salah satu jawaban dari m1,m2,m3,m4 diatas dengan

melakukan pengecekan parity dari keempat jawaban yang sesuai dengan b0

b0 = 0 sehingga jawaban yang sesuai adalah =

586 m2 Memenuhi Syarat

888 m4 Memenuhi Syarat

Pencarian akhir adalah mencari nilai z=1/2(1+(z1/n))

yang memenuhi syarat = b1 (0.54388652762677)

m4 = 888 Memenuhi Syarat Akhir sebagai kunci Hill

3.4.5.2 Proses Dekripsi Rail Fence

Dari data yang dikirim dilakukan proses dekripsi melalui Rail Fence dengan proses

transposisi zigzag yang akan menghasilkan kembali ciphertext yang benar. Contoh :

Data yang diperoleh penerima adalah :

8VVC_CCKK61NRB831?OR2PJXJJ

Dilakukan proses perhitungan berapa panjang karakter yakni sebesar 26

karakter, lalu dilakukan pembagian dengan dua menjadi :

8VVC_CCKK61NR

(54)

Kemudian dilakukan pembacaan dari atas kebawah berurutan dari kiri ke kanan sampai

selesai, sehingga hasil akhir didapati bahwa ciphertextnya yang telah selesai dengan

proses Rail Fence adalah : 8BV8V3C1_?COCRK2KP6J1XNJRJ

3.4.5.3 Proses Dekripsi Hill

Melakukan proses konversi kunci dari kata kunci ke dalam bentuk matrik sesuai

dengan tabel 3.1

Contoh : data yang didapat dari pengirim adalah 888 maka hasil konversinya menjadi

A =

35 35

35 1

Setelah mendapatkan proses konversi matrik, dilakukan matrik inverse mod 41

sesuai dengan rumus perkalian matrik A dan matrik inverse menjadi 1, didapati

Matrik inverse (mod 41) :

B =

40 35

35 6

Perkalian matrik AB=I (mod 41).

AB = 1 0

0 1

(55)

Pada proses ini akan menerjemahkan isi pesan ke dalam bentuk matrik yang sesuai

dengan kata kunci, jika kata kuncinya memiliki matrik 2x2 maka pesan yang akan

diterjemahkan juga memiliki jumlah baris yang sama dengan kata kunci yakni 2

Contoh :

Jika dimasukkan Tesks Isi Pesan adalah : 8BV8V3C1_?COCRK2KP6J1XNJRJ maka

hasil dari matrik pesan dengan kata kunci 888 adalah

M =

35 2 22 35 22 30 3 28 0 38 3 15 3

18 11 29 11 16 33 10 28 24 14 10 18 10

3.4.5.5 Proses Matrik Invers dengan Matrik Pesan

Setelah mendapatkan matriks hail isi pesan maka dialkukan proses perkali dengan

matrik invers

Contoh :

Matrik inverse adalah :

B =

40 35

35 6

Matrik isi Pesan adalah :

M =

35 2 22 35 22 30 3 28 0 38 3 15 3

(56)

Matrik perkaliannya adalah :

BM =

2030 465 1895 1785 1440 2355 470 2100 840 2010 470 1230 470

1333 136 944 1291 866 1248 165 1148 144 1414 165 633 165

Hal terakhir adalah melakukan proses mod 41 menjadi

BM (mod 41) =

21 14 9 22 5 18 19 9 20 1 19 0 19

21 13 1 20 5 18 1 0 21 20 1 18 1

3.4.5.6 Hasil Akhir Dekripsi

Dengan tabel 3.1 kita melakukan proses terjemahan dari angka ke huruf, maka akan

didapati hasil akhir dari

BM (mod 41) =

21 14 9 22 5 18 19 9 20 1 19 0 19

21 13 1 20 5 18 1 0 21 20 1 18 1

Adalah : UNIVERSITAS SUMATERA UTARA

3.5.Implementasi Sistem

Pada tahap implementasi sistem ini akan dilakukan percobaan terhadap algoritma baru

(57)

Karena proses implementasi sistem akan dilakukan berbasis Web, maka perlu

dilakukan installasi apache yang berfungsi sebagai Web Server. Paket installasi Apache

dapat diperoleh dari website resmi apache di http://www.apache.org dan PHP dapat

diperoleh pada website http://www.php.net .

Proses instalasi pada linux , cukup ketikkan :

#apt-get install apache2

Jika sudah berhasil maka akan ditampilkan seperti gambar berikut :

Gambar 3.3. Installasi Apache di Linux

Jika Sudah berhasil dan aktif , maka pada browser akan muncul Tulisan “It work!” jika kita ketikkan http://localhost

(58)

3.6..Diagram Alir Penelitian

'

Gambar 3.5. Diagram alir penelitian

Studi Literatur dan Bimbingan

Dokumentasi

Pengumpulan data

Analisais Data Penelitian Algoritma

Hill , Rail Fence dan Rabin

Perancangan Sistem

Implementasi Sistem

Pengujian

(59)

BAB IV

HASIL DAN PEMBAHASAN

4.1 Pendahuluan

Bab ini menyajikan bagaimana proses enkripsi dan dekripsi data serta perhitungan hasil

penelitian yang dilakukan terhadap 100 data dengan kata kunci yang terdiri dari 5 huruf

sebagai sampel, yang akan dihitung berapa lama waktu yang dibutuhkan.

4.2. Proses Enkripsi dan Dekripsi

4.2.1. Proses Enkripsi Data dengan Hill dan Rail Fence

(60)

Data yang diinput ke dalam Pesan adalah A, dengan kata kunci 12345

diperoleh hasil enkripsinya adalah 14B oleh algoritma Hill Cipher, kemudian oleh Rail

Fence di proses menjadi 1B4 .

4.2.2. Proses Enkripsi Kunci Hill dengan Rabin

Gambar 4.2. Proses Enkripsi Kunci hill dengan Rabin

Kata kunci yang yang dienkripsi adalah 12345, didapati dua bilangan prima

p = 463 dan q= 967 , yang didapati secara acak 1000 bilangan prima yang pertama,

dimana hasil perkalian dari p dan q harus lebih besar dari kata kunci atau 12345. Pada

pengacakan ini didapati hasil perkaliannya adalah 447721 sehingga memenuhi syarat

untuk diproses lebih lanjut.

Setelah didapati nilai p dan q , dilakukan perkalian c=m^2 (mod) n . dimanaa

m adalah kata kunci 12345 dan n adalah perkalian p dengan q. Sehingga didapati hasil

dari enkripsi proses rabin adalah 12345*12345 mod 447721 atau sama dengan 173885.

Dari proses data diatas telah selesai dienkripsi kemudian dikirimkan ke penerima

dengan data hasil enkripsi Hill dan Rail Fence, Hasil enkripsi kunci Hill dengan Rabin,

kunci private, dan nilai b0 dan b1 untuk pengecekan kondisi Rabin, yakni 1B4, 173885,

(61)

4.2.3. Proses Dekripsi Kunci Hill Dengan Rabin

Gambar 4.3. Proses Dekripsi Kunci Hill dengan Rabin

Dari data yang diterima, dari sisi penerima melakukan proses pemecahan kunci Hill

yang telah dienkripsi oleh Rabin. Proses yang digunakan adalah mencari nilai yp dan

yq dimana hasil gari gcd(yp,yq)=1. 463.yp + 967.yq =1 , dengan menggunakan

euclidean algoritma didapati hasil yp=-401 dan yq=192 . langkah berikutnya adalah

mencari nilai m1,m2,m3 dan m4. Kemudian didapati yang memenuhi syarat adalah

kunci m2 = 12345.

Proses berikutnya adalah mendekripsikan data 1B4 dengan Rail Fence agar

dapat melakukan proses dekripsi lanjutan dengan algoritma Hill. Hasil setelah melalui

(62)

4.2.4. Proses Dekripsi dengan Hill Cipher

Gambar 4.4. Proses Dekripsi dengan Hill Cipher

Setelah mendapatkan kunci Hill yang didekripsi serta pesan yang akan didekripsi yakni

14B, maka dilakukan proses dekripsi melalui algoritma Hill Cipher yang terdiri dari

perubahan kata kunci dan inverse matrik hingga perkalian matrik dengan invers,

didapati hasil akhir adalah A_ .

(63)

Pada setiap pemrosesan enkripsi data akan disimpan ke dalam log file yang bernama

waktu1.log , dimana akan dilakukan pencatatan panjang kunci serta panjang pesan yang

akan di enkripsi serta banyaknya waktu yang diperlukan untuk melalui semua proses

enkripsi.

Pada gambar 4.5. menunjukkan jika yang diinput adalah nilai A, dengan kata

kunci 12345, maka untuk melalui proses Hill Cipher dibutuhkan waktu 0.0000891685

detik. Untuk proses Rail Fence dibutuhkan waktu 0.0000159740 detik. Dan proses

enkripsi kunci Hill melalui Rabin adalah 0.0017080307 detik. Sehingga total waktu

yang dibutuhkan untuk enkripsi adalah 0.0018131732

Gambar 4.6. Waktu Dekripsi

Pada setiap pemrosesan dekripsi data akan disimpan ke dalam log file yang bernama

waktu2.log , dimana akan dilakukan pencatatan banyaknya waktu yang diperlukan

untuk melalui semua proses dekripsi.

Pada gambar 4.6. menunjukkan jika yang diinput adalah nilai A, dengan kata

kunci 12345, dan setelah dilakukan enkripsi menghasilkan nilai kunci hill 345937,

ciphertext 1B4, nilai p dan q adalah secara acak dari proses enkripsi sebelumnya yakni

887 dan 487. Serta b0 dan b1 untuk pemesahan kasus Rabin. Maka untuk melalui proses

dekripsi kunci Hill Cipher oleh rabin dibutuhkan waktu 0.0001831055 detik. Untuk

proses Rail Fence dibutuhkan waktu 0.0004541874 detik. Dan proses akhir dekripsi Hill

adalah 0.0000970364 detik. Sehingga total waktu yang dibutuhkan untuk enkripsi

(64)

0 angka dengan perbandingan terhadap waktu yang dibutuhkan dalam proses enkripsi dan proses dekripsi, dengan hasil sebagai berikut :

4.4.1. Perhitungan waktu enkripsi

Gambar 4.7 Grafik enkripsi

Pada gambar 4.7. menunjukkan bahwa waktu yang dibutuhkan untuk melakukan enkripsi dengan data yang terekam di log selama melakukan percobaan.

Tabel 4.2. Waktu untuk enkripsi

(65)
(66)
(67)

92 0.003325

4.4.2. Perhitungan waktu dekripsi

Gambar 4.8. Grafik dekripsi

Pada gambar diatas menunjukkan bahwa waktu yang dibutuhkan untuk melakukan dekripsi dengan data dari log, yakni :

(68)
(69)
(70)
(71)

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dengan perubahan perkembangan website maupun browser untuk menampilkannya

membuat kita harus berusaha mengembangkan keamanan data kita, salah satunya

adalah dengan melakukan kombinasi dari berbagai algoritma yang ada, sehingga

nantinya akan terbentuk suatu kombinasi algoritma yang baru yang dapat menjaga

keamanan dari website kita.

Apabila kita menggunakan algoritma yang sudah ada di internet bahkan yang

sudah memiliki source code nya, maka dengan mudah website akan akan dibobol

dengan menggunakan algoritma yang sudah ada. Dari beberapa percobaan dari

penggabungkan algoritma Hill, Rail Fence dan Rabin yang ada ini, memiliki beberapa

kesimpulan :

1. Merupakan kombinasi algoritma yang baru

2. Waktu yang dibutuhkan relatif singkat

3. Dapat diimplementasikan pada sebuah website

5.2 Saran

Saran untuk perbaikan penelitian ini agar lebih baik yaitu:

1. Untuk menjaga tetap amannya atau sulit ditebaknya proses algoritma ini, source

code tidak akan diupload secara keseluruhan, artinya ada bagian tertentu yang

disembunyikan

2. Untuk pengembangannya dapat dilakukan selain pada webstorage adalah untuk

password yang memiliki karakter bintang / asterix.

(72)

DAFTAR PUSTAKA

Saeed, F., & Rashid, M. (2010). Integrating Classical Encryption with Modern

Technique. IJCSNS International Journal of Computer, 280-285.

Jain, R., & Shivastava,A. (2012). Design and Implementation of New Encryption

algorithm to enhance Performance Parameter. IOSR Journal of Computer

Engineering ,33-39.

Kumar, M., Mishra, R., Pandey, R. K., & Singh, P. (2010). Comparing Classical

Encryption With Modern Techniques. proceedings of S-JPSET, 1(1).

Luciano, D., & Prichett, G. (1987). Cryptology: From Caesar ciphers to public-key

cryptosystems. The College Mathematics Journal, 18(1), 2-17.

Mollin, R. A. (2006). An introduction to cryptography. CRC Press.

Washington, L. C., & Trappe, W. (2002). Introduction to cryptography: with coding theory. Prentice Hall PTR.

Hamamreh, R. A., & Farajallah, M. (2009). Design of a robust cryptosystem

algorithm for non-invertible matrices based on hill cipher. International

Journal of Computer Science and Network Security, 11-16.

Song, M. M., & Tu, D. P. (2010). A New Hill Cryptosystem With Digital

Signature Function Base on The Problem of Matrix. Journal of Guangxi

University for Nationalities (Natural Science Edition), 3, 013.

Dooley, J. F. (2013). A Brief History of Cryptology and Cryptographic

Algorithms. Springer.

Smith, A. M., & Zanavich, J. K. (1985). U.S. Patent No. 4,540,160. Washington,

DC: U.S. Patent and Trademark Office.

Okamoto, T., & Uchiyama, S. (1998). A new public-key cryptosystem as secure as

(73)

Tian-xiang (2009). Enhanced Rabin cryptosystem based on cubic congruence

equation. Journal of Computer Applications, 7, 014.

Elia, M., Piva, M., & Schipani, D. (2011). The Rabin cryptosystem revisited.

arXiv preprint arXiv:1108.5935.

Rosen, K. H. (1993). Elementary number theory and its applications. Reading,

Mass.

Mirshokraie, Shabnam. Effective test generation and adequacy assessment for

JavaScript-based web applications. Proceedings of the 2014 International

Symposium on Software Testing and Analysis. ACM, 2014.

Sun, Cihai, and Hualing Liu. A New Introduction to JavaScript: New Performance

(V8) and New Use (Node. js, WebGL, Firefox OS, Chrome OS) of

JavaScript. Proceedings of the 2013 International Conference on Business

Gambar

Tabel 2 .2. Korespondensi huruf untuk Cipher Caesar
Table 2 .3. Korespondensi huruf untuk Cipher dengan C≡ 7P+10(Mod 26)
Tabel. 2.4. Riset Terkait
Gambar 3.1 Proses Enripsi dan Pengiriman Ciphertext
+7

Referensi

Dokumen terkait

terjadi disekitar penulis, atau bisa disebul faktor ekstrinsik. Lucille Earnshaw adalah seorang tokoh orang ketiga yang mencadi inti dari cerita. Ia.. adalah orang yang berpindah

Data yang diperoleh dalam penelitian ini merupakan data primer yaitu menggunakan kuisioner yang diberikan kepada 37 ibu yang telah memberikan MP-ASI pada bayi

UNIT LAYANAN PENGADAAN (ULP) KABUPATEN KLATEN POKJA PENGADAAN PEKERJAAN KONSTRUKSI.

Berdasarkan Berita Acara Hasil Pelelangan oleh Pokja Pengadaan Barang II Unit Layanan Pengadaan (ULP) Kabupaten Klaten Nomor :.. Paket Pekerjaan (terlampir), Daftar

Sekretariat : Dinas Pekerjaan Umum Kabupaten Klaten Jalan Sulawesi No. Unit Layanan Pengadaan

Berdasarkan Berita Acara Hasil Pelelangan oleh Pokja Pengadaan Barang II Unit Layanan Pengadaan (ULP) Kabupaten Klaten Nomor :.. Paket Pekerjaan (terlampir), Daftar

Sifat-sifat tanah bervariasi menurut tempat dan waktu, yang dapat disebabkan oleh hasil akhir dari proses yang terjadi secara internal atau alami dan pengaruh dari luar,

Penelitian ini dilaksanakan di lahan sawah Balai Benih Induk Padi Murni Tanjung Morawa Dinas Pertanian Provinsi Sumatera Utara dengan ketinggian + 20 meter di atas permukaan