pembuatan aplikasi kriptosistem menggunakan...
TRANSCRIPT
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
mengubah chipertext menjadi plaintext disebut dengan proses dekripsi2.
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
susunan alfabet dari a,b,c yaitu a menjadi d, b menjadi e, c menjadi f dan seterusnya3.
2.3 Algoritma dan Kunci
Algoritma kriptografi merupakan fungsi matematis yang digunakan untuk proses
enkripsi dan dekripsi. Algoritma kriptografi ini bekerja dalam kombinasi dengan
menggunakan kunci (key) seperti kata, nomor atau frase tertentu4.
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. 3 Dony Ariyus,Kriptografi : Keamanan Data dan Komunikasi, hal 9-10. 4 Janner Simarmata, Pengamanan Sistem Komputer, hal 200.
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
mengharuskan pengirim dan penerima menyetujui satu kunci tertentu5.
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
kunci rahasia (private key)6.
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 Janner Simarmata, Pengamanan Sistem Komputer, hal 202. 6 Janner Simarmata, Pengamanan Sistem Komputer, hal 203.
ingin membuat sidik jari dari suatu pesan. Sidik jari pada pesan merupakan suatu tanda
yang menandakan bahwa pesan tersebut benar-benar dari orang yang diinginkan7.
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
ada di dalamalphabet), dan dengan begitu kunci yang digunakan ada 25 alphabet10.
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. 8 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.
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
dalam satu elemen plaintext11.
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 Dony Ariyus,Kriptografi : Keamanan Data dan Komunikasi, hal 27. 12 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 Perangkat Lunak
1. Windows 7 Ultimate 32-bit
2. Microsoft Visual Basic 6.0
3. Microsoft Office Access 2007
4. Microsoft Office 2007
3.1.2 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
3.1.3 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).
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.
Menu Utama
Menu Enkripsi Menu Dekripsi
Menu Tipe Kunci
Menu Proses Enkripsi
Menu Tipe Kunci
Menu Proses dekripsi
Gambar 3.2 Flowchart Aplikasi
Start
Pilih Menu
Menu Enkripsi Menu Dekripsi
Masukan Kunci
Masukan Kunci
Masukan Plaintext
Masukan Chipertext
ProsesData
ProsesData
Proses Enkripsi
Proses Enkripsi
Hasil (chipertext)
Hasil (plaintext)
Keluar Program
End
lakukan proses lagi
lakukan proses lagi
YaYa
YaYa
TidakTidaktidaktidak
YaYa
TidakTidak
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.