Page 1
IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA
APLIKASI INSTANT MESSAGING
HALAMAN JUDUL
SKRIPSI
Disusun Sebagai Salah Satu Syarat
Untuk Memperoleh Gelar Sarjana Komputer
pada Jurusan Ilmu Komputer/ Informatika
Disusun Oleh :
Ashari Arief
J2F009036
JURUSAN ILMU KOMPUTER/ INFORMATIKA
FAKULTAS SAINS DAN MATEMATIKA
UNIVERSITAS DIPONEGORO
2016
Page 2
ii
HALAMAN PERNYATAAN KEASLIAN SKRIPSI
Dengan ini saya menyatakan bahwa dalam tugas akhir/ skripsi ini tidak terdapat karya
yang pernah diajukan untuk memperoleh gelar kesarjanaan di suatu Perguruan Tinggi, dan
sepanjang pengetahuan saya juga tidak terdapat karya atau pendapat yang pernah ditulis
atau diterbitkan oleh orang lain, kecuali yang secara tertulis diacu dalam naskah ini dan
disebutkan dalam daftar pustaka.
Semarang, 17 Maret 2016
Ashari Arief
J2F009036
Page 3
iii
HALAMAN PENGESAHAN
Judul : Implementasi Algoritma Kriptografi RSA - CRT pada Aplikasi Instant
Messaging
Nama : Ashari Arief
NIM : J2F009036
Telah diujikan pada sidang tugas akhir pada tanggal 14 Maret 2016 dan dinyatakan lulus
pada tanggal 16 Maret 2016.
Semarang, 17 Maret 2016
Mengetahui,
Ketua Jurusan Ilmu Komputer / Informatika
FSM Universitas Diponegoro
Ragil Saputra, S.Si, M.Cs
NIP. 19801021 200501 1 003
Panitia Penguji Tugas Akhir
Ketua,
Drs. Putut Sri Wasito, M.Kom
NIP. 19530628 198003 1 001
Page 4
iv
HALAMAN PENGESAHAN
Judul : Implementasi Algoritma Kriptografi RSA - CRT pada Aplikasi Instant
Messaging
Nama : Ashari Arief
NIM : J2F009036
Telah diujikan pada sidang tugas akhir pada tanggal 14 Maret 2016.
Semarang, 17 Maret 2016
Pembimbing
Ragil Saputra, S.Si, M.Cs
NIP. 19801021 200501 1 003
Page 5
v
ABSTRAK
Kemajuan teknologi komputer dan telekomunikasi membantu dalam menyelesaikan
banyak pekerjaan dengan cepat, akurat, dan efisien. Salah satu kemajuan teknologi
komunikasi yaitu menghasilkan aplikasi instant messaging, namun seiring dengan
kemajuan teknologi dengan semakin banyaknya pengguna yang menggunakan aplikasi
instant messaging terdapat dampak negatif berupa penyadapan data khususnya saat terjadi
komunikasi yang bersifat rahasia dan penting. Untuk menjaga kerahasiaan, integritas data,
otentikasi entitas, dan otentikasi asal data diterapkan kriptografi. Salah satu algoritma
kriptografi yang tidak membutuhkan saluran yang aman untuk distribusi kunci adalah
algoritma RSA. Algoritma RSA dapat dimodifikasi dengan algoritma CRT (Chinese
Remainder Theorem) untuk mempercepat proses dekripsi dan disebut dengan algoritma
RSA-CRT. Penelitian ini mengimplementasikan algoritma kriptografi RSA-CRT pada
aplikasi instant messaging. Metode untuk mempercepat proses pemangkatan menggunakan
algoritma fast modular exponentiation. Penelitian ini menggunakan model proses waterfall
yang diimplementasikan dengan menggunakan bahasa pemrograman vb.net dan bersifat
client-server. Berdasarkan hasil pengujian dapat diimplentasikan algoritma RSA-CRT
pada aplikasi instant messaging serta pengujian untuk bit n mulai dari 56 bit sampai 88 bit
dapat disimpulkan proses dekripsi RSA-CRT dua kali lebih cepat dibandingkan proses
dekripsi RSA.
Kata kunci : Kriptografi, Algoritma RSA-CRT, Algoritma Fast Modular Exponentiation,
Instant Messaging.
Page 6
vi
ABSTRACT
The advancement of computer technology and telecommunications has helped to resolve
much of problem with fast, accurate, and efficient. One of that advancement is instant
messaging, but because of the growing of a number of users that use the instant messaging
also the advancement of telecomunication it self, there is a negative impact in the form of
tapping data, especially when there is communication of confidential and important thing.
There is a cryptography, one of the method that used to maintain confidentiality, integrity,
entity authentication and data origin authentication. One of the cryptography algorithm that
does not require a secure channel for key distribution is the RSA algorithm. The RSA
algorithm can be modified with the CRT (Chinese Remainder Theorem) algorithm to
accelerate the process the decryption and called the RSA-CRT. This study implements
RSA-CRT algorithm in instant messaging applications. A method to accelerate the process
of exponentiation using a fast modular exponentiation algorithm. This study uses a
waterfall process model as a development method that implemented by using a vb.net
programming language and client-server based. Based on the test results, implementation
of RSA-CRT algorithm in instant messaging application for n bits from 56 bits to 88 bits
has made a conclution that RSA-CRT decryption process two times faster than RSA
decryption process.
Keywords : Cryptography, RSA-CRT Algorithm, Fast Modular Exponentiation
Algorithm, Instant Messaging
Page 7
vii
KATA PENGANTAR
Segala puji penulis ucapkan kehadirat Allah SWT yang telah melimpahkan rahmat
dan hidayah-Nya sehingga penulis dapat menyusun tugas akhir yang berjudul
“Implementasi Algoritma Kriptografi RSA-CRT pada Aplikasi Instant Messaging”
sehingga dapat memperoleh gelar Sarjana Strata Satu Jurusan Ilmu Komputer/ Informatika
pada Fakultas Sains dan Matematika Universitas Diponegoro.
Dalam penyusunan tugas akhir ini, penulis mendapat bantuan dan dukungan dari
banyak pihak. Atas peran sertanya dalam membantu dalam penyelesaian tugas akhir ini,
penulis ingin mengucapkan terima kasih kepada :
1. Ibu Prof. Dr. Widowati, S.Si, M.Si selaku Dekan Fakultas Sains dan Matematika
Universitas Diponegoro.
2. Bapak Ragil Saputra, S.Si, M.Cs. selaku Ketua Jurusan Ilmu Komputer/
Informatika dan dosen pembimbing yang telah membimbing dan mengarahkan
Penulis dalam menyelesaikan tugas akhir ini.
3. Bapak Helmie Arif Wibawa, S.Si, M.Cs. selaku Koordinator Tugas Akhir Jurusan
Ilmu Komputer/ Informatika.
4. Semua pihak yang telah membantu kelancaran dalam pelaksanaan tugas akhir ini
yang tidak dapat penulis sebutkan satu per satu.
Penulis menyadari bahwa masih banyak kekurangan dalam penyusunan laporan
tugas akhir ini, untuk itu penulis mohon maaf dan mengharapkan saran serta kritik yang
membangun dari pembaca.
Semoga laporan tugas akhir ini dapat bermanfaat bagi pengembangan ilmu dan
pengetahuan, khususnya pada bidang komputer.
Semarang, 16 Maret 2016
Ashari Arief
Page 8
viii
DAFTAR ISI
HALAMAN JUDUL.......................................................................................................... i
HALAMAN PERNYATAAN KEASLIAN SKRIPSI ....................................................... ii
HALAMAN PENGESAHAN .......................................................................................... iii
ABSTRAK........ .................................................................................................................v
ABSTRACT...... .............................................................................................................. vi
KATA PENGANTAR .................................................................................................... vii
DAFTAR ISI..... ............................................................................................................ viii
DAFTAR GAMBAR ....................................................................................................... xi
DAFTAR TABEL.......................................................................................................... xiii
BAB I PENDAHULUAN .................................................................................................1
1.1. Latar Belakang .....................................................................................................1
1.2. Rumusan Masalah ................................................................................................3
1.3. Tujuan Manfaat ....................................................................................................3
1.4. Ruang Lingkup .....................................................................................................3
1.5. Sistematika Penulisan ...........................................................................................4
BAB II TINJAUAN PUSTAKA .......................................................................................6
2.1. Kriptografi ...........................................................................................................6
2.2. Sistem Kriptografi ................................................................................................7
2.3. Faktor Persekutuan Terbesar (Greatest Common Divisor) ....................................8
2.4. Extended Euclid ...................................................................................................9
2.5. Invers ................................................................................................................. 10
2.6. Algoritma Fast Modular Exponentiation ............................................................ 11
2.7. Sistem Kriptografi RSA...................................................................................... 13
2.8. Algoritma RSA .................................................................................................. 14
2.9. Chinese Remainder Theorem (CRT) ................................................................... 15
2.10. RSA Dengan CRT (RSA-CRT) .......................................................................... 17
2.11. Instant Messaging .............................................................................................. 18
2.12. Pemrograman Soket dengan TCP ....................................................................... 18
2.13. Unified Modeling Language (UML) ................................................................... 19
2.14. Model Proses Waterfall ...................................................................................... 24
BAB III ANALISIS DAN PERANCANGAN .................................................................. 27
Page 9
ix
3.1. Analisis Permasalahan ........................................................................................ 27
3.2. Analisis Kebutuhan ............................................................................................ 27
3.2.1. Kebutuhan Fungsional ................................................................................. 28
3.2.1.1. Definisi Aktor ......................................................................................... 28
3.2.1.2. Definisi Use Case ................................................................................... 29
3.2.1.3. Skenario Use Case .................................................................................. 29
3.2.1.4. Use Case Diagram .................................................................................. 33
3.2.2. Kebutuhan Non-Fungsional ......................................................................... 34
3.3. Perancangan Perangkat Lunak ............................................................................ 34
3.3.1. Perancangan Diagram ................................................................................. 35
3.3.1.1. Class Diagram ........................................................................................ 35
3.3.1.2. Sequence Diagram .................................................................................. 36
3.3.1.3. Activity Diagram ..................................................................................... 42
3.3.1.4. Deployment Diagram .............................................................................. 42
3.3.2. Perancangan Algoritma Kriptografi RSA-CRT pada Aplikasi Instant
Messaging ................................................................................................... 43
3.3.2.1. Mengolah Server dan Client .................................................................... 44
3.3.2.2. Mengolah Kunci ..................................................................................... 44
3.3.2.3. Mengolah Pesan ...................................................................................... 45
3.3.3. Perancangan Antarmuka .............................................................................. 46
3.3.3.1. Perancangan Antarmuka Server .............................................................. 46
3.3.3.2. Perancangan Antarmuka Client ............................................................... 46
BAB IV IMPLEMENTASI DAN PENGUJIAN .............................................................. 49
4.1. Implementasi Perangkat Lunak ........................................................................... 49
4.1.1. Spesifikasi Perangkat ................................................................................... 49
4.1.2. Implementasi Class ...................................................................................... 49
4.1.3. Implementasi Algoritma Kriptografi RSA-CRT pada Aplikasi Instant
Messaging ................................................................................................... 56
4.1.3.1. Mengolah Server dan Client .................................................................... 61
4.1.3.2. Mengolah Kunci ..................................................................................... 62
4.1.3.3. Mengolah Pesan ...................................................................................... 64
4.1.4. Implementasi Antarmuka ............................................................................. 66
4.1.4.1. Implementasi Antarmuka Server ............................................................. 67
Page 10
x
4.1.4.2. Implementasi Antarmuka Client .............................................................. 67
4.2. Pengujian Perangkat Lunak ................................................................................ 69
4.2.1. Lingkungan Pengujian ................................................................................. 69
4.2.2. Rencana Pengujian ...................................................................................... 70
4.2.2.1. Rencana Pengujian Algoritma Kriptografi RSA-CRT ............................. 70
4.2.2.2. Rencana Pengujian Perangkat Lunak ....................................................... 71
4.2.3. Pelaksanaan Pengujian ................................................................................ 71
4.2.3.1. Pelaksanaan Pengujian Algoritma Kriptografi RSA-CRT ........................ 71
4.2.3.1. Pelaksanaan Pengujian Perangkat Lunak ................................................. 72
4.2.4. Analisa Hasil Pengujian ............................................................................... 74
BAB V KESIMPULAN DAN SARAN ............................................................................ 75
5.1. Kesimpulan ........................................................................................................ 75
5.2. Saran .................................................................................................................. 75
DAFTAR PUSTAKA ...................................................................................................... 76
Page 11
xi
DAFTAR GAMBAR
Gambar 2.1. Sistem Kriptografi Konvensional...............................................................7
Gambar 2.2. Sistem Kriptografi dengan Kunci Publik RSA ......................................... 14
Gambar 2.3. Desain Konseptual dari Algoritma RSA .................................................. 15
Gambar 2.4. Client-Socket, Welcoming Socket, dan Connection Socket........................ 19
Gambar 2.5. Proses Komunikasi Melalui TCP Socket .................................................. 19
Gambar 2.6. Siklus Hidup Perangkat Lunak ................................................................ 24
Gambar 3.1. Use Case Diagram .................................................................................. 34
Gambar 3.2. Class Diagram Client .............................................................................. 35
Gambar 3.3. Class Diagram Server ............................................................................. 36
Gambar 3.4. Sequence Diagram Menghidupkan Server ............................................... 36
Gambar 3.5. Sequence Diagram Menunggu Client Terhubung .................................... 37
Gambar 3.6. Sequence Diagram Menangkap Kunci ..................................................... 37
Gambar 3.7. Sequence Diagram Menyebarkan Kunci .................................................. 38
Gambar 3.8. Sequence Diagram Menangkap Pesan ..................................................... 38
Gambar 3.9. Sequence Diagram Menyebarkan Pesan .................................................. 38
Gambar 3.10. Sequence Diagram Mematikan Server ..................................................... 39
Gambar 3.11. Sequence Diagram Menghubungkan ke Server ........................................ 39
Gambar 3.12. Sequence Diagram Membangkitkan Kunci .............................................. 40
Gambar 3.13. Sequence Diagram Menerima Kunci ....................................................... 40
Gambar 3.14. Sequence Diagram Mengirim Pesan ........................................................ 41
Gambar 3.15. Sequence Diagram Enkripsi Pesan .......................................................... 41
Gambar 3.16. Sequence Diagram Dekripsi Pesan .......................................................... 41
Gambar 3.17. Sequence Diagram Menerima Pesan........................................................ 42
Gambar 3.18. Sequence Diagram Memutus Hubungan ke Server .................................. 42
Gambar 3.19. Activity Diagram Aplikasi Instant Messaging .......................................... 43
Gambar 3.20. Deployment Diagram Aplikasi Instant Messaging ................................... 43
Gambar 3.21. Perancangan Antarmuka Server ............................................................... 46
Gambar 3.22. Perancangan Form Main ......................................................................... 47
Gambar 3.23. Perancangan Form Panduan .................................................................... 48
Gambar 3.24. Perancangan Form Tentang ..................................................................... 48
Gambar 4.1. Andi Menghubungkan ke Server (Client) ................................................ 62
Page 12
xii
Gambar 4.2. Andi Diterima Server (Server) ................................................................. 62
Gambar 4.3. Budi Menghubungkan ke Server (Client) ................................................. 62
Gambar 4.4. Budi Diterima Server (Server) ................................................................. 62
Gambar 4.5. Andi Setelah Budi Terhubung (Client) .................................................... 62
Gambar 4.6. Andi Membangkitkan Kunci dengan Nilai p = 41, q = 43 (Client) ........... 63
Gambar 4.7. Budi Membangkitkan Kunci Acak (Client) .............................................. 63
Gambar 4.8. Server Menerima Kunci Publik (Server) .................................................. 64
Gambar 4.9. Budi Mengirim Pesan (Client) ................................................................. 64
Gambar 4.10. Server Menerima Pesan Budi (Server) ..................................................... 65
Gambar 4.11. Andi Menerima Pesan (Client) ................................................................ 65
Gambar 4.12. Andi Mengirim Pesan (Client) ................................................................. 65
Gambar 4.13. Server Menerima Pesan Andi (Server) ..................................................... 66
Gambar 4.14. Budi Menerima Pesan (Client)................................................................. 66
Gambar 4.15. Implementasi Antarmuka Server ............................................................. 67
Gambar 4.16. Implementasi Form Main ........................................................................ 68
Gambar 4.17. Implementasi Form Panduan ................................................................... 68
Gambar 4.18. Implementasi Form Tentang .................................................................... 69
Page 13
xiii
DAFTAR TABEL
Tabel 2.1. Algoritma Greatest Common Divisor ........................................................9
Tabel 2.2. Contoh gcd(1041, 723) ..............................................................................9
Tabel 2.3. Algoritma Extended Euclid...................................................................... 10
Tabel 2.4. Contoh gcd(279, 183) .............................................................................. 10
Tabel 2.5. Contoh Invers Perkalian 9 pada Z32 ......................................................... 11
Tabel 2.6. Ketentuan Binary .................................................................................... 12
Tabel 2.7. Simbol Use Case Diagram ...................................................................... 20
Tabel 2.8. Simbol Class Diagram ............................................................................ 21
Tabel 2.9. Simbol Sequence Diagram ...................................................................... 22
Tabel 2.10. Simbol Activity Diagram ......................................................................... 23
Tabel 2.11. Simbol Deployment Diagram .................................................................. 24
Tabel 3.1. Deskripsi Pendefinisian Aktor ................................................................. 28
Tabel 3.2. Daftar dan Deskripsi Use Case ................................................................ 29
Tabel 3.3. Skenario Use Case Menghidupkan Server ............................................... 30
Tabel 3.4. Skenario Use Case Menunggu Client Terhubung..................................... 30
Tabel 3.5. Skenario Use Case Menangkap Kunci ..................................................... 30
Tabel 3.6. Skenario Use Case Menyebarkan Kunci .................................................. 30
Tabel 3.7. Skenario Use Case Menangkap Pesan ..................................................... 31
Tabel 3.8. Skenario Use Case Menyebarkan Pesan .................................................. 31
Tabel 3.9. Skenario Use Case Mematikan Server ..................................................... 31
Tabel 3.10. Skenario Use Case Menghubungkan ke Server ........................................ 31
Tabel 3.11. Skenario Use Case Membangkitkan Kunci .............................................. 32
Tabel 3.12. Skenario Use Case Menerima Kunci ....................................................... 32
Tabel 3.13. Skenario Use Case Mengirim Pesan ........................................................ 32
Tabel 3.14. Skenario Use Case Enkripsi Pesan .......................................................... 32
Tabel 3.15. Skenario Use Case Dekripsi pesan .......................................................... 33
Tabel 3.16. Skenario Use Case Menerima Pesan ........................................................ 33
Tabel 3.17. Skenario Use Case Memutus Hubungan ke Server .................................. 33
Tabel 4.1. Implementasi Class Server ...................................................................... 50
Tabel 4.2. Implementasi Class Client ....................................................................... 50
Tabel 4.3. Implementasi Atribut Class Main ............................................................ 50
Page 14
xiv
Tabel 4.4. Implementasi Operasi Class Main ........................................................... 50
Tabel 4.5. Implementasi Atribut Class handleClient ................................................ 50
Tabel 4.6. Implementasi Operasi Class handleClient ................................................ 51
Tabel 4.7. Implementasi Atribut Class main ............................................................ 51
Tabel 4.8. Implementasi Operasi Class main ............................................................ 52
Tabel 4.9. Implementasi Atribut Class rsaEngine ..................................................... 53
Tabel 4.10. Implementasi Operasi Class rsaEngine .................................................... 53
Tabel 4.11. Implementasi Atribut Class olahKunci .................................................... 54
Tabel 4.12. Implementasi Operasi Class olahKunci ................................................... 54
Tabel 4.13. Implementasi Atribut Class olahPesan..................................................... 55
Tabel 4.14. Implementasi Operasi Class olahPesan .................................................... 55
Tabel 4.15. GCD(341, 1680)...................................................................................... 56
Tabel 4.16. Invers Perkalian 341 pada Z1680 ............................................................... 57
Tabel 4.17. Invers Perkalian 43 pada Z41 .................................................................... 57
Tabel 4.18. Nilai ASCII Pesan Budi........................................................................... 58
Tabel 4.19. Hasil Enkripsi Pesan Budi ....................................................................... 60
Tabel 4.20. Pembagian Karakter Enkripsi Berdasarkan Panjang Karakter n ............... 60
Tabel 4.21. Hasil Dekripsi Karakter Berdasarkan Tabel 4.20 ..................................... 61
Tabel 4.22. Rencana Pengujian Perangkat Lunak ....................................................... 71
Tabel 4.23. Pelaksanaan Pengujian Algoritma Kriptografi RSA-CRT ........................ 72
Tabel 4.24. Pelaksanaan Pengujian Perangkat Lunak ................................................. 72
Tabel 4.25. Pengujian Kecepetan Algoritma Kriptografi RSA-CRT ........................... 74
Page 15
1
BAB I
PENDAHULUAN
Bab ini membahas latar belakang, rumusan masalah, tujuan dan manfaat, ruang
lingkup, dan sistematika penulisan penelitian mengenai Implementasi Algoritma
Kriptografi RSA - CRT pada Aplikasi Instant Messaging.
1.1. Latar Belakang
Komunikasi merupakan elemen terpenting dari manusia sebagai makhluk
sosial. Salah satu cara berkomunikasi yaitu dengan surat menyurat. Di era
globalisasi, surat menyurat telah tergantikan oleh email atau surat elektronik. Email
merupakan komponen utama yang paling banyak digunakan dalam komunikasi
informasi saat ini (Supriyanto, 2007). Namun komunikasi yang terjadi disaat ini
apabila menggunakan email masih dianggap kurang cepat. Hal ini disebabkan
karena sebagian besar email tidak bersifat real time. Sebagai contoh pengirim email
tidak tahu apakah penerima email sedang online atau tidak sehingga pengirim tidak
tahu kapan email tersebut akan dibaca atau dibalas.
Kemajuan teknologi komputer dan telekomunikasi membantu dalam
menyelesaikan banyak pekerjaan dengan cepat, akurat, dan efisien. Salah satu
kemajuan teknologi komunikasi yaitu menghasilkan aplikasi instant messaging atau
pesan instan. Instant messaging merupakan fasilitas komunikasi chatting untuk para
pengguna internet sehingga user dapat berkomunikasi dengan cara mengirimkan
pesan berupa text dengan user lain (Zuliarso & Februariyanti, 2013). Namun seiring
dengan kemajuan teknologi, dengan semakin banyaknya pengguna yang
menggunakan aplikasi instant messaging terdapat dampak negatif berupa
penyadapan data khususnya saat terjadi komunikasi yang bersifat rahasia dan penting
sehingga aspek keamanan dalam pertukaran informasi dianggap penting.
Kriptografi adalah ilmu yang mempelajari teknik matematika yang
berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data,
otentikasi entitas, dan otentikasi asal data (Menezes, et al., 1996). Kriptografi
bertujuan agar informasi yang bersifat rahasia dan dikirim melalui suatu jaringan,
Page 16
2
seperti LAN atau internet, tidak dapat diketahui dan dimanfaatkan oleh orang lain
atau pihak yang tidak berkepentingan.
RSA merupakan algoritma kriptografi kunci publik atau sering disebut kunci
asimetrik (kunci enkripsi dan kunci dekripsi berbeda) sehingga tidak membutuhkan
saluran yang aman untuk distribusi kunci. RSA ditemukan oleh tiga peneliti dari MIT
(Massachussets Institute of Technology), yaitu Ronald Linn Rivest, Adi Shamir, dan
Len Adleman pada tahun 1977 (Rivest, et al., 1978). Keamanan algoritma RSA
terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktor - faktor
prima .
CRT (Chinese Remainder Theorem) merupakan suatu algoritma untuk
mengurangi perhitungan aritmatika modular dengan modulus besar untuk
perhitungan yang sama untuk masing-masing faktor dari modulus (Tilborg, 2005).
CRT dapat memperpendek ukuran bit eksponen dekripsi d (merupakan kunci publik
RSA atau RSA-CRT) dengan cara menyembunyikan d pada sistem kongruen
sehingga mempercepat waktu dekripsi serta dapat digunakan bersama algoritma RSA
yang disebut RSA - CRT.
Algoritma asimetris seperti RSA dapat diterapkan dalam pesan instan yang
dibangun menggunakan bahasa pemrograman java tanpa mengurangi kecepatan,
tidak terdapat delay yang berpengaruh dalam percobaan yang dilakukan pada setiap
user, serta tidak ada pesan yang tidak utuh sampai ke tujuan pada setiap percobaan
(Khairan, et al., 2014).
Algoritma RSA dapat diimplementasikan dalam program soket klien-server
dengan menggunakan PHP yang dimana tingkat keamanan RSA yang baik yaitu
tingkat kesulitan dalam memfaktorkan bilangan non prima menjadi faktor primanya
(Sulun, 2008).
Algoritma RSA menggunakan CRT empat kali lebih cepat untuk dekripsi
dibandingkan algoritma RSA biasa (tanpa CRT), sehingga dekripsi pada algoritma
RSA lebih efektif dengan menggunakan CRT (Shinde & Fadewar, 2008).
Untuk meningkatkan keamanan dari segi pengiriman pesan yang dibuat dalam
saluran yang tidak aman serta modifikasi algoritma RSA dengan menggunakan
teorema CRT agar dapat dibandingkan dengan algoritma RSA, perlu dibangun
sebuah aplikasi instant messaging dengan mengimplementasikan algoritma
kriptografi RSA – CRT.
Page 17
3
1.2. Rumusan Masalah
Berdasarkan uraian latar belakang di atas, maka rumusan masalahnya adalah
bagaimana mengimplementasikan algoritma kriptografi RSA - CRT pada aplikasi
instant messaging.
1.3. Tujuan Manfaat
Tujuan yang ingin dicapai dalam penelitian ini adalah dapat
diimplementasikannya algoritma kriptografi RSA – CRT pada aplikasi instant
messaging serta dapat dibandingkan dengan algoritma kriptografi RSA.
Manfaat yang diharapkan dari penelitian ini adalah untuk meningkatkan
keamanan data atau informasi pada saat menggunakan instant messaging.
1.4. Ruang Lingkup
Ruang lingkup dalam pembuatan aplikasi instant messaging menggunakan
algoritma kriptografi RSA – CRT dan penelitian ini adalah sebagai berikut :
1. Data yang diamankan berupa teks.
2. Aplikasi ini dapat menampung maksimal 1.350 karakter untuk n yaitu hasil dari
p (bilangan prima) dikali q (bilangan prima) yang digunakan untuk
membangkitkan kunci RSA atau RSA-CRT yang lebih kecil dari 1.000.000,
untuk n lebih besar sama dengan 1.000.000 dapat menampung maksimal 1.800
karakter setiap pengiriman pesan.
3. Aplikasi ini dapat menggunakan bilangan integer di atas 40 serta p dan q harus
berbeda.
4. Aplikasi ini dapat digunakan untuk 2 pengguna yang terhubung dalam 1 server,
2 pengguna tersebut harus terhubung ke server terlebih dahulu.
5. Pengujian dilakukan untuk bit n mulai dari 56 bit sampai 88 bit.
6. Aplikasi menggunakan algoritma kriptografi RSA – CRT dan algoritma
kriprografi RSA sebagai pembanding.
7. Aplikasi akan dibangun menggunakan pemrograman berorientasi objek serta
menggunakan bahasa pemrograman Visual Basic.net.
8. Aplikasi yang dibuat berbasis desktop yang bersifat client-server.
9. Aplikasi instant messaging dibuat dengan pemrograman soket berbasis TCP.
10. Model pengembangan perangkat lunak menggunakan model proses waterfall.
Page 18
4
1.5. Sistematika Penulisan
Sistematika penulisan yang digunakan dalam penelitian ini terbagi dalam
beberapa pokok bahasan, yaitu :
BAB I PENDAHULUAN
Bab ini membahas latar belakang, rumusan masalah, tujuan dan manfaat,
ruang lingkup, dan sistematika penulisan penelitian mengenai
Implementasi Algoritma Kriptografi RSA - CRT pada Aplikasi Instant
Messaging.
BAB II TINJAUAN PUSTAKA
Bab ini menyajikan tinjauan pustaka yang berhubungan dengan topik
penelitian. Tinjauan pustaka yang digunakan dalam penyusunan
penelitian ini meliputi kriptografi, sistem kriptografi, faktor persekutuan
terbesar (Greatest Common Divisor), extended euclid, invers, algoritma
fast modular exponentiation, sistem kriptografi RSA, algoritma RSA,
chinese remainder theorem (CRT), RSA dengan CRT (RSA-CRT),
instant messaging, pemrograman soket dengan TCP, unified modeling
language (UML), dan model proses waterfall.
BAB III ANALISIS DAN PERANCANGAN
Bab ini berisi tentang analisis perangkat lunak dan perancangan
perangkat lunak. Analisis perangkat lunak meliputi analisis permasalahan
dan analisis kebutuhan diantaranya kebutuhan fungsional yang dijelaskan
dengan definisi aktor, definisi use case, skenario use case dan use case
diagram serta kebutuhan non-fungsional. Perancangan perangkat lunak
meliputi perancangan diagram diantaranya pemodelan dengan class
diagram, sequence diagram, activity diagram, dan deployment diagram,
perancangan algoritma kriptografi RSA-CRT pada aplikasi instant
messaging diantaranya mengolah server dan client, mengolah kunci, dan
mengolah pesan, serta perancangan antarmuka diantaranya perancangan
antarmuka server dan perancangan antarmuka client.
Page 19
5
BAB IV IMPLEMENTASI DAN PENGUJIAN
Bab ini berisi tentang implementasi perangkat lunak dan pengujian
perangkat lunak. Implementasi perangkat lunak meliputi spesifikasi
perangkat, implementasi class, implementasi algoritma kriptografi RSA-
CRT pada aplikasi instant messaging, dan implementasi antarmuka.
Pengujian perangkat lunak meliputi lingkungan pengujian, rencana
pengujian, pelaksanaan pengujian, serta analisa hasil pengujian.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan dari hasil pembuatan aplikasi instant
messaging dengan menerapkan algoritma kriptografi RSA-CRT dan
saran-saran untuk pengembangan selanjutnya.