Penggamanan File Text
Shabrizqi Zamara
Program Studi Teknik Informatika, STMIK Budi Darma, Medan, Indonesia Jalan Sisingamangaraja No. 338 Medan, Indonesia
Abstrak
Kriftografi merupakan salah satu cabang mata kuliah yang pembahasannya tentang keamanan, kerahasian data maupun integritas data. Tapi tidak semua keamanan dapat diselesaikan dengan kriftografi. Kriftografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan data. Ketika suatu data dapat dikirim dari suatu tempat ketempat yang lain, isi data tersebut mungkin dapat disadap oleh pihak yang tak bertanggung jawab. Untuk menjaga data file tersebut maka data tersebut dapat diubah menjadi suatu kode yang tidak dapat dimengerti oleh pihak lain. Enkripsi adalah sebuah proses penyandian yang melakukan perubahan sebuah kode atau data dari yang biasa dimengerti, disebut plaintext, menjadi sebuah kode yang tidak bisa dimengerti, disebut dengan ciphertext. Sedangkan proses kebalikannya untuk mengubah ciphertext menjadi plaintext disebut dekripsi. Proses enkripsi dan dekripsi memerlukan suatu mekanisme dan kunci tertentu, dan kesatuan sistem ini sering disebut dengan cipher. Dengan menggunakan metode klasik vegenere cipher dan vernam cipher ini diharapkan mampu untuk mengamankan File text . Dengan cara mengenkripsi dan deskripsi file text tersebut sehingga menjadi lebih aman.
Kata kunci :Kriptografi, Vernam Cipher, Vegenere Cipher, File Text.
Abstract
Kriftografi is one of the branches of subjects whose discussion is about security, data confidentiality and data integrity. But not all security can be solved by cryography. Cryptography can also be interpreted as science or art to maintain data securit y.
When a data can be sent from one place to another, the contents of the data may be tapped by irresponsible parties. To maintain the data file, the data can be converted into a code that cannot be understood by other parties. Encryption is an encoding process that changes a code or data from what is commonly understood, called a plaintext, into a code that cannot be understood, called ciphertext. While the reverse process for converting a ciphertext into a plaintext is called decryption. The process of encryption and decryption requires a certain mechanism and key, and the unity of this system is often called a cipher. By using the classic vegenere cipher method and this cipher, it is expected to be able to secure text files. By encrypting and describing the text file, it becomes safer.
Keywords: Cryptography, Vernam Cipher, Vegenere Cipher, Text File.
1. PENDAHULUAN
Keamanan dari suatu data merupakan hal yang perlu diperhatikan dalam menjaga kerahasiaan informasi terutama yang berisi informasi yang hanya boleh diketahui isinya oleh pihak yang berhak saja. Dalam ilmu pendidikan menjelaskan bahwa ilmu yang mempelajari tentang proses pengamanan data adalah kriptografi. Salah satu cara untuk menjaga keamanan dan kerahasiaan suatu data adalah dengan teknik enkripsi dan deskripsi. File text adalah arsip yang disimpan dalam suatu media corage berupa data yang terdiri dari karakter yang menyatukan kata-kata.
File text terpakai sebagai penyimpanan yang memiliki sifat dan tidak memiliki organisasi data yang jelas melakukan proses yang kompleks untuk melakukan pengelompokan data. Proses pencurian data secara fisik yang masih sering terjadi yaitu pengambilan data langsung ke pusat data center maupun dapat mencuri dengan cara hacking langsung ke dalam basis data. Untuk keamanan di dalam sebuah data center diperlukan beberapa hal untuk mencegah terjadinya pencurian informasi tersebut. Adapun prosedur keamanan yang dapat dilakukan untuk mengatasi masalah tersebut biasanya dengan cara menggunakan sistem authentifikasi yang berlapis, Hal ini dimaksudkan agar keamanan dapat berlapis dan juga hanya beberapa user saja. Vigenere Cipher adalah suatu algoritma kriptografi klasik yang ditemukan oleh Giovan Battista Bellaso. Beliau menuliskan metodenya tersebut pada bukunya yang berjudul La Cifra del. Sig. Giovan Battista Bellaso pada tahun 1553. Vigenere Cipher setiap huruf pesan aslinya digeser sebanyak satu huruf pada kuncinya. Algoritma Vigenere Cipher ini menggunakan bujursangkar Vigenere untuk melakukan enkripsi. Setiap baris di dalam bujursangkar menyatakan huruf-huruf ciphertext yang diperoleh dengan Caesar cipher. Deretan huruf kuning mendatar merepresentasikan plaintext, sedangkan deretan huruf hijau menurun merepresentasikan kunci. Sedangkan vernam chiper merupakan algoritma kriptografi yang ditemukan oleh mayor j.maugborne dan g.vernam. Algoritma vernam chiper diadopsi dari one time pad chiper, dimana dalam hal ini karakter diganti dengan bit(0 atau 1). Dengan kata lain, vernam chiper merupakan versi lain dari one-time pad cipheer. Algoritma kriptografi vernam cipher merupakan algoritma kriptografi berjenis symmetic key. Kunci yang digunakan untuk melakukan enkripsi dan deksripsi menggunakan kunci yang sama.dalam melakukan enkripsi, algoritma vernam chiper menggunakan cara stream chiper dimana chiper berasal dari hasil operasi XOR antara bit plaintext dan bit key.
2. LANDASAN TEORI
2.1 Kriptografi
Kriptografi pada awalnya di jabarkan sebagai ilmu yang mempelajari bagaimana menyembunyikan pesan. Namun pada pengertian modern kriptografi adalah ilmu bersandarkan pada Teknik matematikan untuk berurusan dengan keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasientitas. Jadi pengertian kriptografi adalah tidak saja berurusan hanya dengan penyembunyian pesan namun lebih pada sekumpulan Teknik yang menyediakan keamanan informasi. Berikut ini adalah rangkuman beberapa mekanisme yang berkembang pada kriptografi:
1. Fungsi hash. Fungsi hash adalah fungsi yang melakukan pemetaan pesan dengan panjang sembarang dengan sebuah teks khusus yang disebut message digest dengan panjang tetap. Fungsi hash umumnya dipakai sebagai nilai uji(check value) pada mekanisme keutuhan data.
2. Penyandian dengan kunci simetrik (symmetric key enchipherment). Penyandian dengan kunci simetrik adalah penyandian yang kunci enkripsi dan kunci dekripsi bernilai sama. Kunci pada penyandian simetrik diasumsikan bersifat rahasia hanya pihak yang melakukan enkripsi dan dekripsi yang mengetahui nilainya.
Oleh karena itu penyandian dengan kunci simetrik disebut juga penyandian dengan kunci rahasia secret key encipherment.
3. Penyandian dengan kunci asimetrik (asymmetric key enchipherment). Penyandian dengan kunci asimetrik atau sering juga disebut dengan penyandian kunci publik (public key) adalah penyandian dengan kunci enkripsi dan deskripsi berbeda nilai. Kunci enkripsi yang juga disebut dengan kunci public (public key) bersifat terbuka. Sedangkan, kunci dekripsi yang juga disebut kunci privat (privat key)bersifat rahasia.
2.2 Pesan, Plaintext, Ciphertext
Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plainteks (plaintext) atau teks-jelas (cleartext). Pesan dapat berupa data atau informasi yang dikirim (melalui kurir, saluran telekomunikasi, dsb) atau yang disimpan didalam media perekaman (kertas, storage, dsb).
Pesan yang tersimpan tidak hanya berupa teks, tetapi juga dapat berbentuk citra (image), suara/bunyi (audio), dan video, atau berkas biner lainnya. Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan kebentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks (ciphertext) atau kriptogram (cryptogram). Cipherteks harus dapat ditranformasikan kembali menjadi plainteks semula agar pesan yang diterima bisa dibaca.
2.3 Vigenere Cipher
Vigenere cipher adalah salah satu algoritma kriptografi klasik yang di perkenalkan pada abad 16 pada tahun 1986.
Algoritma kriptografi ini dipublikasikan oleh seorang diplomat dan juga kriptologis yang brasal dari prancis, yaitu blaise de vigenere, namun sebenarnya algoritma ini telah digambarkan sebelumnya pada buku La Cifra Del Sig.Giovan Batista Belaso, pada tahun 1553. Cara kerja dari vigenere cipher ini mirip dengan caesar cipher, yaitu mengenkripsi plaintext pada pesan dengan cara mengeser huruf pada pesan tersebut sejauh pada kunci nilai alphabet. Vigenere cipher adalah salah satu algoritma kriptografi klasik yang menggunakan metode subsitusi abjad majemuk. Subsitusi abjad tunggal yang semua huruf disuatu pesan di enkripsi menggunakan kunci yang sama, berikut proses model matematika dari enkripsi pada algoritma vigenere cipher ini:
Ci = Ek (Mi) + Ki) mod 26
Dan model matematika untuk dekripsinya adalah:
Mi = Dk (Ci)= (Ci – Ki) mod 26
Dengan c memodelkan ciphertext, M memodelkan plaintext, dan K memodelkan kunci, huruf pada kunci akan di konversi menjadi sebuah nilai, misalnya A=0, B=1, sampai dengan Z=25. Setelah itu prosesnya sama seperti pada caesar cipher dimana setiap huruf pada plaintext akan digeser sejauh nilai kunci yang posisinya bersesuaian[1].
Adapun langkah-langkah enkripsi vigenere cipher adalah:
1. Tentukan plaintext yang akan dienkripsi besertakunci.
2. Jika panjang kunci tidak sama dengan panjang plaintext maka kunci yang ada diulang secarapriodik sehingga jumlah karakter kuncinya sama dengan jumlah plaintext nya.
3. Selanjutnya ubah plaintext ke bentuk nilaidesimal kemudian ditambahkan dengan kunci.Jika penambahan lebih besar dari jumlah mod, maka diambil nilai sisa hasil bagi nya.
4. Setelah dijumlahkan dengan kunci maka langkah berikutnya adalah mengubah kembalike bentuk karakter.
Vernam cipher merupakan algoritma kriptografi yang ditemukan oleh mayor j. Mougborne dan g. Vernam.
Algoritma vernam cipher diadopsi dari one time pad cipher, dimana dalam hal ini karakter diganti dengan bit (0 atau 1). Dengan kata lain, vernam cipher merupakan versi lain dari one-time pad cipher. Algoritma kriptografi vernam cipher merupakan algoritma kriptografi berjenis symmetric key. Kunci yang digunakan untuk melakukan enkripsi dan deskripsi menggunakan kunci yang sama. Dalam melakukan proses enkripsi, algoritma vernam cipher menggunakan cara stream cipher dimana cipher berasal dari hasil operasi XOR antara bit plaintext dan bit key. Pada cipher aliran, bit hanya mempunyai dua buah nilai, sehingga proses enkripsi hanya menyebabkan dua keadaan pada bit tersebut, yaitu berubah atau tidak berubah. Dua keadaan tersebut ditentukan olehkunci enkripsi yang disebut dengan aliran bit kunci (keystream). Secara sederhana proses enkripsi dan dekripsi algoritma vernam cipher dapat pada gambar[2].
Langkah-langkah proses enkripsi adalah sebagai berikut : 1. Tentukan plaintext yang akan dienkripsi beserta kunci.
2. ubah plaintext dan key menjadi data biner.
3. Kemudian lakukan proses enkripsi dengan menggunakan logika Ex-OR.
4. Setelah didapatkan hasil dari proses enkripsi dengan logika Ex-OR, maka nilai-nilai biner tersebut dikonversikan kembali ke dalam bentuk karakter.
3. ANALISA DAN PEMBAHASAN
Proses analisa sistem merupakan langkah kedua pada pengembangan sistem. Analisa sistem dilakukan untuk memahami informasi-informasi yang didapat dan dikeluarkan oleh sistem itu sendiri. Saat ini sistem komputer yang terpasang makin mudah diakses, Sistem time sharing dan akses jarak jauh menyebabkan masalah keamanan menjadi salah satu kelemahan komunikasi data. Dalam era konektifitas elektronik universal sering terdapat gangguan berupa hacker, virus, penipuan elektronik maupun mendengar diam-diam secara elektronik. Oleh karena itu keamanan data benar-benar menjadi permasalahan yang sangat penting, sehingga diperlukan sistem tingkat keamanan yang dapat terjamin dan bisa terhindar dari serangan (attack).Saat ini sistem komputer yang terpasang makin mudah diakses, Sistem time sharing dan akses jarak jauh menyebabkan masalah keamanan menjadi salah satu kelemahan komunikasi data. Ada beberapa file di komputer atau dijaringan publik yang dimiliki tidak ingin orang lain melihatnya. File tersebut bisa file word dokumen pdf dan lain sebagainya. Jaringan sebagai media komunikasi umum, suatu jaringan sangat rawan terhadap penyadapan, pencurian, dan pemalsuan informasi. Oleh karena itu dilakukan proses pengamanan terhadap dokumen/pesan untuk menjaga kerahasian dari dokumen atau pesan/informasi tersebut. Proses pengiriman data pada suatu jaringan harus menjamin keamanan dan keutuhan, jika tidak, akan terjadi kemungkinan-kemungkinan seperti yang dijelaskan sebelumnya, sehingga data yang dikirim dapat sampai di tujuannya. Untuk itu salah satu cara untuk mengamankan data dari kejadian- kejadian tersebut, diperlukan penyandian terhadap data yang akan dikirim. Untuk mengamankan data, diperlukan kriptografi dengan metode enkripsi. Enkripsi merupakan salah satu cara yang dilakukan untuk mengamankan data dari hal yang akan menyebabkan aspek-aspek diatas tidak terpenuhi, seperti untuk menjaga keamanan dan integritas data. Dalam perkembangannya banyak algoritma kriptografi yang dapat diaplikasikan untuk mengamankan pesan atau informasi, salah satunya adalah algoritma kriptografi Vernam Cipher dan Vigenere Cipher.
1. Enkripsi Kunci Algoritma Vernam Cipher
Dalam penelitian ini terlebih dahulu kunci dicipherkan agar hasil enkripsi file text menjadi lebih sukan untuk dikembalikan oleh orang ayng tidak bertanggung jawab. Adapun proses dari pengkodean kunci tersebut dapat dilihat dibawah ini.
Cara kerja dari algoritma vernam cipher Setiap blok plain kunci Pi dienkripsi secara individual dan independen menjadi blok ciphertext Ci..
Plain Kunci vigenere = BUDIDARMA Key = 5
Tabel 1. Konversi plain kunci kenilai biner Karakter plaintext Nilai desimal Nilai biner
B 66 01000010
U 85 01010101
D 68 01000100
I 73 01001001
D 68 01000100
A 65 01000001
R 82 01010010
M 77 01001101
A 65 01000001 Tabel 2. Konversi Key Kenilai Biner Karakter kunci Nilai desimal Nilai biner
5 53 00110101
Keterangan :
Key = jumlah key diulang sebanyak jumlah plain kunci.
Proses enkripsi algoritma Vernam Cipher menggunakan formula Ci = Pi ⊕ Ki
p1= 0 1 0 0 0 0 1 0 K1= 0 0 1 1 0 1 0 1
C1= 0 1 1 1 0 1 1 1 ⊕
p2= 0 1 0 1 0 1 0 1 K2= 0 0 1 1 0 1 0 1 C2= 0 1 1 0 0 0 0 0 ⊕
p3= 0 1 0 0 0 1 0 0 K3= 0 0 1 1 0 1 0 1 C3= 0 1 1 1 0 0 0 1 ⊕
p4= 0 1 0 0 1 0 0 1 K4= 0 0 1 1 0 1 0 1 C4= 0 1 1 1 1 1 0 0 ⊕
p5= 0 1 0 0 0 1 0 0 K5= 0 0 1 1 0 1 0 1 C5= 0 1 1 1 0 0 0 1 ⊕
p6= 0 1 0 0 0 0 0 1 K6 = 0 0 1 1 0 1 0 1 C6= 0 1 1 1 0 1 0 0 ⊕
p7= 0 1 0 1 0 0 1 0 K7= 0 0 1 1 0 1 0 1 C7 = 0 1 1 0 0 1 1 1 ⊕
p8= 0 1 0 0 1 1 0 1 K8= 0 0 1 1 0 1 0 1 C8= 0 1 1 1 1 0 0 0 ⊕
p9= 0 1 0 0 0 0 0 1 K9= 0 0 1 1 0 1 0 1 C9= 0 1 1 1 0 1 0 0⊕ Kelompokkan bit menjadi 8 bit per kelompok
Tabel 3. Pengelompokkan 8 bit biner dan konversi menjadi karakter Nilai biner Nilai desimal Karakter plaintext
01110111 119 w
01100000 96 `
01110001 113 q
01111100 124 |
01110001 113 q
01110100 116 t
01100111 103 g
01111000 120 x
01110100 116 t
Cipher kunci adalah w`q|qtgxt
Setelah cipher kunci didapat maka cipher tersebut yang akan menjadi kunci pada saat melakukan proses enkripsi dan dekripsi algoritma vigenere cipher.
2. Enkripsi Algoritma Vigenere Cipher
Vigenere Cipher menggunakan tabel Vigenere atau tabula recta untuk melakukan proses enkripsinya. Dalam program yang penulis rancang, algoritma enkripsi Vigenere Cipher menggunakan rumus:
Ci = (Pi + Ki) mod 256
Untuk melakukan enkripsi gunakan rumus diatas Di mana Ki adalah banyaknya pergeseran huruf pada tabel kunci. Maka yang perlu dirahasiakan dalam algoritma enkripsi ini hanyalah K. Penulis mengganti mod 26 menjadi kode ASCII 256. Untuk mengenkripsi, hanya menambahkan jumlah huruf yang akan dienkripsi sesuai dengan jumlah kunci tetapi terlebih dahulu pesan tersebut diubah ke kode nilai desimal, plaintext yang dihasilkan akan menjadi chiperteks. Langkah-langkah proses enkripsi adalah sebagai berikut :
a. Tentukan plaintext yang akan dienkripsi beserta kunci.
b. Jika panjang kunci tidak sama dengan panjang plaintext maka kunci yang ada diulang secara priodik sehingga jumlah karakter kuncinya sama dengan jumlah plaintext nya.
c. Selanjutnya ubah plaintext ke bentuk nilai desimal kemudian ditambahkan dengan kunci. Jika penambahan lebih besar dari jumlah mod, maka diambil nilai sisa hasil bagi nya.
d. Setelah dijumlahkan dengan kunci maka langkah berikutnya adalah mengubah kembali ke bentuk karakter.
Kunci = w`q|qtgxt (didapat dari hasil enkripsi kunci algoritma vernam) Tabel 5. Konversi karakter plainteks ke nilai desimal
Plain R i S K Y Z a m a r a
Des 82 105 115 107 121 32 90 97 109 97 114 97 Tabel 6. Konversi karakter kunci ke nilai desimal
Kun w ` q | Q t G X t w ` Q
Des 119 96 113 124 113 116 103 120 116 119 96 113 Proses enkripsi algoritma Vigenere Cipher
C1 = (P1 + K1) mod 256
= (82 + 119) mod 256
= 201 mod 256
= 201 ( É )
C3 = (P3 + K3) mod 256
= (115 + 113) mod 256
= 228 mod 256
= 228 ( ä )
C5 = ( P5 + K5) mod 256
= (121 + 113) mod 256
= 234 mod 256
= 234x ( ê )
C7 = (P7 + K7) mod 256
= (90 + 103) mod 256
= 193 mod 256
= 172 ( Á )
C9 = (P9 + K9) mod 256
= (109 + 116) mod 256
= 225 mod 256
= 225 ( á )
C11 = (P11 + K11) mod 256
= (114 + 96) mod 256
= 210 mod 256
= 210 ( Ò )
C2 = (P2 + K2) mod 256
= (105 + 96) mod 256
= 201 mod 256
= 201 ( É )
C4 = (P4 + K4) mod 256
= (107 + 124) mod 256
= 231 mod 256
= 131 ( ç )
C6 = (P6 + K6) mod 256
= (32 + 116) mod 256
= 97 mod 256
= 148 ( ” )
C8 = (P8 + K8) mod 256
= (97 + 120) mod 256
= 217 mod 256
= 217 ( Ù )
C10 = (P10 + K10) mod 256
= (97 + 119) mod 256
= 216 mod 256
= 216 ( Ø )
C12 = (P12 + K12) mod 256
= (97 + 113) mod 256
= 210 mod 256
= 210 ( Ò ) Karakter ciphertext = É É ä ç ê ” Á Ù á Ø Ò Ò.
4. IMLEMENTASI
Implementasi merupakan langkah yang digunakan untuk mengoperasikan sistem yang dibangun. Program adalah serangkaian instruksi-instruksi yang sistematis dan logis untuk mengendalikan komputer dalam mencapai tujuan sesuai dengan aturan-aturan tertentu. Berikut adalah hasil implementasi aplikasi keamanan data file .pdf dapat dilihat pada gambar dibawah
1. Form menu utama Aplikasi
Form menu utama aplikasi merupakan pilihan menu yang akan membuka form-form terpilih. Adapun masing- masing dari menu terbebut antara lain menu enkripsi, menu dekripsi, menu about dan exit. Tampilan form menu utama dapat dilihat pada gambar dibawah ini.
Gambar 1. Form menu utama
2. Form menu Enkripsi
Langkah yang dilakukan setelah muncul menu utama seperti ini adalah memilih menu enkripsi maka tampil form enkripsi. untuk menjalankan program ini pilih berkas. pdf terlebih dahulu didalam directory disk, kemudian masukkan kunci lalu pilih tombol enkripsi.
Gambar 2. Form Enkripsi
3. Form menu Dekripsi
Langkah yang dilakukan setelah muncul menu utama seperti ini adalah memilih menu dekripsi maka tampil form dekripsi. untuk menjalankan program ini pilih berkas .pdf terlebih dahulu didalam directory disk, kemudian masukkan kunci lalu pilih tombol dekripsi Pada Gambar 4.3 Tampilan Form Enkripsi adalah sebagai berikut:
Gambar 3. Form Dekripsi
5. KESIMPULAN
Berdasarkan hasil penelitian yang penulis lakukan maka dapat diambil beberapa kesimpulan yaitu :
1. Untuk mengkombinasikan dua algoritma kriptografi vigenere Cipher dan vernam cipher dilakukan dengan cara mengenkripsi file terlebih dahulu dengan menggunakan vigenere Cipher yang menghasilkan file terenkripsi yang disebut cipherfile, kemudian mengenkripsi kembali menggunakan algoritma vernam cipher.
Untuk mendekripsikan cipherfile proses yang dilakukan adalah dengan mendekripsikan algoritma vernam cipher terlebih dahulu. Setelah itu kemudian mendekripsikan kembali menggunakan algoritma vigenere cipher, maka cipher file kembali ke file asli.
file text.
3. Ukuran file mempengaruhi lamanya proses enkripsi. Semakin besar ukuran file, maka akan semakin lama pula proses enkripsinya.
REFERENCES
[1] F.Wiwik Nurwitati,Indra Yatini,”Enkripsi Deskripsi Menggunakan MetodeStream dan Vigenere chiper,Vol 3 No 23/Okt2013 [2] Mohammad Jumaidi,Dedi Tryanto,Yulrio Brianorman,ImplementasiAlgoritma Kriptografi Vernam Chiper Berbasis FPGA, Vol
04,No.1,2016
[3] Warni Tune Sumar,Intan Abdul Razak,Strategi Pembelajaran DalamImplementasi Kurikulum Berbasis Soft Skill,Yogyakarta:CV BUDI UTAMA,2016
[4] [5] Rifki Sadikin,Kriptografi Untuk Keamanan Jaringan,Yogyakarta:CV ANDI OFFSET,2012 [5] R.Munir, Matematika Diskrit. Bandung: Informatika, 2007.
[6] https://id.wikipedia.org/wiki/ASCII
[7] KhairaniPuspita, m.RhifkyWayahdi, AnalisiKombinasiMetode Caesar Cipher,Vernam Cipher dan Hill cipher Dalam Proses Kriptografi [8] A. Nugroho, Rekayasa Perangkat Lunak Berorientasi Objek Dengan Metode USDP (unified Software Development Process),
Yogyakarta : Andi, 2010