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/ECES15 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 Kriptologi53