SKRIPSI
IMPLEMENTASI SEARCHABLE ENCRYPTION DENGAN
KRIPTOGRAFI KUNCI ASIMETRI
KEVIN ANTONIUS JULIANTO
NPM: 2013730014
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INFORMASI DAN SAINS
UNIVERSITAS KATOLIK PARAHYANGAN
2017
UNDERGRADUATE THESIS
IMPLEMENTATION OF SEARCHABLE ENCRYPTION WITH
ASYMMETRIC CRYPTOGRAPHY
KEVIN ANTONIUS JULIANTO
NPM: 2013730014
DEPARTMENT OF INFORMATICS
FACULTY OF INFORMATION TECHNOLOGY AND
SCIENCES
PARAHYANGAN CATHOLIC UNIVERSITY
2017
LEMBAR PENGESAHAN
IMPLEMENTASI SEARCHABLE ENCRYPTION DENGAN
KRIPTOGRAFI KUNCI ASIMETRI
KEVIN ANTONIUS JULIANTO
NPM: 2013730014
Bandung, 18 Mei 2017 Menyetujui,
Pembimbing
Mariskha Tri Adithia, P.D.Eng
Ketua Tim Penguji
Husnul Hakim, M.T.
Anggota Tim Penguji
Pascal Alfadian, M.Comp.
Mengetahui, Ketua Program Studi
PERNYATAAN
Dengan ini saya yang bertandatangan di bawah ini menyatakan bahwa skripsi dengan judul:
IMPLEMENTASI SEARCHABLE ENCRYPTION DENGAN KRIPTOGRAFI KUNCI ASIMETRI
adalah benar-benar karya saya sendiri, dan saya tidak melakukan penjiplakan atau pengutipan de-ngan cara-cara yang tidak sesuai dede-ngan etika keilmuan yang berlaku dalam masyarakat keilmuan. Atas pernyataan ini, saya siap menanggung segala risiko dan sanksi yang dijatuhkan kepada saya, apabila di kemudian hari ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya, atau jika ada tuntutan formal atau non-formal dari pihak lain berkaitan dengan keaslian karya saya ini.
Dinyatakan di Bandung, Tanggal 18 Mei 2017
Meterai Rp. 6000 Kevin Antonius Julianto
ABSTRAK
Di masa sekarang ini, data biasanya disimpan pada basis data atau server milik pihak ketiga untuk mengurangi beban berat data di komputer lokal. Data yang hak akses-nya haakses-nya untuk orang tertentu diberikan pengamanan khusus, seperti enkripsi. Hal tersebut dilakukan untuk menghindari kemungkinan data diakses oleh pihak yang ti-dak diinginkan, karena basis data atau server milik pihak ketiga titi-dak dapat dipercaya sepenuhnya. Meskipun data dan informasi tersebut telah diamankan, muncul masalah baru ketika pemilik data atau pihak yang memiliki hak akses ingin mencari suatu data tertentu. Untuk melakukan pencarian terhadap data terenkripsi dalam basis data atau
server, pencari harus mengunduh semua data yang terenkripsi dan melakukan dekripsi
satu persatu pada kumpulan data tersebut. Setelah itu, pencari baru bisa mencari dan mendapatkan data yang diinginkan.
Searchable encryption adalah sebuah metode yang memungkinkan pengguna untuk
menyimpan data pada server dalam keadaan terenkripsi. Namun data tersebut dapat diambil secara selektif dengan memberikan informasi kepada server sesedikit mungkin. Dalam pencarian menggunakan searchable encryption, hal yang perlu dijaga keama-nannya adalah data hasil pencarian dan kata kunci yang digunakan untuk mencari. Kedua hal tersebut juga tidak boleh diketahui oleh pihak server yang melakukan pen-carian. Searchable encryption menggunakan sebuah struktur data tambahan berupa indeks yang memungkinkan server melakukan pencarian secara efisien dan tetap men-jaga kerahasiaan kata kunci pencarian dan data yang dicari.
Metode searchable encryption dapat melakukan pencarian data terenkripsi tanpa memperlihatkan informasi yang krusial. Nilai waktu pencarian dari metode brute force lebih rendah daripada metode searchable encryption tanpa menghitung waktu dekripsi. Meskipun begitu, nilai waktu pencarian dari metode searchable encryption berbeda tipis dengan metode brute force. Nilai total waktu pencarian data menggunakan metode
searchable encryption lebih rendah daripada metode pencarian secara brute force.
Berdasarkan hasil pengujian yang didapatkan dari perangkat lunak yang sudah dibangun, pencarian menggunakan metode searchable enryption jauh lebih efisien di-bandingkan dengan metode brute force karena metode searchable enryption hanya me-lakukan dekripsi pada data hasil pencarian.
Kata-kata kunci: Searchable Encryption, Trapdoor Function, Public Keys Searchable Encryption
ABSTRACT
Nowadays, data is stored at third party database or server to reduce data load on local computer. Data with access rights for certain people are given special security like encryption. It is done to avoid possibility of data got accessed by unwanted parties, because third party cannot be trusted fully. After data and information is secured, a new problem arise when owner or parties who have access rights of the data want to search for specific data. To search for encrypted data in database or server, searcher must downloads all encrypted data and decrypting the data one by one. After that, searcher can search and get the data that he wants.
Searchable encryption is a method which allow user to save a data to server in encrypted condition. However, the data can be taken selectively by giving information to server as little as possible. When searching with searchable encryption, things that need to be secured is data from searching result and keywords that used for searching. Both of these cannot be known by server to search. Searchable encryption uses an additional data structure in form of index to allow server searching efficiently while maintaining data and keywords security.
Searchable encryption method can search encrypted data without leaking crucial information. The value of search time from brute force method is lower than searchable encryption without calculate decryption time. Still and all, the value of search time from searchable encryption method is slightly different than brute force method. The value of total search time from searchable encryption method is lower than brute force searching method.
Based on result test that obtained from software that already built, searching with searchable encryption method is far more efficient compared to brute force method because searchable encryption method only decrypting data search result.
Keywords: Searchable Encryption, Trapdoor Function, Public Keys Searchable En-cryption
Dipersembahkan untuk orang tua, saudara, diri sendiri,
pembimbing dan semua orang yang telah membantu dalam proses
penyusunan skripsi ini
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas selesainya skripsi yang berjudul "Implementasi Searchable Encryption dengan Kriptografi Kunci Asimetri". Selama pem-buatan makalah pun penulis juga mendapat banyak dukungan dan juga bantuan dari berbagai pihak, maka dari itu penulis haturkan banyak terima kasih kepada :
• Orang tua dan saudara penulis yang selalu memberikan dukungan baik secara materi, moti-vasi, dan doa.
• Dosen pembimbing, Bu Mariskha yang selalu memberi bimbingan dan masukan selama proses pembuatan skripsi ini sehingga dapat diselesaikan dengan baik.
• Segenap dosen dan pegawai Universitas Katolik Parahyangan Bandung Jurusan Teknik In-formatika yang telah memberikan motivasi dan pendidikannya kepada penulis.
• Para sahabat dan teman dari penulis yang selalu memberi dukungan dalam penyusunan skripsi ini.
Semoga seluruh pihak yang membantu dalam penyusunan skripsi ini mendapat berkah dah rahmat dari Tuhan Yang Maha Esa. Akhir kata, penulis memohon maaf bila terdapat kesalahan dan kekurangan dalam penyusunan skripsi ini. Semoga skripsi ini berguna bagi semua pihak yang membutuhkan.
Bandung, Mei 2017
Penulis
DAFTAR ISI
Kata Pengantar xv
Daftar Isi xvii
Daftar Gambar xix
Daftar Tabel xxii
1 Pendahuluan 1 1.1 Latar Belakang . . . 1 1.2 Rumusan Masalah . . . 2 1.3 Tujuan . . . 2 1.4 Batasan Masalah . . . 2 1.5 Metodologi Penelitian . . . 2 1.6 Sistematika Pembahasan . . . 3 2 Landasan Teori 5 2.1 Kriptografi . . . 5 2.2 Trapdoor Function . . . 6 2.3 Algoritma RSA . . . 6 2.4 Searchable Encryption . . . 7 2.5 MySQL Connector . . . 8 3 Analisis 11 3.1 Analisis Masalah . . . 11
3.2 Pembangunan Kunci Menggunakan Algoritma RSA . . . 12
3.3 Enkripsi Data . . . 13
3.4 Pencarian Menggunakan Trapdoor Function . . . 14
3.5 Dekripsi Data . . . 15
3.6 Metode Pencarian Secara Brute Force . . . 15
3.7 Analisis Perangkat Lunak . . . 16
3.7.1 Proses Perancangan Perangkat Lunak . . . 16
3.7.2 Persiapan Client . . . 17
3.7.3 Pengiriman Data . . . 18
3.7.4 Pencarian Data . . . 19
3.7.5 Pencarian Secara Brute Force . . . 20
3.8 Diagram Aktivitas . . . 20
3.9 Diagram Kelas . . . 24
3.10 Diagram ER. . . 26
4 Perancangan 29 4.1 Diagram Kelas Lengkap . . . 29
4.1.1 Kelas RSA . . . 29
4.1.2 Kelas Client . . . 32 4.1.3 Kelas Server . . . 36 4.1.4 Kelas Trapdoor . . . 39 4.1.5 Kelas Email . . . 40 4.1.6 Kelas Attachment. . . 40 4.1.7 Kelas Controller . . . 40 4.1.8 Kelas MainFrame. . . 41 4.1.9 Kelas SearchContentPanel . . . 41 4.1.10 Kelas EmailContentPanel . . . 42
4.2 Kebutuhan Masukan dan Keluaran Perangkat Lunak . . . 42
4.2.1 Masukan dari Perangkat Lunak . . . 42
4.2.2 Keluaran dari Perangkat Lunak . . . 43
4.3 Perancangan Antarmuka . . . 43
4.3.1 Rancangan Antarmuka Pengiriman E-mail . . . 43
4.3.2 Rancangan Antarmuka Pencarian E-mail . . . 44
4.3.3 Rancangan Antarmuka Penampilan Konten E-mail . . . 45
4.3.4 Rancangan Antarmuka Penambahan Kata Kunci . . . 45
5 Implementasi dan Pengujian Perangkat Lunak 47 5.1 Tampilan Antarmuka Perangkat Lunak . . . 47
5.1.1 Tampilan Antarmuka Pengaturan Pengguna . . . 47
5.1.2 Tampilan Antarmuka Pengiriman E-mail . . . 49
5.1.3 Tampilan Antarmuka Pencarian E-mail . . . 52
5.1.4 Tampilan Antarmuka Penambahan Kata Kunci . . . 55
5.2 Pengujian Perangkat Lunak . . . 56
5.2.1 Pengujian Fungsional. . . 56
5.2.2 Pengujian Eksperimental . . . 68
6 Kesimpulan dan Saran 73 6.1 Kesimpulan . . . 73
6.2 Saran . . . 73
Daftar Referensi 75
A Kode Program 77
DAFTAR GAMBAR
2.1 Skema kriptografi kunci simetri . . . 6
2.2 Skema kriptografi kunci asimetri . . . 6
3.1 Flowchart Proses Pembangunan dan Proses Pengujian . . . 16
3.2 Flowchart Persiapan Client . . . 17
3.3 Flowchart Pengiriman Data . . . 18
3.4 Flowchart Pencarian Data . . . 19
3.5 Flowchart metode pencarian e-mail secara brute force . . . 20
3.6 Diagram Aktivitas Pembangunan Kunci . . . 21
3.7 Diagram Aktivitas Penambahan Kata Kunci. . . 21
3.8 Diagram Aktivitas Enkripsi . . . 22
3.9 Diagram Aktivitas Dekripsi . . . 23
3.10 Diagram Aktivitas Pengiriman E-mail . . . 23
3.11 Diagram Aktivitas Pencarian E-mail . . . 24
3.12 Diagram kelas dari perangkat lunak yang akan dibangun. . . 26
3.13 Diagram ERD dari Basis Data yang Akan Digunakan . . . 27
4.1 Diagram kelas lengkap . . . 29
4.2 Kelas RSA. . . 30 4.3 Kelas Client . . . 33 4.4 Kelas Server . . . 36 4.5 Kelas Trapdoor . . . 39 4.6 Kelas Email . . . 40 4.7 Kelas Attachment . . . 40 4.8 Kelas Controller . . . 41 4.9 Kelas MainFrame . . . 41 4.10 Kelas SearchContentPanel . . . 42 4.11 Kelas EmailContentPanel . . . 42
4.12 Rancangan antarmuka perangkat lunak bagian pengiriman e-mail . . . 43
4.13 Rancangan antarmuka perangkat lunak bagian pencarian e-mail . . . 45
4.14 Rancangan antarmuka perangkat lunak bagian penampilan konten e-mail . . . 45
4.15 Rancangan antarmuka perangkat lunak bagian penambahan kata kunci . . . 46
5.1 Tampilan antarmuka pengaturan pengguna dari perangkat lunak . . . 47
5.2 Tampilan antarmuka berhasil mengganti "Current User " . . . 48
5.3 Tampilan pesan peringatan isi dari text field "Set Current User" kosong . . . 48
5.4 Tampilan pesan konfirmasi pendaftaran pengguna baru . . . 48
5.5 Tampilan pesan pemberitahuan bahwa nama pengguna berhasil terdaftar . . . 49
5.6 Tampilan pesan peringatan text field "Current User" belum terisi . . . 49
5.7 Tampilan antarmuka pengiriman e-mail dari perangkat lunak . . . 49
5.8 Tampilan antarmuka pengiriman e-mail yang telah terisi. . . 50
5.9 Tampilan antarmuka jendela baru untuk memilih file . . . 50
5.10 Tampilan pesan pemberitahuan bahwa e-mail telah dikirim . . . 51 xix
5.11 Tampilan pesan peringatan text field "To" belum terisi . . . 51
5.12 Tampilan pesan peringatan bahwa nama pengguna tujuan tidak terdaftar . . . 51
5.13 Tampilan pesan peringatan text field "Subject" belum terisi . . . 51
5.14 Tampilan pesan peringatan text area "Message" belum terisi . . . 51
5.15 Tampilan pesan peringatan bahwa tidak kata kunci yang terpilih . . . 52
5.16 Tampilan antarmuka pengiriman e-mail dari perangkat lunak . . . 52
5.17 Tampilan pesan peringatan bahwa tidak kata kunci yang terpilih . . . 52
5.18 Tampilan pesan peringatan peringatan bahwa kata kunci tidak ditemukan . . . 53
5.19 Tampilan pesan peringatan peringatan bahwa e-mail dengan kata kunci yang dima-sukkan tidak ditemukan . . . 53
5.20 Tampilan antarmuka ketika perangkat lunak berhasil menemukan e-mail . . . 53
5.21 Tampilan pesan pemberitahuan bahwa e-mail telah dienkripsi . . . 54
5.22 Tampilan pesan pemberitahuan bahwa e-mail telah dihapus . . . 54
5.23 Tampilan konten e-mail yang tidak memiliki attachment . . . 54
5.24 Tampilan konten e-mail yang memiliki attachment . . . 55
5.25 Tampilan pesan pemberitahuan bahwa attachment telah berhasil dibentuk . . . 55
5.26 Tampilan antarmuka pengiriman e-mail dari perangkat lunak . . . 55
5.27 Tampilan pesan peringatan bahwa kata kunci tidak valid . . . 56
5.28 Tampilan pesan pemberitahuan bahwa kata kunci berhasil ditambahkan . . . 56
5.29 Kondisi tabel "attachment" yang kosong . . . 57
5.30 Kondisi tabel "attachment" yang kosong . . . 57
5.31 Kondisi tabel "e-mail" yang kosong . . . 57
5.32 Pengisian masukan untuk pengiriman e-mail oleh Jack . . . 58
5.33 Kondisi tabel "email" setelah Jack mengirim e-mail . . . 58
5.34 Kondisi tabel "kata_kunci" setelah Jack mengirim e-mail . . . 58
5.35 Pengisian masukan untuk pengiriman e-mail oleh Bob . . . 59
5.36 Kondisi tabel "email" setelah Bob mengirim e-mail . . . 59
5.37 Kondisi tabel "kata_kunci" setelah Bob mengirim e-mail . . . 59
5.38 Pengisian masukan untuk pengiriman e-mail oleh Dylan . . . 60
5.39 Kondisi tabel "email" setelah Dylan mengirim e-mail . . . 60
5.40 Kondisi tabel "kata_kunci" setelah Dylan mengirim e-mail . . . 60
5.41 Kondisi tabel "attachment" setelah Dylan mengirim e-mail . . . 60
5.42 Pengisian masukan untuk pengiriman e-mail oleh Bob . . . 61
5.43 Kondisi tabel "email" setelah Bob mengirim e-mail . . . 61
5.44 Kondisi tabel "kata_kunci" setelah Bob mengirim e-mail . . . 61
5.45 Kondisi tabel "attachment" setelah Bob mengirim e-mail . . . 61
5.46 Tampilan hasil pencarian e-mail dengan kata kunci "OutOffice" oleh Alice . . . 62
5.47 Tampilan isi dari e-mail hasil pencarian dengan subjek "Out Office" . . . 62
5.48 Tampilan hasil pencarian e-mail dengan kata kunci "Job" oleh Alice . . . 63
5.49 Tampilan isi dari e-mail hasil pencarian dengan subjek "Reviewing Business Proposal" 63 5.50 Tampilan hasil pencarian e-mail dengan kata kunci "Job" dan "Announcement" oleh Alice . . . 64
5.51 Tampilan isi dari e-mail ha il pencarian dengan subjek "Representing Company at Conference" . . . 64
5.52 Hasil pencatatan dari pencarian e-mail dengan kata kunci "OutOffice" . . . 65
5.53 Hasil pencatatan dari pencarian e-mail dengan kata kunci "Job" . . . 65
5.54 Hasil pencatatan dari pencarian e-mail dengan kata kunci "Job" dan "Announcement" 66 5.55 Informasi dari file yang akan dikirim . . . 66
5.56 Isi dari file yang akan dikirim . . . 66
5.57 Kondisi tabel "attachment" sebelum pengiriman . . . 67
5.58 Pengisian masukan untuk pengiriman e-mail oleh Bob . . . 67
5.59 Kondisi tabel "attachment" setelah pengiriman . . . 67
5.60 Tampilan hasil pencarian e-mail oleh Alice . . . 67
5.61 Informasi dari attachment yang telah diunduh. . . 68
5.62 Isi dari attachment yang telah diunduh. . . 68
5.63 Kondisi tabel "kata_kunci" yang kosong . . . 69
5.64 Tampilan perangkat lunak ketika Bob mengirim e-mail . . . 70
5.65 Kondisi tabel "kata_kunci" setelah Bob mengirim e-mail . . . 70
5.66 Tampilan perangkat lunak ketika Dylan mengirim e-mail . . . 70
5.67 Kondisi tabel "kata_kunci" setelah Dylan mengirim e-mail . . . 71
5.68 Tampilan perangkat lunak ketika Eve mengirim e-mail . . . 71
5.69 Kondisi tabel "kata_kunci" setelah Eve mengirim e-mail . . . 71
5.70 Tampilan perangkat lunak ketika Eve mengirim e-mail kedua . . . 72
5.71 Kondisi tabel "kata_kunci" setelah Eve mengirim e-mail kedua . . . 72
DAFTAR TABEL
3.1 Atribut kelas Client. . . . 25
3.2 Atribut kelas RSA. . . 25
3.3 Atribut kelas MainFrame. . . . 25
3.4 Atribut kelas Trapdoor. . . . 26
3.5 Atribut kelas Controller. . . . 26
3.6 Atribut entitas e-mail. . . . 27
3.7 Atribut entitas kata_kunci. . . 27
3.8 Atribut entitas attachment. . . . 28
5.1 Hasil Pengujian untuk Setiap Pencarian . . . 69
BAB 1
PENDAHULUAN
1.1
Latar Belakang
Di masa sekarang ini, data biasanya disimpan pada basis data atau server milik pihak ketiga untuk mengurangi beban berat data di komputer lokal. Data yang hak aksesnya hanya untuk orang tertentu diberikan pengamanan khusus, seperti enkripsi. Dalam hal ini, enkripsi yang digunakan bisa berupa kriptografi kunci simetri maupun kriptografi kunci asimetri. Pada kriptografi kunci simetri, enkripsi dan dekripsi data menggunakan satu kunci yang sama. Sedangkan pada kriptografi kunci asimetri, enkripsi dan dekripsi data menggunakan dua kunci yang berbeda. Enkripsi dan dekripsi memanfaatkan sistem character encoding. Character encoding digunakan untuk mengubah karakter menjadi angka sehingga dapat dienkripsi dan didekripsi.
Enkripsi dilakukan untuk menghindari kemungkinan data diakses oleh pihak yang tidak di-inginkan, karena basis data atau server milik pihak ketiga tidak dapat dipercaya sepenuhnya. Meskipun data dan informasi tersebut telah diamankan, muncul masalah baru ketika pemilik data atau pihak yang memiliki hak akses ingin mencari suatu data tertentu. Untuk melakukan pencari-an terhadap data terenkripsi dalam basis data atau server, pencari harus mengunduh semua data yang terenkripsi dan melakukan dekripsi satu persatu pada kumpulan data tersebut. Setelah itu, pencari baru bisa mencari dan mendapatkan data yang diinginkan. Cara tersebut terlalu banyak memakan waktu jika data terenkripsi yang disimpan banyak. Salah satu metode untuk mengatasi permasalahan tersebut ialah dengan menggunakan metode searchable encryption.
Searchable encryption adalah sebuah metode yang memungkinkan pengguna untuk menyimpan
data pada server dalam keadaan terenkripsi namun data tersebut dapat diambil secara selektif dengan memberikan informasi kepada server sesedikit mungkin. Dalam pencarian menggunakan
searchable encryption, hal yang perlu dijaga keamanannya adalah data hasil pencarian dan kata
kunci yang digunakan untuk mencari. Kedua hal tersebut juga tidak boleh diketahui oleh pi-hak server yang melakukan pencarian. Searchable encryption menggunakan sebuah struktur data tambahan berupa indeks yang memungkinkan server melakukan pencarian secara efisien dan te-tap menjaga kerahasiaan kata kunci pencarian dan data yang dicari [1]. Searchable encryption memanfaatkan sebuah fungsi matematika yang disebut trapdoor function. Trapdoor function me-rupakan fungsi matematika yang "mudah" dihitung tetapi memerlukan sebuah nilai rahasia agar dapat dihitung balik secara efisien [2].
Berdasarkan jenis kriptografi, searchable encryption dibedakan menjadi dua, yaitu searchable
encryption kunci simetri dan searchable encryption kunci asimetri. Pada searchable encryption
kunci simetri, pengguna mengenkripsikan datanya sendiri agar ia dapat mengatur datanya secara keseluruhan sebelum enkripsi dan menambahkan struktur data tambahan untuk memungkinkan pengaksesan yang efisien pada data yang relevan. Setelah itu, data dan struktur data tambahan tersebut dienkripsi menggunakan sebuah kunci rahasia dan disimpan pada server. Pada searchable
encryption kunci asimetri, pengguna yang mengenkripsi data dan menyimpan ke server bisa
ber-beda dengan orang yang mendekripsikan. Siapa pun yang memiliki akses ke kunci publik dapat menambahkan kata kunci pada indeks pencarian, tetapi hanya pemilik kunci privat yang dapat membuat trapdoor function untuk menguji hasil dari kata kunci tersebut [1].
2 Bab 1. Pendahuluan
Pada skripsi ini, akan dikembangkan sebuah perangkat lunak yang dapat mencari data yang terenkripsi dalam suatu basis data. Dengan menggunakan perangkat lunak tersebut, pengguna dapat mencari data rahasia yang tersimpan pada basis data tanpa orang lain dapat mengetahui tentang data yang dicari. Enkripsi akan dilakukan dengan algoritma kriptografi kunci asimetri agar kunci yang digunakan untuk dekripsi tidak tersebar sehingga keamanan kunci dan data lebih terjamin.
1.2
Rumusan Masalah
Berdasarkan deskripsi yang telah diuraikan, dapat dirumuskan beberapa permasalahan sebagai berikut:
1. Bagaimana cara kerja dari metode searchable encryption dengan kriptografi kunci asimetri? 2. Bagaimana implementasi dari searchable encryption dengan kriptografi kunci asimetri pada
perangkat lunak?
3. Apakah searchable encryption dengan kriptografi kunci asimetri lebih efisien daripada metode pencarian brute force?
1.3
Tujuan
Berdasarkan rumusan masalah yang telah dikemukakan, tujuan yang ingin dicapai dalam penelitian ini yaitu:
1. Mempelajari cara kerja dari metode searchable encryption dengan kriptografi kunci asimetri. 2. Mengimplementasikan metode searchable encryption dengan kriptografi kunci asimetri pada
perangkat lunak.
3. Menganalisa efisiensi dari metode searchable encryption dengan kriptografi kunci asimetri dengan membandingkan metode tersebut dengan metode pencarian brute force.
1.4
Batasan Masalah
Batasan masalah dari penelitian ini adalah:
1. Character encoding yang digunakan dalam enkripsi dan dekripsi adalah character encoding ASCII.
2. Ukuran maksimal dari data yang digunakan adalah 1 MB.
3. Lingkungan implementasi dari hasil penelitian ini adalah pada komputer lokal.
1.5
Metodologi Penelitian
Metodologi yang akan digunakan untuk menyusun penelitian ini adalah sebagai berikut:
1. Melakukan studi literatur untuk mempelajari dasar-dasar kriptografi, trapdoor function, al-goritma RSA dan searchable encryption.
2. Melakukan analisis secara manual terkait penyelesaian masalah.
3. Melakukan perancangan kelas dan basis data untuk mengimplementasikan metode searchable
1.6. Sistematika Pembahasan 3
4. Mengimplementasikan hasil perancangan kelas untuk searchable encryption dan metode pen-carian brute force, yang digunakan sebagai bahan perbandingan, menggunakan bahasa pem-rograman Java dan basis data MySQL.
5. Melakukan pengujian terhadap perangkat lunak yang telah dibangun. 6. Menganalisa hasil pengujian terhadap perangkat lunak.
7. Membuat kesimpulan berdasarkan hasil analisa.
1.6
Sistematika Pembahasan
Sistematika pembahasan dibagi menjadi beberapa bab yang akan dijelaskan sebagai berikut: 1. Bab 1 Pendahuluan
Bab ini membahas tentang latar belakang, rumusan masalah, tujuan, batasan masalah, me-todologi penelitian, dan sistematika pembahasan.
2. Bab 2 Dasar Teori
Bab ini membahas penjelasan tentang kriptografi secara umum, algoritma kriptografi kunci asimetri RSA, metode searchable encryption dan library MySQL Connector.
3. Bab 3 Analisis
Bab ini membahas tentang bagaimana penerapan dari metode searchable encryption dengan kriptografi kunci asimetri, analisis dari setiap proses dalam bentuk flowchart, dan pemaparan diagram - diagram yang dibutuhkan.
4. Bab 4 Perancangan
Bab ini membahas tentang diagram kelas rinci, deskripsi dan fungsi dari setiap kelas yang dibangun, diagram ERD, kebutuhan keluaran dan masukan dari perangkat lunak, dan per-ancangan antarmuka perangkat lunak.
5. Bab 5 Implementasi dan Pengujian Perangkat Lunak
Bab ini membahas tentang tampilan dari perangkat lunak yang dibangun, pengujian dari perangkat lunak, dan kesimpulan dari pengujian.
6. Bab 6 Kesimpulan dan Saran