• Tidak ada hasil yang ditemukan

Kriptografi Menggunakan Hybrid Cryptosystem dan Digital Signature

N/A
N/A
Protected

Academic year: 2018

Membagikan "Kriptografi Menggunakan Hybrid Cryptosystem dan Digital Signature"

Copied!
12
0
0

Teks penuh

(1)

JCCS Vol. x, No. x, July201x : first_page–end_page

Kriptografi Menggunakan

Hybrid Cryptosystem

dan

Digital Signature

Halim Agung*1, Ferry2

1,2Universitas Bunda Mulia; Jl. Lodan Raya No.2, 021-6909090 1,2Jurusan Teknik Informatika, Fakultas Teknik dan Desain, Jakarta

e-mail: *1hagung@bundamulia.com

Abstrak

Keamanan informasi pada saat ini menjadi lebih mudah untuk disalahgunakan oleh pihak lain ketika informasi itu dikirim dan disimpan. Untuk menanggulangi masalah tersebut maka dilakukan penelitian yang menciptakan suatu aplikasi yang menggunakan metode hybrid cryptosystem dan digital signature. Metode hybrid cryptosystem dilakukan dengan menggabungkan algoritma RC4 dan RSA. Metode digital signature dilakukan dengan menggunakan fungsi hash SHA-512 dengan pendekatan algoritma RSA. Aplikasi yang dibangun dapat melakukan enkripsi dan dekripsi pada file serta meningkatkan keamanan dalam mengirim data dengan hybrid cryptosystem dan digital signature. Berdasarkan hasil penelitian maka semua tipe file yang diuji berhasil dienkripsi dan didekripsi serta semakin besar ukuran file, maka semakin lama proses enkripsi dan dekripsinya.

Kata kunci: Hybrid Cryptosystem, RC4, RSA, SHA-512, Digital Signature.

Abstract

Security of information at this point becomes easier to be abused by another party when that information is sent and stored. To overcome these problems then do research to create an application that uses a hybrid method cryptosystem and digital signature. Methods in hybrid cryptosystem is done by combining the RC4 and RSA. Digital signature method is done by using a hash function SHA-512 with RSA algorithm approach. Applications that are built to perform encryption and decryption on files as well as improving security in sending data by hybrid cryptosystem and digital signature. Based on the research results of all the file types tested successfully encrypted and decrypted as well as the larger the file size, the longer the encryption and decryption process.

Keywords: Hybrid Cryptosystem, RC4, RSA, SHA-512, Digital Signature.

1. PENDAHULUAN

riptografi adalah ilmu sekaligus seni untuk menjaga kerahasiaan pesan, data atau informasi dengan cara menyamarkannya menjadi bentuk tersandi yang tidak mempunyai makna [1]. Dalam kriptografi terdapat dua proses utama yaitu enkripsi dan dekripsi. Enkripsi adalah proses penyandian plain text menjadi cipher text. Sedangkan dekripsi adalah proses penyandian kembali cipher text menjadi plain text. Untuk membangun sistem aplikasi pengiriman informasi yang terjaga keamanan dan kerahasiaan informasi tersebut, peneliti menggunakan proses enkripsi dan dekripsi dengan metode hybrid cryptosystem.

(2)

Jatisi, Vol. 3 No. 1 September 2016  35

dilakukan dengan cara menggabungkan asymmetric encryption dan symmetric encryption untuk mendapatkan keuntungan berupa kelebihan dari masing-masing enkripsi [2].

Digital signature adalah mekanisme otentikasi yang memungkinkan pembuat pesan dapat melampirkan sebuah kode yang bertindak sebagai tanda tangan. Tanda tangan digital dibuat dengan menggunakan fungsi hash pada pesan, lalu mengenkripsi hash tersebut dengan private key pembuat. Tanda tangan tersebut menjamin sumber dan integritas pesan [3].

Penggunaan hybrid cryptosystem dalam penelitian ini adalah dengan menggabungkan algoritma RC4 dan RSA serta SHA-512 untuk membuat digital signature dengan pendekatan RSA. Skema hybrid encryption menggunakan teknik mengenkripsi public key untuk memperoleh shared key yang digunakan untuk enkripsi pesan yang asli dengan menggunakan enkripsi symmetric key [4].

Pada penelitian yang telah dilakukan oleh Muhammad Rusli pada tahun 2010, Tanda tangan digital memanfaatkan fungsi hash satu arah untuk menjamin bahwa tanda tangan itu hanya berlaku untuk dokumen yang bersangkutan saja. Sedangkan RSA merupakan algoritma enkripsi yang rumit sehingga tidak mudah untuk dibobol. Algoritma ini memiliki dua kunci yaitu kunci public dan kunci privat [5].

Pada penelitian yang telah dilakukan sebelumnya [6], dibangun aplikasi enkripsi dan dekripsi menerapkan algoritma Affine Chiper dan RC4 dengan menggunakan bahasa pemrograman PHP yang dijalankan pada browser. Oleh karena itu, beberapa kelebihan dalam aplikasi yang akan dibangun diantaranya adalah dengan menggunakan hybrid cryptosystem dan digital signature berbasis web.

2. TINJAUAN PUSTAKA

2.1 Kriptografi

Menurut Kromodimoedjo [7], Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi. Dekripsi menggunakan kunci dekripsi mendapatkan kembali data asli. Proses enkripsi dilakukan menggunakan suatu algoritma dengan beberapa parameter. Biasanya algoritma tidak dirahasiakan, bahkan enkripsi yang mengandalkan kerahasiaan algoritma dianggap sesuatu yang tidak baik. Rahasia terletak di beberapa parameter yang digunakan, jadi kunci ditentukan oleh parameter. Parameter yang menentukan kunci dekripsi itulah yang harus dirahasiakan.

2.2 Hybrid Cryptosystem

(3)

JCCS Vol. x, No. x, July201x : first_page–end_page 2.3 RC4

Algoritma kriptografi Rivest Cipher 4 (RC4) (Gambar 1) merupakan salah satu algoritma kunci simetris dibuat oleh Rivest Shamir Adleman Data Security Inc (RSADSI) yang berbentuk stream chipher. Algoritma ini ditemukan pada tahun 1987 oleh Ronald Rivest dan menjadi simbol keamanan RSA (merupakan singkatan dari tiga nama penemu yaitu Rivest, Shamir dan Adleman). Algoritma ini dibuat berdasarkan penggunaan permutasi acak [3].

Gambar 1. Proses Algoritma RC4

Tahap pertama, state yang diberi nilai awal berupa array yang merepresentasikan suatu permutasi dengan 256 elemen. Array yang mempunyai 256 elemen ini (dengan indeks 0 sampai dengan 255) dinamakan S. Proses inisialisasi S :

Kode 1 . Proses inisialisasi S For i = 0 to 255 do

S[i] = I;

T[i] = K[I mod length];

Tahap kedua menggunakan T untuk membuat awal permutasi untuk dari S. Dimulai dari S[0] sampai S[255] dan untuk setiap S[i], S[i] ditukar dengan byte didalam S sesuai dengan skema yang diperintahkan oleh T[i].

Kode 2 . Proses permutasi awal J = 0;

For i = 0 to 255 do

j = (j + S[i] + T[i] ) mod 256; swap (S[i], S[j]);

(4)

Jatisi, Vol. 3 No. 1 September 2016  37

Kode 3 . Proses persiapan kunci RC4 i = j = 0;

i = (i + 1) mod 256; j = (j + S[i]) mod 256; swap (S[i], S[j]);

t = (S[i] + S[j]) mod 256; k = S [t];

Untuk mengenkripsi, XOR nilai k dengan byte plain text dan untuk mendekripsi, XOR nilai k dengan byte cipher text.

2.4 Rivest Shamir Adleman (RSA)

Algoritma ini ditemukan oleh Ron Rivest, Adi Shamir dan Leonard Aldeman. RSA adalah singkatan dari huruf depan 3 orang yang menemukannya pada tahun 1977 di MIT (Massachussets Insitute of Technology). RSA adalah blok cipher yang terdiri dari plain text dan cipher text berupa integer diantara 0 dan n – 1 dimana tipikal size untuk n adalah 1024 bits (21024) atau 309 digit desimal [3]. Menurut Sentot Kromodimoeljo [7], keamanan RSA mengandalkan sukarnya menguraikan bilangan yang sangat besar.

Setiap pengguna memilih, menggunakan random number generator (Gambar 2), dua bilangan prima yang sangat besar p dan q. Untuk produk n = pq, jika p dan q diketahui, fungsi Euler dapat dengan mudah dikomputasi yaitu ∅(n) = (p-1)(q-1). Kemudian pengguna memilih, menggunakan random number generator, suatu bilangan e antara 1 dan ∅(n) yang koprima dengan ∅ (n). Berikutnya pengguna mengkomputasi inverse dari e modulo ∅ (n): 𝑑≡𝑒−1 (𝑚𝑜𝑑

∅(𝑛)). Kemudian pengguna mempublikasi kunci publiknya 𝐾𝐸 = (n, e), dan merahasiakan kunci pribadinya 𝐾𝐷 = (n, d), rumus untuk mengenkripsi menggunakan kunci publik adalah 𝑀𝑒 mod n, dimana M adalah representasi naskah asli ketika mengenkripsi. Rumus untuk mendekripsi menggunakan kunci pribadi adalah 𝑀𝑑 mod n, dimana M adalah representasi naskah asli (menggunakan bilangan bulat) ketika mendekripsi.

(5)

JCCS Vol. x, No. x, July201x : first_page–end_page 2.5 Digital Signature

Digital signature adalah mekanisme otentikasi yang memungkinkan pembuat pesan dapat melampirkan sebuah kode yang bertindak sebagai tanda tangan. Tanda tangan digital dibuat dengan menggunakan fungsi hash pada pesan, lalu mengenkripsi hash tersebut dengan private key pembuat. Tanda tangan tersebut menjamin sumber dan integritas pesan [3].

Gambar 3. Proses Digital Signature

Untuk proses tanda tangan (Gambar 3), pesan terlebih dahulu dienkripsi dengan kriptografi fungsi hash dan kemudian hasil dari fungsi hash tersebut dienkripsi dengan private key user pengirim. Setelah itu pesan dan tanda tangan diberikan kepada user penerima. Untuk proses verifikasi, pesan yang dikirim akan dienkripsi dengan fungsi hash dan untuk tanda tangan yang diterima akan dienkripsi dengan menggunakan kunci publik user pengirim. Kemudian hasil dari keduanya dicocokkan, apabila kedua hasil tersebut sama maka tanda tangan itu sah, jika sebaliknya maka tidak sah. Dalam Digital Signature Standard (DSS), fungsi hash yang dipakai pada umumnya adalah SHA-1, tetapi berdasarkan standar Federal Information Processing Standard Publications diumumkan bahwa fungsi hash SHA-1 pada akhir tahun 2013 tidak akan digunakan, tetapi fungsi hash SHA-2 telah disetujui pemakaiannya untuk Digital Signature Standard. Output dari fungsi hash SHA-2 diperbolehkan untuk dipotong ukurannya hingga sama seperti ukuran key pair.

2.6 SHA-512 (Secure Hash Algorithm)

Algoritma SHA dirancang oleh National Security Agency (NSA) dan dijadikan standard FIPS (Federal Information Processing Standard) pada tahun 1993. SHA dibuat berdasarkan fungsi hash MD4 dan desain modelnya menyerupai MD4. Pada tahun 2005, NIST memberikan pengumuman dengan tujuan menghapus setahap demi setahap penggunaan SHA-1 dan mengharapkan pindah pada SHA-2 pada tahun 2010.

Algoritma SHA-512 (Gambar 4) menerima input pesan dengan panjang maksimum kurang dari 2128 bits dan akan menghasilkan keluaran berupa 512 bit message digest. Input pesan akan diproses dalam blok 1024 bit. Proses terbagi menjadi beberapa tahap, yaitu [3]: (1) Menambah jumlah bits. pesan diberi lapisan sehingga panjang pesan menjadi sama dengan 896

modulo 1021 ( panjang ≡ 896(mod 1024)). (2) Menambahkan panjang bits. blok sebanyak 128

(6)

Jatisi, Vol. 3 No. 1 September 2016  39

9B05688C2B3E6C1F, g = 1F83D9ABFB41BD6B, h = 5BE0CD19137E2179. (4) Memproses pesan dalam blok 1024 bit (128 karakter).

Gambar 4. Proses 1 Algoritma SHA-512

Modul ini merupakan bagian utama dan terbagi menjadi 80 babak (Gambar 5). Modul ini direpresentasikan sebagai F pada Gambar 4. Setiap babak menerima input sebanyak 512 bit nilai buffer, abcdefgh dan memperbarui konten buffer. Pada input babak pertama, buffer memiliki nilai hash penyangga, 𝐻𝑖−1. Setiap babak (round) t memakai 64 bit nilai 𝑊𝑡, diperoleh dari 1024 bit blok yang sekarang ini diproses (𝑀𝑖). Nilai-nilai ini diperoleh dengan menggunakan message schedule yang akan dijelaskan kemudian. Setiap babak juga menggunakan konstanta tambahan 𝐾𝑡, dimana 0 ≤𝑡≤79. Hasil dari babak ke-80 menjadi input babak pertama (𝐻𝑖) untuk dihitung di blok selanjutnya.

(7)

JCCS Vol. x, No. x, July201x : first_page–end_page

(5) Output. Setelah semua 1024 bit blok sudah diproses, hasil dari babak terakhir adalah 512 bit message digest. Rangkuman dari proses SHA-512 adalah seperti berikut:

Kode 4 . Proses SHA-512

𝐻0= IV

𝐻𝑖= SUM64 (𝐻𝑖−1 , abcdefgh𝑖) MD = 𝐻𝑁

dimana : IV = Initial value dari buffer abcdefgh, yang tercantum dalam tahap ketiga, abcdefgh𝑖 = hasil dari babak terakhir dari proses tahap keempat, N = jumlah blok dalam pesan (termasuk pesan yang bit-nya sudah ditambah), SUM64 = penambahan modulo 264, MD = Hasil message digest.

3. METODE PENELITIAN

3.1 Deskripsi Sistem

Tujuan pembuatan sistem ini adalah menerapkan algoritma RC4 dan RSA untuk mengamankan file sehingga file tersebut menjadi tidak dapat terbaca, serta menerapkan algoritma SHA-512 untuk pembuatan tanda tangan digital dengan pendekatan RSA. Gambar 6 adalah proses yang harus dilewati dalam melakukan enkripsi dan dekripsi file dengan bantuan flowchart sebagai alat bantu menggambarkan proses di dalam program.

Gambar 6. Flowchart Enkripsi

(8)

SHA-Jatisi, Vol. 3 No. 1 September 2016  41

512 akan dienkripsi dengan algoritma RSA (menggunakan private key pengirim). (7) Menampilkan hasil dari proses enkripsi.

Gambar 7. Flowchart Dekripsi

Berikut adalah penjelasan dari flowchart dekripsi (Gambar 7) : (1) Pilih file yang ingin didekripsi. (2) Pengguna harus memasukkan private key miliknya sendiri. (3) Sistem akan memerika apakah private key yang dimasukkan valid atau tidak. Jika private key tidak valid, masukkan lagi private key. Jika valid, proses dekripsi berjalan. (4) Sistem akan melakukan proses dekripsi pada encrypted RC4 key dengan algoritma RSA (menggunakan private key penerima) dan menghasilkan kunci RC4. (5) Melakukan proses dekripsi RC4 pada cipher file dengan menggunakan kunci RC4 sehingga menghasilkan original file. (6) Melakukan fungsi hash pada original file sehingga menghasilkan kode hash. (7) Kemudian, sistem melakukan proses dekripsi signed message dengan menggunakan algoritma RSA (menggunakan private key pengirim) dan menghasilkan digital signature. (8) Digital signature dan kode hash dicocokkan. Jika sama, maka digital signature tersebut valid. Jika tidak sama, maka digital signature tersebut tidak valid. (9) Menampilkan hasil dari proses dekripsi dan link download file.

3.2 Implementasi Proses dan Algoritma

(9)

JCCS Vol. x, No. x, July201x : first_page–end_page

hasil enkripsi file, encrypted RC4 key dan digital signature. (2) Dekripsi, Dimulai dengan dekripsi (algoritma RSA) pada encrypted RC4 key dengan menggunakan private key user penerima sehingga menghasilkan kunci RC4. Kunci RC4 akan digunakan untuk proses dekripsi cipher file dengan menggunakan algoritma RC4 sehigga menghasilkan file asli (original file). Kemudian, dilanjutkan dengan proses fungsi hash SHA-512 pada file asli yang akan menghasilkan data berupa kode hash. Untuk proses pengecekan digital signature, signed message akan didekripsi (algoritma RSA) dengan menggunakan kunci publik user pengirim dan akan menghasilkan kode hash. Kode hash inilah yang akan dicocokkan dengan kode hash hasil dari fungsi hash SHA-512 pada file yang sudah didekripsi dengan algoritma RC4. Apabila kode hash sama, maka digital signature tersebut valid. Apabila tidak sama, maka digital signature tersebut tidak valid.

4. HASIL EKSPERIMEN DAN ANALISA

Pengujian yang dilakukan terhadap aplikasi penelitian ini adalah pengujian dengan metode black box testing. Pengujian dilakukan dengan menjalankan fungsi dan fitur yang ada dari aplikasi ini dan kemudian dilihat apakah hasil dari fungsi-fungsi tersebut sesuai dengan yang diharapkan. Pada tahap pengujian enkripisi dan dekripsi ini dilakukan pada semua tipe file. Apabila sudah terenkripsi akan menjadi file yang tidak dapat dibaca dan jika didekripsi akan kembali menjadi file asli.

4.1 Pengujian Enkripsi

Pada tahap ini, penulis akan melihat apakah aplikasi dapat melakukan enkripsi pada tipe file yang berbeda dan apakah ukuran file hasil enkripsi akan berubah atau tidak (Gambar 8).

(10)

Jatisi, Vol. 3 No. 1 September 2016  43

Gambar 9. Kumpulan File Sesudah Enkripsi

Proses enkripsi berjalan lancar, semua file berhasil dienkripsi tanpa ada kesalahan (Gambar 9). Semua file sudah berubah ke dalam data yang tersandikan. Untuk lama waktu yang digunakan tergantung pada besar kecilnya ukuran file yang dienkripsi, semakin besar ukuran file yang dienkripsi, maka semakin lama prosesnya (Tabel 1).

Tabel 1. Tabel Perbandingan Waktu Enkripsi RC4, RSA dan Digital Signature

No File size 11 PhotoGrid_Video_1447992979446.mp4 1,153 0.595523 0.000457 0.615909

12 preview_upload.js 1 0.000347 0.000478 0.481527

(11)

JCCS Vol. x, No. x, July201x : first_page–end_page 4.2 Pengujian Dekripsi

Pada tahap ini akan dilihat apakah aplikasi dapat melakukan dekripsi, mengubah file ke bentuk asli. Proses dekripsi berjalan lancar, semua tipe file bisa didekripsi ke bentuk semula. Untuk lama waktu yang digunakan tergantung pada besar kecilnya ukuran file yang didekripsi (Tabel 2).

Tabel 2. Tabel perbandingan waktu dekripsi RC4, RSA dan Digital Signature

No File size 11 PhotoGrid_Video_1447992979446.mp4 1,153 3.180801 2.510595 0.357048 12 preview_upload.js 1 3.031873 2.979321 0.152543

18 SustainableSecuritySytems.pdf 6,080 5.763520 2.222832 0.351661 19 windows usb tool.exe 2,658 3.636447 2.102243 0.250440

5. KESIMPULAN

Kesimpulan yang dapat diambil dari penelitian mengenai mengimplementasikan hybrid cryptosystem dan digital signature adalah semua file yang dienkripsi berubah menjadi file berekstensi (*.encr). Semua file yang sudah dienkripsi dapat dikembalikan ke file aslinya dalam proses dekripsi dan tidak mengalami perubahan dengan tingkat keberhasilan 100% serta ukuran file yang semakin besar dapat mempengaruhi lama proses enkripsi dan dekripsi

6. SARAN

(12)

Jatisi, Vol. 3 No. 1 September 2016  45

UCAPAN TERIMA KASIH

Penulis mengucapkan terima kasih kepada Universitas Bunda Mulia yang telah memberi dukungan financial terhadap penelitian ini.

DAFTAR PUSTAKA

[1] Munir, R., 2006, Kriptografi, Informatika, Bandung.

[2] Kuppuswamy, P. dan Saeed Q.Y. Al-Khalidi, 2014, Hybrid Encryption/Decryption Technique Using New Public Key and Symmetric Key Algorithm. MIS review Vol.19. No.2. hal.1-13.

[3] Stallings, W., 2011, Cryptography and Network Security, Principles and Practices, fifth edition, Pearson Education, UK.

[4] Cramer, R. dan Victor Shoup, 2004, Design and Analysis of Practical Public-Key Encryption Schemes Secure Against Adaptive Chosen Ciphertext Attack. SIAM Journal on Computing 33 (1). hal. 167–226.

[5] Rusli, M. dan Marlina, 2010, Tanda Tangan Digital dengan Metode RSA. Jurnal Teknologi Informasi Universitas Bunda Mulia Vol.6. No.1. hal. 1–3.

[6] Agung, H. & Budiman, 2015. Implementasi Affine Chiper dan RC4 pada Enkripsi File Tunggal. SNATIF 2015, Kudus: 243-250.

Gambar

Gambar 1. Proses Algoritma RC4
Gambar 2. Proses Algoritma RSA
Gambar 3. Proses Digital Signature
Gambar 4. Proses 1 Algoritma SHA-512
+6

Referensi

Dokumen terkait

Selain itu peneliti menyarankan untuk penelitian berikutnya agar melakukan monitoring secara rutin ketika subjek melakukan tugas rumah terkait dengan latihan keterampilan sosial

Pasal 1 UU Sisdiknas tahun 2003 menyatakan bahwa di antara tujuan pendidikan nasional adalah mengembangkan potensi peserta didik untuk memiliki kecerdasan, kepribadian dan

Hasil penelitian menunjukkan bahwa nilai sukses pemangsaan pada larva ikan kakap merah, umur D- 5 cenderung berfluktuasi, di mana pada pukul 08 00 baru 5O% dari sampel

Initial results suggest that for this particular data set used, ED arrival rates were the most useful metric for ED ‘busyness’ in a process control strategy, and that

d) Selain mendapatkan hadiah, setiap anggota berhak mendapatkan bagi hasil pada akhir periode simpanan. e) Setoran Si Wadiah dapat dilakukan di seluruh kantor

Berdasarkan hal diatas, pada Tugas Akhir ini telah dirancang dan direalisasikan antena slot waveguide , terdiri dari delapan buah slot yang memiliki orientasi vertikal

Istilah pengadaan tanah terdapat dalam Peraturan Peraturan Presiden Nomor 36 Tahun 2005 tentang Pengadaan Tanah Bagi Pelaksanaan Pembangunan Untuk Kepentingan

Application of Pyraclostrobin by concentrations of 400 ppm and 800 ppm effectively reduced yield loss by increasing night temperature of 2 o C, which resulted in 20.20% and