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
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
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.
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,
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
1.2 Perumusan Masalah 3
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 6
2.1 Kriptografi 6
2.1.1Aspek Keamanan Informasi 6
2.1.2Terminologi Kriptografi 7
2.1.3Sejarah Kriptografi 10
2.1.4Masa Depan Kriptografi 14
2.2 Algoritma Kriptografi 17
2.2.1Kriptografi Kunci Simetri (symmetric key cryptography) 17
2.2.2 Kriptografi Kunci Nirsimetri (Asymmetric key crypt.) 18
2.3 Algoritma Rivest Samir Addleman (RSA) 20
2.3.1Proses Pembangkitan Kunci Algoritma RSA 21
2.3.2Proses Enkripsi Algoritma RSA 22
2.3.4Flowchart Algoritma RSA 22
2.3.5Keamanan Algoritma RSA 23
2.4 Algoritma ElGamal 24
2.4.1Proses Pembangkitan Kunci Algoritma ElGamal 24
2.4.2Proses Enkripsi Algoritma ElGamal 25
2.4.3Proses Dekripsi Algoritma ElGamal 25
2.4.4Flowchart Algoritma ElGamal 26
2.4.5Keamanan Algoritma ElGamal 26
2.5 Konsep Dasar Perhitungan Matematis 27
2.5.1Aritmatika Modular 27
2.5.2Teori Modulo Fast Eksponensial 27
2.5.3Algoritma Euclidean 28
2.5.4Modulo Invers 29
2.5.5Bilangan Prima 31
2.5.6Bilangan Relatif Prima 31
2.5.7Kekongruenan (Congruence) 32
2.5.8Elemen Primitif 33
BAB 3 ANALISIS DAN PERANCANGAN SISTEM 34
3.1 Analisis Permasalahan 34
3.2 Analisis Kebutuhan 35
3.3 Perancangan Sistem 35
3.3.1Perancangan Algoritma 36
3.3.1.1Algoritma Pembangkitan Kunci 36
3.3.1.2Algoritma Enkripsi 37
3.3.1.3Algoritma Dekripsi 38
3.3.1.4Verifikasi terhadap Algoritma Kombinasi 38
3.3.1.5Keamanan Algoritma Kombinasi 39
3.3.2Perancangan Flowchart 40
3.3.2.1Flowchart Sistem 41
3.3.2.2Flowchart Fungsi Cek Prima 42
3.3.2.3Flowchart Fungsi Mencari Bil. Prima Sec Acak 43
3.3.2.4Flowchart Fungsi Cek Elemen Primitif 44
3.3.2.5Flowchart Fungsi Penc Elemen Primitif Acak 45
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 46
4.1 Implementasi Sistem 46
4.2 Implementasi Algoritma Kombinasi 46
4.3 Deklarasi Kelas, Variabel dan Tipe Data 47
4.4 Beberapa Konstruktor dan Fungsi (Method) 47
4.5 Uji Coba Program 50
4.5.1Bahan Pengujian 50
4.5.2Pengujian Program 50
4.5.2.1Pengujian Proses Pembentukan Kunci 50
4.5.2.2Pengujian Proses Enkripsi 51
4.5.2.3Pengujian Proses Dekripsi 53
BAB 5 KESIMPULAN DAN SARAN 54
5.1 Kesimpulan 54
5.2 Saran 55
Daftar Pustaka 56
Lampiran A : Listing Program 57
DAFTAR TABEL
Halaman
Tabel 2.1 Perbandingan Kunci RSA dan ECDS/ECES 15
Tabel 2.2 Perhitungan a2mod 2579 dan a1289mod 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
Halaman
Gambar 2.1 Kriptografi dan Kriptanalisis adalah cabang ilmu Kriptologi 10
Gambar 2.2 Mesin Enigma 12
Gambar 2.3 Skema Kriptografi Simetri 18
Gambar 2.4 Skema Kriptografi Nirsimetri 19
Gambar 2.5 Flowchart Algoritma ElGamal 23
Gambar 2.6 Flowchart Algoritma RSA 26
Gambar 3.1 Flowchart Algoritma Kombinasi 41
Gambar 3.2 Flowchart Fungsi Cek Prima 42
Gambar 3.3 Flowchart Fungsi Bilangan Acak 43
Gambar 3.4 Flowchart Fungsi Pengecekan Elemen Primitif 44
Gambar 3.3 Flowchart Fungsi Pencarian Elemen Primitif Acak 45
Gambar 4.1 Tampilan Program pada Proses Pembentukan Kunci 51
Gambar 4.2 Tampilan Program pada Proses Enkripsi 51
Gambar 4.3 Tampilan Program menampilkan Cipherteks 52