SISTEM KRIPTOGRAFI HYBRID (HILL CIPHER DAN KNAPSACK) PADA PENGAMANAN FILE
SKRIPSI
MARLINA SIHOMBING 091401034
PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA 2014
Universitas Sumatera Utara
SISTEM KRIPTOGRAFI HYBRID (HILL CIPHER DAN KNAPSACK) PADA PENGAMANAN FILE
SKRIPSI Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer
MARLINA SIHOMBING 091401034
PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA 2014
Universitas Sumatera Utara
PERSETUJUAN
Judul
: SISTEM KRIPTOGRAFI HYBRID (HILL CIPHER DAN KNAPSACK) PADA PENGMANAN FILE
Kstegori
: SKRIPSI
Nama
: MARLINA SIHOMBING
Nomor Induk Mahasiswa
: 091401034
Program Studi
: SARJANA (S1) ILMU KOMPUTER
Departemen
: ILMU KOMPUTER
Fakultas
: ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
Diluluskan di Medan, 29 April 2014 Komisi Pembimbing Pembimbing 2
Pembimbing 1
Handrizal, S.Si, M.Comp.Sc
Maya Silvi Lydia, B.Sc, M.Sc
NIP. -
NIP. 197401272002122001
Diketehaui / Disetujui oleh Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom
Universitas Sumatera Utara
NIP. 196203171991031001
PERNYATAAN
SISTEM KRIPTOGRAFI HYBRID (HILL CIPHER DAN KNAPSACK) PADA PENGMANAN FILE
SKRIPSI
Saya mengaku bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 29 April 2014
Marlina Sihombing 091401034
Universitas Sumatera Utara
PENGHARGAAN Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa karena segala berkat dan anugerahNya 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 Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc(CTM), Ap.A(k) selaku Rektor Universitas Sumatera Utara. 2. Bapak Prof. Dr. Muhammad Zarlis, M.Kom, selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. 3. Bapak Dr. Poltak Sihombing, M.Kom, selaku Ketua Departemen Ilmu Komputer Universitas Sumatera Utara dan Dosen Penguji. 4. Ibu Maya Silvi Lydia, B.Sc, M.Sc, selaku Sekretaris Departemen Ilmu Komputer Universitas Sumatera Utara dan Dosen Pembimbing. 5. Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Sumatera Utara, semua dosen, dan pegawai pada Program Studi S1 Ilmu Komputer Fasilkom-TI USU. 6. Bapak Handrizal, S.Si, M.Comp.Sc, selaku Dosen Pembimbing. 7. Amer Sharif, S.Si, M.Kom, selaku Dosen Penguji. 8. Bapak Saya Togar Sihombing, Ibu saya Lamria Manurung, Abang Saya Marojahan Sihombing, Adik saya Marthasari Sihombing, Mariani Sihombing, dan Martua Sihombing yang selalu memberikan cinta kasihnya dan dukungannya baik material, spiritual serta kerabat saya terkhusus untuk Bang Briando Silitonga S.Sn, Bang Wira Kurniawan Sihombing S.Kom dan Melati Sinaga Am.Keb, yang berjasa memberikan semangat dan dorongan kepada penulis selama menyelesaikan skripsi ini. 9. Rekan-rekan kuliah, khususnya Ales Sanro Sotardodo Panjaitan S.Kom, Disahayanti S.Kom, Fransiska Angelia Sebayang S.Kom, Wella Reynanda S.Kom, Juni Santo Sihotang S.kom, Jakub Ginting, satu KTB saya Uly, Helen, dan Andre, PKK saya Kak Debora Nainggolan, S.Kom, Kak Maria Sinaga S.Kom, teman-teman di Klinik TI dan di berdikari 88 Lilis yang selalu memberikan semangat dan dorongan kepada penulis. Semoga Tuhan memberikan berkat yang berlimpah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelsesaikan skripsi ini. Medan, 29 April 2014
Penulis
Universitas Sumatera Utara
ABSTRAK Berkembangnya kemajuan sistem informasi yang sangat cepat, banyak aspekaspek negatif yang timbul karena sebagian besar pengguna komputer menggunakan sistem informasi berbasis komputer khususnya informasi yang dikirim atau diperoleh melalui internet. Aspek yang diperoleh berupa penyadapan informasi penting yang dilakukan oleh orang yang tidak berhak (penyadap). Sehingga masalah yang diangkat pada skripsi ini adalah pengamanan informasi pada suatu file dan kunci. Informasi yang terdapat pada file perlu diamankan supaya tidak dirusak ataupun dimodifikasi oleh penyadap. Salah satu teknik yang digunakan untuk menjaga keamanan file adalah kriptografi. Adapun metode kriptografi yang digunakan penulis adalah kriptografi hibrida yaitu metode kriptografi yang mengkombinasikan dua algoritma simetris dan asimetris. Algoritma yang digunakan adalah algoritma Hill Cipher dan Knapsack. Algoritma Hill Cipher memiliki kunci simetris (session key) berbentuk matriks 2x2 digunakan untuk mengamankan file. Sebuah matriks yang digunakan harus memiliki matriks identitas jika kunci matriks dikalikan dengan invers kunci matriks, kunci invers akan digunakan untuk dekripsi file. Algoritma Knapsack memiliki kunci asimetris (kunci privat dan kunci publik) digunakan untuk mengamankan session key. Kunci publik digunakan untuk mengenkripsi session key dan kunci privat digunakan untuk mendekripsi cipherkey (session key yang terenkripsi). Implementasi sistem menggunakan perangkat lunak Visual C# pada Microsoft Visual Studio 2010. Hasil dari sistem ini berupa file yang terenkripsi (cipherfile) dan session key yang terenkripsi (cipherkey) yang tidak bisa dimengerti atau bahkan tidak bisa dibuka oleh penyadap. Kata kunci: Kriptografi, Kriptografi Hibrida, Hill Cipher dan Knapsack, Session Key.
Universitas Sumatera Utara
CRYPTOGRAPHY HYBRID SYSTEM (HILL CIPHER AND KNAPSACK) FOR FILE SECURITY
ABSTRACT
Development of a information system progress very quickly, many negative aspects that arise because the majority of computer users use the computer-based information systems, particularly the information sent or retrieved over the internet. Aspects of the obtained in the form of tapping vital information which is done by a person not entitled (eavesdroppers). Thus, the issues raised in this paper is securing of information a file and key. The information contained in the files need to be secured so that it is not tampered with or modified by eavesdropper. One technique used to maintain security files is cryptography. As for the cryptographic methods used by the author is a hybrid cryptographic method that combines two cryptographic algorithms symmetric and asymmetric. The algorithm that used is Hill Cipher and Knapsack algorithm. Hill Cipher algorithms have key symmetric (session key) 2x2 matrix is used to secure files. A matrix that is used must have an identity matrix if the matrix is multiplied by the inverse key keys matrix. The inverse matrix that will be used to decrypt the file . the Knapsack algorithm has key asymmetric (public key and private key) is used to secure session key. The public key is used to encrypt the session key and the private key is used to decrypt cipherkey (the encrypted key). Implementation of a software system using Visual C # on the Microsoft Visual Studio 2010. The results of this system in the form of encrypted files (cipherfile) and encrypted session key (cipherkey) that can not be understood or even can not be opened by eavesdropper. Keyword : Cryptography, Cryptography Hybrid, Hill Cipher, Knapsack, Session Key
Universitas Sumatera Utara
DAFTAR ISI
Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar isi Daftar Tabel Daftar Gambar Daftar Lampiran
ii iii iv v vi vii xi xii xiv
Bab I
Pendahuluan 1.1 Latar Belakang 1.2 Perumusan Masalah 1.3 Batasan Masalah 1.4 Tujuan Penelitian 1.5 Manfaat Penelitian 1.6 Sistematika Penulisan
1 1 2 2 3 3 3
Bab II
Landasan Teori 2.1 Kriptografi 2.1.1 Istilah dalam Kriptografi 2.1.2 Tujuan Kriptografi 2.2 Jenis Algoritma Kriptografi 2.2.1 Algoritma Kriptografi Simetri (Konvensional) 2.2.2 Algoritma Kriptografi Asimetri (Publik) 2.2.3 Algoritma Kriptografi Hibrida (Hybrid) 2.3 Landasan Matematika Kriptografi 2.3.1 Definisi Matriks 2.3.2 Jenis Matriks 2.3.2.1 Matriks Persegi ( Bujur Sangkar ) 2.3.2.2 Matriks Satuan (Identitas) 2.3.3 Operasi Pada Matriks 2.3.3.1 Penjumlahan Matriks 2.3.3.2 Perkalian matriks i) Perkalian Matriks dengan Bilangan Skalar ii) Perkalian Dua Matriks 2.3.3.3 Matriks Transpose 2.3.3.4 Determinan Matriks 2.3.3.5 Minor dan Kofaktor i) Minor ii) Kofaktor 2.3.3.6 Invers Matriks 2.3.4 Aritmatika Modulo
5 5 5 8 9 9 10 11 13 13 14 14 14 14 14 15 15 15 15 16 17 17 17 17 18
Universitas Sumatera Utara
Bab III
2.3.5 Relatif Prima 2.3.6 Balikan Modulo 2.4 Algoritma Hill Cipher 2.4.1 Teknik Dasar Hill Cipher 2.4.2 Teknik Enkripsi Hill Cipher 2.5 Algoritma Knapsack 2.5.1 Bentuk Knapsack 2.5.2 Penggunaan Teori Bilangan Bulat Pada Sistem Kriptografi Merkle-Hellman 2.5.2.1 Penggunaan Arimatika Modulo Dan Relatif Prima Pada Pembangkitan Kunci MerkleHellman 2.5.2.2 Penggunaan Balikan Modulo Pada Enkripsi dan Dekripsi Knapsack i) Teknik Enkripsi Knapsack ii) Teknik Dekripsi Knapsack 2.6 File 2.6.2 Jenis-Jenis File 2.6.2.1 File Dokumen 2.6.2.2 File Grafik dan Multimedia 2.6.2.3 File Kompresi 2.7 Penelitian terkait
19 19 20 21 21 22 22
Analisis dan Perancangan Sistem 3.1 Analisis Sistem 3.1.1 Analisis Masalah 3.1.2 Analisis Persyaratan 3.1.2.1 Persyaratan Fungsional 3.1.2.2 Persyaratan Nonfungsional 3.1.3 Analisis Proses 3.2 Pemodelan Sistem 3.2.1 Perancangan Unified Modelling Language (UML) 3.2.1.1 Use Case Diagram 3.2.1.2 Activity Diagram 3.2.1.3 Sequence Diagram 3.3 Perancangan Sistem 3.3.1 Perancangan Flowchart 3.3.1.1 Flowchart Proses Pembangkitan Kunci Matriks Hill Cipher (Kunci Privat) 3.3.1.2 Flowchart Proses Enkripsi File dengan Kunci Hill Cipher 3.3.1.3 Flowchart Proses Pembangkitan Kunci Knapsack (Kunci Privat dan Kunci Publik) 3.3.1.4 Flowchart Proses Enkripsi Kunci Hill Cipher dengan Kunci Publik Knapsack 3.3.1.5 Flowchart Dekripsi Cipherkey dengan Kunci
29 29 29 30 31 31 32 38 39 39 43 46 48 48
23
23 24 24 24 25 26 26 27 28 28
50 52 53 54
Universitas Sumatera Utara
Privat Knapsack 3.3.1.6 Flowchart Dekripsi Cipherfile dengan Kunci Hill Cipher 3.3.2 Perancangan Interface Aplikasi 3.3.2.1 Rancangan Interface Form Utama 3.3.2.2 Rancangan Interface Form Enkripsi 3.3.2.3 Rancangan Interface Form Dekripsi 3.3.2.4 Rancangan Interface Form Bantuan 3.3.2.5 Rancangan Interface Form Tentang Programmer Bab IV
55 56 58 58 59 62 64 65
Implementasi dan Pengujian 67 4.1 Implementasi 67 4.1.1 Form Menu Utama 67 4.1.2 Form Enkripsi 68 4.1.3 Form Dekripsi Cipherkey dan Cipherfile 70 4.1.4 Form Bantuan Menggunakan Aplikasi 72 4.1.5 Form Bantuan Tentang Programmer 73 4.2 Pengujian 74 4.2.1 Proses Enkripsi File dan Enkripsi Kunci Kriptografi 75 4.2.1.1 Proses Enkripsi File 75 i) Proses Enkripsi File Pada File Dengan Format TXT (.txt) 77 ii) Proses Enkripsi File Pada File Dengan Format DOCX (.docx) 79 iii) Proses Enkripsi File Pada File Dengan Format HTM (.htm) 81 iv) Proses Enkripsi File Pada File Dengan Format JPEG (.jpeg) 83 v) Proses Enkripsi File Pada File Dengan Format MP3 (.mp3) 85 vi) Proses Enkripsi File Pada File Dengan Format MP4 (.mp4) 87 4.2.1.2 Proses Enkripsi Kunci Kriptografi 90 i) Proses Enkripsi Kunci Dengan Barisan Superincrreasing 2 91 ii) Proses Enkripsi Kunci Dengan Barisan Superincrreasing 4 93 iii) Proses Enkripsi Kunci Dengan Barisan Superincrreasing 8 94 iv) Proses Enkripsi Kunci Dengan Barisan Superincrreasing 16 96 4.2.2 Proses Dekripsi Cipherkey dan Enkripsi Cipherfile 98 4.2.2.1 Proses Dekripsi Cipherkey 98 i) Proses Dekripsi Cipherkey Dengan Barisan
Universitas Sumatera Utara
Superincrasing 2 98 ii) Proses Dekripsi Cipherkey Dengan Barisan Superincrasing 4 99 iii) Proses Dekripsi Cipherkey Dengan Barisan Superincrasing 8 100 iv) Proses Dekripsi Cipherkey Dengan Barisan Superincrasing 16 4.2.2.2 Proses Dekripsi Cipherfile i) Proses Dekripsi Cipherfile Format TXT (.txt) ii) Proses Dekripsi Cipherfile Format DOCX (.docx) iii) Proses Dekripsi Cipherfile Format HTM (.htm) iv) Proses Dekripsi Cipherfile Format JPEG (.jpeg) v) Proses Dekripsi Cipherfile Format MP3 (.mp3) vi) Proses Dekripsi Cipherfile Format MP4 (.mp4) 4.3 Tabel Hasil Pengujian 4.4 Grafik Hasil Pengujian Bab V
Kesimpulan dan saran 5.1 Kesimpulan 5.2 Saran
Daftar Pustaka Listing Program Lampiran Tabel ASCII Lampiran Curiculum Vitae
101 102 102 104 105 107 108 109 111 113 119 119 120 121 A-1 B-1 C-1
Universitas Sumatera Utara
DAFTAR TABEL
No 3.1 3.2 4.1 4.2
Nama Tabel Skenario Use Case Enkripsi Skenario Use Case Dekripsi Tabel Pengujian Enkripsi dan Dekripsi File Tabel Pengujian Enkripsi dan Dekripsi Kunci
Hal 41 42 111 112
Universitas Sumatera Utara
DAFTAR GAMBAR No
Nama Gambar
Hal
2.1 2.2 2.3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10
Algoritma Kunci Simetri Algoritma Asimetri Kriptografi Hibrida Ishikawa Diagram untuk Analisis Permasalahan Sistem Use Case Diagram Sistem Activity Diagram Pengamanan/Enkripsi File dan kunci Activity Diagram Dekripsi Cipherfile dan Cipherkey Sequence Diagram Sistem Flowchart Aplikasi Flowchart Pembangkitan Kunci Hill Cipher 2x2 Flowchart Enkripsi File Dengan Kunci Hill Cipher Flowchart Pembangkitan Kunci Knapsack Flowchart Enkripsi Kunci Hill Cipher Dengan Menggunakan Kunci Publik Knapsack Flowchart Dekripsi Cipherkey Dengan Menggunakan Kunci Privat Knapsack Flowchart Dekripsi Cipherfile Dengan Menggunakan Kunci Asli (Kunci Hill Cipher) Rancangan Interface Form Utama Rancangan Interface Form Enkripsi Rancangan Interface Form Dekripsi Rancangan Interface Form Bantuan Menggunakan Aplikasi Rancangan Interface Form Bantuan Tentang Programmer Form Menu Utama Form Enkripsi File dan Kunci Form Dekripsi Cipherkey dan Cipherfile Form Bantuan Menggunakan Aplikasi Form Bantuan Tentang Programmer Proses Pemilihan File File Format TXT Proses Enkripsi File Format TXT Hasil Enkripsi File TXT File Format DOCX Proses Enkripsi File Format DOCX Hasil Enkripsi File Format DOCX File Format HTM Proses Enkripsi File Format HTM Hasil Enkripsi File Format HTM File Format JPEG Proses Enkripsi File Format JPEG
10 11 12 30 40 43 45 47 49 51 52 53
3.11 3.12 3.13 3.14 3.15 3.16 3.17 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
54 55 57 58 60 63 65 66 68 70 72 73 74 76 77 78 79 79 80 81 81 82 83 83 84
Universitas Sumatera Utara
4.18 4.19 4.20 4.21 4.22 4.23 4.24 4.25 4.26 4.27 4.28 4.29 4.30 4.31 4.32 4.33 4.34 4.35 4.36 4.37 4.38 4.39 4.40 4.41 4.42 4.43 4.44 4.45 4.46 4.47 4.48 4.49 4.50 4.51 4.52 4.53
Hasil Enkripsi File Format JPEG File Format MP3 Proses Enkripsi File Format MP3 Hasil Enkripsi File Format MP3 File Format MP4 Proses Enkripsi File Format MP4 Hasil Enkripsi File Format MP4 Enkripsi File dan Kunci Proses Enkripsi Kunci Dengan Banyak Barisan w = 2 Hasil Enkripsi Kunci Dengan Banyak Barisan w = 2 Proses Enkripsi Kunci Dengan Banyak Barisan w = 4 Hasil Enkripsi Kunci Dengan Banyak Barisan w = 4 Proses Enkripsi Kunci Dengan Banyak Barisan w = 8 Hasil Enkripsi Kunci Dengan Banyak Barisan w = 8 Proses Enkripsi Kunci Dengan Banyak Barisan w = 16 Hasil Enkripsi Kunci Dengan Banyak Barisan w = 16 Proses Dekripsi Cipherkey Dengan Banyak Barisan w = 2 Proses Dekripsi Cipherkey Dengan Banyak Barisan w = 4 Proses Dekripsi Cipherkey Dengan Banyak Barisan w = 8 Proses Dekripsi Cipherkey Dengan Banyak Barisan w = 16 Proses Dekripsi File Format TXT Hasil Dekripsi File Format TXT Proses Dekripsi File Format DOCX Hasil Dekripsi File Format DOCX Proses Dekripsi File Format HTM Hasil Dekripsi File Format HTM Proses Dekripsi File Format JPEG Hasil Dekripsi File Format JPEG Proses Dekripsi File Format MP3 Hasil Dekripsi File Format MP3 Proses Dekripsi File Format MP4 Hasil Dekripsi File Format MP4 Grafik Hasil Pengujian File Sebelum dan Setelah Enkripsi Grafik Hasil Pengujian Lama Enkripsi dan Dekripsi File Grafik Hasil Pengujian Sebelum dan Setelah Enkripsi Kunci Grafik Hasil Pengujian Lama Enkripsi dan Dekripsi Kunci
85 85 86 86 87 88 89 90 91 92 93 94 95 96 97 97 99 100 101 102 103 103 104 105 106 106 107 108 108 109 109 110 114 115 116 117
Universitas Sumatera Utara
DAFTAR LAMPIRAN
A. Listing Program B. Tabel ASCII C. Curriculum Vitae
A-1 B-1 C-1
Universitas Sumatera Utara