20
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

APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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

Page 2: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

ii

Page 3: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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.

Page 4: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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

Page 5: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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

Page 6: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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

Page 7: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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

Page 8: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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

Page 9: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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

Page 10: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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

Page 11: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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.

Page 12: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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.

Page 13: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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.

Page 14: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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)

Page 15: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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

Page 16: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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.

Page 17: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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

Page 18: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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

Page 19: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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.

Page 20: APLIKASI PENGAMANAN FILE MENGGUNAKAN KOMBINASI …

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.