• Tidak ada hasil yang ditemukan

T1 672009015 Full text

N/A
N/A
Protected

Academic year: 2017

Membagikan "T1 672009015 Full text"

Copied!
23
0
0

Teks penuh

(1)

Modifikasi Kriptografi

One Time Pad

(

OTP

)

Menggunakan

Padding

Dinamis dalam Pengamanan

Data

File

Artikel Ilmiah

Peneliti:

Arie Eko Tinikar (672009015) M. A. Ineke Pakereng, M.Kom. Alz Danny Wowor, S.Si., M.Cs.

Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana

(2)

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

Peneliti:

Arie Eko Tinikar (672009015) M. A. Ineke Pakereng, M.Kom. Alz Danny Wowor, S.Si., M.Cs.

Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana

(3)
(4)
(5)
(6)
(7)
(8)
(9)

_______________________________________________________________________________________________________________________________ 1)Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi Universitas Kristen Satya

Wacana, Salatiga.

2)

Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana, Salatiga.

3)

Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana, Salatiga.

Modifikasi Kriptografi

One Time Pad

(

OTP

)

Menggunakan

Padding

Dinamis dalam Pengamanan

Data

File

1)

Arie Eko T 2)M. A. Ineke Pakereng 3)Alz Danny Wowor Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Jl. Diponegoro 52 – 60, Salatiga 50711, Indonesia Email : 1) [email protected]

2)

[email protected], 3)[email protected]

Abstract

Properties of symmetric cryptography One Time Pad (OTP), which requires the number of characters key must be a plaintext character along its own weaknesses in its application to relatively large files. Application of padding is needed as one of the solutions that can be used in a symmetric cryptographic processing relatively large files. In this study has developed a padding character that maximize the use of the American Standard Code for Information Interchange (ASCII) as the key generated from the key input is done.

Keywords : Information Security, One Time Pad(OTP), Modified Padding,American Standard Code for Information Interchange (ASCII)

Abstrak

Sifat kriptografi simetris One Time Pad(OTP) yang mewajibkan jumlah karakter key harus sepanjang karakter plaintext menjadi suatu kelemahan tersendiri dalam penerapannya pada file yang relatif besar. Penerapan padding diperlukan sebagai salah satu solusi agar kriptografi simetris dapat digunakan dalam pemrosesan file yang relatif besar. Dalam penelitian ini telah dikembangkan sebuah padding yang memaksimalkan penggunaan karakter American Standard Code for Information Interchange (ASCII) sebagai key yang dibangkitkan dari inputan key yang dilakukan.

(10)

Pendahuluan

Sifat kriptografi simetris One Time Pad(OTP) yang mewajibkan jumlah karakter key harus sepanjang karakter plaintext menjadi suatu kekurangan tersendiri dalam penerapannya pada file yang relatif besar. Penerapan padding diperlukan sebagai salah satu solusi agar kriptografi simetris dapat digunakan dalam pemrosesan file yang relatif besar. Dalam penelitian ini telah dikembangkan sebuah padding yang memaksimalkan penggunaan karakter American Standard Code for Information Interchange (ASCII) sebagai key yang dibangkitkan dari inputan key yang dilakukan.

Algoritma OTP sendiri merupakan salah satu kriptografi klasik bersifat simetris yang difungsikan dalam pengamanan informasi dalam berbentuk teks. Penggunaan OTP biasa digunakan untuk mengamankan pesan singkat rahasia yang terdiri hanya beberapa kata atau karakter dengan panjang kunci yang digunakan sama panjang dengan panjang karakter yang akan dienkripsi. Keterbatasan yang diakibatkan sifat OTP yang simetris membuatnya sulit digunakan dalam pengamanan file dalam jumlah besar. Salah satu cara untuk membantu penggunaan OTP dalam pengamanan file yang besar dengan hanya menginputkan beberapa karakter sebagai key adalah mengaplikasikan padding untuk menyamakan panjang karakter key dengan file yang akan dienkripsi.

Penelitian sebelumnya telah dilakukan modifikasi implementasi padding pada algoritma OTP untuk memperpanjang kunci dengan cara mengundi pengulangan keluaran karakter key dengan melakukan modulus sejumlah key pada file text [1]. Hasil penelitian ini menghasilkan padding dengan karakter key yang akan dikeluarkan berulang secara acak sesuai hasil undian dari hasil modulus pada urutan karakter file yang akan dienkripsi. Pada modifikasi tersebut jenis karakter yang digunakan hanya sesuai yang diinputkan, sehingga pada modifikasi tersebut dilakukan pemanjangan kunci sesuai panjang file dengan keterbatasan macam karakter hanya sebanyak yang telah diinputkan.

Penelitian ini akan dilakukan teknik untuk mengembangkan bagaimana sebuah padding yang dilakukan bukan hanya menggandakan key dan merubah polanya, namun juga melibatkan karakter yang terdapat pada American Standard Code for Information Interchange (ASCII) dengan pola mengunakan key yang telah diinputkan. Maka key yang dihasilkan dapat menggunakan beragam karakter yang terdapat pada ASCII dengan menggunakan karakter key yang diinputkan sebagai awalan dan urutan dari ASCII yang akan dikeluarkan.

1. Tinjauan Pustaka

(11)

3

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. Pada 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 [2].

Penelitian yang lain dengan judul “Implementasi Modifikasi Kriptografi One Time Pad (OTP) untuk Pengamanan Data File”, membahas modifikasi algoritma OTP pada penyamaan panjang kunci dengan memberikan undian urutan keluar pada tiap karakter kunci. Undian tersebut adalah hasil dari modulo urutan karakter pada plainteks, membuat karakter kunci dikeluarkan dengan urutan pengulangan karakter secara acak [1]. Berdasarkan penelitian terdahulu maka dilakukan penelitian untuk memodifikasi OTP dengan melakukan implementasi padding yang berfungsi untuk menambahkan karakter key dengan ASCII menggunakan karakter key yang ada sebagai awalan. Pada tabel 1 dapat dilihat apa yang telah dikembangkan pada penelitian sebelumnya dan yang telah dikembangkan lagi pada penelitian ini.

Tabel 1 Modifikasi yang Dilakukan

Penelitian Sebelumnya Penelitian ini Farian karakter key terbatas pada

inputan.

Farian karakter key lebih maksimal dengan memanfaatkan ASCII. Key yang digunakan hasil dari

pengundian inputan karakter key.

Karakter key inputan menjadi pola awalan ASCII yang kemudian

berfungsi sebagai key.

Padding dapat diartikan sebagai bantalan atau lapisan, berfungsi sebagai sisipan atau mengisi ruang kosong. Dalam penyimpanan, pengiriman atau pemrosesan file disisipkan beberapa blok data untuk memenuhi ukuran minimum, untuk memaksa bidang-bidang tertentu dari data kontrol atau data pengguna ke posisi ukuran tertentu, atau untuk mencegah dari penduplikasian pola bit yang memiliki arti kontrol tertentu[3].

Kriptografi secara umum merupakan ilmu dan seni untuk menjaga kerahasiaan berita [4]. Kriptografi (cryptography) berasal dari Bahasa Yunani dan terdiri dari dua suku kata, yaitu cryptos yang artinya rahasia (secret) dan writting yang artinya tulisan. Kriptografi kadang diartikan sebagai ilmu dan seni untuk menjaga keamanan pesan. Pengertian yang lain, kriptografi merupakan ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, otentikasi data [5]. William Stallings mendefinisikan kriptografi sebagai

“the art and science of keeping messages secure”.

(12)

pertama kali diperkenalkan oleh Gilbert Vernam dalam perang dunia pertama, metode penyandian OTP merupakan salah satu variasi dari metode penyandian substitusi dengan cara memberikan syarat-syarat khusus terhadap kunci yang digunakan yaitu terbuat dari karakter/huruf yang acak (kunci acak atau pad), dan pengacakannya tidak menggunakan rumus tertentu. Jika kunci tersebut benar-benar acak, digunakan hanya sekali, serta terjaga kerahasiannya dengan baik, maka metode penyandian OTP ini sangat kuat dan tidak dapat dipecahkan [7]. Algoritma ini merupakan algoritma berjenis symmetric key yang artinya bahwa kunci yang digunakan untuk melakukan enkripsi dan dekripsi merupakan kunci yang sama. Dalam proses enkripsi, algoritma ini menggunakan cara One Time Pad, dimana cipher berasal dari hasil XOR antara bit plaintext dan bit key [8]. Berikut adalah rumusan OTP original:

ci = ( pi+ki ) mod 26 (1)

Dimana:

pi = karakter plainteks

ki = karakter kunci

ci = karakter ciphrtteks

American Standard Code for Information Interchange (ASCII) merupakan kode standar Amerika untuk pertukaran informasi yang akhirnya menjadi standar internasional yang masih dipakai sampai sekarang. Kode-kode tersebut diwujudkan dalam huruf dan simbol yang biasanya digunakan dalam komputer untuk menunjukkan teks. Kode ASCII memiliki komposisi bilangan biner sebanyak 7 bit namun disimpan sebagai sandi 8 bit yang ditambahkan satu angka 0 sebagai signifikan paling tinggi.

2. Metode Penelitian

Perancangan modifikasi padding yang diimplementasikan pada OTP dilakukan dengan tahapan yang ditunjukkan pada Gambar 1.

Gambar 1 Tahap Penelitian

Analisa Kebutuhan

Pengumpulan Data

Perancangan Modifikasi dan Pembuatan Program

Evaluasi

(13)

5

Berdasarkan Gambar 1 terdapat lima tahap dalam penelitian yang akan dijelaskan sebagai berikut. Tahap pertama: Analisa kebutuhan, tahap analisa kebutuhan yaitu, melakukan analisa mengenai kebutuhan apa saja yang dibutuhkan dalam perancangan modifikasi ini, dan analisa bagaimana karakter OTP itu sendiri. Tahap kedua: pengumpulan data, dalam tahapan ini dilakukan pengumpulan terhadap data dari jurnal-jurnal terkait, buku, serta sumber mengenai pembahasan terkait penelitian tersebut. Tahap ketiga: Perancangan modifikasi dan Pembuatan Program perancangan modifikasi yang meliputi pembuatan flowchart untuk pengambilan keputusan, serta melakukan analisa-analisa hasil yang dapat diambil dari modifikasi yang telah dilakukan. Tahap keempat: Melakukan implementasi modifikasi ke dalam program, evaluasi terhadap keseluruhan perancangan dan modifikasi yang telah dibuat, apakah sudah berjalan dengan semestinya, jika belum maka dilakukan perbaikan-perbaikan yang diperlukan. Tahap kelima: Penulisan laporan 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. Pada masing-masing proses tersebut harus menyiapkan data(file) dan kunci(key). Secara umum proses enkripsi dapat dilihat pada Gambar 2 dan dekripsi pada Gambar 3.

Gambar 2 Skema Pemrosesan File untuk Enkripsi Secara Umum

(14)

Proses enkripsi-dekripsi diawali dengan memilih plaintext untuk enkripsi dan ciphertext untuk dekripsi dan menginputkan key. Kemudian key akan dipisahkan perkarakter, kemudian dilakukan pembacaan panjang plaintext/ciphertext. Selanjutnya key akan diproses dengan penyamaan yang akan berulang sebanyak panjang plaintext/ciphertext untuk menghasilkan key yang sama panjang dengan plaintext/ciphertext.

Gambar 3 Skema Pemrosesan File untuk Dekripsi Secara Umum

Penelitian ini melakukan proses padding ini memerlukan beberapa tahap yang harus dilakukan agar dapat dilaksanakan. Tahapan yang dibutuhkan sebagai berikut:

a. Menyiapkan plaintext yang dikonversi ke kode ASCII

p = {a1, a2, a3,..., an} (2)

b. Menyiapkan key

Yang akan dipisahkan dan dikonversi ke kode ASCII dan kemudian akan dijadikan sebagai patokan awalan pada proses padding.

j = {b1, b2, b3..., bm } (3)

setiap j yang dimasukkan akan dipisah sesuai urutan yang nantinya tiap j akan ditambahkan dengan diproses sebanyak i.

START

Pilih file(ciphertext)

Input kunci(key)

ciphertext XOR cipherkey

plaintext

END

Penambahan ASCII perkarakter

(15)

7 c. Persamaan pertama

Panjang ASCII (i) yang ditambahkan pada tiap karakter key.

i ={ c1, c2, c3..., c255 } (4)

d. Menyiapkan fungsi penambahan karakter

Digunakan sebagai fungsi utama untuk membangkitkan key sebagai penambahaan karakter.

pa = jb + i (5)

e. Menyiapkan fungsi pembatasan Jika pa ≤255 = pa

Jika pa >255 = pa –256 (6)

Gambar 4 Skema Padding yang Dilakukan

Pada Gambar 4 ditunjukkan bagaimana jalannya proses pembacaan dan penambahan karakter berlangsung. Setelah tahap persiapan selesai, maka proses pengecekan dan padding akan dijelaskan sebagai berikut:

1) Pertama adalah memilih plaintext yang akan diproses, kemudian dibaca berapa panjang karakternya.

p ={ a1, a2, a3,..., an} (7) START

Memisahkan karakter key

Mengambil karakter plainkey

Penambahan ASCII perkarakter

pa = jb + i

Cipherkey

END

(16)

2) Inputkan key yang masing-masing akan dikonversi menjadi kode ASCII dan dipisahkan sesuai urutan inputan.

j ={ b1, b2, b3..., bm} (8)

3) Menggunakan fungsi Persamaan karakter dengan tiap satu karakter key yang akan diproses sebanyak i dan akan dilakukan bergilir pada karakter berikutnya sesuai urutan inputan.

pa = jb + i (9)

Fungsi ini akan berjalan total sebanyak f untuk menghasilkan cipherkey dengan karakter sebanyak f.

4) Jika hasil dari pa = jb + i lebih besar dari 255, maka hasilnya akan di

kurangi dengan 256 agar hasil yang didapat tidak melebihi batasan pada ASCII.

3. Hasil dan Pembahasan

Algoritma OTP yang telah dimodifikasi dengan penambahan padding, dilakukan pengujian terhadap enkripsi dan dekripsi yang diimplementasikan pada file. Percobaan berikut ini digunakan file dengan format .txt yang berukuran 362 KB, key yang digunakan yaitu “FTI”. Isi file dapat dilihat pada Gambar 5.

Gambar 5 Isi File uji.doc

(17)

9

Gambar 6 Waktu yang Dibutuhkan Enkripsi

Pada Gambar 7 dapat terlihat hasil enkripsinya pada tiga halaman pertama yang tidak dapat terbaca dan tiap halaman hanya menampilkan beberapa karakter saja.

Gambar 7 Isi Ciphertext Hasil Enkripsi

(18)

Gambar 8 Waktu yang Dibutuhkan Dekripsi

Gambar 9 File Hasil Dekripsi

Sebagai contoh akan melakukan paddingpada nama “Arie Eko Tinikar.” sebagai file yang terdiri atas 17 karakter, dan “fti” berfungsi sebagai key yang terdiri atas 3 karakter yang akan ditunjukan sebagai berikut.

file = Arie Eko Tinikar. key = fti

Pertama dilakukan pemisahan pada masing-masing karakter key dengan pengambilan sesuai masukan inputan key yang ditunjukan pada Tabel 2.

Tabel 2 Pemisahan Key

Karakter F T I

Urutan masukan file

(19)

11

Kemudian dilakukan pembacaan pada panjang ciphertext untuk menentukan berapa kali fungsi akan dijalankan untuk menyamakan hasil panjang plainkey.

Tabel 3 KarakterPanjang File

A r i E E k o T i n i k a r . 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Diambil karakter key sesuai urutan inputan, dimulai dari karakter “ f “ dan ditambahkan kode ASCII. Penambahan dilakukan dengan awalan karakter key yang telah diambil terlebih dahulu dengan kode ASCII f adalah 102 maka akan ditambahkan dan dihasilkan karakter baru sebanyak 255 seperti yang ditunjukan pada Tabel 4. Jika hasil dari penambahan kode lebih dari 255 maka akan dikurangi 256 agar kode yang dihasilkan masih dalam ketentuan ASCII yaitu mulai dari 0 sampai dengan 255.

Tabel 4 Proses Penambahan

f = 102 Penambahan

(20)

Gambar 10 Contoh Penambahan ASCII Secara Penuh

Karena proses dilakukan sebanyak karakter yang dimiliki oleh ciphertext, maka proses akan terhenti secara otomatis setelah karakter yang dihasilkan sudah sejumlah karakter pada ciphertext, seperti yang ditunjukan pada Tabel 5.

Tabel 5 Tabel Hasil Padding

A R i e E k o T i n i k a r . f G h i j k l m n o p q r s t u v

(21)

13

Gambar 11 Diagram Perbandingan Waktu Enkripsi

Berdasarkan Gambar 11 menunjukan perbandingan kecepatan proses enkripsi. Pada Tabel 6 dapat dilihat perbedaan rasio perbandingan dari hasil pada pemrosesan sepuluh file yang mempunyai beban isi yang berbeda. Nilai rasio ditentukan oleh selisih waktu yang dibutuhkan dalam satuan detik yang dibutuhkan tiap beban file, dan selisih memori beban file dalam satuan KB. Berikut sebagai contoh perhitungan rasio pada data pertama.

beban file = 127 KB waktu = 5,368 second 5,368

127 = 0,0422

Tabel 6 Nilai Rasio pada Proses Enkripsi

Beban file ModifikasiBaru ModifikasiLama

(22)

Gambar 12 Diagram Perbandingan Dekripsi

Pada Gambar 12 dapat dilihat perbedaan waktu dari hasil pada pemrosesan deskripsi sepuluh file yang mempunyai beban yang berbeda. Pada Tabel 7 dapat dilihat detail rasio pada tiap beban data yang diujikan pada proses dekripsi. Nilai rasio ditentukan oleh selisih waktu yang dibutuhkan dalam satuan detik yang dibutuhkan tiap beban file, dan selisih memori beban file dalam satuan KB. Berikut sebagai contoh perhitungan rasio pada data

Tabel 7 Nilai Rasio pada Proses Dekripsi

Beban file ModifikasiBaru Modifikasi Lama

(23)

15

Perbandingan waktu dekripsi pada modifikasi yang lama lebih cepat, selisih waktu ini diakibatkan karena adanya perbedaan proses pembangkitan kunci yang dilakukan. Pada padding yang dikembangkan sebelumnya membangkitkan key terbatas pada inputan jenis karakter key yang berjumlah sesuai inputan user tanpa harus memanggil karakter lain di luar inputan, sedangkan pada penelitian ini key yang dibangkitkan menggunakan seluruh karakter pada ASCII yang membuat tiap karakkter key melakukan penambahan dan pembacaan sebanyak 255 kali agar dapat memenuhi 256 karakter, sehingga membuat kinerja proses sedikit lebih berat dari yang sebelumnya.

4. Simpulan

Modifikasi padding yang diimplementasikan pada kriptografi OTP dengan menggunakan ASCII sebagai sisipan pada kunci untuk menyamakan panjang key dan ciphertext telah mampu menghasilkan farian key yang maksimal digunakan dalam proses enkripsi-dekripsi file berukuran besar. Inputan karakter key digunakan sebagai pola keluaran ASCII. Selisih waktu yang dihasilkan dari hasil proses enkripsi-dekripsi pada perbandingan kecepatan proses menunjukan bahwa proses sedikit lebih lama dibandingkan dengan penelitian sebelumnya, hal ini diakibatkan adanya perbedaan proses pembacaan dan pemanggilan pada pembangkitan kunci.

5. Daftar Pustaka

[1] Febryan C.W. 2014. Implementasi Modifikasi Kriptografi One Time Pad (OTP) untuk Pengamanan Data File. Salatiga: Skripsi S1 Universitas Kristen Satyawacana.

[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] Bernadette, S. 2006. Webster's New World Hacker Dictionary. Santa Barbara, California:ABC-CLIO.

[4] Schneier, Bruce, 1996, Applied Cryptography, Second Edition, New York: John Wiley and Sons.

[5] Menezes, Alfred J., van Oorschot, Paul C., dan Vanstone, Scott A., 1997, Handbook of Applied Cryptography, Florida: CRC Press.

[6] S. P. Agustanti, “PENGAMANAN KUNCI ENKRIPSI ONE-TIME

PAD (OTP) MENGGUNAKAN ENKRIPSI RSA,” Jurnal Media Teknik, vol. 7, no. 1, pp. 95-100, 2010.

[7] N. Nagaraj, “One-Time Pad as a nonlinear dynamical system,” Communications in Nonlinear Science and Numerical Simulation, vol. 17, no. 11, pp. 4029-4036, Nov. 2012.

Gambar

Gambar 1 Tahap Penelitian
Gambar 2 Skema Pemrosesan File untuk Enkripsi Secara Umum
Gambar 3 Skema Pemrosesan File untuk Dekripsi Secara Umum
Gambar 4 Skema Padding yang Dilakukan
+7

Referensi

Dokumen terkait

Berdasarkan latar belakang di atas, yang menjadi tujuan dalam penelitian ini adalah untuk Mengetahui Hubungan Antara Penanaman Nilai Kedisiplinan Terhadap Hasil Belajar PKn

Pada gambar 9 yang menunjukkan grafik hubungan penyerapan energi spesifik terhadap sudut tirus, dapat dilihat bahwa seiring meningkatnya sudut tirus maka penyerapan energi

Dalam Pasal 358 KUHP, jika ada orang yang mengalami luka berat, maka semua mereka yang turut serta dalam penyerangan atau perkelahian tersebut diancam dengan pidana

Dalam jual beli tersebut pemindahan hak atas tanah yang bersangkutan sengaja dialihkan kepada pihak lain dan pemindahan hak tersebut dilakukan pada waktu pemegang

Metode bukan suatu tujuan, melainkan suatu cara untuk mencapai tujuan dengan sebaik-baiknya, dapat dipahami bahwa tujuan yang hendak dicapai dalam setiap kegiatan

Data-data tersebut meliputi RAB, laporan mingguan, progress report, dan time schedule.Metode yang digunakan untuk menganalisis adalah metode nilai hasil (Earned Value

Penelitian ini bertujuan untuk menjelaskan keterampilan mengajar guru dalam pembelajaran Ilmu Pengetahuan Sosial siswa kelas V SD 2 Mlatinorowito dan peningkatan hasil

Besarnya kendalan sistem dapat dilihat dari nilai LOLP ( Loss of Load Probability ) dari sistem yang bersangkutan, nilai LOLP dinyatakan dalam besaran hari per