Analisa Improvisasi Algoritma RSA berdasarkan dari Jumlah Penggunaan Bilangan Prima pada instant messaging berbasis socket TCP TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang Oleh : Rahardian Dwi Saputra 201310370311320 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2018
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Analisa Improvisasi Algoritma RSA berdasarkan dariJumlah Penggunaan Bilangan Prima pada instant
messaging berbasis socket TCP
TUGAS AKHIR
Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1
Teknik Informatika Universitas Muhammadiyah Malang
Oleh :
Rahardian Dwi Saputra
201310370311320
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2018
ii
iii
iv
v
ABSTRAK
Algoritma RSA ditemukan sejak tahun 1977 dan masih digunakan
hingga era sekarang ini. Algoritma RSA memiliki perfoma yang sangat lambat
jika dibandingkan dengan algoritma kriptografi simetris sehingga banyak
penelitian yang dilakukan untuk memperbaiki perfomanya. Tujuan utama
penggunaan algoritma RSA adalah keamanan pengguna. Algoritma RSA
memiliki banyak celah keamanan misalnya, known plain text attack dan wiener
attack. Penelitian ini menganalisis perbandingan perfoma antara algoritma RSA
standar dan improvisasi algoritma RSA yang diimplementasikan pada socket TCP
berbasis java dan juga menganalisis perbandingan keamanan algoritma RSA
standar dan improvisasi algoritma RSA dengan metode known plain text attack
dan wiener attack. Jumlah bilangan prima yang digunakan pada improvisasi
algoritma RSA bervariasi yaitu 2 hingga 6 bilangan prima. Penelitian ini berhasil
menyimpulkan faktor-faktor yang memperngarui perfoma algoritma RSA. Selain
itu, penelitian ini juga berhasil menyimpulkan faktor-faktor yang memperngarui
keamanan algoritma RSA dari known plain text attack dan wiener attack.
Kata kunci: algoritma RSA standar, improvisasi algoritma RSA, known plain text
attack, wiener attack.
vi
ABSTRACT
RSA algorithm was discovered since 1977 and is still used until the
present era. RSA algorithm has a very slow performance when compared with
symmetric cryptography algorithm so a lot of research done to improve
perfomanya. The main purpose of RSA algorithm is user security. RSA algorithm
has many security holes for example, known plain text attack and wiener attack.
This study analyzed the comparison of performance between standard RSA
algorithm and RSA improvised algorithm implemented on java based TCP
sockets and also analyzed security comparison of standard RSA algorithm and
RSA algorithm improvement with known plain text attack and wiener attack
method. The number of primes used in RSA improvisation algorithms varies from
2 to 6 primes. This research succeeds in concluding the factors that update RSA
algorithm performance. In addition, this study also succeeded in concluding the
factors that update RSA algorithm security from known plain text attack and
wiener attack.
Keywords: standard RSA algorithm, RSA algorithm improvisation, known plain
text attack, wiener attack.
vii
LEMBAR PERSEMBAHAN
Puji syukur kepada Allah SWT atas rahmat dan karunia nya sehingga
penulis dapat menyelesaikan Tugas Akhir ini. Penulis menyampaikan ucapan
terima kasih yang sebesar besar nya kepada :
1. Bapak Aminudin, S.Kom,M.T., dan Bapak Sofyan Arifianto S.Si, M.T.
selaku dosen pembimbing tugas akhir.
2. Kedua orang tua yang telah membesarkanku dengan penuh kasih sayang
dan menguliahkanku secara tulus hingga menjadi seorang sarjana strata I.
Semoga selalu diberi kesehatan, rezeki yang barokah dan mendapat ridho
dari Allah SWT.
3. Kerabat terdekat yang sudah memberi dukungan moral dan materi guna
membantu kelancaran perkuliahan. Semoga dimudahkan dan dilimpahkan
rezekinya oleh Allah SWT.
4. Orang spesial yang sudah memberikan kasih sayang, perhatian, dan
kesabarannya yang memberi inspirasi dan semangat tersendiri dalam
menyelesaikan tugas akhir ini. Semoga kelak kita akan menjalin
kehidupan berumah tangga bersama.
5. Teman-teman nongkrong dan teman-teman seperjuangan yang menjadi
tempat sharing ilmu, pengalaman, menghilangkan kejenuhan dengan
canda tawa, dan berbagi cerita tentang pelajaran hidup yang berharga.
Semoga kita dapat menjalin kesuksesan bersama-sama.
6. Pihak-pihak yang sudah membantu penyelesaian tugas akhir ini. Semoga
segela kebaikan yang diberikan mendapat balasan dari Allah SWT.
7. Terakhir kepada seluruh rekan-rekan yang tidak bisa saya sebutkan satu
per satu, terima kasih atas dukungan, kebersamaan dan do’a kalian selama
ini.
viii
KATA PENGANTAR
Dengan memanjatkan puji syukur kehadirat Allah SWT atas limpahan
rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan tugas akhir yang
berjudul : Analisa Improvisasi Algoritma RSA berdasarkan Jumlah
Penggunaan Bilangan Prima pada Instant Messaging berbasis Socket TCP
Di dalam tulisan ini disajikan pokok-pokok bahasan mengenai algoritma
RSA mulai dari cara kerja, celah keamanan hingga perkembangannya. Selain itu
juga dijelaskan mengenai pengaplikasian algoritma RSA dan improvisasi
algoritma RSA serta pengujian kemanan pada kedua algoritma tersebut.
Peneliti menyadari sepenuhnya bahwa dalam penulisan tugas akhir ini
masih banyak kekurangan dan keterbatasan. Oleh karena itu, peniliti sangat
mengharapkan saran yang membangun agar tulisan ini bermanfaat untuk
1.6 Sistematika Penulisan………………………………………………. 8BAB II LANDASAN TEORI……………………………………………… 92.1 Kriptografi…………………………………………………………… 92.2 Bilangan prima………………………………………………………. 102.2.1 Algoritma Pengujian Bilangan Prima Miller Rabin…………….. 11
2.3 Algoritma RSA………………………………………………………. 132.3.1 Cara Kerja Algoritma RSA……………………………………... 142.3.2 Keamanan Algoritma RSA……………………………………… 172.3.2.1 Small private key exponent attack………………………….. 172.3.2.1 Known plain text attack…………………………………….. 19
4.1.5 Implementasi known plain text attack………………………….. 504.1.6 Implementasi Wiener attack…………………………………….. 51
4.2 Pengujian…………………………………………………………….. 544.2.1 Pengujian waktu pembangkitan kunci………………………….. 544.2.1.1 Pengujian waktu pembangkitan kunci algoritma RSA
standar…………………………………………………….. 544.2.1.2 Pengujian waktu pembangkitan kunci improvisasi algoritma
RSA………………………………………………………… 554.2.1.3 Analisis perbandingan waktu pembangkitan kunci………… 57
4.2.2 Pengujian waktu enkripsi……………………………………….. 594.2.2.1 Pengujian waktu enkripsi algoritma RSA standar………….. 594.2.2.2 Pengujian waktu enkripsi improvisasi algoritma RSA…….. 614.2.2.3 Analisis perbandingan waktu enkripsi……………………… 62
4.2.3 Pengujian waktu dekripsi……………………………………….. 654.2.3.1 Pengujian waktu dekripsi algoritma RSA standar………….. 654.2.3.2 Pengujian waktu dekripsi improvisasi algoritma RSA…….. 664.2.3.3 Analisis perbandingan waktu dekripsi……………………… 67
4.2.4 Pengujian waktu pengiriman pesan……………………………... 704.2.4.1 Pengujian waktu pengiriman pesan algoritma RSA standar.. 704.2.4.2 Pengujian waktu pengiriman pesan improvisasi algoritma
RSA……………………………………………………….. 714.2.4.3 Analisis perbandingan waktu pengiriman pesan…………… 73
4.2.5 Pengujian known plain text attack………………………………. 754.2.5.1 Pengujian known plain text attack algoritma RSA standar… 754.2.5.2 Pengujian known plain text attack improvisasi algoritma
RSA……………………………………………………… 764.2.5.3 Analisis perbandingan pengujian known plain text attack…. 77
4.2.6 Pengujian wiener attack…………………………………………. 774.2.6.1 Pengujian wiener attack algoritma RSA standar…………… 774.2.6.2 Pengujian wiener attack improvisasi algoritma RSA………. 784.2.6.3 Analisis perbandingan pengujian wiener attack……………. 80
xi
BAB V KESIMPULAN DAN SARAN……………………………………. 815.1 Kesimpulan…………………………………………………………... 815.2 Saran…………………………………………………………………. 82
DAFTAR PUSTAKA………………………………………………………. 83
xii
DAFTAR GAMBAR
Gambar 3.1 pseudo code pembangkitan kunci algoritma RSA standar……… 27Gambar 3.2 alur pembangkitan kunci algoritma RSA standar……………….. 28Gambar 3.3 pseudo code enkripsi algoritma RSA standar…………………… 28Gambar 3.4 alur enkripsi algoritma RSA standar…………………………….. 29Gambar 3.5 pseudo code dekripsi algoritma RSA standar……………….…. 30Gambar 3.6 alur dekripsi algoritma RSA standar……………………………. 30Gambar 3.7 pseudo code pembangkitan kunci improvisasi algoritma RSA…. 31Gambar 3.8 alur pembangkitan kunci improvisasi algoritma RSA………….. 32Gambar 3.9 pseudo code enkripsi improvisasi algoritma RSA………………. 32Gambar 3.10 alur enkripsi improvisasi algoritma RSA……………………… 33Gambar 3.11 pseudo code dekripsi improvisasi algoritma RSA…………….. 34Gambar 3.12 alur dekripsi improvisasi algoritma RSA……………………… 34Gambar 3.13 alur proses known plain text attack……………………………. 35Gambar 3.14 pseudo code fraksaksi berkelanjutan………………………….. 36Gambar 3.15 pseudo code fraksaksi k/d……………………………………… 37Gambar 3.16 pseudo code wiener attack……………………………………. 37Gambar 4.1 kode sumber pembangkitan kunci slgoritma RSA standar……… 44Gambar 4.2 kode sumber enkripsi algoritma RSA standar………………….. 45Gambar 4.3 kode sumber dekripsi algoritma RSA standar………………….. 46Gambar 4.4 kode sumber pembangkitan kunci improvisasi algoritma RSA… 47Gambar 4.5 kode sumber enkripsi improvisasi algoritma RSA………….….. 48Gambar 4.6 kode sumber dekripsi improvisasi algoritma RSA………….….. 49Gambar 4.7 potongan kode sumber aplikasi known plain text attack RSA…. 50Gambar 4.8 kode sumber method pembuat fraksaksi berkelanjutan………… 51Gambar 4.9 kode sumber method pembentuk fraksaksi k/d……………….. 52Gambar 4.10 kode sumber method uji wiener attack………………………… 52Gambar 4.11 Grafik pengujian prima 128 bit………………………………… 57
xiii
DAFTAR TABEL
Tabel 2.1 Contoh himpunan plain text (P) dan cipher text (C)……………… 19Tabel 3.1 perbedaan algoritma RSA standar dan improvisasi algoritma RSA 41Tabel 4.1 Hasil pengujian prima 128 bit…………………………………….. 54Tabel 4.2 Waktu pembangkitan prima pengujian prima 128 bit……………. 55Tabel 4.3 Hasil pengujian prima 128 bit…………………………………….. 56Tabel 4.4 Perbandingan rata-rata waktu pembangkitan kunci prima 128 bit.. 58Tabel 4.5 Perbandingan rata-rata waktu pembangkitan kunci prima 128 bit.. 58Tabel 4.6 Hasil pengujian waktu enkripsi prima 128 bit……………………. 60Tabel 4.7 Hasil pengujian waktu enkripsi prima 128 bit……………………. 61Tabel 4.8 Hasil perbandingan rata-rata waktu enkripsi prima 128 bit………. 63Tabel 4.9 Hasil perbandingan rata-rata waktu enkripsi prima 256 bit………. 64Tabel 4.10 Hasil pengujian waktu dekripsi prima 128 bit…………………... 65Tabel 4.11 Hasil pengujian waktu dekripsi prima 128 bit………………….. 66Tabel 4.12 Perbandingan rata-rata waktu dekripsi prima 128 bit…………… 68Tabel 4.13 Perbandingan rata-rata waktu dekripsi prima 256 bit…………… 69Tabel 4.14 Hasil pengujian waktu pengiriman pesan prima 128 bit………... 71Tabel 4.15 Hasil pengujian waktu pengiriman pesan prima 128 bit………... 72Tabel 4.16 Perbandingan rata-rata waktu pengiriman pesan prima 128 bit… 73Tabel 4.17 Perbandingan rata-rata waktu pengiriman pesan prima 256 bit… 74Tabel 4.18 Hasil pengujian known plain text attack prima 128 bit…………. 76Tabel 4.19 Hasil pengujian known plain text attack prima 128 bit…………. 76Tabel 4.20 Hasil pengujian wiener attack prima 128 bit……………………. 78Tabel 4.21 Hasil pengujian wiener attack improvisasi RSA 2 prima 128 bit.. 79Tabel 4.22 Hasil pengujian wiener attack improvisasi RSA 3 prima 128 bit.. 79
xiv
DAFTAR LAMPIRAN
Lampiran 1 Hasil pengujian waktu pembangkitan kunci algoritma RSAstandar……………………………………………………………………… 85Lampiran 2 Hasil pengujian waktu pembangkitan kunci improvisasialgoritma RSA………………………………………………………………. 88Lampiran 3 Hasil pengujian waktu enkripsi algoritma RSA standar……….. 94Lampiran 4 Hasil pengujian waktu enkripsi improvisasi algoritma RSA….. 95Lampiran 5 Hasil pengujian waktu dekripsi algoritma RSA standar……….. 97Lampiran 6 Hasil pengujian waktu dekripsi improvisasi algoritma RSA….. 98Lampiran 7 Hasil pengujian waktu pengiriman pesan algoritma RSAstandar……………………………………………………………………….. 100Lampiran 8 Hasil pengujian waktu pengiriman pesan improvisasi algoritmaRSA………………………………………………………………………….. 101Lampiran 9 Hasil pengujian known plain text attack algoritma RSA standar 103Lampiran 10 Hasil pengujian known plain text attack improvisasi algoritmaRSA………………………………………………………………………… 104Lampiran 11 Hasil pengujian wiener attack algoritma RSA standar……….. 105Lampiran 12 Hasil pengujian wiener attack improvisasi algoritma RSA…… 106Lampiran 13 Data pesan untuk pengujian enkripsi………………………….. 108