PEMBUATAN PERANGKAT LUNAK SEBAGAI MEDIA PEMBELAJARAN KRIPTOGRAFI MODERN METODE BLOWFISH
NASKAH PUBLIKASI
diajukan oleh Reza Fitra Kesuma 08.11.2273
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2013
NASKAH PUBLIKASI
PEMBUATAN PERANGKAT LUNAK SEBAGAI MEDIA PEMBELAJARAN KRIPTOGRAFI MODERN METODE BLOWFISH
disusun oleh Reza Fitra Kesuma 08.11.2273
Dosen Pembimbing
Ema Utami, Dr., S.Si, M.Kom NIK. 190302037
Tanggal 26 Juli 2013 Ketua Jurusan Teknik Informatika
Sudarmawan, MT NIK. 190302035
MANUFACTURE OF SOFTWARE AS A MEDIA OF LEARNING MODERN CRYPTOGRAPHY USING BLOWFISH METHODS PEMBUATAN PERANGKAT LUNAK SEBAGAI MEDIA PEMBELAJARAN KRIPTOGRAFI MODERN METODE BLOWFISH Reza Fitra Kesuma Ema Utami Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA ABSTRACT Cryptography is one branch of computer science which is basic and hard to understand. In a technic of data security, there are a lot of cryptography methods that being used. These cryptography methods have its own way and technic. Steps that used to solve every method are different, both in terms of extensive and complexity. One of the method of cryptography that interesting to be learned is Blowfish cryptography. The security of Blowfish method is inextensive and complexity of its expansion key. Learning from book only will be hard to understand Blowfish cryptography. Therefore to help to understand Blowfish cryptography there is need to provide a software as a media of learning Blowfish cryptography using Visual Basic 6.0. The design of software as a media of learning Blowfish cryptography start from making forms that support learning of Blowfish cryptography, like theory form, expansionkey form, encryption form and decryption form. These form will be casted into visual basic 6.0. The output will be forms that can visualize expansion-key process, encryption process and decryption process. By using media of learning that based on dekstop which is made by Visual Basic 6.0, hoped can help to understand Blowfish cryptography and can be usefull in the future. Keywords :Cryptography, Blowfish, Media of learning, Visual Basic 6.0
1.
Pendahuluan Dalam dunia pedidikan, komputer dapat menjadi media pembelajaran yang
baru.Pembelajaran yang didapat di perkuliahan terkadang membuat mahasiswa menjadi bosan. Hal itu disebabkan penyampaian yang kurang menarik dan cenderung membosankan, sehingga membuat mahasiswa menjadi mudah lupa dengan apa yang dipelajarinya, terutama pelajaran yang bersifat teoritis. Perlu dilakukan cara lain agar pembelajaran menjadi menarik dan mahasiswa menjadi lebih mudah menerima materi yang diajarkan. Salah satu cara untuk membuat pembelajaran menjadi lebih menarik adalah dengan membuat perangkat lunak media pembelajaran menggunakan komputer. Komputer dapat menunjang proses pembelajaran karena dengan menggunakan komputer, materi tidak hanya ditampilkan secara tertulis, tetapi juga terdapat suara ataupun animasi dan di samping itu pelajar dapat berinteraksi secara interaktif. Kriptografi merupakan salah satu cabang ilmu komputer yang sangat mendasar dan sedikit sulit untuk dipahami.Dalam hal teknik pengaman data, banyak metode Kriptografi yang digunakan. Metode-metode kriptografi tersebut mempunyai teknik dan cara tersendiri. Langkah-langkah pengerjaan setiap metode pun berbeda-beda, baik dari segi panjang maupun kerumitan.Salah satu metode kriptografi yang menarik untuk dipelajari adalah metode Blowfish. Metode Blowfish dirancang oleh Bruce Schneier pada tahun 1993. Blowfish merupakan algoritma kunci simetri blok kode dengan panjang blok tetap 64 bit. Blowfish menerapkan teknik kunci berukuran sembarangan antara 32 bit hingga 448 bit, dengan ukuran default 128 bit. Keamanan metode inipun berada pada proses pembentukan kuncinya yang panjang dan rumit. Inti dari metode kriptografi Blowfish terletak pada proses pengekspasian kunci dan pembentukan tabel S-Box.Tabel S-Box dari metode ini bersifat fleksibel dan berbeda-beda setiap putaran.
2.
Landasan Teori
2.1
Kriptografi Secara etimologi (ilmu asal usul kata), kriptografi berasal dari gabungan dua kata
dalam bahasa Yunani yaitu “kriptos” dan “graphia”.Kata kriptos digunakan untuk mendekripsikan sesuatu yang disembunyikan, rahasia atau misterius.Sedangkan kata graphia berarti tulisan. Kriptografi didefenisikan sebagai ilmu dan pelajaran untuk tulisan rahasia dengan pertimbangan bahwa komunikasi dan data dapat dikodekan untuk mencegah dari mata-mata atau orang lain yang ingin mengetahui isinya, dengan
1
menggunakan kode-kode dan aturan-aturan tertentu dan metode lainnya sehingga hanya orang yang berhak yang dapat mengetahui isi pesan sebenarnya.
1
Dalam menjaga kerahasiaan data, kriptografi mentransformasikan data jelas (plaintext) ke dalam betuk data sandi (ciphertext) yang tidak dapat dikenali.Ciphertext inilah
yang
kemudian
dikirimkan
oleh
pengirim
(sender)
kepada
penerima
(receiver).Setelah sampai di penerima, ciphertext tersebut ditransformasikan kembali kedalam bentuk plaintext agar dapat dikenali. Dalam arti lain, cryptography adalah seni dan ilmu dalam mengamankan pesan. Dalam dunia kriptografi, pesan disebut plaintext atau cleartext. Proses untuk menyamarkan pesan dengan cara sedemikian rupa untuk menyembunyikan isi aslinya disebut enkripsi. Pesan yang telah dienkripsi disebut ciphertext. Proses pengembalian sebuah ciphertext keplaintext disebut dekripsi. Cryptographer adalah orang yang mempraktekkan ilmu kriptografi, sedangkan cryptoanalysts adalah orang yang mempraktekkan kriptanalis, seni dan ilmu dalam memecahkan ciphertext. Aturan fundamental kriptografi yaitu seseorang harus mengasumsikan bahwa seorang kriptoanalis menguasai algoritma umum enkripsi yang digunakan, dengan kata lain, kriptanalis mengetahui cara kerja algoritma enkripsi. Jumlah usaha yang diperlukan untuk menemukan, menguji, dan memasang algoritma baru yang selalu berkompromi atau berfikir untuk berkompromi dengan algoritma lama, akan menyebabkan algoritma baru itu tidak berguna untuk menjaga kerahasiaan. Sistem kriptografi adalah sebuah algortima kriptografi ditambah semua kemungkinan plaintext, ciphertext dan kunci. 2.2
Blowfish Blowfish merupakan sebuah algoritma kunci simetri blok kode yang dirancang
pada tahun 1993 oleh Bruce Schneier untuk menggantikan DES. Pada saat itu banyak sekali rancangan algoritma yang ditawarkan, namun hampir semua terhalang oleh paten atau kerahasiaan pemerintah Amerika. Schneier menyatakan bahwa Blowfish bebas paten dan akan diletakkan pada domain publik. Dengan pernyataan Schneier tersebut Blowfish telah mendapatkan tempat di dunia kriptografi, khususnya bagi masyarakat yang membutuhkan algoritma kriptografi yang cepat, kuat, dan tidak terhalang lisensi.
2
Blowfish dikembangkan untuk memenuhi kriteria desain yang cepat dalam implementasinya dimana pada keadaan optimal dapat mencapai 26 clock cycle per byte,
1
http://www.sarjanaku.com/2012/11/pengertian-kriptografi-definisi.html, diakses pada tanggal 20 Desember 2012 2 Ariyus, Dony. Pengantar Ilmu Kriptografi : Teori Analisis dan Implementasi.Hal.204
2
kompak dimana dapat berjalan pada memori kurang dari 5 KB, sederhana dalam algoritmanya sehingga mudah diketahui kesalahannya, dan keamanan yang variabel dimana panjang kunci bervariasi. Dalam pengimplementasiannya dalam komputer bermicroprosesor 32-bit dengan cache data yang besar.Blowfish terbukti jauh lebih cepat dari DES. Tetapi Blowfish tidak cocok dengan aplikasi dengan perubahan kunci yang sering atau sebagai fungsi hash satu arah seperti pada aplikasi packet switching. Blowfish pun tidak dapat digunakan pada aplikasi kartu pintar (smart card) karena memerlukan memori yang besar. Keberhasilan Blowfish dalam menembus pasar terbukti dengan diadopsinya Blowfish sebagai Open Cryptography Interface (OCI) pada kernel Linux versi 2.5 ke atas.Dengan diadopsinya Blowfish berarti dunia open source menganggap Blowfish adalah salah satu algoritma terbaik. Kesuksesan Blowfish mulai memudar setelah kehadiran algoritma dengan ukuran blok yang lebih besar seperti AES. AES sendiri memang dirancang untuk menggantikan DES sehingga keseluruhan AES lebih unggul dari DES dan juga Blowfish. Blowfish adalah algoritma kriptografi kunci simetri blok kode dengan panjang blok tetap 64 bit. Blowfish menerapkan teknik kunci berukuran sembarang.Ukuran kunci yang dapat diterima oleh blowfish adalah antara 32 bit hingga 448 bit, dengan ukuran default sebesar 128 bit. Blowfish memanfaatkan teknik pemanipulasian bit dan teknik pemutaran ulang dan pergiliran kunci yang dilakukan sebanyak 16 kali. 3
Algoritma utama terbagi menjadi dua subalgoritma utama : 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 iterasi fungsi sederhana (Feistel 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
variabel
32-bit.Operasi
tambahan
lainnya
hanyalah
empat
penelusuran tabel (table lookup) array berindeks untuk setiap putaran. 2.3
Media Pembelajaran Media pembelajaran adalah media yang membawa pesan-pesan atau informasi
yang bertujuan instruksional atau mengandung maksud-maksud pengajaran. Media pembelajaran sebenarnya merupakan alat bantu yang digunakan oleh tenaga pengajar
3
http://ilmukomputer.org/wp-content/uploads/2007/07/anjar-enkripsi-blowfish.html, diakses pada tanggal 21 Desember 2012
3
dalam membantu tugasnya dalam pengajaran. Media pembelajaran juga dapat memudahkan pemahaman siswa terhadap kompetensi yang harus dikuasai terhadap materi yang harus dipelajari, yang pada akhirnya diharapkan dapat meningkatkan hasil belajar.
4
Kemampuan seorang tenaga pengajar dalam mengembangkan suatu media pembelajaran merupakan salah satu faktor penting dalam keberhasilan siswa dalam mencapai kompetensi yang diharapkan.Seorang pengajar tidak hanya mengajar siswa dengan materi yang ada, tapi dituntut untuk memiliki kemampuan bagaimana mengembangkan suatu materi pelajaran yang sudah ada menjadi lebih menarik sehingga siswa lebih memahami materi yang disampaikan. Beberapa hambatan yang dirasakan oleh seorang pengajar berkaitan dengan pengembangan media pembelajaran, salah satunya adanya keterbatasan dalam merancang dan menyusun media pembelajaran serta belum memiliki pengetahuan dan keterampilan yang memadai untuk membuat sebuah media. Beberapa faktor yang menyebabkan kurang optimalnya hasil belajar terkait dengan hasil pengembangan media pembelajaran, antara lain : 1.
Pengajar tidak tahu cara menggunakan media pembelajaran dalam proses pembelajaran.
2.
Penggunaan media pembelajaran oleh pendidik sangat terbatas sehingga dirasakan kurang membantu dalam penguasaan bahan ajar.
3. Kurang variatifnya media pembelajaran sehingga media pembelajaran sangat membosankan. 2.4
Visual Basic Microsoft Visual Basic atau VB merupakan sebuah bahasa pemrograman yang
menawarkan Integrated Development Environtment (IDE) visual untuk membuat program perangkat lunak berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman (COM).Visual basic merupakan turunan bahasa pemrograman BASIC dan menawarkan pengembangan perangkat lunak komputer berbasis grafik dengan cepat. Beberapa bahasa skrip seperti Visual Basic for Application (VBA) dan Visual Basic Scripting Edition (VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang berbeda. Para programmer dapat membangun aplikasi dengan menggunakan komponen-komponen yang disediakan oleh Microsoft Visual Basic.Program-program
4
http://neozonk.wordpress.com/2012/09/19/definisi-media-pembelajaran/, diakses pada tanggal 21 Desember 2012
4
yang ditulis dengan Visual Basic juga dapat menggunakan Windows API.Tapi membutuhkan deklarasi fungsi tambahan.
3.
Analisis Analisis dilakukan sebelum perancangan perangkat lunak. Analisis bertujuan
untuk mendapatkan pemahaman secara keseluruhan tentang perangkat lunak yang akan dikembangkan sehingga perancangan perangkat lunak yang dibuat sesuai dengan kebutuhan. 3.1
Analisis Kebutuhan Analisis kebutuhan ini digunakan untuk mengetahui kebutuhan-kebutuhan apa
saja yang diperlukan untuk membuat perangkat lunak. Analisis dibagi menjadi dua jenis yaitu analisis kebutuhan fungsional dan analisis kebutuhan non fungsional. 3.1.1
Analisis Kebutuhan Fungsional Kebutuhan fungsional berisi tentang proses apa saja yang dapat dilakukan
perangkat lunak. Diharapkan perangkat lunak dapat melakukan fungsi : 1. Perangkat
lunak
dapat
menampilkan
form
teori
dan
dapat
dinavigasi
menggunakan tombol. 2. User dapat menginputkan teks kunci ke dalam form pengekspansian kunci dan kemudian dilanjutkan ke proses pengekspansian kunci. 3. User dapat menginput plaintext ke dalam form proses enkripsi dan kemudian dilanjutkan ke proses enkripsi. 4. User dapat menginputkan ciphertext ke dalam form proses dekripsi dan kemudian dilanjutkan ke proses dekripsi. 5. Perangkat lunak dapat menampilkan proses pengekspansian kunci serta langkah-langkah algoritma pengkespansian kunci beserta animasinya. 6. Perangkat lunak dapat menampilkan proses enkripsi serta langkah-langkah algoritma enkripsi beserta animasinya. 7. Perangkat lunak dapat menampilkan proses dekripsi serta langkah-langkah algoritma dekripsi beserta animasinya. 3.1.2
Analisis Kebutuhan Non Fungsional Analisis kebutuhan non fungsional merupakan tipe kebutuhan yang berisi
property yang dibutuhkan dalam pembuatan perangkat lunak.Analisis kebutuhan non fungsional meliputi kebutuhan perangkat keras, kebutuhan perangkat lunak, dan kebutuhan Sumber Daya Manusia.
5
1. Kebutuhan Perangkat Keras. Perangkat keras yang digunakan penulis dalam pembuatan perangkat lunak media pembelajaran kriptografi Blowfish yaitu PC dengan spesifikasi sebagai berikut : a.
Intel(R) Core(TM) 2 Duo @ 2,53 GHz.
b.
Memory 2048MB.
c.
Harddisk 320GB.
d.
VGA Nvidia GeForce 8600 GT.
Adapun kebutuhan minimum perangkat keras yang dibutuhkan untuk pembuatan perangkat lunak ini : a.
Intel Pentium IV 1,6 GHz.
b.
Memory 256MB.
c.
Harddisk 40GB.
d.
VGA card 128MB.
2. Kebutuhan Perangkat Lunak. Perangkat lunak berfungsi sebagai pengatur aktivitas kerja komputer dan semua instruksi yang mengarah pada sistem komputer. Adapun rincian perangkat lunak yang akan digunakan untuk pembuatan game ini adalah sebagai berikut : a. Windows 7 Ultimate 32-bit. b. Microsoft Visual Basic 6.0. c.
Adobe Photoshop C.S.
3. Kebutuhan Sumber Daya Manusia. Analisis kebutuhan sumber daya manusia yang terlibat pada saat perancangan, pembuatan, dan implementasi. Sumber daya manusia yang dibutuhkan dalam pembuatan perangkat lunak media pembelajaran kriptografi metode Blowfish, antara lain: a. Sistem Analis, berperan melakukan kegiatan analisis kebutuhan meliputi analisis kebutuhan perangkat keras, perangkat lunak, dan sumber daya manusia. b. Programmer, berperan menerapkan rancangan form ke dalam tool dan membangun perangkat lunak. c.
User, merupakan pengguna yang nantinya akan menggunakan perangkat lunak ini.
6
3.2
Perancangan Perancangan perangkat lunak pembelajaran kriptografi Blowfish terdiri dari 2
bagian, yaitu 1. Perancangan Animasi Perangkat lunak media pembelajaran ini menggunakan animasi dalam tahapan proses pembentukan kunci, enkripsi, dekripsi dan fungsi f. Teknik animasi yang digunakan pada bagan proses adalah teknik pertukaran gambar. 2. Perancangan Tampilan Perangkat lunak media pembelajaran ini dirancang dengan menggunakan bahasa pemrograman Microsoft Visual Basic 6.0 dan menggunakan Form sebagai form induk (main form) dan fasilitas menu editor untuk membuat dan mengatur tampilan menu pull down.
Gambar 3.1 Rancangan Form-Form pada Aplikasi
4.
Hasil Penelitian dan Pembahasan
4.1
Pengujian Sistem Pengujian perangkat lunak media pembelajaran kriptografi metode blowfish ini
dilakukan dengan menggunakan metode Black Box Testing.Metode Black Box Testing merupakan pengujian program yang mengutamakan pengujian terhadap kebutuhan fungsi dari suatu program.Tujuan dari metode Black Box Testing ini adalah untuk menemukan kesalahan fungsi pada program.Pengujian menggunakan black box testing dilakukan terhadap tiga proses yaitu proses pengekspansian kunci, proses enkripsi dan proses dekripsi.
7
4.1.1
Proses Pengekspansian Kunci Pengujian proses pengekspansian kunci dimulai dengan memasukan teks
“BLOWFISH” pada form “Input Kunci”. Pada text box ini dapat disii maksimum 8 karakter.
Gambar 4.1Penginputan Kunci Selanjutnya, pengujian dilakukan dengan menekan tombol “Proses”. Output yang dihasilkan sesuai dengan kebutuhan fungsionalnya. Program dapat menampilkan langkah-langkah proses pengekspansian kunci.
Gambar 4.2Output Proses Pengekspansian Kunci 4.1.2
Proses Enkripsi Pengujian proses enkripsi dimulai dengan memasukkan teks kunci “BLOWFISH”
dan teks yang akan dienkripsi “APLIKASI” pada form “Input Enkripsi”. Masing-masing textbox dapat diisi maksimum 8 karakter.
8
Gambar 4.3Penginputan Kunci dan Plainteks Selanjutnya, pengujian dilakukan dengan menekan tombol “Proses”. Output yang dihasilkan sesuai dengan kebutuhan fungsionalnya. Program dapat menampilkan langkah-langkah proses enkripsi.Setelah proses enkripsi selesai ciphertext yang didapat adalah “bœqœÚ'¾¥”.
Gambar 4.4 Output Proses Enkripsi 4.1.3
Proses Dekripsi Pengujian proses dekripsi dimulai dengan memasukkan teks hasil proses
enkripsi diatas dan teks kunci yang sama pada form “Input Dekripsi”.
9
Gambar 4.5 Penginputan Kunci dan Cipherteks Selanjutnya, pengujian dilakukan dengan menekan tombol “Proses”. Output yang dihasilkan sesuai dengan kebutuhan fungsionalnya. Program dapat menampilkan langkah-langkah proses dekripsi. Setelah proses dekripsi selesai plaintext yang didapat adalah “APLIKASI”.
Gambar 4.6 Output Proses Dekripsi
5.
Kesimpulan Dari hasil pembuatan perangkat lunak media pembelajaran kriptografi modern
metode Blowfish, dapat diambil kesimpulan sebagai berikut : 1. Perangkat lunak ini dapat memvisualkan setiap langkah-langkah penyelesaian algoritma untuk proses pengekspansian kunci, enkripsi dan dekripsi secara tahap demi tahap sehingga mempermudah pemahaman. 10
2. Perangkat lunak ini dilengkapi dengan fungsi untuk mengatur kecepatan animasi, sehingga user dapat mengikuti dan memahami setiap langkah-langkah yang divisualkan. 3. Algoritma Blowfish dapat diimplementasikan ke dalam banyak bahasa pemrograman dan algoritma serta sifat perancangannya terbuka bagi umum. Dalam pembuatannya, penelitian ini diimplementasikan ke dalam Microsoft Visual Basic 6.0 menjadi sebuah perangkat lunak pembelajaran berbasis dekstop.
11
Daftar Pustaka Ariyus, Doni. 2008. Pengantar Ilmu Kriptografi: Teori Analisis dan Implementasi. Yogyakarta: ANDI. Fernando, Yendri Ikhlas. Kriptografi Ikut Mewarnai Peradaban Dunia, http://ilmukomputer.org/wp-content/uploads/2012/11/yendri-kriptografi.pdf, diakses tanggal 20 Desember 2012. Nursyamsi, Aji. 2012. Definisi Pembelaran,http://neozonk.wordpress.com/2012/09/19/definisi-mediapembelajaran/, diakses tanggal 21 Desember 2012. Yasin,
Sanjana. 2012. Pengertian Kriptografi Definisi http://www.sarjanaku.com/2012/11/pengertian-kriptografi-definisi.html, tanggal 20 Desember 2012.
12
Media
Kriptografi, diakses