-
5/22/2018 Enkripsi algoritma Blowfish
1/14
Sekilas Tentang Enkripsi BlowfishSekilas Tentang Enkripsi
Blowfish
Anjar [email protected]
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