KRIPTOGRAFI ELGAMAL MENGGUNAKAN METODE FERMAT TESIS Oleh THERESA ANASTASIA OCTAVIA SINUHAJI 097038002 / TINF
PROGRAM STUDI MAGISTER (S2) TEKNIK INFORMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2012
KRIPTOGRAFI ELGAMAL MENGGUNAKAN METODE FERMAT
TESIS
Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Magister Komputer Dalam Program Studi Magister Teknik Informatika Pada Program Pascasarjana Fakultas MIPA Universitas Sumatera Utara
Oleh THERESA ANASTASIA OCTAVIA SINUHAJI 097038002 / TINF
PROGRAM STUDI MAGISTER (S2) TEKNIK INFORMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2012
PENGESAHAN TESIS Judul Tesis
:
KRIPTOGRAFI ELGAMAL MENGGUNAKAN METODE FERMAT
Nama Mahasiswa Nomor Induk Mahasiswa Program Studi Fakultas
: : : :
THERESA ANASTASIA OCTAVIA SINUHAJI
097038022 Magister (S2) Teknik Informatika Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara
Menyetujui Komisi Pembimbing,
M.Andri Budiman ,ST,M.Comp.Sc,MEM Anggota
Dr.Poltak Sihombing,M.Kom Ketua
Ketua Program Studi
Dekan
Prof. Dr. Muhammad Zarlis NIP : 19570701 198601 1 003
Dr. Sutarman, M.Sc NIP : 19631026 199103 1 001
PERNYATAAN ORISINALITAS
KRIPTOGRAFI ELGAMAL MENGGUNAKAN METODE FERMAT
TESIS
Dengan ini penulis nyatakan bahwa penulis mengakui semua karya tesis ini adalah hasil karya penulis sendiri kecuali kutipan dan ringkasan yang tiap bagiannya telah dijelaskan sumbernya dengan benar.
Medan, 20 Januari 2012
Theresa Anastasia Octavia Sinuhaji NIM. 097038002
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertandatangan di bawah ini: NamaMahasiswa
:
Theresa Anastasia Octavia Sinuhaji
NomorIndukMahasiswa
:
097038002
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 :
KRIPTOGRAFI ELGAMAL MENGGUNAKAN METODE FERMAT Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti NonEksklusif 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.
Medan, 20 Januari 2012
Theresa Anastasia Octavia Sinuhaji NIM. 097038002
Telah diuji pada Tanggal : 20 Januari 2012
PANITIA PENGUJI TESIS Ketua
: Dr.Poltak Sihombing,M.Kom
Anggota
: M. Andri Budiman, ST, M.Comp. Sc, M.EM Prof.Dr.Opim Salim Sitompul Prof. Dr. Muhammad Zarlis Drs.Sawaluddin,MIT
RIWAYAT HIDUP DATA PRIBADI
Nama Lengkap
Theresa Anastasia Octavia Sinuhaji
Tempat dan Tanggal Lahir
Medan, 19 Oktober 1984
Alamat Rumah
Jl. Amaliun No 38 Medan 20215
Email
[email protected]
Instansi Tempat Bekerja
Komisi Pemilihan Umum Kab.Nias Utara
Alamat Kantor
Jl. Desa Fadoro Fulolo Kec.Lahewa Km.40
DATA PENDIDIKAN
TK
: Harapan Kita
Medan
Tamat : 1990
SD
: Swasta Hang Kesturi
Medan
Tamat : 1996
SMP
: Swasta Hang Kesturi
Medan
Tamat : 1999
SMU
: Negri 14
Medan
Tamat : 2002
S1
: Ilmu Komputer USU
Medan
Tamat : 2007
S2
: PSMTINF PPs FMIPA USU
Medan
Tamat : 2012
KATA PENGANTAR Pertama-tama kami panjatkan puji syukur kehadirat Allah SWT atas segala limpahan rahmad dan karunia-Nya sehingga Tesis ini dapat diselesaikan melalui bimbingan, arahan dan bantuan yang diberikan berbagai pihak khususnya pembimbing, pembanding, para dosen dan khususnya mahasiswa Program Studi Magister (S2) Teknik Informatika Universitas Sumatera Utara. Tesis dengan judul : Kriptografi Elgamal Menggunakan Metode Fermat adalah merupakan syarat untuk memperoleh gelar Magister Komputer pada Program Pascasarjana Magister Teknik Informatika FMIPA USU. Dengan selesainya tesis ini, perkenankanlah penulis mengucapkan terima kasih yang sebesar-besarnya kepada: 1. Ketua Program Studi Magister (S2) Teknik Informatika, Prof.Dr.Muhammad Zarlis. Sekretaris Program Studi Magister (S2) Teknik Informatika M. Andri Budiman, ST, M.Comp. Sc, M.EM, 2. Terimakasih yang tak terhingga dan penghargaan setinggi-tingginya saya ucapkan
kepada
Dr.Poltak
Sihombing,M.Kom
dan
M.Andri
Budiman,ST,M.Comp.Sc,M.EM, selaku pembimbing utama yang dengan penuh kesabaran membimbing, memotivasi, memberikan dukungan moril, kritik dan saran serta memberikan bahan - bahan yang berkaitan dengan penyusunan tesis ini sehingga dapat diselesaikan dengan baik. 3. Prof.Dr.Opim Salim Sitompul, Prof.dr.Muhammad Zarlis, Drs Sawaluddin selaku pembanding yang telah memberikan saran, masukan dan arahan yang baik demi penyelesaian tesis ini 4. Staf dan karyawan S2 Teknik Informatika, yang sudah membantu dalam perkuliahan ini, terima kasih atas kebaikan, keramahan semoga sukses selalu. 5. Teristimewa seluruh keluarga besar Ayahanda Drs.Wara Sinuhaji,M.Hum dan Ibunda Dra.Indrawaty , Kakanda Lestari Afflah,ST, Boykhe Pranatha Sinuhaji,S.Psi, Yudhistira Gautama Sinuhaji, ST, Calon Suami Yuki Febrian,ST atas dorongan moril dan materil yang telah diberikan selama perkuliahan sampai penulisan tesis ini. i
Kepada semua pihak yang tidak dapat penulis sebutkan satu persatu dalam tesis ini, terima kasih atas segala bantuan yang diberikan.
Medan, 20 Januari 2012
Theresa Anastasia Octavia Sinuhaji NIM 097038002
ii
KRIPTOGRAFI ELGAMAL MENGGUNAKAN METODE FERMAT
ABSTRAK
Dalam pembentukan Kriptografi ElGamal salah satu kuncinya menggunakan bilangan prima dan menitik beratkan kekuatan kuncinya pada pemecahan masalah logaritma diskrit. Sehingga, dengan memanfaatkan bilangan prima yang besar serta masalah logaritma diskrit yang cukup menyulitkan, maka keamanan kuncinya akan lebih terjamin. Proses penyandian kriptografi ElGamal didahului pembentukan kunci, oleh penerima pesan. Dua macam pasangan kunci, yaitu kunci publik dan kunci privat. Kunci publik dapat di sebar luaskan sedang kunci privat untuk dirinya sendiri. Untuk membuat sebuah pesan rahasia pesan harus dikonversikan terlebih dahulu dalam bilangan bulat kemudian di kodekan berdasarkan kode ASCII (American Standard for Information Interchange). Kriptografi ElGamal memerlukan penghitungan yang lama dan sulit untuk menghasilkan algoritma yang benar-benar aman. Kriptografi ElGamal, yang merupakan bagian dari kriptografi asimetris memiliki kelebihan dan kelemahan yang tidak jauh berbeda dengan kriptografi simetri yang lain. Kelebihannya yang berbeda dan utama adalah kriptografi ElGamal menggunakan bilangan acak sehingga chiperteks tidak akan sama walaupun bloknya sama, sedangkan kelemahannya adalah dalam proses penghitungan yang cukup menyulitkan, karena angka-angka yang digunakan cukup besar.Adapun algoritma yang digunakan untuk peracangan program ini untuk membangkitkan bilangan prima tersebut adalah dengan menggunakan Fermat.
Kata Kunci : Algoritma ElGamal, Fermat, kunci publik, enkripsi, dekripsi. kerahasiaan data, keaslian data.
iii
ELGAMAL CRYPTOGRAPHY USING FERMAT METHOD
ABSTRACT
In the configuration of ElGamal Cryptography, one of the key are by using primes number and focuses on solving the strength of the discrete algorithm problem. So that, by utilizing a big primes numbers, with a difficult discrete logarithm problem, so then the security key are more secure. The encode process of ElGamal Cryptography preceded by the configuration key, because of the message recipient. The two kinds of key pairs are the public key and private key. The Public key can spread widely while the Private key just for it self. In order to make integers, a secret message must be converted firstly. And then encoded based on ASCII code ( American Standard Code for Information Interchange). ElGamal Cryptography requires a long computation and hard to generate a completely safe algorithms, it is also part of the asymmetric cryptography which has many advantages and weakness that not so different from other cryptography symmetry. The main different by using ElGamal Cryptographic key are on random numbers, so by using it will be not same even though same blocks, while the weakness process of calculation is quite difficult, causes by a large numbers. So Fermat is the answer for this program to generate the prime numbers. Keyword : ElGamal Algorithm, Fermat, Public Key, Encryption, Decryption, Confidential Data and Original Data.
iv
DAFTAR ISI Halaman KATA PENGANTAR
i
ABSTRAK
iii
ABSTRACT
iv
DAFTAR ISI
v
DAFTAR TABEL
vii
DAFTAR GAMBAR
viii
BAB I
PENDAHULUAN
1
1.1
Latar Belakang
1
1.2
Perumusan Masalah
4
1.3
Batasan Masalah
4
1.4
Tujuan Penelitan
4
1.5
Manfaat Penelitian
5
BAB II
TINJAUAN PUSTAKA
6
2.1
Kriptografi Secara Umum
6
2.2
Terminologi Kriptografi
8
2.3
Kriptografi Kunci Simetris dan Asimetris
10
2.4
Kriptografi Elgamal
14
2.5
Kelebihan Kriptografi ElGamal
15
2.6
Proses Pembentukan Kunci
16
2.7
Teorema Fermat
18
2.8
Riset Yang Terkait
19
v
BAB III
BAB IV
BAB V
METODOLOGI PENELITIAN
21
3.1
Merancang Kunci Pengaman
21
3.2
Merancang Prosedur Enkripsi dan Dekripsi
22
3.3
Merancang Antar Muka (Interface)
22
3.4
Membuat Program
22
3.5
Tes Keprimaan Fermat
23
3.6
Masalah logaritma Diskret
23
3.7
Sistem Kriptografi Elgamal
24
HASIL DAN PEMBAHASAN
33
4.1
Pendahuluan
33
4.2
Pembangkit Bilangan Acak Fermat
33
4.3
Proses Pembentukan kunci (flowchart)
34
4.4
Proses Penerapan Enkripsi (flowchart)
36
4.5
Proses Penerepan Dekripsi (flowchart)
38
4.6
Uji Coba Program
39
KESIMPULAN DAN SARAN
44
5.1
Kesimpulan
44
5.2
Saran
44
DAFTAR PUSTAKA
45
LAMPIRAN TES KEPRIMAAN DENGAN METODE FERMAT
L-1
vi
DAFTAR TABEL
Nomor Tabel
Judul
Halaman
3.1 Konversi Karakter Pesan ke Kode Ascii
28
3.2 Proses Enkripsi
29
3.3 Proses Deskripsi
32
4.1 Tes Keprimaan metode Fermat
39
vii
DAFTAR GAMBAR
Nomor Gambar
Judul
Halaman
2.1 Perbandingan Plainteks dan Chipherteks
9
2.2 Skema Algoritma Simetris
12
2.3 Skema Algoritma Asimetris
14
4.1 Diagram Alir Proses Pembentukan Kunci
35
4.2 Diagram Alir Proses Enkripsi Pesan
37
4.3 Diagram Alir Proses Dekripsi Pesan
38
4.4 Tampilan Utama Program
40
4.5 Tampilan File yang di pilih user
41
4.6 Tampilan pemilihan salah satu bilangan Prima Fermat
42
4.7 Tampilan Enkripsi data (ciphertext)
42
4.8 Proses memasukkan kunci privat pada dekripsi
43
4.9 Tampilan hasil file yang telah di dekripsi
43
viii