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.
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
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
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
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
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
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.1Diagram 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.2Flowchart Aplikasi Start
Pilih Menu
Menu Enkripsi Menu Dekripsi
Masukan
Kunci Masukan Kunci
Masukan Plaintext Masukan Chipertext Proses Data Proses Data Proses Enkripsi Proses Enkripsi Hasil (chipertext) Hasil (plaintext) Keluar Program End lakukan proses lagi lakukan proses lagi Ya Ya Ya Ya Tidak Tidak tidak tidak Ya Ya Tidak Tidak
4. Implementasi dan pembahasan 4.1 Menu utama
Gambar 4.1 Tampilan Menu Utama
4.2 Antar Muka Enkripsi
4.3 Antar Muka Dekripsi
Gambar 4.4 Tampilan Dekripsi
4.4 Antar Muka Kunci
Gambar 4.6Peringatan
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.