SKRIPSI
ISMAIL FATA LUBIS
091401067
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2015
IMPLEMENTASI SUPER ENKRIPSI ALGORITMA ELGAMAL DENGAN TEKNIK TRANSPOSISI SEGITIGA
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer
ISMAIL FATA LUBIS 091401067
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2015
PERSETUJUAN
Judul : IMPLEMENTASI SUPER ENKRIPSI ALGORITMA ELGAMAL DENGAN TEKNIK TRANSPOSISI SEGITIGA
Kategori : SKRIPSI
Nama : ISMAIL FATA LUBIS Nomor Induk Mahasiswa : 091401067
Program Studi : SARJANA (S1) ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI Diluluskan di
Medan, Januari 2015 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dian Rachmawati, S.Si, M.Kom M. Andri Budiman, ST, M.Comp.Sc, MEM NIP. 198307232009122004 NIP. 197510082008011011
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP.196203171991031001
PERNYATAAN
IMPLEMENTASI SUPER ENKRIPSI ALGORITMA ELGAMAL DENGAN TEKNIK TRANSPOSISI SEGITIGA
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Januari 2015
Ismail Fata Lubis 091401067
PENGHARGAAN
Puji dan syukur kehadirat Allah SWT, yang hanya dengan rahmat dan izin-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Ucapan terima kasih penulis sampaikan kepada:
1. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
2. Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM selaku Dosen Pembimbing 3. Ibu Dian Rachmawati, S.Si, M.Kom selaku Dosen Pembimbing.
4. Bapak Ade Candra S.T, M.Kom selaku Dosen Pembanding. 5. Bapak Aulia Rahmat, S.Si, MSc.IT selaku Dosen Pembanding.
6. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, seluruh tenaga pengajar dan pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
7. Ayahanda Hasbullah Lubis dan Ibunda Sorta Ruslya Manurung, Adinda Rusda Afrizam Lubis dan Frida Asyifa Lubis serta seluruh keluarga besar yang selalu memberikan kasih sayang serta dukungan materil dan moral kepada penulis. 8. Seluruh sahabat dan teman-teman S1 Ilmu Komputer khususnya stambuk 2009,
terutama Azhar Indra, Gamal Nasir, M. Febri Rahmansyah, Rio Auditya, Fiktaruddin, Tedja Mukti Raharja, Santo Nainggolan, Raja Rizki Hsb dan Mustika Agung Maulana yang selalu memberikan semangat dan dorongan kepada penulis selama menyelesaikan skripsi ini.
9. Seluruh Sahabat Jalak Qiuck terutama Husnul Abrar, Shofwan Syauri Nasution, Mhd. Iqbal, M. Syafrizal, Ganda Hutabarat, Ilham Ramadhan Siregar, M. Indra Siregar, dan M. Fachri yang banyak memberikan semangat dan banyak memberi hiburan kepada penulis disaat menyelesaikan skripsi ini. Dan semoga kalian cepat menyusul saya juga.
10. Seseorang yang selalu ada dan selalu membantu penulis baik dalam pengerjaan skripsi ini maupun dalam hal lainnya, Fithri Rizqi Khairani Nasution. Terima kasih atas semua bantuan dan semangat yg telah banyak diberikan kepada penulis selama ini.
11. Pihak-pihak yang terlibat langsung maupun tidak langsung yang membantu penyelesaian laporan ini.
Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.
Medan, Januari 2015
Penulis
ABSTRAK
Keamanan pesan adalah hal yang sangat penting bagi pengguna yang memiliki pesan yang bersifat rahasia. Salah satu pengamanan pesan adalah dengan kriptografi. Kriptografi banyak berkembang sehingga kriptografi simetris sangat mudah dilumpuhkan. Untuk meningkatkan pengamanan pesan salah satunya dengan menggabungkan pemakaian kriptografi simetris dan asimetris. Salah satu algoritma kriptografi asimetris yang umum dipakai adalah algoritma ElGamal. Algoritma ini mendasarkan kekuatannya pada kesulitan memecahkan persoalan matematis logaritma diskrit. Untuk memperkuat algoritma ElGamal digunakan teknik transposisi segitiga yang mampu mengubah susunan kata sesuai bentuk segitiga yang digunakan. Sistem ini mengedepankan aspek recovery. Aspek ini menjamin tidak akan ada pesan yang hilang selama proses enkripsi dan dekripsi. Sistem ini mampu mengenkripsi pesan dengan berbagai ukuran file text. Dalam pengujian file text dengan ukuran 5 kb dapat dienkripsi dalam waktu 42.3 second dan didekripsi dalam waktu 97 milisecond tanpa mengubah isi pesan.
IMPLEMENTATION OF SUPER ENCRYPTION ELGAMAL ALGORITHM USING TRIANGLE TRANSPOSITION
ABSTRACT
Message security is very important for users having confidential messages. One way to make the message more secure is to use cryptography. The field of cryptanalysis has grown rapidly, so that symmetric cryptography can be hacked easily. The way that we can use to increase the security is by combining the use of symmetric and asymmetric cryptography. One of the asymmetric cryptographic algorithm that is commonly used is the ElGamal’s algorithm. This algorithm based on its strength on the difficulty of solving the discrete logarithm problems. To strengthen the ElGamal algorithm we use triangle transposition which can change the arrangement of words to triangular shapes. The priority aspect that the system can cover the most is the process of recovery. This aspect guarantees that there are no messages will be lost during the process of encryption and decryption. This system has capability to encrypt messages with various sizes of text files. In testing, a 5 kb text file can be encrypted in 42.3 seconds and decrypted within 97 milliseconds without changing the message contents.
Keyword: Cryptography, ElGamal, Triangle Transposition
DAFTAR ISI Halaman Persetujuan ii Pernyataan iii Penghargaan iv Abstrak vi Abstract vii
Daftar Isi viii
Daftar Tabel x
Daftar Gambar xi
Daftar Lampiran xiii
Bab I Pendahuluan 1.1 Latar Belakang 1 1.2 Rumusan Masalah 2 1.3 Batasan Masalah 2 1.4 Tujuan Penelitian 2 1.5 Manfaat Penelitian 3 1.6 Metode Penelitian 3 1.7 Sistematika Penulisan 4
Bab II Landasan Teori
2.1 Kriptografi 5
2.2 Tujuan Kriptografi 8
2.3 Ancaman Kriptografi 8
2.4 Kriptografi Asimetris 9
2.5 Akar Primitif 11
2.6 Fermat’s Little Theorem 12
2.7 Modulus Exponential 12
2.8 Algoritma ElGamal 14
2.9 Transposisi Segitiga 15
2.10 Penelitian Terdahulu 16
Bab III Analisis dan Perancangan Sistem
3.1 Analisis Sistem 18
3.1.1 Analisis Masalah 18
3.1.2 Analisis Kebutuhan 19 3.1.2.1 Analisis Fungsional 19 3.1.2.2 Analisis Nonfungsional 20 3.1.2.3 Pemodelan Persyaratan dengan Use Case 20 3.1.3 Analisis Sistem Proses 24
3.2 Perancangan Sistem 25
3.2.1 Flowchart 25
3.2.1.1 Flowchart Gambaran Umum 25 3.2.1.2 Flowchart Proses Enkripsi dengan Algoritma ElGamal 27
3.2.1.3 Flowchart Pembangkitan Kunci Algoritma ElGamal 27 3.2.1.4 Flowchart Proses Dekripsi dengan Algoritma ElGamal 28 3.2.2 Rancangan Antar Muka 29 3.2.2.1 Antar Muka Form Awal 30 3.2.2.2 Antar Muka Form Enkripsi 30 3.2.2.3 Antar Muka Form Dekripsi 33
3.2.3 Tahapan Sistem 35
3.2.3.1 Tahapan Transposisi Segitiga Untuk Enkripsi Pesan 35 3.2.3.2 Tahapan Algoritma ElGamal Untuk Enkripsi Pesan 35 3.2.3.3 Tahapan Algoritma ElGamal Untuk Dekripsi Pesan 40 3.2.3.4 Tahapan Transposisi Segitiga Untuk Dekripsi Pesan 44 Bab IV Implementasi dan Pengujian Sistem
4.1 Implementasi 45
4.1.1 Spesifikasi Perangkat Lunak 45 4.1.2 Form Awal (Loading Form) 46
4.1.3 Form Enkripsi 46
4.1.4 Form Dekripsi 48
4.2 Pengujian 49
4.2.1 Proses Enkripsi 49
4.2.2 Proses Dekripsi 51
4.2.3 Pengujian Sistem Berdasarkan Aspek Recovery 53 4.2.4 Pengujian Sistem Berdasarkan Panjang Karakter Plaintext 74 4.2.5 Pengujian Sistem Berdasarkan Panjang Bilangan Prima 75 Bab V Kesimpulan dan Saran
5.1 Kesimpulan 77
5.2 Saran 77
Daftar Pustaka 79
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
3.1 3.2 4.1 4.2 4.3
Spesifikasi Use Case Enkripsi Spesifikasi Use Case Dekripsi Rangkuman Pengujian Sistem
Pengujian Dengan Kunci yang Sama dan Panjang Karakter Plaintext yang Berbeda
Pengujian Dengan Jumlah Karakter Plaintext yang Sama dan Panjang Bilangan Prima yang Berbeda
21 23 62 75 76
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
2.1 2.2 2.3 2.4 2.5 2.6 2.7 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21
Sistem Kriptografi Konvensional Diagram Kriptografi Simetris Diagram Kriptografi Asimetris
Skema Kriptografi Asimetri Nirkunci Publik Pertukaran Kunci Deffie –Hellman
Enkripsi Transposisi Dekripsi Transposisi
Diagram Ishikawa untuk Analisa Masalah Use Case Diagram Sistem
Activity Diagram untuk Proses Enkripsi Activity Diagram untuk Proses Dekripsi Sequence Diagram Proses Enkripsi Sequence Diagram Proses Dekripsi Gambaran Umum Sistem
Flowchart untuk Proses Enkripsi dengan Algoritma Elgamal Flowchart Pembangkit Kunci Algoritma Elgamal
Flowchart untuk Proses Dekripsi dengan Algoritma Elgamal Rancangan Form Awal
Rancangan Form Enkripsi Rancangan Form Dekripsi
Enkripsi Untuk Transposisi Segitiga Dekripsi Untuk Transposisi Segitiga Loading Form
Form Enkripsi Pesan
Dialog Box Bilangan Bukan Prima Dialog Box Tidak Ada Plaintext Dialog Box Kunci Belum di-generate Form Dekripsi
Plaintext Pengujian Proses Enkripsi Form Enkripsi Pengujian Sistem Segitiga Hasil Proses Enkripsi
Ciphertext Hasil Enkripsi Pengujian Sistem Form Dekripsi Pengujian Sistem
Segitiga Hasil Dekripsi
File Text Hasil Proses Dekripsi File Uji dengan Ukuran 5.02 kb
Proses Enkripsi Pengujian Pesan dangan File Uji 5.02 kb File Ciphertext dengan File Uji 5.02 kb
Proses Dekripsi dengan File Uji 5.02 kb File Hasil Dekripsi dengan File Uji 5.02kb File Uji 10 kb
Proses Enkripsi dengan File Uji 10 kb File Ciphertext dengan File Uji 10 kb
5 7 7 8 10 15 16 19 21 22 23 24 25 26 27 28 29 30 31 33 35 44 46 47 47 47 48 48 49 50 50 51 52 52 53 54 54 55 55 56 57 57 58
4.22 4.23 4.24 4.25 4.26 4.27 4.28 4.29 4.30
Proses Dekripsi dengan File Uji 10 kb File hasil dekripsi dengan File Uji 10 kb File Uji 2 kb
Proses Enkripsi dengan File Uji 2 kb dengan kunci 64 bit File Ciphertext Hasil Enkripsi dengan File Uji 2 kb Proses Dekripsi dengan File Uji 2 kb dan Kunci 64 bit. File Hasil Proses Dekripsi dengan File Uji 2 kb
Grafik Waktu Enkripsi dan Dekripsi Berdasarkan Panjang Plaintext
Grafik Waktu Enkripsi dan Dekripsi Berdasarkan Panjang Bilangan Prima 58 59 59 60 60 61 61 75 76
DAFTAR LAMPIRAN
Halaman
A. Listing Program A-1
B. Curriculum Vitae B-1