Implementasi Modifikasi Kriptografi One Time Pad (OTP) untuk Pengamanan Data File

dokumen-dokumen yang mirip
Modifikasi Kriptografi One Time Pad (OTP) Menggunakan Padding Dinamis dalam Pengamanan Data File

Artikel Ilmiah. Diajukan Kepada Fakultas Teknologi Informasi Untuk Memperoleh Gelar Sarjana Komputer

Perancangan Kriptografi Block Cipher 256 Bit Berbasis pada Pola Tuangan Air Artikel Ilmiah

KRIPTOGRAFI VERNAM CIPHER UNTUK MENCEGAH PENCURIAN DATA PADA SEMUA EKSTENSI FILE

Penggunaan Fungsi Rasional, Logaritma Kuadrat, dan Polinomial Orde-5 dalam Modifikasi Kriptografi Caesar Cipher

Proses enkripsi disetiap putarannya menggunakan fungsi linear yang memiliki bentuk umum seperti berikut : ( ) ( ) (3) ( ) ( ) ( )

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi

PENGGUNAAN DETERMINAN POLINOMIAL MATRIKS DALAM MODIFIKASI KRIPTOGRAFI HILL CHIPER

Rancangan Kriptografi Block Cipher 128-bit Menggunakan Pola Lantai dan Gerakan Tangan Tarian Ja i

Perancangan dan Implementasi Algoritma Kriptografi Block Cipher

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI MENGGUNAKAN ALGORITMA RSA DAN METODE LSB

A-2 Sistem Kriptografi Stream Cipher Berbasis Fungsi Chaos Circle Map dengan Pertukaran Kunci Stickel

Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password

MODIFIKASI KRIPTOGRAFI HILL CIPHER MENGGUNAKAN CONVERT BETWEEN BASE

Pemenuhan Prinsip Iterated Cipher (Suatu Tinjauan Analisis dan Modifikasi Pada Kriptografi Block Cipher Dengan Pola Teknik Burung Terbang)

Perancangan Kriptografi Block Cipher 256 Bit Berbasis Pola Tarian Liong (Naga) Artikel Ilmiah

KOMBINASI ALGORITMA ONE TIME PAD CIPHER DAN ALGORITMA BLUM BLUM SHUB DALAM PENGAMANAN FILE

PENGEMBANGAN ALGORITMA VIGENERE CIPHER MENGGUNAKAN METODE PERGESERAN KUNCI BERBASIS BINER ABSTRAK

BAB 1 PENDAHULUAN Latar Belakang

PEMBANGKIT KUNCI LINEAR FEEDBACK SHIFT REGISTER PADA ALGORITMA HILL CIPHER YANG DIMODIFIKASI MENGGUNAKAN CONVERT BETWEEN BASE

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN

DESAIN KRIPTOGRAFI CBC MODIFIKASI PADA PROSES PENGAMANAN PESAN MELALUI

APLIKASI ENKRIPSI CITRA DIGITAL MENGGUNAKAN ALGORITMA GINGERBREADMAN MAP. Suryadi MT 1 Tony Gunawan 2. Abstrak

BAB I PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

BAB 2 LANDASAN TEORI

BAB IV HASIL DAN PEMBAHASAN

Perancangan Kriptografi Block Cipher Berbasis pada Teknik Tanam Padi dan Bajak Sawah

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

Perancangan Algoritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis 256 Bit Pada Pola Papan Dart

Suatu Algoritma Kriptografi Simetris Berdasarkan Jaringan Substitusi-Permutasi Dan Fungsi Affine Atas Ring Komutatif Z n

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

Perancangan Kriptografi Block Cipher Berbasis pada Alur Clamshell s Growth Rings

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

Dampak S-Box AES Terhadap Perancangan Kriptografi Simetris Berbasis Pola Teknik Putaran Kincir Angin Artikel Ilmiah

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Reference. William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014)

IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) UNTUK ENKRIPSI DAN DEKRIPSI PADA DOKUMEN TEKS ABSTRAK

IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES UNTUK ENKRIPSI DAN DEKRIPSI

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN

Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop

SUATU ALGORITMA KRIPTOGRAFI STREAM CIPHER BERDASARKAN FUNGSI CHAOS

KRIPTOGRAFI PADA FILE AUDIO MP3 MENGGUNAKAN METODE PENGEMBANGAN TRANSPOSISI

BAB 2 LANDASAN TEORI

1. Pendahuluan. 2. Tinjauan Pustaka

Pengenalan Kriptografi

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM. KriptoSMS akan mengenkripsi pesan yang akan dikirim menjadi ciphertext dan

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

PENGAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA STREAM CIPHER SEAL

Cipher yang Tidak Dapat Dipecahkan (Unbreakable Cipher)

APLIKASI KRIPTOGRAFI KOMPOSISI ONE TIME PAD CIPHER DAN AFFINE CIPHER

Bab 2 Tinjauan Pustaka

PROGRAM APLIKASI KRIPTOGRAFI PENYANDIAN ONE TIME PAD MENGGUNAKAN SANDI VIGENERE

BAB I PENDAHULUAN. Universitas Sumatera Utara

Pengkajian Metode dan Implementasi AES

2017 Ilmu Komputer Unila Publishing Network all right reserve

BAB II LANDASAN TEORI


BAB I PENDAHULUAN. Pada era teknologi informasi yang semakin berkembang, pengiriman data

BAB III ANALISA DAN DESAIN SISTEM

BAB 2 TINJAUAN PUSTAKA

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH

Disusun oleh: Ir. Rinaldi Munir, M.T.

PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER

BAB I PENDAHULUAN. 1.1 Latar Belakang. Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di

RANCANG BANGUN APLIKASI PESAN MENGGUNAKAN ALGORITMA VIGENERE CIPHER DAN ONE TIME PAD ABSTRAK

Modifikasi Affine Cipher Dan Vigènere Cipher Dengan Menggunakan N Bit

Pemenuhan Prinsip Shannon

BAB III ANALISIS DAN PERANCANGAN

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PERANCANGAN APLIKASI KOMPRESI CITRA DENGAN METODE RUN LENGTH ENCODING UNTUK KEAMANAN FILE CITRA MENGGUNAKAN CAESAR CHIPER

Penerapan Matriks dalam Kriptografi Hill Cipher

RC4 Stream Cipher. Endang, Vantonny, dan Reza. Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 40132

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN. khususnya internet sangatlah cepat dan telah menjadi salah satu kebutuhan dari

Sistem Kriptografi Kunci Publik Multivariat

Aplikasi Merkle-Hellman Knapsack Untuk Kriptografi File Teks

BAB III PENYANDIAN ONE TIME PAD MENGGUNAKAN SANDI VIGENERE

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Bab 1 PENDAHULUAN Latar Belakang

ENKRIPSI DAN DEKRIPSI DATA DENGAN ALGORITMA 3 DES (TRIPLE DATA ENCRYPTION STANDARD)

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

BEA A New Block Cipher Algorithm

Modifikasi Cipher Block Chaining (CBC) MAC dengan Penggunaan Vigenere Cipher, Pengubahan Mode Blok, dan Pembangkitan Kunci Berbeda untuk tiap Blok


Kriptografi Modern Part -1

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Menggunakan Algoritma Kriptografi Blowfish

IMPLEMENTASI METODE KRIPTOGRAFI IDEA DENGAN FUNGSI HASH DALAM PENGAMANAN INFORMASI

Penyandian Citra Digital Menggunakan Modifikasi Sandi Hill. Digital Image Encryption by Using a Modified Hill Code. Abstract

BAB III ANALISIS DAN PERANCANGAN

Artikel Ilmiah. Peneliti: Fahrizal Ahmad ( ) Drs. Prihanto Ngesti Basuki, M.Kom. Ir. Christ Rudianto, MT.

Perancangan Kriptografi Block Cipher Berbasis Pada Teknik Lipat Amplop dan Linear Congruential Generator (LCG) Artikel Ilmiah

Teknik Konversi Berbagai Jenis Arsip ke Dalam bentuk Teks Terenkripsi

Transkripsi:

Implementasi Modifikasi Kriptografi One Time Pad (OTP) untuk Pengamanan Data File Artikel Ilmiah Peneliti : Febryan Christy Winaryo (672009082) Alz Danny Wowor, S.Si., M.Cs. Indrastanti R. Widiasari, M.T. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen SatyaWacana Salatiga Februari 2014 1

Implementasi Modifikasi Kriptografi One Time Pad (OTP) untuk Pengamanan Data File Artikel Ilmiah Diajukan kepada Fakultas Teknologi Informasi untuk memperoleh gelar Sarjana Komputer Peneliti : Febryan Christy Winaryo (672009082) Alz Danny Wowor, S.Si., M.Cs. Indrastanti R. Widiasari, M.T. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen SatyaWacana Salatiga Februari 2014 1

i

ii

iii

iv

v

1) Febryan Christy Winaryo 2) Alz Danny Wowor 3) Indrastanti Ratna Widiasari Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Jl. Diponegoro 52-60, Salatiga 50771, Indonesia Email : 1) 672009082@student.uksw.edu, 2) alzdanny.wr@gmail.com, 3) indrastanti@staff.uksw.edu Abstract Electronic and digital media has become a trend to transmit information both public and confidential. To maintain the security of data sent diperlukkan special security. Security in this study using the algorithm One Time Pad (OTP) which is modified by doing three times the process and use bit shifting to the key and the plaintext. The key to the process that generated the second and the third increased by characters in plaintext. The results of this study are cryptographic techniques that can be applied to the security file in a text. Keywords : Cryptography, One Time Pad (OTP), Bit Shifting. Abstrak Media elektronik dan digital sudah menjadi tren untuk mengirimkan informasi baik yang bersifat umum maupun rahasia. Untuk menjaga keamanan data yang dikirim diperlukan pengamanan khusus. Pengamanan dalam penelitian ini menggunakan algoritma One Time Pad (OTP) yang dimodifikasi dengan melakukan tiga kali proses dan menggunakan bit shifting pada kunci dan plainteks. Kunci pada proses kedua dan ketiga digenerate agar bertambah sebanyak karakter dalam plainteks. Hasil dari penelitian ini adalah teknik kriptografi yang dapat diaplikasikan pada pengamanan file berbasis teks. Kata Kunci : Kriptografi, One Time Pad, Bit Shifting. 1 1) Mahasiswa Program StudiTeknikInformatika, FakultasTeknologiInformasi, Universitas Kristen SatyaWacana 2) 3) Staff PengajarFakultasTeknologiInformasi, Universitas Kristen SatyaWacana 1

1. Pendahuluan Saat ini orang lebih suka menggunakan media elektronik seperti email dan digital untuk saling bertukar informasi. Informasi yang dibagikan tidak hanya informasi umum saja tetapi juga informasi rahasia. Dalam bertukar informasi yang bersifat rahasia dibutuhkan keamanan agar informasi rahasia tidak jatuh ke pihak yang tidak berhak. Disinilah kriptografi berperan menjaga informasi-informasi rahasia tersebut agar pengguna atau pihak yang berhak saja yang dapat mengetahui informasi tersebut. Salah satu darialgoritma kriptografi yang dapat digunakan adalah One Time Pad (OTP). OTP memiliki keunggulan dalam melakukan proses enkripsi dan dekripsi yaitu setiap karakter dalamkunci digunakan untuk mengenkripsi dan mendekripsi setiap karakter dalam plainteks [1]. Hal ini membuat kriptanalis kesulitan dalam menemukan plainteks asli jika kunci yang digunakan adalah kunci yang acak. Sisi yang lain, OTP memiliki kelemahan dalam penggunaannya untuk melakukan enkripsi dan dekripsi yaitu OTP hanya cocok digunakan untuk melakukan enkripsi dan dekripsi pesan yang berukuran kecil atau pesan singkat saja [1]. Hal ini dikarenakan panjang kunci yang digunakan harus sama dengan panjang pesan, sehingga semakin besar panjang pesan akan berakibat semakin besar pula panjang kunci. Hal ini juga menyebabkan OTP menjadi tidak praktis jika digunakan / diimplementasikan ke dalam aplikasi / program kriptografi. Penelitian ini memodifikasi OTP agar dapat melakukan enkripsi dan dekripsi file, dan mengatasi masalah penggunaan kunci dalam enkripsi dan dekripsi dengan menggunakan bit shifting untuk mengubah kunci secara acak, menggenerate kunci supaya dapat bertambah sejumlah karakter dalam file dan menambah proses enkripsi dan dekripsi serta membuat aplikasi agar OTP dapat diimplementasikan untuk melakukan enkripsi dan dekripsi file khususnya file bertipe txt, doc, docx, dan pdf. 2. Tinjauan Pustaka Penelitian terdahulu dengan judul Combining Advanced Encryption Standard (AES) and One Time Pad (OTP) Encryption for Data Security membahas bagaimana menciptakan algoritma baru dalam kriptografi dengan menggabungkan algoritma OTP dan AES menjadi satu proses dalam melakukan enkripsi dan dekripsi supaya tidak mudah untuk dideteksi oleh orang [2]. Dalam penelitian tersebut, sistem akan berjalan ketika pengguna memasukkan plainteks dan kunci. Hal ini membuat sistem menciptakan variabel berdasarkan plainteks, cipherteks, dan kunci yang disimpan dalam array berukuran 16 byte, kemudian plainteks dan kunci diubah ke dalam byte dan diinisialisasi ke dalam matriks untuk menentukan banyak putaran. Sistem kemudian akan melakukan ekspansi kunci dan inisialisasi cipher dan dilakukan perulangan sebanyak inisialisasi awal. Setelah itu hasil dari kunci enkripsi diubah ke biner dan dilakukan pergeseran matriks. Kemudian tiap cell diisi dengan S-Box dan melakukan putaran. Yang terakhir adalah memasukkan kunci yang diputar ke dalam proses. Hasil dari 2

penelitian terdahulu menyebutkan bahwa algoritma One Time Pad dapat digabungkan ke dalam algoritma Advanced Encryption Standard (AES) dalam melakukan enkripsi dan dekripsi, dengan memasukkan OTP ke dalam AES menghasilkan kriptografi baru dengan nama kriptografi OTP AES, panjang kunci tidak mempengaruhi lama waktu enkripsi dan dekripsi, ukuran file sebelum dan sesudah enkripsi tidak berubah atau sama, serta spesifikasi komputer mempengaruhi lama waktu proses enkripsi dan dekripsi. Penelitian lain dengan judul Pengamanan Kunci Enkripsi One Time Pad (OTP) menggunakan Enkripsi RSA membahas bagaimana mengamankan kunci enkrispi OTP dengan menggunakan enkripsi RSA, sehingga orang lain tidak dapat mengetahui kunci universal yang digunakan untuk melakukan enkripsi menggunakan OTP [3]. Dalam penelitian tersebut, masukan dari pengguna berupa pesan yang nantinya dianggap sebagai plainteks dan kunci publik milik penerima untuk enkripsi kunci OTP dengan algoritma RSA. Dimana proses awal kunci simetri OTP dibangkitkan dengan teknik pembangkit acak, kemudian enkripsi pesan dengan algoritma OTP. Untuk menjamin bahwa pesan memang berasal dari pengirim yang sah maka dilakukan autentikasi pesan. Enkripsi kunci simetri OTP dengan algoritma RSA untuk mengamankan kunci simetri OTP, kemudian dikirim ke penerima lalu didekripsi. Hasil dari enkripsi berupa cipherteks dengan tanda tangan pengirim yang sah dan disertai dengan kunci yang terenkripsi menggunakan algoritma RSA. Perbedaan penelitian ini dengan dua penelitian terdahulu terkait kriptografi OTP adalah dilakukannya modifikasi pada kunci, proses enkripsi dan dekripsi, serta mengimplementasikan kriptografi OTP untuk melakukan enkripsi dan dekripsi pada data fileberbasis teks di email. Perbedaan dengan penelitian terdahulu adalah penelitian ini mengembangkan penggunaan algoritma OTP standar dari enkripsi dan dekripsi yang hanya dapat digunakan untuk teks menjadi dapat digunakan untuk melakukan enkripsi dan dekripsi file, dengan melakukan generate pada kunci sehingga kunci dapat bertambah menjadi sejumlah karakter pada plainteks meskipun input kunci tidak sama dengan plainteks. Serta melakukan bit shifting pada plainteks dan kunci untuk mengubah ke pesan lain sehingga orang tidak mengetahui kata asli dari plainteks dan kunci. Hasil yang diharapkan dari penelitian ini berupa algoritma OTP yang lebih praktis dan dapat diimplementasikan ke semua aplikasi-aplikasi yang digunakan dalam mengamankan data file, khususnya file bertipe txt, doc, docx, dan pdf. Untuk melakukan penelitian ini perlu mengetahui materi-materi yang terkait dengan kriptografi dan algoritma yang digunakan. Kriptografi berasal dari bahasa Yunani yang terdiri dari dua suku kata yaitu Cryptos (rahasia) dan graphein (tulisan),maka kriptografi dapat diartikan sebagai tulisan rahasia. Pengertian yang lain, kriptografi merupakan ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, otentikasi data [4]. Ilmu Kriptografi sebenarnya sudah mulai dipelajari manusia sejak tahun 400 SM, yaitu pada zaman Yunani kuno. Disebutkan bahwa Penyandian Transposisi merupakan sistem kriptografi pertama yang digunakan atau dimanfaatkan. Bidang ilmu ini terus berkembang seiring dengan kemajuan peradaban manusia, dan 3

memegang peranan penting dalam strategi peperangan yang terjadi dalam sejarah manusia, mulai dari sistem kriptografi Caesar Chiper yang terkenal pada zaman Romawi kuno [5]. Sebuah sistem kriptografi dikatakan sudah terpenuhi jika sudah memenuhi kondisi dari lima tuple (five-tuple), yaitu P, C, K, E, D[6]: 1. P adalahhimpunanberhinggadariplainteks. 2. C adalahhimpunanberhinggadaricipherteks. 3. K merupakanruangkunci (keyspace), adalahhimpunanberhinggakunci. 4. Untuk setiap, terdapat aturan enkripsi dan berkorespodensi dengan aturan dekripsi. Setiap e k : P C dan d k : C P adalah fungsi sedemikian hingga d k (e k ( x )) = x untuk setiap plainteks. Beberapa terminologi yang umum digunakan dalam kriptografi adalah pesan, plainteks, dan cipherteks. Pesan (message) atau yang juga disebut dengan plainteks merupakan data atau informasi yang dapat dimengerti maknanya. Pesan dapat berupa citra (image), suara (audio), dan video, atau berkas biner lainnya. Sedangkan cipherteks adalah hasil dari pesan yang sudah disandikan [1]. Proses penyandian yang merubah pesan dari yang dapat dimengerti (plainteks) menjadi yang tidak dapat dimengerti (cipherteks) disebut enkripsi. Sedangkan proses kebalikannya disebut dekripsi. Gambar 1 Skema Enkripsi dan Dekripsi [1] Dalam kriptografi dikenal beberapa algoritma, diantaranya adalah algoritma One Time Pad (OTP).One Time Pad adalah salah satu metode kriptografi dengan algoritma jenis simetri. Ditemukan pada tahun 1917 oleh Major Yoseph Mouborgne dan Gilbert Vernam pada perang dunia ke dua. Metode ini telah diklaim sebagai satu-satunya algoritma kriptografi sempurna yang tidak dapat dipecahkan [1]. Suatu algoritma dikatakan aman, apabila tidak ada cara untuk menemukan plaintext-nya. Sampai saat ini, hanya algoritma One Time Pad (OTP) yang dinyatakan tidak dapat dipecahkan meskipun diberikan sumber daya yang tidak terbatas. Dalam proses enkripsi One Time Pad, cipherteks diperoleh dengan melakukan penjumlahan modulo 26 dari satu bit plainteks dengan satu bit kunci, seperti terlihat pada Rumus: C i = ( P i + K i )mod26 (1) Dimana : C i = cipher teks P i = plainteks K i = kunci 4

Sedangkan dalam proses dekripsi, untuk mendapatkan kembali plainteks, diperoleh dengan melakukan penjumlahan modulo 26 dari satu bit cipherteks dengan satu bit kunci : P i C K mod 26 (2) i i Sebagai contoh enkripsi, untuk plainteks SATYAWACANA dengan kata kunci UNIVERSITAS, akan menghasilkan cipherteks sebagai berikut : Plainteks Kunci Cipherteks : SATYAWACANA : UNIVERSITAS : MNBTENSKTNS Yang mana diperoleh sebagai berikut (A = 0, B = 1,..., Z = 25) : (S + U) mod 26 = M (A + N) mod 26 = N (T + I) mod 26 = B (Y + V) mod 26 = T (A + E) mod 26 = E (W + R) mod 26 = N (A + S) mod 26 = S (C + I) mod 26 = K (A + T) mod 26 = T (N + A) mod 26 = N (A + S) mod 26 = S Contoh proses dekripsi, untuk cipherteks MNBTENSKTNS dengan kata kunci UNIVERSITAS adalah sebagai berikut : Cipherteks : MNBTENSKTNS Kunci : UNIVERSITAS Plainteks : SATYAWACANA Yang mana diperoleh sebagai berikut (A = 0, B = 1,..., Z = 25) : (M - U) mod 26 = S (N - N) mod 26 = A (B - I) mod 26 = T (T - V) mod 26 = Y (E - E) mod 26 = A (N - R) mod 26 = W (S - S) mod 26 = A (K - I) mod 26 = C (T - T) mod 26 = A (N - A) mod 26 = N (S - S) mod 26 = A 5

Kelebihan dari algoritma One Time Pad adalah sistem One Time Pad tidak dapat dipecahkan, karena [1]: 1. Barisan kunci acak yang ditambahkan ke pesan plainteks yang tidak acak menghasilkan cipherteks yang seluruhnya acak. 2. Beberapa barisan kunci yang digunakan untuk mendekripsi cipherteks mungkin menghasilkan pesan-pesan plainteks yang mempunyai makna, sehingga kriptanalis tidak punya cara untuk menentukan plainteks mana yang benar. Sedangkan bit shifting adalah operasi yang dilakukan pada semua bit dari nilai biner di mana mereka dipindahkan oleh sejumlah tempat-tempat yang ditentukan ke kiri ataupun ke kanan. Bit shifting digunakan ketika operan sedang digunakan sebagai rangkaian bit daripada sebagai keseluruhannya. Dengan kata lain, operan diperlakukan sebagai bit individu yang berdiri sebagai sesuatu hal dan bukan sebagai suatu nilai. Bit shifting sering digunakan dalam pemrograman dan memiliki setidaknya satu variasi dalam setiap bahasa pemrograman. Bit shifting mungkin juga dikenal sebagai operasi bitwise [7]. Ada dua variasi bit shifting, bergeser ke kanan dan bergeser ke kiri, dan itu lebih ditentukan oleh jumlah tempat di mana pergeseran harus terjadi. Sebagai contoh, menggeser operan satu nilai ke kiri atau menggeser bit sebesar n ke kanan. Ada juga dua jenis bit shifting, logical dan arithmetics. Logical bit shifting mungkin berguna untuk mengalikan atau membagi integer tidak bertanda dengan dua. Misalnya, jika nilai "0001" atau "1" digeser kiri, akan menjadi "0010" atau "2", digeser ke kiri lagi menjadi "0100" atau "4". Pergeseran ke kanan memiliki efek berlawanan dari membagi nilai dengan dua tiap pergeseran. Dalam kebanyakan kasus, pergeseran diberlakukan secara melingkar sehingga ketika bergeser ke kiri, nilai paling kiri menjadi nilai paling kanan, dan sebaliknya [7]. 3. Metode dan Perancangan Sistem Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang terbagi dalam lima tahapan, yaitu: (1) Pengumpulan data, (2) Analisa kebutuhan, (3) Perancangan Modifikasi dan Pembuatan Program, (4) Evaluasi, (5) Penulisan Laporan. Gambar 2 Tahapan Penelitian [8] Tahapan penelitian pada Gambar 2, dapat dijelaskan sebagai berikut:(1) Tahap pertamapengumpulan data yaitu, melakukan pengumpulan terhadap data dari jurnal-jurnal terkait, buku, serta sumber mengenai pembahasan terkait 6

penelitian tersebut;(2)tahap kedua analisa kebutuhan yaitu, melakukan analisa mengenai kebutuhan apa saja yang dibutuhkan dalam perancangan modifikasi ini;(3)tahap ketigaperancangan modifikasi yang meliputi pembuatan flowchart untuk pengambilan keputusan, serta melakukan analisa-analisa hasil yang dapat diambil dari modifikasi yang telah dilakukan; (4)Tahap keempat melakukan evaluasi terhadap keseluruhan perancangan dan modifikasi yang telah dibuat, apakah sudah berjalan dengan semestinya. Jika belum maka dilakukan perbaikanperbaikan yang diperlukan; (5)Tahap kelima penulisan laporan hasil penelitian, yaitu mendokumentasikan proses penelitian yang sudah dilakukan dari tahap awal hingga akhir ke dalam tulisan, yang nantinya akan menjadi laporan hasil penelitian. Pada perancangan ini dilakukan dalam dua proses, yaitu proses enkripsi dan dekripsi. Kedua proses sama-sama melalui pemrosesan file sebelum melakukan enkripsi dan dekripsi.berikut ini merupakan langkah-langkah pemrosesan file sebelum melakukan proses enkripsi: 1. Menyiapkan file yang akan digunakan. 2. Melakukan identifikasi ukuran file, apabila lebih dari 10 KB maka file akan diproses secara berkala, mula-mula 10 KB terlebih dahulu kemudian buat file enkripsinya. Apabila file sisa hasil enkripsi berukuran lebih dari 10 KB maka proses enkripsi akan dilakukan kembali sampai sisa hasil enkripsi tidak ada lagi. Pembacaan ukuran sebesar 10 KB ini digunakan untuk memudahkan dalam proses dekripsi dengan tahapan per prosesnya 10 KB. 3. File hasil enkripsi ini kemudian dimasukkan dalam file hasil. Untuk penjelasan lebih lanjut dapat dilihat pada Gambar 3. start Plain File Baca Ukuran File >10 KB T Buat File *_enkripsi Y Buat File *_enkripsi Enkripsi Semua File Baca Sebanyak 10 KB Memasukkan ke File Hasil Enkripsi Data yang Dibaca Memasukkan ke File Hasil Alokasi Memori Sebanyak Sisa T Sisa > 10 KB Y Selesai Gambar 3 Skema Pemrosesan File untuk Enkripsi Sesuai dengan skema penelitian yang dilakukan, maka proses enkripsi menggunakan modifikasi One Time Paddapat dideskripsikan seperti pada Gambar 4. 7

Plain File Binerisasi Geser Kiri Key Binerisasi Geser Kanan Plain File1 Key1 Plain File1 mod Key1 Y Plain File1 > Key1 T Plain File1 XOR Key1 Plain File2 Binerisasi Geser Kiri Key1 Binerisasi Geser Kanan Plain File3 Key2 Plain File3 mod Key2 Y Plain File3 > Key2 T Plain File3 XOR Key2 Plain File4 Binerisasi Key2 Binerisasi Geser Kiri Geser Kanan Plain File5 Key3 Plain File5 mod Key3 Y Plain File5 > Key3 T Plain File5 XOR Key3 Plain File6 Plain File6 mod 256 Chiper File Gambar 4 Diagram Alir Proses modifikasi OTP untuk Enkripsi File Berdasarkan Gambar 4, proses enkripsi file dapat dijabarkan sebagai berikut: 1. Menyiapkan file dan kunci yang akan digunakan. 2. Plainfile kemudian dibinerkan dan digeser ke kiri satu kali, misal C maka akan menjadi B, yang kemudian disebut Plainfile1. Sedangkan pada kunci juga dilakukan proses binerisasi tetapi kunci digeser ke kanan satu kali dan hasil pergeseran tersebut menghasilkankey1. 3. Apabila Plainfile1 lebih besar dari pada Key1, maka akan dilakukan proses mod pada Plainfile1 terhadap Key1 dan kemudian Plainfile1 XOR Key1. Apabila Plainfile1 lebih kecil atau sama dengan Key1 maka proses yang akan dilakukan adalah XOR pada Plainfile1 terhadap Key1. 4. Hasil dari XOR Plainfile1 disebut Plainfile2. Plainfile2 kemudian dibinerkan dan digeser ke kiri, dan hasil pergeseran ini disebut Plainfile3. Sedangkan Key1 dibinerkan dan digeser ke kanan, hasil proses pergeeran ini disebuut Key2. Selanjutnya, Plainfile 3 dan Key2 digunakan untuk proses pemilihan, apakah Plainfile3 lebih besar dari Key2, apabila benar maka akan dilakukan proses Plainfile3 mod Key2 kemudian Plainfile3 XOR Key2. Apabila Plainfile3 lebih kecil atau sama dengan Key2 maka akan dilakukan proses Plainfile3 XOR Key2. 5. Hasil dari XORPlainfile3 disebut Plainfile4. Plainfile4 kemudian dibinerkan dan digeser ke kiri, dan hasil pergeseran ini disebut Plainfile5. Sedangkan Key2 dibinerkan dan digeser ke kanan, hasil proses pergeeran ini disebut Key3. Selanjutnya, Plainfile5 dan Key3 digunakan untuk proses pemilihan, 8

apakah Plainfile5 lebih besar dari Key3, apabila benar maka akan dilakukan proses Plainfile5 mod Key3 kemudian Plain File5 XOR Key3. Apabila Plainfile5 lebih kecil atau sama dengan Key3 maka akan dilakukan proses Plainfile5 XOR Key3. 6. Hasil dari XOR Plainfile5 disebut Plainfile6, kemudian Plainfile6 di mod 256 sehingga dihasilkan Cipherfile. Setelah melakukan proses enkripsi, perlu dilakukan proses dekripsi yaitu proses pengembalian file dalam bentuk file awal dan kunci awal. Dekripsi juga bertujuan sebagai proses yang digunakan sebagai tolok ukur keberhasilan proses enkripsi. Berikut ini merupakan langkah-langkah skema dekripsi file yang terdapat pada Gambar 5: 1. Menyiapkan Cipherfile hasil proses enkripsi. 2. Melakukan identifikasi ukuran file, apakah lebih dari 10 KB atau tidak. Apabila lebih dari 10KB, maka maka file akan diproses secara berkala, mulamula 10 KB terlebih dahulu kemudian buat file dekripsinya. Apabila file sisa hasil dekripsi berukuran lebih dari 10 KB maka proses dekripsi akan dilakukan kembali sampai sisa hasil dekripsi tidak ada lagi. Pembacaan ukuran sebesar 10 KB ini digunakan untuk memudahkan dalam proses dekripsi dengan tahapan per prosesnya 10 KB. 3. File hasil dekripsi ini kemudian dimasukkan dalam file hasil. Untuk penjelasan lebih lanjut dapat dilihat pada Gambar 5 : Start Chiper File Baca Ukuran File >10 KB T Buat File *_dekripsi Y Buat File *_dekripsi Dekripsi Semua File Baca Sebanyak 10 KB Memasukkan ke File Hasil Dekripsi Data yang Dibaca Memasukkan ke File Hasil Alokasi Memori Sebanyak Sisa T Sisa > 10 KB Y Selesai Gambar 5 Skema Pemrosesan File untuk Dekripsi Setelah mengetahui langkah-langkah dekripsi file, maka akan dilakukan proses dekripsi file seperti ditunjukkan pada Gambar 6 : 9

Chiper File Key Chiper File mod 256 Chiper File1 Chiper File1 XOR Key3 Chiper File2 Binerisasi Geser Kanan Chiper File3 Binerisasi Geser Kanan Key1 Binerisasi Geser Kanan Key2 Binerisasi Geser Kanan Chiper File3 > Key2 T Chiper File3 XOR Key2 Y Key3 Chiper File3 mod Key2 Chiper File4 Binerisasi Geser Kanan Chiper File5 Chiper File5 > Key1 Chiper File5 mod Key1 Chiper File5 XOR Key1 Chiper File6 Binerisasi Geser Kanan Plain File Gambar 6 Diagram Alir Proses Modifikasi OTP untuk Dekripsi File Berdasarkan Gambar 6, proses dekripsi file dapat dijabarkan sebagai berikut: 1. MenyiapkanCipherfile dan Key hasil proses enkripsi. 2. Cipherfile di mod 256, hasil proses ini disebut Cipherfile1. 3. Key dibinerkan dan digeser ke kanan 1 sehingga menghasilkan Key1, Key1 dibinerkan dan digeser ke kanan 1 sehingga menghasilkan Key2, dan Key2 dibinerkan dan digeser ke kanan 1 sehingga menghasilkan Key3. 4. Key 3 kemudian digunakan untuk melakukan proses XOR pada Cipherfile1, yaitu Cipherfile1 XOR Key3, sehingga dihasilkan Cipherfile2. 5. Cipherfile2 kemudian dibinerkan dan digeser 1 kali ke kanan sehingga menghasilkan Cipherfile3. 6. Apabila Cipherfile3 lebih besar dari Key2 maka Cipherfile3 mod Key2 dan kemudian di XOR kan yaitu Cipherfile3 XOR Key2 sehingga dihasilkan Cipherfile4. Apabila Cipherfile3 tidak lebih besar dari Key2 maka hanya akan dilakukan proses XOR saja. 7. Selanjutnya Cipherfile4 dibinerkan dan digeser ke kanan 1 kali sehingga dihasilakn Chiper File5. 8. Apabila Cipherfile5 lebih besar dari Key1 maka Cipherfile5 mod Key1 dan kemudian di XOR kan yaitu Cipherfile5 XOR Key1 sehingga dihasilkan Cipherfile6. Apabila Ciphefile5 tidak lebih besar dari Key1 maka hanya akan dilakukan proses XOR saja. 9. Selanjutnya Cipherfile6 dibinerkan dan digeser ke kanan 1 kali sehingga dihasilkan Plainfile. 4. Hasil dan Pembahasan Bagian ini membahas implementasi modifikasi algoritma OTP pada aplikasi 10

yang dibangun untuk melakukan enkripsi dan dekripsi data file bertipe txt, doc, docx. Proses modifikasi OTP yang pertama ialah melakukan proses enkripsi. Proses enkripsi ini terdiri dari tiga tahap. Untuk mengetahui tahapan dalam melakukan enkripsi dapat dilihat pada Gambar 15. Gambar 15 Modifikasi Enkripsi Algoritma OTP Gambar 15, plaintext dan key dibagi pada setiap blok-blok bit yang akan dijumlahkan. Plainteks digeser satu bit ke kiri dan Key digeser satu bit ke kanan dan menghasilkan P1 dan K1 untuk dijumlahkan. Hasil dari dari penjumlahan tersebut akan menghasilkan bilangan XOR pertama (P 2 ). K1 digeser ke kanan satu bit, dan hasil penggeseran digunakan untuk melakukan penjumlahan dengan P2 yang juga dilakukan penggeseran satu bit ke kiri. Hasil penjumlahan akan menghasilkan bilangan XOR kedua (P3). Kemudian K2 digeser ke kanan satu bit, dan hasil penggeseran digunakan untuk melakukan penjumlahan dengan P3 yang juga dilakukan penggeseran satu bit ke kiri. Hasil penjumlahan akan menghasilkan Cipherteks. Kode Program 1 Perintah untuk Proses Enkripsi Menggunakan Modifikasi Algoritma OTP 1. For loop_p2 = 1 To Len (plain2) 2. Bine2 = DecToBin (Asc(Mid(plain2, loop_p2, 1))) 3. Bins2 = shifting (bine2) 4. Cipherplain2 = cipherplain2 & Chr (BinToDec(bins2)) 5. Next 6. For loop_k2 = 1 To Len (cipherkey1) 7. Key2 = DecToBin(Asc(Mid(cipherkey1, loop_k2, 1))) 8. Keys2 = shifting2(key2) 9. Cipherkey2 = cipherkey2 & Chr (BinToDec (keys2)) 10. Next 11. Y = 0 12. For i = 1 To Len (cipherplain2) 13. C = i Mod Len (cipherkey2) 14. If y >c Then 15. Y = 1 16. Else 17. Y = y + 1 18. End if 19. Enkripsi = enkripsi & Chr (Asc(Mid(cipherplain2, i, 1)) Xor Asc(Mid(cipherkey2, y, 1)) Mod (256)) 20. Next Kode Program 1 menjelaskan proses enkripsi menggunakan algoritma OTP yang sudah dimodifikasi. Baris satu sampai dengan baris lima melakukan proses binerisasi (konversi desimal ke biner) dan melakukan bit shifting pada plainteks. Baris enam sampai dengan baris sepuluh melakukan proses binerisasi (konversi desimal ke biner) dan melakukan bit shifting pada kunci. Baris 11 sampai dengan 18 melakukan perulangan untuk membuat panjang kunci dengan panjang plainteks menjadi sama panjang. Baris 19 sampai dengan 20 melakukan proses enkripsi OTP. 11

Proses yang kedua modifikasi OTP ialah melakukan proses dekripsi. Proses dekripsi ini juga terdiri dari tiga tahap. Untuk mengetahui tahapan dalam melakukan dekripsi dapat dilihat pada Gambar 16. Gambar 16 Modifikasi Dekripsi Algoritma OTP Gambar 16, plaincipher dan key dibagi pada setiap blok bit yang akan dijumlahkan.key digeser 3 bit ke kanan dan menghasilkan K3 untuk di jumlahkan dengan plaincipher (C1). Hasil dari dari penjumlahan tersebut akan menghasilkan bilangan XOR pertama (C 2 ). K3 digeser ke kirisatu bit menjadi K2, dan hasil penggeseran digunakan untuk melakukan penjumlahan dengan C2 yang juga dilakukan penggeseran satu bit ke kanan. Hasil penjumlahan akan menghasilkan bilangan XOR kedua (C3). Kemudian K2 digeser ke kiri 1 bit, dan hasil penggeseran digunakan untuk melakukan penjumlahan dengan C3 yang juga dilakukan penggeseran satu bit ke kanan. Hasil penjumlahan akan menghasilkan C4, kemudian C4 digeser satu bit ke kanan untuk mengembalikan ke teks asli menjadi Plainteks. Kode Program 2 Perintah untuk Mengubah K1 Menjadi K3. 1. For loop_k2 = 1 To Len(plainkey1) 2. key2 = DecToBin(Asc(Mid(plainkey1, loop_k2, 1))) 3. keys2 = shifting2(key2) 4. plainkey2 = plainkey2 & Chr(BinToDec(keys2)) 5. Next Kode Program 2 menjelaskan proses untuk mengubah kunci yang diinputkan (K1) menjadi kunci akhir (K3). Baris satu sampai dengan baris dua melakukan perulangan dalam menghitung panjang karakter kunci yang kemudian diubah dari desimal ke biner. Baris tiga melakukan pergeseran biner (bit shifting). Baris empat melakukan proses mengubah biner kunci yang telah digeser menjadi desimal. Sebagai contoh mengubah kunci ke biner dan bit shifting, untuk kunci bri akan menghasilkan biner sebagai berikut : Kunci = b r i Ubah ke biner = 01100010 01110010 01101001 Geser 1 bit ke kiri = 11000100 11100100 11010010 Kunci baru = Ӓ ӓ ὸ Kode Program 3 Perintah untuk Menambah Jumlah Karakter Kunci agar Sama Panjang dengan Karakter Plainteks. 1. y = 0 2. For i = 1 To Len(chiper) 3. c = i Mod Len(plainkey2) 4. If y > c Then 5. y = 1 6. Else 7. y = y + 1 8. End If 9. plain1 = plain1 & Chr(Asc(Mid(chiper, i, 1)) Xor Asc(Mid(plainkey2, y, 1)) Mod (256)) 10. Next 12

Kode Program 3 menjelaskan tentang proses penambahan karakter kunci agar sama panjang dengan karakter plainteks. Baris satu sampai dengan baris delapan menjelaskan proses modulo plaincipher dengan kunci agar panjang karakter kunci bertambah menjadi sama banyaknyadengan jumlah karakter plaincipher.variabel y = 0 menjelaskan urutan proses pertama kali dijalankan, dimana i merupakan karakter dari plainteks dihitung dari urutan awal 1. Variabel c menjelaskan hasil modulo dari i urutan plainteks dengan panjang input kunci. Setelah dilakukan modulo, jika ditemukan y lebih kecil dari c, maka nilai yakan ditambah dengan 1, namun jika lebih besar dari c nilai y adalah 1. Nilai y digunakan untuk perbadingan pada proses berikutnya sampai urutan terakhir dari karakter plainteks. Baris sembilan sampai dengan baris sepuluh menjelaskan proses XOR plaincipher dengan kunci yang jumlah karakternya sama banyak dengan karakter plaincipher.sebagai contoh penambahan kunci (padding), untuk plainteks febryan dengan kata kunci bri, akan menghasilkan kunci baru sebagai berikut : Rumus : c = i Mod Len(plainkey2) dimana : c = hasil modulo i = nomor urut plainteks Len plainkey2 = panjang input kunci keseluruhan Yang mana diperoleh sebagai berikut : (1) y = 0 (2) y = 1 c = 1 mod 3 = 1; y < c c = 2 mod 3 = 2; y < c y = 0 + 1 = 1 y = 1 + 1 = 2 (3) y = 2 (4) y = 1 c = 3 mod 3 = 0; y > c c = 4 mod 3 = 1; y < c y = 1 y = 1 + 1 = 2 (5) y = 2 (6) y = 3 c = 5 mod 3 = 2; y = c c = 6 mod 3 = 0; y > c y = 2+1 = 3 y = 1 (7) y = 1 c = 7 mod 3 = 1; y < c y = 1 + 1 = 2 Hasil modulo diperoleh 1, 2, 1, 2, 3, 1, 2.Hasil modulo ini digunakan untuk nomor urut kunci yang diambil agar menjadi kunci baru, sehingga kunci baru yang diperoleh adalah b, r, b, r, i, b, r. 13

Kode Program 4 Perintah untuk Mengubah Plaincipher Menjadi Plainteks 1. For loop_c3 = 1 To Len(dekrip1) 2. bine3 = DecToBin(Asc(Mid(dekrip1, loop_c3, 1))) 3. bins3 = shifting2(bine3) 4. dekripsi = dekripsi & Chr(BinToDec(bins3)) 5. Next 6. decrypt = dekripsi 7. End Function Kode Program 4 menjelaskan tentang proses mengubah plaincipher menjadi plainteks asli. Baris satu sampai dengan baris lima menjelaskan tentang proses perubahan dari desimal ke biner, melakukan pergeseran biner (bit shifting) kemudian melakukan proses perubahan dari biner ke desimal dan disimpan. Baris enam sampai dengan baris tujuh menjelaskan tentang proses mencetak hasil dekripsi yang kemudian file tersebut bisa digunakan. Penjelasan terkait coding di atas menunjukkan bahwa proses modifikasi dapat melakukan proses enkripsi dan dekripsi. Kedua proses di atas yaitu enkripsi dan dekripsi baru memenuhi dua syarat dari lima syarat yang harus dipenuhi sebagai sebuah sistem kriptografi. Oleh karena itu berikut ditunjukkan pembuktian terkait limatuple yang harus dipenuhi. P adalah himpunan berhingga dari plainteks. Dalam modifikasi OTP menggunakan 256 karakter maka himpunan plainteks pada modifikasi OTP adalah himpunan berhingga [9].C adalah himpunan berhingga dari cipherteks. Cipherteks dihasilkan dalam bentuk simbol. Sehingga cipherteks modifikasi OTP adalah himpunan berhingga.k merupakan ruang kunci (keyspace),adalah himpunan berhingga dari kunci. Kunci tambahan dalam modifikasi OTP adalah fungsi rasional dan konversi basis bilangan yang juga himpunan berhingga. Untuk setiap terdapat aturan enkripsi dan berkorespodensi dengan aturan dekripsi. setiap dan adalah fungsi sedemikian hingga ( ) = x untuk setiap plaintext. Kondisi keempat ini, terdapat kunci yang dapat dijumlahkan untuk melakukan proses enkripsi sehingga merubah plainteks menjadi cipherteks. Dan dapat dijumlahkan untuk melakukan proses dekripsi yang merubah cipherteks ke plainteks. Karena memenuhi kelima kondisi maka modifikasi pada OTP merupakan sebuah sistem kriptografi. Untuk menguji algoritma modifikasi OTP dilakukan pengujian terhadap enkripsi dan dekripsi yang diimplementasikan pada file. Percobaan berikut ini digunakan file dengan format.txt yang berukuran 11kB, key yang digunakan yaitu FTI. Isi file dapat dilihat pada Gambar 7 : Gambar 7 Isi File TES.txt 14

Implementasi modifikasi algoritma OTP dan Bit Shiftingyang telah dilakukan, dijelaskan sebagai berikut: Gambar 8 Tampilan Awal Aplikasi Kriptografi Gambar 8 merupakan tampilan proses enkripsi dan dekripsi file data untuk mengamankan file. Pada bagian atas yaitu menu untuk enkripsi file data yang terdiri dari sub menu browse plain file untuk memilih file yang akan dienkripsi, sub menu input key untuk memberikan kunci pada file sebelum dilakukan proses enkripsi dan sub menu extention untuk memberikan pilihan ekstensi setelah proses enkripsi selesai. Pada bagian bawah terdapat menu untuk melakukan dekripsi file data yang sub menunya hampir mirip dengan sub menu pada enkripsi. Perbedaannya adalah pada sub menu browse cipherfile untuk mengambil file enkripsi yang sebelumnya telah diproses kemudian pada sub menu input key untuk memberikan kunci pada cipherfile sebelumnya. Kunci yang diinputkan harus sesuai dengan kunci pada enkripsi sebelumnya dan pada bagian sub menu terakhir ada extention yaitu untuk memberikan ekstensi setelah terjadi proses dekripsi tersebut. Gambar 9merupakan tampilan untuk melakukan enkripsi file dengan nama TES.txt dan kunci FTI. Gambar 9 Proses Enkripsi File.txt Gambar 10Waktu yang Digunakan pada Proses Enkripsi File.txt 15

Gambar 10 merupakan tampilan aplikasi yang menunjukkan waktu yang diperlukan untuk melakukan proses enkripsi file.dalam hal ini TES.txt dan kunci FTI dengan ukuan file sebesar 11kB memerlukan waktu untuk enkripsi selama 0.6227 detik. Gambar 11 Hasil Enkripi File Gambar 11 merupakan isi filetes.txt_enkripsi hasil dari proses enkripsi menggunakan modifikasi algoritma One Time Pad. Gambar 11 menunjukkan bahwa proses enkripsi berhasil dilakukan dengan menampilkan hasil enkripsi berupa file yang berisi data acak yang berbeda dengan teks asli. Setelah melakukan proses enkripsi, maka perlu dilakukan proses dekripsi untuk mengetahui keutuhan dan keaslian dari isi file. Implementasi modifikasi algoritma One Time Pad untuk melakukan dekripsi file dapat dilihat pada Gambar 12. Proses dekripsi dilakukan dengan menggunakan file dengan nama TES.txt_Enkripsi dan juga menggunakan kunci "FTI"untuk menghasilkan data file seperti plainteks asli sebelum dienkripsi. Gambar 12 Proses Dekripsi File.txt Gambar 12 merupakan tampilan aplikasi yang menunjukkan proses dekripsi file dari TES.txt_Enkripsi.txt dan kunci FTI dengan ukuran sebesar 11 KB. Dekripsi dapat dikatakan berhasil apabila proses pemecahan file awal dan kunci dapat dilakukan dengan sempurna, yaitu file awal TES.txt_Enkripsi.txt dalam kembali ke keadaan semula, dimana data dan ukuran file tidak berubah. 16

Gambar 13 Waktu yang Digunakan pada Proses Dekripsi File.txt Gambar 13 menunjukkan waktu untuk melakukan proses dekripsi. Jika dibandingkan dengan proses enkripsi seperti pada Gambar 10, waktu untuk melakukan proses dekripsi lebih cepat. Gambar 14 Isi File TES.txt_Enkripsi.txt_Dekripsi Hasil Proses Dekripsi Gambar 14 menunjukkan bahwa proses dekripsi berjalan dengan baik dan tidak error, karena isi file hasil enkripsi saat dilakukan proses dekripsi kembali ke bentuk semula seperti file TES.txt yang belum dienkripsi.sedangkan untuk mengetahui integritas data saat melalui jaringan internet. Maka dilakukan percobaan pengiriman file yang telah dienkripsi menggunakan layanan email.proses pengiriman email dapat dilihat pada Gambar 17. Gambar 17 Menjelaskan Proses Pengiriman File melalui Email Pada penelitian ini dilakukan juga perbandingan antara OTP standar dengan modifikasi OTP dalam melakukan proses enkripsi dan dekripsi terhadap file bertipe.txt,.docx, dan.pdf. Perbandingan dilakukan dengan melihat lama waktu 17

melakukan enkripsi dan dekripsi terhadap ukuran file yang dapat dilihat pada Gambar 19 sampai Gambar 24. 80 80 60 60 40 40 20 20 0 53 287 408 752 1120 1580 1768 2351 OTP MOTP 0 53 287 408 752 1120 1580 1768 2351 OTP MOTP Gambar 19 Waktu Enkripsi File.docx Gambar 20 Waktu Dekripsi File.docx Gambar 19 dan Gambar 20 menunjukkan perbandingan waktu melakukan enkripsi file.docx dengan ukuran file dalam kilobyte. Dimana modifikasi OTP sedikit lebih lama dalam melakukan enkripsi dan dekripsi. Hal ini dikarenakan proses enkripsi dan dekripsi pada modifikasi OTP dilakukan tiga kali proses dimana dalam tiap-tiap proses dilakukan binerisasi, pergeseran bit (bit shifting), dan juga padding kunci agar karakter kunci bertambah sama panjang dengan karakter plainteks. 80 60 60 40 40 20 20 0 97 284 462 833 1029 1370 1505 2114 OTP MOTP 0 97 284 462 833 1029 1370 1505 2114 OTP MOTP Gambar 21 Waktu Enkripsi File.pdf Gambar 22 Waktu Dekripsi File.pdf 80 Gambar 21 dan Gambar 22 menunjukkan perbandingan waktu melakukan enkripsi dan dekripsi file.pdf dengan ukuran file dalam kilobyte. Dimana modifikasi OTP sedikit lebih lama dalam melakukan enkripsi dan dekripsi. Hal ini sama seperti penjelasan pada Gambar 19 dan Gambar 20. 80 60 60 40 40 20 20 0 62 251 453 784 1351 1506 1811 2420 OTP MOTP 0 62 251 453 784 1351 1506 1811 2420 OTP MOTP Gambar 23 Waktu Enkripsi File.txt Gambar 24 Waktu Dekripsi File.txt 18

Gambar 23 dan Gambar 24 menunjukkan perbandingan waktu melakukan enkripsi dan dekripsi file.txt dengan ukuran file dalam kilobyte. Dimana modifikasi OTP sedikit lebih lama dalam melakukan enkripsi dan dekripsi. Hal ini sama seperti penjelasan pada Gambar 19 dan Gambar 20. Proses pengujian yang telah dilakukan membuktikan bahwa modifikasi algoritma OTP sudah memenuhi tujuan kriptografi, sehingga diperoleh hasil sebagai berikut [9]: 1. Kerahasiaan data, pada penelitian ini modifikasi OTP sudah memenuhi kerahasiaan data. Setiap data dienkripsi menggunakan modifikasi OTP sehingga data dapat diubah menjadi sebuah chipertext yang tidak dapat dikenali. 2. Integritas data, dalam penelitian ini modifikasi OTP sudah memenuhi integritas data. File hasil melakukan proses enkripsi dikirim melalui email, dan ketikadidownload, ukuran file tidak berubah. Ketika Proses dekripsi dilakukan menghasilkan data file yang sama dengan file asli. 3. Autentikasi, dalam penelitian ini aplikasi yang dibuat sudah memenuhi autentikasi data. Melalui pengiriman email, pengirim dan penerima saling bertukar data file. Dan data yang dikirim dikatakan valid atau tidak valid, ketika penerima data mendapatkan isi data yang dikirim berbeda dari data yang telah disepakati bersama. Data yang sudah berbeda isi tersebut kemungkinan telah diubah oleh orang yang tidak berhak. 4. Non-repudiasi atau nir penyangkalan, dalam penelitian ini modifikasi OTP telah memenuhi kriteria dimana pengirim merupakan pengirim yang sah dan telah melakukan pengiriman data melalui email kepada penerima yang berhak. 5. Simpulan Hasil dari penelitian ini adalah teknik kriptografi yang dapat diaplikasikan pada pengamanan file berbasis teks, di mana algoritma One Time Pad telah dimodifikasi dengan menambahkan proses baik dalam enkripsi maupun dekripsi, dan melakukan generate pada kunci serta melakukan binerisasi dan bitshifting, sehingga dalam implementasi OTP tidak perlu input kunci dalam jumlah yang besar (sebanyak karakter teks di dalam file). Dalam penelitian ini algoritma OTP yang telah dimodifikasi juga telah memenuhi tujuan kriptografi terhadap kerahasiaan data, dan integritas data, serta telah memenuhi sistem kriptografi berdasarkan lima tuple yang ada. 6. Daftar Pustaka [1] Munir, R.,2006,Kriptografi,Bandung: Informatika. [2] I. R. Widiasari, Combining Advanced Encryption Standard (AES) and One Time Pad (OTP) Encryption for Data Security, International Journal of Computer Applications, vol. 57, no. 20, pp. 1-8, 2012. [3] S. P. Agustanti, Pengamanan Kunci Enkripsi One Time Pad (OTP) Menggunakan Enkripsi RSA, Jurnal Media Teknik, vol. 7, no. 1, pp. 95-100, 2010. 19

[4] Menezes, Alfred J., van Oorschot, Paul C., dan Vanstone, Scott A., 1997, Handbook of Applied Cryptography, Florida: CRC Press. [5] Kromodimoeljo, S., 2010,Teori dan Aplikasi Kriptografi, Jakarta : SPK IT Consulting. [6] Stinson, D.R., 1995, Cryptography Theory and Practice, Florida: CRC Press, Inc. [7] Janssen, Cory, 2010, Bit Shifting, http://www.techopedia.com/definition/26846/bit-shifting 8 Januari 2014, 04.00 pm. [8] Hasibuan, Zainal., 2007,Metodologi Penelitian Pada Bidang Ilmu Komputer Dan Teknologi Informasi, Jakarta: Ilmu Komputer Universitas Indonesia. [9] Wowor, A.D., 2013, Modifikasi Kriptografi Hill Cipher Menggunakan Convert Between Base, Seminar Nasional Sistem Informasi Indonesia (SESINDO) 2-4 desember, Bali: Institut Teknologi Sepuluh November. Indonesia. 20