PENGAMANAN FILE CITRA DENGAN SKEMA HYBRID CRYPTOSYSTEM MENGGUNAKAN ALGORITMA
LUC DAN ALGORITMA MDTM CIPHER
SKRIPSI
DIAH MUSTIKA SARI 131401016
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2018
PENGAMANAN FILE CITRA DENGAN SKEMA HYBRID CRYPTOSYSTEM MENGGUNAKAN ALGORITMA
LUC DAN ALGORITMA MDTM CIPHER
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh ijazah Sarjana S-1 Ilmu Komputer
DIAH MUSTIKA SARI 131401016
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2018
PERSETUJUAN
Judul : PENGAMANAN FILE CITRA DENGAN SKEMA
HYBRID CRYPTOSISTEM MENGGUNAKAN ALGORITMA LUC DAN ALGORITMA MDTM CIPHER
Kategori : SKRIPSI
Nama : DIAH MUSTIKA SARI
Nomor Induk Mahasiswa : 131401016
Program Studi : SARJANA (S-1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, Januari 2018
Komisi Pembimbing
Pembimbing 2 Pembimbing 1
Amalia, ST., MT. Prof. Dr. M. Zarlis. M.Sc NIP. 197812212014042001 NIP. 195707011986011003
Diketahui/disetujui oleh
Program Studi S-1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M. Kom NIP. 196203171991031001
PERNYATAAN
PENGAMANAN FILE CITRA DENGAN SKEMA HYBRID CRYPTOSYSTEM MENGGUNAKAN ALGORITMA LUC
DAN ALGORITMA MDTM CIPHER
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Januari 2018
Diah Mustika Sari 131401016
PENGHARGAAN
Puji dan syukur kehadirat Allah SWT yang telah menuntun dan memampukan penulis untuk menyelesaikan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer dari Program Studi S1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.
Penulis juga bersyukur berada di antara pihak-pihak yang berperan penting dalam penyelesaian skripsi ini. Penulis berterimakasih kepada:
1. BapakProf.Dr.RuntungSitepu,S.H,M.HumselakuRektorUniversitasSumatera Utara
2. Bapak Prof. Dr. Opim Salim Sitompul selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer,FakultasIlmuKomputerdanTeknologiInformasiUniversitasSumatera Utara
4. Bapak Herriyance, S.T., M.Kom selaku Sekretaris Program Studi S1 Ilmu Komputer Fasilkom-TI USU
5. Prof. Dr. Muhammad Zarlis, M.Sc selaku Dosen Pembimbing I yang senantiasa memberikan kritik dan saran kepada penulis dalam menyelesaikan skripsi ini.
6. Ibu Amalia, S.T, M.T selaku Dosen Pembimbing II yang telah memotivasi dan senantiasa membimbing dan memberikan kritik dan saran yang sangat berarti bagi penulis.
7. Seluruh tenaga pengajar dan pegawai di Program Studi S1Ilmu KomputerFasilkom-TIUniversitas SumateraUtara
8. Ayahanda Yadi dan Ibunda Rasmuli Br Ginting, serta adinda tersayang Sri Retno Ardianti dan Mas Agung Ramadhan dan juga para sepupu-sepupu tercinta Cindy Lupita Sari, Putri Mayang sari, Friska Yolanda dan Winda Kumala Sari yang selalu memberikan doa, menjadi sumber motivasi, pendukung, penyemangat, penghibur dan inspirasi terbesar bagi penulis dalam menyelesaikanskripsi.
9. Sahabat-sahabat terbaik IP Shintya Dirda, Chyntia Aulia Nurani Siregar, Rahmi Suliani,Fikri Haisar, Dhiwa Arie Pratama, Ahmad Pratama Ramadhan, Setiadi Prayoga,Yoga
Aditya,AgumGumelar,ExaudiNaiposposSibagariang,M.Farhandikayangselalu
memberikan semangat dandorongan.
10. Teman-temansemasakuliahyangselalumemotivasi,membimbingdanmembantu penulisdalammengerjakanskripsiRavizaSitepu,abangdaFaridAkbarSiregardan Muhammad MiftahulHuda.
11. Teman-teman mahasiswa S1-Ilmu Komputer Mutiara Rizky, Nisa Nst, Putri chaliska, Winda, Kiki F, Jaysilen, Suci, Mori, Brando, Irma, teman-teman praktikan Lab 1, khususnya KOM A dan teman-teman stambuk 2013 Program Studi S1 Ilmu Komputer USU yang telah memberikan masukan dan semangat dalam penyelesaian tugas akhirini.
12. Sahabat yang selalu menemani penulis Nina Karina, Putri Megawati, Indah Dwi Nanda Pinem.
13. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu penyelesaian tugas akhirini.
Penulis menyadari bahwa penelitian ini tidak sempurna.Dengan segala kelebihan dan kekurangannya, semoga skripsi ini bermanfaat bagi siapa saja yang membacanya.
Medan, Januari 2018
Penulis
ABSTRAK
Teknologi informasi saat ini berkembang pesat dan mempengaruhi hampir seluruh aspek pada kehidupan manusia.Terutama di dalam pengamanan distribusi dokumen pada suatu jaringan.Salah satunya adalah citra digital. File citra digital sangat mudah dikirimkan melalui berbagai media dengan bantuan internet. Hal ini memungkinkan terjadinya kecurangan atau kejahatan dalam pendistribusian citra tersebut. Salah satu cara yang aman agar citra tersebut hanya dapat dibaca oleh penerimanya adalah dengan memanfaatkan kriptografi. Metode yang digunakan adalah Hybrid Cryptosystem dimana metode ini memanfaatkan keunggulan algoritma simetris dan algoritma asimetris serta saling menutupi kelemahannya.Dalam penelitian ini mengkombinasikan algoritma MDTM Cipher yang merupakan algoritma simetris dengan algoritma LUC yang merupakan algoritma asimetris. Penelitian akan mengenkripsi serta mendekripsi citra dengan algoritma MDTM cipher dan akan mengenkripsi serta mendekripsi kunci MDTM cipher dengan algoritma LUC.
Penelitian ini diimplementasikan ke dalam sebuah sistem aplikasi yang dirancang menggunakan bahasa pemrograman C#.Hasil penelitian menunjukkan bahwa hybrid cryptosystem dapat mengamankan serta mengembalikan citra seperti semula. Waktu rata-rata enkripsi untuk file citra .jpg dengan resolusi maksimal 100 piksel adalah 1151.68 milisekon, maksimal 200 piksel adalah 31174.366 milisekon, maksimal 300 piksel adalah 193525.86 milisekon, maksimal 400 piksel adalah 672499.63 milisekon. Sedangkan waktu rata-rata dekripsi untuk cipher image dengan reolusi maksimal 100 piksel adalah 857.82, maksimal 200 piksel 26272.50 milisekon, maksimal 300 piksel 164645.60 milisekon, maksimal 400 piksel adalah 612099.27 milisekon. Penelitian menunjukkan waktu rata-rata proses dekripsi lebih cepat dari proses enkripsi. Kemudian ukuran citra setelah dekripsi menjadi lebih besar dibandingkan dengan citra asli.
Kata Kunci :Citra,Hybrid Cryptosystem, Kriptografi, LUC, MDTM Cipher
IMAGE FILE SECURITY WITH HYBRID CRYPTOSYSTEM USING LUC ALGORITHM AND MDTM CIPHER ALGORITHM
ABSTRACT
Information technology is currently growing rapidly and affect almost all aspects of human life. Especially in securing the distribution of documents on a network. One of them is digital image. Digital image files are very easy to send through various media with the help of internet. This allows the occurrence of fraud or crime in the distribution of the image. One of the safest ways that the image can only be read by the recipient is by utilizing cryptography. The method used is Hybrid Cryptosystem where this method utilizes the advantages of symmetric algorithms and asymmetric algorithms and overlap each other's weaknesses. In this research combines the MDTM Cipher algorithm which is a symmetric algorithm with LUC algorithm which is an asymmetric algorithm. The research will encrypt and decrypt the image with the MDTM cipher algorithm and will encrypt and decrypt the key of MDTM cipher using LUC algorithm. This research is implemented into an application system designed using C # programming language. The results show that hybrid cryptosystem can secure and restore the image as before. The average encryption time for a .jpg image file with a maximum resolution of 100 pixels is 1151.68 milliseconds, a maximum of 200 pixels is 31174.366 miliseconds, a maximum of 300 pixels is 193525.86 milliseconds, a maximum of 400 pixels is 672499.63 miliseconds. While the average decryption time for cipher image with a maximum resolution of 100 pixels is 857.82 miliseconds, maximum 200 pixels 26272.50 miliseconds, maximum 300 pixels 164645.60 miliseconds, maximum 400 pixels is 612099.27 miliseconds. Research shows that the average time of the decryption process faster than the encryption process. Then the image size after decryption becomes larger than the original image.
Keywords :Cryptography, Hybrid Cryptosystem, Image, LUC, MDTM Cipher
DAFTAR ISI
Halaman
Persetujuan i
Pernyataan ii
Penghargaan iii
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Tabel ix
Daftar Gambar x
Daftar Lampiran xi
Bab 1 Pendahuluan
1.1.Latar Belakang 1
1.2.Rumusan Masalah 2
1.3.Batasan Masalah 2
1.4.Tujuan Penelitian 3
1.5.Manfaat Penelitian 3
1.6.Metodologi Penelitian 3
1.7.Sistematika Penulisan 4
Bab 2 Landasan Teori
2.1.Kriptografi 6
2.1.1. Definisi Kriptografi 6
2.1.2. Tujuan Kriptografi 7
2.1.3. Komponen Kriptografi 7
2.1.4. Jenis-Jenis Kriptografi 8
2.1.5. Hybrid Cryptosystem 10
2.2.Algoritma 10
2.2.1. Algoritma Simetris MDTM Cipher 10
2.2.2. Algoritma Asimetris LUC
2.3.Citra Digital 15
2.3.1. Citra Biner (Monokrom) 15
2.3.2. Citra Grayscale (Keabuan) 15
2.3.3. Citra Warna (True Color) 16
2.4.Penelitian Relevan 16
Bab 3 Analisis dan Perancangan
3.1.Analisis Sistem 17
3.1.1. Analisis Masalah 17
3.1.2. Analisis Kebutuhan 18
3.1.3. Arsitektur Umum 19
3.2.Pemodelan Sistem 20
3.2.1. Use Case Diagram 21
3.2.2. Activity Diagram 21
3.2.3. Sequence Diagram 23
3.2.4. Flowchart 24
3.3.Perancangan Sistem 28
3.3.1. Halaman Beranda 28
3.3.2. Halaman Enkripsi 29
3.3.3. Halaman Dekripsi 31
3.3.4. Halaman Profil 32
Bab 4 Implementasi dan Pengujian Sistem
4.1.Implementasi Sistem 34
4.1.1. Halaman Beranda 34
4.1.2. Halaman Enkripsi 34
4.1.3. Halaman Dekripsi 35
4.1.4. Halaman Profil 36
4.2.Pengujian Sistem
4.2.1. Pengujian Pembangkit Kunci 37
4.2.2. Pengujian Proses Enkripsi 39
4.2.3. Pengujian Proses Dekripsi 43
4.2.4. Analisis Proses Enkripsi Citra Digital Berwarna 48 4.2.5. Analisis Proses Dekripsi Cipher Image 51 4.2.6. Analisis Citra Awal dengan Citra Hasil Dekripsi 54 Bab 5 Kesimpulan dan Saran
5.1.Kesimpulan 56
5.2.Saran 56
Daftar Pustaka 58
DAFTAR TABEL
Halaman
Tabel 2.1 MDTM Cipher 16 x 16 11
Tabel 3.1 Keterangan Gambar Rancangan Interface Halaman Beranda 29 Tabel 3.2 Keterangan Gambar Rancangan Interface Halaman Enkripsi 30 Tabel 3.3 Keterangan Gambar Rancangan Interface Halaman Dekripsi 32 Tabel 3.4 Keterangan Gambar Rancangan Interface Halaman Profil 33 Tabel 4.1 Pengujian Enkripsi pada Citra Digital Berwarna 49 Tabel 4.2 Running Time Enkripsi File Citra dengan Resolusi Berbeda 50
Tabel 4.3 Pengujian Dekripsi pada Cipher Image 52
Tabel 4.4 Running TimeDekripsi Cipher Image dengan Resolusi Berbeda 53 Tabel 4.5 Analisis Citra Awal dengan Citra Hasil Dekripsi 54
DAFTAR GAMBAR
Halaman
Gambar 2.1 Skema proses enkripsi dan dekripsi 6
Gambar 2.2 Skema algoritma simetris 7
Gambar 2.3 Skema algoritma asimetris 15
Gambar 3.1 Diagram Ishikawa Masalah Penelitian 18
Gambar 3.2 Arsitektur Umum Sistem 19
Gambar 3.3 Use Case Diagram Sistem 21
Gambar 3.4 Activity Diagram Enkripsi 22
Gambar 3.5 Activity Diagram Dekripsi 22
Gambar 3.6 Sequence Diagram Enkripsi 23
Gambar 3.7 Sequence Diagram Dekripsi 23
Gambar 3.8 Flowchart Enkripsi Sistem 24
Gambar 3.9 Flowchart Dekripsi Sistem 25
Gambar 3.10 Flowchart Enkripsi Algoritma MDTM Cipher 26 Gambar 3.11 Flowchart Dekripsi Algoritma MDTM Cipher 27
Gambar 3.12 Rancangan Interface Halaman Beranda 28
Gambar 3.13 Rancangan Interface Halaman Enkripsi 30 Gambar 3.14 Rancangan Interface Halaman Dekripsi 31
Gambar 3.12 Rancangan Interface Halaman Profil 33
Gambar 4.1 Halaman Beranda 34
Gambar 4.2 Halaman Enkripsi 35
Gambar 4.3 Halaman Dekripsi 36
Gambar 4.4 Halaman Profil 36
Gambar 4.5 Tampilan input kunci MDTM Cipher 38
Gambar 4.6 Tampilan membangkitkan kunci 38
Gambar 4.7 Tampilan pop up input citra 40
Gambar 4.8 Tampilan enkripsi citra 40
Gambar 4.9 Tampilan pop up save cipher image 41
Gambar 4.10 Tampilan proses enkripsi kunci MDTM 42
Gambar 4.11 Tampilan pop up save cipher key 42
Gambar 4.12 Tampilan pop up save private key 43
Gambar 4.13 Tampilan proses dekripsi 44
Gambar 4.14 Tampilan pop up memilih cipher key 45
Gambar 4.15 Tampilan pop up memilih private key 45
Gambar 4.16 Tampilan dekripsi cipher key 46
Gambar 4.17 Tampilan pop up inputcipher image 47
Gambar 4.18 Tampilan dekripsi cipher image 47
Gambar 4.19 Tampilan pop up menyimpan citra asli 48 Gambar 4.20 Grafik Hubungan Resolusi Gambar dengan Running Time Enkripsi 50 Gambar 4.21 Grafik Hubungan Ukuran Citra Asli dengan Cipher Image 51 Gambar 4.22 Grafik Hubungan Resolusi Gambar dengan Running Time Dekripsi 53
DAFTAR LAMPIRAN
Halaman
Lampiran 1 Listing Program A-1
Lampiran 2 Curriculum Vitae B-1
BAB 1 PENDAHULUAN
1.1. Latar Belakang
Teknologi informasi saat ini berkembang pesat dan mempengaruhi hampir seluruh aspek pada kehidupan manusia. Terutama di dalam pengamanan distribusi dokumen pada suatu jaringan. Salah satunya adalah citra digital. Citra digital telah digunakan secara luas dalam berbagai macam hal sehingga perlindungan pada citra digital dari pihak yang tidak memiliki hak akses pun menjadi sangat penting. Hampir semua informasi ini dikumpulkan dan disimpan dalam komputer lalu kemudian dikirimkan melalui jaringan, contohnya internet. Bila informasi penting ini jatuh ke tangan orang yang salah, maka akan dapat menyebabkan hal-hal yang tidak diinginkan, seperti memanipulasi gambar yang bersifat negatif yang dapat menyebabkan dan merugikan si pemilik gambar. Hal inilah yang menyebabkan perlindungan pada citra digital itu menjadi sangat penting. Salah satu metode yang digunakan untuk menjaga keamanan data tersebut adalah kriptografi.
Kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan data yang berhubungan dengan aspek keamanan informasi. Hal ini bertujuan agar sebuah data yang disampaikan hanya dimengerti oleh orang yang berhak untuk mengetahuinya (Sukarno, 2013). Untuk memberikan keamanan pada data terkhusus file citra, maka kali ini algoritma LUC akan dikombinasikan dengan algoritma MDTM Cipher.
Sehingga akan lebih aman mengamankan file dari proses kejahatan, seperti pencurian file dan lainnya.
Algoritma LUCmerupakan algoritma kriptografi kunci publik yang dikembangkan oleh Peter J. Smith dari New Zealand pada tahun 1993. Algoritma LUC ini dirancang oleh Peter J. Smith setelah ia berhasil meneliti dan melihat kelemahan dari metode RSA(Anggraini, 2017). Algoritma ini merupakan algoritma yang berbasis dari Lucas Function. Algoritma LUC sendiri hampir sama dengan
metode RSA hanya saja fungsi pangkat pada metode RSA diganti dengan fungsi Lucas pada metode LUC (Christian, 2017). Metode LUC adalah sebuah public-key
cryptosystemyang menggunakan grup yang berdasar pada barisan Lucas (operasi aritmatik spesifik turunan dari barisan Lucas).
Algoritma MDTM Cipher adalah singkatan dari (Monograph-Digraph- Transposition-Monograph) merupakan algoritma simetris dimana hubungan antara huruf individu dari teks polos dan Cipher cukup kompleks karena setiap huruf asli diganti dengan masing-masing kemudian secara terpisah menggabungkan dengan huruf dari pasangan lain untuk membentuk digraph, yang kemudian kembali diubah menjadi monograph. Dalam keadaan tertentu menghasilkan teks sandi yang terlihat aneh jika dibandingkan dengan plaintext asli (Churchhouse, 2004).
Dengan melihat dua jenis algoritma di atas, penelitian ini menggunakan metode Hybrid Cryptosystem untuk pengamanan dan penyandian pada pesan.Metode Hybrid Cryptosystem adalah sebuah metode yang merupakan kombinasi dari algoritma kriptografi simetris dan algoritma kriptografi asimetris untuk memperoleh sebuah keunggulan kecepatan data dari masing-masing algoritma tersebut.
Berdasarkan pemaparan latar belakang di atas yang telah diuraikan, maka dilakukanlah penelitian dengan judul “Pengamanan File Citra Dengan Skema Hybrid Cryptosystem Menggunakan Algoritma LUC dan Algoritma MDTM Cipher”.
1.2. Rumusan Masalah
Citra atau gambar merupakan informasi yang penting dan sering disebarkan melalui berbagai media yang terkadang tak ingin diketahui oleh pihak ketiga.Untuk itu keamanan dalam pengiriman citra sangat diperlukan dengan mengkombinasikan algoritma kriptografi MDTM Cipher dan LUC dengan menggunakan metode Hybrid Cryptosystem.
1.3. Batasan Masalah
Dari uraian perumusan masalah diatas, agar tulisan ini tidak menyimpang dari tujuan yang diharapkan maka diperlukan batasan masalah sebagai berikut:
1. Aplikasi bersifat offline dan berbasis desktop.
2. Teknik pengamanan hanya dilakukan pada file citra berformat (.JPG).
3. Pengaplikasian menggunakan bahasa c#.
4. File citra yang akan digunakan berwarna dan memiliki ukuran maksimal 500x500 piksel.
5. Menghitung Real Running Time proses enkripsi dan dekripsi file citra.
6. Penelitian ini hanya membahas tentang pengamanan file citra menggunakan algoritma LUC yang dikombinasikan dengan MDTM Cipher.
1.4. Tujuan Penelitian
1. Mengimplementasikan Kriptografi Hybrid dengan algoritma LUC dan algoritma MDTM Cipher dalam pengamanan file (.JPEG).
2. Mengetahui waktu yang digunakan untuk enkripsi dan dekripsi pada pengamanan file (.JPEG).
1.5. Manfaat Penelitian
1. Mmperoleh sebuah sistem yang dapat digunakan untuk mengamankan pesan pada citra digital.
2. Membantu pemahaman alur kerja pada algoritma LUC dan algoritma MDTM Cipher.
1.6. Metodologi Penelitian
Penelitian ini menerapkan beberapa metode penelitian sebagai berikut:
1. Studi Literatur
Pada tahap ini dilakukan pengumpulan referensi yang diperlukan dalam penelitian.Hal ini dilakukan agar dapat memperoleh informasi dan data yang diperlukan terkait dengan metode LUC dan metode MDTM Cipher.Referensi yang digunakan berupa buku, jurnal, tesis, skripsi, artikel, ataupun situs internet yang berkaitan dengan penelitian ini.
2. Analisis Data dan Perancangan
Tahap ini digunakan untuk mengolah data dari hasil literatur yang kemudian dianalisis dan dirancang dengan menggunakan algoritma LUC dan algoritma MDTM Cipher. Proses perancangan ini meliputi pembuatan algoritma program, pembuatan flowchart, rancangan aplikasi, dan pembuatan interface aplikasi.
3. Implementasi
Pada tahap ini algoritma LUC dan MDTM Cipher diimplementasikan dengan menggunakan bahasa pemrograman C#.
4. Pengujian
Pada tahap ini prototipe sistem yang telah diimplementasikan dilakukan pengujian apakah aplikasi yang sudah dirancang berjalan baik atau tidak sesuai dengan tujuan penelitian.
5. Dokumentasi
Setelah semua tahap selesai dilakukan maka, penulis akan membuat laporan dan kesimpulan yang akan didokumentasikan dalam bentuk laporan akhir (skripsi).
1.7. Sistematika Penulisan
Sistematika penulisan skripsi ini terdiri dari beberapa bagian utama yang dijelaskan seperti berikut:
BAB 1 PENDAHULUAN
Menjelaskan latar belakang dari penelitian yang dilakukan, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan dari skripsi ini.
BAB 2 LANDASAN TEORI
Berisi penjelasan singkat mengenai kriptografi, citra digital,algoritma LUC, algoritma MDTM Cipher, dan beberapa penelitian terdahulu yang relevan.
BAB 3 ANALISIS DAN PERANCANGAN
Membahas analisis terhadap masalah penelitian, analisis kebutuhan dalam membangun sistem dan perancangan terhadap sistem yang akan dibangun.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Merupakan hasil penelitian yang dilakukan. Berisi tentang penjelasan implementasi sistem berdasarkan analisis dan perancangan sistem, skenario pengujian terhadap sistem yang telah dibangun serta pembahasan hasil pengujian.
BAB 5 KESIMPULAN DAN SARAN
Berisi kesimpulan dari keseluruhan penelitian dan saran berdasarkan hasil pengujian yang diharapkan dapat bermanfaat untuk pengembangan selanjutnya.
BAB 2
LANDASAN TEORI
2.1. Kriptografi
2.1.1. Definisi Kriptografi
Secara etimologi kata kriptografi (Cryptography) berasal dari bahasa Yunani, yaitu kryptos yang artinya tersembunyi atau rahasia dan graphein yang artinya tulisan (Prayudi, 2005). Awal mula kriptografi dipahami sebagai ilmu tentang menyembunyikan pesan (Sadikin, 2012), tetapi seiring perkembangan zaman hingga saat ini pengertian kriptografi berkembang menjadi ilmu tentang teknik matematis yang digunakan untuk menyelesaikan persoalan keamanan berupa privasi dan otentikasi (Diffie, 1976).
Dalam kriptografi, terdapat dua proses yang sangat penting yaitu proses enkripsi dan proses dekripsi. Pada proses enkripsi pesan asli (plaintext) diubah menjadi pesan yang disandikan (ciphertext). Agar pesan tidak dapat dipahami oleh pihak lain maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami.
Sedangkan pada proses dekripsi pesan yang sudah disandikan sebelumnya (ciphertext) diubah kembali menjadi pesan asli (plaintext). Ciphertext harus dapat ditransformasikan kembali menjadi plaintext agar pesan yang dikirim bisa dibaca oleh si penerima pesan. Skema proses enkripsi dan dekripsi secara sederhana dapat dilihat pada Gambar 2.1.
Plaintext Ciphertext Plaintext
Gambar 2.1 Skema proses enkripsi dan dekripsi
Enkripsi Dekripsi
2.1.2. Tujuan Kriptografi
Ada empat tujuan mendasar dari kriptografi yang juga merupakan aspek keamanan informasi (Munir, 2016) yaitu:
1. Kerahasiaan, adalah aspek yang berhubungan dengan penjagaan isi informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka informasi yang telah dieknripsi.
2. Integritas data, adalah aspek yang berhubungan dengan penjagaan dari perubahan data secara tidak sah.
3. Autentikasi, adalah aspek yang berhubungan dengan identifikasi atau pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri.
4. Non-repudiation (menolak penyangkalan), adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman suatu informasi oleh yang mengirimkan, atau harus membuktikan bahwa suatu pesan berasal dari seseorang, apabila ia menyangkal mengirim informasi tersebut.
2.1.3. Komponen Kriptografi
Menurut (Ariyus, 2008), dalam kriptografi terdapat beberapa komponen dasar penting antara lain:
1. Enkripsi
Enkripsi merupakan pengamanan data yang dikirimkan sehingga terjaga kerahasiaannya.Pesan asli disebut plaintext (teks biasa), yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi juga dapat diartikan sebagai cipher atau kode.
2. Dekripsi
Dekripsi merupakan kebalikan dari enkripsi, yaitu pesan yang telah dienkripsi dikembalikan ke bentuk awalnya.Algoritma yang digunakan untuk dekripsi pun berbeda dengan yang digunakan pada enkripsi.
3. Kunci
Kunci merupakan parameter yang digunakan untuk melakukan enkripsi dan dekripsi.Kunci terbagi menjadi dua jenis, yaitu kunci rahasia (private key) dan kunci umum (public key).
4. Ciphertext
Ciphertext merupakan suatu pesan yang melalui proses dari enkripsi. Pesan yang ada pada teks-kode tidak dapat dibaca karena berupa karakter yang tidak mempunyai arti.
5. Plaintext
Plaintext sering disebut juga sebagai cleartext.Teks-asli atau teks-biasa ini merupakan pesan yang ditulis yang mempunyai makna atau arti.Teks asli ini yang kemudian diproses menggunakan algoritma kriptografi agar menjadi ciphertext (teks-kode).
6. Pesan
Pesan merupakan data atau informasi yang dikirim melalui kurir, saluran komunikasi data, dsb.Atau yang dapat disimpan di dalam media perekaman (kertas, storage, dsb).
7. Cryptanalysis
Cryptanalysis merupakan analisis kode atau suatu ilmu untuk mendapatkan teks- asli tanpa harus mengetahui kunci yang sah secara wajar.Analisis kode juga menemukan kelemahan dari algoritma kriptografi yang pada akhirnya dapat menemukan kunci atau teks-asli dari teks-kode yang dienkripsi dengan algoritma tertentu.
2.1.4. Jenis-jenis Algoritma Kriptografi
Secara umum ada dua jenis kriptografi berdasarkannya kuncinya, yaitu Algoritma Simetris dan Algoritma Asimetris.
2.1.4.1. Algoritma Simetris
Algoritma simetris sering juga dikenal dengan algoritma kunci rahasia atau sandi kunci rahasia. Algoritma simetris adalah algoritma kriptografi yang memakai kunci enkripsi yang sama dengan kunci dekripsinya. Algoritma ini mengharuskan pengirim dan penerima menyetujui suatu kunci tertentu sebelum mereka saling berkomunikasi.Keamanan algoritma ini tergantung pada kuncinya, jika kunci diberitahukan atau dibocorkan maka siapa saja dapat mengenkripsi dan mendekripsi pesan yang dikirim, jadi kunci harus benar-benar rahasia dan aman.
Adapun sketsa atau gambaran umum mengenai kunci simetris terdapat pada Gambar 2.2 dibawah ini:
Kunci
Plaintext Ciphertext Plaintext
Gambar 2.2.Skema Algoritma Simetris
2.1.4.2. Algoritma Asimetris
Algoritma asimetris sering juga dikenal dengan algoritma kunci publik atau sandi kunci publik.Algoritma asimetris adalah algoritma yang memakai dua jenis kunci, yaitu kunci publik (public key) dan kunci rahasia (secret key).Kunci publik adalah kunci yang digunakan untuk mengenkripsi pesan.Sedangkan kunci rahasia digunakan untuk mendekripsi pesan.
Kunci publik bersifat umum, artinya kunci ini tidak dirahasiakan sehingga bisa dilihat oleh siapa saja.Sedangkan kunci rahasia adalah kunci yang dirahasiakan dan hanya orang-orang tertentu saja yang dapat mengetahuinya. Keuntungan utama dari algoritma ini adalah memberikan jaminan keamanan kepada siapa saja yang melakukan pertukaran informasi meskipun diantara mereka tidak ada kesepakatan mengenai keamanan pesan terlebih dahulu maupun saling tidak mengenal satu sama lainnya.
Adapun proses enkripsi dan dekripsi dengan algoritma asimetris dapat dilihat pada Gambar 2.3 dibawah ini:
Kunci Publik Kunci Privat
Plaintext Ciphertext Plaintext
Gambar 2.3. Skema Algoritma Asimetris
Algoritma asimetris pertama kali dipublikasikan oleh Diffie dan Hellman pada tahun 1976 dalam papernya yang berjudul “New Directions in Cryptography”.
Enkripsi Dekripsi
Enkripsi Dekripsi
2.1.5. Hybrid Cryptosystem
Hybrid Cryptosystem yaitu kombinasi kriptografi dengan menggabungkan algoritma simetris dan algoritma asimetris atau dengan public key dan private key (Fauziah, 2008).Karena kelebihan dan kekurangan yang ada pada masing-masing algoritma simetris dan algoritma asimetris, maka tidaklah benar bahwa kriptografi kunci asimetris menggantikan kriptografi kunci simetris.Karena kriptografi kunci asimetris mempunyai kelemahan dari segi waktu komputasi dan ukuran ciphertext dibandingkan dengan kriptografi kunci simetris, maka hal ini mempunyai implikasi dalam praktek penggunaan. Sedangkan kelebihan kriptografi kunci simetri adalah pada segi kecepatan untuk proses enkripsi dan dekripsi yang tinggi, namun memiliki kelemahan dalam segi pendistribusian kuncinya. Untuk mengatasi kelemahan masing-masing algoritma kriptografi tersebut, maka dipadukan kedua sistem algoritma tersebut. Perpaduan atau penggabungan sistem ini lah yang disebut dengan Hybrid Cryptosystem.
Kriptografi Hybrid sering dipakai karena memanfaatkan keunggulan kecepatan pemrosesan data oleh algoritma simetris dan kemudahan transfer kunci menggunakan algoritma asimetris. Hal ini mengakibatkan peningkatan kecepatan tanpa mengurangi kenyamanan serta keamanan.
2.2. Algoritma
2.2.1. Algoritma Simetris MDTM Cipher
Algoritma MDTM (Monograph-Digraph-Transposition-Monograph) Cipher merupakan algoritma dimana hubungan antara huruf individu dari teks polos dan cipher cukup kompleks karena setiap huruf asli diganti dengan huruf yang masing- masing kemudian secara terpisah menggabungkan dengan huruf dari pasangan lain untuk membentuk digraph, yang kemudian kembali diubah menjadi monograph.
Dalam keadaan tertentu menghasilkan teks sandi yang terlihat aneh jika dibandingkan dengan plaintext asli (Churchhouse, 2004).
2.2.1.1. Enkripsi MDTM Cipher
Enkripsi algoritma MDTM Cipher pada penelitian ini menggunakan tabel monograph ukuran 16x16. Enam belas baris dan kolom diidentifikasikan oleh huruf A, B, C, D, E, F, G, H, I, J, K, L, M, N, O dan P seperti pada tabel 2.1.berikut :
Tabel 2.1 MDTM Cipher 16 x 16
A B C D E F G H I J K L M N O P
A SO
H ST
X ET
X EOT ENQ ACK BE
L BS TAB LF VT FF CR S
O SI DL
E
B D
C1 DC
2 DC
3 DC4 NAK SYN ET
B CAN EM SUB ES
C FS RS U
S DE L
spa ce
C ! " # $ % & ' ( ) * + , - . / 0
D 1 2 3 4 5 6 7 8 9 : ; < = > ? @
E A B C D E F G H I J K L M N O P
F Q R S T U V W X Y Z [ \ ] ^ _ `
G a B c d e f G H i j k l m n o p
H q R s t u v W X y z { | } ~ • PA
D
I , ƒ „ … † ‡ ˆ ‰ Š ‹ Œ RI SS
2 SS3 DC
5
J ‘ ’ “ ” • – — ˜ ™ š › œ OS
C P
M Ÿ spa
ce
K ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ • ® ¯ °
L ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À
M Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð
N Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à
O á Â ã ä å æ Ç È é ê ë ì í î Ï ð
P ñ Ò ó ô õ ö ÷ Ø ù ú û ü ý þ Ÿ Ā
Setiap huruf dalam plaintext disubstitusi menjadi dua huruf yang ditentukan oleh baris dan kolom. Sebagai contoh karakter Gdienkripsi menjadi EG, serta karakter d dienkripsi menjadi GD. Ciphertext yang dihasilkan akan menjadi dua kali lebih panjang dari aslinya.
Setelah didapatkan ciphertext-nya kemudian susunlah ciphertext pertama tersebut kedalam baris berbentuk kotak dan mengisi sisa kotak dengan huruf yang tidak terpakai.Jika kata kunci yang sudah termasuk didalamnya diulang, maka diabaikan (Churchhouse, 2004).
Untuk algoritma MDTM Cipher sendiri memiliki kunci dan transposisi.Hal pertama yang harusdilakukanadalahmenentukankunci (key).
Kunciakandigabungkankedalamtabelmonograph.
Karakterkunciakandiletakkanpadaawaltabelmonograph. Jikaadakarakter yang berulangdanapabilakaraktertersebutsamadengankarakterpadatabel,
makacukupsatukarakter yang munculpertama yang dituliskan.
Kunciakantetapberisisemuakaraktertetapitidakberurutandikarenakanadanyapeletakank uncidiawal.
2.2.1.2. Dekripsi MDTM Cipher
Proses dekripsi pada MDTM cipher merupakan kebalikan dari proses enkripsinya secara sistematis yang akhirnya akan menghasilkan plaintext sebelumnya sebelum dilakukan proses enkripsi.
2.2.2. Algoritma Asimetris LUC
Pada tahun 1993, Smith dan Lennon memperkenalkan algoritma kriptografi asimetris yang berbasis pada fungsi Lucas (Lucas Function).Algoritma ini memiliki tiga tahap dalam cryptosystem, yaitu pembangkitan kunci, enkripsi dan dekripsi.
2.2.2.1. Landasan Matematika Algoritma LUC
Dalam memahami dan mempelajari kriptografi, sebaiknya memahami dan mempelajari konsep-konsep dasar dalam perhitungan matematis yang digunakan dalam algoritma kriptogafi yang akan digunakan. Dalam algoritma LUCakan melibatkan konsep perhitungan matematis seperti Least Common Multiple (LCM), Greatest Common Divisor (GCD), invrelatif prima, aritmatika modulo.
a. Least Common Multiple (LCM)
Least Common Multiple (LCM) atau Kelipatan Persekutuan Terkecil dari suatu himpunan bilangan adalah bilangan terkecil yang merupakan kelipatan dari setiap anggota himpunan itu. Contoh: LCM dari 6 dan 8 dengan perhitungan manual dapat ditulis sebagai berikut:
6 = 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, ...
8 = 8, 16, 24, 32, 40, 48, 56, 64, 72, ...
Kelipatan persekutuannya adalah bilangan-bilangan yang muncul secara bersamaan pada kedua baris geometri tersebut, yaitu 24, 48, dan 72.Jadi, LCM dari 6 dan 8 adalah 24.
b. Greatest Common Divisor (GCD)
Greatest Common Divisor (GCD) atau Faktor Persekutuan Terbesar dari suatu himpunan bilangan adalah bilangan terbesar yang merupakan kelipatan dari setiap
anggota himpunan tersebut. Contoh: LCM dari 32 dan 27 dengan perhitungan manual dapat ditulis sebagai berikut:
32 = 1, 2, 4, 8, 16, 32 27 = 1, 3, 9, 27
Faktor persekutuannya adalah bilangan-bilangan yang muncul pada kedua baris geometri tersebut. Jadi, GCD dari 32 dan 27 adalah 1.
c. Relatif Prima
Dua buah bilangan relatif prima jika dan hanya jika GCD dari dua buah bilangan tersebut adalah 1.GCD(a, b)=1 maka diartikan a relatif prima dengan b.
d. Aritmatika Modulo
Aritmatika modulo digunakan agar operasi aritmatika selalu menghasilkan integer. Operasi modulo memerlukan 2 buah masukan yaitu sebuah bilangan bulat a dan sebuah bilangan positif yang disebut modulus b. Operasi modulo mengembalikan nilai r yang merupakan sisa bagi atas operasi a dibagi b. Notasi operasi modulus dituliskan sebagai a mod b = r (Sadikin, 2012). Contoh: 24 mod 13 = 11.
2.2.2.2. Proses pembangkitan kunci dengan algoritma LUC a. Pilih dua buah bilangan prima, misal p dan q dimana p ≠ q.
b. Hitunglah nilai n = p x q.
c. Hitung nilai t = (p-1).(q-1).(p+1).(q+1).
d. Ambil sebuah bilangan acak dimana bilangan tersebut lebih besar dari 1 dan lebih kecil dari t kemudian bilangan acak tersebut merupakan bilangan bulat. Bilangan acak disimbolkan dengan e. (1<e<t).
e. Kemudian hitung nilai gcd (e,t) = 1 atau e relative prima terhadap t.
f. Hitung nilai R(n) dengan rumus: R(n) = LCM (p-1, q-1, p+1, q+1).
g. Hitung d untuk mendapatkan hasil e.d mod R(N) = 1.
Setelah dapat nilai d yang merupakan kunci privat pada algoritma LUC, maka dilakukan proses enkripsi dan dekripsi.
Contoh: Pilih dua buah bilangan prima sembarang yaitu p=47 dan q=17, dimana p ≠ q.
a. Hitung nilai n = p x q. N = 47 x 17 = 799.
b. b. Hitung t = (p-1).(q-1).(p+1)(q+1) = (47-1).(17-1).(47+1).(17+1) = 635904.
c. Menetukan nilai e (bilangan relatif prima). Pilih e secara acak, dimana z < e < n-1 dan GCD (e,t) =1.
RP (p-1) = RP 46 = {3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43}
RP (q-1) = RP 16 = {3, 5, 7, 11, 13}
RP (p+1) = RP 47 = {3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47}
RP (q+1) = RP 18 = {3, 5, 7, 11, 13, 17}
Hasil perhitungan bilangan relatif prima di atas terdapat beberapa bilangan yang sama, yaitu {3, 5, 7, 11, 13}. Maka pilih e = 13, GCD (13, 635904) = 1.
d. Hitung R(N) = LCM(p-1, q-1, p+1, q+1) = LCM(46, 16, 48, 18) = 3312.
e. Hitung d sehingga hasil dari e.d mod R(N) = 1. Setelah dihitung maka nilai d=2293.
Maka public key-nya adalah e yaitu 13 dan private key-nya adalah d yaitu 2293.
2.2.2.3. Proses Enkripsi Algoritma LUC
a. Ambil satu nilai karakter yang akan diamankan.
b. Enkripsi nilai karakter tersebut dengan menggunakan rumus:
V[0] = 2 V[1] = m
Jika i ≥ 2 maka V[i] = ( m.V[i-1] – V[i-2] ) mod n. Proses enkripsi menghasilkan ciphertext.
Contoh: Pilih sebuah karakter, misal A dengan kode ASCII = 65.
V [2...e] = (m.V[i-1] – V[i-2]) mod n V [0] = 2
V [1] = 65
V [2...e] = (65.V[i-1] – V[i-2]) mod 799 C = V[e] = V[13] = 608
2.2.2.4. Proses Dekripsi Algoritma LUC
a. Ambil nilai ciphertext dari proses enkripsi, C = Ciphertext.
b. Kemudian dekripsi dengan menggunakan rumus:
V [0] = 2
V [1] = C
Jika i ≥ 2 maka V[i] = ( C.V[i-1] – V[i-1] ) mod n. Proses dekripsi menghasilkan plaintext (Anggraini, 2017).
Contoh: Pilih ciphertext sebelumnya yang telh dienkripsi, yaitu 608.
V [0] = 2 V [1] = C = 608
V [2...d] = (C.V[i-1] – V[i-2] mod 799 m = V[d]
m = V[2293] = 65 = “A”
2.3. Citra Digital
Suatu citra dapat didefinisikan sebagai fungsi f(x, y), berukuran M baris dan N kolom, dimana x dan y adalah koordinat spasial dari citra, sedangkan f (x, y) merupakan intensitas atau tingkat keabuan dari citra pada titik tersebut. Apabila nilai x, y, dan f secara keseluruhan memiliki nilai yang berhingga (finite) dan bernilai diskrit, maka citra tersebut disebut dengan citra digital (Putra, 2010).
Ada banyak cara untuk menyimpan citra digital di dalam memori. Cara penyimpanan menentukan jenis citra digital yang terbentuk. Beberapa jenis citra digital yang sering digunakan adalah citra biner, citra grayscale dan citra berwarna (Sutoyo, 2009).
2.3.1. Citra Biner(Monokrom)
Banyaknya dua warna, yaitu hitam dan putih. Dibutuhkan 1 bit di memori untuk menyimpan kedua warna ini.
2.3.2. Citra Grayscale (Skala Keabuan)
Banyaknya warna tergantung pada jumlah bit yang disediakan di memori untuk menampung kebutuhan warna ini. Citra 2 bit mewakili 4 warna, citra 3 bit mewakili 8 warna, dan seterusnya. Semakin besar jumlah bit warna yang disediakan di memori, semakin halus gradasi warna yang terbentuk.
2.3.3. Citra Warna (True Color)
Setiap piksel pada citra warna mewakili warna yang merupakan kombinasi dari tiga warna dasar (RGB = Red Green Blue). Setiap warna dasar menggunakan penyimpanan 8 bit = 1 byte, yang berarti setiap warna mempunyai gradasi sebanyak 255 warna.Berarti setiap piksel mempunyai kombinasi warna sebanyak 28 x 28 x 28 = 224 = 16 juta warna lebih.Itulah sebabnya format ini dinamakan true color karena mempunyai jumlah warna yang cukup besar sehingga bisa dikatakan hampir mencakup semua warna di alam.
2.4. Penelitian yang Relevan
Berikut ini adalah beberapa penelitian yang terkait dengan Hybrid Cryptosystem, Algoritma MDTM Cipher, dan Algoritma LUC:
1. Penelitian dalam jurnal internasional oleh Gutub & Khan (2012) dengan judul
“Hybrid Crypto Hardware Utilizing Symmetric Key & Public Key Cryptosystem”.
Penelitian ini menyimpulkan bahwa Hybrid Cryptosystem memberikan kerangka baru dalam mengimplementasikan kriptografi yang rentan dari penyadapan atau sangat aman dengan mengkombinasikan algoritma simetris dan algoritma asimetris.
2. Penelitian dalam jurnal internasional oleh Mutiara Rizky Parlindungan Nasution (2017) dengan judul “An Implementation of Super-Encryption using RC4A and MDTM Cipher Algorithms for Securing PDF Files on Anroid”. Penelitian ini menyimpulkan bahwa Aplikasi yang dirancang dalam penelitian mampu mengenkripsi dan mendekripsi menggunakan algoritma RC4A dan MDTM Cipher sertamenunjukkan bahwa perbesaran waktu proses enkripsi dan dekripsi berbanding lurus dengan penambahan jumlah karakter.
3. Penelitian dalam jurnal internasional oleh Zulkarnain dan Arniyati (2016) dengan judul “Implementation of Parallel Algorithm for LUC Cryptosystems Based on Addition Chain by A Message Passing Interface”. Penelitian ini menyimpulkan bahwa perhitungsan Algoritma LUC dengan kriptosistem menunjukkan Algoritma Paralel akan menghitung semua komputasi dan mengirimkannya ke inti utama.
BAB 3
ANALISIS DAN PERANCANGAN
3.1. Analisis Sistem
Analisis sistem (systems analysis) adalah sebuah teknik pemecahan masalah dimana sistem diuraikan menjadi komponen-kompenen dengan tujuan untuk mempelajari kinerja masing-masing komponen tersebut dalam mencapai tujuan sistem (Whitten &
Bentley, 2007). Analisis sistem bertujuan untuk memecah sistem ke dalam komponen- komponen subsistem yang lebih kecil untuk mengetahui hubungan setiap komponen tersebut dalam mencapai tujuan.
3.1.1. Analisis Masalah
Perkembangan dalam bidang teknologi seperti saat ini telah memungkinkan setiap orang untuk saling melakukan pertukaran informasi tanpa ada batasan jarak dan waktu. Tidak tertutup kemungkinan adanya kebocoran data pada saat proses pertukaran informasi yang dilakukan sehingga pengirim informasi merasa takut dan memerlukan adanya keamanan dalam pertukaran informasi tersebut. Untuk dapat mengurangi ancaman yang dapat terjadi dalam pertukaran informasi yang bersifat rahasia dalam sebuah proses komunikasi data dapat dilakukan dengan cara melakukan pengkodean terhadap informasi yang akan disimpan atau dikirim secara cepat dan akurat. Masalah dalam sistem ini adalah bagaimana agar pertukaran informasi khususnya dalam bentuk citra dapat diamankan. Untuk mengidentifikasi masalah tersebut maka digunakanlah diagram Ishikawa (fishbone diagram). Diagram Ishikawa merupakan suatu alat visual untuk mengidentifikasi, mengeksplorasi, dan secara diagram menggambarkan semua penyebab yang berhubungan dengan suatu permasalahan. Diagram ini menunjukkan sebuah akibat dari permasalahan dengan berbagai penyebabnya (Whitten etal, 2004). Diagram ishikawa sistem ini dapat dilihat pada gambar 3.1.
Gambar 3.1. Diagram Ishikawa Masalah Penelitian 3.1.2. Analisis Kebutuhan
Analisis kebutuhan dibagi menjadi dua bagian, yaitu kebutuhan fungsional dan kebutuhan nonfungsional. Kebutuhan fungsional mendeskripsikan aktivitas yang disediakan suatu sistem. Sedangkan kebutuhan nonfungsional mendeskripsikan fitur, karakteristik dan batasan lainnya.
3.1.2.1. Kebutuhan Fungsional
Kebutuhan fungsional adalah fungsi-fungsi yang harus dipenuhi pada aplikasi yang dirancang. Kebutuhan fungsionalyang harus dipenuhi aplikasi yang dirancang adalah sebagai berikut:
a. Sistem harus mampu membaca informasi yang berada dalam file citra JPEG.
b. Kunci LUC yang dibangkitkan adalah bilangan bulat positif dari 0 sampai 255.
c. Sistem harus mampu melakukan enkripsi dengan menggunakan MDTM Cipher sehingga menghasilkan cipherimage, serta harus mampu melakukan dekripsi cipherimage menjadi String yang sama dengan String sebelum dikodekan.
3.1.2.2. Kebutuhan Non Fungsional
Kebutuhan fungsional mencakup beberapa karakteristik berikut:
1. Performa
Sistem yang akan dibangun dapat menunjukkan hasil dari pengambilan citra ke dalam bentuk semula.
2. Efisiensi
Perangkat lunak yang dibangun harus sesederhana mungkin agar tidak menyulitkan pengguna dan bersifat ramah pengguna (user friendly).
3. Ekonomis
Perangkat lunak yang dibangun harus dapat bekerja dengan baik tanpa harus mengeluarkan biaya.
4. Manajemen Kualitas
Perangkat lunak yang dibangun harus memiliki kualitas yang baik yaitu proses pembangkitan kunci yang cepat dan proses enkripsi, dekripsi yang akurat.
5. Kontrol
Perangkat lunak yang dibangun dapat menampilkan pesan error untuk setiap input yang tidak sesuai.
3.1.3. Arsitektur Umum Sistem
Arsitektur umum sistem dapat dilihat pada gambar 3.2 (a) dan (b) dibawah ini.
Gambar 3.2 (a). Arsitektur Umum Sistem Enkripsi ENKRIPSI
Input
Citra JPG
Pembangkitan Kunci Kunci MDTM
dan Kunci LUC
Proses Enkripsi
Enkripsi Citra dengan Algoritma LUC Enkripsi Kunci LUC dengan Algoritma MDTM Output
Cipher Image
Gambar 3.2 (b). Arsitektur Umum Sistem Dekripsi
Pertama kali si pengirim pesan yaitu Raisa menginputkan plain image kedalam sistem.
Setelah itu plain image dienkripsi oleh Raisa menggunakan algoritma MDTM Cipher dan menghasilkan cipher image.
Selanjutnya kunciMDTM CIpher yang digunakan pada saat mengenkripsi plain image kemudian dienkripsi lagi oleh Raisa menggunakan algoritma LUC dan menghasilkan cipher key.
Agar si penerima pesan yaitu Hamish mengetahui pesan yang dikirim oleh Raisa, maka Hamish pertama kali mendekripsikan cipher key dengan menggunakan algoritma LUC dan menghasilkan kunci MDTM Cipher.
Kemudian setelah kunci MDTM CIpher digunakan untuk membuka cipher image sehingga dihasilkan plain image yang dapat dilihat oleh Hamish.
3.2. Pemodelan Sistem
Pemodelan aplikasi yang dirancang bertujuan untuk menggambarkan semua kondisi dan bagian-bagian yang berperan dalam sistem yang dirancang. Pemodelan aplikasi dilakukan dengan membuat use-case diagram dan activity diagram.
DEKRIPSI
Input
Cipher Image
Proses Dekripsi
Dekripsi Cipher Key LUC dengan Algoritma MDTM Dekripsi Cipher Image dengan Algoritma LUC
Output
Gambar yang Sama Seperti Sebelum Proses Enkripsi
3.2.1. Use Case Diagram
Untuk menganalisa komponen-komponen yang berperan dalam sistem yang dirancang, penulis menggunakan use-case diagram agar proses penganalisaan komponen dapat dilakukan dengan mudah. Use-case diagram sistem pada aplikasi yang dirancang dapat dilihat pada Gambar 3.3.
Gambar 3.3.Use Case Diagram Sistem
Gambar 3.3.menjelaskan tentang use case diagram sistem yang diakses oleh dua orang user yaitu si pengirim dan si penerima yang memiliki hak akses terhadap use case utama yang tersedia di sistem. Si penerima memiliki hak akses use case enkripsi dan si pengirim memiliki hak akses terhadap use case pada pembangkit kunci dan dekripsi. Si pengirim melakukan proses enkripsi pesan dengan menggunakan Algoritma MDTM Cipher dan melakukan enkripsi kunci dengan menggunakan Algoritma LUC. Kemudian si penerima akan melakukan dekripsi kunci dengan menggunakan Algoritma LUC dan melakukan dekripsi pesan dengan menggunakan Algoritma MDTM Cipher.
3.2.2. Activity Diagram
Activity diagram adalah diagram aktivitas yang mendekripsikan proses kerja dalam sebuah sistem yang sedang berjalan. Dalam diagram aktivitas ini dijelaskan proses
kerja dari sistem yaitu enkripsi dan dekripsi yang dilakukan oleh pengguna yang diilustrasikan pada gambar 3.4 dan gambar 3.5.
Gambar 3.4.Activity Diagram Enkripsi
Gambar 3.5.Activity Diagram Dekripsi
3.2.3. Sequence Diagram
Sequence diagrammerupakan diagram yang berfungsi untuk menjelaskan interaksi pesan dalam waktu tertentu yang terjadi dalam suatu sistem. Sequence diagram menunjukkan peran dan pesan yang dikirim maupun diterima oleh instansi/objek yang menjalankan peran tersebut (Booch et al, 2005).Sequence diagram dari sistem ini akan diilustrasikan pada gambar 3.6 dan gambar 3.7.
Gambar 3.6.Sequence Diagram Enkripsi
Gambar 3.7.Sequence Diagram Dekripsi
Class Class
3.2.4 Flowchart
Flowchart atau diagram alir merupakan diagram yang menunjukkan langkah-langkah yang akan dikerjakan secara sistematis. Flowchart dari proses enkripsi dan dekripsi ditujunkkan pada gambar 3.8 dan gambar 3.9 berikut.
Gambar 3.8.Flowchart Enkripsi Sistem
Pada gambar 3.8 dapat dilihat proses enkripsi yang dilakukan sistem. Pertama sekali yang dilakukan adalah meng-import gambar ke sistem dan meng-input kunci MDTM Cipher. Selanjutnya sistem akan melakukan proses enkripsi gambar dengan
algoritma MDTM Cipher. Hasil dari proses enkripsi berupa cipher image. Selanjutnya akan dilakukan proses pembangkitan kunci oleh algoritma LUC yang akan menghasilkan public key dan private key yang masing-masing akan digunakan pada proses enkripsi dan dekripsi. Selanjutnya akan dilakukan proses enkripsi pada kunci MDTM Cipher yang akan menghasilkan cipherkey.
Gambar 3.9.Flowchart Dekripsi Sistem
Pada gambar 3.9 dapat dilihat proses dekripsi yang dilakukan sistem. Pertama sekali yang dilakukan adalah meng-import cipher image dan cipher key ke dalam sistem. Selanjutnya akan dilakukan proses dekripsi terhadap cipherkey dengan algoritma LUC sehingga akan menghasilkan kunci MDTM. Selanjutnya cipher image juga akan didekripsi menggunakan algoritma MDTM Cipher dengan memakai kunci MDTM yang telah didekripsi sebelumnya sehingga menghasilkan plain image atau gambar awal.
Pada setiap flowchart terdapat predefined process yang merupakan sub proses dari masing-masing proses enkripsi dan dekripsi sistem. Predefined process tersebut
adalah Enkripsi MDTM Algoritma Cipher, Dekripsi Algoritma MDTM Cipher, Pembangkitan Kunci Algoritma LUC, Enkripsi Algoritma LUC dan Dekripsi Algoritma LUC. Masing-masing dari predefined process tersebut juga memiliki flowchart yang akan ditunjukkan pada penjelasan dan gambar-gambar dibawah ini.
3.2.4.1. Flowchart Enkripsi Algoritma MDTM Cipher
Flowchart ini menunjukkan langkah-langkah sistematis yang dikerjakan oleh algoritma MDTM Cipher untuk mengenkripsi pesan.Flowchart enkripsiMDTM Cipher ditunjukkan pada gambar 3.10.
Gambar 3.10.Flowchart Enkripsi Algoritma MDTM Cipher
Pada gambar 3.10 di atas dapat dilihat flowchart dari proses enkripsi algoritma MDTM Cipher. Pada algoritma yang menjadi inputan adalah plaintext, kunci MDTM, dan kunci transposisi.Plaintext adalah pesan yang ingin dienkripsi, sementara kunci MDTM dan kunci transposisi adalah kunci yang digunakan untuk proses enkripsi.
Selanjutnya kunci MDTM dimasukkan kedalam tabel MDTM dan disusun sesuai dengan aturan yang berlaku.Plaintext yang ingin dienkripsi diubah menjadi bentuk digraph dengan mengacu pada tabel MDTM yang telah disusun kunci MDTM.Kemudian digraph tersebut disusun berurutan berdasarkan kunci transposisi.Digraph tersebut harus tersusun sesuai urutan dari yang terkecil hingga yang terbesar.Setelah digraph selesai disusun, maka digraph tersebut diurutkan secara berpasangan untuk selanjutnya diubah kembali menjadi monograph berdasarkan tabel MDTM.Setelah semua digraph selesai diubah menjadi monograph, maka monograph yang telah tersusun tersebut menjadi hasil akhir atau output sebagai cipher key.
3.2.4.2. Flowchart Dekripsi Algoritma MDTM Cipher
Flowchart ini menunjukkan langkah-langkah sistematis yang dikerjakan oleh algoritma MDTM Cipher untuk mendekripsi pesan.Flowchart dekripsiMDTM Cipher ditunjukkan pada gambar 3.11.
Gambar 3.11.Flowchart Dekripsi Algoritma MDTM Cipher
Pada gambar 3.11 di atas dapat dilihat flowchart dari proses dekripsi algoritma MDTM Cipher. Pada algoritma yang menjadi inputan adalah ciphertext, kunci MDTM, dan kunci transposisi.Ciphertext yang akan dienkripsi diubah bentuknya ke dalam digraph. Selanjutnya digraph disusun berdasarkan kunci transposisi.Setelah digraph disusun berurutan berdasarkan kunci transposisi, selanjutnya digraph tersebut diubah kembali menjadi monograph berdasarkan tabel MDTM. Hasil dari monograph tersebut merupakan plaintext atau pesan asli yang ingin dikirimkan kepada penerima.
3.3. Perancangan Sistem
Perancangan sistem dilakukan dengan merancang antarmuka (interface) dengan menggunakan bahasa pemrograman C#. Merancang interface merupakan langkah yang penting dalam merancang sebuah sistem. Interface mempermudah user dalam memahami dan menggunakan sistem. Sistem yang dirancang akan memiliki 5 buah interface, yaitu halaman beranda, halaman enkripsi, halaman dekripsi, halaman profil, dan halaman bantuan.
3.3.1. Halaman Beranda
Halaman Beranda merupakan halaman yang pertama kali ditampilkan saat sistem dijalankan. Pada halaman beranda terdapat beberapa menu untuk mengakses halaman lain. Rancangan halaman beranda dapat dilihat pada gambar 3.12.
Gambar 3.12. Rancangan Interface Halaman Beranda
Pada Gambar 3.12 ditunjukkan tampilan rancangan dari halaman beranda.
Pada halaman ini terdapat menu yang terdiri dari Beranda, Enkripsi, Dekripsi, Profil dan Bantuan. Pada halaman Menu juga terdapat informasi judul, logo fakultas, nama, NIM dan program studi pembuat sistem. Keterangan dari Gambar 3.12 dapat dilihat pada Tabel 3.1.
Tabel 3.1. Keterangan Gambar Rancangan Interface Halaman Beranda
No. Keterangan
1. MenuStrip “Beranda” untuk menampilkan halaman utama dari sistem 2. MenuStrip “Enkripsi” untuk proses enkripsi terhadap file citra
3. MenuStrip “Dekripsi” untuk proses dekripsi terhadap file citra 4. MenuStrip “Profil” untuk menampilkan data diri si pembuat sistem
5. MenuStrip “Bantuan” untuk menampilkan halaman petunjuk dari penggunaan sistem
6. Label untuk menampilkan judul sistem
7. Label untuk menampilkan nama dan nim si pembuat sistem 8. Picturebox untuk menampilkan logo USU
9. Label untuk menampilkan program studi dan fakultas si pembuat sistem
3.3.2. Halaman Enkripsi
Halaman Enkripsi merupakan halaman yang tampil saat pengguna memilih menu Enkripsi. Pada halaman ini pengguna dapat melakukan proses enkripsi berkas.
Rancangan halaman Enkripsi dapat dilihat pada Gambar 3.13.
Gambar 3.13. Rancangan Interface Halaman Enkripsi
Keterangan dari gambar 3.13 di atas dapat dilihat pada tabel 3.2 dibawah ini.
Tabel 3.2. Keterangan Gambar Rancangan Interface Halaman Enkripsi
No. Keterangan
1. MenuStrip “Enkripsi” untuk menampilkan halaman proses mengenkripsi citra 2. Groupbox yang berisi field-field untuk informasi citra asli
3. Groupbox yang berisi field-field untuk bagian proses kunci enkripsi 4. PictureBox untuk menampilkan citra asli
5. PictureBox untuk menampilkan citra yang sudah dienkripsi 6. Button untuk memasukkan citra dari dalam direktori file 7. Button untuk melakukan proses enkripsi pada citra 8. Button untuk menyimpan hasil enkripsi pada citra
9. TextBox untuk menampilkan waktu proses enkripsi pada citra 10. TextBox untuk proses input kunci MDTM Cipher
11. TextBox untuk pengambilan kunci privat 12. TextBox untuk pengambilan kunci publik 13. TextBox untuk mencari nilai totieen
14. Button untuk menampilkan nilai dari kunci LUC
15. TextBox untuk menampilkan kunci dari MDTM Cipher
16. Button untuk menampilkan hasil nilai dari Chiper Key MDTM 17. Button untuk menyimpan Cipher Key
3.3.3. Halaman Dekripsi
Halaman Dekripsi merupakan halaman yang tampil saat pengguna memilih menu Dekripsi. Pada halaman ini pengguna dapat melakukan proses dekripsi sehingga akan menampilkan citra asli. Rancangan halaman dekripsi dapat dilihat pada Gambar 3.14.
Gambar 3.14. Rancangan Interface Halaman Dekripsi
Keterangan dari gambar 3.14 di atas dapat dilihat pada tabel 3.3 dibawah ini.
Tabel 3.3. Keterangan Gambar Rancangan Interface Halaman Dekripsi
No. Keterangan
1. MenuStrip “Dekripsi” untuk menampilkan halaman proses mendekripsi citra 2. Groupbox yang berisi field-field untuk informasi citra asli
3. Groupbox yang berisi field-field untuk bagian proses pada kunci dekripsi 4. PictureBox untuk menampilkan citra yang sudah di enkripsi sebelumnya 5. PictureBox untuk menampilkan citra yang sudah didekripsi
6. Button untuk memasukkan citra dari dalam direktori file 7. Button untuk melakukan proses dekripsi pada citra 8. Button untuk menyimpan hasil dekripsi pada citra
9. TextBox untuk menampilkan waktu proses dekripsi pada citra
10. TextBox untuk menampilkan kunci dari MDTM Cipher yang sudah dienkripsi 11. Button untuk memasukkan kunci MDTM Cipher yang sudah disimpan terlebih
dahulu
12. TextBox untuk menampilkan kunci privat algoritma LUC
13. TextBox untuk menampikan hasil dekripsi dari kunci MDTM Cipher 14. Button untuk melakukan proses dekripsi
3.3.4. Halaman Profil
Halaman Profil merupakan halaman yang menampilkan foto dan data diri mahasiswa.
Adapun rancangan antarmuka dari halaman Profil dapat dilihat pada Gambar 3.15.
Gambar 3.15. Rancangan Interface Halaman Profil
Keterangan dari gambar 3.15 di atas dapat dilihat pada tabel 3.4 dibawah ini.
Tabel 3.4. Keterangan Gambar Rancangan Interface Halaman Profil
No. Keterangan
1. PictureBox untuk menampilkan foto si pembuat sistem
2. Label yang berisi keterangan dari data diri Mahasiswa si pembuat sistem
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1. Implementasi Sistem
Implementasi pada sistem ini menggunakan bahasa pemrograman C#.Software (perangkat lunak) yang digunakan sebagai Integrated Development Environment (IDE) adalah SharpDevelop 4.3.
4.1.1. Halaman Beranda
Pada halaman ini akan menampilkan tampilan awal saat program dijalankan. Halaman ini berisi menu-menu yang dapat diakses, judul penelitian, dan data penulis.Halaman beranda ditunjukkan pada gambar 4.1 berikut.
Gambar 4.1.Halaman Beranda
4.1.2. Halaman Enkripsi
Pada halaman ini akan dilakukan proses enkripsi untuk mengenkripsi citra dan juga mengenkripsi kunci MDTM Cipher. Pada halaman ini juga dapat
membangkitkanpublic key dan private key untuk mengenkripsi dan mendekripsi kunci MDTM Cipher.Hasil yang didapatkan dari halaman ini adalah cipherkey, cipher image, dan running time proses enkripsi dari citra tersebut. Halaman enkripsi ditunjukkan pada gambar 4.2 berikut.
Gambar 4.2.Halaman Enkripsi
4.1.3. Halaman Dekripsi
Pada halaman ini akan dilakukan proses dekripsi untuk mendekripsi cipher image dan juga mendekripsi cipherkey. Hasil yang didapatkan dari halaman ini adalah kunci MDTM cipher, citra asli, dan running time proses dekripsi dari cipher image tersebut.
Halaman enkripsi ditunjukkan pada gambar 4.3 berikut
Gambar 4.3.Halaman Dekripsi
4.1.4. Halaman Profil
Pada halaman ini menampilkan profil biodata penulis. Menu ini berisi nama penulis, nim penulis, alamat email penulis. No hp penulis dan asal kampus penulis, Halaman profil ditunjukkan pada gambar 4.4 berikut.
Gambar 4.4.Halaman Profil
4.2. Pengujian Sistem
Pada tahap ini, sistem yang telah diimplementasikan akan diuji sesuai dengan batasan- batasan yang telah dibuat sebelumnya. Sistem akan menguji proses enkripsi dan dekripsi pada file citra dengan resolusi yang berbeda-beda untuk mengetahui waktu proses enkripsi dan dekripsi serta perbesaran data cipherimage hasil enkripsi dan juga data asli setelah didekripsi kembali. Kriteria dalam melakukan pengujian sistem adalah sebagai berikut:
1. File citra yang akan dilakukan proses enkripsi maupun dekripsi berekstensi .jpg.
2. File citra yang akan dilakukan proses enkripsi maupun dekripsi memiliki batas resolusi 500x500.
3. Sistem akan menyimpan public key dan private key hasil pembangkitan kunci dengan format .cipherkey, .prkey
4. Sistem akan menghitung Real Running Time masing-masing proses dalam satuan miliseken (ms).
5. Sistem ini diuji dengan Personal Computer dengan spesifikasi processor Intel Core i3-2348M CPU @ 2.30 GHZ, Memory 2 GB RAM, 64-bit.
4.2.1. Pengujian Pembangkit Kunci
Dalam proses ini user akan membangkitkan public key dan private key dari algoritma LUC untuk mengenkripsi dan mendekripsi kunci MDTM cipher. Namun, sebelumnya user diminta untuk memasukkan kunci MDTM cipher yang akan digunakan. Kunci yang dimasukkan tampak dalam gambar 4.5 dibawah ini yaitu “diahmustika” dan “2 3 1 4”.
Gambar 4.5.Tampilan input kunci MDTM Cipher
Selanjutnya, user akan membangkitkan public key dan private key secara acak dengan menekan tombol generate.Public key yang dihasilkan berada pada textbox e dan private key yang dihasilkan berada pada textboxt d. Hasil pembangkitan kunci ditunjukkan pad gambar 4.6 di bawah ini.
Gambar 4.6.Tampilan membangkitkan kunci