PERANCANGAN APLIKASI PAILLIER CRYPTOSYSTEM UNTUK MENGAMANKAN DATA FILE
SKRIPSI
NOVY 071401034
PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2011
Universitas Sumatera Utara
PERANCANGAN APLIKASI PAILLIER CRYPTOSYSTEM UNTUK MENGAMANKAN DATA FILE
SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
NOVY 071401034
PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2011
Universitas Sumatera Utara
PERSETUJUAN
Judul
Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas
: PERANCANGAN APLIKASI PAILLIER CRYPTOSYSTEM UNTUK MENGAMANKAN DATA FILE : SKRIPSI : NOVY : 071401034 : SARJANA (S1) ILMU KOMPUTER : ILMU KOMPUTER : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, Juli 2011
Komisi Pembimbing
:
Pembimbing 2
Pembimbing 1
M. Andri B, ST, MCompSc, MEM NIP.197510082008011011
Prof. Dr.Opim Salim Sitompul NIP. 196108171987011001
Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 196203171991021001
Universitas Sumatera Utara
PERNYATAAN
PERANCANGAN APLIKASI PAILLIER CRYPTOSYSTEM UNTUK MENGAMANKAN DATA FILE SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Desember 2011
Novy 071401034
Universitas Sumatera Utara
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa karena kasih dan karuniaNya yang selalu menyertai penulis sehingga skripsi ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Ucapan terima kasih penulis sampaikan kepada Prof. Dr.Opim Salim Sitompul dan M. Andri B, ST, MCompSc, MEM selaku pembimbing pada penyelesaian skripsi ini yang telah memberikan panduan dan penuh kepercayaan kepada penulis untuk menyempurnakan kajian ini. Ucapan terima kasih juga penulis sampaikan kepada Ade Candra, ST, M.Kom dan Dian Rachmawati, S.Si, M.Kom selaku dosen penguji. Panduan ringkas, padat, dan profesional telah diberikan kepada penulis agar dapat menyelesaikan tugas ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Departemen Ilmu Komputer, Dr. Poltak Sihombing, M.Kom dan Maya Silvi Lydia, B.Sc, M.Sc, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Departemen Ilmu Komputer FMIPA USU, dan pegawai di Ilmu Komputer FMIPA USU. Akhirnya, tidak terlupakan penulis mengucapkan banyak terima kasih kepada ayah saya Aweng, ibu saya Djulia Widjaja, kakak saya Nony, dan adik saya Budiyanto yang selalu memberikan cinta kasihnya dan dukungannya baik material dan spiritual serta seluruh sahabat dan kerabat yang berjasa memberikan dorongan kepada penulis selama menyelesaikan skripsi ini. Penulis juga mengucapkan terima kasih kepada rekan-rekan kuliah, khususnya Debora Nainggolan,, Lunawait Winda M.Paulina R., Juliana Nababan dan Sony Septiana yang selalu memberikan semangat dan dorongan kepada penulis. Semoga Tuhan Yang Maha Esa memberikan limpahan karunia kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.
Universitas Sumatera Utara
ABSTRAK
Paillier cryptosystem merupakan sebuah algoritma asimetris probabilistic untuk kriptografi kunci publik. Sekuritas dari algoritma Paillier ini bergantung pada problema perhitungan n-residue class yang dipercaya sangat sulit untuk dikomputasi. Algoritma Paillier ini juga membutuhkan algoritma Extended Euclidean untuk menghitung nilai invers modular dan algoritma Fast Exponentiation untuk menghitung nilai perpangkatan modulo bilangan besar serta algoritma Rabin Miller untuk menentukan apakah nilai tersebut prima atau bukan. Dalam skripsi ini dibangun sebuah perangkat lunak untuk menjelaskan prosedur kerja dari Paillier cryptosystem secara tahapan demi tahapan yang mencakup proses pembentukan kunci, proses enkripsi dan proses dekripsi. Selain itu, perangkat lunak ini juga disertai fasilitas untuk menyimpan laporan hasil perhitungan dalam sebuah file teks. Perangkat lunak juga menyediakan aplikasi untuk melakukan pengamanan data file teks. Kunci:Kriptografi,Paillier Cryptosystem,Extended Euclidean, Fast Exponentiation,Rabin Miller
Universitas Sumatera Utara
PAILLIER CRYPTOSYSTEM APPLICATION AND DESIGN FOR SECURE A DATA FILE
ABSTRACT
Paillier Cryptosystem is an Asymetric Probabilities Algoritm for public key cryptography. Securities from Paillier Cryptosystem is depend on the calculities of n-residue class problems that very difficult to be compute.This Paillier algoritm also need Extended Euclidean for computing the invers modular value ,and Fast Exponentiation for computing a big value in squaring modular and also Rabin Miller algoritm for checking the value if its prime or not. Inside this thesis,there will has an application that give an explanation of Paillier Crptosystem in step by step such as making key process,encryption and description.Other else, This application can save the computing process in a text file.And this application can be used for encoding the text file for protection. Keywords:Kriptografi,Paillier Cryptosystem,Extended Euclidean, Fast Exponentiation,Rabin Miller
Universitas Sumatera Utara
DAFTAR ISI
Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar
ii iii iv v vi vii ix x
Bab 1 Pendahuluan 1.1 Latar Belakang 1.2 Perumusan Masalah 1.3 Tujuan 1.4 Manfaat 1.5 Batasan Masalah 1.6 Sistematika Penulisan
1 2 3 3 3 4
Bab 2 Landasan Teori 2.1 Pengenalan Kriptografi 2.1.1 Defenisi Kriptografi 2.1.2 Tujuan Kriptografi 2.2 Jenis Sistem Kriptografi 2.2.1Sistem Kriptografi Simetris 2.2.2 Sistem Kriptografi Asimetris 2.3 Aplikasi Kriptografi 2.3.1 Privacy 2.3.2 Digital Signature dan Authentication 2.3.3 Key Agreement Protocol 2.3.4 Identification 2.4 Landasan Matematis Kriptografi 2.4.1 Teori Bilangan (Numbers Theory) 2.4.2 Greatest Common Divisor (GCD) 2.4.3 Least Common Multiplication (LCM) 2.4.4 Bilangan Prima 2.4.4.1 Metode Rabin Miller 2.4.5 Aritmatika Modular 2.4.6 Metode Fast Exponentiation 2.4.7 Metode Modulo Congruence 2.4.8 Inverse Aritmetika Modular 2.5 Paillier Cryptosystem 2.5.1 Notasi yang Digunakan 2.5.2 Algoritma
5 5 5 7 7 8 9 9 9 10 11 12 12 13 14 14 15 15 17 17 18 19 19 20
Universitas Sumatera Utara
2.6 Rekayasa Preangkat Lunak
35
Bab 3 Analisis dan Perancangan Sistem 3.1 Analisis 3.1.1 Analisis Persyaratan 3.1.1.1 Persyaratan Fungsional 3.1.1.2 Persyaratan Non Fungsional 3.1.2 Analisis Proses 3.1.3 Pemodelan Sistem 3.2 Perancangan 3.2.1 Penggunaan Komponen 3.2.2 Perancangan Menu 3.2.3 Perancangan Tampilan 3.2.3.1 Form Main 3.2.3.2 Form Proses Pembentukan Kunci 3.2.3.3 Form Enkripsi 3.2.3.4 Form Dekripsi 3.2.3.5 Form Aplikasi Pembentukan Kunci 3.2.3.6 Form Aplikasi Enkripsi 3.2.3.7 Form Aplikasi Dekripsi 3.2.3.8 Form Teori 3.2.3.9 Form Laporan 3.2.3.10 Form Mengenai
37 37 37 38 39 40 47 47 47 49 50 51 52 53 54 55 56 57 58 59
Bab 4 Algoritma dan Implementasi 4.1 Algoritma 4.1.1 Algoritma Pembentukan Kunci 4.1.2 Algoritma Enkripsi 4.1.3 Algoritma Dekripsi 4.1.4 Algoritma Fungsi L 4.2. Implementasi 4.2.1 Kebutuhan Sistem 4.2.2 Hasil Eksekusi 4.2.2.1 Tampilan Perangkat Lunak 4.2.2.2 Laporan yang Dihasilkan
60 60 61 62 64 64 64 65 65 77
Bab 5 Kesimpulan dan Saran 5.1 Kesimpulan 5.2. Saran
78 78
Daftar Pustaka Lampiran A : Listing Program Lampiran B : Hasil Pengujian Aplikasi Paillier Cryptosystem
79
Universitas Sumatera Utara
DAFTAR TABEL
Halaman Tabel 2.1 Perhitungan Inverse Modulo (1) Tabel 2.2 Perhitungan Inverse Modulo (2) Tabel 2.3 Perhitungan Inverse Modulo (3) Tabel 2.4 Perhitungan Inverse Modulo (4) Tabel 2.5 Perhitungan Inverse Modulo (5) Tabel 2.6 Perhitungan Inverse Modulo (6) Tabel 3.1 Narasi Use Case Input dan Hitung Nilai Kunci Tabel 3.2 Narasi Use Case Hitung Kunci Publik Tabel 3.3 Narasi Use Case Hitung Kunci Privat Tabel 3.4 Narasi Use Case Enkripsi File Pesan Tabel 3.5 Narasi Use Case Dekripsi File Pesan Tabel 3.6 Narasi Use Case Pemahaman Proses Pembentukan Kunci Tabel 3.7 Narasi Use Case Pemahaman Proses Enkripsi Tabel 3.8 Narasi Use Case Pemahaman Proses Dekripsi
23 23 23 24 24 24 40 41 42 42 43 44 45 46
Universitas Sumatera Utara
DAFTAR GAMBAR
Halaman Gambar 2.1 Ilustrasi Sistem Kriptografi Simetris Gambar 2.2 Ilustrasi Sistem Kriptografi Asimetris Gambar 2.3 Sistem Bilangan Gambar 2.4 Flowchart Proses Pembentukan Kunci Paillier cryptosystem Gambar 2.5 Flowchart Proses Enkripsi Paillier cryptosystem Gambar 2.6 Flowchart Proses Dekripsi Paillier cryptosystem Gambar 3.1 Activity Diagram dari Metode Paillier Gambar 3.2 Use case sistem Gambar 3.3 Rancangan menu perangkat lunak Gambar 3.4 Rancangan Form Main Gambar 3.5 Rancangan Form Proses Pembentukan Kunci Gambar 3.6 Rancangan Form Proses Enkripsi Gambar 3.7 Rancangan Form Proses Dekripsi Gambar 3.8 Rancangan Form Aplikasi Pembentukan Kunci Gambar 3.9 Rancangan Form Aplikasi Enkripsi Gambar 3.10 Rancangan Form Aplikasi Dekripsi Gambar 3.11 Rancangan Form Teori Gambar 3.12 Rancangan Form Laporan Gambar 3.13 Rancangan Form Mengenai Gambar 4.1 Tampilan Form Main Gambar 4.2 Tampilan Form Teori Gambar 4.3 Tampilan Form Pemahaman Proses Pembentukan Kunci Slide Pengisian Nilai p dan q Gambar 4.4 Tampilan Form Pemahaman Proses Pembentukan Kunci Slide Pengisian Nilai n dan h Gambar 4.5 Tampilan Form Pemahaman Proses Pembentukan Kunci Slide Pengisian Nilai g Gambar 4.6 Tampilan Form Pemahaman Proses Pembentukan Kunci Slide Proses Perhitungan Nilai u dan L(u) Gambar 4.7 Tampilan Form Pemahaman Proses Pembentukan Kunci Slide Proses Perhitungan Nilai m Gambar 4.8 Tampilan Form Pemahaman Proses Enkripsi Slide Pengisian Pesan Gambar 4.9 Tampilan Form Pemahaman Proses Enkripsi Slide Pengelompokan Pesan Gambar 4.10 Tampilan Form Pemahaman Proses Enkripsi Slide Pengisian Nilai r Gambar 4.11 Tampilan Form Pemahaman Proses Enkripsi Slide Perhitungan Nilai Ci Gambar 4.12 Tampilan Form Pemahaman Proses Enkripsi Slide Penggabungan Semua Nilai Ci Gambar 4.13 Tampilan Form Pemahaman Proses Dekripsi Slide Pengisian Nilai Cipher
7 9 13 21 25 27 39 40 49 50 51 52 53 54 55 56 57 58 59 65 65 66 67 67 68 68 69 70 70 71 71 72
Universitas Sumatera Utara
Gambar 4.14 Tampilan Form Pemahaman Proses Dekripsi Slide Proses Pengelompokan Cipher Value Gambar 4.15 Tampilan Form Pemahaman Proses Dekripsi Slide Proses Perhitungan Nilai Ui dan L(Ui) Gambar 4.16 Tampilan Form Pemahaman Proses Dekripsi Slide Proses Perhitungan Nilai Mi Gambar 4.17 Tampilan Form Pemahaman Proses Dekripsi Slide Proses Penggabungan Semua Nilai Mi Gambar 4.18 Tampilan Form Aplikasi Pembuatan Kunci Gambar 4.19 Tampilan Form Aplikasi Enkripsi Gambar 4.20 Tampilan Form Aplikasi Dekripsi Gambar 4.21 Tampilan Form Laporan
72 73 73 74 74 75 76 77
Universitas Sumatera Utara