aplikasi pengamanan file menggunakan kombinasi …
TRANSCRIPT
APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI ALGORITMA
C-RSA, ARCFOUR, DAN C-AES (CAC)
NASKAH PUBLIKASI
diajukan oleh
Chandra Hardiyanto Sunartejo
11.11.4742
kepada
JURUSAN TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM YOGYAKARTA YOGYAKARTA
2014
ii
iii
SECURITY APPLICATION FOR FILES USING COMBINATION OF C-RSA, ARCFOUR, AND C-AES ALGORITHM (CAC)
APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI ALGORITMA C-RSA, ARCFOUR, DAN C-AES (CAC)
Chandra Hardiyanto Sunartejo Ema Utami
Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT Files that are in a person's computer is part of the privacy that need to be protected from
unauthorized use as well as illegal data collection by someone who is not authorized. Therefore, the security of files in a computer is something that needs to be noted in order to maintain the privacy and data that already exist. In the process there may have many application programs that available to secure documents and files with standard cryptographic algorithms that can be used. However, it does not guarantee personal data on the computer is safe because the algorithm that they used are the standard algorithms that most are still using the password entered by the user directly that is quite vulnerable to be attacked by brute force and the others. So there needs to be an application program to secure files by combining some algorithms that have been modified to ensure the security of files are more assured.
To solve these problems, it is necessary to make a research and development to build an application that can be used to encrypt and decrypt files more secure in the computer which it can be used by various parties. Research and development conducted by the SDLC Waterfall method that starts with the analysis process (problem analysis, SWOT analysis, system weaknesses analysis, needs analysis, and feasibility system analysis). Continued with the process of system designing using the Unified Modeling Language (UML), which are the Use Case Diagram, Class Diagram, Activity Diagram, and Sequence Diagram. Then proceed with the implementation and testing phase of the program, the process to testing the system using Black Box Testing and White Box Testing to ensure the program runs well.
From the results of research and analysis and design of application system, then it can be created Java-based desktop application that can be used to perform the encryption and decryption of files. Security Application for Files Using Combination of C-RSA, ARCFOUR, and C-AES Algorithm (CAC) is designed based on the algorithms of RSA, ARCFOUR, and AES that modified and combined with the zip method that can improved the security of files against brute force attack or the other attack method after testing process.
Keywords : Files, Cryptography, Algorithms, Encryption, Decryption, UML, RSA, AES,ARCFOUR,
Brute Force.
4
1. PENDAHULUAN
1.1. Latar Belakang Masalah
Dewasa sekarang ini perkembangan teknologi informasi mengalami kemajuan yang sangat
pesat. Dengan adanya perkembangan tersebut, komputer kini tidak lagi hanya digunakan sebagai sarana
untuk membantu proses perhitungan dan juga proses pengolahan data saja. Komputer kini menjelma
sebagai salah satu perangkat teknologi yang tidak dapat dipisahkan dalam kehidupan manusia sehari-
hari. Sekarang ini komputer seperti sebuah buku catatan harian dan juga brankas untuk semua data-data
baik yang bersifat umum hingga yang bersifat sangat pribadi karena terdapat informasi yang sangat
penting di dalamnya. Semua data-data digital yang ada di sebuah komputer baik itu komputer personal
hinga sebuah super komputer dinamakan dengan file.
File yang disimpan dalam sebuah komputer sangat rentan terhadap adanya aktivitas pencurian
data-data pribadi yang berkaitan dengan data pribadi seseorang maupun sebuah perusahaan yang dapat
mengakibatkan terjadinya adanya berbagai potensi kerugian baik yang bersifat materiil maupun non
materiil. Dan akhir-akhir ini kegiatan pencurian terhadap data-data pribadi semakin marak terjadi apalagi
ketika file tersebut tidak mendapatkan pengamanan yang baik dan juga berada pada sebuah komputer
yang terhubung dengan jaringan internet maka seseorang ataupun instansi yang berpengalaman dalam
kegiatan pengumpulan data secara diam-diam dapat dengan leluasa mengambil dan membaca file-file
yang ada.
Berdasarkan latar belakang yang telah dipaparkan sebelumnya, maka penulis bermaksud
mengambil topik skripsi di bidang kriptografi dengan judul “APLIKASI PENGAMANAN FILE
MENGGUNAKAN KOMBINASI ALGORITMA C-RSA, ARCFOUR, DAN C-AES (CAC)” yang diberi nama
CYANITY. Aplikasi ini dirancang dengan menggunakan tiga buah algoritma kriptografi yaitu RSA,
ARCFOUR, dan AES yang kemudian dimodifikasi prosesnya menjadi C-RSA, ARCFOUR, dan C-AES
untuk membantu meningkatkan kualitas pengamanan file.
2. LANDASAN TEORI
2.1. Tinjauan Pustaka
Penelitian mengenai kriptografi telah banyak dilakukan, seperti halnya penelitian untuk
memodifikasi ataupun untuk menggabungkan dua atau lebih algoritma kriptografi yang bertujuan untuk
meningkatkan jaminan keamanan data yang tersimpan. Namun, untuk penelitian dengan memodifikasi
sekaligus menggabungkan dua algoritma kriptografi atau lebih masih belum terlalu banyak dilakukan.
2.2. File
File adalah unit penyimpanan logika yang diabstraksi sistem operasi dari perangkat
penyimpanan1.
1 Abas Ali Pangera dan Dony Ariyus, Sistem Operasi ,(Yogyakarta: Penerbit Andi, 2010),hal 501
5
2.3. Program dan Aplikasi
2.3.1. Pengertian Program
Program adalah susunan instruksi yang logis untuk komputer yang ditulis atau disusun dalam
bahasa yang dikenal oleh komputer itu sendiri sehingga dapat memproses input data menjadi suatu
output2.
2.3.2. Pengertian Aplikasi
Aplikasi adalah program yang telah jadi dan siap untuk digunakan atau program yang dibuat
sendiri3.
2.3.3. Pengertian Program Aplikasi
Program aplikasi pada komputer merupakan perangkat lunak siap pakai yang nantinya akan
digunakan untuk membantu melaksanakan pekerjaan penggunanya, dalam sebuah komputer aplikasi ini
disiapkan sesuai kebutuhannya masing-masing4.
2.4. Java
2.4.1. Sejarah Java
Java bermula dari proyek penelitian perusahaan Sun Microsystems dengan nama sandi Green
pada tahun 19915.
2.4.2. Perkembangan Teknologi Java
Saat ini Java terbagi menjadi empat jenis edisi yaitu: Java Card, J2ME, J2SE, dan J2EE.
2.4.3. Pemrograman dengan Java
Pemrograman dengan Java dilakukan melalui tiga tahap yaitu: menuliskan kode program,
melakukan kompilasi program Java, dan menjalankan program Java.
2.5. NetBeans Integrated Development Environtment (Netbeans IDE)
NetBeans adalah sebuah IDE (Integrated Development Environtment) open source yang
seringkali diasosiasikan dengan Java6. NetBeans IDE merupakan produk yang digunakan untuk
melakukan pemrograman baik menulis kode, meng-compile, mencari kesalahan, dan mendistribusikan
program7.
2 Jogiyanto HM, 2008 : h. 5
3 Ibid, h. 9
4 Jogiyanto HM, 2007 : h.15
5 Rachmad Hakim S. dan Ir.Sutarto, M.Si, Mastering Java:Konsep Pemrograman Java dan Penerapannya untuk
Membuat Software Aplikasi, (Jakarta,Elex Media Komputindo,2009), hal 1 6 Wahana Komputer & Elex Media Komputindo, Membuat Aplikasi Facebook Dengan Platform Netbeans,
(Jakarta: Elex Media Komputindo, 2010), hal 15 7 Ibid, hal 15
6
2.6. Kriptografi
2.6.1. Sejarah Kriptografi dan Algoritma Kriptografi
Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata kriptografi dibagi menjadi
dua, yaitu kripto dan graphia. Kripto berarti secret (rahasia) dan graphia berarti writing (tulisan)8. Untuk
algortima kriptografi, pertama kali digunakan sebagai petunjuk dalam perang.
2.6.2. Tujuan Kriptografi
Aspek-aspek keamanan di dalam kriptografi adalah9:
1. Authentication (otentikasi).
2. Integrity (integritas).
3. Non-repudiation (nirpenyangkalan).
4. Authority.
5. Confidentiality (kerahasiaan).
6. Privacy.
7.Availability.
8. Access Control.
2.6.3. Komponen Sistem Kriptografi
Pada dasarnya komponen kriptografi terdiri dari beberapa komponen seperti10
:
1. Enkripsi.
2. Dekripsi.
3. Kunci.
4. Ciphertext.
5. Plaintext.
6. Pesan.
7. Cryptanalysis.
2.6.4. Algoritma Simetris dan Asimetris
2.6.4.1. Algoritma Simetris
Algoritma simetris adalah algoritma yang menggunakan kunci yang sama untuk enkripsi dan
dekripsinya11
.
8 Dony Ariyus, Computer Security, (Yogyakarta: Penerbit Andi, 2005), hal 77
9 Dony Ariyus, Pengantar Ilmu Kriptografi, , (Yogyakarta: Penerbit Andi, 2008), hal 9-10
10 Ibid, hal 108
11 Ibid, hal 108
7
2.6.4.2. Algoritma Asimetris
Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk
proses enkripsi dan yang satu lagi untuk proses dekripsi12
.
2.6.4.3. Fungsi Hash
Fungsi hash sering disebut juga dengan fungsi hash satu arah (one-way function), message
digest, fingerprint, fungsi komparasi dan message authentications code (MAC), merupakan suatu fungsi
matematika yang mengambil masukan panjang variable dan mengubahnya ke dalam urutan biner dan
panjang yang tetap13
.
2.6.5. RSA
Pada tahun 1977, Rivest, Shamir, dan Adleman merumuskan algoritma praktis yang
mengimplementasikan sistem kriptografi kunci publik disebut dengan sistem kriptografi RSA, (Rivest et
al., 1983)14
.
2.6.5.1. Pembangkit Kunci RSA
Untuk menggunakan RSA terlebih dahulu pendekripsi membangkitkan sepasang kunci yaitu
kunci publik dan kunci privat15
.
2.6.5.2. Enkripsi RSA
Setelah kunci publik Kpublik dibangkitkan oleh pendekripsi, maka sembarang orang dapat
menggunakan kunci publik si pendekripsi untuk mengirim teks sandi ke si pendekripsi16
.
2.6.5.3. Dekripsi RSA
Jika si pendekripsi mendapatkan teks sandi yang dienkripsi dengan kunci publik si pendekripsi,
maka si pendekripsi dapat menggunakan kunci privatnya untuk mengembalikan teks asli.
2.6.5.4. Keamanan RSA
Sampai saat ini belum ada penyerangan terhadap RSA yang efektif17
.
2.6.6. ARCFOUR (RC4)
ARCFOUR atau RC4 merupakan salah satu algoritma kunci simetris yang berbentuk stream
cipher18
.
12
Ibid, hal 109 13
Ibid, hal 46 14
Rifki Sadikin, Kriptografi Untuk Keamanan Jaringan, (Yogyakarta: Penerbit Andi , 2012), hal 249 15
Ibid, hal 250 16
Ibid, hal 254 17
Ibid, hal 258 18
Andri Kristanto , Keamanan Data Pada Jaringan Komputer,(Yogyakarta: Gava Media,2003), hal 43
8
2.6.6.1. Algoritma ARCFOUR (RC4)
Algoritma RC4 bekerja dalam 2 fase yaitu key setup/key scheduling dan ciphering19
.
2.6.6.2. Kelebihan ARCFOUR (RC4)
Untuk enkripsi model RC4 terdapat beberapa kelebihan, diantaranya:
1. Tingkat kesulitan untuk mengetahui sebuah nilai dalam tabel.
2. Kesulitan mengetahui lokasi mana di dalam tabel yang digunakan untuk menyeleksi masing-
masing nilai.
3. Kunci RC4 tertentu hanya dapat digunakan sekali.
4. Model enkripsi ini 10 kali lebih cepat daripada DES20
.
2.6.6.3. Kekurangan ARCFOUR (RC4)
Algortima RC4 sebagaimana algoritma kriptografi lainnya juga memiliki kekurangan yang
diantaranya:
1. Algoritma RC4 mudah diserang dengan menggunakan analisa dari bagian dalam tabel.
2. Salah satu dari 256 kunci dapat menjadi kunci yang lemah21
.
2.6.7. AES (Advanced Encryption Standard)
Pada tahun 2001 akhirnya NIST memublikasikan AES sebagai standar pemrosesan dokumen
pada dokumen FIPS-PUB 197,(NIST, 2001)22
.
2.6.7.1. Algoritma Advanced Encryption Standard (AES)
AES mempunyai kunci 128, 192, dan 256 bit sehingga berbeda dengan panjang dari putaran
Rijndael23
.
2.6.7.1.1. Struktur Enkripsi AES
AES menggunakan 4 jenis transformasi, yaitu SubBytes, ShiftRows, MixColumns dan
AddRoundKey.
2.6.7.1.2. Struktur Dekripsi AES
Secara ringkas algoritma dekripsi merupakan kebalikan algoritma enkripsi AES24
.
19
Ibid, hal 44 20
Ibid, hal 45 21
Ibid, hal 46 22
Rifki Sadikin, Kriptografi Untuk Keamanan Jaringan, (Yogyakarta: Penerbit Andi , 2012), hal 152. 23
Dony Ariyus, Pengantar Ilmu Kriptografi : Teori, Analisis, dan Implementasi, (Yogyakarta: Penerbit Andi , 2008), hal 169 24
Rifki Sadikin, Kriptografi Untuk Keamanan Jaringan, (Yogyakarta: Penerbit Andi , 2012), hal 153
9
2.6.7.2. Transformasi-Transformasi AES
Algoritma enkripsi AES menggunakan 4 jenis transformasi: substitusi yang disebut dengan
SubBytes, permutasi yang disebut dengan ShiftRows, pencampuran yang disebut dengan MixColumns,
dan penambahan kunci yang disebut dengan AddRoundKey25
.
2.6.7.2.1. SubBytes
AES menggunakan substitusi nonlinear pada ukuran byte yang disebut dengan SubBytes26
.
2.6.7.2.2. ShiftRows
Transformasi permutasi pada state disebut dengan transformasi ShiftRows27
.
2.6.7.2.3. MixColumn
Tujuan transformasi MixColumn adalah mencampur nilai kolom kolom pada state pada satu
elemen pada state keluaran28
.
2.6.7.2.4. AddRoundKey
Transformasi keempat yang digunakan pada penyandian AES adalah transformasi
AddRoundKey29
.
2.6.7.3. Ekspansi Kunci AES
Penyandian AES membutuhkan kunci ronde untuk setiap ronde transformasi. Kunci ronde ini
dibangkitkan (diekspansi) dari kunci AES30
.
2.6.7.4. Keamanan Sandi AES
Sandi AES sampai saat ini masih dianggap aman untuk digunakan31
.
2.7. Metodologi Pengembangan Sistem (Waterfall)
Model SDLC air terjun (waterfall) sering juga disebut model sekuensial linier (sequential linear)
atau alur hidup klasik (classic life cycle)32
.
25
Ibid, hal 155-156 26
Ibid, hal 157 27
Ibid, hal 164-165 28
Ibid, hal 167 29
Ibid, hal 172 30
Ibid, hal 174 31
Ibid, hal 189 32
Rosa A.S. & M.Shalahuddin, Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek, (Bandung: Penerbit Informatika, 2013), hal 28
10
2.8. Kompresi Data (Data Compression)
Kompresi data adalah proses yang dapat mengubah sebuah aliran data masukan (sumber atau
data asli) ke dalam aliran data yang lain (keluaran atau data yang dimampatkan) yang memiliki ukur an
yang lebih kecil (David Salomon, 2007).
2.9. Bagan Alur (flowchart)
Flowchart atau bagan alur merupakan metode untuk menggambarkan tahap-tahap
penyelesaian masalah (prosedur) beserta aliran data dengan simbol-simbol standar yang mudah
dipahami33
.
2.10. UML (Unified Modelling Language)
UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan,
menggambarkan, membangun, dan dokumentasi dari sistem perangkat lunak34
.
2.11. Metode SWOT
SWOT merupakan akronim dari Strength (kekuatan), Weaknes (kelemahan) internal dari suatu
perusahaan, Opportunities (peluang), dan Threat (ancaman) lingkungan yang dihadapinya35
.
3. ANALISIS DAN PERANCANGAN SISTEM
3.1. Gambaran Aplikasi
Aplikasi pengamanan file menggunakan kombinasi algoritma C-RSA, ARCFOUR, dan C-AES
(CAC) yang diberi nama “CYANITY” merupakan sebuah aplikasi yang dapat digunakan untuk
mengenkripsi dan mendekripsi file yang ada dikomputer.
3.1.1. Model Sistem Aplikasi Yang Lama
1. Hanya menggunakan satu atau dua algoritma kriptografi saja.
2. Masih menggunakan algoritma standar yang dengan adanya pekembangan teknologi
berkemungkinan untuk lebih cepat dijebol.
3. Masih banyak aplikasi enkripsi yang belum menerapkan metode zipping yang dilengkapi
dengan password untuk meningkatkan ketahanan terhadap serangan.
3.1.2. Model Sistem Aplikasi Yang Baru
Menggunakan kombinasi 3 buah algoritma yang memadukan antara algoritma kriptografi kunci
simetris dengan asimetris serta dimodifikasi dengan menggunakan penggabungan implementasi metode
33
Bonnie Soeherman & Marion Pinontoan, Designing Information System, (Jakarta: PT Elex Media Komputindo, 2008), hal 133 34
Rosa A.S. & M.Shalahuddin, Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek, (Bandung: Penerbit Informatika, 2013), hal 137 35
Pearce & Robinson , Manajemen Strategis Formulasi,Implementasi,dan Pengendalian, (Yogyakarta: Penerbit Salemba Empat ,2007), hal 200
11
zipping yang dilengkapi dengan password untuk meningkatkan ketahanan terhadap upaya serangan
brute force.
3.2. Analisis
3.2.1. Analisis Kebutuhan
3.2.1.1. Kebutuhan Fungsional
1. Pengguna dapat mengekripsikan file yang tersimpan di dalam komputernya, yaitu mengubah
file biasa (plainfile) menjadi file yang terenkripsi (cipherfile).
2. Pengguna dapat mendekripsikan file yang sudah disandikan (cipherfile) kembali menjadi file
biasa seperti semula (plainfile).
3. Sistem dapat melakukan proses pembangkitan kunci untuk kunci yang akan digunakan oleh
algoritma C-RSA.
3.2.1.2. Kebutuhan Non Fungsional
A. Operasional
1. Kebutuhan perangkat keras (Hardware).
Kebutuhan perangkat keras yang digunakan untuk memuat program aplikasi ini sebagai
berikut:
a. Prosesor : Intel Core i3 2nd
Generation 2.4 Ghz
b. Memory (RAM) : 4 GB
c. Harddisk : 500 GB
d. VGA : Nvidia GeForce 610M 2 GB
2. Kebutuhan perangkat lunak (Software).
Kebutuhan perangkat lunak yang digunakan untuk membuat program ini adalah sebagai
berikut:
a. Sistem Operasi : Microsoft Windows 7 Ultimate 64-bit
b. IDE : NetBeans 7.2.1 dengan JDK 1.7.0, zip4j, dan
JCEUnlimitedPolicy.
B. Kinerja
Aplikasi ini dirancang dan dibuat agar mampu melakukan proses enkripsi dan dekripsi terhadap
file yang ada dikomputer.
3.3. Kelayakan Sistem
3.3.1. Kelayakan Teknis
Kelayakan teknis adalah ketersediaan teknologi yang diperlukan dalam merancang dan
membuat aplikasi guna memperlancar proses tersebut.
3.3.2. Kelayakan Operasi
Kelayakan operasi adalah ukuran sebaik apa solusi tersebut akan bekerja dalam
penerapannya.
12
3.4. Perancangan
3.4.1. Perancangan Algoritma
3.4.1.1. Perancangan Algoritma C-RSA (Combined enhanced random access file
method RSA)
3.4.1.2. Penerapan Algoritma ARCFOUR (RC4)
3.4.1.3. Perancangan Algoritma C-AES (Collaboration zip-AES)
3.4.2. Perancangan Sistem
3.4.2.1. Use Case Diagram
Diagram use case mendeskripsikan aebuah interaksi antara satu atau lebih aktor dengan
sistem informasi yang akan dibuat.
3.4.2.1.1. Use Case Membuat dan Menyimpan Kunci
3.4.2.1.2. Use Case Enkripsi File
3.4.2.1.3. Use Case Dekripsi File
3.4.2.2. Flowchart
Flowchart digunakan untuk menggambarkan alur dari sebuah aplikasi.
Gambar 3.19. Flowchart Proses Enkripsi & Dekripsi Aplikasi CYANITY
3.4.2.3. Class Diagram
Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian
kelas-kelas yang akan dibuat untuk membangun sistem.
3.4.2.4. Activity Diagram
Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitas
dari sebuah sistem atau proses bisnis. Diagram aktivitas menggambarkan aktivitas yang dapat dilakukan
oleh sistem, bukan apa yang dilakukan aktor.
13
3.4.2.5. Sequence Diagram
Sequence diagram menggambarkan kelakuan objek pada use case dengan mendeskripsikan
waktu hidup objek dan message yang dikirimkan dan diterima antar objek.
3.4.3. Perancangan Interface
3.4.3.1. Tampilan Start Page
Pada tampilan awal ketika aplikasi dibuka/dijalankan (Start Page) pengguna akan dihadapkan
tampilan yang terdiri dari pilihan-pilihan untuk menuju ke tampilan halaman lain yang terdiri dari pilihan
menuju “Start Page”, “Enkripsi & Dekripsi”, “How to Use”, “Buat Kunci” dan “About”.
3.4.3.2. Tampilan Halaman Enkripsi&Dekripsi
Halaman Enkripsi&Dekripsi adalah halaman yang digunakan oleh pengguna untuk melakukan
kegiatan enkripsi ataupun dekripsi file.
3.4.3.3. Tampilan Halaman How to Use
Halaman “How to Use” merupakan halaman yang ditujukan khusus untuk menampilkan
mengenai informasi tata cara penggunaan aplikasi CYANITY baik cara untuk membuat kunci, melakukan
proses enkripsi dan juga melakukan proses dekripsi file.
3.4.3.4. Tampilan Halaman Buat Kunci
Halaman “Buat Kunci” merupakan halaman yang dapat digunakan oleh pengguna ketika
pertama kali menggunakan aplikasi CYANITY untuk membuat kunci ataupun juga untuk membuat kunci
baru (kunci publik dan kunci privat).
3.4.3.5. Tampilan Halaman About
Halaman “About” adalah halaman yang berisi mengenai informasi yang diberikan oleh
pengembang aplikasi seperti informasi mengenai aplikasi yang dapat berupa siapa saja pengembangnya,
fungsi yang dimiliki aplikasi, dan sebagainya.
4. IMPLEMENTASI DAN PEMBAHASAN
4.1. Implementasi
Implementasi adalah terapan hasil rancangan yang telah dibuat dari beberapa kode program
serta tampilan-tampilan yang telah direncanakan sebelumnya menjadi sebuah aplikasi.
4.1.1. Implementasi Algoritma
4.1.1.1. Algoritma Pembangkit Kunci RSA
Implementasi dari algoritma pembangkit kunci RSA pada aplikasi CYANITY.
14
4.1.1.2. Algoritma C-RSA
Pada tahapan implementasi, algoritma C-RSA dibagi menjadi dua kelas di Java, yaitu
“DirandFileCheck” dan “CRSAengine”.
4.1.1.3. Algoritma ARCFOUR (RC4)
Algoritma ARCFOUR diimplementasikan ke dalam kelas “ARCFOURengine”.
4.1.1.4. Algoritma C-AES
Kode implementasi dari Algoritma C-AES dituliskan di dalam kelas “CAESengine”.
4.1.2. Implementasi Interface
Implemetasi interface adalah penerapan tampilan yang berdasarkan pada desain yang telah
dirancang sebelumnya yang dapat dilihat dari sisi pengguna aplikasi.
1.Halaman Start Page
Gambar 4.1. Halaman Start Page
2. Halaman Enkripsi & Dekripsi
Gambar 4.2. Halaman Enkripsi & Dekripsi (Mode Enkripsi)
15
Gambar 4.3. Halaman Enkripsi & Dekripsi (Mode Dekripsi)
3. Halaman How to Use
Gambar 4.4. Halaman How to Use
4. Halaman Buat Kunci
Gambar 4.5. Halaman Buat Kunci
5. Halaman About
16
Gambar 4.6. Halaman About
4.2. Pembahasan
4.2.1. Kode Program
4.2.1.1. Kode Untuk Mencari File Yang Akan Dienkripsi atau Didekripsi
Kode berikut ini digunakan untuk membuka jendela pencarian file yang akan dienkripsi ataupun
didekripsi dan kemudian meletakkannya ke dalam daftar tabel yang ada pada aplikasi.
4.2.1.2. Kode Untuk Membersihkan Daftar File di Tabel
Kode ini sebagai kode untuk membersihkan daftar file di tabel setelah proses enkripsi atau
dekripsi selesai.
4.2.1.3. Kode Untuk Menginisialisasi Proses Enkripsi atau Dekripsi
Kode berikut berfungsi untuk menginisialisasi baik proses enkripsi atau proses dekripsi.
4.2.2. Pengujian Program
4.2.2.1. Pengujian Black Box Testing
Pengujian aplikasi ini menggunakan metode black box testing. Pengujian ini akan melakukan
proses pembuatan dan penyimpanan kunci, pengenkripsian file, serta proses pendekripsian file.
4.2.2.2. Pengujian White Box Testing
Dalam testing ini pengujian dilakukan terhadap kode program yang ditulis dan modul modul
yang ada pada program apakah ada kesalahan atau tidak. Berikut adalah contoh kesalahan dari program
yang ditemukan.
1. Runtime Error
Runtime Error adalah kesalahan yang terjadi ketika program dijalankan ataupun diproses
akan tetapi tidak ada error di dalam kode programnya.
17
4.3. Evaluasi Kombinasi Algoritma Kriptografi C-RSA,ARCFOUR, dan C-AES
4.3.1. Perbandingan C-RSA (Combined enhanced random access file RSA)
dengan RSA (RSA dengan metode file input stream) di Java
Gambar 4.30 Grafik Perbandingan Kecepatan Antara Random Access File dengan File Input
Stream
Berdasarkan dengan data yang telah diamati menunjukkan bahwa penggunaan metode
random access file yang digunakan dalam algoritma C-RSA memiliki tingkat kecepatan yang lebih baik
daripada menggunakan metode file input stream. Kondisi tersebut dikarenakan metode random access
file memiliki kemampuan untuk membaca file per-line, sedangkan metode file input stream tidak memiliki
fungsi tersebut.
4.3.2. Perbandingan Keamanan Password Zip Yang Terenkripsi Dengan
ARCFOUR Dengan Password Zip Tanpa Proses Enkripsi.
Tabel 4.12. Hasil Uji Coba Ketahanan Password Tanpa Proses Enkripsi Terhadap
Serangan Brute Force Attack
No Karakter Password Status Serangan Lama Waktu Serangan Yang
Diperlukan
1 abc Berhasil 1 detik
2 1R@ Berhasil 4 detik
3 kQet Berhasil 2 menit 42 detik
Tabel 4.13. Hasil Uji Coba Ketahanan Password Dengan Proses Enkripsi ARCFOUR Terhadap
Serangan Brute Force Attack
No Karakter Plain
Password
Karakter
Kunci
Password
Yang
Dihasilkan
Status
Serangan
Lama Waktu
Serangan Yang
Diperlukan
1 abc abcdefgh 0eß Gagal -
0
0.1
0.2
0.3
0.4
0.5
256 Karakter
512 Karakter
1024 Karakter
2048 Karakter
4096 Karakter
8192 Karakter
16384 Karakter
Jumlah Karakter (dalam 1 line)
Kecepatan Pembacaan Karakter Kunci Dalam Detik(s)
Random Access File
File Input Stream
18
No Karakter Plain
Password
Karakter
Kunci
Password
Yang
Dihasilkan
Status
Serangan
Lama Waktu
Serangan Yang
Diperlukan
2 1R@ abcdefgh `Uü Gagal -
3 kQet abcdefgh :VÙ_ Gagal -
Proses pengujian serangan brute force dilakukan dengan menggunakan software “ZIP
Password Unlocker” yang dijalankan pada perangkat dengan prosesor intel®
Core™
i3-2370M @ 2,4 Ghz
dan dengan memori 4Gb. Berdasarkan hasil pengujian yang telah dilakukan, maka dapat disimpulkan
dengan mengenkripsi password yang digunakan untuk melakukan zipping dengan algoritma ARCFOUR
mampu meningkatkan ketahanan password tersebut dari serangan brute force.
4.3.3. Perbandingan Implementasi C-AES 256 bit dengan AES 256 bit
Gambar 4.31. Grafik Perbandingan Kecepatan Enkripsi Antara C-AES dan AES
Gambar 4.32. Grafik Perbandingan Kecepatan Dekripsi Antara C-AES dan AES
0
2
4
6
8
10
12
14
16
1.062 KB 5.695 KB 10.746 KB 21.110 KB 40.679 KB 82.140 KB 173.968 KB
253.374 KB
Ukuran File Yang digunakan
Kecepatan Proses Enkripsi Antara C-AES dan AES Dalam Detik
C-AES
AES
0
5
10
15
20
25
1.062 KB 5.695 KB 10.746 KB 21.110 KB 40.679 KB 82.140 KB 173.968 KB
253.374 KB
Ukuran File Yang digunakan
Kecepatan Proses Dekripsi Antara C-AES dan AES Dalam Detik
C-AES
AES
19
Berdasarkan hasil proses pengujian perbandingan kecepatan proses enkripsi dan dekripsi C-
AES dan AES yang telah dilakukan pada perangkat dengan prosesor intel®
Core™
i3-2370M @ 2,4 Ghz
dan dengan memori 4Gb, dapat dilihat bahwa kecepatan proses yang dilakukan antara C-AES dan AES
tidak terlalu jauh berbeda meskipun dengan menggunakan C-AES waktu yang diperlukan cenderung
lebih lama (dengan kecepatan rata-rata 15,4MB/s untuk enkripsi dan 12,1MB/s untuk dekripsi). Tetapi hal
tersebut tidak terlalu berpengaruh karena penambahan waktu tersebut digunakan untuk melakukan
proses zipping yang dilengkapi dengan password guna meningkatkan keamanan terhadap serangan
brute force.
5. PENUTUP
5.1. Kesimpulan
1. Proses perancangan untuk memodifikasi alur kombinasi algoritma RSA,ARCFOUR, dan
AES menjadi C-RSA, ARCFOUR, dan C-AES untuk diimplementasikan pada proses
pengamanan file di aplikasi CYANITY telah sesuai dengan latar belakang masalah dan
batasan masalah yang ada.
2. Pengimplementasian algoritma CAC dalam aplikasi CYANITY untuk mengamankan file
telah berhasil dibuat.
3. Aplikasi “Aplikasi Pengamanan File Menggunakan Kombinasi Algoritma C-RSA,
ARCFOUR, dan C-AES (CAC)” berbasis Java yang diberi nama CYANITY ini dibangun
menggunakan metode pengembangan SDLC (System Development Life Cycle) waterfall.
4. File yang dienkripsi dengan aplikasi CYANITY ketahanan terhadap serangan brute force
ataupun dictionary attack semakin meningkat. Hal tersebut terbukti dengan tidak
berhasilnya uji coba brute force attack yang telah dijelaskan pada bab sebelumnya.
5.2. Saran
1. Saat ini aplikasi hanya dapat dijalankan dengan baik di sistem operasi berbasis Windows™
yang terintegrasi dengan Java karena keterbatasan yang dimiliki oleh penulis. Sehingga
untuk keperluan pengembangan selanjutnya diharapkan dapat diimplementasikan di sistem
operasi lain yang dapat diintegrasikan dengan Java.
2. Pengguna disarankan untuk mengorganisir file yang dienkripsi secara bersamaan ke dalam
satu folder dan juga menyertakan file secret key guna memudahkan proses dekripsi
dikemudian hari.
3. File yang dienkripsi sebaiknya merupakan file yang benar-benar perlu untuk dilindungi.
4. Untuk pengembangan berikutnya proses yang dilakukan dapat digabungkan dengan
kombinasi file splitting dan file joining.
5. Pengembangan berikutnya diharapkan dapat menambahkan fitur untuk mengerimkan file
yang telah dienkripsi melalui internet.
6. Diharapkan juga untuk pengembang selanjutnya dapat mengintegrasikan aplikasi ini
dengan database online yang digunakan untuk menyimpan kunci dan juga password yang
terenkripsi.
20
DAFTAR PUSTAKA
Ariyus, Dony. 2005. Computer Security. Yogyakarta: Penerbit Andi.
Ariyus, Dony. 2008. Pengantar Ilmu Kriptografi Teori, Analisis, dan Implementasi, Yogyakarta:
Penerbit Andi.
Fatta, Hanif Al. 2007. Analisis & Perancangan Sistem Informasi Untuk Keunggulan Bersaing
Perusahaan & Organisasi Modern. Yogyakarta: Penerbit Andi.
Kadir, Abdul. 2013. Buku Pertama Belajar Pemrograman Java Untuk Pemula. Yogyakarta: Mediakom.
Komputer, Wahana dan Elex Media Komputindo. 2010. Membuat Aplikasi Facebook Dengan Platform
NetBeans. Jakarta: PT Elex Media Komputindo.
Kristanto, Andri. 2003. Keamanan Data Pada Jaringan Komputer. Yogyakarta: Gava Media.
Kusrini. 2007. Tuntunan Praktis Membangun Sistem Informasi Akutansi dengan Visual Basic &
Microsoft SQL Server. Yogyakarta: Penerbit Andi.
M. Farid Aziz M.Kom, Ir. 2005. Object Oriented Programming Php 5. Jakarta: PT Elex Media
Komputindo.
Muttaqin, Zaenal. Tahun 2010. “Pembuatan Aplikasi Enkripsi Menggunakan Metode Advance
Encryption Standard dan Rivest Shamir Adleman Studi Kasus CV Maharta mandiri promo”.
Skripsi. Fakultas Sains dan Teknologi. UIN Syarif Hidayatullah Jakarta. Jakarta.
Pangera, Abas Ali dan Dony Ariyus. 2010. Sistem Operasi. Yogyakarta: Penerbit Andi.
Pearce dan Robinson. 2007. Manajemen Strategis Formulasi, Implementasi, dan Pengendalian.
Yogyakarta: Salemba Empat.
Rosyidi, Muhammad Usman. Tahun 2014. “Implementasi Algoritma Kriptografi RC4 Pada Aplikasi
SMS Berbasis Java”. Skripsi. Teknik Informatika. STMIK Amikom Yogyakarta.Yogyakarta.
S, Rachmad Hakim dan Ir.Sutarto,M.Si. 2009. Mastering Java: Konsep pemrograman Java dan
Penerapannya Untuk membuat Software Aplikasi. Jakarta: PT Elex Media Komputindo.
S, Rosa A. dan M. Shalahuddin. 2013. Rekayasa Perangkat Lunak Terstruktur dan Berorientasi
Objek, Bandung: Penerbit Informatika.
Sadikin, Rifki. 2012. Kriptografi Untuk Keamanan jaringan, Yogyakarta: Andi Offset.
Soeherman, Bonnie dan Marion Pinontoan. 2008. Designing Information System. Jakarta: PT Elex
Media Komputindo.
Sommerville, Ian. 2003. Software Engineering Edisi 6 (Rekayasa Perangkat Lunak) Jilid 1. Jakarta:
Penerbit Erlangga.
Suyanto, M. 2004. Analisis & Desain Aplikasi Multimedia Untuk Pemasaran. Yogyakarta: Penerbit
Andi.
Whitten, Jeffery L. dkk. 2004. Metode Desain & Analisis Sistem Edisi 6. Yogyakarta: Penerbit Andi.