Post on 13-Oct-2015
description
5/22/2018 Enkripsi algoritma Blowfish
1/14
Sekilas Tentang Enkripsi BlowfishSekilas Tentang Enkripsi Blowfish
Anjar SyafariClasicboy_no8@yahoo.com
http://ansitea.blogspot.com
Dalam kemajuan teknologi komputer pada saat ini berkembang dengan pesatnya seiring
dengan makin kompleknya sistem komputer dan kemampuan komputer untuk berkomunikasi
dengan komputer lain dengan adanya jaringan.Hal ini disatu sisi menguntungkan dalam
idistribusi sumber daya yang ada tetapi disatu sisi menjadi masalah apabila ada file yang
bersifat rahasia dapat dilihat oleh pihak yang tidak berkompenten. alah satu cara untuk
melindungi file adalah dengan enkripsi mengunakan algoritma blo!fish.
Pengertian Dasar
Kriptografi dalam sejarahnya tercatat dipergunakan secara terbatas oleh bangsa Mesir 4000
tahun lalu. Kriptografi (Cryptography) berasal dari dua kata yaitu Crypto " graphy yang
dalam sudut bahasa Crypto dapat diartikan rahasia (secret) dan #graphy$dapat diartikan
tulisan (!riting) jadi Kriptografi (Cryptography) dapat diartikan sebagai suatu ilmu atau seni
untuk mengamankan pesan agar aman dan dilakukan oleh #Cryptographer$. rang yang
melakukan enkripsi terhadap suatu pesan atau praktisi kriptogragi disebut
#Cryptographer$.!ebuah pesan yang tidak disandikan atau dienkripsi disebut sebagai plaintext
atau disebut juga sebagai cleartext. !edangkan pesan yang telah disandikan dengan sebuah
algoritma kriptografi disebut sebagai ciphertext."roses untuk mengubah plainte#t ke chiperte#tdisebut encryption atau encipherment. !edang proses mengubah chiperte#t ke plainte#t
disebut decryptionatau decipherment. !ecara sederhana proses tersebut digambarkan sebagai
berikut $
%omunitas e&earning 'lmu%omputer.Com
Copyright ( )**+,)**- 'lmu%omputer.Com%
Lisensi Dokumen:
Copyright ( )**+,)**- 'lmu%omputer.Com
eluruh dokumen di 'lmu%omputer.Com dapat digunakan dimodifikasi dan disebarkan
secara bebas untuk tujuan bukan komersial nonprofit0 dengan syarat tidak menghapus
atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. 1idak diperbolehkan melakukan penulisan ulang kecuali mendapatkan ijin
terlebih dahulu dari 'lmu%omputer.Com.
5/22/2018 Enkripsi algoritma Blowfish
2/14
&asilitas untuk mengkon'ersikan sebuah plainte#t ke cipherte#t atau sebaliknya disebut
Cryptographic systematau Cryptosystemdimana sistem tesebut terdiri dari algoritmaalgorima
tertentu yang tergantung pada sistem yang digunakan. lgoritma kriptografi (cryptographic
algorithm) disebut cipheryang merupakan persamaan matematik yang digunakan dalam proses
enkripsi dan deskripsi dimana proses tersebut diatur oleh satu atau lebih kunci kriptografi.
Kunci*kunci tersebut secara umum digunakan untuk proses pengenkripsian dan pendekripsian
tidak perlu identik+ tergantung sistem yang digunakan.
"roses enkrisi dan deskrisi secara matematis diterangkan sebagai berikut $
2% 30 4 C 5roses 2nkripsi0
D% C0 4 3 5roses Deskripsi0
Keterangan $
,K $ ,nkripsi.
-K $ -eskripsi.
M $ Message ("esan sebelum dienkripsi).
$ ipher ("esan setelah dienkrisi).
!ecara umum algoritma kriptografi diciptakan oleh orang yang berpengalaman dalam bidang
keamanan data dan mungkin pernah membuka sebuah algoritma kriptografi tanpa bantuan
kunci. "elaku yang melakukan tindakan memecahkan cipherte6ttanpa bantuan kunci disebut
Crytpanalyst. !edangkan /lmu dan seni membuka (breaking) cipherte#t tanpa bantuan kunci
disebut Cryptanalysis.
%omunitas e&earning 'lmu%omputer.Com
Copyright ( )**+,)**- 'lmu%omputer.Com
5/22/2018 Enkripsi algoritma Blowfish
3/14
1ipe*tipe Cipher$
1ujuan dari adanya enkripsi adalah untuk meningkatkan keamanan data tetapi juga berfungsi
untuk $
%. Melindungi data agar tidak dapat dibaca oleh orang*orang yang tidak berhak.
. Mencegah agar orang*orang yang tidak berhak+ menyisipkan atau mengahapus data.
!edangkan tujuan dari sistem kriptografi adalah sebagai berikut $
7. Confidentiality
Memberikan kerahasiahan pesan dan menyimpan data dengan menyembunyikaninformasi le2at teknik*teknik enkripsi.
). 3essage 'ntegrity
Memberikan jaminan untuk tiap bagian bah2a pesan tidak akan mengalami perubahan
dari saat ia dibuat sampai saat ia dibuka.
+. on,repudiation
Memberikan cara untuk membuktikan bah2a suatu dokumen datang dari seseorang
apabila ia mencoba menyangkal memiliki dokumen tersebut.
9. uthentication
Memberikan dua layanan. "ertama mengidentitifikasi keaslian suatu pesan dan
memberikan jaminan keontentikannya. Kedua untuk menguji identitas seseorang
apabila ia akan memasuki sebuah sistem.
1erdapat tiga kategori enkripsi yaitu $
%. Kunci enkripsi rahasia+ dalam hal ini terdapat sebuah kunci yang digunakan untuk
mengikrisi dan juga sekaligus mendeskripsikan informasi.
. Kunci enkripsi public+ dalam hal ini terdapat dua kunci yang digunakan+ satu untuk
proses enkripsi+ satu lagi untuk proses deskripsi.
3. &ungsi one,!ay+ dimana informasi dienkripsi untuk menciptakan signature dariinformasi asli yang bisa digunakan untuk keperluan autentifikasi.
%omunitas e&earning 'lmu%omputer.Com
Copyright ( )**+,)**- 'lmu%omputer.Com3
5/22/2018 Enkripsi algoritma Blowfish
4/14
-alam Cryptosystemmenurut teknik enkripsinya dapat digolongkan menjadi dua buah+ yaitu $
%. ymmetric Cryptosystem( ,nkripsi Kon'ensional)-alam symmetric cryptosystem+kunci yang digunakan dalam proses enkripsi dan
dekripsi adalah sama atau pada prinsipnya identik. Kunci ini pun bisa diturunkan dari
kunci lainnya. leh karena itu sistem ini sering disebutsecret,key ciphersystem.
umlah kunci yang dibutuhkan umumnya adalah $
n5 n.(n*%)
********
-imana n adalah bnyaknya pengguna.
Kunci yang menggunakan teknik enkripsi ini harus betul*betul dirahasiakan.
6ambaran proses enkripsi kon'ensional $
. ssymmetric Cryptosystem(,nkripsipublic,key)
-alam ssymmetric cryptosystem+kunci yang digunakan terdapat dua buah. !atu kunci
yang dapat dipublikasikan deisebut kunci publik (public key)+ satu lagi kunci yang harus
dirahasiakan disebut kunci pri'at (pri;ate key). !ecara sedehana proses tersebut
diterangkan sebagai berikut $
* mengirimkan pesan kepada 7.
* menyandikan pesannya dengan menggunakan kunci publik 7.
* 7ila 7 ingin membaca pesan dari + ia harus menggunakan kunci pri'atnya
untuk mendekripsikan pesan yang tersandikan itu.
6ambaran proses enkripsi public*key $
%omunitas e&earning 'lmu%omputer.Com
Copyright ( )**+,)**- 'lmu%omputer.Com4
5/22/2018 Enkripsi algoritma Blowfish
5/14
-alam ryptosystem yang baik harus memiliki karekteristik sebagai berikut $
Keamanan sistem terletak pada kerahasiaan kunci dan bukan pada kerahasiaanalgoritma yang dipergunakan.
ryptosystem yang baik memiliki ruang kunci (keyspace) yang besar.
ryptosystem yang baik akan menghasilakn cipherte#t yang terlihat acak dalam seluruh
tes statistik yang dilakukan terhadapnya.
ryptosystem yang baik mampu menahan seluruh serangan yang dikenal sebelumnya.
7ila salah satu hal diatas tidak dimiliki oleh sebuah Cryptosystemmaka kemungkinan besar
pesan yang di enkripsi oleh Cryptosystemdapat dibongkar sehingga isi dari pesan tersebut dapat
dibaca oleh orang yang tidak berkepentingan. !alah satu Cryptosystemyang dapat dibongkar
(broken) adalah 8K/ 9:+ salah satu kandidatd;anced 2ncryption tandard(,!). 8K/ 9:
mempunyai kelemahan dalam persamaan matematika dan dalam f*functinnya.
Pengenalan Blowfish
7lo2fish alias ; bit+3ultiple> bit+ default%> bit).7lo2fish dioptimasikan
untuk berbagai aplikasi dimana kunci tidak sering berubah+ seperti pada jaringan komunikasi
atau enkripsi file secara otomatis. -alam pengimplementasiannya dalam komputer
bermicroprosesor 3*bit dengan cache data yang besar ("entium dan "o2er ") 7lo2fish
terbukti jauh lebih cepat dari -,!. 1etapi 7lo2fish tidak cocok dengan aplikasi dengan
perubahan kunci yang sering atau sebagai fungsi hast satu arah seperti pada aplikasi packet
s!itching. 7lo2fish pun tidak dapat digunakan pada aplikasi kartu pintar (smart card) karena
memerlukan memori yang besar.
%omunitas e&earning 'lmu%omputer.Com
Copyright ( )**+,)**- 'lmu%omputer.Com=
5/22/2018 Enkripsi algoritma Blowfish
6/14
7lo2fish termasuk dalam enkripsi block ipher eistel et!ork) yang terdiri dari
%< putaran. /nput adalah elemen ) masing*msing bernilai
3*bit.
rray " terdiri dari delapan belas kunci 3*bit subkunci $
"%+"+.......+"%>
. 7entuk !*bo# sebanyak 4 buah masing*masing bernilai 3*bit yang memiliki masukan
=
5/22/2018 Enkripsi algoritma Blowfish
7/14
4. Basil pengambilan tadi dibagi + 3*bit pertama disebut ?8+ 3*bit yang kedua disebut
?@.
=. !elanjutnya lakukan operasi ?8 5 ?8 #or "i dan ?@ 5 &(?8) #or ?@
. "ada proses ke*%: lakukan operasi untuk ?@ 5 ?@ #or "%: dan ?8 5 ?8 #or "%>.
9. "roses terakhir satukan kembali ?8 dan ?@ sehingga menjadi
5/22/2018 Enkripsi algoritma Blowfish
8/14
%low&hart Blowfish
&ungsi & adalah sebagai berikut $7agi ?8+ menjadi empat bagian >*bit $ a+b+c dan d.
&(?8)5((!%+a C !+b mod 3)#or !3+c) C !4+c mod 3
!ubkunci dihitung menggunakan algoritma 7lo2fish+ metodanya adalah sebagai berikut $
%. "ertama*tama inilialisasi "*array dan kemudian empat !*bo# secara berurutan dengan
string yang tetap. !tring ini terdiri atas digit he#adesimal dari "i.
%omunitas e&earning 'lmu%omputer.Com
Copyright ( )**+,)**- 'lmu%omputer.Com>
5/22/2018 Enkripsi algoritma Blowfish
9/14
. ?@ "% dengan 3*bit pertama kunci+ ?@ " dengan 3*bit kedua dari kunci dan
seterusnya untuk setiap bit dari kunci (sampai "%>).Alangi terhadap bit kunci sampai
seluruh "*array di ?@ dengan bit kunci.
3. ,nkrip semua string nol dengan algoritma 7lo2fish dengan menggunakan subkunciseperti dijelaskan pada langkah (%) dan ().
4. 6anti "% dan " dengan keluaran dari langkah (3).
=. ,nkrip keluaran dari langkah (3) dengan algoritma 7lo2fish dengan subkunci yang
sudah dimodifikasi.
5/22/2018 Enkripsi algoritma Blowfish
10/14
%low&hart % %'ngsi
1otal yang diperlukan adalah =% iterasi untuk menghasilkan semua subkunci yang dibutuhkan.
plikasi kemudian dapat menyimpan subkunci ini dan tidak membutuhkan langkah*langkah
proses penurunan berulang kali+ kecuali kunci yang digunakan berubah.
Antuk deskripsi sama persis dengan enkripsi+ kecuali pada "*array ("%+"+........+"%>) digunakan
dengan urutan terbalik atau di in'erskan.
eamanan Blowfish
!ampai saat ini algoritma 7lo2fish belum ditemukan kelemahan yang berarti hanya adanya
!eak key dimana dua entri dari !*bo# mempunyai nilai yang sama. 7elum ada cara untuk
mengecek !eak key sebelum melakukan key e6pansion+ tetapi hal ini tidak berpengaruh
terhadap hasil enkripsi.
Basil enkripsi dengan algoritma 7lo2fish sangat tidak mungkin dan tidak praktis untuk di
terjemahkan tanpa bantuan kunci. !ampai kini belum ada Cryptanalysis yang dapat
membongkar pesan tanpa kunci yang enkripsi oleh 7lo2fish. gar aman dari pembongkaran
pesan maka dalam algoritmanya harus menggunakan %< putaran agar pesan tersebut tidak dapat
dibongkar.
lgoritma 7lo2fish pun dapat digabungkan dengan algoritma*algoritma enkripsi yang lain
dalam pengkripsian sebuah pesan untuk lebih menjamin isi dari pesan tersebut.
Aplikasi
-alam pengimplementasianya blo2fish dapat menggunakan bermacam bahasa pemograman
seperti -elphi+ Disual 7asic+ 7ahasa +CC +dsb. Bal ini dikarenakan algoritma 7lo2fish dapat
dilihat secara bebas sehingga mudah diimplentasikan dalam segala bahasa pemograman berbedadengan algoritma enkripsi lain yang tidak bebas untuk dilihat sehingga sulit untuk
%omunitas e&earning 'lmu%omputer.Com
Copyright ( )**+,)**- 'lmu%omputer.Com%
5/22/2018 Enkripsi algoritma Blowfish
11/14
diimplementasikan (contohnya adalah @ dan @4 yang menjadi hak cipta perusahaan @!).
7ahkan 7lo2fish dapat diimplentasikan dalam bahasa a'a!cript dan a'a+ bahasa yang umum
digunakan dalam sebuah 2eb. 7anyak aplikasi yang memerlukan keamanan data menggunakan
algoritma blo2fish sebagai peng*enkripsi datanya seperti aplikasi untuk e*mail+ 1e#t+ "ass2ord+dsb. Antuk lebih jelas apliksi yang menggunakan algoritma blo2fish dapat dilihat di 2ebsite
resminya di222.ounterpane.com.
Program Aplikasi Blowfish
ryptosystem 7lo2fish yang ditampilkan menggunakan a'a!cript sebagai bahasa
"emogramannya+ "enulis hanya mengganti bahasa dalam tampilannya (bahasa aslinya ialah
erman) untuk memudahkan dalam menjalankan programnya.
1ampilan ryptosystem 7lo2fish $
-alam tampilan+ pesan yang akan dienkripsi cukup ditulis dalam kolom diatas yang bertuliskan
1e#t...+ sesudah pesan ditulis tinggal memesukan pass2ord sebagai kunci enkripsinya lalu tekan
tombol bertuliskan ,nkripsi.
%omunitas e&earning 'lmu%omputer.Com
Copyright ( )**+,)**- 'lmu%omputer.Com%
http://www.counterpane.com/http://www.counterpane.com/http://www.counterpane.com/http://www.counterpane.com/5/22/2018 Enkripsi algoritma Blowfish
12/14
"enulis menggunakan kata M1B@/ sebagai contoh pesan dengan pass2ord ino'atif.
!etelah menekan tombol enkripsi maka akan muncul cipherte#t di kolom ba2ah pesan yang
terenkripsi terlihat sebagai &=%>0%0&>>9934 yang merupakan hasil dari pengenkripsian
kata M1B@/ dengan pass2ord ino'atif.
Antuk deskripsi cukup mengubah pesan yang terenkripsi di tuliskan dikolom atas+ lalu masukan
pass2ord yang sama dengan pass2ord se2aktu enkripsi+ lalu tekan tombol bertuliskan
-eskripsi.
%omunitas e&earning 'lmu%omputer.Com
Copyright ( )**+,)**- 'lmu%omputer.Com%
5/22/2018 Enkripsi algoritma Blowfish
13/14
Maka hasil pendeskripsian akan muncul dalam kolom diba2ahnya+ pesan yang muncul adalah
M1B@/ bila pass2ord yang digunakan sama.
"rogram diatas diambil dari situs $ http$EEaam.ugpl.deEnodeE%0
5/22/2018 Enkripsi algoritma Blowfish
14/14
(eferensi
%. !ukma2an+ 7udi+3etoda 2nkripsi ?lo!fish+
http$EEbdg.centrin.net.idEFbudskmanEartikel.htm+ 000.
. Beriyanto+ 1edi+5engenalan %riptografi+ 222.tedi*h.com+%999.3. http$EEen.2ikipedia.orgE2ikiE7lo2fish
4. http$EEaam.ugpl.deE
=. http$EE222.users.Getnet.co.ukEhop2oodEcryptoEscanEcs.html
fEblo2fishIencryptionE
:. http$EE222.counterpane.comEblo2fish.html
Biografi Pen'lis
Anjar Syafari. 8ahir di 7andung 4 tahun yang lalu. Masa !MA dile2ati di !MAH % !umedang (%* "eterpan+ 3/"3 lasic)+ lulus
tahun 00+ menyelesaikan program studi !% jurusan Manajemen
/nformatika (M/*:) di Ani'ersitas Komputer /ndonesia (AH/KM) tahun
00