PEMBUATAN APLIKASI KRIPTOSISTEM MENGGUNAKAN METODE ALGORITMA VIGENERE CIPHER
Naskah Publikasi
diajukan oleh Hijasma Mushlih 07.11.1738
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2012
MAKING APPLICATION CRYPTOSYSTEM USING VIGENERE CIPHER ALGORITHM METHOD PEMBUATAN APLIKASI KRIPTOSISTEM MENGGUNAKAN METODE ALGORITMA VIGENERE CIPHER Hijasma Mushlih Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT The rapid advances in technology now makes a wide variety of communication servicesgrow by leaps and bounds. One of the most important thing in communication using computers and computer networks is to ensure the security of messages, data, orinformation in the data exchange process, thus becoming one of the drivers of the emergence of cryptography technology. Cryptographic algorithms based on dataencoding information that supports the needs of two aspects of information security,namely secrecy (protection of data confidentiality of information) and authenticity(protection against forgery and alteration of information that is not desirable. Application of theory - the theory gained in the college in making this application in order to implement an encrypted message to be more secure. In making the application of this cryptosystem, the method used is the Vigenere Cipher, one other form of encryption of type polyalphabetic. Applications created with Visual Basic 6.0 software and the creation of applications with encryption is expected to settlethe problems mentioned above. Keywords: cryptography, coding algorithms, Vigenere cipher, visual basic 6.0
1.
Pendahuluan Salah satu hal terpenting dalam komunikasi menggunakan komputer dan jaringan
komputer adalah untuk menjamin keamanan pesan, data, ataupun informasi dalam proses pertukaran data, sehingga menjadi salah satu pendorong munculnya teknologi Kriptografi. Kriptografi berbasis pada algoritma pengkodean data informasi yang mendukung kebutuhan dari dua aspek keamanan informasi, yaitu secrecy (perlindungan terhadap kerahasiaan data informasi) dan authenticity (perlindungan terhadap pemalsuan dan pengubahan informasi yang tidak diinginkan. Kriptografi merupakan studi matematika yang mempunyai hubungan dengan aspek keamanan informasi seperti integritas data, keaslian entitas dan keaslian data. Kriptografi menggunakan berbagai macam teknik dalam upaya untuk mengamankan data. Pengiriman data dan penyimpanan data melalui media elektronik memerlukan suatu proses yang dapat menjamin keamanan dan keutuhan dari data yang dikirimkan tersebut. Data tersebut harus tetap rahasia selama pengiriman dan harus tetap utuh pada saat penerimaan di tujuan. Untuk memenuhi hal tersebut, dilakukan proses penyandian (enkripsi dan dekripsi) terhadap data yang akan dikirimkan. 2.
Landasan Teori
2.1
Pengertian Kriptografi Kriptografi (Cryptography) berasal dari bahasa Yunani, yaitu dari kata crypto dan
graphia yang berarti penulisan rahasia. Kriptografi adalah suatu ilmu yang mempelajari penulisan secara rahasia. Kriptografi merupakan bagian dari suatu cabang ilmu matematika yang di sebut Cryptology. Kriptografi bertujuan menjaga kerahasiaan informasi yang terkandung dalam data sehingga informasi tersebut tidak dapat diketahui oleh pihak yang tidak sah1. Pesan atau informasi yang dapat dibaca disebut dengan plaintext atau cleartext. Proses yang digunakan untuk menyamarkan atau menyembunyikan plaintext disebut dengan enkripsi. Teks yang sudah disamarkan atau disembunyikan pada proses enkripsi 1
Janner Simarmata, Pengamanan Sistem Komputer, hal 199
berisi informasi yang tidak dapat atau tidak mudah dibaca dan dimengerti dengan jelas. Teks hasil enkripsi disebut dengan chiperteks. Proses kebalikan enkripsi, yaitu 2
mengubah chipertext menjadi plaintext disebut dengan proses dekripsi . 2.2 Sejarah Kriptografi Kriptografi mempunyai sejarah yang sangat menarik dan panjang. Kriptografi sudah digunakan 4000 tahun yang lalu yang diperkenalkan oleh orang-orang Mesir untuk mengirim pesan ke pasukan militer yang berada di lapangan dan supaya pesan tersebut tidak terbaca oleh pihak musuh walaupun kurir pembawa pesan tertangkap oleh musuh. (Dony, 2006, hal.9) Pada zaman Romawi kuno dikisahkan pada suatu saat, ketika Julius Caesar ingin mengirimkan satu pesan rahasia kepada seorang Jendral di medan perang. Pesan tersebut harus dikirimkan melalui seorang kurir, tetapi karena pesan tersebut mangandung rahasia, Julius Caesar memikirkan bagaimana mengatasinya yaitu dengan cara mengacak pesan tersebut menjadi suatu pesan yang tidak dapat dipahami oleh siapapun keculai hanya dapat dipahami oleh Jendralnya saja. Tentu sang Jendral telah diberi tahu sebelumnya bagaimana cara membaca pesan yang ter-acak tersebut, karena telah mengetahui kuncinya. Yang dilakukan Julius Caesar adalah mengganti semua 3
susunan alfabet dari a,b,c yaitu a menjadi d, b menjadi e, c menjadi f dan seterusnya . 2.3 Algoritma dan Kunci Algoritma kriptografi merupakan fungsi matematis yang digunakan untuk proses enkripsi dan dekripsi. Algoritma kriptografi ini bekerja dalam kombinasi dengan 4
menggunakan kunci (key) seperti kata, nomor atau frase tertentu . Bila keamanan algoritma bergantung pada kerahasiaan algoritma yang bekerja, maka algoritma tersebut dikatakan sebagai algoritma terbatas (terbatas kemampuannya). Algoritma terbatas tidak cukup baik untuk diterapkan saat ini. Kerahasiaan algoritmanya
2
Janner Simarmata, Pengamanan Sistem Komputer, hal 200. Dony Ariyus,Kriptografi : Keamanan Data dan Komunikasi, hal 9-10. 4 Janner Simarmata, Pengamanan Sistem Komputer, hal 200. 3
menjadi titik lemah yang tidak memungkinkan pemberlakuan kontrol kualitas atau standarisasi. Kriptografi modern menyelesaikan masalah enkripsi dan dekripsi dengan merahasiakan kunci saja tanpa harus merahaisakan algoritmanya.Kunci ini merupakan nilai yang sangat spesifik dan bekerja dengan algoritma kriptografi untuk menghasilkan teks yang terenkripsi secara spesifik. Dengan kunci inilah nantinya kita dapat melakukan proses enkripsi dan dekripsi. Karena keamanan bergantung pada kerahasiaan kunci, maka
algoritma
yang
dibentuk
dapat
dianalisis
dan
dipublikasikan
sehingga
memungkinkan pengembangan algoritma yang lebih baik. 2.4 Macam – Macam Algoritma Kriptografi 2.4.1 Algoritma Simetris Algoritma ini disebut juga dengan algoritma konvensional, yaitu algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan dekripsi. Algoritma ini 5
mengharuskan pengirim dan penerima menyetujui satu kunci tertentu . 2.4.2 Algoritma Asimetris Algoritma ini disebut juga dengan kriptogradi kunci publik (public key algorithm). Sebutan asimetris (tidak simetris) memperlihatkan adanya perbedaan kunci yang digunakan untuk proses enkripsi dan dekripsi. Kunci publik digunakan untuk proses enkripsi data sedangkan proses dekripsi menggunakan kunci yang biasa disebut dengan 6
kunci rahasia (private key) . 2.4.3 Hash Function Fungsi hash sering disebut dengan fungsi hash satu arah, message digest, fingerprint, fungsi kompresi dan message authentication code (MAC), hal inimerupakn suatu fungsi matematika yang mengambil input panjang variable dan mengubahnya ke dalam urutan biner dengan panjang yang tetap. Fungsi hash biasanya diperlukan bila
5 6
Janner Simarmata, Pengamanan Sistem Komputer, hal 202. Janner Simarmata, Pengamanan Sistem Komputer, hal 203.
ingin membuat sidik jari dari suatu pesan. Sidik jari pada pesan merupakan suatu tanda 7
yang menandakan bahwa pesan tersebut benar-benar dari orang yang diinginkan . 2.5
Kriptografi Klasik Kriptografi klasik merupakan suatu algoritma yang menggunakan satu kunci untuk
mengamankan data, teknik ini sudah digunakan beberapa abad yang lalu. 2.5.1 Teknik Substitusi Substitusi merupakan penggantian setiap karakter dari plaintext dengan karakter lainnya, ada empat istilah dari substitusi chipper diantaranya adalah: Monoalphabet, polyalphabet, monograf, polygraph8. 2.5.1.1 Caesar Cipher Substitusi yang pertama dalam dunia penyandian pada waktu pemerintahan Yulius Caesar yang dikenal dengan Caesar Cipher, dengan mengganti posisi huruf awal dari alphabet9. 2.5.1.2 Playfair Cipher Playfair cipher diemukan oleh sir Charles Wheatstone dan baron Lyon Playfair pada tahun 1854 dan digunakan pertama kali pada awal abad 20, untuk mengirim pesan antar markas yang ada di Inggris pada masa perang dunia pertama. Kunci dari playfair menggunakan matrix 5x5( dengan input terdiri dari 25 karakter dan membuang J yang 10
ada di dalamalphabet), dan dengan begitu kunci yang digunakan ada 25 alphabet .
2.5.1.3 Shift Cipher Teknik dari substitusi shift Chiper dengan modulus 26, memberikan angka ke setiap alphabet seperti a <- -> 0, B <- -> 1…. Z <- -> 25.
7
Dony Ariyus,Kriptografi : Keamanan Data dan Komunikasi, hal 16. Dony Ariyus,Kriptografi : Keamanan Data dan Komunikasi, hal 17. 9 Dony Ariyus,Kriptografi : Keamanan Data dan Komunikasi, hal 18. 10 Dony Ariyus,Kriptografi : Keamanan Data dan Komunikasi, hal 24. 8
2.5.1.4 Hill Cipher Hill cipher termasuk dalam salah satu kriptosistem polialfabetik, artinya setiap karakteralfabet bisa dipetakan ke lebih dari satu macam karakter alfabet. Cipher ini ditemukan pada tahun 1929 oleh LesterS. Hill. Misalkan m adalah bilangan bulat positif, dan P=C=(Z26)m. Ide dari Hill Cipher adalah dengan mengambil m kombinasi linier dari m karakter alfabet dalam satu elemen plaintext, sehingga menghasilkan m alfabetkarakter 11
dalam satu elemen plaintext . 2.5.1.5 Vigenere Chiper Pada
teknik
substitusi
vigenere
setiap
ciphertext
bisa
memiliki
banyak
kemungkinan plaintextnya. Teknik dari substitusi vigenere dapat dilakukan dengan dua cara yaitu, Angka dan Huruf. 2.5.1.5.1
Angka
Teknik subsitusi vigenere dengan menggunakan angka dengan menukarkan huruf dengan angka. 2.5.1.5.2
Huruf
Teknik substitusi vigenere dengan menggunakan huruf, menggunakan tabel.
2.6
Kriptografi Modern Kriptografi modern
merupakan suatu algoritma yang digunakan pada saat
sekarang ini, yang mana kriptografi modern mempunyai kerumitan yang sangat komplek, karena dalam pengoprasiannya menggunakan komputer12. 3.
Analisis
3.1
Analisis Kebutuhan Sebelum melakukan Pembuatan aplikasi kriptosistem menggunakan metode
algoritma Vigenere cipher, maka yang harus dilakukan terlebih dahulu adalah proses
11 12
Dony Ariyus,Kriptografi : Keamanan Data dan Komunikasi, hal 27. Dony Ariyus,Kriptografi : Keamanan Data dan Komunikasi, hal 16.
perancangan sistem. Hal ini dimaksudkan untuk mempermudah proses pembuatan perangkat lunak menjadi lebih terstruktur. Analisa perancangan sistem dimulai dengan analisa kebutuhan perangkat lunak maupun perangkat keras, dan deskripsi perangkat lunak. 3.1.1
3.1.2
3.1.3
Perangkat Lunak 1.
Windows 7 Ultimate 32-bit
2.
Microsoft Visual Basic 6.0
3.
Microsoft Office Access 2007
4.
Microsoft Office 2007
Perangkat Keras (Notebook) 1.
Processor
: Intel Core 2 Duo 2.20 Ghz
2.
Memory
: 2048 MB
3.
Harddisk
: 320 GB
4.
VGA
: Nvidia Geforce G210M
Deskripsi Perangkat Lunak Perangkat Lunak yang dirancang merupakan sebuah kriptosistem. Di mana
perancangannya berdasar pada pendekatan metode enkripsi menggunakan algoritma Vigenere Cipher. 3.2
Rancangan Diagram hierarki Rancangan ini dibuat untuk memudahkan proses perancangan aplikasi
kriptosistem dengan menggunakan algoritma enkripsi Vigenere cipher. Diagram hirarki ini memiliki dua sub menu, yaitu: menu enkripsi, menu dekripsi. Sub menu enkripsi terbagi menjadi pilihan tipe dan enkripsi(proses). Sub menu dekripsi hampir sama dengan menu enkripsi antara lain menjadi pilihan tipe dan dekripsi(proses).
Menu Utama
Menu Dekripsi
Menu Enkripsi
Menu Tipe Kunci
Menu Proses Enkripsi
Menu Tipe Kunci
Menu Proses dekripsi
Gambar 3.1 Diagram Hirarki 3.3
Rancangan Flow Chart Rancangan ini digunakan untuk mendesain dan merepresentasikan program.
Sebelum pembuatan program, fungsinya adalah mempermudah programmer dalam menentukan alur logika program yang akan dibuat. Sesudah pembuatan program fungsinya adalah untuk menjelaskan alur program kepada orang lain atau user.
Start
Pilih Menu
Ya
Menu Enkripsi
Menu Dekripsi
Masukan Kunci
Masukan Kunci
Masukan Plaintext
Masukan Chipertext Ya
Proses Data
Proses Data
Proses Enkripsi
Proses Enkripsi
lakukan proses lagi
lakukan proses lagi
tidak
Tidak Hasil (plaintext)
Hasil (chipertext)
Tidak
Keluar Program
Ya
End
Gambar 3.2 Flowchart Aplikasi
4. Implementasi dan pembahasan 4.1 Menu utama
Gambar 4.1 Tampilan Menu Utama
4.2 Antar Muka Enkripsi
Gambar 4.2 Tampilan Enkripsi
4.3 Antar Muka Dekripsi
Gambar 4.4 Tampilan Dekripsi
4.4 Antar Muka Kunci
Gambar 4.5 Tampilan masukan kunci
Gambar 4.6 Peringatan
4
Kesimpulan
5
Kesimpulan Dari hasil Pembuatan aplikasi kriptosistem menggunakan metode algoritma
Vigenere cipher ini, dapat diambil kesimpulan sebagai berikut : 1. Untuk merancang aplikasi kriptosistem ini dilalui dalam beberapa tahap yaitu perancangan diagram, flowchart, layout/tampilan program, dan pengkodean algoritma Vigenere cipher diimplementasikan pada visual basic 6.0. 2. Pada penulisan coding enkripsi dan dekripsi harus melakukan perulangan yang sama tetapi menggunakan objek yang berbeda. 3. Proses dekripsi dengan kunci tipe huruf lebih lama dibandingkan dengan dekripsi dengan kunci tipe angka. 4. Dalam pengisian kunci harus sesuai dengan tipe yang dipilih. Apabila kunci tipe angka hanya bisa dimasukkan angka, dan kunci huruf hanya bisa dimasukkan huruf. 5. Spesifikasi program aplikasi ini dapat dijalankan sesuai dengan spesifikasi teknis yang dirancang. 6. Program aplikasi kriptosistem ini dapat menyembunyikan pesan penting yang bisa dibaca menjadi tidak bisa dibaca dan mencari maksud dari pesan yang rahasia menjadi bisa dibaca. 7. Aplikasi ini dapat diinstal atau diimplementasikan pada sistem operasi windows.
Daftar Pustaka Ariyus, Dony. 2006. Kriptografi: Keamanan Data dan Komunikasi. Yogyakarta : Graha Ilmu. Flinders, Karl. 2009. Photos: The Evolution Of The Pc, http://www.computer weekly.com/galleries/234790-2/2-The-Enigma-machine.htm , diakses tanggal 22 Juli 2011. Kurniawan, Yusuf, Ir, MT.2004. Kriptografi: Keamanan Internet dan Jaringan Komunikasi. Bandung: Informatika bandung. Simarmata, Janner. 2005. Pengamanan Sistem Komputer. Yogyakarta: Andi.