ANALISIS DAN PERBANDINGAN PENGGUNAAN METODE PEMBANGKITAN BILANGAN PRIMA FERMAT DAN LUCAS-LEHMER DALAM KRIPTOGRAFI ELGAMAL SKRIPSI RATNANINGTYAS YOGA WIJAYANTI 081401011
ANALISIS DAN PERBANDINGAN PENGGUNAAN METODE
PEMBANGKITAN BILANGAN PRIMA FERMAT
DAN LUCAS-LEHMER DALAM
KRIPTOGRAFI ELGAMAL
SKRIPSI
RATNANINGTYAS YOGA WIJAYANTI
081401011
ANALISIS DAN PERBANDINGAN PENGGUNAAN METODE
PEMBANGKITAN BILANGAN PRIMA FERMAT
DAN LUCAS-LEHMER DALAM
KRIPTOGRAFI ELGAMAL
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
RATNANINGTYAS YOGA WIJAYANTI
081401011
PERSETUJUAN
Judul : ANALISIS DAN PERBANDINGAN PENGGUNAAN METODE PEMBANGKITAN BILANGAN PRIMA FERMAT DAN LUCAS-LEHMER DALAM KRIPTOGRAFI ELGAMAL
Kategori : SKRIPSI Nama : RATNANINGTYAS YOGA WIJAYANTI Nomor Induk Mahasiswa : 081401011 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, 14 Februari 2013
Komisi Pembimbing : Pembimbing II, Pembimbing I,
PERNYATAAN
ANALISIS DAN PERBANDINGAN PENGGUNAAN METODE PEMBANGKITAN BILANGAN PRIMA FERMAT DAN LUCAS-LEHMER DALAM
KRIPTOGRAFI ELGAMAL SKRIPSI Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 14 Februari 2013 RATNANINGTYAS YOGA WIJAYANTI
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pemurah dan Maha Penyayang dengan limpah karunia-Nya, skripsi ini berhasil diselesaikan dalam waktu yang telah ditetapkan, sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Pada pengerjaan skripsi dengan judul Analisis dan Perbandingan Penggunaan Metode Pembangkitan Bilangan Prima Fermat dan Lucas-Lehmer dalam Kriptografi ElGamal, penulis menyadari banyak pihak yang telah membantu dalam proses pengerjaan skripsi ini. Dalam kesempatan ini, penulis mengucapkan terima kasih kepada: 1.
Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, Prof. Dr.
Muhammad Zarlis dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, serta semua dosen dan semua pegawai di Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara; 2.
Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi Ilmu Komputer dan Sekretaris Program Studi Ilmu Komputer, Ibu Maya Silvi Lydia, B.Sc, M.Sc Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara; 3.
Ibu Dian Rachmawati, S.Si, M.Kom dan Bapak Amer Sharif, S.Si, M.Kom sebagai dosen pembimbing yang telah memberikan nasehat, arahan, dan saran
S.Kom, Saria Mahdi, Khairunnisa Lubis, S.Kom, dan Henni Haryani Lubis, S.Kom yang telah memberikan dukungan dan semangat kepada penulis; 9.
Serta semua pihak yang telah membantu pengerjaan skripsi ini baik secara langsung maupun tidak langsung yang tidak dapat disebutkan satu per satu
Penulis menyadari bahwa skripsi ini masih jauh dari sempurna, maka penulis menerima kritik dan saran demi penyempurnaan skripsi ini. Semoga skripsi ini membawa manfaat bagi pengembangan ilmu.
Medan, 14 Februari 2013 Ratnaningtyas Yoga Wijayanti
ABSTRAK
Keamanan pesan tertulis yang dikirimkan dari satu orang ke orang lain ketika berkomunikasi adalah hal yang penting. Dibutuhkan suatu penerapan untuk mengamankan isi dari pesan yang akan dikirim. Sasaran utama dari kajian ini adalah untuk membangun aplikasi yang dapat merahasiakan pesan yang dikirim. Penelitian ini dibangun dengan bahasa pemograman Java 2.0 dengan editornya adalah Netbeans 6.8 dan menggunakan algoritma kriptografi ElGamal untuk proses enkripsi dan dekripsinya, metode pembangkitan bilangan prima Fermat dan Lucas-Lehmer. Metode
p-1
Fermat memastikan bilangan yang diperoleh prima, a mod p = 1, memiliki rentang 1-5000. Jika nilai p yang memiliki digit lebih dari 2 dan angka kedua dari belakang adalah 0 harus dihindari. Metode Lucas-Lehmer berlaku pada bilangan Mersenne (Mp
p
2
= 2 -1 ) dengan s := s – 2 mod Mp. Bilangan prima yang digunakan lebih besar dari
255 dan nilai kuncinya tidak lebih dari 4 digit. Proses iterasi untuk menentukan kunci
p yang tidak memiliki angka kedua dari belakang adalah 0 menyebabkan proses
enkripsi metode Fermat lebih lama dibandingkan Lucas-Lehmer, untuk Fermat 5.346267 detik dibandingkan 0.13326 detik untuk Lucas-Lehmer. Pada proses dekripsi, didapatkan hasil rata-rata waktu dekripsi Fermat 0.0041 detik dibandingkan 0.0104 detik waktu dekripsi Lucas-Lehmer, disebabkan karena kunci p yang dipakai dalam Lucas-Lehmer rata-rata lebih besar daripada kunci yang dipakai dalam Fermat.
Pada aplikasi ini, proses enkripsi yang lebih cepat adalah metode Lucas-Lehmer sedangkan untuk proses dekripsi yang lebih cepat adalah metode Fermat.
THE ANALYSIS AND COMPARISON OF FERMAT AND LUCAS-LEHMER
PRIME GENERATORS FOR ELGAMAL CRIPTOGRAPHY
ABSTRACT
Security of a written message from one person to another during communication is important. It takes an application to secure the contents of the message to be sent. The main objective of this study is to build an applications that can sent plaintexts. This study was implemented ElGamal cryphtography algorithms for encryption and decryption with Fermat and Lucas-Lehmer prime generator, using Java 2.0 programming language with the Netbeans IDE 6.8. The methods ensure that the
p-1
Fermat prime numbers obtained, a mod p = 1, has a range of 1-5000. If the value of
p has digits greather than 2 and the penultimate is 0 then it should be avoided. Lucas-
p2 Lehmer method only applies to Mersenne numbers (Mp = 2 -1 ) with s := s – 2 mod
Mp . Prime numbers used in the application are greater than 255 and the key value
should not exceed 4 digits. The iteration to determine the key value of p which does not have 0 as the penultimate number resulted in the Fermat encryption method requiring longer time than Lucas-Lehmer, which is 5.346267 second for Fermat compared to 0.13326 second for Lucas-Lehmer. In the decryption process, the average time obtained for Fermat 0.0041 second for Fermat compared to 0.0104 second for Lucas-Lehmer because the p key used in the Lucas-Lehmer was average larger than the p key used in the Fermat. In this application, the encryption process is faster with the Lucas-Lehmer method, while decryption process is the faster with Fermat method.
Halaman Persetujuan ii
2
1.7 Sistematika Penulisan
3
1.6 Metode Penelitian
3
1.5 Manfaat Penelitian
3
1.4 Tujuan Penelitian
2
1.3 Batasan Masalah
1.2 Rumusan Masalah
Pernyataan iii
1
1.1 Latar Belakang Masalah
Bab 1 Pendahuluan
Daftar Lampiran xii
Daftar Gambar xi
Daftar Tabel x
Daftar Isi viii
Abstract vii
Abstrak vi
Penghargaan iv
4 Bab 2 Landasan Teori
3.1.3 Analisis Metode Pembangkit Bilangan Prima Fermat
37
3.1.3.1 Analisis Metode Fermat
37
3.1.3.2 Analisis Fernat Liar
39
3.1.4 Analisis Metode Pembangkit Bilangan Prima Lucas-Lehmer
40
3.2 Perancangan Flowchart
43
3.3 Perancangan DFD (Data Flow Diagram)
50
3.3.1 DFD Level 0
50
3.3.2 DFD Level 1
51
3.3.3 DFD Level 2 Proses Enkripsi
52
3.3.4 DFD Level 2 Proses Dekripsi
56
3.4 Perancangan User Interface
57
3.4.1 Tampilan Menu Utama
57
3.4.2 Tampilan Menu Proses Enkripsi
58
3.4.3 Tampilan Menu Proses Dekripsi
59 Bab 4 Implementasi Dan Pengujian Sistem
4.1 Implementasi
61
4.2 Hasil dan Pembahasan
61
4.2.1 Enkripsi Menggunakan Metode Pembangkit Bilangan Prima Fermat dan Lucas-Lehmer
61
4.2.2 Dekripsi Menggunakan Metode Pembangkit Bilangan Prima Fermat dan Lucas-Lehmer
64
4.2.3 Pembahasan Konsep Kunci p pada Metode Pembangkitan Bilangan Prima Fermat
66
4.2.4 Pembahasan Keterbatasan Kunci Lucas-Lehmer
67
4.2.5 Pembahasan Konsep Terkaan Plainteks
68
4.3 Pengujian
70
4.4 Tampilan Aplikasi ElGaFerLuLe
70
DAFTAR TABEL
36
4.5 Hasil Terkaan Terhadap Plainteks
69
4.4 Hasil Enkripsi dan Dekripsi
67
4.3 Bilangan Mersenne
64
4.2 Hasil Dekripsi
62
4.1 Hasil Enkripsi
3.3 Proses Dekripsi
Tabel Keterangan Halaman
32
3.2 Proses Enkripsi
31
3.1 Kode Karakter
22
2.3 Proses Dekripsi
19
2.2 Proses Enkripsi
18
2.1 Konversi Karakter Pesan ke Kode ASCII
69
DAFTAR GAMBAR
49
3.13 Tampilan Awal Aplikasi ElGaFerLuLe
56
3.12 DFD Level 2 Proses Dekripsi
54
3.11 DFD Level 2 Proses Enkripsi Menggunakan Metode Pembangkitan Bilangan Prima Lucas-Lehmer
52
3.10 DFD Level 2 Proses Enkripsi Menggunakan Metode Pembangkitan Bilangan Prima Fermat
51
3.9 DFD Level 1 Proses Dekripsi
51
3.8 DFD Level 1 Proses Enkripsi
50
3.7 DFD Level 0
3.6 Flowchart Proses Metode Pembangkit Bilangan Prima Lucas- Lehmer
Gambar Keterangan Halaman
48
3.5 Flowchart Proses Metode Pembangkit Bilangan Prima Fermat
47
3.4 Flowchart Proses Dekripsi Algoritma ElGamal
46
3.3 Flowchart Proses Enkripsi Algoritma ElGamal
45
3.2 Flowchart Metode Pembangkit Bilangan Prima Lucas-Lehmer pada Algoritma ElGamal
44
3.1 Flowchart Metode Pembangkit Bilangan Prima Fermat pada Algoritma ElGamal
10
2.2 Skema Kriptografi Asimetri
9
2.1 Skema Kriptografi Simetri
57