Download IMPLEMENTASI ALGORITMA KRIPTOGRAFI METODE SHIFT

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
IMPLEMENTASI ALGORITMA KRIPTOGRAFI METODE SHIFT CIPHER
PADA FOLDER LOCK
NASKAH PUBLIKASI
diajukan oleh
Miftakhul Hudha
06.11.1254
kepada
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM
YOGYAKARTA
2012
ii
SHIFT CIPHER ALGORITHM CRIPTOGRAPHY IMPLEMENTATION
IN FOLDER LOCK
IMPLEMENTASI ALGORITMA KRIPTOGRAFI METODE SHIFT CIPHER
PADA FOLDER LOCK
Miftakhul Hudha
Melwin Syafrizal
Jurusan Teknik Informatika
STMIK AMIKOM YOGYAKARTA
ABSTRACT
Security issues is one of the most important aspects in the world of information
technology. Now this to group the data inserted into a specific folder for easier searching
later. When we work with the data or the computer connected to the public network, it is
important to protect our data file from the access of people who we do not want.
One method for protecting data files and restrict access to it is a combination lock
folder with a cryptographic algorithm. Shift cipher is an algorithm that existed before the
digital era as it is today. Classical algorithm included in the cryptographic system
symmetry is an algorithm that have the same key to encrypt and decrypt. That's because
at that time undiscovered public key cryptography.
Based on the results of testing an application or system built lock folders with shift
cipher algorithm that is built with java and have been made in the extension jar has been
tested with a lock on the folder, it works by adding a registry extension network. Folders
are not in lock-in the form of a regular folder icon while a folder that was in-form lock icon
Network icon in a state of hidden and when clicked it will go to Network. The result can be
run properly to protect access to the folder with the terms of the computer is installed java
minimum version of Java 2 SE 1.2.
Keywords: Shift Cipher, JAVA, Cryptography, Folder Lock, Computer
iii
1.
Pendahuluan
Masalah keamanan merupakan salah satu aspek penting dalam dunia teknologi
informasi, misalnya : keamanan isi folder. Sekarang ini, untuk mengelompokkan data–
data yang spesifik dimasukkan ke dalam suatu folder, untuk memudahkan pencarian
dikemudian hari. Di dalam folder bisa dimasukkan folder lain maupun file, misalnya :
gambar, database, video dan lain-lain. Folder dapat diberi nama sesuai dengan
kebutuhannya.
Keamanan telah menjadi aspek yang sangat penting dari suatu sistem informasi.
Sebuah sistem informasi umumnya hanya ditujukan bagi segolongan tertentu. Oleh
karena itu sangat penting untuk mencegahnya jatuh ketangan pihak–pihak lain yang tidak
berkepentingan. Untuk melaksanakan tujuan tersebutlah dirancang suatu sistem
keamanan yang berfungsi melindungi sistem informasi.
Upaya pengamanan sistem informasi yang dapat dilakukan adalah kriptografi.
Salah satu cara untuk mengatasi hal tersebut, dapat dilakukan dengan mengenkripsi isi
dari berkas, sehingga pihak yang tidak terotentifikasi untuk merubah maupun menambah
data akan sulit menerjemahkannya. Metode yang bisa digunakan, yaitu metode shift
cipher, dengan pengacakan data menjadi chipertext yang mengutamakan keamanan
data itu sendiri.
2.
Landasan Teori
2.1
kriptografi
Kriptografi (cryptography) berasal dari bahasa Yunani yaitu cryptos artinya
rahasia (secret) dan graphein artinya tulisan (writing). Jadi kriptografi berarti tulisan
rahasia (secret writing). Secara istilah kriptografi didefinisikan sebagai ilmu sekaligus seni
untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau nilai,
dengan cara menyamarkan (mengacak) menjadi bentuk yang tidak dapat dimengerti
menggunakan suatu algoritma tertentu.
Dalam ilmu kriptografi suatu pesan yang akan dirahasiakan atau disandikan
disebut dengan plaintext, sedangkan pesan yang telah disandikan sehingga tidak
memiliki nilai dan arti lagi dengan tujuan agar pesan tidak dapat dibaaca oleh pihak yang
tidak berhak disebut chipertext.
Untuk melakukan kriptografi digunakan algoritma kriptografi. Algoritma kriptografi
terdiri dari tiga fungsi, yaitu enkripsi, dekripsi dan kunci. Enkripsi merupakan proses
mengubah plaintext menjadi ciphertext, dekripsi merupakan kebalikan dari enkripsi yaitu
mengubah ciphertext menjadi plaintext, sedangkan kunci di gunakan untuk melakukan
enkripsi dan dekripsi.
1
2.2
Shift Cipher
Teknik enkripsi subtitusi shift cipher merupakan generalisasi dari Caesar cipher,
yaitu tidak membatasi pergeseran sebanyak tiga huruf, jadi ada sebanyak 26 kunci
pergeseran yang bias digunakan. Proses penyandian (enkripsi) dapat secara matematis
menggunakan operasi modulus dengan mengubah huruf-huruf menjadi angka, A = 0, B =
1,..., Z = 25.
Untuk menyandikan sebuah pesan, cukup menambahkan setiap huruf yang
hendak disaandikan dengan kunci yang telah ditentukan, maka akan didapatkan huruf
yang sesuai dengan alphabet sandi. Untuk memecah sandi tersebut gunakan cara
sebaliknya. Contoh penyandian sebuah pesan adalah sebagai berikut:
Plaintext
: THE REAL STMIK
Kunci
: 11
Untuk mendapatkan ciphertext, dengan menambahkan huruf dengan kunci 11,
maka akan didapatkan:
•
T = 19 + 11 mod 26  4
E
•
H = 7 + 11 mod 26  18
S
•
E = 4 + 11 mod 26  15
P
•
R = 17 + 11 mod 26  2
C
•
E = 4 + 11 mod 26  15
P
•
A = 0 + 11 mod 26  11
L
•
L = 11 + 11 mod 26  22
W
•
S = 18 + 11 mod 26  3
D
•
T = 19 + 11 mod 26  4
E
•
M = 12 + 11 mod 26  23
X
•
I = 8 +11 mod 26  19
T
•
K = 10 + 11 mod 26  21
V
Ciphertext
: ESP CPLW DEXTV
2.3
JAVA
2.3.1
Sebuah Bahasa Pemrograman
2
Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk
aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa
pemrograman konvensional yang lain.
2.3.2
Sebuah Aplikasi
Aplikasi dengan teknologi Java secara umum adalah aplikasi serba guna yang
dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE).
2.3.3
Sebuah Deployment Environment
Terdapat dua komponen utama dari Deployment Environment. Yang pertama
adalah JRE, yang terdapat pada paket J2SDK, mengandung kelas–kelas untuk semua
paket teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dan
sebagainya. Komponen yang lain terdapat pada Web Browser. Hampir seluruh Web
Browser komersial menyediakan interpreter dan runtime environment dari teknologi Java.
2.3.4
Fase-fase Pemrograman JAVA
Gambar dibawah ini menjelaskan aliran proses kompilasi dan eksekusi sebuah
program Java :
Gambar 2.1: Fase dari sebuah Program Java
2.3.5
Java Foundation Class
Java Foundation Class (JFC) merupakan sekumpulan class-class Java yang
digunakan untuk mengembangkan perangkat lunak berbasis GUI (Graphical User
Interface). Selain itu, JFC juga mempunyai class-class yang digunakan untuk
menambahkan fungsi dan kemampuan interaksi yang variatif dari pemrograman Java.
2.3.6
Swing Package
Swing API sangat bagus dan lengkap, Java 6.0 menyertakan setidaknya tujuh
belas (17) buah package yang berisi class-class swing yang siap digunakan.
Table 2.1 Class-class swing
Javax.accessibility
Javax.swing.plaf
3
Javax.swing.text
Javax.swing
Javax.swing.plaf.basic
Javax.swing.text.html
Javax.swing.border
Javax.swing.plaf.metal
Javax.swing.text.rtf
Javax.swing.colorchooser
Javax.swing.plaf.multi
Javax.swing.table
Javax.swing.event
Javax.swing.plaf.synth
Javax.swing.tree
Javax.swing.filechooser
2.3.7
Javax.swing.undo
Netbeans
Netbeans merupakan Integrated Development Environment atau IDE. Suatu IDE
adalah lingkup pemrograman yang diintegrasikan ke dalam suatu aplikasi perangkat
lunak yang menyediakan pembangun GUI, suatu text editor, suatu compiler atau
interpreter dan suatu debugger.
3.
Analisis dan Perancangan Sistem
3.1
Analisis Keamanan Data
Keamanan merupakan aspek terpenting dari sistem informasi, namun pada
kenyataannya aspek keamanan berada diurutan terakhir dari sebuah sistem yang
dibangun. Pembuat sistem lebih mengistimewakan masalah penampilan dari sistem yang
dibangun dari pada mengutamakan keamanannya.
3.2
Analisis Sistem
Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem
informasi yang utuh kedalam bagian-bagian komponennya dengan maksud untuk
mengidentifikasi
dan
mengevaluasi
permasalahan-permasalahan,
kesempatan, hambatan-hambatan yang
kesempatan-
terjadi dan kebutuhan-kebutuhan yang
diharapkan sehingga dapat diusulkan perbaikan-perbaikannya.
3.2.1
Analisis Kebutuhan Sistem
Analisis kebutuhan sistem ini digunakan untuk mengetahui kebutuhan-kebutuhan
apa saja yang diperlukan untuk merealisasikan sistem yang diusulkan, diantaranya
adalah analisis kebutuhan fungsional dan analisis kebutuhan non fungsional:
3.2.1.1 Analisis Kebutuhan Fungsional
Spesifikasi kebutuhan melibatkan analisis perangkat keras (hardware) dan
analisis perangkat lunak (software):
3.2.1.1.1 Analisis Kebutuhan Perangkat Lunak (Software)
4
Spesifikasi perangkat lunak yang digunakan dalam pembuatan sistem aplikasi ini
memiliki spesifikasi sebagai berikut:
1.
Sistem Operasi
:
Windows 7 Ultimate Service Pack 1.
2.
Java
:
Java Development Kit (JDK) versi 7.
3.
NetBeans
:
NetBeans IDE 7.1 Release Candidate 2.
3.2.1.1.2 Analisis Kebutuhan Perangkat Keras (Hardware)
Spesifikasi perangkat keras yang digunakan untuk membangun sistem aplikasi
ini merupakan Laptop yang mempunyai spesifikasi sebagai berikut:
1.
Processor
:
Intel® Core™ i3 CPU M390 @ 2.67GHz.
2.
Motherboard
:
Hp.
3.
Ram
:
2 GB.
4.
HardDisk
:
Hitachi 320 GB.
5.
Keyboard+Mouse
:
Standart + Touchpad.
6.
Vga
:
On Board.
7.
Monitor
:
LCD 14 inch.
3.2.1.2 Analisis Kebutuhan non Fungsional
Analisis kebutuhan non fungsional menggambarkan keadaan sistem yang akan
dibuat. Adapun kebutuhan minimal spesifikasi komputer yang akan dibangun adalah:
1.
Processor
:
Pentium III
2.
RAM
:
512 MB
3.
Hard Disk
:
10 MB
4.
Sistem Operasi
:
Sistem operasi Windows XP
Dari hasil perbandingan antara hasil analisis kebutuhan fungsional dan analisis
kebutuhan non fungsional maka aplikasi ini bisa di terapkan di komputer.
3.2.2
Analisis Kelayakan Sistem
Aspek-aspek kelayakan yang akan dianalisis dalam perancangan sistem ini
untuk menguji kelayakannya antara lain:
3.2.2.1 Analisis Kelayakan Teknologi
5
Penerapan teknologi dalam sistem diantaranya adalah algoritma shift cipher oleh
karena itu sistem ini layak dipandang dari segi teknologi.
3.2.2.2 Analisis Kelayakan Hukum
Penerapan sistem harus tidak boleh menimbulkan masalah dikemudian hari
karena menyimpang dari hukum yang berlaku terutama dalam perijinan penggunaan
aplikasi pendukung system. Aplikasi ini menggunakan lisensi open source.
3.2.3
Analisis Biaya untuk Membangun Rancangan
Analisis biaya untuk membangun rancangan folder lock ini merupaakan tahap
yang sangat penting karena akan menentukan estimasi biaya yang akan dikeluarkan
untuk membuat folder lock, biaya yang diperlukan sebagai berikut:
a.
Perangkat Keras
Perangkat kerasnya menggunakan Laptop HP Pavilion G4 1035TU dengan
spesifikasi sebagai berikut:
1.
Processor
:
Intel® Core™ i3 CPU M390 @ 2.67 GHz
2.
Memory
:
2 GB of RAM
3.
Harddisk
:
320 GB Hitachi
4.
Monitor
:
LCD 14 inch
5.
Harga
:
Rp. 3.900.000,00
b.
Perangkat Lunak
1.
Sistem Operas
:
Windows 7 Ultimate
2.
Java
:
JDK 7
3.
NetBeans
:
NetBeans IDE 7.1. RC2
4.
Harga
:
Free
3.3
Perancangan Sistem
3.3.1
Algoritma Kriptografi Metode Shift Cipher
Aplikasi ini menggunakan kriptografi shift cipher yang algoritmanya sebagai
berikut:
•
Dilakukan perulangan perkarakter sepanjang pesannya.
•
Setiap huruf plainteks diganti dengan barisan huruf berikutnya sesuai dengan
kunci yang diberikan.
6
Gambar 3.1 Flowchart Shift Cipher
Aplikasi ini dinamakan “Aplikasi Kriptografi Shift Cipher” dalam aplikasi ini
digunakan analisis kebutuhan yang meliputi lock, proses, dan unlock:
•
Lock berupa tombol yang apabila diklik maka akan menuju opsi untuk memilih
folder yang akan di lock.
•
Proses berupa proses perhitungan enkripsi dan dekripsi kriptografi metode Shift
Cipher.
•
Unlock berupa tombol yang apabila diklik maka akan menuju opsi untuk memilih
folder yang akan di unlock.
3.3.2
Use Case Diagram
Use case diagram diperlukan untuk menggambarkan fungsionalitas yang
diharapkan dari prespektif pengguna. Yang ditekankan adalah “apa” yang diperbuat
sistem, dan bukan “bagaimana”. Use case mempresentasikan sebuah interaksi antara
aktor dengan sistem. Dalam aplikasi ini Use case Diagram digambarkan sebagai berikut:
7
Gambar 3.2 Use Case Diagram
Use case diagram pada aplikasi folder lock ini terdiri dari:
1.
Use case input user password, merupakan proses awal untuk bisa
mengakses perangkat lunak folder lock. Disini dilakukan verifikasi terhadap
master user password pengguna, untuk mengunci folder.
2.
Use case menu utama, merupakan form utama. Disini pengguna dapat
melakukan memilih untuk mengunci folder (lock) atau membuka folder
(unlock).
3.
Use case lock, yang digunakan untuk melock folder. Pada use case ini
pengguna dapat folder yang selanjutnya user password dienkripsi.
4.
Use case unlock yang digunakan mengunlock folder. Pada use case ini
pengguna dapat membuka folder dari kuncian dengan terlebih dahulu user
password yang telah disimpan didekripsi untuk membuka.
5.
Use case help merupakan menu bantuan. Pengguna dapat memilih menu
aplikasi untuk melihat informasi tentang aplikasi dan tentang pembuat.
6.
Use case keluar, untuk keluar dari aplikasi. Diperlukan pengguna agar dapat
keluar dari sistem.
3.3.3
Sequence Diagram
Sequence Diagram menggambarkan interaksi antar objek di dalam dan di sekitar
sistem berupa message yang digambarkan terhadap waktu. Sequence Diagram
digunakan untuk menggambarkan rangkaian langkah-langkah yang dilakukan sebagai
respons dari sebuah event untuk menghasilkan output tertentu. Rancangan Sequence
Diagram yang dibuat seperti pada gambar 3.3.
8
Gambar 3.3 Sequence Diagram
3.3.4
Activity Diagram
Pada diagram ini memperlihatkan aliran kendali dari suatu aktifitas ke aktifitas
lainnya. Activity Diagram berfungsi untuk menvisualisasikan sifat dari sekumpulan obyek,
selain itu juga dapat digunakan memodelkan aliran kendali dari suatu operasi. Pada
diagram dibawah ini, ditunjukan aliran sistem secara global dimana dapat dilihat aliranaliran atau proses didalam sistem tersebut, seperti gambar dibawah ini.
Gambar 3.4 Activity Diagram System
9
Class Diagram
Class Diagram menggambarkan generalisasi serta asosiasi antar class serta
atribut-atribut yang melekat pada class tersebut. Dalam aplikasi ini class diagram
digambarkan sebagai berikut:
Gambar 3.5 Class Diagram System
4.
Implementasi dan Pembahasan
4.1
Implementasi Sistem
Mengerjakan folder lock langkah pertama yang dilakukan adalah mempersiapkan
aplikasi JDK-7u2 dan NetBeans IDE 7.1 RC2, JDK yaitu Java Development Kit Version 7
Update 2 merupakan aplikasi yang diperlukan untuk mem-build projek java yang dibuat.
NetBeans
yaitu
suatu aplikasi untuk mempermudah dalam pembuatan alikasi java
desktop. Untuk mendapatkan JDK dan NetBeans bisa mendownload langsung dari
internet dengan merujuk di alamat java.sun.com
atau www.oracle.com untuk JDK
www.netbeans.org untuk NetBeans.
4.2
Paket(Package)
Aplikasi ini dipisahkan menjadi dua paket yaitu paket Utama dan paket Sumber.
Paket Utama berisi empat kelas yaitu fAbout, fPassword, fTentangKu dan fUtama yang
berinteraksi langsung dengan pengguna (GUI class) seperti yang telah dijelaskan pada
bab III tentang rancangan antarmuka.
10
Paket Sumber berisi berkas – berkas icon yang digunakan untuk sumber gambar
pada aplikasi dan satu berkas teks yang berisi bantuan tentang aplikasi.
Berikut gambar ketiga paket tersebut :
Gambar 4.1 Paket - paket dalam aplikasi.
4.3
White box testing
White Box Testing adalah cara pengujian dengan melihat kedalam modul untuk
meneliti kode-kode program yang ada, dan menganalisis apakah ada kesalahan atau
tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses yang
dilakukan, maka baris-baris program, variable dan parameter pada unit tersebut akan
dicek satu per satu dan diperbaiki kemudian di-compile ulang.
Gambar 4.2 Pengujian white Box pada semua link.
4.4
Pembahasan Sistem
11
Pembahasan system yang dimaksud adalah pengujian aplikasi yang dibangun
pada computer dengan system operasi Windows XP SP3 dan Windows 7 tanpa
menggunakan IDE Netbeans, yakni dengan menjalankan berkas .jar aplikasi ini.
4.5
Pengujian Program
Hasil pengujian pada komputer desktop dengan sistem operasi windows 7 dan
laptop dengan sistem operasi Windows XP Profesional SP.3 menghasilkan tampilan
sebagai berikut.
Gambar 4.3 Tampilan Username dan Password
Berikut ini gambar form utama setelah username dan password yang
dimasukkan benar dan tampilan buka berkas jika tombol Browse di klik:
Gambar 4.4 Tampilan Utama dan Buka Berkas.
Berikut ini gambar folder yang akan di-lock:
Gambar 4.5 Tampilan folder yang akan di-Lock.
12
Berikut ini gambar folder yang sudah di-lock:
Gambar 4.6 Tampilan folder yang sudah di-Lock.
Berikut ini gambar folder setelah tombol unlock dipilih:
Gambar 4.7 Tampilan folder setelah di-Unlock
Berikut ini gambar menu bantuan jika dipilih:
Gambar 4.8 Tampilan About dan Tentangku
4.6
Black Box Testing
Black Box Testing cara pengujiannya hanya dilakukan dengan menjalankan atau
mengeksekusi unit atau modul, kemudian diamati apakah hasil dari unit itu sesuai
dengan proses yang diinginkan.
13
Table 4.1 Black Box Testing
No
Interface
Yang Diuji/Aktivitas
Output
Testing
Status
Muncul alert
Tidak
diisi
atau
salah
mengisi dan setelah itu klik
menu OK
1
Username atau
Password yang
Anda masukkan
Benar
salah atau belum
diisi
Form
fPassword
Muncul Alert
Klik menu keluar
Apakah Anda yakin
Benar
ingin keluar ?
Diisi dengan benar dan
Form fUtama
setelah itu klik menu OK
terbuka
Form memilih folder
Klik menu Browser
terbuka
Pilih folder dan klik menu
Remove
Pilih folder dan klik menu
Lock
2
Pilihan folder hilang
Benar
Benar
Benar
Folder akan di lock
dan hilang di
Benar
Explorer
Form fUtama
Pilih folder dan klik menu
Folder akan kembali
Unlock
seperti semula
Benar
Muncul alert Apakah
Klik menu Exit
anda yakin ingin
Benar
keluar?
Form fPembuat
Klik menu Pembuat
terbuka
14
Benar
Klik menu About
4.7
Form fAbout terbuka
Benar
Analisis Pengujian Aplikasi
Dari hasil pengujian diatas, dapat diketahui bahwa aplikasi kriptografi shift cipher
berjalan dengan baik di kedua komputer uji, baik menggunakan IDE netbeans maupun
tanpa menggunakan IDE netbeans. Spesifikasi Hardware dari komputer sangat
mempengaruhi jalannya aplikasi dalam pembukaan berkas.
5.
Penutup
Kesimpulan
Dari hasil uraian penjelasan dan pembahasan yang telah dilakukan pada bab –
bab sebelumnya, maka dapat diambil kesimpulan bahwa aplikasi folder lock dengan
algoritma shift cipher yang dibangun dengan java dan telah di jadikan extension jar telah
di uji cobakan dengan melakukan lock pada folder, cara kerjanya dengan menambahkan
extension registri network. Folder yang belum di-lock iconnya berupa folder biasa
sedangkan folder yang sudah di-lock iconnya berupa icon Network dalam keadaan
terhidden dan bila di klik maka akan menuju Network. Hasilnya dapat dijalankan dengan
baik untuk melindungi akses terhadap folder dengan syarat pada komputer telah terinstall java minimal versi J2SE 1.2.
Saran
Berdasarkan
implementasi
dan
ujicoba
pada
aplikasi
ini,
masih
ada
pengembangan yang dapat dilakukan antara lain :
1.
Sistem dapat ditanami database untuk mendata folder mana saja yang dilock.
2.
Pengembang lain dapat menambahkan atau menggunakan algoritma
kriptografi dengan variasi metode yang lain.
15
DAFTAR ISI
Anonim, 2002, JavaTM Cryptography Extension (JCE) Reference Guide for the JavaTM 2
SDK, http://java.sun.com/products/jce/, diakses tanggal 19 Mei 2012.
Ardiyanto, 2011, Implementasi Algoritma Kriptografi Caesar Chipher pada Aplikasi SMS
Telepon Selular Berbasis J2ME, Skripsi, Jurusan Teknik Informatika STMIK
AMIKOM, Yogyakarta
Fikri, Rijalul., Ipam, F.A. dan Prakoso, Imam., 2005, Pemrograman JAVA, Penerbit Andi,
Yogyakarta.
Forum Pemrograman (http://www.mycoding.net/2011/07/caesar-cipher-program) diakses
tanggal 19 Mei 2012.
Munir, Rinaldi., 2006, Kriptografi, Penerbit Informatika, Bandung.
Purwanto, Arif, 2012, Implementasi Algoritma Kriptografi Metode Cipher Block Chaining
dan Message Digest 5 pada Keamanan Data dalam Berkas,Skripsi, Jurusan
Teknik Informatika STMIK AKAKOM, Yogyakarta
16