Kombinasi Algoritma Rsa Dan Elgamal Dalam Implementasi Algoritma Kriptografi

KOMBINASI ALGORITMA RSA DAN ELGAMAL DALAM

  

IMPLEMENTASI ALGORITMA KRIPTOGRAFI

SKRIPSI

HASNAN AULIA HAQ

100823019

  

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2013

KOMBINASI ALGORITMA RSA DAN ELGAMAL DALAM

  

IMPLEMENTASI ALGORITMA KRIPTOGRAFI

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar

Sarjana Sains

  

HASNAN AULIA HAQ

100823019

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

  

2013

  

PERSETUJUAN

  Judul : KOMBINASI ALGORITMA RSA DAN ELGAMAL DALAM IMPLEMENTASI ALGORITMA KRIPTOGRAFI

  Kategori : SKRIPSI Nama : HASNAN AULIA HAQ Nomor Induk Mahasiswa : 100823019 Program Studi : EKSTENSI SARJANA (S1) MATEMATIKA Departemen : MATEMATIKA Fakultas : MATEMATIKAN DAN ILMU PENGETAHUAN ALAM

  Diluluskan di Medan, 2013

  Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Drs. Marihat Situmorang, M.Kom Drs. Sawaluddin, M.IT NIP. 19631214 198903 1 001 NIP. 19591231 199802 1 001 Diketahui/Disetujui oleh Departemen Matematika FMIPA USU Ketua, Prof. Dr. Tulus, M.Si NIP. 19620901 198803 1 002

  

PERNYATAAN

  KOMBINASI ALGORITMA RSA DAN ELGAMAL DALAM IMPLEMENTASI ALGORITMA KRIPTOGRAFI SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri dan tidak terdapat unsur plagiat, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

  Medan, Agustus 2013 Hasnan Aulia Haq 100823019

  PENGHARGAAN

  Alhamdulillah, Puji Syukur ke hadirat Allah SWT, dan semoga Shalawat dan Salam selalu tercurah kepada Nabi Muhammad SAW karena atas segala rahmat, berkah dan hidayahnya penulis dapat menyelesaikan penyusunan skripsi ini.

  Dalam penulisan skripsi ini penulis banyak mendapatkan bantuan serta dorongan dari pihak lain. Dalam kesempatan ini dengan segala kerendahan hati, penulis mengucapkan terima kasih kepada : 1.

  Kedua orang tua penulis, yaitu Ayahanda Anas Warodi yang selalu memberikan doa dan dukungan serta Ibunda Siti Anwaryati yang terus mencurahkan kasih sayang serta bimbingan terbaiknya kepada penulis. Kepada adik-adik penulis, Alun Faruqi dan Azam Rusli yang selalu membantu dan mendukung penulis dalam menyelesaikan studi, serta keluarga besar penulis atas segala perhatian dan dukungan.

2. Dekan Fakultas Matematika dan Ilmu Pengetehuan Alam,

  Bapak Dr. Sutarman, M.Sc , Ketua Jurusan Matematika, Bapak Prof. Dr. Tulus, M.Si, Koordinator Ekstensi Matematika, Bapak Drs. Pangarepan Bangun, M.Si, seluruh Dosen pada Program Studi Ekstensi Matematika, Bapak Bambang Irawan, Bapak Marwan Harahap, Ibu Mardiningsih, serta Pegawai Jurusan Matematika Bang Bandi, Bang Tris, dan Bang Tanta.

  3. Bapak Drs. Sawaluddin, M.IT dan Bapak Drs.Marihat Situmorang, M.Kom selaku dosen pembimbing penulis yang telah meluangkan waktu, tenaga dan pikiran untuk memberikan bimbingan dalam penyelesaian skripsi ini ini.

  4. Bapak Syahril Efendi, S.Si, M.IT dan Bapak Syariol Sitorus, S.Si, M.IT selaku dosen pembanding yang telah memberikan petunjuk, kritik dan saran dalam penyelesaian skripsi ini.

  5. Sahabat terbaik yang setia mendampingi Eka Prima Junita yang selalu memberikan dorongan baik secara moril, materil maupun spiritual yang tiada henti. Semoga skripsi ini menjadi kado terbaik.

  6. Sahabat-sahabat seperjuangan di Ekstensi Matematika yang masih sejalan dan berjuang bersama-sama hingga detik-detik terakhir, Muhajir, Andi Hazri Hasibuan, Way Yantono Saing, Alamsyah Putra, Ali Makmur Simamora, Listia Andharti dan Ika Rosniuni Siregar. Terima kasih untuk segala bantuan, kerjasama, motivasi serta tawa dan canda. Semoga semua asa dan cita kita tercapai.

7. Pimpinan BKPP Kota Tebing Tinggi serta sahabat-sahabat Tim IT BKPP

  Tebing Tinggi yang telah memberikan banyak kemakluman begitu besar kepada penulis karena banyak meninggalkan tugas kantor selama penulisan skripsi ini. Dalam penyusunan skripsi ini penulis menyadari bahwa masih banyak kekurangan, untuk itu penulis mengharapkan saran dan kritik yang bersifat membangun dari semua pihak demi kesempurnaan skripsi ini.

  Akhir kata penulis mengharapkan semoga skripsi ini dapat bermanfaat dan membantu semua pihak yang memerlukannya.

  

ABSTRAK

  Algoritma Kriptografi terus mengalami perkembangan. Pegembangan dilakukan untuk mengatasi celah keamanan yang semakin terbuka. Salah satu cara pengembangan Algoritma dapat dilakukan dengan melakukan kombinasi dari beberapa algoritma kriptografi. Algortima RSA dan Algoritma ElGamal adalah algoritma yang cukup populer digunakan saat ini. Algoritma RSA yang berbasis pada masalah Faktorisasi bilangan Prima dan ElGamal yang berbasis pada permasalahan Logaritma Diskrit memiliki tingkat keamanan yang tinggi. Kombinasi dua algoritma dengan dua basis permasalahan yang berbeda dilakukan untuk meningkatkan level keamanan menjadi lebih baik. Pada skripsi ini, kedua algoritma ini dipilih untuk dikombinasikan menjadi sebuah algoritma kriptografi nirsimetri yang memiliki dua kunci, kunci publik dan kunci privat. Pada akhirnya nanti dihasilkan sebuah program yang mengaplikasikan hasil kombinasi kedua algoritma menggunakan bahasa pemrograman JAVA.

  Kata Kunci : Kriptografi, Kunci Publik, ElGamal, RSA, Bilangan Prima, Faktorisasi, Logaritma Diskrit, Kombinasi Algoritma.

  COMBINATION RSA AND ELGAMAL ALGORITHM IN IMPLEMENTATION OF CRYPTOGRAPHIC ALGORITHM

  

ABSTRACT

  Cryptographic algorithm had been developed. Development done to close the security holes. One way to develop algorithm can be done through a combination of several cryptography algorithm. RSA and ELGamal Algorithm are popular algorithm today. RSA algorithm based on the Prime Factorization problem and ElGamal Algorithm based on the Discrete Logarithm problem has a high level of security. In this Paper, two algorithms were selected to be combined into a cryptographic asymmetric algorithm which has two keys, public key and private key. Combination will be get a better security than before. So later, will be generated a program that applies of the combination algorithm using JAVA programming language.

  Keywords: Cryptography, Public Key, ElGamal, RSA, Prime Numbers Factorization, Discrete Logarithms, Combination Algorithm.

DAFTAR ISI

  Halaman Persetujuan ii

BAB 1 PENDAHULUAN

  2.2.1 Kriptografi Kunci Simetri (symmetric key cryptography) 17

  6

  2.1.2 Terminologi Kriptografi

  7

  2.1.3 Sejarah Kriptografi

  10

  2.1.4 Masa Depan Kriptografi

  14

  17

  18

  2.2.2 Kriptografi Kunci Nirsimetri (Asymmetric key crypt.)

  6

  20

  2.3.1 Proses Pembangkitan Kunci Algoritma RSA

  21

  2.3.2 Proses Enkripsi Algoritma RSA

  22

  2.3.3 Proses Dekripsi Algoritma RSA

  22

  2.1.1 Aspek Keamanan Informasi

  2.1 Kriptografi

  Pernyataan iii

  1.2 Perumusan Masalah

  Penghargaan iv

  Abstrak vi

  Abstract vii

  Daftar Isi viii

  Daftar Tabel xi

  Daftar Gambar xii

  1

  1.1 Latar Belakang

  1

  3

  6

  1.3 Batasan Masalah

  3

  1.4 Tujuan Penelitian

  3

  1.5 Kontribusi Penelitian

  3

  1.6 Metode Penelitian

  4

  1.7 Sistematika Penulisan

  4 BAB 2 LANDASAN TEORI

2.2 Algoritma Kriptografi

2.3 Algoritma Rivest Samir Addleman (RSA)

  2.3.4

  22 Flowchart Algoritma RSA

  2.3.5

  23 Keamanan Algoritma RSA

  2.4

  24 Algoritma ElGamal

  2.4.1

  24 Proses Pembangkitan Kunci Algoritma ElGamal

  2.4.2

  25 Proses Enkripsi Algoritma ElGamal

  2.4.3

  25 Proses Dekripsi Algoritma ElGamal

  2.4.4

  26 Flowchart Algoritma ElGamal

  2.4.5

  26 Keamanan Algoritma ElGamal

  2.5

  27 Konsep Dasar Perhitungan Matematis

  2.5.1

  27 Aritmatika Modular

  2.5.2

  27 Teori Modulo Fast Eksponensial

  2.5.3

  28 Algoritma Euclidean

  2.5.4

  29 Modulo Invers

  2.5.5

  31 Bilangan Prima

  2.5.6

  31 Bilangan Relatif Prima

  2.5.7

  32 Kekongruenan (Congruence)

  2.5.8

  33 Elemen Primitif

  BAB 3

  34 ANALISIS DAN PERANCANGAN SISTEM

  3.1

  34 Analisis Permasalahan

  3.2

  35 Analisis Kebutuhan

  3.3

  35 Perancangan Sistem

  3.3.1

  36 Perancangan Algoritma

  3.3.1.1

  36 Algoritma Pembangkitan Kunci

  3.3.1.2

  37 Algoritma Enkripsi

  3.3.1.3

  38 Algoritma Dekripsi

  3.3.1.4

  38 Verifikasi terhadap Algoritma Kombinasi

  3.3.1.5

  39 Keamanan Algoritma Kombinasi

  3.3.2

  40 Perancangan Flowchart

  3.3.2.1

  41 Flowchart Sistem

  3.3.2.2

  42 Flowchart Fungsi Cek Prima

  3.3.2.3

  43 Flowchart Fungsi Mencari Bil. Prima Sec Acak

  3.3.2.4

  44 Flowchart Fungsi Cek Elemen Primitif

  3.3.2.5

  45 Flowchart Fungsi Penc Elemen Primitif Acak

  BAB 4

  46 IMPLEMENTASI DAN PENGUJIAN SISTEM

  4.1

  46 Implementasi Sistem

  4.2

  46 Implementasi Algoritma Kombinasi

  4.3

  47 Deklarasi Kelas, Variabel dan Tipe Data

  4.4

  47 Beberapa Konstruktor dan Fungsi (Method)

  4.5

  50 Uji Coba Program

  4.5.1

  50 Bahan Pengujian

  4.5.2

  50 Pengujian Program

  4.5.2.1

  50 Pengujian Proses Pembentukan Kunci

  4.5.2.2

  51 Pengujian Proses Enkripsi

  4.5.2.3

  53 Pengujian Proses Dekripsi

  BAB 5

  54 KESIMPULAN DAN SARAN

  5.1

  54 Kesimpulan

  5.2

  55 Saran Daftar Pustaka

  56 Lampiran A : Listing Program

  57 Lampiran B : Tabel ASCII

  63

  

DAFTAR TABEL

  Halaman

Tabel 2.1 Perbandingan Kunci RSA dan ECDS/ECES

  15 Tabel 2.2 Perhitungan a

  2

  mod 2579 dan a

  

1289

  mod 2579

  33 Tabel 4.1 Spesifikasi Perangkat Keras

  46 Tabel 4.2 Spesifikasi Perangkat Lunak

  46 Tabel 4.3 Konversi Plainteks ke kode ASCII

  52 Tabel 4.4 Hasil Proses Enkripsi

  52

  

DAFTAR GAMBAR

  42 Gambar 3.3 Flowchart Fungsi Bilangan Acak

  52 Gambar 4.4 Tampilan Proses Dekripsi pada Pesan

  51 Gambar 4.3 Tampilan Program menampilkan Cipherteks

  51 Gambar 4.2 Tampilan Program pada Proses Enkripsi

  45 Gambar 4.1 Tampilan Program pada Proses Pembentukan Kunci

  44 Gambar 3.3 Flowchart Fungsi Pencarian Elemen Primitif Acak

  43 Gambar 3.4 Flowchart Fungsi Pengecekan Elemen Primitif

  41 Gambar 3.2 Flowchart Fungsi Cek Prima

  Halaman

  26 Gambar 3.1 Flowchart Algoritma Kombinasi

  23 Gambar 2.6 Flowchart Algoritma RSA

  19 Gambar 2.5 Flowchart Algoritma ElGamal

  18 Gambar 2.4 Skema Kriptografi Nirsimetri

  12 Gambar 2.3 Skema Kriptografi Simetri

  10 Gambar 2.2 Mesin Enigma

Gambar 2.1 Kriptografi dan Kriptanalisis adalah cabang ilmu Kriptologi

  53