IMPLEMENTASI SUPER ENKRIPSI ALGORITMA ELGAMAL DENGAN TEKNIK TRANSPOSISI SEGITIGA
SKRIPSI
ISMAIL FATA LUBIS 091401067
PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015
Universitas Sumatera Utara
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
Universitas Sumatera Utara
ii
PERSETUJUAN
Judul
Kategori Nama Nomor Induk Mahasiswa Program Studi Fakultas
: IMPLEMENTASI SUPER ENKRIPSI ALGORITMA ELGAMAL DENGAN TEKNIK TRANSPOSISI SEGITIGA : SKRIPSI : ISMAIL FATA LUBIS : 091401067 : SARJANA (S1) ILMU KOMPUTER : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI Diluluskan di Medan, Januari 2015
Komisi Pembimbing
:
Pembimbing 2
Pembimbing 1
Dian Rachmawati, S.Si, M.Kom NIP. 198307232009122004
M. Andri Budiman, ST, M.Comp.Sc, MEM NIP. 197510082008011011
Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP.196203171991031001
Universitas Sumatera Utara
iii
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
Universitas Sumatera Utara
iv
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.
Universitas Sumatera Utara
v
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
Universitas Sumatera Utara
vi
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.
Kata Kunci : Kriptografi, ElGamal, Transposisi Segitiga
Universitas Sumatera Utara
vii
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
Universitas Sumatera Utara
viii
DAFTAR ISI
Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar Daftar Lampiran
ii iii iv vi vii viii x xi xiii
Bab I Pendahuluan 1.1 Latar Belakang 1.2 Rumusan Masalah 1.3 Batasan Masalah 1.4 Tujuan Penelitian 1.5 Manfaat Penelitian 1.6 Metode Penelitian 1.7 Sistematika Penulisan
1 2 2 2 3 3 4
Bab II Landasan Teori 2.1 Kriptografi 2.2 Tujuan Kriptografi 2.3 Ancaman Kriptografi 2.4 Kriptografi Asimetris 2.5 Akar Primitif 2.6 Fermat’s Little Theorem 2.7 Modulus Exponential 2.8 Algoritma ElGamal 2.9 Transposisi Segitiga 2.10 Penelitian Terdahulu
5 8 8 9 11 12 12 14 15 16
Bab III Analisis dan Perancangan Sistem 3.1 Analisis Sistem 3.1.1 Analisis Masalah 3.1.2 Analisis Kebutuhan 3.1.2.1 Analisis Fungsional 3.1.2.2 Analisis Nonfungsional 3.1.2.3 Pemodelan Persyaratan dengan Use Case 3.1.3 Analisis Sistem Proses 3.2 Perancangan Sistem 3.2.1 Flowchart 3.2.1.1 Flowchart Gambaran Umum 3.2.1.2 Flowchart Proses Enkripsi dengan Algoritma ElGamal
18 18 19 19 20 20 24 25 25 25 27
Universitas Sumatera Utara
ix
3.2.1.3 Flowchart Pembangkitan Kunci Algoritma ElGamal 3.2.1.4 Flowchart Proses Dekripsi dengan Algoritma ElGamal 3.2.2 Rancangan Antar Muka 3.2.2.1 Antar Muka Form Awal 3.2.2.2 Antar Muka Form Enkripsi 3.2.2.3 Antar Muka Form Dekripsi 3.2.3 Tahapan Sistem 3.2.3.1 Tahapan Transposisi Segitiga Untuk Enkripsi Pesan 3.2.3.2 Tahapan Algoritma ElGamal Untuk Enkripsi Pesan 3.2.3.3 Tahapan Algoritma ElGamal Untuk Dekripsi Pesan 3.2.3.4 Tahapan Transposisi Segitiga Untuk Dekripsi Pesan
27 28 29 30 30 33 35 35 35 40 44
Bab IV Implementasi dan Pengujian Sistem 4.1 Implementasi 4.1.1 Spesifikasi Perangkat Lunak 4.1.2 Form Awal (Loading Form) 4.1.3 Form Enkripsi 4.1.4 Form Dekripsi 4.2 Pengujian 4.2.1 Proses Enkripsi 4.2.2 Proses Dekripsi 4.2.3 Pengujian Sistem Berdasarkan Aspek Recovery 4.2.4 Pengujian Sistem Berdasarkan Panjang Karakter Plaintext 4.2.5 Pengujian Sistem Berdasarkan Panjang Bilangan Prima
45 45 46 46 48 49 49 51 53 74 75
Bab V Kesimpulan dan Saran 5.1 Kesimpulan 5.2 Saran
77 77
Daftar Pustaka
79
Universitas Sumatera Utara
x
DAFTAR TABEL
Nomor Tabel 3.1 3.2 4.1 4.2 4.3
Nama Tabel
Halaman
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
Universitas Sumatera Utara
xi
DAFTAR GAMBAR
Nomor Gambar 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
Nama Gambar
Halaman
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
Universitas Sumatera Utara
xii
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
Universitas Sumatera Utara
xiii
DAFTAR LAMPIRAN
Halaman A. Listing Program B. Curriculum Vitae
A-1 B-1
Universitas Sumatera Utara