Institutional Repository | Satya Wacana Christian University: Implementasi Algoritma Blowfish untuk Enkripsi Database Mysql pada Sistem Informasi Data Aset Berbasis Web

  

Implementasi Algoritma Blowfish untuk Enkripsi

Database Mysql pada Sistem Informasi Data Aset

  

Berbasis Web

Artikel Ilmiah

  

Kepada

Fakultas Teknologi Informasi

untuk memperoleh Gelar Sarjana Komputer

  

Peneliti :

Titus Debby Utomo(672013156)

Dr. Sri Yulianto J.P., S.Si., M.Kom.

  

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

  

Agustus 2017

  .

  1. Pendahuluan

  Aset merupakan barang atau benda yang terdiri dari benda yang bersifat tidak bergerak dan benda yang bersifat bergerak, baik yang berwujud (tangible) dan tidak berwujud (intangible) yang tercakup dalam aktiva/kekayaan perusahaan ataupun instansi. Kebutuhan informasi mengenai data dan informasi suatu aset sangatlah penting guna untuk memperbaiki kinerja atau efisiensi di dalam suatu instansi / lembaga. [1]. Penyimpanan aset merupakan bagian yang sangat penting bagi suatu instansi / lembaga. Sebuah manajemen aset yang terpadu dapat mencegah adanya penyimpangan aset. Masalah lain yang dapat terjadi adalah kesalahan pengelolaan aset, sehingga berdampak kerugian yang tidak sedikit karena sulitnya mengetahui apakah suatu aset sudah saatnya untuk diganti atau masih layak untuk dipergunakan sebab tidak adanya informasi/data yang jelas tentang aset tersebut.

  Sistem manajemen data (database) diperlukan untuk mendata inventaris barang-barang yang dapat digunakan pada bagian administrasi dan unit gudang pada Lembaga Penjaminan Mutu dan Audit Internal UKSW, agar dapat memantau inventaris barang-barang yang ada. Dimana sistem monitoring inventaris barang ini juga memberikan kemudahan bagi karyawan Lembaga Penjaminan Mutu dan Audit Internal UKSW untuk mendapatkan informasi mengenai data-data barang yang tersimpan secara rapi, integritasnya terjamin, serta pengolahan data atau informasi dapat dilakukan secara lengkap, cepat, tepat dan akurat. Data yang terdapat didalam database tersebut dapat diakses kapan saja. Dengan mudahnya akses untuk melihat isi dari sebuah database, maka tingkat keamanan data akan menjadi berkurang. Untuk itu diperlukan suatu sistem untuk menjaga keamanan data tersebut.

  Berdasarkan permasalahan yang ada, maka dibangun sistem keamanan database pada aplikasi sistem data aset LPMAI. Teknik pengamanan tersebut dikenal dengan nama kriptografi, sebagai suatu ilmu untuk mengamankan data [2]. Teknik enkripsi dan dekripsi yang digunakan dalam penelitian ini adalah algoritma blowfish. Algoritma Blowfish merupakan sebuah algoritma enkripsi simetris yang berarti bahwa algoritma ini menggunakan kunci yang sama baik untuk melakukan enkripsi dan dekripsi. Dengan menggunakan algoritma blowfish maka keamananpun akan lebih meningkat.

  Tujuan dari pembuatan aplikasi ini adalah untuk mengenkripsi data ke dalam database MySQL sehingga tidak semua orang dapat melihat data dalam database. Serta manfaat pembuatan aplikasi ini adalah keamanan informasi dalam sebuah database akan lebih terjamin [3].

  2. Tinjauan Pustaka

  Pada penelitian terdahulu yang berjudul “Rancang Bangun Aplikasi

  Enkripsi Database MySQL dengan Algoritma Blowfish

  ” membahas mengenai penggunaan algoritma blowfish untuk mengamankan data dalam database yang meliputi database, tabel, dan record. Dalam penelitian ini database yang akan diamankan datanya adalah MySQL. Data dalam database tidak dapat terbaca karena telah terenkripsi, sehingga hanya user tertentu yang dapat membaca isi dari

  

database dengan cara mendekripsinya. Algoritma Blowfish dipilih dalam

  penelitian ini karena algoritma tersebut mampu bekerja pada komputer dengan spesifikasi minim, cepat dan mudah dimengerti [3].

  Penelitian lain yang berjudul “Aplikasi Teknik Enkripsi dan Dekripsi File

  

dengan Algoritma Blowfish pada Perangkat Mobile Berbasis Android

  ” menyatakan bahwa tingkat keamanan dari aplikasi yang dibuat cukup aman karena algoritma Blowfish memiliki panjang kunci yang besar. Dengan menggunakan kunci berjumlah 72 bit atau 9 karakter dibutuhkan waktu 1,49x108 tahun untuk membongkarnya dengan kecepatan komputasinya adalah 106 key/sec [4].

  Penelitian lain yang berjudul “Penggunaan Algoritma Blowfish Dalam

  Kriptografi ” menjelaskan bahwa algoritma blowfish merupakan salah satu solusi yang baik untuk mengatasi masalah keamanan dan kerahasiaan data yang memerlukan kriptografi di dalamnya. Algoritma ini menggunakan jaringan feistel dan tingkat keamanannya ditentukan oleh jumlah iterasi dan panjang kunci yang digunakan. Implementasi algoritma blowfish yang optimal dapat dilakukan dengan aplikasi yang tidak sering berubah-ubah kunci. Setiap algoritma sandi memiliki kelemahan, demikian juga algortima blowfish. Dalam algoritma blowfish mungkin terjadi weak key dimana kemungkinannya terjadinya cukup kecil [6].

  Berdasarkan penelitian-penelitian yang terkait dengan algoritma blowfish tersebut, para peneliti menggunakan algoritma blowfish karena algoritma tersebut mampu bekerja pada komputer dengan spesifikasi minim, cepat dan mudah dimengerti. Tingkat keamanan dari algoritma ini ditentukan oleh jumlah iterasi dan panjang kunci yang digunakan. Dalam penelitian ini dilakukan enkripsi data yang diinputkan ke dalam database menggunakan algoritma blowfish. Data secara otomatis akan terenkripsi saat masuk ke dalam database. Teknik dalam algoritma blowfish ini didukung dengan mcrypt. Mcrypt menunjang penggunaan algoritma yang digunakan untuk enkripsi dan dekripsi data. Mcrypt mendukung berbagai macam algoritma enkripsi yang sifatnya dua arah, salah satu contohnya berupa algoritma blowfish. Fungsi ini mempermudah program agar lebih mudah, cepat, dan efisien dalam pembuatannya.

  Algoritma blowfish tidak memiliki karakteristik lainnya yang harus dipenuhi untuk menjalankan enkripsi dengan menggunakan algoritman blowfish. Ternyata selama aplikasi yang digunakan tidak sering berganti kunci, algoritma blowfish merupakan algoritma yang cepat, dan selama tidak dilakukan pengurangan jumlah iterasi Algoritma blowfish merupakan algoritma enkripsi yang aman. Algoritma ini menggunakan kunci simetrik cipher blok dengan panjang blok tetap sepanjang 64 bit. Algortima tersebut juga menerapkan teknik kunci yang berukuran sembarang. Ukuran kunci yang dapat diterima oleh blowfish adalah antara 32 hingga 448 bit, dengan ukuran standar sebesar 128 bit. Blowfish memanfaatkan teknik pemanipulasian bit dan teknik pemutaran ulang dan pergiliran kunci yang dilakukan sebanyak 16 kali. Algoritma utama terbagi menjadi dua sub-algoritma utama, yaitu bagian ekspansi kunci dan bagian enkripsi-dekripsi data.

  Blowfish termasuk dalam enkripsi block Chiper 64-bit dengan panjang kunci minimal 32-bit sampai 448-bit. Algoritma Blowfish terdiri atas dua bagian (Schneier, 1996). :

1) Key-Expansion Berfungsi merubah kunci (Minimum 32-bit, Maksimum

  448-bit) menjadi beberapa array subkunci r(subkey) dengan total 4168 byte. 2) Enkripsi Data Terdiri dari iterasi fungsi sederhana (Feistel Network) sebanyak 16 kali putaran. Setiap putaran terdiri dari permutasi kunci- dependent dan substitusi kunci dan datadependent. Semua operasi adalah penambahan (addition) dan XOR pada variabel 32-bit. Operasi tambahan lainnya hanyalah empat penelusuran tabel (table lookup) array berindeks untuk setiap putaran [6]. Proses enkripsi data terjadi pada jaringan feistel (Feistel Network), mengandung fungsi pengulangan sederhana sebanyak enam belas kali. Setiap iterasi, terdiri dari sebuah permutasi yang tidak bergantung pada kunci dan sebuah substitusi yang tidak bergantung pada data dan kunci. Semua operasi merupakan penambahan dan XOR pada word 32-bit. Operasi penambahan yang dilakukan hanya merupakan empat indeks array data lookup pada setiap iterasi. Input adalah elemen 64-bit, X.

  Alur algoritma blowfish : Untuk alur algoritma enkripsi dengan metode blowfish dijelaskan sebagai berikut: a.

  Bentuk inisial array P sebanyak 18 buah (P1,P2,………….P18) masing- masing bernilai 32-bit. Array P terdiri dari delapan belas kunci 32-bit subkunci : P1,P2,…….,P18 b. Bentuk S-box sebanyak 4 buah masing-masing bernilai 32-bit yang memiliki masukan 256. Empat 32-bit S-box masing-masing mempunyai

  256 entri : S1,0,S1,1,………………..,S1,255 S2,0,S2,1,………………..,S2,255 S3,0,S3,1,………………..,S3,255 S4,0,S4,1,………………..,S4,255 c.

  Plainteks yang akan dienkripsi diasumsikan sebagai masukan, Plainteks tersebut diambil sebanyak 64-bit, dan apabila kurang dari 64-bit maka kita tambahkan bitnya, supaya dalam operasi nanti sesuai dengan datanya.

  d.

  Hasil pengambilan tadi dibagi 2, 32-bit pertama disebut XL, 32-bit yang kedua disebut XR.

  e.

  Selanjutnya lakukan operasi XL = XL xor Pi dan XR = F(XL) xor XR.

  f.

  Hasil dari operasi di atas ditukar XL menjadi XR dan XR menjadi XL.

  g.

  Lakukan sebanyak 16 kali, perulangan yang ke- 16 lakukan lagi proses penukaran XL dan XR.

  h.

  Pada proses ke-17 lakukan operasi untuk XR = XR xor P17 dan XL = XL xor P18. i.

  Proses terakhir satukan kembali XL dan XR sehingga menjadi 64-bit kembali.

3. Metode dan Perancangan

  Pada penelitian ini, akan dilakukan beberapa tahapan penelitian yang secara garis besar terbagi dalam 5 tahapan, yaitu: pengumpulan data, analisis kebutuhan, perancangan sistem, pengujian sistem, dan penulisan hasil penelitian.

  Pengumpulan Data Analisis Kebutuhan

  Perancangan Sistem Kriptografi

  Pengujian Sistem Penulisan Laporan Hasil Penelitian

  Gambar 1 Tahapan Penelitian

  Berdasarkan pada Gambar 1, tahapan penelitian dijelaskan sebagai berikut, tahap pertama adalah pengumpulan data, pada tahap ini dipersiapkan segala data yang dibutuhkan untuk merancang kriptografi menggunakan algoritma blowfish. Data yang dimaksud meliputi referensi jurnal-jurnal, buku-buku yang berguna sebagai sumber dan acuan proses pembuatan kriptografi menggunakan algoritma blowfish berbasis web. Tahap kedua adalah analisis kebutuhan, pada tahap ini dilakukan analisis kebutuhan untuk merancang kriptografi menggunakan algoritma blowfish. Kebutuhan yang dibutuhkan seperti laptop atau pc, web server seperti xampp, dan aplikasi sublime untuk membuat aplikasi kriptografi menggunakan algoritma blowfish berbasis web. Tahap ketiga yaitu perancangan sistem. Pada tahap ini dilakukan pembuatan sistem kriptografi menggunakan algoritma blowfish. Tahap awal yaitu dengan melakukan komputasi kunci-kunci yang nantinya akan dilakukan proses enkripsi dan dekripsi. Tahap keempat yaitu pengujian sistem. Pada tahap ini sistem kriptografi menggunakan algoritma blowfish akan diimplementasi dan diuji. Selanjutnya, akan dianalisis terhadap hasil pengujian. Tahap kelima dilakukan penulisan laporan hasil penelitian dan artikel ilmiah. Tahap ini merupakan tahap dokumentasi terhadap penelitaian yang telah dilakukan dalam bentuk laporan.

  Dalam perancangan kriptografi algoritma blowfish ini dilakukan proses komputasi kunci yang nantinya dilanjutkan dengan proses enkripsi dan dekripsi. Algoritma blowfish ini menggunakan kunci simetris (kunci untuk menutup dan

  Gambar 2 Flowchart Sistem

  Gambar 2 menunjukkan alur proses sistem kriptografi menggunakan algoritma blowfish secara keseluruhan, langkah-langkah tersebut akan dijelaskan sebagai berikut:

  a) Menyiapkan kunci.

  b) Melakukan pengkomputasian kunci.

  c) Menyiapkan plainteks.

  d) Melakukan proses enkripsi. Pada langkah ini plainteks di XOR dengan kunci dan menghasilkan data enkripsi berupa cipherteks. f) Melakukan proses dekripsi. Dekripsi sama persis dengan enkripsi, namun sebagai masukkanya adalah cipherteks.

  g) Hasil dari dekripsi adalah plainteks yang akan ditampilkan di user interface web.

  Blowfish menggunakan subkunci berukuran besar. Kunci-kunci tersebut harus dikomputasikan pada saat awal sebelum pengkomputasian enkripsi dan dekripsi data. Langkah-langkahnya adalah sebagai berikut:

  a) Terdapat kotak permutasi (P-box) yang terdiri dari 18 buah 32 bit subkunci:

  P1, P2, P3,..., P18. P-box ini telah ditetapkan sejak awal, 4 buah P-box awal adalah sebagai berikut: P1 = 0x243f6a88 P2 = 0x85a308d3 P3 = 0x13198a2e P4 = 0x03707344

  b)

  XORkan P1 dengan 32 bit awal kunci, XORkan P2 dengan 32 bit berikutnya dari kunci, dan teruskan hingga sekuruh panjang kunci telah terXORkan (kemungkinan sampai P14, 14x32 = 448, panjang maksimal kunci).

  c) Terdapat 64 bit dengan isi kosong, bit-bit tersebut dimasukkan ke langkah 2.

  d) Gantkan P1 dan P2 dengan keluaran dari langkah 3.

  e) Enkripsikan keluaran langkah 3 dengan langkah 2 kembali, namun dengan subkunci yang berbeda (sebab langkah 2 menghasilkan subkunci baru).

  f) Gantikan P3 dan P4 dengan keluaran dari langkah 5.

  g) Lakukan seterusnya hingga sekuruh P-box teracak sempurna.

  h) Total keseluruhan, terdapat 521 iterasi untuk menghasilkan subkunci-subkunci yang dibutuhkan.

  Pada bagian ini, menjelaskan tentang pseudo-code pada implementasi algoritma blowfish untuk enkripsi database mysql pada sistem informasi data aset LPMAI berbasis web. Berikut pseudo-code algoritma enkripsinya:

  Proses Enkripsi {Program ini digunakan untuk melakukan proses enkripsi data} Kamus Pi, P17,P18 = string X,XL,XR,F = integer Start

  Bagi X menjadi dua 32-bit:

  XL, XR For i = 1 sampai 16

  XL = XL xor Pi

  XR = F(XL) xor XR Tukar XL dan XR Tukar XL dan XR /*untuk membatalkan penukaran terakhir*/

  XR = XR xor P17

  XL = XL xor P18 Kombinasikan kembali XL dan XR /*hasil chiperteks dari blok plainteks X*/ End

  Pada algoritma di atas dituliskan mengenai fungsi F. Fungsi F adalah:

  F(XL) = ((S1,a + S2,b mod 232) Bagi XL menjadi empat bagian 8-bit: a,b,c, dan d.

  XOR S3,c) + S4,d mod 232.

  Pada algoritma blowfish terdapat keunikan dalam proses deskripsinya, yaitu proses dekripsi dilakukan dengan urutan yang sama persis dengan proses enkripsi, hanya saja pada proses dekripsi P1,P2,...,P18 digunakan dalam urutan yang terbalik.

4. Hasil dan Pembahasan

  Pada bagian ini akan membahas algoritma blowfish untuk enkripsi database mysql pada sistem informasi data aset lpmai berbasis web secara lebih rinci. Data yang diinputkan pada sistem ini berasal dari inputan data aset pada halaman adminhome.php .

  Gambar 3 Form Input Data

  Gambar 3 merupakan form untuk menginputkan data aset. Setelah mengklik tombol “Tambah” maka secara otomatis data akan dilakukan proses enkripsi. Data yang sudah terenkripsi secara otomatis akan disimpan ke dalam database. Berikut adalah alur untuk proses enkripsi pada sistem data aset lpmai berbasis web:

  

Gambar 4 Flowchart Enkripsi

  Pada proses enkripsi, pengguna hanya tinggal menginputkan datanya saja karena kunci yang digunakan untuk enkripsi sudah berada di dalam program. Hasil dari inputan tadi akan langsung dienkripsi dan disimpan ke dalam database dalam bentuk plainteks menggunakan bahasa php.

  Kode Program 1 Proses input data dan enkripsi data 1. <?php 2. include("koneksi.php"); 3. include("library/func.php"); 4. require("cipher.php");

  5. 6. $cipher = new Cipher(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB); 7. $kunci = "qwertyuiop";

  8. 9. if(isset($_POST['addAset'])){ 10. $kode_aset = aman($_POST['kode_aset']); 11. $nama = aman($_POST['nama']); 12. $jenis = aman($_POST['jenis']); 13. $deskripsi = aman($_POST['deskripsi']); 14. $kode_divisi = aman($_POST['divisi']); 15. $kategori = aman($_POST['kategori']); 16. $harga = aman($_POST['harga']); 17. $kondisi = aman($_POST['kondisi']); 18. $tanggal_masuk = date("Y-m-d");

  19. 20. $enNama = $cipher->encrypt($nama, $kunci); 21. $enJenis = $cipher->encrypt($jenis, $kunci); 22. $enDeskripsi = $cipher->encrypt($deskripsi, $kunci); 23.

  

24. $cek = * mysqli_query($koneksi, "SELECT FROM tb_aset WHERE

25. kode_aset='$kode_aset'"); 26. if(mysqli_num_rows($cek) == 0){ 27. $insert = mysqli_query($koneksi, "INSERT INTO tb_aset(kode_aset, 28. gambar, nama, jenis, deskripsi, kode_divisi, kategori, 29. kondisi, harga, tanggal_masuk) VALUES ('$kode_aset', 30. 'avatar.png', '$enNama', '$enJenis', '$enDeskripsi', 31. '$kode_divisi', '$kategori', '$kondisi', '$harga', 32. '$tanggal_masuk')") or die(mysqli_error());

  Pada kode program 1, langkah pertama adalah memanggil file cipher.php pada baris ke-4. Dalam file cipher.php berisi fungsi pengkomputasian kunci, fungsi enkripsi, dan fungsi dekripsi. Pada baris ke-6 adalah fungsi algoritma yang digunakan yaitu algoritma blowfish. Penelitian ini menggunakan mcrypt untuk mendukung algoritma enkripsi seperti algoritma blowfish.

  Kode Program 3 Fungsi Enkripsi 1.

  printable atau pendek kata data biner disandikan menjadi format 7 bit karakter.

  Pada kode program 3 baris ke-9, terdapat base64_encode yang berfungsi untuk melakukan encoding (penyandian) terhadap data biner sehingga menjadi

  Pada kode program 3 merupakan fungsi untuk proses enkripsi. Dalam fungsi ini terdapat parameter utama yaitu plainteks dan kunci. Nilai plainteks diambil dari inputan pengguna, sedangkan nilai kunci diambil dari fungsi pengkomputasian kunci pada kode program 2. Mcrypt_encrypt digunakan untuk mendukung proses enkripsi.

  11. public function encrypt($data, $key = null, $iv = null) { $key = (strlen($key) == 0) ? $key = null : $key; $this->setKey($key); $this->setIV($iv); $out = mcrypt_encrypt($this->algo, $this->key, $data, $this->mode, $this->iv); return base64_encode($out); }

  10.

  9.

  8.

  7.

  6.

  5.

  4.

  3.

  2.

  Setelah kunci berhasil dikomputasi, output kunci akan dimasukkan ke dalam parameter fungsi enkripsi. Parameter fungsi enkripsi terdiri dari plainteks dan kunci.

  Pada baris ke-7 merupakan kunci yang digunakan untuk proses enkripsi. Kunci yang digunakan adalah sembarang. Ukuran kunci yang dapat diterima oleh blowfish adalah antara 32 hingga 448 bit, dengan ukuran standar sebesar 128 bit.

  Cipher::encrpyt() or Cipher::decrypt().", E_USER_ERROR); } }

  11. private function setKey($key) { if (!is_null($key)) {

$key_size = mcrypt_get_key_size($this->algo, $this->mode);

$this->key = hash("sha256", $key, true); $this->key = substr($this->key, 0, $key_size); } if (is_null($this->key)) { trigger_error("You must specify a key at least once in either

  10.

  9.

  8.

  7.

  6.

  5.

  4.

  3.

  2.

  Kode Program 2 Proses Komputasi Kunci 1.

  Berikut adalah algoritma program saat proses pengkomputasian kunci yang digunakan untuk enkripsi:

  Blowfish memanfaatkan teknik pemanipulasian bit dan teknik pemutaran ulang dan pergiliran kunci yang dilakukan sebanyak 16 kali.

  Berikut proses teknik base64:

  010010,000110,000101,110010. Cari nilai desimal:

  

8

  4

  2

  1 b. Kurangi 72 dengan 64. 72 bisa dikurangi dengan 64 maka dituliskan 1.

  72

  72

  8

  8

  

8

  64

  32

  16

  4

  16

  2

  1

  1

  

1

Tambahkan 0 di depan menjadi 010 0 10 0 0.

  3. Gabungkan 8 bit tadi menjadi 24 bit.

  8 bit

  01001000 01100001 01110010

  24 bit 010010000110000101110010 4.

  Pecah 24 bit menjadi 6 bit:

  24 bit 010010000110000101110010 6 bit 010010 000110 000101 110010

  5. Masing-masing pecahan diubah kedalam nilai desimal.

  8

  32

  2. Cari bilangan biner 8 bit dari kode ASCII yg ada.

  2

  3. Gabungkan 8 bit tadi menjadi 24 bit.

  4. Pecah 24 bit tadi menjadi 6 bit. Makaakan menghasilkan 4 pecahan.

  5. Masing-masing pecahan diubah kedalam nilai desimal.

  6. Jadikan nilai-nilai desimal tersebut menjadi indeks untuk memilih karakter penyusun dari base64 dan maksimal adalah 63 atau indeks ke 64.

  Dalam bagian ini akan menjelaskan proses enkripsi pada salah satu kalimat atau plainteks yaitu kata “Harga BBM Naik” secara rinci. Langkah-langkah proses enkripsi akan dijelaskan sebagai berikut: 1.

  Cari kode ASCII masing-masing teks:

  Teks H a r g a B B M N a i k ASCII 72 97 114 103 97 32 66 66 77 32 78 97 105 107

  2. Cari bilangan biner 8 bit dari kode ASCII yang ada: Contoh :

  Teks H a r ASCII 72 97 114

  Kode biner dari 72 sebagai berikut: a.

  Buatlah deret bilangan 2 pangkat yang dimulai dari 2 . Penulisan dimulai dari sebelah kanan. Batas bilangan harus kurang dari atau sama dengan (<=) nilai ASCII. Pada nilai 72 berarti harus dituliskan sebagai berikut:

  6

  64

  2

  5

  2

  4

  2

  

3

  2

  2

  2

  1

  2

  • – 64 = 8. Hasil 8 dikurangkan dengan 32. 8 tidak bisa dikurangi dengan 32, maka dituliskan 0. Kemudian 8
  • – 16, karena tidak bisa lagi dituliskan 0. Seterusnya sampai 1 sehingga dari nilai 72 akan terbentuk bilangan 1 0 0 1 0 0 0. Oleh karena hanya ada 7 bilangan maka ditambahkan 0 di depan menjadi 0 1 0 0 1 0 0 0. Sehingga sudah menemukan biner 8 bit dari H.

  1

6. Jadikan nilai-nilai tersebut menjadi indeks untuk memilih karakter penyusun dari base64.

  58

  60

  12 M 28 c 44 s

  7

  59

  11 L 27 b 43 r

  6

  10 K 26 a 42 q

  13 N 29 d 45 t

  5

  57

  25 Z 41 p

  9 J

  4

  56

  8

  61

  8 I

  S G F y ”Har” yang mempunyai nilain18,6,5,50 akan menjadi “SGFy”.

  Pada bagian ini akan ditampilkan hasil dari proses enkripsi menggunakan algoritma blowfish. Hasil dari output merupakan cipherteks dan disimpan ke dalam database. Berikut hasil yang telah diuji dengan data yang nyata:

  105,107 = 01101001,01101011 = 011010,010110,1011 011010,010110,1011 + 00 = 011010,010110,101100 = 26,22,44 a. “ik” = “aWs”, tambahkan “=” sebagai penggenap sehingga lengkapnya sebagai berikut: SGFyZ2EgQkJNIE5haWs=.

  Pada karakter terakhir “ik” ini tidak genap 3 bytes ini yang dinamakan terjadi “pad”.

  c.

  “ga ” = “Z2Eg” (spasi termasuk 1 karakter ) lakukan seterusnya untuk 3 bytes berikutnya.

  b.

  50 Char

  9

  5

  6

  18

  Value

  Berdasarkan tabel 1, maka :

  14 O 30 e 46 u 62 +

  24 Y 40 o

  3

  1

  2

  16 Q 32 g 48 w

  A

  Tabel 1 Tabel Indeks Base64 Value Char Value Char Value Char Value Char

  18 Nilai desimal untuk “Har” = 18,6,5,50.

  2 16 + 2 =

  1

  2

  17 R 33 h 49 x

  2

  3

  2

  4

  2

  5

  2

  1 B

  2 C

  55

  1

  23 X 39 n

  7 H

  2

  54

  22 W 38 m

  6 G

  53

  18 S 34 i 50 y

  21 V 37 l

  5 F

  52

  20 U 36 k

  4 E

  19 T 35 j 51 z

  3 D

15 P 31 f 47 v 63 / a.

  

Tabel 2 Tabel Hasil Pengujian Enkripsi

Plainteks Cipherteks

  Lenovo C320 l4v2ZrHhbnhDIP5+iYKx9g== Daikin FTNE MV nUd3NPPmGEoObmixQVdHEA== Daikin FTM50JV14 nUd3NPPmGErlRrxIKu26mQ== Panasonic CS-YN9RKJ PU/1PxYuhtq+CRZ9bGwCz5xcSPNfRMZZ Panasonic CS-YN5SKJ PU/1PxYuhtppwMRbZRHk2Ad2dga8lLAZ HP EliteOne 800 G2 PrldZqRDuNqSi9bPAWafQbT19CrGOMbQ HP ProOne 440 G3 c5GvT2Bmz+502lQswIIUuw== Dokumen dosen UKSW wZFeuvnjMZnxjqwvYRpwVEnb3MlyYTrK Jurnal dosen Z2MKKr5j0f7MJ8VhEWwXiw==

Uno Classic Meja Kantor kMW2nmJM4NgtOCOHW9fA78m7MO4Kb2X+

  Tabel 2 merupakan hasil dari plainteks yang sudah terenkripsi yang sudah disimpan dalam database. Apabila dalam proses encoding terdapat sisa pembagi, maka akan ditambahkan sebagai penggenap sisa tersebut karakter ‘=’. Maka terkadang pada base64 akan mu ncul satu atau dua karakter ‘=’ seperti yang dapat dilihat pada tabel 2.

  5. Simpulan

  Berdasarkan keseluruhan proses yang dilakukan untuk membangun implementasi algoritma blowfish untuk enkripsi database mysql pada sistem informasi data aset berbasis web ini dapat disimpulkan bahwa aplikasi ini telah berhasil dibangun dan dapat berfungsi sesuai dengan tujuan, yaitu mengamankan informasi database dengan mengubah data asli menjadi cipherteks sehingga tidak dapat dibaca atau dimengerti. Algoritma blowfish dipilih dalam penelitian ini karena algoritma tersebut mampu bekerja pada komputer dengan spesifikasi minim, cepat. Dan mudah dimengerti.

  Penelitian ini telah berhasil dan dapat diketahui bahwa enkripsi suatu

  

database dapat dilakukan dengan menggunakan algoritma blowfish dengan

bahasa php sebagai bahasa pemrogramannya.

  6. Daftar Pustaka

  [1] Yahya, Mochammad Indra. 2012. Perancangan Sistem Informasi Aset

  Manajemen Berbasis Web di SMP Negeri 35 Surabaya . Surabaya : Universitas Pembangunan Nasional.

  [2] Munir, R., 2006, “Kriptografi”, Bandung: Informatika. [3] Tetuko, Anita Qoiriah. 2013. Rancang Bangun Aplikasi Enkripsi Database Mysql dengan Algoritma Blowfish. Surabaya : Universitas Negeri Surabaya.

  [4] Siswo Wardoyo, dkk. 2014. Aplikasi Teknik Enkripsi dan Dekripsi File dengan Algoritma Blowfish pada Perangkat Mobile Berbasis Android.

  [5] Suriski Sitinjak, dkk. 2010. Aplikasi Kriptografi File menggunakan Algoritma Blowfish . Yogyakarta: UPN. [6] Sutanto, Alim. 2009. Penggunaan Algoritma Blowfish dalam Kriptografi.

  Bandung: Institut Teknologi Bandung. [7] Utami Ema, dkk. 2010. Penerapan Algoritma Blowfish untuk Membuat

  Sebuah Model Kriptosistem Algoritma dan Menganalisis Kinerja Algoritma Blowfish dengan Simulasi Data Terbatas. Yogyakarta: STMIK AMIKOM.

Dokumen yang terkait

Institutional Repository | Satya Wacana Christian University: Pengaruh Model Cooperative Learning Tipe STAD terhadap Hasil Belajar IPA Siswa Kelas 3 SDN Karangtengah Kecamatan Tuntang Kabupaten Semarang Semester 2 Tahun Ajaran 2014/2015

0 0 17

BAB IV HASIL PENELITIAN DAN PEMBAHASAN 4.1 Gambaran Setting Penelitian - Institutional Repository | Satya Wacana Christian University: Pengaruh Model Cooperative Learning Tipe STAD terhadap Hasil Belajar IPA Siswa Kelas 3 SDN Karangtengah Kecamatan Tuntan

0 0 26

Institutional Repository | Satya Wacana Christian University: Peningkatan Hasil Belajar Matematika Menggunakan Model Pembelajaran Kooperatif Tipe TGT Siswa Kelas V SD Negeri 2 Wonoroto Kabupaten Wonosobo Semester II Tahun Ajaran 2014 / 2015

0 0 7

BAB II KAJIAN PUSTAKA 2.1 Landasan Teori 2.1.1 Hasil Belajar Siswa - Institutional Repository | Satya Wacana Christian University: Peningkatan Hasil Belajar Matematika Menggunakan Model Pembelajaran Kooperatif Tipe TGT Siswa Kelas V SD Negeri 2 Wonoroto K

0 0 26

Institutional Repository | Satya Wacana Christian University: Peningkatan Hasil Belajar Matematika Menggunakan Model Pembelajaran Kooperatif Tipe TGT Siswa Kelas V SD Negeri 2 Wonoroto Kabupaten Wonosobo Semester II Tahun Ajaran 2014 / 2015

0 0 17

Institutional Repository | Satya Wacana Christian University: Peningkatan Hasil Belajar Matematika Menggunakan Model Pembelajaran Kooperatif Tipe TGT Siswa Kelas V SD Negeri 2 Wonoroto Kabupaten Wonosobo Semester II Tahun Ajaran 2014 / 2015

0 0 25

Institutional Repository | Satya Wacana Christian University: Peningkatan Hasil Belajar Matematika Menggunakan Model Pembelajaran Kooperatif Tipe TGT Siswa Kelas V SD Negeri 2 Wonoroto Kabupaten Wonosobo Semester II Tahun Ajaran 2014 / 2015

0 0 14

Institutional Repository | Satya Wacana Christian University: Peningkatan Hasil Belajar Matematika Menggunakan Model Pembelajaran Kooperatif Tipe TGT Siswa Kelas V SD Negeri 2 Wonoroto Kabupaten Wonosobo Semester II Tahun Ajaran 2014 / 2015

0 0 97

Institutional Repository | Satya Wacana Christian University: Aplikasi Inventori Menggunakan Teknologi Firebase: Studi Kasus PT. Asindo Setiatama

1 1 22

Institutional Repository | Satya Wacana Christian University: Pembuatan Game Simulasi Trading Saham pada Platform Android

0 1 26