• Tidak ada hasil yang ditemukan

Implementasi Enkripsi dengan Metoda Blow

N/A
N/A
Protected

Academic year: 2018

Membagikan "Implementasi Enkripsi dengan Metoda Blow"

Copied!
21
0
0

Teks penuh

(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)

Seminar Nasional Teknologi Informasi dan Komuniksi (SNASTIKOM 2014) ISBN: 978-602-19837-5-1

8 I Computer Security

Implementasi Enkripsi dengan Metode Blowfish

pada Perangkat Lunak Administrasi Sekolah Berbasis Website

Awan Setiawan,

Iwan Abadi, Ima Siti Maryam

Jurusan Teaknik Informatika Fakultas Teknik Universitas Langlangbuana Bandung

Abstract

Perangkat Lunak Administrasi Sekolah dalam pengelolaan Control Admin (Data Siswa, Data Staff Mengajar, Data Berita Sekolah) dan Control Guru (Data Nilai dan Absensi) dilakukan Pengamanan Data dengan cara Enkripsi Data. Pengamanan dilakukan agar data yang rentan terhadap perubahan yang dilakukan oleh orang yang tidak berhak tidak terjadi. Enkripsi data dilakukan menggunakan Metode Algoritma Blowfish. Algoritma Blowfish termasuk algoritma kunci simetri yang dalam proses enkripsi dan deskripsi menggunakan kunci yang sama. Dalam algoritmanya menggunakan 16 putaran agar data tersebut tidak dapat dibongkar.

Kata kunci: Enkripsi Blowfish, Keamanan Data,

Prangkat Lunak Administrasi.

1. Pendahuluan

Data merupakan asset yang sangat berharga bagi suatu organisasi perusahaan maupun sebuah instansi. Data yang sensitive sebaiknya dikontrol terhadap akses yang tidak mempunyai hak agar data tersebut terjaga kerahasiaanya, tidak dapat dirubah oleh sembarang orang serta dapat tersedia apabila diperlukan.

Salah satu bentuk pengontrolan terhadap data yaitu dengan meng-Enkripsi data menjadi data yang tidak mudah dimengerti dengan menggunakan kunci tertentu.

Umumnya berdasarkan kesamaan kuncinya algoritma sandi dibedakan menjadi dua, yaitu kunci-simetris dan kunci-asimetris. Algoritma yang termasuk kunci simetris salah satunya yaitu Blowfish. Algoritma yang termasuk kunci Asimetris yaitu: Knapsack dan lain-lain. Dalam kesempatan ini penulis melakukan Implementasi Enkripsi tehadap Prangkat Lunak Administrasi Sekolah pada Madrasah Aliyah Al-Mukhlisin Berbasis Website agar data yang rentan terhadap perubahan oleh orang yang tidak berhak diharapkan tidak terjadi.

Penelitian ini bertujuan untuk: Memberikan control akses data, karena dengan Enkripsi Blowfish tidak semua orang dapat membuka atau masuk ke data yang di enkripsi, hanya yang mempunyai kunci yang dapat masuk.

2. Landasan Teori 2.1 Kriptografi

Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan [SCH96]. Keamanan pesan diperoleh dengan menyandikanya menjadi pesan yang tidak mempunyai makna (Rinaldi Munir, Matematika Diskrit : 203).

2.2 Blowfish

Blowfish atau yang disebut juga “OpenPGP .Chiper.4”

adalah algoritma kunci simetrik chiper blok yang dirancang pada tahun 1993 oleh Bruce Schneire untuk mengganti DES (Data Encryption Standar). Algoritma Blowfish dibuat untuk digunakan pada computer yang mempunyai microprosesor besar (32-bit keatas dengan cache data yang besar).Blowfish dirancang dan diharapkan mempunyai kriteria perancangan yang diinginkan sebagai berikut:

1. Cepat, Blowfish melakukan enkripsi data pada microprosesor 32-bit dengan rate 26 clock cycles ber byte.

2. Compact, Blowfish dapat dijalankan pada memory kurang dari 5K.

3. Sederhana, Blowfish hanya menggunakan oprasi – oprasi sederhana seperti penambahan, XOR dan lookup table pada operan 32 bit.

4. Memiliki tingkat yang bervariasi, panjang kunci yang digunakan oleh Blowfish dapat bervariasi dan bisa sampai sepanjang minimal 32-bit dan maksimal 448-bit, Multiple 8 bit, default 128 bit. Namun dalam penerapanya seringkali algoritma ini menjadi tidak optimal. Karena strategi implementasi yang tidak tepat. Algoritma blowfish akan lebih optimal jika digunakan untuk aplikasi yang tidak sering berganti kunci seperti jaringan komunikasi atau enkripsi file otomatis.

2.3 Struktur Algoritma Blowfish

Blowfish merupakan blok chiper 64 bit dengan panjang kunci variable. Algoritma ini terdiri dari dua bagian : key expansion atau peluasan kunci dan enkripsi data.

1. Key-Expansion

Berfungsi merubah kunci (Minimum 32-bit, maksimum 448-bit) menjadi beberapa array subkunci (subkey) dengan total 4168 byte.

2 Enkripsi Data

Terdiri dari itersi fungsi sederhana (Fiestel Network) sebanyak 16 kali putaran. Setiap putaran terdiri dari permutasi kunci-dependent dan substitusi kunci dan data-dependent. Semua operasi adalah penambahan (addition) dan XOR pada variable 32-bit. Operasi tambahan lainya hanyalah 4 penelusuran table (table lookup) array berindeks untuk setiap putaran.

(16)

Seminar Nasional Teknologi Informasi dan Komuniksi (SNASTIKOM 2014) ISBN: 978-602-19837-5-1

9 I Computer Security

Empat 32-bit S-box masing-masing mempunyai 256 entri :

3. 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 oprasi nanti sesuai dengan datanya.

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

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

6. Hasil dari operasi diatas ditukar XL menjadi XR dan XR menjadi XL.

7. Lakukan sebanyak 16 kali peluang yang ke 16 dilakukan lagi proses penukaran XL dan XR

8. Pada proses yang ke 17 lakukan operasi untuk XR = XR xor P17 dan XL = XL xor P18.

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

Blowfish menggunakan jaringan Fiestel yang terdiri dari 16 buah putaran. Sekema jaringan Fiestel dapat dilihat pada gambar 1berikut

Gambar 1 Jaringan Fiestel untuk algoritma Blowfish

Algoritma blowfish memiliki keunikan dalam hal proses deskripsi, yaitu proses deskripsi dilakukan dengan urutan yang sama persis dengan proses enkripsi, hanya saja pada

proses deskripsi P1, P2, …,P18 digunakan dalam urutan yang

terbalik. Dalam Algoritma blowfish juga terdapat fungsi f. berikut mengenai fungsi f tersebut.

Gambar 2 Fungsi f dalam algoritma Blowfish

Sebelumnya dijelaskan bahwa aray P terdiri dari 18 subkunci. Subkunci dihitung menggunakan algoritma Blowfish, metodenya adalah sebagai beriku :

1. Pertama-tama inisialisasi P-array dan kemudian empat S-box secara berurutan dengan string yang tepat. String ini terdiri atas digit hexsadesimal dari Pi.

2. XOR P1 dengan 32-bit pertama kunci, XOR P2 dengan 32-bit kedua dari kunci dan seterusnya untuk setiap bit dari kunci (sampai P18). Ulangi terhadap bit kunci sampai seluruh P-array di XOR dengan bit kunci.

3. Enkrip semua string nol dengan algoritma Blowfish dengan menggunakan subkunci seperti dijelaskan pada langkah (1) dan (2).

4. Ganti keluaran P1 dan P2 dengan keluaran dari langkah (3)

5. Enkrip keluaran dari langkah (3) dengan algoritma blowfish dengan subkunci yang sudah dimodifikasi 6. Ganti P3 dan P4 dengan keluaran dari langkah (5) 7. Lanjutkan proses tersebut, ganti seluruh elemen dari

P-array. Kemudian seluruh keempat S-box berurutan, dengan keluaran yang berubah secara kontiyu dari algoritma Blowfish.

Secara keseluruhan terdapat 521 iterasi atau putaran yang dibutuhkan untuk membangkitkan seluruh upa-kunci yang dibutuhkan. Aplikasi kemudian dapat menyimpan upa-kunci yang telah dihasilkan. Proses pembangkitan kunci ini tidah perlu selalu dilakukan setiap saat.

2.4 Perangkat Lunak

Perangkat lunak adalah seluruh perintah yang digunakan untuk memproses informasi. Perangkat lunak dapat berupa program atau prosedur. Program adalah kumpulan perintah yang dimengerti oleh komputer. Sedangkan prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses

informasi („Oberin, 1999).

Pada pembuatan perangkat lunak, model proses yang digunakan yaitu:

Unified Process

Gambar 3 RUP Life Cycle (Ambler, 2005).

2.5 UML

UML adalah bahasa pemodelan standar atau kumpulan tektik-teknik untuk menspesifikasi, mem-visualisasi, meng-konstruksi dan mendokumentasi hasil kerja dalam pengembangan perangkat lunak (Fowler, 2004).

Ada beberapa jenis diagram yang disediakan dalam UML, antara lain adalah:

1. Use-case diagram. Menggambarkan interaksi antara pengguna dengan sebuah perangkat lunak.

(17)

Seminar Nasional Teknologi Informasi dan Komuniksi (SNASTIKOM 2014) ISBN: 978-602-19837-5-1

10 I Computer Security

3. Class diagram. Menggambarkan class, fitur dan hubungan-hubungan yng terjadi.

4. Sequence diagram. Menggambarkan interaksi antar obyek dengan penekanan pada urutan proses atau kejadian. 5. State machine diagram. Menggambarkan bagaimana suatu kejadian mengubah obyek selama masa hidup obyek tersebut.

6. Component diagram.

Menggambarkan struktur dan koneksi komponen.

3. Analisis Dan Perancangan

3.1Work Flow Enkripsi Data Perangkat Lunak Administrasi Sekolah

Work Flow yang dilakukan admin yaitu mulai dari buka aplikasi,login,control panel, enkripsi data, sampai dengan tutup aplikasi.

Work Flow yang dilakukan guru hampir sama dengan admin, namun guru melakukan registrasi terlebih dulu, apabila belum punya username dan password.

Untuk lebih jelasnya, berikut gambar work flow enkripsi data perangkat lunak administrasi sekolah.

Gambar 4 Work Flow Enkripsi Data pada Perangkat Lunak

3.2Analisis Sistem

3.2.1 Algoritma Blowfish

X sebagai masukan (input) Panjang 64 bit, kemudian x dibagi ½ yaitu kiri (XL) dan kanan (XR) yang masing-masing Panjang 32 bit. Setelah itu, X mengalami operasi XOR dan iterasi sebanyak 16 kali. Kemudian XL dan XR ditukarkan, setelah itu dilakukan proses XOR. Kemudian gabung hasilnya XL dan XR, sehingga didapat byte chipertextnya. Proses deskripsi sama dengan proses enkripsi, tetapi menggunakan P-array dengan urutan terbalik.

Gambar 5 Flowchart Algoritma Blowfish

3.2.2 Algoritma Enkripsi dan Deskripsi Data Siswa

Proses algoritma enkripsi deskripsi data siswa alurnya seperti pada algoritma blowfish, akan tetapi ini sudah di implementasikan pada data siswa. Flow diagram dapat dilihat pada Gambar 6.

Gambar 6 Flowchart Enkripsi dan Deskripsi Data Siswa

3.2.3 Langkah-langkah untuk enkripsi data siswa dari database

- Memanggil algoritma blowfish - Membuat sebuah objek dan class - Koneksi ke database

- Memanggil data siswa dari database - Menetukan kunci

- Menginisialisasi data siswa yang berada di database - Mengenkripsi data siswa

- Write enkripsi data siswa

(18)

Seminar Nasional Teknologi Informasi dan Komuniksi (SNASTIKOM 2014) ISBN: 978-602-19837-5-1

11 I Computer Security

3.2.4 Langkah-langkah untuk deskripsi data siswa dari database

Admin yang akan mengelola data siswa terlebih dahulu menginputkan kunci, kemudian program memproses kunci yang di inputkan admin. Jika kunci kosong dan salah maka admin akan tetap pada posisi data yang di enkripsi, namun apabila kunci sama maka program akan memproses kunci kemudian:

-Data yang telah di enkripsi diubah menjadi data yang di deskripsi

-Kemudian ditampilkan ke halaman kelola data siswa

Berikut penulisan enkripsi data siswa di ubah ke deskripsi data

3.2.5 Usecase Diagram Sistem

Usecase diagram Enkripsi Data Kontrol Admin dan Guru

Terdapat Buka aplikasi,Login, Control Panel Admin, Control panel Guru, Tutup aplikasi, Log out,Database,Data siswa, Data staff Pengajar, Data nilai dan absensi, Data berita sekolah Registrasi guru, Enkripsi blowfish.

Berikut diagram Use case Admin dan Guru dilakukan Enkripsi Data.

Gambar 7 Usecase Diagram Sistem Control Admin dan Guru dilakukan Enkripsi data

3.2.6 Activity Diagram Sistem

Admin dan Guru masuk sistem untuk mengelola data

Menjelaskan tentang bagaimana Admin pada saat login. Sebelum admin masuk ke sistem,mengelola data, sampai admin dapat keluar dari aplikasi.

Pada control Guru dilakukan proses yang sama, namun pada control guru, hanya mengelola data nilai dan absensi.

Gambar 8 Activity Diagram Login Admin dan Guru Masuk Sistem Kelola Data

3.3Sequence Diagram Sistem Sequence Diagram Admin Login kelola Data Siswa

Admin mulanya menginputkan username dan

password,enkripsi data menggunakan algoritma blowfish, input kunci sampai keluar aplikasi.

Untuk lebih jelasnya berikut diagram sequence admin untuk mengelola data siswa.

Gambar 9 Sequence Diagram Admin Login Kelola Data Siswa

3.3.1 Class diagram Sistem

Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain.

(19)

Seminar Nasional Teknologi Informasi dan Komuniksi (SNASTIKOM 2014) ISBN: 978-602-19837-5-1

12 I Computer Security

3.4 Perancangan Sistem

3.4.1 Perancangan Antar Muka Sistem

1. Form Enkripsi Data Siswa

Form ini merupakan form data siswa yang sudah dienkripsi, admin harus input kunci terlebih dahulu untuk mengelola data siswa.

Gambar 11 Form Enkripsi Data Siswa

2. Form Deskripsi dan Kelola Data siswa

Form ini merupakan form data siswa yang sudah dideskripsi, admin dapat melihat data siswa dan dapat mengelola data tersebut.

Gambar 12 Form Deskripsi dan Kelola Data Siswa

4. Implementasi Dan Pengujian 4.1 Implementasi Data Siswa

1. Tampilan Data Siswa yang dienkripsi

Pada halaman ini data siswa telah dienkripsi, untuk mengelola data siswa, admin harus input kunci terlebih dahulu.

Gambar 13 Tampilan Enkripsi Data Siswa

2. Tampilan Data siswa yang sudah di deskripsi dan admin dapat mengelola data siswa

3.

Gambar 14 Tampilan Deskripsi dan Mengelola Data Siswa 4.2Pengujian

Pengujian menjelaskan tentang kebutuhan fungsional apa saja yang akan diuji (kelas uji), apa saja kasus ujiny a(butir ujinya), apa jenis fungsinya, teknik pengujian yang akan digunakan.

(20)

Seminar Nasional Teknologi Informasi dan Komuniksi (SNASTIKOM 2014) ISBN: 978-602-19837-5-1

13 I Computer Security

4.2.1 Deskripsi dan hasil pengujian

Deskripsi hasil pengujian Data Siswa.

Kesimpulan pengujian terhadap Implementasi Enkripsi dengan metode blowfish pada prangkat lunak administrasi sekolah yang dibangun untuk keamanan data dapat berjalan dengan baik, Admin dan guru tidak dapat masuk untuk mengelola data apabila kunci yang dimasukan salah, Pada proses mulai dari buka aplikasi, login admin, tersedianya halaman control panel admin, registrasi guru, login guru, tersedianya control panel guru dan logout guru, dan tutup aplikasi berjalan dengan baik.

5. KESIMPULAN

5.1 Kesimpulan

Implementasi Enkripsi Data yang dilakukan pada Perangkat Lunak Administrasi Sekolah Berbasis Website

yang dibangun didapatkan hasil bahwa, Perangkat Lunak tersebut dalam hal keamanan data terhadap orang yang tidak berhak dapat diatasi dengan baik, salah satunya dengan mengenkripsi data. Enkripsi data dengan menggunakan metode algoritma blowfish. Agar Aman dari pembongkaran data maka dalam algoritmanya menggunakan 16 putaran. Sehingga data tidak mudah dibongkar. Admin dan Guru tidak dapat masuk untuk mengelola Data (Data Siswa, Data Staff Mengajar, Data Berita Sekolah) tanpa menginputkan kunci terlebih dahulu, serta Guru tidak dapat mengelola Data Nilai dan Absensi,sebelum guru tersebut menginputkan kunci.

DAFTAR PUSTAKA

1. Munir Rinaldi. “Matematika Diskrit”,

PenerbitINFORMATIKA, Bandung, 2009.

2. Sutanto, Alim, Candra.,”Penggunaan Algoritma Blowfish

dalam kriptografi”,Institut Teknologi Bandung.

3. Kadir, Abdul.,”Tuntuna Praktis Belajar Database

Menggunakan MySQL”, PenerbitANDI,

Yogyakarta,2008.

4. Mulyanto, R. Aunur.,”Rekayasa Perangkat Lunak Jilid

1”, Penerbit Direktorat Pembinaan Sekolah Menengah

Kejuruan, 2008.

5. Sidik, Betha, Ir., “MySQL Untuk Pengguna,

Adminstrator dan Pengembang Aplikasi Web”,

PenerbitInformatika, Bandung, 2005

(21)

Gambar

Gambar 1 Jaringan Fiestel untuk algoritma Blowfish
Gambar 5 Flowchart Algoritma Blowfish
Gambar  8 Activity Diagram Login Admin dan Guru Masuk Sistem Kelola Data
Tabel 1 Tabel Rencana Pengujian Enkripsi Data pada Perangkat Lunak

Referensi

Dokumen terkait

Implementasi metode kriptografi Rijndael pada perangkat lunak yang dibangun adalah dalam bentuk enkripsi dan dekripsi yang dilakukan pada pesan yang terdapat pada perangkat

Salah satu cara untuk menjaga keamanan dan kerahasiaan suatu data maupun informasi adalah dengan teknik enkripsi dan dekripsi guna membuat pesan, data, maupun informasi agar

Berdasarkan latar belakang di atas, maka diangkat judul penelitian, Implementasi Super Enkripsi Algoritma ElGamal dengan Teknik Transposisi Segitiga sebagai salah

Keamanan dan penyisipan pesan rahasia pada gambar dengan enkripsi Blowfish dan Steganografi End of file berbasis web adalah suatu aplikasi yang digunakan untuk

Pada penelitian ini di lakukan perancangan dan implementasi keamanan data document (.doc) dengan menggunakan metode enkripsi twofish yang berfungsi untuk mengenkripsi data

Salah satu cara untuk menjaga keamanan dan kerahasiaan suatu data maupun informasi adalah kerahasiaan suatu data maupun informasi adalah dengan teknik enkripsi dan

Berdasarkan hasil pengujian yang dilakukan, hasil dari pengujian fitur enkripsi dan dekripsi perangkat lunak pada lingkungan telepon selular berjalan dengan cukup cepat

TINJAUAN PUSTAKA Implementasi Enkripsi Adapun implementasi yang diterapkan pada kombinasi dua metode enkripsi yaitu vigenere cipher dan RSA yaitu dengan menerapkan kombinasi kedua