IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA DAN RABIN PADA THREE-PASS PROTOCOL UNTUK PENGAMANAN DATA PADA APLIKASI CHAT BERBASIS ANDROID
BAB 1
PENDAHULUAN
1.1
Latar Belakang
Informasi saat ini menjadi sesuatu yang sangat berharga seiring dengan semakin
berkembangnya teknologi informasi. Sehingga informasi menjadi sebuah kebutuhan
setiap orang saat ini. Informasi menjadi semakin mudah untuk saling dipertukarkan
karena media yang tersedia saat ini sangat bervariasi dan cepat. Internet menjadi
media yang sangat mempengaruhi perkembangan teknologi informasi karena internet
menjadi media pengiriman data yang paling banyak digunakan saat ini.
Dalam perkembangan teknologi informasi ini, tidak selamanya membawa efek
positif. Dengan semakin mudah dan cepatnya dalam berbagi informasi menyebabkan
informasi penting dan pribadi dapat dengan mudah digunakan oleh pihak yang tidak
berkepentingan. Salah satunya adalah perkembangan aplikasi pesan singkat atau yang
sering disebut messager atau chat. Aplikasi chat menjadi sangat dibutuhkan karena
pengiriman pesan yang cepat, mudah, dan langsung dapat diterima oleh penerima
pesan. Setiap harinya, lebih dari milyaran pesan dikirim melalui internet dengan
menggunakan aplikasi chat ini, dan kemungkinan pengguna mengirimkan pesan yang
bersifat privasi dan rahasia. Oleh sebab itu kerahasiaan data menjadi sangat penting
karena terkait dengan hak privasi seseorang.
Isu keamanan ini menjadi hal yang sangat penting saat ini dalam
perkembangan teknologi informasi. Oleh sebab itu, penyandian pesan sangat penting
dilakukan dalam pengiriman informasi melalui internet agar informasi yang
dikirimkan hanya dapat dimengerti oleh pihak yang berhak.
Kriptografi adalah ilmu atau seniyang mempelajari menyandikan pesan.
Berdasarkan perkembangannya, kriptografi dibagi menjadi dua jenis, yaitu kriptografi
klasik dan kriptografi modern, sedangkan berdasarkan kunci yang digunakan dibagi
menjadi kriptografi simetris dan kriptografi asimetris. Kriptografi simetris adalah
algorima kriptografi yang menggunakan kunci yang sama dalam melakukan enkripsi
dan dekripsi pesan sedangkan algoritma asimetris menggunakan dua buah kunci yaitu
kunci publik untuk melakukan enkripsi dan kunci privat untuk melakukan dekripsi.
2
Banyak algoritma kriptografi yang sudah diciptakan hingga saat ini. Seperti
Data Encryption Standard (DES) dan Advanced Encryption Standard (AES) yang
merupakan algoritma kriptografi simetris. RSA (Rivest Shamir Adleman), Rabin,
Pohlig-Hellman yang merupakan salah satu algoritma kriptografi asimetris. RSA dan
Rabin adalah dua algoritma yang akan digunakan dalam penelitian berikut.
Algoritma Rabin sama seperti algoritma kriptografi asimetris lainnya yang
memiliki kunci publik untuk melakukan enkripsi dan kunci privat untuk melakukan
dekripsi. Kunci privat dari algoritma Rabin diperolah dari dua buah bilangan prima
besar (p, q) yang dipilih secara acak. Dan untuk kunci publik diperoleh dari perkalian
dua bilangan prima p dan q. Untuk proses dekripsi, algoritma Rabin menggunakan
teorema Chinese remainder dan akan menghasilkan 4 pilihan plaintext. Keamanan
algorima Rabin dapat dibuktikan secara matematis karena menggunakan metode
pemfaktoran bilangan secara cepat.
Sama seperti algorima Rabin, algoritma RSA juga termasuk algoritma
asimetris tetapi memiliki perbedaan dalam membangkitkan kedua kunci privat dan
publik. Algoritma RSA membutuhkan dua bilangan prima p dan q untuk
membangkitkan kunci public (e) dimana e adalah sebuah bilangan yang memiliki
faktor persekutuan terbesar (GCD) sama dengan 1 dengan φ dimana φ = (p-1)(q-1),
dengan syarat 1 < e < (φ-1). Kunci privat diperoleh dengan metode Extended
Euclidean.
Kedua algoritma ini termasuk algoritma yang cukup aman dalam melakukan
penyandian pesan. Kemanan kedua algoritma ini tergantung pada keamanan dalam
pendistribusian kunci. Kunci privat harus selalu menjadi kunci rahasia si penerima
pesan. Jika kunci privat penerima pesan diketahui oleh pihak lain, automatis algoritma
ini tidak aman lagi. Oleh sebab itu, dibutuhkan sebuah metode yang dapat menjamin
kunci privat selalu aman. Metode yang akan digunakan adalah Three-Pass Protocol.
Metode Three-Pass Protocol memungkinkan penerima dan pengirim pesan
dapat melakukan penyandian tanpa bertukar kunci. Pertama kali dikembangkan oleh
Adi Shamir pada tahun 1980. Konsep dasar metode ini, kedua belah pihak masingmasing memiliki privat dan publik pribadi. Kedua belah pihak menggunakan kunci
masing-masing untuk melakukan enkripsi dan dekripsi pesan. Selain dengan metode
3
tersebut dalam pengamanan kunci, pengirim dan penerima pesan akan menggunakan
algoritma yang berbeda, yaitu antara RSA dan Rabin. Sehingga pesan yang dikirim
akan semakin aman dari terjadinya kebocoran kunci ataupun dalam usaha menebak
kunci privat.
Oleh sebab itu, penulis mempunyai ide untuk mengimplementasikan metode
Three-Pass Protocol untuk melakukan pengamanan data yang dikirim melalui aplikasi
chat tanpa melakukan pertukaran kunci. Berdasarkan uraian diatas, yang menjadi
penelitian penulis yakni Implementasi Algoritma Kriptografi RSA dan Rabin Pada
Three-Pass Protocol Untuk Pengamanan Data Pada Aplikasi Chat Berbasis
Android.
1.2
Rumusan Masalah
Berdasarkan uraian latar belakang yang sudah dijelaskan sebelumnya, dapat
disimpulkan bahwa perlu dilakukan penyandian terhadap pesan yang ingin dikirimkan
menggunakan kriptografi. Selain itu, kunci yang digunakan dalam melakukan
penyandian tetap harus dijaga kerahasiaannya. Sehingga dapat dirumuskan, masalah
yang akan dibahas adalah bagaimana mengamankan pesan yang dikirim melalui
aplikasi pesan singkat atau chat dan tetap menjaga kerahasiaan kunci yang digunakan
dengan mengimplementasikan metode Three-Pass Protocol pada algoritma kritpgrafi
RSA dan Rabin.
1.3
Batasan Masalah
Adapun yang menjadi batasan masalah yaitu:
1. Pesan yang akan dilakukan enkripsi dan dekripsi adalah data dalam bentuk teks
melalui aplikasi chat.
2. Pengirim pesan atau pun penerima pesan akan mengguakan algoritma kriptografi
yang berbeda yaitu RSA atau Rabin.
3. Kunci akan dibangkitakan secara automatis oleh sistem
4. Panjang kunci yang akan digunakan adalah 64 bit atau bertipe long dengan
panjang bilangan prima yang akan di bangkitkan antara 1.000.000 sampai
1.000.000.000
5. Bahasa pemograman yang digunakan adalah Java pada aplikasi berbasis Android.
4
1.4
Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah:
1. Mengetahui apakah algoritma kriptografi RSA dan Rabin dapat digunakan dalam
enkripsi pesan tanpa pertukaran kunci Three-Pass Protocol.
2. Mengetahui real running time proses penyandian pesan.
1.5
Manfaat Penelitian
Manfaat yang diharapkan dari penelitian ini antara lain:
1. Untuk mengetahui apakah algoritma kriptografi RSA dan Rabin dapat
dikombinasikan dalam metode Three-Pass Protocol
2. Untuk mengetahui real running time proses dalam proses penyandian pesan.
3. Sebagai bahan referensi penelitian lainnya mengenai metode Three-Pass Protocol
dengan algoritma kriptografi lainnya.
1.6
Metodologi Penelitian
Tahapan penelitian yang dilakukan dalam penelitian ini adalah :
a. Studi Literatur
Studi ini dilakukan dengan cara mempelajari, meneliti dan
menelaah berbagai literatur-literatur dari perpustakaan yang bersumber dari
buku-buku, teks, jurnal ilmiah maupun hasil penelitian terdahulu sebagai
referensi yang diperlukan dalam melakukan penelitian.
b. Analisis dan Perancangan
Dengan
adanya
rumusan
dan
batasan
masalah,
kebutuha
perancangan dianalisis disertai pembuatan Flowchart, Unified Modeling
Language (UML), Design Interface.
c. Implementasi
Sistem diimplementasikan dengan membangun sistem chat dengan
metode
pengiriman
menggunakan
three-pass
mengimplementasikan sistem enkripsi RSA dan Rabin.
d. Pengujian
protocol
dan
5
Sistem yang akan dibuat akan diuji dengan mengirimkan pesan dari
seorang pengguna ke pengguna lain kemudian dilakukan pencocokan
apakah teks yang dikirim sesuai dengan yang diterima.
e. Penyusunan Skripsi
Pada tahap ini dilakukan penyusunan laporan hasil perancangan
sistem ke dalam format penulisan skripsi.
1.7
Sistematika Penulisan
Sistematika penulisan skripsi ini terdiri dari beberapa bagian yaitu :
BAB 1 PENDAHULUAN
Bab ini menjelaskan latar belakang judul skripsi “Perbandingan
Kinerja Algoritma Bitonic Sort, Odd-Even Sort dan Comb
Sort”, rumusan masalah, batasan masalah, tujuan penelitian,
manfaat
penelitian,
metode
penelitian
dan
sistematika
penulisan.
BAB 2 LANDASAN TEORI
Bab ini berisi tentang penjelasan singkat mengenai algoritma,
kompleksitas algoritma, notasi asimptotik, struktur data,
algoritma Bitonic Sort, algoritma Odd-Even Sort dan algoritma
Comb Sort.
BAB 3 ANALISIS PERANCANGAN SISTEM
Bab ini membahas tentang analisis terhadap masalah penelitian
dan perancangan terhadap sistem yang akan dibangun, cara
kerja sistem disertai pembuatan flowchart, Unified Modeling
Language (UML), Design Interface.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Bab ini berisi tentang pembuatan sistem dan coding sesuai
dengan analisis dan perancangan, kemudian melakukan
6
pengujian sistem, serta pembahasan hasil pengujian dan
analisisnya.
BAB 5 KESIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan dari keseluruhan uraian babbab sebelumnya dan saran berdasarkan hasil pengujian yang
diharapkan dapat bermanfaat untuk penelitian selanjutnya yang
berhubungan
PENDAHULUAN
1.1
Latar Belakang
Informasi saat ini menjadi sesuatu yang sangat berharga seiring dengan semakin
berkembangnya teknologi informasi. Sehingga informasi menjadi sebuah kebutuhan
setiap orang saat ini. Informasi menjadi semakin mudah untuk saling dipertukarkan
karena media yang tersedia saat ini sangat bervariasi dan cepat. Internet menjadi
media yang sangat mempengaruhi perkembangan teknologi informasi karena internet
menjadi media pengiriman data yang paling banyak digunakan saat ini.
Dalam perkembangan teknologi informasi ini, tidak selamanya membawa efek
positif. Dengan semakin mudah dan cepatnya dalam berbagi informasi menyebabkan
informasi penting dan pribadi dapat dengan mudah digunakan oleh pihak yang tidak
berkepentingan. Salah satunya adalah perkembangan aplikasi pesan singkat atau yang
sering disebut messager atau chat. Aplikasi chat menjadi sangat dibutuhkan karena
pengiriman pesan yang cepat, mudah, dan langsung dapat diterima oleh penerima
pesan. Setiap harinya, lebih dari milyaran pesan dikirim melalui internet dengan
menggunakan aplikasi chat ini, dan kemungkinan pengguna mengirimkan pesan yang
bersifat privasi dan rahasia. Oleh sebab itu kerahasiaan data menjadi sangat penting
karena terkait dengan hak privasi seseorang.
Isu keamanan ini menjadi hal yang sangat penting saat ini dalam
perkembangan teknologi informasi. Oleh sebab itu, penyandian pesan sangat penting
dilakukan dalam pengiriman informasi melalui internet agar informasi yang
dikirimkan hanya dapat dimengerti oleh pihak yang berhak.
Kriptografi adalah ilmu atau seniyang mempelajari menyandikan pesan.
Berdasarkan perkembangannya, kriptografi dibagi menjadi dua jenis, yaitu kriptografi
klasik dan kriptografi modern, sedangkan berdasarkan kunci yang digunakan dibagi
menjadi kriptografi simetris dan kriptografi asimetris. Kriptografi simetris adalah
algorima kriptografi yang menggunakan kunci yang sama dalam melakukan enkripsi
dan dekripsi pesan sedangkan algoritma asimetris menggunakan dua buah kunci yaitu
kunci publik untuk melakukan enkripsi dan kunci privat untuk melakukan dekripsi.
2
Banyak algoritma kriptografi yang sudah diciptakan hingga saat ini. Seperti
Data Encryption Standard (DES) dan Advanced Encryption Standard (AES) yang
merupakan algoritma kriptografi simetris. RSA (Rivest Shamir Adleman), Rabin,
Pohlig-Hellman yang merupakan salah satu algoritma kriptografi asimetris. RSA dan
Rabin adalah dua algoritma yang akan digunakan dalam penelitian berikut.
Algoritma Rabin sama seperti algoritma kriptografi asimetris lainnya yang
memiliki kunci publik untuk melakukan enkripsi dan kunci privat untuk melakukan
dekripsi. Kunci privat dari algoritma Rabin diperolah dari dua buah bilangan prima
besar (p, q) yang dipilih secara acak. Dan untuk kunci publik diperoleh dari perkalian
dua bilangan prima p dan q. Untuk proses dekripsi, algoritma Rabin menggunakan
teorema Chinese remainder dan akan menghasilkan 4 pilihan plaintext. Keamanan
algorima Rabin dapat dibuktikan secara matematis karena menggunakan metode
pemfaktoran bilangan secara cepat.
Sama seperti algorima Rabin, algoritma RSA juga termasuk algoritma
asimetris tetapi memiliki perbedaan dalam membangkitkan kedua kunci privat dan
publik. Algoritma RSA membutuhkan dua bilangan prima p dan q untuk
membangkitkan kunci public (e) dimana e adalah sebuah bilangan yang memiliki
faktor persekutuan terbesar (GCD) sama dengan 1 dengan φ dimana φ = (p-1)(q-1),
dengan syarat 1 < e < (φ-1). Kunci privat diperoleh dengan metode Extended
Euclidean.
Kedua algoritma ini termasuk algoritma yang cukup aman dalam melakukan
penyandian pesan. Kemanan kedua algoritma ini tergantung pada keamanan dalam
pendistribusian kunci. Kunci privat harus selalu menjadi kunci rahasia si penerima
pesan. Jika kunci privat penerima pesan diketahui oleh pihak lain, automatis algoritma
ini tidak aman lagi. Oleh sebab itu, dibutuhkan sebuah metode yang dapat menjamin
kunci privat selalu aman. Metode yang akan digunakan adalah Three-Pass Protocol.
Metode Three-Pass Protocol memungkinkan penerima dan pengirim pesan
dapat melakukan penyandian tanpa bertukar kunci. Pertama kali dikembangkan oleh
Adi Shamir pada tahun 1980. Konsep dasar metode ini, kedua belah pihak masingmasing memiliki privat dan publik pribadi. Kedua belah pihak menggunakan kunci
masing-masing untuk melakukan enkripsi dan dekripsi pesan. Selain dengan metode
3
tersebut dalam pengamanan kunci, pengirim dan penerima pesan akan menggunakan
algoritma yang berbeda, yaitu antara RSA dan Rabin. Sehingga pesan yang dikirim
akan semakin aman dari terjadinya kebocoran kunci ataupun dalam usaha menebak
kunci privat.
Oleh sebab itu, penulis mempunyai ide untuk mengimplementasikan metode
Three-Pass Protocol untuk melakukan pengamanan data yang dikirim melalui aplikasi
chat tanpa melakukan pertukaran kunci. Berdasarkan uraian diatas, yang menjadi
penelitian penulis yakni Implementasi Algoritma Kriptografi RSA dan Rabin Pada
Three-Pass Protocol Untuk Pengamanan Data Pada Aplikasi Chat Berbasis
Android.
1.2
Rumusan Masalah
Berdasarkan uraian latar belakang yang sudah dijelaskan sebelumnya, dapat
disimpulkan bahwa perlu dilakukan penyandian terhadap pesan yang ingin dikirimkan
menggunakan kriptografi. Selain itu, kunci yang digunakan dalam melakukan
penyandian tetap harus dijaga kerahasiaannya. Sehingga dapat dirumuskan, masalah
yang akan dibahas adalah bagaimana mengamankan pesan yang dikirim melalui
aplikasi pesan singkat atau chat dan tetap menjaga kerahasiaan kunci yang digunakan
dengan mengimplementasikan metode Three-Pass Protocol pada algoritma kritpgrafi
RSA dan Rabin.
1.3
Batasan Masalah
Adapun yang menjadi batasan masalah yaitu:
1. Pesan yang akan dilakukan enkripsi dan dekripsi adalah data dalam bentuk teks
melalui aplikasi chat.
2. Pengirim pesan atau pun penerima pesan akan mengguakan algoritma kriptografi
yang berbeda yaitu RSA atau Rabin.
3. Kunci akan dibangkitakan secara automatis oleh sistem
4. Panjang kunci yang akan digunakan adalah 64 bit atau bertipe long dengan
panjang bilangan prima yang akan di bangkitkan antara 1.000.000 sampai
1.000.000.000
5. Bahasa pemograman yang digunakan adalah Java pada aplikasi berbasis Android.
4
1.4
Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah:
1. Mengetahui apakah algoritma kriptografi RSA dan Rabin dapat digunakan dalam
enkripsi pesan tanpa pertukaran kunci Three-Pass Protocol.
2. Mengetahui real running time proses penyandian pesan.
1.5
Manfaat Penelitian
Manfaat yang diharapkan dari penelitian ini antara lain:
1. Untuk mengetahui apakah algoritma kriptografi RSA dan Rabin dapat
dikombinasikan dalam metode Three-Pass Protocol
2. Untuk mengetahui real running time proses dalam proses penyandian pesan.
3. Sebagai bahan referensi penelitian lainnya mengenai metode Three-Pass Protocol
dengan algoritma kriptografi lainnya.
1.6
Metodologi Penelitian
Tahapan penelitian yang dilakukan dalam penelitian ini adalah :
a. Studi Literatur
Studi ini dilakukan dengan cara mempelajari, meneliti dan
menelaah berbagai literatur-literatur dari perpustakaan yang bersumber dari
buku-buku, teks, jurnal ilmiah maupun hasil penelitian terdahulu sebagai
referensi yang diperlukan dalam melakukan penelitian.
b. Analisis dan Perancangan
Dengan
adanya
rumusan
dan
batasan
masalah,
kebutuha
perancangan dianalisis disertai pembuatan Flowchart, Unified Modeling
Language (UML), Design Interface.
c. Implementasi
Sistem diimplementasikan dengan membangun sistem chat dengan
metode
pengiriman
menggunakan
three-pass
mengimplementasikan sistem enkripsi RSA dan Rabin.
d. Pengujian
protocol
dan
5
Sistem yang akan dibuat akan diuji dengan mengirimkan pesan dari
seorang pengguna ke pengguna lain kemudian dilakukan pencocokan
apakah teks yang dikirim sesuai dengan yang diterima.
e. Penyusunan Skripsi
Pada tahap ini dilakukan penyusunan laporan hasil perancangan
sistem ke dalam format penulisan skripsi.
1.7
Sistematika Penulisan
Sistematika penulisan skripsi ini terdiri dari beberapa bagian yaitu :
BAB 1 PENDAHULUAN
Bab ini menjelaskan latar belakang judul skripsi “Perbandingan
Kinerja Algoritma Bitonic Sort, Odd-Even Sort dan Comb
Sort”, rumusan masalah, batasan masalah, tujuan penelitian,
manfaat
penelitian,
metode
penelitian
dan
sistematika
penulisan.
BAB 2 LANDASAN TEORI
Bab ini berisi tentang penjelasan singkat mengenai algoritma,
kompleksitas algoritma, notasi asimptotik, struktur data,
algoritma Bitonic Sort, algoritma Odd-Even Sort dan algoritma
Comb Sort.
BAB 3 ANALISIS PERANCANGAN SISTEM
Bab ini membahas tentang analisis terhadap masalah penelitian
dan perancangan terhadap sistem yang akan dibangun, cara
kerja sistem disertai pembuatan flowchart, Unified Modeling
Language (UML), Design Interface.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Bab ini berisi tentang pembuatan sistem dan coding sesuai
dengan analisis dan perancangan, kemudian melakukan
6
pengujian sistem, serta pembahasan hasil pengujian dan
analisisnya.
BAB 5 KESIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan dari keseluruhan uraian babbab sebelumnya dan saran berdasarkan hasil pengujian yang
diharapkan dapat bermanfaat untuk penelitian selanjutnya yang
berhubungan