implementasi algoritma kriptografi rsa-crt pada … fileimplementasi algoritma kriptografi rsa-crt...

19
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

Upload: donhan

Post on 12-Aug-2019

235 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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: IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA … fileIMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA-CRT PADA APLIKASI INSTANT MESSAGING HALAMAN JUDUL SKRIPSI Disusun Sebagai Salah Satu

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.