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
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
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,
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
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
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
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
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.
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
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.
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.
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
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
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
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
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.
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.
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
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
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
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
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
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,
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
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
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
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
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)
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 )
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
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
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 )
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
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.
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)
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
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>
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
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
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
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.
a. Proses Enkripsi dan Pengiriman Ciphertext
Gambar 3.1 Proses Enripsi dan Pengiriman Ciphertext
b. Proses Dekripsi Ciphertext
Gambar 3.2 Proses Dekripsi Ciphertext
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
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
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
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
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
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
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.
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 :
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
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
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
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
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
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
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
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
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,
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
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_ .
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
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
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 :
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.
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
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