Kombinasi Algoritma Merkle Hellman Knapsack dengan Algoritma RSA untuk Menyelesaikan Proses Enkripsi dan Dekripsi
Laporan Tugas Akhir
Diajukan Untuk Memenuhi Persyaratan Guna Meraih Gelar Sarjana Informatika Universitas Muhammadiyah Malang
Doni Wahyu Ramadhan (201610370311279)
Rekayasa Perangkat Lunak
PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2022
ii
iii
iv
v
vi
KATA PENGANTAR
Dengan memanjatkan puji syukur kehadirat Allah SWT atas limpahan rahmat dan hidayah – Nya sehingga penulis dapat menyelesaikan tugas akhir yang berjudul
“KOMBINASI ALGORITMA MERKLE HELLMAN KNAPSACK DENGAN ALGORITMA RSA UNTUK MENYELESAIKAN PROSES
ENKRIPSI DAN DEKRIPSI”
Tulisan ini diajukan pokok – pokok bahasan yang meliputi algoritma Merkle-Hellman, algoritma RSA, kombinasi algoritma untuk proses enrkipsi dan dekripsi, lalu pengujian keamanan dengan metode avalanche effect. Tugas akhir ini merupakan salah satu syarat studi yang harus ditempuh oleh seluruh mahasiswa Universitas Muhammadiyah Malang, guna menyelesaikan studi pada jenjang program Strata 1.
Penulis menyadari sepenuhnya bahwa dalam penulisan tugas akhir ini masih banyak kekurangan dan keterbatasan, oleh karena itu peneliti mengharapkan saran yang membangun agar tulisan ini bermanfaat bagi perkembangan ilmu dan pengetahuan.
Malang, 5 Januari 2022
Penulis
Doni Wahyu Ramadhan
vii DAFTAR ISI
LEMBAR PERSETUJUAN ... 2
LEMBAR PENGESAHAN ... 3
LEMBAR PERNYATAAN ... 4
ABSTRAK ... 5
ABSTRACT ... 6
LEMBAR PERSEMBAHAN ... 7
KATA PENGANTAR... 8
DAFTAR ISI ... 9
DAFTAR GAMBAR ... 13
DAFTAR TABEL ... 15
BAB I ... 16
1.1 Latar Belakang ... 16
1.2 Rumusan Masalah ... 19
1.3 Tujuan Penelitian ... 19
1.4 Batasan Masalah ... 19
1.5 Metodologi Penelitian ... 20
1.5.1 Studi Pustaka ... 20
1.5.2 Penyusunan Laporan ... 20
1.6 Sistematika Penulisan ... 20
BAB II ... 22
2.1 Kriptografi ... 22
2.2 Kriptografi Kunci Publik (Asimetris) ... 23
2.3 Bilangan Prima ... 24
2.3.1 Algoritma Pengujian Bilangan Prima Miller Rabin ... 25
2.4 Algoritma Merkle Hellman Knapsack ... 25
2.4.1 Barisan Superincreasing ... 27
2.5 Algoritma RSA ... 29
2.6 Kombinasi Algoritma Merkle Hellman Knapsack dengan Algoritma RSA ... 32
2.6.1 Unsur untuk Kombinasi Merkle Hellman Knapsack dengan Algoritma RSA .. 32
2.7. Skenario Pengujian Algoritma dan Pengujian Keamanan ... 35
BAB III ... 37
viii
3.1 Analisa Masalah ... 37
3.2 Rancangan Algoritma Merkle Hellman Knapsack ... 37
3.2.1 Pembangkitan Kunci Algoritma Merkle Hellman Knapsack... 38
3.2.2 Enkripsi Algoritma Merkle Hellman Knapsack ... 39
3.2.3 Dekripsi Algoritma Merkle Hellman Knapsack ... 41
3.3 Rancangan Algoritma RSA ... 42
3.3.1 Pembangkitan Kunci Algoritma RSA ... 43
3.3.2 Enkripsi Algoritma RSA ... 44
3.3.3 Dekripsi Algoritma RSA ... 44
3.4 Rancangan Kombinasi Algoritma ... 45
3.4.1 Pembangkitan Kunci Algoritma Merkle ... 46
3.4.2 Enkripsi Algoritma Merkle Hellman Knapsack dan Algoritma RSA ... 48
3.4.3 Dekripsi Algoritma Merkle-Hellman Knapsack dengan Algoritma RSA ... 49
3.5 Skenario Pengujian Algoritma Merkle Hellman Knapsack dan Algoritma RSA ... 50
3.6 Skenario Pengujian Pembangkitan Kunci Algoritma ... 50
3.6.1 Skenario Pengujian Enkripsi Algoritma Merkle Hellman dan Algoritma RSA 52 3.6.2 Skenario Pengujian Dekripsi Algoritma Merkle Hellman dan Algoritma RSA 53 3.7 Rancangan Pengujian Keamanan ... 54
3.7.1 Avalanche Effect ... 54
BAB IV ... 59
4.1. Implementasi ... 59
4.1.1. Implementasi Perangkat Keras dan Perangkat Lunak ... 59
4.1.2. Experimental Setup ... 60
4.1.3. Implementasi Algoritma Merkle Hellman Knapsack ... 60
4.1.3.1. Implementasi Pembangkitan Kunci Algoritma ... 61
4.1.3.2. Implementasi Enkripsi Algoritma Merkle Hellman Knapsack ... 64
4.1.3.3. Implementasi Dekripsi Algoritma Merkle Hellman Knapsack ... 65
4.1.4. Implementasi Kombinasi Algoritma Merkle ... 67
4.1.4.1. Implementasi Pembangkitan Kunci Kombinasi ... 68
4.1.4.2 Implementasi Enkripsi Algoritma Merkle Hellman ... 77
4.1.4.3. Implementasi Dekripsi Algoritma Merkle Hellman ... 79
ix
4.1.5. Implementasi Avalanche Effect ... 81
4.2. Pengujian ... 84
4.2.1. Pengujian Waktu Pembangkitan Kunci ... 85
4.2.1.1. Pengujian Waktu Pembangkitan Kunci Kombinasi ... 85
4.2.1.2. Analisa Perbandingan Waktu Pembangkitan Kunci ... 85
4.2.2. Pengujian Waktu Enkripsi ... 87
4.2.2.1. Pengujian Waktu Enkripsi Kombinasi Algoritma ... 88
4.2.2.2. Analisa Perbandingan Waktu Enkripsi ... 88
4.2.3. Pengujian Waktu Dekripsi ... 90
4.2.3.1. Pengujian Waktu Dekripsi Kombinasi ... 91
4.2.3.2. Analisa Perbandingan Waktu Dekripsi ... 91
4.2.4. Pengujian Avalanche Effects ... 94
4.2.4.1. Pengujian Avalanche Effect Kombinasi Algoritma ... 94
4.2.4.2. Analisa Perbandingan Avalanche Effect ... 95
BAB V ... 97
5.1. Kesimpulan... 97
5.2. Saran ... 98
DAFTAR PUSTAKA ... 99
x
DAFTAR GAMBAR
Gambar 2.1. Skema kriptografi sederhana ... 18
Gambar 2.2. Skema enkripsi dan dekripsi algoritma asimetris ... 19
Gambar 3.1. Flowchart Pembangkitan Kunci Algoritma Merkle Hellman Knapsack ... 34
Gambar 3.2. Pseudocode Pembangkitan Kunci Knapsack ... 34
Gambar 3.3. Flowchart Enkripsi Algoritma Knapsack ... 35
Gambar 3.4. Pseudocode Enkripsi Knapsack ... 35
Gambar 3.5. Flowchart Dekripsi Algoritma Knapsack ... 36
Gambar 3.6. Pseudocode Dekripsi Knapsack ... 36
Gambar 3.7. Pembangkitan Kunci Algoritma RSA... 37
Gambar 3.8. Pseudocode Pembangkitan Kunci Algoritma RSA ... 38
Gambar 3.9. Enkripsi Algoritma RSA ... 38
Gambar 3.10. Pseudocode Enkripsi Algoritma RSA ... 38
Gambar 3.11. Dekripsi Algoritma RSA ... 39
Gambar 3.12. Pseudocode Dekripsi Algoritma RSA ... 39
Gambar 3.13. Pembangkitan Kunci Gabungan Knapsack dan Algoritma RSA ... 41
Gambar 3.14. Pseudocode Knapsack dengan Algoritma RSA ... 41
Gambar 3.15. Enkripsi Merkle Hellman dengan Algoritma RSA ... 42
Gambar 3.16. Pseudocode Enkripsi Algoritma Knapsack dengan Algoritma RSA ... 42
Gambar 3.17. Dekripsi Merkle Hellman Knasack dengan Algoritma RSA ... 43
Gambar 3.18. Pseudocode Algoritma knapsack dengan algoritma RSA ... 44
Gambar 3.19. Flowchart dari avalanche effect ... 51
Gambar 3.20. Program Avalanche effect algoritma knapsack... 53
Gambar 3.21. Program Avalanche effect algoritma kombinasi knapsack dan RSA ... 53
Gambar 4.1. Kondisi Memori Perangkat ... 44
Gambar 4.2 Kode Pembangkitan Kunci Algoritma Knapsack... 46
Gambar 4.3 Kode Pembangkitan Kunci Algoritma Knapsack... 47
Gambar 4.4 Kode Enkripsi Algoritma Merkle Hellman Knapsack ... 48
Gambar 4.5 Kode Enkripsi Algoritma Merkle Hellman Knapsack ... 49
Gambar 4.6 Kode Dekripsi Algoritma Merkle Hellman Knapsack ... 50
Gambar 4.7 Kode Dekripsi Algoritma Merkle Hellman Knapsack ... 51
Gambar 4.8 Kode Pembangkitan Kunci Kombinasi Knapsack dan Algoritma RSA ... 54
xi
Gambar 4.9 Kode Pembangkitan Kunci Kombinasi Knapsack dan Algoritma RSA ... 55
Gambar 4.10 Kode Enkripsi Gabungan Algoritma Knapsack dan Algoritma RSA ... 57
Gambar 4.11 Kode Enkripsi Gabungan Algoritma Knapsack dan Algoritma RSA ... 58
Gambar 4.12 Kode Dekripsi Kombinasi Algoritma Knapsack dan Algoritma RSA ... 59
Gambar 4.13 Kode Dekripsi Kombinasi Algoritma Knapsack dan Algoritma RSA ... 60
Gambar 4.14. Kode Avalanche Effect ... 64
xii
DAFTAR TABEL
Tabel 3.1. Tabel Pengujian yang akan digunakan ... 46
Tabel 3.2. Tabel Pengujian Nilai Rata-rata yang akan digunakan ... 47
Tabel 3.3 Tabel Pengujian Enkripsi yang akan digunakan ... 49
Tabel 3.4 Tabel Pengujian Dekripsi yang akan digunakan ... 51
Tabel 3.5. Tabel Pengujian Avalenche Effect yang akan digunakan ... 55
Tabel 4.1. Percobaan waktu pembangkitan kunci algoritma Knapsack ... 66
Tabel 4.2. Percobaan waktu pembangkitan kunci algoritma KnapsackRSA ... 66
Tabel 4.3. Perbandingan rata-rata waktu pembangkitan kunci algoritma ... 66
Tabel 4.4. Perbandingan waktu enkripsi Algoritma Knapsack ... 68
Tabel 4.5. Perbandingan waktu enkripsi Algoritma KnapsackRSA... 69
Tabel 4.6. Perbandingan waktu rata-rata enkripsi Algoritma Knapsack dan ... 69
Tabel 4.7. Perbandingan waktu dekripsi Algoritma Knapsack ... 71
Tabel 4.8. Perbandingan waktu dekripsi Algoritma KnapsackRSA... 72
Tabel 4.9. Perbandingan waktu rata-rata dekripsi Algoritma Knapsack dan ... 73
Tabel 4.10 Perbandingan avalanche effect ... 75
Tabel 4.11 Perbandingan nilai rata-rata avalanche effect ... 76
xiii
DAFTAR PUSTAKA
[1] KANTOUR NEDJMEDDINE, BOUROUBI SADEK, “CRYPTANALYSIS OF MERKLE-HELLMAN CIPHER USING PARALLEL GENETIC ALGORITHM”
Mobile Network and Applications, 10.1007/s11036-019-01216-8. 2017.
[2] Akik Hidayat, Rudi Rosyadi, Erick Paulus , “Aplikasi Merkle-Hellman Knapsack Untuk Kriptografi File Teks ” Seminar Nasional Teknik Elektro, 26 - 27 November 2016.
[3] Aminudin, Ahmad Faisal Helmi, Sofyan Arifianto, “ANALISA KOMBINASI ALGORITMA MERKLE-HELLMAN KNAPSACK DAN PADA APLIKASI CHAT
”, Jurnal Teknologi dan Ilmu Komputer, Vol. 5, No.3, Agustus 2018, hlm. 325-x.
[4] Aminudin, Muhammad Alwi, “Analisa Multithreading Pada Sistem Rekomendasi Menggunakan Metode Collaborative Filtering Dengan Apache Mahout ”, Techno.COM, Vol. 17, No. 1, Februari 2018 : 1-11.
[5] Kelvin Onggrono, Tulus, Erna Budhiarti N, “ANALISIS PENGGUNAAN PARALLEL PROCESSING MULTITHREADING PADA RESILIENT BACKPROPAGATION ”, Jurnal Nasional Informatika dan Teknologi Jaringan, Vol. 2, No. 1, September 2017.
[6] Nikita Goel, Vijaya Laxmi, Ankur Saxena, “Handling Multithreading Approach Using Java”, International Journal of Computer Science Trends and Technology (IJCST), Volume 3 Issue 2, Mar-Apr 2015.
[7] Deskiva, Zeyan Z. “Implementasi Kriptografi Modern dengan Metode Rsa pada Data Citra Digital”. ”Publikasi Ilmiah Teknologi Informasi Neumann”, vol. 3, no. 1, Juni.
2018, pp. 44-49.
[8] Vadaviya, Drashti & Tandel , Purvi “Study of Avalanche Effect in AES”. ”National Conference on Recent Advances in Engineering for SustainabilityAt: Surat, India”, 2015.
[9] Sugiyanto, Rinci Kembang Hapsari “Pengembangan Algoritma Advanced Encryption Standard pada Sistem Keamanan SMS Berbasis Android Menggunakan Algoritma Vigenere”. ”ULTIMATICS”, Vol. VIII, No.2, Desember 2016.
[10] Dedi Leman, Maulia Rahman “METODE MERKLE HELLMAN UNTUK ENKRIPSI DAN DEKRIPSI PESAN WHATSAPP”. ”Riau Journal of Computer Science “, Vol.06 No. 01 Januari Tahun. 2020.
[11] Muhammad Khoiruddin Harahap “ Membangkitkan Bilangan Prima Marsenne dengan metode Bilangan Prima Probabilistik Solovay – Strassen”. “SinkrOn Publikasi Jurnal &
Penelitian Teknik Informatika Vol. 1 Nomor 1, Oktober 2016”.
xiv