Top Banner
Sekilas Tentang Enkripsi Blowfish Sekilas Tentang Enkripsi Blowfish Anjar Syafari [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 komput er lai n dengan ada nya jaringan.Hal ini dis atu sis i men gun tungka n dal am 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 ) da n #graphy$ dapat diartikan tulisan (!riting ) jadi Kriptografi (Cryptography) dapat diartikan sebagai suatu ilmu atau seni unt uk men gamankan pes an aga r aman dan dilakuka n ole h #Cryptographer$. r ang ya ng melakukan enkrip si terhadap suatu pes an atau praktisi kriptogragi dis ebut #Cryptographer$.!ebuah pesan yang tidak disandikan atau dienkripsi disebut sebagai plaintext atau dis ebu t jug a seb aga i cleartext. !edangkan pesan yang telah disandikan dengan sebuah algoritma kriptografi disebut sebagai ciphertext."roses untuk mengubah plainte#t ke chiperte#t di se but encryption atau encipherment. !edang pro ses men gubah chi per te#t ke pla int e#t disebut decryption atau decipherment. !ecara sederhana proses tersebut digambarkan sebagai  berikut $  %omunitas e&earning 'lmu%omputer .Com Copyright ( )**+,)**- 'lmu%omputer.Co m %  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.
14

Enkripsi algoritma Blowfish

Oct 13, 2015

Download

Documents

indra1132

penerapan algoritma blowfish
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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