Sistem Kriptografi Hybrid (Hill Cipher Dan Knapsack) Pada Pengmanan File
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
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
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 TEKNOLOGIINFORMASI 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 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
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
ABSTRAK
Berkembangnya kemajuan sistem informasi yang sangat cepat, banyak aspek- aspek 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.
CRYPTOGRAPHY HYBRID SYSTEM (HILL CIPHER AND KNAPSACK)
FOR FILE SECURITY ABSTRACTaspects 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
DAFTAR ISI
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Daftar isi vii
Daftar Tabel xi
Daftar Gambar xii
Daftar Lampiran xiv
Bab I Pendahuluan
1
1.1
1 Latar Belakang
1.2
2 Perumusan Masalah
1.3
2 Batasan Masalah
1.4
3 Tujuan Penelitian
1.5
3 Manfaat Penelitian
1.6
3 Sistematika Penulisan
Bab II Landasan Teori
5
2.1 Kriptografi
5
2.1.1 Istilah dalam Kriptografi
5
2.1.2 Tujuan Kriptografi
8
2.2
9 Jenis Algoritma Kriptografi
2.2.1 Algoritma Kriptografi Simetri (Konvensional)
9
2.2.2 Algoritma Kriptografi Asimetri (Publik)
10
2.2.3 Algoritma Kriptografi Hibrida (Hybrid)
11
2.3
13 Landasan Matematika Kriptografi
2.3.1 Definisi Matriks
13
2.3.2 Jenis Matriks
14
2.3.2.1 Matriks Persegi ( Bujur Sangkar )
14
2.3.2.2 Matriks Satuan (Identitas)
14
2.3.3 Operasi Pada Matriks
14
2.3.3.1 Penjumlahan Matriks
14
2.3.3.2 Perkalian matriks
15 i) Perkalian Matriks dengan Bilangan Skalar 15 ii)
15 Perkalian Dua Matriks
2.3.3.3 Matriks Transpose
15
2.3.3.4 Determinan Matriks
16
2.3.3.5 Minor dan Kofaktor
17 i)
17 Minor ii)
17 Kofaktor
2.3.3.6 Invers Matriks
17
2.3.4 Aritmatika Modulo
18
2.3.5 Relatif Prima
19
2.3.6 Balikan Modulo
19
2.4
20 Algoritma Hill Cipher
2.4.1 Teknik Dasar Hill Cipher
21
2.4.2 Teknik Enkripsi Hill Cipher
21
2.5
22 Algoritma Knapsack
2.5.1 Bentuk Knapsack
22 Kriptografi Merkle-Hellman
23
2.5.2.1 Penggunaan Arimatika Modulo Dan Relatif Prima Pada Pembangkitan Kunci Merkle- Hellman
23
2.5.2.2 Penggunaan Balikan Modulo Pada Enkripsi dan Dekripsi Knapsack 24 i) Teknik Enkripsi Knapsack 24 ii) Teknik Dekripsi Knapsack
24
2.6
25 File
2.6.2 Jenis-Jenis File
26
2.6.2.1 File Dokumen
26
2.6.2.2 File Grafik dan Multimedia
27
2.6.2.3 File Kompresi
28
2.7
28 Penelitian terkait
Bab III Analisis dan Perancangan Sistem
29
3.1 Analisis Sistem
29
3.1.1 Analisis Masalah
29
3.1.2 Analisis Persyaratan
30
3.1.2.1 Persyaratan Fungsional
31
3.1.2.2 Persyaratan Nonfungsional
31
3.1.3 Analisis Proses
32
3.2 Pemodelan Sistem
38
3.2.1 Perancangan Unified Modelling Language (UML)
39
3.2.1.1 Use Case Diagram
39
3.2.1.2 Activity Diagram
43
3.2.1.3 Sequence Diagram
46
3.3 Perancangan Sistem
48
3.3.1 Perancangan Flowchart
48
3.3.1.1 Flowchart Proses Pembangkitan Kunci Matriks Hill Cipher (Kunci Privat)
50
3.3.1.2 Flowchart Proses Enkripsi File dengan Kunci Hill Cipher
52
3.3.1.3 Flowchart Proses Pembangkitan Kunci (Kunci Privat dan Kunci Publik)
53 Knapsack
3.3.1.4 Flowchart Proses Enkripsi Kunci Hill Cipher dengan Kunci Publik Knapsack
54
3.3.1.5 Flowchart Dekripsi Cipherkey dengan Kunci
Privat Knapsack
55
3.3.1.6 Flowchart Dekripsi Cipherfile dengan Kunci
Hill Cipher
56
3.3.2 Perancangan Interface Aplikasi
58
3.3.2.1 Rancangan Interface Form Utama
58
3.3.2.2 Rancangan Interface Form Enkripsi
59
3.3.2.4 Rancangan Interface Form Bantuan
64
3.3.2.5 Rancangan Interface Form Tentang
Programmer
65 Bab IV 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
75 Proses Enkripsi File 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
16
96 Superincrreasing
4.2.2 Proses Dekripsi Cipherkey dan Enkripsi Cipherfile
98
4.2.2.1 Proses Dekripsi Cipherkey
98 i) Proses Dekripsi Cipherkey Dengan Barisan
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
4.2.2.2 Proses Dekripsi Cipherfile 102 i) Proses Dekripsi Cipherfile Format TXT
(.txt) 102 ii) Proses Dekripsi Cipherfile Format DOCX
(.docx) 104 iii) Proses Dekripsi Cipherfile Format HTM
(.htm) 105 iv) Proses Dekripsi Cipherfile Format JPEG
(.jpeg) 107 v) Proses Dekripsi Cipherfile Format MP3
(.mp3) 108 vi) Proses Dekripsi Cipherfile Format MP4
(.mp4) 109
4.3 Tabel Hasil Pengujian 111
4.4 Grafik Hasil Pengujian 113
Bab V Kesimpulan dan saran 119
5.1 Kesimpulan 119
5.2 Saran 120
Daftar Pustaka 121
Listing Program A-1
Lampiran Tabel ASCII B-1
Lampiran Curiculum Vitae C-1
DAFTAR TABEL
No Nama Tabel Hal3.1
3.2
4.1
4.2 Skenario Use Case Enkripsi Skenario Use Case Dekripsi Tabel Pengujian Enkripsi dan Dekripsi File Tabel Pengujian Enkripsi dan Dekripsi Kunci
41
42 111 112
DAFTAR GAMBAR No Nama Gambar Hal
40
54
53
52
51
49
47
45
43
30
57
12
11
10
Proses Enkripsi File Format JPEG
File Format JPEG
Proses Enkripsi File Format HTM Hasil Enkripsi File Format HTM
File Format HTM
Proses Enkripsi File Format DOCX Hasil Enkripsi File Format DOCX
File Format DOCX
55
58
File Format TXT
78
83
83
82
81
81
80
79
79
77
60
76
74
73
72
70
68
66
65
63
Proses Enkripsi File Format TXT Hasil Enkripsi File TXT
Proses Pemilihan File
2.1
3.9
3.17
3.16
3.15
3.14
3.13
3.12
3.11
3.10
3.8
4.2
3.7
3.6
3.5
3.4
3.3
3.2
3.1
2.3
2.2
4.1
4.3
Form Menu Utama Form Enkripsi File dan Kunci Form Dekripsi Cipherkey dan Cipherfile Form Bantuan Menggunakan Aplikasi Form Bantuan Tentang Programmer
4.15
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
Flowchart Dekripsi Cipherfile Dengan Menggunakan Kunci
Privat Knapsack
Flowchart Dekripsi Cipherkey Dengan Menggunakan Kunci
Kunci Publik Knapsack
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
4.17 Algoritma Kunci Simetri Algoritma Asimetri Kriptografi Hibrida
4.16
4.14
4.4
4.13
4.12
4.11
4.10
4.9
4.8
4.7
4.6
4.5
84
4.18
86
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 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
4.47
87
88
89
91
92
93
94
95
96
97
97
4.48
4.46
4.19
4.32
4.20
4.21
4.22
4.23
4.24
4.26
4.27
4.28
4.29
4.30
4.31
4.33
4.45
4.34
4.35
4.36
4.37
4.38
4.39
4.40
4.41
4.42
4.43
4.44
99 100 101 102 103 103 104 105 106 106 107 108 108 109 109 110 114 115 116 117