PENGAMANAN FILE DOKUMEN BERBASIS TEKS MENGGUNAKAN METODE

Download Keamanan dokumen sangat diperlukan, maka setiap orang memerlukan ... one time pad (OTP) adalah algoritma kriptografi kunci simetris. ... mo...

0 downloads 570 Views 1MB Size
PENGAMANAN FILE DOKUMEN BERBASIS TEKS MENGGUNAKAN METODE KRIPTOGRAFI ONE TIME PAD DAN ALGORITMA PERTUKARAN KUNCI DIFFIE-HELMAN Ahmad Nugroho Nasution1 T. M. Diansyah 12, Munjiat Setiani Asih 23 Jurusan Teknik Informatika Sekolah Tinggi Teknik Harapan Medan Jl. HM Jhoni No 70 Medan, Indonesia [email protected] Abstrak Masalah keamanan merupakan salah satu aspek paling penting dalam dunia teknologi informasi. Sekarang ini, sebagian besar dokumen-dokumen menggunakan aplikasi Microsoft Office, karena kemudahan dalam menggunakannya. Keamanan dokumen sangat diperlukan, maka setiap orang memerlukan suatu aplikasi yang dapat mengamankan dokumen rahasia dan penting. Penelitian ini mengangkat algoritma kriptografi one time pad (OTP) untuk enkripsi dan dekripsi file rahasia. Algoritma one time pad (OTP) adalah algoritma kriptografi kunci simetris. Sehingga membutuhkan keamanan khusus dalam pengiriman kuncinya. Metode yang digunakan untuk mengamankan pengiriman kunci adalah metode pertukaran kunci diffie-helman. Kata kunci : One Time Pad, OTP, Diffie-Hellman, Enkripsi File. Abstract A security issue is one of the most important aspects in the world of information technology. Recently, most of the documents using Microsoft Office applications, due to its ease of use. Document security is necessary, makasetiap people need an application that can secure important documents and confidential. The research raises the cryptographic algorithm one time pad (OTP) for encryption and decryption of secret files. Algorithms one-time pad (OTP) is a symmetric key cryptography algorithm. Thus requiring special security in the delivery of the key. The method used to secure key delivery is a method of DiffieHelman key exchange. Keywords: One Time Pad, OTP, Diffie-Hellman, File Encryption. 1. PENDAHULUAN Masalah keamanan merupakan salah satu aspek paling penting dalam dunia teknologi informasi, misalnya: keamanan dokumen. Sekarang ini, sebagian besar dokumen-dokumen menggunakan aplikasi Microsoft Office, karena kemudahan dalam menggunakannya. Keamanan dokumen sangat diperlukan, maka setiap orang memerlukan suatu aplikasi yang dapat mengamankan dokumen rahasia dan penting agar dokumen tersebut hanya dapat di lihat dan di baca oleh orang tertentu saja. Sehingga pengirim merasa dirugikan karena data rahasia yang seharusnya hanya diketahui oleh orang yang berhak saja menjadi diketahui oleh pihak yang tidak bertanggung jawab. Oleh karena itu, pada saat sekarang ini telah dilakukan berbagai upaya untuk menjaga keamanan data. Dalam menjaga keamanan data terdapat sebuah metode pengamanan data yang dikenal dengan nama kriptografi. Kriptografi adalah ilmu yang mempelajari untuk mengamankan data dengan cara mengubahnya ke bentuk lain sehingga tidak dapat dibaca dan dimengerti oleh orang lain. Sebagai ilmu yang mempelajari untuk pengamanan data, kriptografi dapat digunakan untuk mengamankan data penting pada sebuah file.Data yang terkandung dalam file disandikan atau dienkripsi untuk diubah menjadi simbol tertentu sehingga hanya orang tertentu saja yang dapat mengetahui isi dari data tersebut.

Algoritma One-time pad (OTP) termasuk algoritma simetris yaitu, kunci enkripsi dan dekripsinya sama. Sehingga dibutuhkan saluran aman untuk mendistribusikan kunci tersebut kepada penerima pesan. Algoritma Diffie-Helman adalah algoritma pertukaran kunci yang dapat menyelesaikan masalah diatas. One-time pad (OTP) adalah stream cipher yang melakukan enkripsi dan dekripsi satu karakter setiap kali. Algoritma ini ditemukan pada tahun 1917 oleh Major Joseph Mauborgne sebagai perbaikan dari Vernam cipher untuk menghasilkan keamanan yang sempurna. Mauborgne mengusulkan penggunaan one-time pad (pad = kertas bloknot) yang berisi deretan karakter-karakter kunci yang dibangkitkan secara acak. Satu pad hanya digunakan sekali (one-time) saja untuk mengenkripsi pesan, setelah itu pad yang telah digunakan dihancurkan supaya tidakdipakai kembali untuk mengenkripsi pesan yang lain. Berdasarkan uraian di atas, penulis tertarik untuk mengambil tugas akhir ini dengan judul “Pengamanan File Dokumen Berbasis Teks Menggunakan Metode Kriptografi One Time Pad Dan Algoritma Pertukaran Kunci Diffie-Helman”. 1.1 Perumusan Masalah Berdasarkan uraian dari latar belakang di atas, yang menjadi rumusan masalah dalam tugas akhir ini sebagai berikut :

1. Apakah pertukaran kunci Diffie-helman pada algoritma kriptografi kunci simetris berhasil di implemtasikan. 2. Apakah implemetasi algoritma kriptografi one time pad untuk enkripsi file teks berhasil di lakukan. 3. Apakah tanda penggunan kunci yang salah saat proses dekripsi file chiper. 4. Apakah lama waktu enkripsi sama dengan waktu proses dekripsi. 5. Apakah metode yang paling bagus di gunakan untuk proses enkripsi dan dekripsi. 1.2 Tujuan Penelitian Adapun tujuan dari penulisan tugas akhir ini adalah membangun aplikasi pengamanan data yang menerapkan algoritma kriptografi, yaitu algoritma Diffie-Helman dan One Time Pad. 2. METODE PENELITIAN 2.1 Tahapan Metode Penelitian Dalam menulis tugas akhir ini penulis melakukan penelitian terhadap sistem yang sedang diterapkan. Adapun langkah – langkah penelitian adalah sebagai berikut : 1. Studi Pustaka Tahap ini adalah tahap pencarian informasi dan studi literatur yang diperlukan untuk mengumpulkan data dan memahami metode yang akan digunakan. Informasi di dapat melalui bukubuku, jurnal teori-teori pendukung yang berhubungan dengan penelitian yang di dapat dari internet. 2. Analisa Metode Pada tahap ini dilakukan analisa metode yang akan digunakan. Seperti menghitung rumus-rumus matematika secara lebih detil. Kemudian melakukan perancangan langkah-langkah yang harus dilakukan dalam bentuk algoritma. 3.

4.

Implementasi Metode Pada tahap ini yaitu pembuatan program dengan menggunakan bahasa pemrograman Visual Studio 2010. Yang merupakan inplementasi metode yang digunakan dalam bentuk bahasa pemrograman yang dimengerti oleh sistem komputer. Uji Coba dan Evaluasi Pada tahap ini dilakukan uji coba terhadap aplikasi yang dibuat, tujuannya untuk menemukan kesalahan-kesalahan yang mungkin terjadi serta melakukan perbaikan atas kesalahan aplikasi.

2.2 Spesifikasi Perangkat Keras Tahap analisis ini ialah berupa tahap identifiksi kebutuhan-kebutuhan apa saja yang dibutuhkan dalam merancang Aplikasi Pengamanan File Dokumen Berbasis Teks Menggunakan Metode Kriptografi One Time Pad Dan Algoritma Pertukaran Kunci Diffie-Helman. Kebutuhan-kebutuhan tersebut akan meliputi kebutuhan perangkat keras dan kebutuhan perangkat lunak dalam membangun aplikasi. Berikut kebutuhan-kebutuhan sistem yang akan dibangun.

Dalam membangun aplikasi ini diperlukan beberapa perangkat keras dalam impelemtasinya. Berikut ialah beberapa perangkat keras yang dibutuhkan dalam merancang aplikasi Pengamanan File Dokumen Berbasis Teks Menggunakan Metode Kriptografi One Time Pad Dan Algoritma Pertukaran Kunci Diffie-Helman meliputi: 1. 2. 3. 4.

Satu unit PC dengan spesifikasi antara lain: Prosesor : Intel(R) Core(TM) i3 CPU Memori : 2 Gb Ruang Penyimpan : 500 Gb

Selain perangkat keras diatas, dalam membangun aplikasi ini diperlukan pula beberapa perangkat lunak termasuk bahasa pemrograman yang digunakan dalam impelemtasinya. Berikut ialah beberapa perangkat lunak yang dibutuhkan dalam merancang Aplikasi Pengamanan File Dokumen Berbasis Teks Menggunakan Metode Kriptografi One Time Pad Dan Algoritma Pertukaran Kunci Diffie-Helman meliputi: 1. Sistem Operasi Microsoft Windows 7 Ultimate 32 bit. 2. Visual Basic 2010 2.3 Pengertian File file adalah kumpulan data atau informasi berupa huruf, angka maupun karakter khusus yang ditandai dengan sebuah nama file. Seluruh data dan informasi yang ada dalam sebuah komputer tersimpan dalam bentuk file. Berdasarkan isi informasi yang disimpan, file dibagi atas beberapa jenis file seperti: text file yang menyimpan informasi berupa text (tulisan), file citra yang menyimpan informasi berupa gambar, dan file program yang menyimpan program. File komputer dapat dianggap bagaikan dokumen kertas yang digunakan serta disimpan pada kantor. (Aaron, 2014) Berikut ini contoh jenis file dan macam-macam ekstensinya: 1. System= sys, com, bak, bat, tmp, dan exe. 2. Video= avi, KV, mpg, mpeg, wmv, 3gp, dan flv. 3. Dokumen= html, doc, odt, xls, ods, dan pdf. 4. Suara= wav, rm, mp3, dan midi. 5. Gambar= jpeg, jpg, gif, png tif dan tiff. 6. Dan lain-lain. 2.4 Pengertian File Teks Teks adalah kumpulan dari karakter – karakter atau string yang menjadi satu kesatuan. Teks yang memuat banyak karakter di dalamnya selalu menimbulkan masalah pada media penyimpanan dan kecepatan waktu pada saat transmisi data. Menurut Sitorus (2012) File teks merupakan file yang berisi informasi-informasi dalam bentuk teks. Data yang berasal dari dokumen pengolah kata, angka yang digunakan dalam perhitungan, nama dan alamat dalam basis data merupakan contoh masukan data teks yang terdiri dari karakter, angka dan tanda baca. [1]. Menurut Sudewa (2003) Masukan dan keluaran data teks direpresentasikan sebagai set karakter atau sistem kode yang dikenal oleh sistem komputer. Ada tiga macam set karakter yang umum digunakan untuk masukan dan keluaran pada komputer, yaitu ASCII, Unicode, dan EBCDIC, ASCII (American Standard Code for Information Interchange) merupakan suatu standar

internasional dalam kode huruf dan simbol seperti Hex, dan Unicode tetapi ASCII bersifat lebih universal. ASCII digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks. Menurut Sudewa dkk, Kode ASCII memiliki komposisi bilangan biner sebanyak 8 bit, dimulai dari 00000000 dan 11111111. Total kombinasi yang dihasilkan sebanyak 256, dimulai dari kode 0 hingga 255 dalam sistem bilangan desimal. Unicode adalah suatu standar industri yang dirancang untuk mengizinkan teks dan symbol dari semua sistem tulisan di dunia untuk ditampilkan dan dimanipulasi secara konsisten oleh komputer. EBCDIC (Extended Binary Code Decimal Interchange Code) merupakan set karakter yang diciptakan oleh komputer merk IBM. EBCDIC terdiri dari 256 karakter yang masing-masing berukuran 8 bit. [1]. 2.5 Keamanan Data Keamanan merupakan salah satu aspek terpenting dari sebuah sistem informasi. Masalah keamanan sering kurang mendapat perhatian dari para perancang dan pengelola sistem informasi. Masalah keamanan sering berada diurutan setelah tampilan, atau bahkan diurutan terakhir dalam daftar hal – hal yang dianggap penting. Keamanan adalah keadaan bebas dari bahaya. Istilah ini dapat digunakan dengan hubungan kepada kejahatan, dan segala bentuk kecelakaan. Keamanan merupakan topik yang luas termasuk keamanan nasional terhadap serangan teroris, keamanan komputer terhadap hacker, keamanan rumah terhadap maling dan penyusup lainnya, keamanan finansial terhadap kehancuran ekonomi dan banyak situasi berhubungan lainnya (Kristanto, 2003). Host / komputer yang terhubung ke network, mempunyai ancaman keamanan lebih besar dari pada host yang tidak terhubung kemana – mana. Dengan mengendalikan network security, risiko tersebut dapat dikurangi. [2]. 2.6 Pengertian Kriptografi Kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya. Dalam ilmu kriptografi, terdapat dua buah proses yaitu melakukan enkripsi dan dekripsi. Pesan yang akan di enkripsi disebut sebagai plaintext (teksbiasa). Disebut demikian karena informasi ini dengan mudah dapat dibaca dan dipahami oleh siapa saja. Algoritma yang dipakai untuk mengenkripsi dan mendekripsi sebuah plaintext melibatkan penggunaan suatu bentuk kunci. Pesan plaintext yang telah di enkripsi (atau di kodekan) dikenal sebagai cipher text ( teks sandi). Di dalam kriptografi kita akan sering menemukan berbagai istilah atau terminology. Beberapa istilah yang harus diketahui yaitu: 1. Pesan, Plainteks, dan Cipherteks Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah (plaintext) atau teks jelas (cleartext). 2. Pengirim dan Penerima Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima (receiver) adalah entitas yang menerima pesan.

3. Enkripsi dan dekripsi Proses menyandikan plainteks menjadi cipherteks disebut enkripsi (encryption) atau enciphering (standard nama menurut ISO 7498-2). Sedangkan proses mengembalikan cipherteks menjadi plainteks semula disebut dekripsi (decryption) atau deciphering (standard nama menurut ISO7498-2). 4. Cipher dan kunci Algoritma kriptogarfi disebut juga cipher, yaitu aturan untuk enkripsi dan dekripsi, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa cipher memerlukan algoritma yang berbeda untuk enkripsi dan dekripsi. Konsep matematis yang mendasari algoritma kriptografi adalah relasi antara dua buah himpunan yang berisi elemen-elemen plainteks dan himpunan yang berisi cipherteks. Enkripsi dan dekripsi merupakan fungsi yang memetakan elemen-elemen antara dua himpunan tersebut. Misalkan P menyatakan plainteks dan C menyatakan cipherteks, maka: E(P)= Cfungsi enkripsi E memetakan P keC D(C)= P fungsi dekripsi D memetakan C ke P Karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan asal, maka persamaan D(E(P))= P harus benar. Kriptografi mengatasi masalah keamanan data dengan menggunakan kunci, yang dalam hal ini algoritma tidak dirahasiakan lagi, tetapi kunci harus tetap dijaga kerahasiaannya. Kunci (key) adalah parameter yang digunakan untuk transformasi enkripsi dan dekripsi. Kunci biasanya berupa string atau deretan bilangan. Dengan menggunakan kunci K, maka fungsi enkripsi dan dekripsi dapat ditulis sebagai skema diperlihatkan pada Gambar 1. [3]. Kunci

Kunci

Ciphertext Plaintext

Enkripsi

Dekripsi

Plaintext

Gambar 1. Skema enkripsi dan dekripsi dengan menggunakan kunci [3] 2.7 Tujuan Kriptografi Dalam perkembangannya teknik kriptografi tidak hanya digunakan semata-mata untuk menjaga kerahasiaan saja. Seiring dengan munculnya masalah yang semakin kompleks yang dihadapi ketika dilakukan pengiriman pesan. Ada tiga istilah yang berkaitan dengan proteksi data yaitu kriptografi, kriptologi, dan kriptanalisis. Menurut Munir, (2006) Ada empat syarat yang perlu dipenuhi, yaitu: a. Kerahasiaan. Pesan (plaintext) hanya dapat dibaca oleh pihak yang memliki kewenangan. b. Autentikasi. Pengirim pesan harus dapat diidentifikasi dengan pasti, penyusup harus dipastikan tidak bisa berpura-pura menjadi orang lain. c. Integritas. Penerima pesan harus dapat memastikan bahwa pesan yang dia terima tidak dimodifikasi saat dalam proses transmisi data. d. Non-Repudiation. Pengirim pesan harus tidak bisa menyangkal pesan yang dia kirimkan.

2.8 Algoritma Diffie-Helman Kegunaan Algoritma diffie-Helman adalah untuk berbagi kunci simetris antara dua orang. Langkahlangkahnya adalah sebagai berikut: 1. Alice membangkitan bilangan bulat acak yang besar x dan mengirim hasil perhitungan berikut kepada Bob: X = gx mod n 2. Bob membangkitkan bilangan bulat acak yang besar y dan mengirim hasil perhitungan berikut kepada Alice: Y = gy mod n 3. Alice menghitung K = Yx mod n 4. Bob menghitung K’ = Xy mod n

Dimana P adalah plainteks, K adalah kunci, dan C adalah ciphe teks. Misalkan A = 0, B = 1, …, Z = 25. Sehingga : Plainteks : O N E Kunci : G N R Cipherteks : U A V Yang didapat dari : (O + G) mod 26 = U, yaitu (14 + 6) mod 26 = 20 (N + N) mod 26 = A, yaitu (13 + 13) mod 26 = 0 (E + R) mod 26 = V, yaitu (4 + 17) mod 26 = 21 Dikarenakan nilai byte file berkisar antara 0-255 penulis menggunakan modulus 255. Sehingga rumus untuk enkripsi adalah sebagai berikut:

Ci = Pi + Ki mod 255 Alice

Bob g, n

Bangkitkan x

Bangkitkan y

Hitung X = gx mod n

Hitung Y = gy mod n

Hitung K = Yx mod n

Hitung K’ = Xy mod n

Gambar 2. Alur Pertukaran Kunci Diffie-Helman [4] Jika perhitungan dilakukan dengan benar, maka K = K’. Baik K dan K’ sama dengan gxy mod n. Eve yang menyadap pembicaraan antara Alice dan Bob tidak dapat menghitung K. Ia hanya memiliki informasi n, g, X dan Y, tetapi ia tidak mempunyai informasi nilai x dan y. Untuk mengetahui x atau y, ia perlu melakukan perhitungan logaritma diskrit, yang mana sangat sulit dikerjakan.

2.9 Algoritma One Time Pad Algoritma ini ditemukan pada tahun 1917 oleh Mayor Joseph Mauborgne dan Gilbert Vernam. Cipher ini termasuk ke dalam kelompok algoritma kriptografi simetri. Cipher ini diimplementasikan melalui sebuah kunci yang terdiri dari sekumpulan random karakterkarakter yang tidak berulang. Setiap huruf kunci dijumlahkan modulo 26 dengan huruf pada plaintext. Pada One Time Pad, tiap huruf kunci digunakan satu kali untuk satu pesan dan tidak digunakan kembali. Panjang stream karakter kunci sama dengan panjang pesan. One time pad (pad = kertas bloknot) berisi barisan karakterkarakter kunci yang dibangkitkan secara acak. Satu pad hanya digunakan sekali (one time) saja untuk mengenkripsi pesan, setelah itu pad yang telah digunakan dihancurkan. [5]. Misalkan, kita akan mengenkripsi kata ‘O N E’ menggunakan algoritma one time pad. Yaitu : (P + K) mod 26 = C

Ketertangan: Ci = Cipherteks ke-i Pi = Plainteks ke-i Ki = Kunci ke-i Contoh byte file text dengan isi “Saya” dienkripsi dengan kunci “Satu”: 83 + 83 mod 255 = 166 97 + 97 mod 255 = 194 121 + 116 mod 255 = 237 97 + 117 mod 255 = 214 Dengan demikian maka rumus dekripsi untuk dekripsi diatas adalah sebagai berikut:

Pi = Ci - Ki mod 255 Sehingga proses dekripsinya sebagai berikut: 166 - 83 mod 255 = 83 194 - 97 mod 255 = 97 237 - 116 mod 255 = 121 214 - 117 mod 255 = 97 2.10 Analisis Masalah Masalah yang sering dihadapi untuk kriptografi kunci simetris adalah bagaimana cara mengirimkan kunci tersebut melalui jalur yang tidak aman. Saluran yang dikatakan tidak aman berarti memiliki potensi untuk disadap atau dimiliki pihak penyedia layanan yang sewaktu-waktu dapat membahayakan pemilik pesan rahasia. Salah sata cara untuk mengamankan kunci simetris adalah menggunakan algoritma Diffie-Helman. Algoritma Diffie-Helman bekerja dengan cara bertukar kunci. Namun, kunci yang dipertukarkan bukanlah kunci sebenarnya melainkan harus dihitung terlebih dahulu. Dengan menggunakan algoritma Diffie-Helman ini diharapkan pengiriman kunci menjadi lebih aman. Masalah lain yang penulis hadapi adalah kunci yang didapatkan melalui pertukaran kunci Diffie-Helman adalah berupa angka. Angka yang dihasilkan relatif kecil dikarenakan terbatasnya besar bilangan yang bisa

dikomputasi.Algoritma One Time Pad (OTP) banyak digunakan untuk mengenkripsi pesan, akan tetapi penulis mencoba mengenkripsi file menggunakan algoritma ini. Dimana diketahui file secara fisik tersusun atas bit-bit penyusunnya.

Mulai

Sepakati nilai n dan g

2.11 Analisis Algoritma Diffie-Hellman Algoritma Diffie-Helman adalah algoritma kriptografi kunci simetris. Dimana kunci untuk enkripsi harus sama dengan dekripsi. Kunci ini harus dijaga kerahasiaannya sehingga diperlukan saluran yang aman untuk mengirimkannya.Algoritma Diffie-Helman dapat digunakan untuk solusi pengiriman kunci.Cara kerjanya melalui pertukaran kunci. Berikut Flowchart-nya:

Random nilai x

Hitung X = gx mod n

Input Kunci Y

Mulai

Hitung K’ K’ = Yx mod n Sepakati nilai n dan g

Tukar Kunci = X Kunci Asli = K’

Random nilai y

Hitung Y = gy mod n

Selesai

Input Kunci X

Hitung K K = Xy mod n

Tukar Kunci = Y Kunci Asli = K

Selesai

Gambar 3. Flowchart Diffie-Helman Kunci A Pengirim dan penerima bertemu langsung untuk menyepakati nila n dan g. Misalkan hasil kesepakatan adalah n= 1120897 dan g = 71. Selanjutnya mereka sudah bisa bertukar kunci melalui saluran yang tidak aman. Tentukan atau lakukan random untuk mendapatkan nilai ydan hitung tukaran kunci Y = gy mod n. Untuk menghitung kunci alsi inputkan kunci X yang didapat dari calon penerima dan hitung kunci sebenarnya dengan rumus K = Xymod n. Tampilkan tukar kunci dan kunci asli.

Gambar 4. Flowchart Diffie-Helman Kunci B Pengirim dan penerima bertemu langsung untuk menyepakati nila n dan g. Misalkan hasil kesepakatan adalah n= 1120897 dan g = 71. Selanjutnya mereka sudah bisa bertukar kunci melalui saluran yang tidak aman. Tentukan atau lakukan random untuk mendapatkan nilai x dan hitung tukaran kunci X = gx mod n. Untuk menghitung kunci alsi inputkan kunci Y yang didapat dari pengirim dan hitung kunci sebenarnya dengan rumus K’ = Yx mod n. Tampilkan tukar kunci dan kunci asli. 2.12 Analisis Algoritma One Time Pad (OTP) Pada penelitian ini enkripsi dilakukann pada sebuah file. Dimana sebuah file tersusun atas bit-bit penyusunnya. Bit-bit tersebut dapat dikelompokkan kembali kedalam byte. Dimana 1 bit terdiri dari 8 bit penyusunya. Dalam satuan bytefile dienkripsi menggunalan algoritma kriptografi One Time Pad(OTP).Nilai dari byte dalam desimal berkisar antar 0255 atau dalam biner 0-11111111. Dikarenakan nilai maksimum byte adalah 255 maka penulis memilih modulus 255 sehingga rumus enkripsi yang digunakan sebagai berikut:

Ci = Pi + KiMod 255 Keterangan : Ci = byte cipher Pi = Byte Alsi Ki= Kunci ke-i Kunci diambil dari hasil perhitungan Diffie-Helman yaitu 890371. Setiap digit kunci dikonversi kedalam kode ascii hasilnya sebagai berikut:

Tabel 1. Konversi kunci ke dalam ascii No Kunci Ascii 1 8 56 2 9 57 3

0

48

4 5 6

3 7 1

51 55 49

Pada tabel 3.1 diatas setiap digit kunci dikonversi kedalam ascii dalam sistem bilangan desimal. Sesuai dengan algoritma One Time Pad (OTP)Ci = Pi + Ki Mod 255.Kunci akan berulang sebanyak byte file. Tabel 2. Enkripsi File dengan One Time Pad (OTP) No Byte Kunci Byte Cipher Asli 1. 77 56 77+56 mod 255 = 133 2. s 97 57 97+57 mod 255 = 154 3. 115 48 115+48 mod 255 = 163 4. 97 51 97+51 mod 255 = 148 5. 108 55 108+55 mod 255 = 163 6. 97 49 97+49 mod 255 = 146 7. 104 56 104+56 mod 255 = 160 8. 32 57 32+57 mod 255 = 89 9. 121 48 121+48 mod 255 = 169 10. 97 51 97+51 mod 255 = 148 11. 110 55 110+55 mod 255 = 165 12. 103 49 103+49 mod 255 = 152 13. 32 56 32+56 mod 255 = 88 14. 115 57 115+57 mod 255 = 172 15. 101 48 101+48 mod 255 = 149 16. 114 51 114+51 mod 255 = 165 17. 105 55 105+55 mod 255 = 160 18. 110 49 110+49 mod 255 = 159 19. 103 56 103+56 mod 255 = 159 20. 32 57 32+57 mod 255 = 89 21. 100 48 100+48 mod 255 = 148 22. 105 51 105+51 mod 255 = 156 23. 104 55 104+55 mod 255 = 159 24. 97 49 97+49 mod 255 = 146 25. 100 56 100+56 mod 255 = 156 26. 97 57 97+57 mod 255 = 154 27. 112 48 112+48 mod 255 = 160 28. 105 51 105+51 mod 255 = 156 29. 32 55 32+55 mod 255 = 87 30. 117 49 117+49 mod 255 = 166 31. 110 56 110+56 mod 255 = 166 32. 116 57 116+57 mod 255 = 173 33. 117 48 117+48 mod 255 = 165 34. 107 51 107+51 mod 255 = 158 35. 32 55 32+55 mod 255 = 87 36. 107 49 107+49 mod 255 = 156 37. 114 56 114+56 mod 255 = 170 38. 105 57 105+57 mod 255 = 162 39. 112 48 112+48 mod 255 = 160 40. 116 51 116+51 mod 255 = 167 41. 111 55 111+55 mod 255 = 166 42. 103 49 103+49 mod 255 = 152

43. 44. 45. 46. 47. 48. 49.

114 97 102 105 32 107 117

56 57 48 51 55 49 56

114+56 mod 255 = 170 97+57 mod 255 = 154 102+48 mod 255 = 150 105+51 mod 255 = 156 32+55 mod 255 = 87 107+49 mod 255 = 156 117+56 mod 255 = 173

Dari hasil enkripsi diatas maka dapat dilihat byte cipher penyusun file tersebut menjadi sebgai berikut:

133 146 165 165 148 154 166 156 166 156

154 160 152 160 156 160 173 170 152 87

Tabel 3. Byte Chiper 163 148 89 169 88 172 159 159 159 146 156 87 165 158 162 160 170 154 156 173

163 148 149 89 156 166 87 167 150

3. HASIL DAN PEMBAHASAN Implementasi dari perancangan Aplikasi Pengamanan File Dokumen Berbasis Teks Menggunakan Metode Kriptografi One Time Pad Dan Algoritma Pertukaran Kunci Diffie-Helman. 3.1 Implementasi Sistem Tahap implementasi sistem ini merupakan tahap dimana sistem yang telah di rancang kemudian dapat diimplementasikan. Agar sistem yang dirancang dapat berjalan dengan baik atau tidak, maka perlu dilakukan pengujian terhadap sistem yang dirancang. Dalam tahap implementasi sistem ini penulis akan memaparkan hasil penelitian ini yaitu Aplikasi Pengamanan File Dokumen Berbasis Teks Menggunakan Metode Kriptografi One Time Pad Dan Algoritma Pertukaran Kunci DiffieHelman dengan meliputi penjelasan mengenai persiapan aplikasi, dan pengujian aplikasi yaitu dengan menampilkan hasil dari layout/desain antarmuka sistem yang telah dibangun menggunakan bahasa pemrograman Visual Basic 2010. 3.2 Pengujian Sistem Tahap pengujian sistem ini akan dijelaskan bagaimana proses pengujian aplikasi yang telah dibangun, dimana tahap pengujian akan dilakukan yaitu pengujian hasil berupa pengujian melalui tampilan hasil aplikasi. 3.3 Form Utama Pada saat pertama kali program dijankan form utama akan tampil pertama kali. Fungsinya sebagai form induk bagi form-form lain. Berikut adalah tampilan form utama:

3.6 Form Enkripsi File Form ini digunakan untuk mengenkripsi file dengan algoritma One Time Pad. Berikut adalah tampilan formnya:

Gambar 5. Tampilan Form Utama Pada form utama terdapat enam menu yaitu Hitung Kunci A, Hitung Kunci B, Enkripsi File, Dekripsi File Petunjuk dan Tentang. 3.4 Form Hitung Kunci A Form ini fungsinya untuk melakukan perhitungan kunci untuk proses enkripsi, berikut tampilan formnya: Gambar 8. Tampilan Form Enkripsi File

Gambar 6. Tampilan Form Hitung Kunci A Pada gambar 6 diatas adalah tampilan form Hitung Kunci A. Input X (Kunci) adalah nilai X yang diterima dari calon penerima pesan. Nilai n dan g adalah nilai yang disepakati. Nilai y yang dihasilkan dari bilangan acak adalah 569. Hasil hitung Y adalah 203494, nilai ini yang akan diberikan kepada penerima pesan. Sedangkan hasil hitung kunci sebenarnya adalah 473905. Tombol proses untuk memulai perhitungan dan tombol enkripsi untuk membuka form enkripsi file.

Pada gambar 8 adalah proses enkripsi file menggunakan algoritma one time pad. Pilih penyimpanan file fungsinya adalah untuk membuka file yang akan dienkripsi sedangkan penyimpanan alamat file hasil enkripsiyang telah disimpan. Kunci yang digunakan adalah kunci hasil perhitungan diffie-helman. Tombol proses untuk memulai proses enkripsi dan terlihat bytes yang terenkripsi yang berjumlah 274432 bytes. 3.7 Form Dekripsi File Form ini digunakan untuk men-dekripsi file dengan algoritma One Time Pad. Berikut adalah tampilan formnya:

3.5 Form Hitung Kunci B Form ini fungsinya untuk melakukan perhitungan kunci untuk proses dekripsi, berikut tampilan formnya:

Gambar 7. Tampilan Form Hitung Kunci B Pada gambar 7 diatas adalah tampilan form Hitung Kunci B. Input Y (Kunci) adalah nilai Y yang diterima dari pengirim pesan. Nilai n dan g adalah nilai yang disepakati. Nilai x yang dihasilkan dari bilangan acak adalah 307. Hasil hitung X adalah 955939, nilai ini yang akan diberikan kepada calon pengirim pesan. Sedangkan hasil hitung kunci sebenarnya adalah 473905. Tombol proses untuk memulai perhitungan dan tombol dekripsi untuk membuka form dekripsi file.

Gambar 9. Tampilan Form Dekripsi File Pada gambar 9 adalah proses dekripsi file menggunakan algoritma one time pad. Pilih penyimpanan file fungsinya untuk membuka file yang akan di-dekripsi sedangkan penyimpanan alamat file hasil dekripsi tersebut akan disimpan. Kunci yang digunakan adalah kunci hasil perhitungan diffie-helman. Tombol proses untuk memulai proses dekripsi dan terlihat bytes yang terdekripsi yang berjumlah 274432 bytes. 3.8 Form Petunjuk Form petunjuk ini isinya petunjuk penggunaan aplikasi enkripsi file teks menggunakan algoritma One

Time Pad dan algoritma pertukaran kunci Diffie-Helman. Berikut tampilan form-nya: 5

154 KB

Berha sil

346205

Keterangan: Proses enkripsi file dengan format .doc/.docx bagian satu sampai lima dilakukan dengan metode One Time Pad. Kunci yang digunakan hasil pembangkit kunci Diffie-Helman. Kelima file berhasil dienkripsi dengan ukuran asli dan hasil enkripsi sama besarya.

Tabel 5. Hasil Pengujian Dekripsi File .doc/.docx

Gambar 10. Tampilan Form Petunjuk 3.9 Form Tentang Form tentang ini fungsinya untuk menampilkan tentang pembuat aplikasi. Berikut tampilan form tentang:

Gambar 11. Tampilan Form Tentang 3.10 Analisis Hasil Pengujian Pengujian Untuk menganalisis hasil pengujian, maka pengujian dilakukan sebanyak 5 kali untuk masing masing format file .ppt/.pptx, .xls/.xlsx,.doc/.docx hasilnya seperti berikut. Tabel 4. Hasil Pengujian Enkripsi File .doc/.docx No

1

File

Size

Kunci

22,1KB

791891

Hasil Enkripsi

Keter angan

Berha sil

No

3

4

560KB 547 KB

1,28 MB

106481 0 296704

504637

Hasil Dekripsi

Ketera ngan

Size

Kunci

1

22,1 KB

79189 1

Berhasi l

2

560 KB

10648 10

Berhasi l

3

547 KB

29670 4

Berhasi l

4

1,28 MB

50463 7

Berhasi l

5

154 KB

34620 5

Berhasi l

Keterangan: Proses dekripsi file dengan format .doc/.docx bagian satu sampai lima dilakukan dengan metode One Time Pad. Kunci yang digunakan hasil pembangkit kunci Diffie-Helman dan kelima proses dekripsi berhasil dilakukan. Tabel 6. Hasil Pengujian Enkripsi File .ppt/.pptx No

2

File

Hasil Enkripsi

Keteran gan

Size

Kunci

1

828 KB

815815

Berhasil

2

268 KB

920603

Berhasil

3

49,5 KB

698587

Berhasil

Berha sil

File

Berha sil

Berha sil

Tabel 8. Hasil Pengujian Enkripsi File .xls/.xlsx 4

312K B

667425

5

154 KB

102009 6

Berhasil

Tabel 7. Hasil Pengujian Dekripsi File .ppt/.pptx

1

2

File

Size

Kunci

Hasil Dekripsi

File

Kunci

1

189 KB

65411

Berhasil

2

113 KB

930185

Berhasil

3

210 KB

461572

Berhasil

4

10,6 KB

680003

Berhasil

5

10,3 KB

171801

Berhasil

Keterangan

828 KB

8158 15

Berhasil

268 KB

9206 03

Berhasil

Hasil Dekripsi

Size

Berhasil

Keterangan: Proses enkripsi file dengan format .ppt/.pptx bagian satu sampai lima dilakukan dengan metode One Time Pad. Kunci yang digunakan hasil pembangkit kunci Diffie-Helman. Kelima file berhasil dienkripsi dengan ukuran asli dan hasil enkripsi sama besarya.

N o

No

Keterangan

Keterangan: Proses enkripsi file dengan format .xls/.xlsx bagian satu sampai lima dilakukan dengan metode One Time Pad. Kunci yang digunakan hasil pembangkit kunci Diffie-Helman. Kelima file berhasil dienkripsi dengan ukuran asli dan hasil enkripsi sama besarya. Tabel 9. Hasil Pengujian Dekripsi File .xls/.xlsx

3

49,5 KB

6985 87

4

312 KB

6674 25

5

154 KB

1020 096

Berhasil

Berhasil

No

Size

Kunci

1

189 KB

6541 1

Berhasil

2

113 KB

9301 85

Berhasil

3

210 KB

4615 72

Berhasil

4

10,6 KB

6800 03

Berhasil

5

10,3 KB

1718 01

Berhasil

Berhasil

Keterangan: Proses dekripsi file dengan format .ppt/.pptx bagian satu sampai lima dilakukan dengan metode One Time Pad. Kunci yang digunakan hasil pembangkit kunci Diffie-Helman dan kelima proses dekripsi berhasil dilakukan

Hasil Dekripsi

File

Keterangan

Keterangan: Proses dekripsi file dengan format .xls/.xlsx bagian satu sampai lima dilakukan dengan metode One Time Pad. Kunci yang digunakan hasil pembangkit kunci Diffie-Helman dan kelima proses dekripsi berhasil dilakukan.

4. PENUTUP 4.1 Kesimpulan Berdasarkan dari uraian di atas melalui implementasi dan pengujian, penulis dapat mengambil kesimpulan sebagai berikut : 1. Pertukaran kunci diffie-helman untuk mengatasi permasalahan pengiriman kunci pada algoritma kriptografi kunci simetris berhasil di implementasikan. 2. Implementasi algoritma kriptografi one time pad untuk enkripsi file teks perhasil dilakukan. 3. Penggunaan kunci yang salah saat proses dekripsi file cipher, dapat ditandai dengan rusak nya file ketika dibuka. 4. Lama waktu proses enkripsi sama dengan waktu yang dibutuhkan untuk proses dekripsi. 5. Menurut peneliti metode yang paling bagus adalah one time pad karena kerahasian yang di hasilkan oleh enkripsi dan dekripsi.

4.2 Saran Adapun saran yang dapat disampaikan untuk pengembangan sistem lebih lanjut adalah sebagai berikut: 1. Metode one time pad dapat dikombinasikan dengan metode lain untuk meningkatkan keamanan suatu file. 2. Dapat diimplementasikan pada perangkat lain seperti mobile dan lain sebagainya. 5. DAFTAR PUSTAKA [1] Andika, Reza. 2014. Implementasi metode punctured elias codes pada kompresi file text, Skripsi Universitas Sumatera Utara, Medan [2] Widarma,Adi. 2016. Kombinasi algoritma aes, rc4 dan elgamal dalam skema kriptografi hybrid untuk keamanan data, TesisUniversitas sumatera utara, Medan [3] Pabokory, Nandar, Fresly, Dkk. 2015. IMPLEMENTASI KRIPTOGRAFI PENGAMANAN DATA PADA PESAN TEKS, ISI FILE DOKUMEN, DAN FILE DOKUMEN MENGGUNAKAN ALGORITMA ADVANCED ENCRYPTION STANDARD, Jurnal Univesitas Mulawarman [4] informatika.stei.itb.ac.id/~rinaldi.munir/. Di Akses Pada Tanggal 28 Juli 18.46 WIB [5] Prameswara, Gustaf. 2012. Implementasi Algoritma One Time Pad Pada Data Teks Dan Knapsack Pada Kunci, Skripsi Universitas Sumatera Utara, Medan