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 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 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 ABSTRACT

  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

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 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

  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