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
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
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,
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
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
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.
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.
DAFTAR ISI
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Abstract vi
Daftar isi vii
Daftar Tabel xi
Daftar Gambar xii
Daftar Lampiran xiv
Bab I Pendahuluan 1
1.1Latar Belakang 1
1.2Perumusan Masalah 2
1.3Batasan Masalah 2
1.4Tujuan Penelitian 3
1.5Manfaat Penelitian 3
1.6Sistematika Penulisan 3
Bab II Landasan Teori 5
2.1 Kriptografi 5
2.1.1 Istilah dalam Kriptografi 5 2.1.2 Tujuan Kriptografi 8 2.2Jenis Algoritma Kriptografi 9 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.3Landasan Matematika Kriptografi 13 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) Perkalian Dua Matriks 15 2.3.3.3 Matriks Transpose 15 2.3.3.4 Determinan Matriks 16 2.3.3.5 Minor dan Kofaktor 17
i) Minor 17
ii)Kofaktor 17
2.3.5 Relatif Prima 19
2.5.2 Penggunaan Teori Bilangan Bulat Pada Sistem
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
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
Knapsack (Kunci Privat dan Kunci Publik) 53
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.3 Rancangan Interface Form Dekripsi 62 3.3.2.4 Rancangan Interface Form Bantuan 64 3.3.2.5 Rancangan Interface Form Tentang
Programmer 65
4.2.1 Proses Enkripsi File dan Enkripsi Kunci Kriptografi 75 4.2.1.1Proses Enkripsi File 75 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
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 101 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
DAFTAR TABEL
No Nama Tabel Hal
3.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
DAFTAR GAMBAR
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
4.18
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
DAFTAR LAMPIRAN
A. Listing Program A-1
B. Tabel ASCII B-1