Algoritma The Sieve Of Eratosthenes dan Linear Congruential Generator ( LCG ) Dalam Perancangan Aplikasi Kriptografi RSA
ALGORITMA THE SIEVE OF ERATOSTHENES DAN LINEAR CONGRUENTIAL GENERATOR ( LCG ) DALAM PERANCANGAN APLIKASI KRIPTOGRAFI RSA TESIS Oleh M FAKHRIZA 097038035/TINF PROGRAM STUDI MAGISTER (S2) TEKNIK INFORMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA 2012
ALGORITMA THE SIEVE OF ERATOSTHENES DAN LINEAR CONGRUENTIAL GENERATOR ( LCG ) DALAM PERANCANGAN APLIKASI KRIPTOGRAFI RSA TESIS Diajukan sebagai salah satu syarat untuk memperoleh gelar Magister Komputer dalam Program Studi Magister
Teknik Informatika pada Program Pascasarjana Fasilkom -TI Universitas Sumatera Utara Oleh M FAKHRIZA 097038035/TINF PROGRAM STUDI MAGISTER (S2) TEKNIK INFORMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA 2012
PENGESAHAN TESIS
Judul Tesis :
ALGORITMA THE SIEVE OF
ERATOSTHENES DAN LINEAR CONGRUENTIAL GENERATOR ( LCG ) DALAM PERANCANGAN APLIKASI KRIPTOGRAFI RSA Nama Mahasiswa : M Fakhriza NIM : 097038035 Program Studi
: Magister Teknik Informatika
Fakultas : Ilmu Komputer dan Teknologi Informasi Menyetujui Komisi PembimbingM.Andri Budiman,ST, M.Comp.Sc, MEM Prof. Dr. Muhammad Zarlis
Anggota KetuaKetua Program Studi Dekan Prof. Dr. Muhammad Zarlis NIP : 195707011986011003 Dr. Sutarman, M.Sc NIP : 196310261991031001
PERNYATAAN ORISINALITAS
ALGORITMA THE SIEVE OF ERATOSTHENES DANLINEAR CONGRUENTIAL GENERATOR ( LCG )
DALAM PERANCANGAN APLIKASI
KRIPTOGRAFI RSA
TESIS
Dengan ini saya nyatakan bahwa saya mengakui semua karya tesis ini adalah hasil kerja saya sendiri kecuali kutipan dan ringkasan yang tiap bagiannya telah di jelaskan sumbernya dengan benar.
Medan, 22 Februari 2012 M. FAKHRIZA NIM : 097038035
PERNYATAAN PERSETUJUAN PUBLIKASI
KARYA ILMIAH UNTUK KEPENTINGANAKADEMIS
Sebagai civitas akademika Universitas Sumatera Utara, saya yang bertanda tangan di bawah ini: Nama : M FAKHRIZA Nim : 097038035
Program Studi : Magister ( S2) Teknik Informatika Jenis Karya Ilmiah : TESIS
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive
Royalty free Right) atas Tesis saya yang berjudul:
ALGORITMA THE SIEVE OF ERATOSTHENES DAN
LINEAR CONGRUENTIAL GENERATOR ( LCG ) DALAM
PERANCANGAN APLIKASI KRIPTOGRAFI RSA
Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non-Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasikan Tesis saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan atau sebagai pemilik hak cipta. Demikian pernyataan ini dibuat dengan sebenarnya.
Medan, 22 Februari 2012 M. FAKHRIZA NIM : 097038035
Telah diuji pada Tanggal : 24 Januari 2012 PANITIA PENGUJI TESIS Pembimbing Utama : Prof. Dr. Muhammad Zarlis Pembimbing Anggota : M. Andri Budiman, ST,M.Comp.Sc,MEM Ketua Penguji : Prof. Dr. Herman Mawengkang Anggota Penguji : Dr. Erna Budhiarti Nababan Anggota Penguji : Ade Candra, ST, M.Kom
RIWAYAT HIDUP
DATA PRIBADINama lengkap berikut gelar : M Fakhriza Tempat dan Tanggal Lahir : Medan 12 Februari 1985 Alamat Rumah : Jl Seto, No. 92 Medan Telepon / HP : 085296550077 Email : bk1211za@ymail.com
DATA PENDIDIKAN
SD : SD Mamiyai Medan Tamat : 1997 SMP : Pesantren Modern Nurul Hakim Tembung Tamat : 2000 SMU : SMU Swasta Harapan Medan Tamat : 2003 Strata-1 : Universitas Islam Sumatera Utara Tamat : 2009
KATA PENGANTAR
Bismillahhirahmanirahim. Dengan menyebut Nama Allah yang Maha Pengasih dan Penyayang,. Serta rahmat dan hidayah-NYA, Alhamdulillahi rabbil ‘alamin, puji dan syukur atas segala yang telah diberikan Allah SWT kepada penulis melalui Ridha dan Karunia-Nya sehingga tesis ini dapat diselesaikan, dengan judul “Algoritma The Sieve Of Eratosthenes Dan Linear Congruential Generator (LCG) Dalam Perancangan Aplikasi Kriptografi RSA”.
Tesis merupakan salah satu syarat yang harus dipenuhi oleh setiap mahasiswa untuk mendapat gelar Magister Komputer pada Program Studi Teknik Informatika Sekolah Pascasarjana Universitas Sumatera Utara Medan.
Pada kesempatan ini pula penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada berbagai pihak yang telah banyak membantu peneliti baik secara moril maupun material, langsung dan tidak langsung sehingga penulisan tesis ini selesai tepat pada waktunya. Untuk itu semua saya ingin mengucapkan terima kasih kepada : 1.
Bapak Prof. Dr. H. Muhammad Zarlis, selaku Pembimbing utama, Ketua Program Studi Magister Teknik Informatika dan Dekan Fakultas Ilmu Komputer dan Teknologi Informasi.
2. Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM selaku sekretaris Program studi Magister Teknik Informatika dan pembimbing anggota.
3. Bapak Prof. Dr. Herman Mawengkang selaku ketua komisi pembanding.
4. Dr. Erna Budhiarti Nababan selaku anggota komisi pambanding.
5. Bapak Ade Candra, ST, M.Kom, selaku anggota komisi pembanding.
6. Kedua Orang Tua penulis ( Papa dan Mama ) yang selalu memberikan dukungan moril, materil serta do’a kepada penulis sampai saat ini. Isteri (maya) dan anak tercinta (Alief Sandro), Beserta adik Rika, Ima, Rozi dan Koko yang selalu menyayangi penulis.
7. Seluruh Guru serta Dosen yang telah mendidik dan membentuk pola pikir penulis selama ini, Anda adalah pahlawan tanpa tanda jasa.
8. Bapak Ir. Suhaimi Batubara beserta isteri selaku guru, dosen, dan orang tua yang telah memberikan banyak inspirasi serta dorongan moril kepada penulis.
9. Rekan-rekan sesama mahasiswa, terutama buat : Pak Kapten, Pak Udin, Pak Husni, Pak Marlin, Pak Sayed, Pak Nurdin, Razi, Maries, Tessa dan lainnya.
10. Seluruh Pegawai administrasi Program Studi Magister Teknik Informatika USU terutama buat : Bang Jawa, Citra, Bang ewin, widya dan lainnya.
11. Seluruh keluarga besar ADA FC dan sahabat-sahabat tercinta.
12. Semua pihak yang telah memberikan bantuan dalam penyelesaian tesis ini.
Penulis menyadari bahwa kemampuan dan pengalaman penulis masih sangat terbatas. Oleh karena itu, semoga kekurangan yang ada pada penulis dapat diperbaiki bersama dan berharap Tesis ini bermanfaat bagi semua pihak, Amin. Wabillahi taufik walhidayah Wassalamu’alaikum warahmatullahi wabarakatuh
Medan, 22 Februari 2012 Penulis,
M. Fakhriza 097038035 ii
ALGORITMA THE SIEVE OF ERATOSTHENES DAN LINEAR
CONGRUENTIAL GENERATOR (LCG) DALAM PERANCANGAN
APLIKASI KRIPTOGRAFI RSA
ABSTRAK
Kriptografi adalah ilmu untuk menyamarkan pesan agar hanya dikenal baik oleh penyedia dan penerima pesan. Algoritma kunci publik RSA adalah salah satu metode dalam ilmu kriptografi. Dalam algoritma kunci publik RSA, ada kunci privat dan publik, di mana masing-masing kunci menggunakan bilangan acak yang merupakan bilangan prima untuk melakukan enkripsi dan dekripsi.Bilangan acak yang dihasilkan sebenarnya adalah bilangan pseudo-random ('hampir' acak).
Linear Congruential Generator (LCG) algoritma yang digunakan untuk
menghasilkan bilangan acak, dan The Sieve Of Eratosthenes diterapkan untuk menentukan apakah bilangan acak yang dihasilkan adalah bilangan prima.
Kata-kata Kunci : RSA, The Sieve of Eratosthenes, Linear Congruential Generator, Enkripsi, Dekripsi.
THE SIEVE OF ERATOSTHENES ALGORITHM AND LINEAR
CONGRUENTIAL GENERATOR ( LCG )IN THE DESIGN
OF RSA CRYPTOGRAPHY APPLICATIONS
ABSTRACT
Cryptography is a science for disguising message in order that it is only known by both the provider and the receiver of the message. RSA Public key algorithm is a method in the science of cryptography. In RSA public key algorithm, there are private and public keys, in which each of the keys uses random number which is a prime in order to do encryption and decryption. The random number generated isactually a pseudo-random numbers (‘almost’ random). Linear Congruential
Generator ( LCG ) algorithm is used to generate random numbers, and the Sieve
of Eratosthenes is applied to determine whether the random numbers generated
are primes.Keywords: RSA, The Sieve of Eratosthenes, Linear Congruential Generator, Encryption, Decryption.
iv
DAFTAR ISI
17 2.4. Bilangan Acak ..........................................................................
25 3.2. Enkripsi dan Dekripsi RSA Kunci Publik ...............................
25 3.1. Perumusan Algoritma Kunci Publik RSA ...............................
21 BAB III METODOLOGI PENELITIAN ..................................................
2.6. Pembangkit Bilangan Acak Linera Congruential Generator (LCG) .......................................................................................
20
20 2.5. Probabilistic Encryption ..........................................................
19 2.4.2. Algoritma Pembangkit Bilangan Acak Semu ...............
2.4.1. Pembangkit Bilangan Acak (Crytographically Pseudo- Random Number Generator .........................................
19
17 2.3.1. ALgoritma The Sieve Of Eratosthenes .........................
KATA PENGANTAR ..................................................................................... i ABSTRAK ....................................................................................................... iii ABSTRACT ..................................................................................................... iv DAFTAR ISI ................................................................................................... v DAFTAR TABEL ........................................................................................... vii DAFTAR GAMBAR ...................................................................................... viii BAB I PENDAHULUAN .........................................................................
12 2.3. Pembangkit Bilangan Prima ....................................................
9 2.2. Algoritma RSA ........................................................................
6 2.1.1. Kriptografi Kunci Simetris dan Asimetris ....................
6 2.1. Kriptografi ................................................................................
5 BAB II TINJAUAN PUSTAKA ................................................................
5 1.5. Manfaat Penelitian ...................................................................
4 1.4. Tujuan Penelitian .....................................................................
4 1.3. Batasan Masalah ......................................................................
1 1.2. Perumusan Masalah .................................................................
1 1.1. Latar Belakang Masalah ..........................................................
27 v
3.2.1. Enkripsi ..........................................................................
27 3.2.2. Dekripsi .........................................................................
29
3.3. Membangkit Bilangan Acak Dengan Linear Congruential Generator .................................................................................
31 3.4.. Pengujian Bilangan Prima dengan The Sieve of Eratosthenes
38 BAB IV ANALISIS DAN PEMBAHASAN ..............................................
41 4.1. Pendahuluan ............................................................................
41 4.2. Perancangan Program ..............................................................
41 BAB V KESIMPULAN DAN SARAN .....................................................
47 5.1. Kesimpulan ..............................................................................
47 5.2. Saran ........................................................................................
47 DAFTAR PUSTAKA
LISTING PROGRAM
vi
DAFTAR TABEL
Tabel 2.1. Perbandingan Kecepatan Waktu Penghasilan Angka ....................22 Tabel 2.2. Contoh Bilangan Acak Yang Dihasilkan Dari Persamaan LCG.....
23 Tabel 3.1. Konstanta Yang Bagus Untuk LCG ................................................
32 Tabel 3.2. Hasil Pembuktian Contoh Salah Satu Konstanta ............................
33 vii
DAFTAR GAMBAR
Gambar 1.1. Proses Enkripsi dan Dekripsi Kunci Publik ...............................2 Gambar 2.1. Contoh Confidentiality ...............................................................
6 Gambar 2.2. Contoh Data Integrity .................................................................
7 Gambar 2.3. Contoh Authentication ...............................................................
7 Gambar 2.4. Contoh Non-repudiation .............................................................
8 Gambar 2.5. Diagram Proses Enkripsi dan Dekripsi Algoritma Simetris........
10 Gambar 2.6. Diagram Proses Enkripsi dan Dekripsi Algoritma Asimetris .....
11 Gambar 3.1. Main Flowchart ...........................................................................
26 Gambar 3.2. Flowchart Proses Enkripsi ..........................................................
28 Gambar 3.3. Flowchart Proses Dekripsi ..........................................................
29 Gambar 3.4. Flowchart LCG ............................................................................
37 Gambar 3.5. Eksekusi Bilangan Kelipatan Dua ..............................................
38 Gambar 3.6. Eksekusi Bilangan Kelipatan Tiga ..............................................
39 Gambar 3.7. Eksekusi Bilangan Kelipatan Lima .............................................
3 Gambar 3.8. Eksekusi Bilangan Kelipatan Tujuh ............................................
40 Gambar 4.1. Tampilan Utama Program ..........................................................
41 Gambar 4.2. Input Teks ....................................................................................
42 Gambar 4.3. Setelah Submit.............................................................................
43 Gambar 4.4. Setelah Submit Berkali-kali .......................................................
44 Gambar 4.5. Simulasi 10 karakter ...................................................................
45 Gambar 4.4. Simulasi 10 karakter setelah submit ...........................................
45 Gambar 4.4. Simulasi lebih dari 10 karakter setelah submit ...........................
46 viii