• Tidak ada hasil yang ditemukan

Implementasi Algoritma Vigenere Cipher dan Metode Blowfish untuk Keamanan File Database Berbasis WEB Chapter III V

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Vigenere Cipher dan Metode Blowfish untuk Keamanan File Database Berbasis WEB Chapter III V"

Copied!
46
0
0

Teks penuh

(1)

BAB III

ANALISIS DAN PERANCANGAN

Analisis sistem merupakan suatu tahapan dalam proses Software Development Life Cycle (SDLC) yang berisi tentang uraian mengenai proses kerja sistem dari algoritma

Vigenere Cipher dan metode Blowfish yaitu terdiri dari flowchart, pseudocode, Unified Modeling Language (UML) serta perancangan dari aplikasi.

3.1 Analisis Sistem

Analisis sistem terdiri dari tahap-tahap berbeda yang mendeskripsikan pengembangan sistem. Dalam analisis sistem terdiri atas tiga tahap analisis yaitu analisis masalah, analisis kebutuhan dan analisis proses. Analisis masalah bertujuan untuk memahami kelayakan masalah. Analisis kebutuhan dilakukan untuk menjelaskan fungsi-fungsi yang ditawarkan dan mampu dikerjakan sistem. Sedangkan analisis proses untuk memodelkan tingkah laku sistem.

3.1.1 Analisis Masalah

Mengidentifikasi masalah merupakan langkah pertama yang dilakukan dalam tahap analisis sistem. Masalah dapat didefinisikan sebagai pertanyaan yang diinginkan untuk dipecahkan. Oleh karena itu langkah pertama yang harus dilakukan oleh ananlisis sistem adalah mengidentifikasi terlebih dahulu masalah yang ada pada sistem.

Aspek keamanan dalam pengiriman suatu database yang merupakan sumber dari informasi dan bersifat rahasia, rentan untuk disadap oleh pihak yang tidak berwenang yang ingin mengetahui maupun mengubah isi dari database tersebut.

Masalah yang mungkin terjadi pada penelitian ini akan dianalisis dengan metode diagram Ishikawa. Diagram Ishikawa yang sering disebut dengan Fishbone atau cause and effect matrix adalah alat visual untuk mengidentifikasi, mengeksplorasi dan secara grafik menggambarkan detail dari semua penyebab dan akibat yang berhubungan dengan timbulnya masalah.

(2)

Gambar 3.1 Diagram Ishikawa

Pada gambar 3.1 ditunjukkan bahwa akar masalah muncul dari pihak ketiga yang ingin mencuri maupun mengubah selama proses transmisi dan lemahnya kunci terhadap ciphertext dan teknik kriptografi dalam pengamanan file yang hanya menggunakan satu kunci dan satu metode, mempermudah pihak ketiga untuk mengetahui plaintext yang telah dienkripsi sebelumnya.

Sehingga solusi yang ditemukan adalah dengan melakukan proses enkripsi data menggunakan algoritma Vigenere Cipher dan Blowfish untuk lebih mengamankan ciphertext yang dihasilkan dengan dua jenis kunci yang kompleks.

3.1.2 Analisis Kebutuhan

Analisis kebutuhan dibagi menjadi dua bagian penting, yaitu kebutuhan fungsional dan kebutuhan non-fungsional.

3.1.2.1 Kebutuhan Fungsional

Kebutuhan fungsional merupakan proses dan hasil apa yang akan dilakukan sistem yang dibuat. Pada penelitian ini kebutuhan yang harus dipenuhi oleh sistem secara fungsional adalah:

1. Fungsi Enkripsi

(3)

2. Fungsi Dekripsi

Sistem dapat melakukan dekripsi terhadap file database yang telah dienkripsi sebelumnya dengan kunci enkripsi dan metode yang sama pada proses enkripsi.

3.1.2.2 Kebutuhan non-Fungsional

Kebutuhan non-fungsional merupakan kebutuhan yang mendeskripsikan perilaku dan kerakteristik dari sistem. Aspek yang menjadi syarat kebutuhn non-fungsional pada sistem yang dibuat yaitu :

1. Sistem yang dibuat dapat melakukan pengamanan terhadap file database dengan teknik kriptografi.

2. Sistem dapat dimengerti dan digunakan dengan mudah oleh pengguna (User Friendly).

3. Sistem yang dibuat memuat informasi mengenai tingkah laku sistem untuk meminimalisasi kesalahan yang terjadi oleh pengguna.

4. Sistem tidak membutuhkan biaya yang terlalu besar dan kemungkinan tambahan perangkat lainya.

3.1.3 Analisisi Proses

Pada penelitian ini sistem yang dibuat menggunakan algoritma Vigenere Cipher untuk mengenkripsi file database dan kemudian enkripsi selajutnya dengan algoritma Blowfish, sebalikanya untuk proses dekripsi kembali menggunakan algoritma yang sama.

3.2. Pemodelan Sistem

Pemodelan sistem merupakan langkah untuk mendeskripsikan gambaran dari setiap komponen dan hubungan atau interaksi antar masing-masing komponen pada sistem yang akan dibuat.

(4)

3.2.1 Use-case Diagram

Use-case Diagram merupakan suatu pemodelan yang menggambarkan kinerja sebuah sistem yang dibuat, dan mendeskripsikan hubungan antara actor dan komponen sistem yang akan dibuat. Actor adalah pengguna yang akan mengoperasikan sistem tersebut. Pada Use-case Diagram akan dijelaskan apa saja yang akan dilakukan oleh actor terhadap masing-masing komponen sistem yang dibuat.

Gambar 3.2 Use-case Diagram

(5)

pengirim akan mendapatkan file yang telah dienkripsi. Kemudian penerima melakukan dekripsi kembali terhadap file enkripsi dengan memasukkan kunci yang telah dikirim sebelumnya oleh pengirim untuk melakukan dekripsi mendapatkan file asli databse yang diterima.

Setiap aksi yang dilakukan oleh pengirim terhadap sistem akan dijelaskan pada tabel 3.1 berikut.

Tabel 3.1 Narative Use-case Enkripsi file Database Use-case Name Enkripsi file Databasse

Design scope Sistem (black box)

Goal level User-goal

Stakeholder and Interest

Pengirim dapat melakukan enkripsi file database dengan kunci yang dirahasiakan untuk keamanan file databse selama transmisi.

Precondition Pengirim memasukkan file yang akan dienkripsi dengan kunci enkripsi.

Minimal Guarantee Sistem akan menampilkan pesan error jika proses enkripsi gagal.

Success Guarantee Sistem akan menampilakan peasan bahwa proses enkripsi suskes.

Main Success Scenario

1. Pengirim akan memasukkan file yang akan dienkripsi. 2. Pengirim memasukkan kunci untuk proses enkripsi. 3. Sistem melakukan proses enkripsi.

4. Sistem menampilkan pesan bahwa proses enkripsi sukses.

Extensions

1. File yang dimasukkan tidak kompatibel terhadap sistem.

a. Sistem akan menampilakan pesan untuk melakukan cek ulang kembali terhadap tipe file yang

dimasukkan

2. Kunci enkripsi yang dimasukkan tidak lengkap. a. Sistem akan menampilakan pesan untuk melakukan

(6)

Dan pada tabel 3.2 berikut dijelaskan aksi yang dilakaukan oleh penerima terhadap sistem.

Tabel 3.2 Narative Use-case Dekripsi file Database Use-case Name Dekripsi file Databasse

Design scope Sistem (black box)

Goal level User-goal

Stakeholder and Interest

Penerima dapat malakukan dekripsi terhadapa file yang telah dienkrikpsi sebelumnya.

Precondition Penarima memasukkan file enkripsi dan kunci untuk proses dekripsi.

Minimal Guarantee Sistem akan menampilkan pesan error jika proses dekripsi gagal.

Success Guarantee Sistem akan menampilakan peasan bahwa proses dekripsisuskes.

Main Success Scenario

1. Pengirim akan memasukkan file yang akan didekripsi. 2. Pengirim memasukkan kunci untuk proses dekripsi. 3. Sistem melakukan proses dekripsi.

4. Sistem menampilakan pesan bahwa proses dekripsi sukses.

Extensions

1. File yang dimasukkan tidak kompatibel terhadap sistem.

b. Sistem akan menampilakan pesan untuk melakukan cek ulang kembali terhadap tipe file yang

dimasukkan

1. Kunci dekripsi yang dimasukkan tidak lengkap. b. Sistem akan menampilakan pesan untuk melakukan

cek ulang kembali kunci yang dimasukkan

3.2.2 Activity Diagram

Activity Diagram merupakan teknik pemodelan yang mendeskripsikan tentang

bagaimana alur kerja sistem yang akan dibuat mulai dari awal hingga akhir. Activity Diagram bertujuan untuk menggambarkan hubungan antar masing-masing komponen

sistem yang ada dalam use-case diagram yang digunakan.

(7)

Gambar 3.3 Activity Diagram Sistem

3.2.3 Sequence Diagram

Sequence diagram merupakan diagram yang mendeskripsikan interaksi antar objek didalam sistem yang disusun berurutan. Interaksi antar objek tersebut termasuk pengguna dan sebagainya berupa pesan/message. Diagram ini khususnya berasosiasi dengan use case diagram. Sequence diagram memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu didalam use case. Sequence diagram biasanya digunakan untuk tujuan analisa dan desain, memfokuskan pada identifikasi metode didalam sebuah sistem.

(8)

Gambar 3.4 Sequence Diagram untuk Enkripsi

(9)

3.3. Flowchart Sistem

Flowchart merupakan suatu alur diagram yang digambarkan dari algoritma yang

digunakan didalam sistem yang akan dibuat dengan simbol tertentu dengan menunjukkan urutan langkah yang dilakukan untuk menyelesaikan suatu permasalahan. Dengan adanya flowchart akan mempermudah untuk untuk mendeskripsikan alur dari perilaku sistem yang akan dibuat. Pada penelitian ini flowchart enkripsi dan dekripsi dari sistem yang akan dibuat ditunjukan pada gambar

3.6 dan gambar 3.7 berikut.

(10)

Gambar 3.7 Flowchart dekripsi file databse

3.4. Pseudocode Sistem

Pseudocode merupakan suatu cara untuk mendefinisikan proses dari algoritma yang

digunakan pada sistem yang dibuat dengan menggunakan cara penulisan bahasa pemrograman sederhana sehingga belum bisa dieksekusi langsung pada aplikasi pemrograman komputer. Pada dasarnya pseudocode dituliskan hanya untuk mempermudah seseoreng untuk lebih memahami algoritma yang digunakan. Seperti namanya pseudocode digunakan sebagai pendukung pada kegiatan membuat kode program agar lebih terperinci dan terstruktur. Berikut adalah pseudocode dari algoritma pada sistem yang akan dibuat.

3.4.1 Pseudocode enkripsi file database dengan Vigenere Cipher

key, newkey,plaintext : string;

karakter : aray [1…karakter.length] of string; I,j : integer;

(11)

Input (plaintext);

3.4.2 Pseudocode dekripsi file database dengan Vigenere Cipher

key, newkey,ciphertext : string;

karakter : aray [1…karakter.length] of string; I,j : integer;

3.4.3 Pseudocode enkripsi file database dengan Blowfish

(12)

xL = xL XOR P18

C = (xL, xR)

3.4.4 Pseudocode enkripsi file database dengan Blowfish

(a, b, c, d) = xL // Bagi xL jadi 4 bagian, 8-bit/bagian

(e, f, g, h) = xR // Bagi xR jadi 4 bagian. 8-bit/bagian

F(xL) = ((S1[a] + S2[b] mod 2^32) XOR S3[c]) + S[d] mod 2^32

F(xR) = ((S1[e] + S2[f] mod 2^32) XOR S3[g]) + S[h] mod 2^32

3.5. Perancangan Antarmuka Sistem

Tahap perancangan antarmuka (interface) merupakan tahapan yang lebih memperhatikan faktor pengguna dimana desain sistem yang dibuat harus mempermudah pengguna dalam penggunaan sistem tersebut, sehinnga tidak terjadi kesalahan manusia yang membuat sistem tidak berfungsi seperti seharusnya. Desain dari sistem yang dibuat harus bisa member kenyamanan pada setiap tingkatan pengguna yang mengoperasikan sistem.

3.5.1 Halaman Awal

Halaman awal merupakan tampilan awal yang muncul ketika pertama kali sistem dijalankan. Gambar 3.8 merupakan perancangan utnuk halaman awal dari sistem yang dibuat.

(13)

3.5.2 Halaman Enkripsi

Halaman enkripsi merupakan tampilan yang muncul setelah pengguna menu enkripsi pada form halaman awal sebelumnya. Gambar 3.9 merupakan perancangan untuk form halaman enkripsi pada sistem yang akan dibuat.

Gambar 3.9 Form Halaman Enkripsi

Pada form halaman enkripsi terdapat masing-masing tombol dan label yang akan mempermudah pengguna untuk melakukan proses enkripsi. Deskripsi dari setiap konten pada form halaman enkripsi dijelaskan pada tabel 3.3 berikut.

Tabel 3.3 Deskripsi Form Halaman Enkripsi

No Keterangan

1 Tombol untuk mengarahkan pengguna memasukkan file yang akan dienkripsi 2 Label yang berisi tentang file yang telah dimasukkan

3 Textbox untuk memasukkan kunci Vigenere 4 Textbox untuk memasukkan kunci Blowfish

5 Tombol untuk mengenkripsi file yang telah dimasukkan 6 Tombol mereset semua masukan pada form Enkripsi

1 2

3

4

(14)

3.5.3 Halaman Dekripsi

Halaman dekripsi merupakan tampilan yang muncul ketika pengguna memilih menu dekripsi pada form halaman awal sebelumnya. Gambar 3.10 merupakan perancangan untuk form halaman dekripsi pada sistem yang akan dibuat.

Gambar 3.10 Form Halaman Dekripsi

Pada form halaman dekripsi terdapat masing-masing tombol dan label yang akan mempermudah pengguna untuk melakukan proses dekripsi didalam sistem. Deskripsi dari setiap konten pada form halaman dekripsi dijelaskan pada tabel 3.4 berikut.

Tabel 3.4 Deskripsi Form Halaman Dekripsi

No Keterangan

1 Tombol untuk mengarahkan pengguna memasukkan file yang akan didekripsi 2 Label yang berisi tentang file enkripsi yang telah dimasukkan

3 Textbox untuk memasukkan kunci Vigenere 4 Textbox untuk memasukkan kunci Blowfish

5 Tombol untuk mendekripsi file yang telah dimasukkan 6 Tombol mereset semua masukan pada form Enkripsi

1

2

3

4

(15)

3.5.4 Halaman Bantuan

Halaman bantuan merupakan tampilan yang muncul setelah pengguna memilih menu bantuan pada halaman awal sebelumnya. Gambar 3.11 merupakan perancangan untuk form halaman bantuan pada sistem yang akan dibuat.

Gambar 3.11 Form Halaman Bantuan

(16)

3.5.5 Halaman Author

Halaman author merupakan tampilan yang muncul ketika pengguna memilih menu author pada halaman awal sebelumnya. Gambar 3.12 merupakan perancangan untuk form halaman author pada sistem yang akan dibuat.

Gambar 3.12 Form Halaman Author

(17)

IMPLEMENTASI DAN PENGUJIAN

4.1Implementasi

Dalam tahap ini akan di jelaskan perhitangn manual dari algoritma yang di pakai beserta potongan source code dan implementasi sistem menggunakan bahasa pemrograman Web dengan Php.

4.1.1 Perhitungan Enkripsi dan Dekripsi

Perhitungan manual yang dijelaskan disini adalah perhitungan enkripsi dan dekripsi pada algoritma Vigenere Cipher dan Blowfish beserta Super enkripsi .

4.1.1.1Enkripsi dengan Algoritma Super Enkripsi

Algoritma super enkripsi yang digunakan dalam penelitian ini adalah kombinasi antara algoritma Vigenere Cipher dengan metode Blowfish. Dalam proses enkripsi dengan algoritma super enkripsi, plaintext akan dienkrispsi dengan algoritma Vigenere Cipher terlebih dahulu, kemudian ciphertext dari Vigenere Cipher akan di enkripsi lagi dengan metode Blowfish.

4.1.1.2Perhitungan Enkripsi dengan Super Enkripsi

Plaintext= Dodie Hermawan Purba Kunci Vigenere = vigenere Kunci Blowfish = blowfish

Pertama-tama plaintext akan dienkripsi dengan Algoritma Vigenere Cipher dengan kata

kunci “vigenere” sehingga menghasilkan ciphertext. Kemudian ciphertext yang dienkripsi

(18)

Dari perhitungan yang dilakukan melalui sistem yang dibangun didapatkan hasil sebagai berikut :

Ciphertext dari Algoritma Vigenere Cipher = Ywjmr Lvvhicea Tlvwi

Kemudian ciphertext dari Algoritma Vigenere Cipher akan menjadi plaintext selanjutnya yang akan dienkripsi dengan metode Blowfish.

Ciphertext dari Metode Blowfish = ฀ﻈ•菽 ⦼ ฀฀죳

4.1.1.3Perhitungan Dekripsi dengan Super Enkripsi

Ciphertext = ฀ﻈ• ⦼ ฀ Kunci Vigenere = vigenere

Kunci Blowfish = blowfish

Pertama ciphertext yang didapatkan akan dedekripsi dengan metode Blowfish melalui kunci yang diberikan sehingga akan dihasilkan plaintext yang pertama. Kemudian

plaintext yang didapatkan tersebut didekripsi kembali dengan Algoritma Vigenere Cipher sehingga plaintext yang baru akan dihasilkan.

Dari perhitungan yang dilakukan melalui sistem yang dibangun didapatkan hasil sebagai berikut :

Plaintext dari metode Blowfish = Ywjmr Lvvhicea Tlvwi

Kemudian plaintext dari metode Blowfish akan menjadi ciphertext selanjutnya yang akan didekripsi dengan Algoritma Vigenere Cipher.

Plaintext dari Algoritma Vigenere Cipher = Dodie Hermawan Purba

4.1.2.1 Enkripsi dengan Algoritma Vigenere Cipher

(19)

4.1.2.2 Perhitungan Enkripsi dengan Algoritma Vigenere Cipher

Plaintext = Dodie Hermawan Purba Kunci = vigenere

Pertama sekali substitusi kunci terhadap plaintext sehingga panjang karakternya sama. a) Karena panjang karakter lebih kecil dengan plainext maka kata kunci diulang

sehingga menjadi sama dengan panjang karakter plaintext sehingga K = vigen erevigen erevi

Ci = (Ki+Pi) mod 26, maka

b) Kemudian substitusi nilai C keseluruhan terhadap tabel Algoritma Vigenere Cipher, sehingga diperoleh ciphertext : Ywjmr Lvvhicea Tlvwi

(20)

$output = "";

$keyIndex = ($i - $nonAlphaCharCount) % $keyLen;

$k = ord($cIsUpper ? strtoupper($key[$keyIndex]) : strtolower($key[$keyIndex])) - $offset;

(21)

4.1.2.3 Dekripsi dengan Algoritma Vigenere Cipher

Prose dekripsi pada Algoritma Vigenere Cipher sama seperti proses enkripsi sebelumnya, kunci diberikan disubstitusikan kembali dengan ciphertext yang dihasilkan hanya saja berbeda pada perhitungan mencari nilai masing-masing Pi.

4.1.2.4 Perhitungan dekripsi dengan Algoritma Vigenere Cipher

Ciphertext = Ywjmr Lvvhicea Tlvwi Kunci = vigenere

Pertama sekali substitusi kunci terhadap ciphertext sehingga panjang karakternya sama. a) Karena panjang karakter lebih kecil dengan plainext maka kata kunci diulang

sehingga menjadi sama dengan panjang karakter ciphertext sehingga K = vigen erevigen erevi

Pi = (Ci – Ki) mod 26 ; untuk Ci >= Ki

(22)

function Cipher($input, $key, $encipher)

(23)

}

function Decipher($input, $key) {

return Cipher($input, $key, false); }

4.1.3.1 Enkripsi dan dekripsi dengan metode Blowfish

Enkripsi pada metode Blowfish terdiri dari iterasi fungsi sederhana atau yang disebut dengan feistel network sebanyak 16 kali putaran. Setiap putaran terdiri dari permutasi kunci dependen dan substitusi kunci- & data dependen. Semua operasi penambahan dan XOR tehadap variable 32-bit. Sedangkan operasi lainya hanyalah empat penelusuran tabel (table lookup) array berindeks untuk setiap putaran.

4.1.3.2 Perhitungan enkripsi dan dekripsi dengan metode Blowfish

Sebelum melakukan proses enkripsi terhadap data, Blowfish terlebh dahulu menghitung kunci yang diberikan untuk menghasilkan subkunci yang akan digunakan pada perhitungan enkripsi selanjutnya.

Proses membuat subkunci adalah sebagai berikut : Inisialisasi pArray :

(24)

sBox= Terdapat empat sBox masing-masing mempunyai 256 entri. Inisialisasi sBox :

sBox ke-1

(25)
(26)
(27)
(28)

Selanjutnya inisialisasi semua tiap-tiap sBox ke-2 sampai ke-3masing –masing mempunyai 256 entri, hingga entri terakhir sBox ke-3 menjadi sebagai berikut :

sBox ke-3

sBox(0, 250) = 0x53113ec0 sBox(0, 254) = 0x90d4f869 sBox(1, 250) = 0x1640e3d3 sBox(1, 254) = 0xa65cdea0 sBox(2, 250) = 0x38abbd60 sBox(2, 254) = 0x3f09252d sBox(3, 250) = 0x2547adf0 sBox(3, 254) = 0xc208e69f sBox(0, 251) = 0xba38209c sBox(0, 255) = 0xb74e6132 sBox(1, 251) = 0xf746ce76 sBox(1, 255) = 0xce77e25b sBox(2, 251) = 0x77afa1c5 sBox(2, 255) = 0x578fdfe3 sBox(3, 251) = 0x20756060 sBox(3, 255) = 0x3ac372e6 sBox(0, 252) = 0x85cbfe4e

sBox(1,252) = 0x8ae88dd8 sBox(2, 252) = 0x7aaaf9b0 sBox(3, 252) = 0x4cf9aa7e sBox(0, 253) = 0x1948c25c sBox(1, 253) = 0x02fb8a8c sBox(2, 253) = 0x01c36ae4 sBox(3, 253) = 0xd6ebe1f9

Pengujian kunci :

Tabel 4.1 Nilai karakter dari ASCII

Karakter 1 2 3 4 5 6 7 8 9 0

(29)

Tabel 4.2 Tabel ASCII

Pola kunci : Kunci = 1 1

Kunci = 12 1

Kunci = 123

1 2 3

Kunci = 1234 1

Kunci = 12345

(30)

Kunci = 123456

Gambar 4.1 Model Pola Kunci

Pada gambar 4.1 berikut merupakan model pola kunci yang digunakan untuk melakuakan perulangan sebanyak pArray , contoh pada gambar 4.1 menggunakan 40 bit (5 byte), jadi yang akan diambil untuk menjadi bit kunci adalah string 1, 5, 4, 3, 2 sesuai dengan pola kunci yang dibangun

Untuk setiap bitkunci yang digunakan, jumlah proses perulangan yang dilakukan adalah seperti yang ditunjukkan pada tabel 4.3 berikut.

Tabel 4.3 Proses perulangan kunci sebanyak pArray

Kunci Proses Perulangan Kunci (decimal)

(31)

12

Selanjutnya setiap kunci yang mengalami perhitungan sampai dengan empat kali sesuai pola :

datax = [(databaru) x 257] - [(datalama) x 256]

kemudian dilanjutkan dengan melakukan operasi OR dengan kunci. datax = datax OR kunci(i))

sehingga kunci termodifikasi menjadi 32 bit. Hasil dari kunci yang telah dimofikasi tersebut kemudian dilakukan operasi XOR dengan pArray.

P0 XOR 32 bit kunci pertama

(32)

 Uji kasus pertama : kunci dengan 16 bit

Tabel 4.4 Uji kasus pertama kunci Blowfish

Kunci String ASCII

12 12 [49][50]

Pola kunci :

12

49 49 49 49 49 49 49 49 49

49 49 49 49 49 49 49 49 49

Data baru = 0; data lama = 0 ; j = 0; kunci = 49 Iterasi 1 (kunci = 49)

o Kunci ke-1

[(databaru) x 257] - [(datalama) x 256] = datax [0 x 257] - [0 x 256] = 0

0 OR 49 = 49 o Kunci ke-2

[49 x 257] – [0 x 256] = 12593 12593 OR 50 = 12593

o Kunci ke-3

[12593 x 257] – [49 x 256] = 3224371 3224371 OR 49 = 3224371

o Kunci ke-4

(33)

Setelah dilakukan iterasi terhadap kunci maka perubahan yang dihasilkan adalah 49, 12594, 3224371, 825439027. Bit kunci pertama menjadi 825439027 dengan 32 bit (4byte), proses ini diulangi terus hingga iterasi ke=18.

 Uji kasus kedua : kunci dengan 32 bit

Tabel 4.5 Uji kasus kedua kunci Blowfish

Kunci String ASCII

1234 1234 [49][50][51][52]

Pola kunci :

1234

49 49 49 49 49 49 49 49 49

49 49 49 49 49 49 49 49 49

Data baru = 0; data lama = 0 ; j = 0; kunci = 49

Iterasi 1 (kunci = 49) o Kunci ke-1

[(databaru) x 257] - [(datalama) x 256] = datax [0 x 257] - [0 x 256] = 0

0 OR 49 = 49 o Kunci ke-2

[49 x 257] - [0 x 256] = 12593 12593 OR 50 = 12593

o Kunci ke-3

(34)

3224371 OR 51 = 3224371 o Kunci ke-4

[3224371 x 257] – [12593 x 256] = 825439539 825439539 OR 52 = 825439539

Setelah dilakukan iterasi terhadap kunci maka perubahan yang dihasilkan adalah 49, 12593, 3224371, 825439539. Bit kunci pertama menjadi 825439539 dengan 32 bit (4byte), proses ini diulangi terus hingga iterasi ke=18.

 Uji kasus ke-3 : kunci dengan 64 bit

Tabel 4.6 Uji kasus kedua kunci Blowfish

Kunci String ASCII

1234 1234 [49][50][51][52]

Pola kunci :

12345678 49 53 49 53 49 53 49 53 49

53 49 53 49 53 49 53 49 53

Data baru = 0; data lama = 0 ; j = 0; kunci = 49, 53 Iterasi 1 (kunci = 49)

o Kunci ke-1

[(data baru) x 257] – [(data lama) x 256] = datax [0 x 257] – [0 x 256] = 0

(35)

o Kunci ke-2

[49 x 257] – [0 x 256] = 12593 12593 OR 50 = 12595

o Kunci ke-3

[12595 x 257] – [49 x 256] = 3224371 3224371 OR 51 = 3224371

o Kunci ke-4

[3224371 x 257] – [12595 x 256] = 825439027 825439027 OR 52 = 825439031

Iterasi ke-2

o Kunci ke-5

[0 x 257] – [0 x 256] = 0 0 OR 53 = 53

o Kunci ke-6

[53 x 257] – [0 x 256] = 13621 13621 OR 54 = 13623

o Kunci ke-7

[13623 x 257] – [53 x 256] = 3487543 3487543 OR 55 = 3487543

o Kunci ke-8

[3487543 x 257] – [13623 x 256] = 892811063 892811063 OR 56 = 892811071

(36)

Tabel 4.7 Hasil proses iterasi kunci 64 bit

Iterasi Bit kunci baru Iterasi Bit kunci baru

1 49 12595 3224371 825439031 10 53 13623 3487543 892811071

Hasil dari kunci yang telah diubah kemudian di XOR kan dengan setiap pArray, jadi P0 XOR dengan 32 bit kunci pertama, P1 XOR dengan 32 bit kunci kedua, dan seterusnya untuk semua bit kunci, sehingga semua entri pArray di XOR kan dengan kunci bit.

Hasil dari operasi XOR antara biy kunci dengan semua entri pArray ditunjukkan pada tabel 4.8 berikut.

Tabel 4.8 Hasil XOR pArray dengan bit kunci

(37)

pArray (12) -241231232

Kemudian dari hasil tabel 4.6 dilakukan proses enkripsi dengan perhitungan sebagai berikut :

1. Xl = Xl xor pArray (i) 2. Xr = Xr xor F(Xl)

3. Xr = Xr xor pArray (i + 1) 4. Xl = Xl xor F(Xr)

Selanjutnya proses tersebut dibagi dua yaitu bagia kiri dan bagian kanan dengan masing-masing 32 bit (4 byte) dengan melakukan putaran sebanyak 16 kali putaran.

Hasil dari pembagian masing-masing 32 bit subkunci setelah melalui 16 putaran dapat dilihat pada tabel 4.9 berikut.

(38)

Sehingga secara keseluruhan telah dihasilkan pArray (p-Box) dan s-Box hasil dari proses pembangkitan subkunci (Generating The Subkeys).

4.1.3.3 Source code metode Blowfish

Dalam prose enkripsi dan dekripsi dengan metode Blowfish dilakukan dengan menggunakan Php Class, jadi untuk proses enkripsi dan dekripsi akan memanggil Class yang telah dibuat sebelumnya melalui interface system. Berikut merupakan source code untuk class enkripsi dan dekripsi pada bahasa pemrograman Php.

(39)
(40)

4.1.2 Implementasi Desain Sistem

Perancangan sistem yang telah dibahas pada bab sebelumnya akan diimplementasikan dengan menggunakan bahasa pemrograman Php dan desain menggunkan Html dan Css. 4.1.2.1 Tampilan Halaman awal

Tampilan halaman awal merupakan tampilan yang akan muncul pertama kali ketika sistem dijalankan. Tampilan halaman awal dapat dilihat seperti pada gambar 4.2 berikut.

Gambar 4.2 Tampilan Awal 4.1.2.2 Halaman Enkripsi

(41)

Gambar 4.3 Halaman Enkripsi

4.1.2.3 Halaman Dekripsi

Halaman dekripsi merupakan halaman untuk melakukan proses dekripsi terhadap file yang telah dienkripsi sebelumnya dengan memasukkan file dan kunci yang sama ketika melekukan proses enkripsi. Halaman dekripsi dapat dilihat seperti pada gambar 4.4 berikut.

(42)

4.1.2.4 Halaman Bantuan

Halaman bantuan merupakan halaman yang berisi konten tentang bagaimana melakukan proses enkripsi dan dekripsi didalam sistem Halaman bantuan dapat dilihat seperti pada gambar 4.5 berikut.

Gambar 4.5 Halaman Bantuan 4.1.2.5 Halaman Author

Halaman author merupakan halaman yang berisi konten mengenai data perancang sistem. Halaman author dapat dilihat seperti pada gambar 4.6 berikut.

(43)

4.2. Pengujian Sistem

Dalam tahapan ini akan dilakukan tahap pengujian terhadap sistem untuk mengamankan file database dengan teknik enkripsi dan dekripsi menggunakan algoritma Vigenere Cipher metode Blowfish.

4.2.1 Pengujian proses enkripsi

Pengujian proses enkripsi akan dilakukan pada halaman enkripsi sistem. Pada tahap ini digunakan sampel suatu file database dengan format .sql. Selanjutnya file diupload kedalam sistem untuk dienkripsi dengan masing-masing memasukkan kunci untuk setiap algoritma, jadi akan diperlukan dua buah kunci yang harus diingat untuk proses dekripsi selanjutnya.

Contoh pada pengujian ini file database adalah daftar_gaji.sql, dengan kunci untuk algoritma Vigenere adalah vigenere dan kunci untuk metode Blowfish adalah blowfish. Proses pengujian enkripsi dapat dilihat seperti pada gambar 4.7 berikut.

Gambar 4.7 Proses Enkripsi data

(44)

4.2.2 Pengujian proses dekripsi

Pengujian proses dekripsi akan dilakukan pada halam dekripsi sistem. Pada tahap ini file yang telah dienkripsi sebelumnya diupload untuk dilakukan proses dekripsi dengan memasukkan kunci yang sama dari setiap algoritma ketika proses einkripsi dilakukan. Pada tahapan ini contoh file yang didekripsi adalah file daftar_gaji.sql yang telah dienkripsi sebelumnya yang telah berubah menjadi enkripsi-daftar_gaji.sql. Proses pengujian dekripsi dapat dilihat seperti pada gambar 4.8 berikut.

Gambar 4.8 Proses Dekripsi data

Sama seperti ketika proses enkripsi, file yang didekripsi dapat diambil/diunduh melalui link yang diberikan sistem setelah proses dekripsi terhadap file enkripsi berhasil dilakukan.

Pada proses pengujian yang dilakukan file daftar_gaji.sql yang dienkripsi menjadi enkripsi-daftar_gaji.sql memiliki format file yang sama .sql dan besar file yang juga sama

yaitu 39.4 KB (40,376 bytes) seperti yang ditunjukkan pada gambar 4.9 berikut.

(45)

BAB IV

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Setelah melakukan tahapan analisis, perancangan dan pengujuian terhadap algoritma Vigenere Cipher dan metode Blowfish melalui sistem yang dibangun maka diperoleh kesimpulan sebagai berikut :

1. Proses pengamanan file database dengan algoritma Vigenere Cipher dan metode Blowfish memerlukan dua buah kunci sehingga data yang dienkripsi akan lebih aman dari pihak yang ingin mencuri data tersebut.

2. File yang sebelum dan sesudah dienkripsi pada sistem memiliki besar file yang sama, jadi tidak akan terjadi pembengkakan kapasitas file setelah proses enkripsi maupun dekripsi.

3. Setelah melakukan pengujian, perbandingan waktu(s) eksekusi (running time) terhadap besar file (Byte) yang akan dienkripsi yaitu 272 x 10-4 : 1.

5.2. Saran

Saran-saran yang dapat dipertimbangkan untuk penelitian atau pengembangan selanjutnya yang berhubungen dengan penelitian ini yaitu :

(46)

2. Untuk penelitian selanjutnya disarankan agar dapat menkonversi dua buah kunci yang digunakan menjadi satu, sehingga waktu yang diperlukan lebih singkat ketika melakukan enkripsi maupun dekripsi pada sistem yang dikembangakan.

Gambar

Gambar 3.1 Diagram Ishikawa
Gambar 3.2 Use-case Diagram
Tabel 3.2 Narative Use-case Dekripsi file Database
Gambar 3.3 Activity Diagram Sistem
+7

Referensi

Dokumen terkait

pengujian signifikansi koefisien regresi yang juga dilakukan dengan program SPSS diperoleh bahwa koefisien regresi tersebut signifikan, yang berarti benar bahwa

Narasumber yang dipilih penulis adalah dua orang perawat yang telah bekerja lebih dari lima tahun di Panti Lansia Santa Anna dan dua orang lansia yang tinggal di Panti Lansia Santa

antara dua orang atau lebih (bisa juga kelompok) yang salah satu pihak berusaha menyingkirkan pihak lain dengan menghancurkannya atau membuatnya tidak berdaya. Agaknya memang tak

Hasil uji statistik didapatkan p-value = 0,0001 <  = 0,05 maka Ho ditolak dengan demikian dapat disimpulkan bahwa ada pengaruh yang signifikan antara

Kejahatan dunia maya (cyber crime) sebagai kejahatan yang relatif baru. memiliki ciri-ciri

Properties Window atau jendela properties adalah jendela yang memuat semua informasi mengenai objek, yang terdapat dalam aplikasi Microsoft Visual Basic 6.0.. Properties adalah

Berdasarkan pada hasil dan keterbatasan penelitian, maka saran yang dapat diberikan pada penelitian selanjutnya adalah Bagi penelitian selanjutnya diharapkan

dengan paku yang diketok dengan palu besi.  Cek kerataan permukaan plafond yang sudah jadi dengan waterpass..  Setelah pekerjaan selesai dikerjakan, pelaksana hendaknya