• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
24
0
0

Teks penuh

(1)

LANDASAN TEORI

2.1. Keamanan dan Kerahasiaan Data

Masalah keamanan dan kerahasiaan data merupakan hal yang sangat sangat penting dalam suatu organisasi maupun untuk pribadi. Apalagi kalau data tersebut berada dalam suatu sistem komputer, jaringan komputer bahkan dalam jaringan internasional atau internet. Berkaitan dengan masalah yang terjadi terhadap data yang ada dalam komputer, ruang lingkup keamanan data dalam suatu sistem komputer mencakup hal-hal yang berkaitan dengan :

a) Kemanan fisik

Komputer harus diletakkan pada tempat yang dapat dikontrol, karena kemungkinan penyalahgunaan dapat terjadi.

b) Keamanan akses

Seluruh akses terhadap suatu sistem komputer secara administrasi harus terkontrol dan terdokumentasi, sehingga apabila ada suatu permasalahan dapat diketahui penyebabnya dan mencari solusi/pemecahanya.

c) Keamanan file atau data

Untuk file/data yang sensitif atau bersifat rahasia, diperlukan tingkatan akses dan bahkan dapat dibuatakan suatu kode sandi tertentu sehingga apabila suatu file/data tersebut dicuri, isi informasinya tidak dengan mudah didapatkan.

d) Kemanan jaringan

(2)

dibuatakan kode sandi tertentu untuk pengamananya pada saat transmisi.

Menurut G. J. Simons, keamanan informasi adalah bagaimana kita dapat mencegah penipuan (cheating) atau paling tidak mendeteksi adanya penipuan di sebuah sistem yang berbasis informasi, dimana informasinya sendiri tidak memiliki arti fisik (Rahardjo, 2005:11).

2.1.1 Aspek Yang Berkaitan Dengan Persyaratan Keamanan

Keamanan data pada sistem komputer melingkupi empat aspek, yaitu privacy,

integrity, authentication dan availibility. 1. Privacy/Confidentiality

Inti utama aspek privacy atau confidentiality adalah usaha untuk menjaga informasi dari orang yang tidak berhak mengakses. Privacy lebih kearah data-data yang sifatnya privat sedangkan confidentiality biasanya berhubungan dengan data yang diberikan ke pihak lain untuk keperluan tertentu. Contoh hal yang berhubungan dengan privacy adalah e-mail seorang pemakai (user) tidak boleh dibaca oleh administrator. Contoh confidential information adalah data-data yang sifatnya pribadi (seperti nama, tempat tanggal lahir, nomor kartu kredit, dan sebagainya) merupakan data-data yang ingin diproteksi penggunaan dan penyebarannya.

2. Integrity

(3)

tampered, modified), kemudian diteruskan ke alamat yang dituju. Dengan kata lain, integritas dari informasi sudah tidak terjaga. 3. Authentication

Aspek ini berhubungan dengan metode untuk menyatakan bahwa informasi betul-betul asli, orang yang mengakses atau memberikan informasi adalah betul-betul orang yang dimaksud, atau server yang kita hubungi adalah betul-betul server yang asli.

Masalah pertama, membuktikan keaslian dokumen dapat dilakukan dengan teknologi watermarking dan digital signature. Watermarking juga dapat digunakan untuk menjaga “intelectual property”, yaitu dengan menandai dokumen atau hasil karya dengan “tanda tangan” pembuat. Masalah kedua biasanya berhubungan dengan access control, yaitu berkaitan dengan pembatasan orang yang dapat mengakses informasi. Dalam hal ini pengguna harus menunjukkan bukti bahwa memang dia adalah pengguna yang sah, misalnya dengan menggunakan password terhadap sebuah data.

4. Availibility

Aspek availability atau ketersediaan berhubungan dengan ketersediaan informasi ketika dibutuhkan. Sistem informasi yang diserang atau dijebol dapat menghambat atau meniadakan akses ke informasi. Contoh hambatan adalah serangan yang sering disebut dengan “denial of service attack” (DoS attack), dimana server dikirimi permintaan (biasanya palsu) atau permintaan yang diluar perkiraan sehingga tidak dapat melayani permintaan lain atau bahkan sampai down, hang, crash.

2.1.2 Aspek Yang Berkaitan Dengan Ancaman Keamanan

(4)

1) Interruption

Merupakan ancaman terhadap availibility, yaitu data dan informasi yang berada dalam sistem komputer dirusak atau dibuang, sehingga menjadi tidak ada dan tidak berguna.

2) Interception

Merupakan ancaman terhadap privasy/secrecy, yaitu orang yang tidak berhak namun berhasil mendapatkan akses informasi dari dalam suatu sistem komputer.

3) Modification

Merupakan ancaman terhadap integritas, yaitu orang yang tidak berhak tidak hanya berhasil mendapatakan akses informasi dari dalam sistem komputer, tetapi dapat juga melakukan perubahan terhadap informasi.

4) Fabrication

Merupakan ancaman terhadap integritas, yaitu orang yang yang tidak berhak yang meniru atau memalsukan suatu objek kedalam sistem.

2.1.3 Keamanan dan Kerahasiaan Data Dalam Jaringan Komputer

Keamanan jaringan didefinisikan sebagai sebuah perlindungan dari sumber daya terhaadap upaya penyingkapan, modifikasi, utilisasi, pelarangan, dan perusakan oleh pihak yang tidak diijinkan

Untuk menjaga kemanan dan kerahasiaan data dalam suatu jaringan komputer, diperlukan beberapa jenis enkripsi agar data tidak dapat dibaca atau dimengerti oleh sembarang orang, kecuali untuk penerima yang berhak. Pengaman data tersebut selain bertujuan untuk meningkatkan keamanan data juga berfungsi untuk :

(5)

 Mencegah agar orang-orang yang tidak berhak, tidak menyisipkan atau menghapus data.

Untuk menyimpan sesuatu secara pribadi, maka kita harus menyembunyikan agar orang lain tidak tahu. Sebagai contoh, ketika kita mengirim surat kepada seseorang, maka kita membungkus surat tersebut dengan amplop agar tidak terbaca oleh orang lain. Untuk menambah kerahasiaan surat tersebut agar tetap tidak secara mudah dibaca oleh orang apabila amplop dibuka, maka kita mengupayakan untuk membuat mekanisme tertentu agar isi surat tidak secara mudah dapat dipahami. Salah satu hal yang penting dalam komunikasi menggunakan komputer untuk menjamin kerahasiaan data adalah enkripsi. Enkripsi adalah sebuah proses yang melakukan perubahan sebuah kode dari yang bisa dimengerti menjadi sebuah kode yang tidak bisa dimengerti atau tidak terbaca.

Enkripsi dapat diartikan sebagai kode atau cipher. Sebuah sistem pengkodean menggunakan suatu tabel atau kamus yang telah didefinisikan untuk mengganti kata dari informasi yang dikirim. Sebuah cipher

menggunakan suatu algoritma yang dapat mengkodekan semua aliran data (stream) bit dari sebuah pesan menjadi cryptogram yang tidak dimengerti (unnitelligible). Karena teknik cipher merupakan suatu sistem yang telah siap untuk di automasi, maka teknik ini digunakan dalam sistem kemanan komputer dan jaringan.

Ada 2 hal yang terkait dengan keamanan dan kerahasiaan data dalam jaringan komputer yaitu representasi data dan kompresi data, yang nantinya terkait dengan masalah enkripsi.

2.1.4 Representasi Data

(6)

sistem sandi ASCII. Oleh karena itu, walaupun semua data diterima tanpa adanya kesalahan , tetapi masih terdapat perbedaan representasi data, maka hasil yang diperoleh akan berbeda pula. Untuk mengatasi masalah itu, maka sebelum diolah data yang diterima harus dikenversi sehingga data yang diterima sesuai dengan sistem sandi komputer penerima.

2.1.5 Kompresi Data

Organisai-organisasi yang mengoperasikan jaringan komputer seringkali mengharapkan dapat menekan biaya pengiriman data. Biaya pengiriman itu sangat bergantung dengan banyaknya byte data yang dikirimkan. Oleh karena itu, dengan melakukan kompresi terhadap data, akan dapat menghemat biaya pengiriman data. Istilah kompresi diterjemahkan dari bahasa Inggris “compression” yang berarti pemampatan. Dalam bidang

teknik, kompresi berarti proses memampatkan sesuatu yang berukuran besar sehingga menjadi kecil. Dengan demikian, kompresi data berarti proses pemampatan data agar ukuranya menjadi kecil.

Pemampatan ukuran berkas melalui kompresi hanya diperlukan ketika berkas tersebut akan disimpan atau dikirim melalui media transmisi atau telekomunikasi dan apabila data tersebut harus dibongkar lagi dan dikembalikan pada format semula agar dapat dibaca kembali. Satuan yang cukup penting dalam kompresi data adalah compression ratio yang menggambarkan seberapa besar ukuran data setelah melewati proses kompresi dibandingkan dengan ukuran berkas yang asli.

2.2. Database

Secara etimologis database terdiri dari dua kata yaitu basis dan data yang dapat diartikan sebagai markas atau gudang, tempat bersarang atau berkumpul.

(7)

Basis data adalah dua atau lebih simpanan data dengan elemen-elemen data penghubung, yang dapat diakses lebih dari satu cara. Basis data dinyatakan dengan teknik-teknik formal dan manajemen basis data. Dari defenisi diatas maka dapat diartikan bahwa basis data merupakan kumpulan dari data yang saling berhubungan satu dengan yang lainya (Iskandar, 2008).

Menurut George Tsu-der Chou basis data merupakan kumpulan informasi yang bermanfaat yang diorganisasikan ke dalam aturan yang khusus, informasi ini adalah data yang telah diorganisasikan ke dalam bentuk yang sesuai dengan kebutuhan seseorang. Menurut Encyclopedia of Computer Science and Engineer, para ilmuwan dibidang informasi menerima definisi standard informasi yaitu data yang digunakan dalam pengambilan keputusan (Dzacko, 2007)

Definisi lain dari basis data menurut Fabbri dan Schwab adalah sistem berkas terpadu yang dirancang terutama untuk meminimalkan duplikasi data.

Menurut Ramez Elmasri mendefinisikan basis data lebih dibatasi pada arti implicit yang khusus, yaitu ;

a. Basis data merupakan penyajian suatu aspek dari dunia nyata. b. Basis data merupakan kumpulan data dari berbagai sumber yang

secara logika mempunyai arti implicit. Sehingga data yang terkumpul secara acak dan tanpa mempunyai arti tidak dapat disebut basis data.

c. Basis data perlu dirancang, dibangun dan data dikumpulkan untuk suatu tujuan. Basis data dapat digunakan oleh beberapa user dan beberapa aplikasi yang sesuai dengan kepentingan user.

(8)

Gambar 2.1 Hirarki Data

2.2.1 Database Management System (DBMS)

Database Management System adalah konsep basis data yang menyimpan semua data dalam bentuk tabel. Sebuah tabel menyimpan informasi mengenai sujek tertentu. Dengan DBMS sebuah basis data akan dengan mudah dikelola walaupun jumlah data banyak dan sangat kompleks. Pada prinsipnya DBMS terbagi menjadi 3 bagian, yaitu :

1. Data Defenition, mendefinisikan jenis data yang akan dibuat, cara relasi data, validasi data dan lainya.

2. Data manipulation, data yang telah dibuat dan didefinisikan akan dilakukan beberapa pengerjaan, seperti sharing data, proses query dan lain sebagainya.

3. Data control, berhubungan dengan mengendalikan data, seperti siapa yang dapat melihat data, bagaimana data bisa digunakan oleh banyak user dan sebagainya.

Berkas (File)

Rekaman (Record) Rekaman (Record) Rekaman (Record)

...

(9)

2.2.2 Keamanan Basis Data

Salah satu aspek yang terpenting dalam keamanan basis data adalah proteksi terhadap pengaksesan, pembacaan informasi, pemodifikasian dan pengrusakan data oleh pihak yang tidak berwenang. Keamanan basis data juga berarti menjaga penyalahgunaan basis data baik secara sengaja, misalnya pengambilan dan pembacaan data, pengubahan data dan penghapusan data oleh pihak yang tidak berwenang, maupun secara tidak sengaja seperti kerusakan selama transaksi, anomali yang disebabkan oleh akses basis data konkuren, anomali yang disebabkan oleh pendistribusian data pada beberapa komputer dan logika error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi basis data. Persoalan keamanan basis data dapat dikategorikan menjadi beberapa tingkatan, yaitu :

1. Fisikal, menyangkut keamanan yang berkaitan dengan dimana tempat sistem basis data berada.

2. Manusia, setiap pengguna basis data harus diatur otoritasnya sedemikian rupa sehingga setiap pengguna hanya dapat mengakses data yang berhak diakses pengguna yang berkaitan. 3. Sistem Operasi, kelemahan pada sistem operasi memungkinkan

pengaksesan data oleh pihak yang tidak berwenang.

4. Sistem basis data, sistem basis data yang digunakan harus menjamin setiap penggunaan basis data agar tidak melanggar otoritas yang dimiliki masing-masing.

2.3. Kriptografi

(10)

jaringan komputer maupun secara luas pada internet dengan jumlah pemakai yang banyak.

Dalam teknologi informasi, salah satu cara yang ditempuh untuk mengatasi masalah ini adalah dengan menggunakan kriptografi yang menggunakan transformasi data sehingga data yang dihasilkan tidak dapat dimengerti oleh pihak ketiga. Transformasi ini memberikan solusi pada dua masalah keamanan data, yaitu masalah privasi (privacy) dan keautentikan (authentication). Privasi mengandung arti bahwa data yang dikirimkan hanya dapat dimengerti informasinya oleh penerima yang sah. Sedangkan keautentikan mencegah pihak ketiga untuk mengirimkan data yang salah atau mengubah data yang dikirimkan.

Kriptografi (cryptography) berasal dari bahasa yunani : “Cryptos” yang artinya “secret” (rahasia), sedangkan “graphein” yang artinya “writing” (tulisan). Jadi, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan (Munir,2006:2). Kata “seni” tersebut berasal dari fakta sejarah bahwa pada masa -masa awal sejarah kriptografi, setiap orang mungkin mempunyai cara yang unik untuk merahasiakan pesan. Cara-cara unik tersebut mungkin berbeda-beda pada setiap pelakukriptografi sehingga setiap menulis pesan rahasia, pesan mempunyai mempunyai nilai estetika tersendiri sehingga kriptografi berkembang menjadi sebuah seni merahasiakan pesan.

Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi (Kromodimoeljo, 2010 : 25).

(11)

kunci dekripsi. Yang dimaksud dengan sulit untuk dibaca adalah peluang untuk mendapat kembali pesan asli oleh seseorang yang tidak mempunyai kunci dekripsi dalam waktu yang tidak terlalu lama sangat kecil. Walaupun awalnya kriptografi digunakan untuk merahasiakan pesan teks , kini kriptografi digunakan untuk data apa saja yang berbentuk digital.

Adapun tujuan dari sistem kriptografi adalah sebagai berikut : a. Confidentiality

Memberikan kerahasiaan pesan dan menyimpan data dengan menyembunyikan informasi lewat teknik-teknik enkripsi.

b. Message Integrity

Memberikan jaminan untuk tiap bagian bahwa pesan tidak akan mengalami perubahan dari saat dibuat sampai saat dibuka. c. Non-Repudiation

Memberikan cara untuk membuktikan bahwa suatu dokumen datang dari seseorang apabila ia mencoba menyangkal memiliki dokumen tersebut.

d. Authentication

Memberikan dua layanan. Pertama, mengidentifikasi keaslian suatu pesan dan memberikan aminan keautentikanya. Kedua, menguji identitass seseorang apabila akan memasuki sebuah sistem.

Dengan demikian menjadi jelas bahwa kriptografi dapat diterapkan dalam banyak bidang.

2.3.1 Algoritma Kriptografi

(12)

telah mengembangakn algoritma kriptografi untuk mengirimkan pesan ke tentaranya.

Algoritma kriptografi telah mengalami perkembangan dan perbaikan sehingga hasilnya lebih memuaskan, misalnya algoritma DES, RSA, dan lainya.

Kriptografi adalah suatu ilmu ataupun seni untuk mengamankan pesan atau informasi dan dilakukan oleh cryptographer, sedangkan cryptanalysis

adalah suatu ilmu dan seni untuk membuka ciphertext dan orang yang melakukanya disebut cryptanalyst (Munir, 2006).

Cryptographic system atau cryptosystem adalah suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, seperangkat parameter yang menentukan tranformasi pencipheran tertentu disebut sebagai set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Secara umum, kunci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada sistem yang digunakan.

Secara umum operasi enkripsi dan dekripsi dapat diterangkan secara matematis sebagai berikut :

EK (M) = C (Proses Enkripsi) DK (C) = M (Proses Dekripsi)

Pada saat proses enkripsi kita menyandikan pesan M dengan suatu kunci K lalu dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C tersebut diuraikan dengan menggunakan kunci K sehingga dihasilkan pesan M yang sama seperti pesan sebelumnya.

(13)

algoritma yang digunakan. Selama tidak mengetahui kunci yang dipakai, ia tetap tidak dapat membaca pesan.

Algoritma kriptografi secara umum dibagi menjadi 2, yaitu algoritma kriptografi kunci rahasia dan algoritma kriptogarfi kunci publik.

2.3.2 Tipe Dan Karakteristik Algoritma Kriptografi

Secara umum, algoritma kriptografi kunci rahasia menyatakan bahwa algoritma dimana enkripsi digunakan dalam mengenkripsi data, dan kunci dekripsi untuk merubah data kebentuk aslinya. Karena atribut ini, algoritma kriptografi kunci rahasia disebut juga dengan algoritma kriptografi kunci simetris. Untuk algoritma kriptografi kunci publik menyatakan bahwa algoritma enkripsi dan dekripsi berbeda. Algoritma kriptografi kunci publik mempunyai karakteristik : tidak ada penghitungan kembali dari kunci dekripsi bahkan sesudah kunci enkripsi dilakukan. Berawal dari kondisi ini, kunci enkripsi disebut sebagai kunci publik dan kunci dekripsi disebut sebagai kunci pribadi.

Algoritma kriptografi kunci rahasia dan publik menggunakan algoritma enkripsi dan algoritma tanda tangan digital secara berturut-turut. Dalam algoritma enkripsi, isi pesan hanya dapat dilihat oleh pribadi yang tahu kunci enkripsi, sedangkan dalam tanda tangan digital pengirm pesan dapat diketahui.

(14)

Gambar 2.2 Tipe dan karakteristik algoritma kriptografi 2.3.3 Algoritma Kriptografi Kunci Rahasia

Dalam algoritma kirptografi kunci rahasia, kunci digunakan untuk enkripsi data dan tidak diberi kuasa kepada publik melainkan hanya kepada orang tertentu yang tahu dan dapat membaca data yang dienkripsi. Karakteristik algoritma kunci rahasia adalah bahwa kunci enkripsi sama dengan kunci dekripsi , seperti yang ditunjukkan pada gambar 2.3 berikut.

Gambar 2.3 Algoritma kunci rahasia

Algoritma kunci rahasia disebut juga dengan algoritma kunci simetris. Untuk menggunakan algoritma kunci rahasia dalam lingkungan

Secrecy Integrity Secrecy

Encryption Hash Digital

Signature

Secret Key Public Key Hash

Plain Text Encryption Encryption

Text

Encryption Text

(15)

komunikasi, kedua belah pihak yang berkomunikasi satu dengan yang lainya harus saling membagi kunci enkripsi sebelumnya.

2.3.4 Algoritma Kriptografi Kunci Publik

Dalam algoritma kunci publik, kunci enkripsi dan dekripsi sama. Untuk alasan ini, algoritma kunci publik disebut algoritma kunci asimetris. Karakteristik algoritma kunci publik adalah bahwa kunci dekripsi tidak dibuka, bahkan sesudah kunci enkripsi dibuka. Dalam algoritma kunci publik, kunci enkripsi dibuka sehingga tidak seorang pun dapat menggunakanya. Tetapi, untuk dekripsi hanya seorang yang punya kunci dan dapat menggunakanya. Untuk alasan ini, kunci yang digunakan untuk proses enkripsi disebut kunci publik, sedangkan kunci yang digunakan untuk dekripsi disebut kunci rahasia seperti yang ditunjukan pada gambar 2.4 berikut.

Gambar 2.4 Algoritma kriptografi kunci publik

Algoritma kunci publik digunakan untuk banyak area yang berbeda. Yang paling umum digunakan adalah dalam hal pengiriman kunci rahasia pada tahap awal, dimana kunci rahasia digunakan dalam tanda tangan digital.

Plain Text Encryption Encryption Text

Encryption Text

Encryption Plain Text Public Key

of Receiver Private Key

of Receiver Transmitting

(16)

Ketika membandingkan kelebihan dan kelemahan antara algoritma kunci rahasia dan publik, algoritma kunci publik pada umumnya mempunyai lebih banyak keuntungan dalm hal kriptografi. Ini karena informasi rahasia dari seseorang tidak harus dikirim dan dienkripsi informasi serta aplikasi berbeda satu dengan yang lain sehingga tidak mudah untuk diintegrasikan; dapat digunakan untuk sistem distribusi kunci algoritma kunci rahasia, tanda tanga digital untuk pemeriksaan pembuat pesan dan identifikasi untuk pemeriksaan identitas pengguna.

2.3.5 Algoritma Vigenere Cipher

Salah satu masalah utama dengan simple substitution cipher adalah kode-kode mudah dibajak untuk dianalisis frekuensinya. Dengan ciphertext yang besar maa dapat dengan mudah dipecah dengan pemetaan frekuensi dari huruf-hurufnya seperti dalam teks Inggris. Oleh karena itu, untuk membuat cipher lebih aman para cryptographer tertarik untuk mengembangkan teknik menulis pesan yang aman untuk analisis frekuensi.

Vigenere cipher merupakan salah satu algoritma klasik dengan teknik substitusi. Nama Vigenere diambil dari seseorang yang bernama Blaise de Vigenere karena Vigenere cipher pertama kali diusulkan oleh Blaise de Vigenere dari pengadilan Henry III di Prancis pada abad 16 (Tahun 1568).

Vigener Cipher adalah metode menyandikan teks alfabet dengan menggunakan deretan Caesar berdasarkan huruf-huruf pada kata kunci. Vigenere Cipher menggunakan tabel seperti pada tabel 2.1 dan tabel 2.2 berikut, Vigenere Cipher dengan angka dan huruf dalam melakukan enkripsi (Arjana, 2012).

(17)

Tabel 2.1 Tabel Vigenere angka

Vigenere Cipher menggunakan suatu kunci yang memiliki panjang tertentu. Panjang kunci tersebut bisa lebih pendek maupun sama dengan panjang palintext. Jika panjang kunci lebih pendek dengan plaintext, maka kunci tersebut akan diulang secara periodik sehinnga panjang kunci tersebut sama dengan panjang plaintextnya.

Tabel 2.2 Tabel huruf Vigenere Cipher

Algoritma enkripsi Vigenere Cipher adalah : Ci = (Pi + Ki) mod 26

Algoritma dekripsi Vigenere Cipher adalah :

(18)

Dimana :

Ci = Nilai dari karakter ciphertext ke-i Pi = Nilai dari karakter plaintext ke-i Ki = Nilai dari karakter kata kunci ke-i

Sebagai contoh , jika plaintext adalah DODIEHERMAWANPURBA dan kata kunci adalah CIPHER maka proses enkripsi adalah sebagai berikut :

Plaintext = DODIEHERMAWANPURBA Kunci = CIPHER

Ciphertext = …? Prose Enkripsi :

P = DODIEHERMAWANPURBA P1 = D P7 = E P13 = N P2 = O P8 = R P14 = P P3 = D P9 = M P15 = U P4 = I P10 = A P16 = R P5 = E P11 = W P17 = B P6 = H P12 = A P18 = A

Kunci = CIPHER, karena panjang karakter lebih kecil dengan plainext maka kata kunci diulang sehingga menjadi sama dengan panjang karakter plaintext sehingga K = CIPHERCIPHERCIPHER

(19)

= (3 + 2) mod 26

C1 = 5 C7 = 6 C13 = 15

C2 = 22 C8 = 25 C14 = 23

C3 = 18 C9 = 1 C15 = 7

C4 = 15 C10 = 7 C16 = 24

C5 = 8 C11 = 0 C17 = 5

C6 = 24 C12 = 17 C18 = 17

C = 5 22 18 15 8 24 6 25 1 7 0 17 15 23 7 24 5 17

Untuk ciphertext yang didapat diperoleh subtitusi dari nilai masing-masing C ke dalam tabel Vigenere, sehingga yang menjadi Ciphertext adalah FWSPIYGZBHARPXHYFR.

2.3.6 Metode Blowfish

Blowfish merupakan metode enkripsi yang mirip dengan DES (DES-like cipher) dan yang ditujukan untuk mikroprosessor besar (32 bit ke atas dengan cache data yang besar) (Tambunan, 2010: 6).

Blowfish atau disebut juga dengan OpenPGP.Cipher.4 merupakan algoritma kunci simetrik cipher blok dengan panjang blok tetap 64 bit dan menerapkan teknik kunci sembarang serta bebas lisensi dan dirancang pada tahun 1993 oleh Bruce Shneier untuk menggantikan DES (Data Encryption Standard) (Suhendra, 2012).

(20)

Blowfish dikembangan untuk memenuhi kriteria rancangan sebagai berikut

 Cepat, Blowfish melakukan enkripsi data pada mikriprosessor 32-bit dengan rate 26 clock cycle per bite.

 Compact, Blowfish dapat dijalankan pada memori kurang dari 5 KB.

 Sederhana, Blowfish hanya menggunakan operasi perhitungan yang sederhana seperti : penambahan, XOR, dan lookup tabel pada operand 32 bit.

 Memiliki tingkat keamanan yang variatif. Panjang kunci yang digunakan oleh Blowfish bervariasi bisa sampai panjang minimum 32-bit, maksimal 448-bit, multiple 8-bit dan default 128 bit.

Namun, dalam penerapanya Blowfish sering kali tidak menjadi optimal. Karena strategi implementasi yang tidak tepat. Algoritma Blofish akan menjadi optimal jika digunakan untuk aplikasi yang tidak sering berganti kunci seperti jaringan komunikasi atau enkripsi file ototmatis.

Untuk melakukan enkripsi pada Blowfish langkah-langkahnya adalah sebagai berikut :

1. Bagi X menjadi dua bagian yang masing-masing terdiri dari 32-bit yaitu XL dan XR.

2. For I = 1 to 16 :

a) XL = XL Xor P(i)

b) XR = F (XL) Xor XR

c) Tukar XL dan XR

3. Setelah iterasi keenambelas tukar XL dan XR lagi untuk membatalkan pertukaran terakhir.

4. Lalu lakukan :

a) XR = XR Xor P17

(21)

5. Terakhir gabungkan kembali XL dan XR untuk

mendapatkan ciphertext.

Seperti yang ditunjukan pada gambar 2.5 berikut adalah alur terhadap proses jaringan Feistel pada metode Blowfish.

Gambar 2.5 Jaringan Feistel Metode Blowfish

F16 P16

P15 F15

F2 P2

P2

F1 P1

P1 = Xor

32 64

32

Plaintext

F

F P1

P2

(13 More Iteration)

P16

F

F

(22)

Fungsi F adalah cara untuk membagi Xl menjadi 4 bagian 8-bit yaitu a,b,c,dan d seperti pada gambar 2.6 berikut, maka :

F(XL) = (((S1,a + S2,b) Xor S3,c) + S4,d)

Gambar 2.6 Skema Fungsi F

Metode Blowfish terdiri dari 2 bagian, yaitu : Key Expansion yang berfungsi untuk merubah kunci yang dapat mencapai 448-bit menjadi beberapa array subkunci dengan total 4168 byte, dan Enkripsi data merupakan suatu proses yang terdiri dari iterasi fungsi sederhana (Feistel Network) sebanyak 16 kali putaran. Setiap putaran terdiri dari permutasi kunci dependent serta substitusi kunci dan data dependent. Semua operasi merupakan penambahan dan XOR pada variabel 32-bit. Operasi tambahan lainya hanyalah empat penelusuran tabel array berindeks untuk setiap putaran.

(23)

Cara menghitung atau membangkitkan subkunci pada Metode Blowfish (Ibrahim , 2012 : 88), caranya adalah sebagai berikut :

1. Inisialisasi P-array dan kemudian S-box secara berurutan dengan string yang tetap. String ini terdiri dari hexadesimal dari pi.

Contoh :

P1 = 0x243f6a88 P2 = 0x85a308d3 P3 = 0x13198a2e P4 = 0x03707344

2. XOR P1 dengan 32 bit kunci pertama, 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 Metode Blowfish dengan menggunakan subkunci seperti pada langkah 1 dan langkah 2.

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

5. Enkrip keluaran dari langkah 3 dengan Metode 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, dan kemudian seluruh keempat S-box berurutan, dengan keluaran yang berubah secara kontinu dari Metode Blowfish.

(24)

Proses dekripsi pada Metode Blowfish sama dengan proses enkripsi hanya saja subkunci P1 sampai P18 digunakan dalam urutan terbalik yaitu P1 menjadi P18, P2 menjadi P17 dan seterusnya. Didalam proses dekripsi ciphertext diubah kembali dalam bentuk plaintext atau kondisi semula sebelum dienkripsi.

Gambar

Gambar 2.1  Hirarki Data
Gambar 2.2  Tipe dan karakteristik algoritma kriptografi
Gambar 2.4  Algoritma kriptografi kunci publik
Tabel 2.2  Tabel huruf Vigenere Cipher
+3

Referensi

Dokumen terkait

Hasil ana lisis sidik ragam menunjukkan bahwa penyimpanan beku berpengaruh sangat nyata (p<0,01) terhadap pertambahan berat badan tikus (Lampiran 27) dan hasil uji

“Dokumentasi sudah sejak lama digunakan dalam penelitian karena dalam banyak hal dokumen sebagai sumber data yang dapat dimanfaatkan untuk menguji, menafsirkan, bahkan

Berdasarkan observasi yang dilakukan pada 3 Mei 2013 di kelas VIII MTs Negeri Sleman Kota, diperolah hasil bahwa sebagaian besar siswa tidak dapat mengatur

Perbandingan Kualitas Tidur Pada Pasien Diabetes Melitus Laki- Laki dan Perempuan di RSUD Dr..

Diajukan untuk memenuhi salah satu persyaratan dalam menyelesaikan Sarjana (S-1) pada Departemen Teknik

Alhamdulillah, puji dan syukur ke hadirat Allah SWT, yang hanya dengan rahmat dan izin-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat

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