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-

p

  2 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