• Tidak ada hasil yang ditemukan

PENERAPAN ALGORITMA RSA UNTUK PENGAMANAN DATA DAN DIGITAL SIGNATURE DENGAN. NET. Naskah Publikasi

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENERAPAN ALGORITMA RSA UNTUK PENGAMANAN DATA DAN DIGITAL SIGNATURE DENGAN. NET. Naskah Publikasi"

Copied!
16
0
0

Teks penuh

(1)

PENERAPAN ALGORITMA RSA UNTUK PENGAMANAN DATA

DAN DIGITAL SIGNATURE DENGAN . NET

Naskah Publikasi

diajukan oleh

ANDRIANUS TRIORIZKA

06.12.1748

kepada

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

AMIKOM

YOGYAKARTA

2010

(2)
(3)

RSA ALGORITHM APPLICATION FOR DATA SECURITY

AND DIGITAL SIGNATURE WITH .NET

PENERAPAN ALGORITMA RSA UNTUK PENGAMANAN DATA

DAN DIGITAL SIGNATURE DENGAN . NET

Andrianus Triorizka Jurusan Sistem Informasi STMIK AMIKOM YOGYAKARTA

ABSTRACT

Cryptography is the science and art to maintain data security with encryption and description using a specific mathematical models, and one model of asymmetric cryptography used to determine the public key and private key. In this cryptosystem model have algorithms and functions that make use of cryptography. RSA is an algorithm in public key encryption. RSA is one of the most advanced algorithms in the field of public key cryptography. RSA is believed in using secure key long enough.

The cryptosystem model will also perform a digital signature by using the MD5 hash function, used for testing the integrity of a file. Kriptosistem model is expected to help users in securing critical data and confidential and can communicate securely with the relationship over the world via the Internet or through other networks.

Keywords : Cryptography, Asymmetric Cryptography, RSA algorithm, MD5 Algorithm, Cryptosystem Model, Network.

(4)

1. Pendahuluan

Kriptografi merupakan salah satu komponen yang tidak dapat diabaikan dalam membangun keamanan komputer. Kriptografi merupakan suatu ilmu dan seni (science and art) dalam penyandian data, yang bertujuan untuk menjaga kerahasiaan dan keamanan data dari serangan ataupun diketahui oleh pihak yang tidak berhak. Dikatakan ilmu (science) karena menggunakan matematika aljabar, terutama teori bilangan sebagai dasarnya. Dikatakan seni (art) karena dalam aplikasinya memiliki pola-pola tertentu dalam proses penyandian yang unik.

Penelitian mengenai kriptografi pun telah banyak dilakukan oleh para kriptoanalis. Antara lain Inu Laksito Wibowo (2001), Gok Asido Haro (2006), Retno Aji Wulandari (2009), Roby Irawan (2009), Eka Saefan Rukzam (2009), dan Nefianti (2009). Dari penelitian yang telah mereka lakukan menghasilkan program aplikasi untuk melakukan enkripsi data, baik berupa teks maupun gambar dengan berbagai metode dan algoritma yang berbeda-beda dan platform yang berbeda pula dalam pengimplementasiannya. Namun dari semua penelitian tersebut belum ada yang melakukan proses enkripsi dan dekripsi data sekaligus melakukan proses digital signature (tanda tangan digital), yang digunakan untuk mengetahui apakah ini benar-benar data yang berasal dari sistem yang dimaksud, maka perlu melakukan suatu verifikasi. Kemudian data yang terenkripsi dan data signature selanjutnya dikirim.

Penulis melakukan penelitian ini dengan harapan mampu menghasilkan sebuah model kriptosistem untuk mengenkripsi dan mendekripsi data yang sangat penting dan rahasia sekaligus melakukan digital signature, sehingga dapat digunakan secara luas di berbagai bidang. Oleh sebab itu penulis mengambil judul penelitian yaitu “ Penerapan Algoritma RSA untuk Pengamanan Data dan Digital Signature Dengan .NET “.

2. Landasan Teori

Kriptografi adalah ilmu yang mempelajari bagaimana melakukan enkripsi dan dekripsi, dengan memanfaatkan model matematika tertentu. Kriptografi diilhami dengan teknik enkripsi atau teknik penyandian yang mengubah sebuah pesan yang dapat dibaca (plaintext) menjadi sebuah pesan yang acak dan sulit diartikan. Untuk dapat membaca pesan yang terenkripsi diperlukan proses terbalik dari enkripsi yang disebut dekripsi. [Kurniawan, 2008]

Cryptosystem adalah prosedur secara matematika, bagaimana suatu plaintext diubah menjadi ciphertext. Cryptanalysis adalah ilmu untuk menemukan suatu metode yang dapat membongkar algoritma kriptografi, dengan cara menganalisis algoritma tersebut. Orang yang melakukan cryptanalysis adalah cryptoanalist. Dari orang-orang

(5)

inilah, kita dapat mengetahui apakah algoritma kriptografi itu lemah atau kuat. [Kurniawan, 2008].

2.1 Model Algoritma RSA

Algoritma RSA, ditemukan oleh 3 orang peneliti dari MIT (Massachussets Institute of Technology) pada tahun 1976, yaitu: Ron (R)ivest, Adi (S)hamir, dan Leonard (A)dleman. RSA merupakan salah satu dari public key cryptosystem yang sangat sering digunakan untuk memberikan kerahasiaan terhadap keaslian suatu data digital. Keamanan enkripsi dan dekripsi data model ini terletak pada kesulitan untuk memfaktorkan modulus n yang sangat besar. Sebuah operasi RSA, baik enkripsi, dekripsi, penandaan, atau verifikasi intinya adalah sebuah eksponensial terhadap modul. Proses perhitungan ini ditunjukkan oleh sebuah rangkaian dari multiplikasi terhadap modul. Dalam aplikasi praktikal, adalah umum untuk menentukan sebuah eksponen kecil yang umum sebagai kunci publik. Faktanya, keseluruhan kelompok dari user (pemakai) bisa memakai eksponen yang sama, dengan berbeda modulus (terdapat beberapa pembatasan pada faktor-faktor prima dari eksponen publik ketika diputuskan.) Hal ini menyebabkan proses enkripsi lebih cepat daripada proses dekripsi dan verifikasi lebih cepat dari pada penandaan. Dengan algoritma eksponensial modular (modular exponentiation) yang khas yang digunakan untuk mengimplementasikan algoritma RSA, operasi kunci publik membutuhkan O(k2) langkah, operasi kunci privat membutuhkan O(k3) langkah, pembangkitan kunci membutuhkan O(k4) langkah, dimana k adalah jumlah bit dari modulus [Haro, 2006].

2.2 Digital Signature

Tanda tangan pada data digital ini disebut sidik digital (digital signature). Yang dimaksud dengan sidik digital bukanlah tanda tangan yang di-digitalisasi dengan alat scanner, tetapi suatu nilai kriptografis yang bergantung pada pesan dan pengirim pesan (hal ini kontras dengan tanda tangan pada dokumen kertas yang bergantung hanya pada pengirim dan selalu sama untuk semua dokumen) [Munir, 2006].

Dengan sidik digital, maka integritas data dapat dijamin, disamping itu juga digunakan untuk membuktikan asal pesan (keabsahan pengirim dan anti-penyanggahan). Hanya sistem kriptografi kunci-publik yang cocok dan alami untuk pemberian sidik digital. Hal ini disebabkan karena skema sidik digital berbasis sistem kunci-publik dapat menyelesaikan masalah non-repudiation (baik penerima dan pengirim pesan mempunyai pasangan kunci masing-masing).

(6)

3. Analisis

Sebelum melakukan penerapan algoritma RSA ke dalam sebuah model kriptosistem, maka yang harus dilakukan terlebih dahulu adalah menyiapkan alat-alat yang digunakan. Dalam penelitian ini terdapat beberapa alat-alat pendukung yang digunakan untuk menyelesaikan masalah yang dihadapi. Alat-alat ini dapat berupa hardware (perangkat keras) maupun software (perangkat lunak). Dalam melakukan penelitian ini, penulis menggunakan beberapa cara penelitian yang disusun secara terstruktur yang dimulai dari awal penelitian hingga penelitian selesai, sehingga memudahkan dalam penyelesaian masalah yang dihadapi dan mencapai hasil yang diharapkan. Cara-cara tersebut antara lain:

3.1 Melakukan Studi Pustaka

Seperti yang telah dijelaskan pada bab sebelumnya, dalam penelitian ini penulis mengacu dari beberapa hasil penelitian yang sudah dilakukan sebelumnya dengan cara melakukan tinjauan pustaka. Dari tinjauan pustaka yang dilakukan, penulis menemukan beberapa penelitian mengenai kriptografi dan proses enkripsi/dekripsi dengan berbagai model algoritma, platform yang digunakan, dan bahasa pemrograman yang digunakan. Selain itu, penulis juga dapat mengetahui hasil penelitian yang telah diperoleh dan kekurangan dari penelitian tersebut. Kemudian mencari beberapa sumber mengenai metode algoritma yang akan digunakan serta software yang diperlukan nantinya.

3.2 Persiapan dalam Penelitian

Sebelum masuk ke tahap yang lebih dalam, maka diperlukan persiapan awal dalam melakukan penelitian. Persiapan ini berkaitan dengan hardware dan software yang akan digunakan untuk membangun model kriptosistem. Selain itu juga ada beberapa hal penting yang juga perlu dipersiapkan, yaitu penentuan langkah-langkah yang harus dikerjakan terlebih dahulu agar penelitian tersusun secara terstruktur sehingga memudahkan dalam penyelesaian penelitian dan mendapatkan hasil yang diharapkan.

3.3 Perancangan Antarmuka

Tahapan awal dalam membangun model kriptosistem ini adalah membuat perancangan antar muka berupa form-form yang berisi beberapa fungsi yang diperlukan oleh pengguna. Kemudian menentukan alur program dari form-form tersebut.

(7)

3.4 Penerapan Algoritma

Tahap selanjutnya setelah melakukan perancangan adalah menerapkan algoritma kedalam form-form yang telah dibuat, agar dapat melakukan fungsinya sesuai dengan yang diharapkan. Dalam tahapan ini juga menjelaskan alur algoritma pemrosesan enkripsi/dekripsi data sekaligus proses digital signature (tanda tangan digital).

3.5 Melakukan Serangkaian Uji Coba dan Simulasi Model

Setelah model selesai dibuat, langkah selanjutnya adalah melakukan serangkaian uji coba. Tujuan utama uji coba terhadap model yaitu sebagaimana telah dijelaskan pada tujuan penelitian pada bab satu, selain itu juga untuk mengetahui kesesuaian model dengan perancangan yang dibuat sebelumnya dan untuk mengetahui apakah ada kesalahan dalam kode-kode program maupun fungsi-fungsi yang ada di dalamnya. Kemudian melakukan simulasi model untuk memperlihatkan alur proses model kriptosistem dan cara menggunakan model kriptosistem dengan benar.

4. Hasil Penelitian dan Pembahasan 4.1 Implementasi

Tahapan selanjutnya setelah melakukan analisis dan perancangan pada bab sebelumnya adalah implementasi yaitu menerapkan algoritma ke dalam form-form yang telah dibuat, sehingga dapat melakukan fungsinya sesuai dengan yang diharapkan. 4.1.1 Uji Coba Program

Setelah model selesai dibuat, maka langkah selanjutnya adalah perlu dilakukan uji coba terhadap model untuk menemukan kesalahan-kesalahan yang mungkin terjadi, uji coba dilakukan pada tiap-tiap form dan dilanjutkan dengan uji coba untuk semua modul yang telah dirangkai. Pada tahap uji coba model dilakukan sebagai dasar analisa kelayakan. Jika uji coba model memberikan hasil yang sesuai dengan tujuan pembuatan, maka rancangan program dikatakan layak dan dapat diimplementasikan ke dalam sistem. Sedangkan tujuan utama uji coba terhadap model yaitu sebagaimana telah dijelaskan pada tujuan penelitian pada bab sebelumnya. Berikut ini penjelasan bebrapa uji coba yang dilakukan pada model :

4.2 Pembahasan

Model ini masih sederhana dan kesederhanaan itu terdapat pada fungsi, struktur dan kode program yang terdapat di dalamnya. Berikut ini gambaran struktur model kriptosistem ini :

(8)

Gambar 4.1 Struktur model kriptosistem

Dari struktur model di atas, dapat dilihat bahwa ada lima menu utama pada model kriptosistem ini. Yaitu menu Keys, menu Encryption, menu Tools, menu Help, dan menu Exit, dan diantara menu-menu tersebut terdapat sub-sub menu yang melakukan proses secara individual. Berikut penjelasan algoritma yang diimplementasikan kedalam form masing-masing menu dan sub-sub menu :

1. Form Utama untuk Memanggil Form-Form Lain

Form utama merupakan form yang akan di-load atau muncul pertama kali ketika program dijalankan. Form utama merupakan aplikasi MDI (Multiple Document Interface), yaitu antarmuka yang akan menampilkan banyak dokumen secara bersamaan dimana masing-masing dokumen ditampilkan dalam windows tersendiri. Form utama didesain semenarik mungkin dan sangat user friendly untuk pengguna awam maupun pengguna mahir. Berikut tampilan form utama dari model kriptosistem ini :

(9)

Gambar 4.2 Tampilan form utama

2. Form Key untuk Membuat Pasangan Kunci

Form ini dirancang untuk membuat pasangan kunci publik dan kunci privat sebelum pengguna melakukan proses enkripsi/dekripsi dan signature data. Pada form ini, terdapat fungsi untuk membuat pasangan kunci RSA dimana pengguna tidak perlu menginputkan kunci secara manual tetapi secara otomatis dibuat langsung dari sistem. Berikut gambar tampilan form key :

(10)

3. Form Encrypt Text untuk Mengenkripsi dan Signature File Teks

Form ini berfungsi mengenkripsi dan memberi signature file teks yaitu menggunakan algoritma RSA dan menerapkan algoritma hashing MD5. Output yang dihasilkan dari form ini adalah ciphertext dan signature data yang secara terpisah. Form ini didesain dengan semenarik mungkin dan memperhatikan pada aspek user friendly. Dengan fungsi tombol-tombol yang biasa digunakan dengan simbol-simbol yang umum. Sehingga memudahkan pengguna dalam mengoperasikannya. Berikut gambar tampilan form encrypt text :

Gambar 4.4 Tampilan form encrypt text

4. Form Decrypt Text Untuk Mendekripsi dan Verifikasi Signature File Teks Untuk mengembalikan file teks yang telah dienkripsi ke bentuk teks aslinya, maka dilakukan proses dekripsi. Namun tidak sekedar melakukan dekripsi tetapi juga melakukan verifikasi pada signature teks yang telah dibuat, untuk mengetahui apakah file teks mengalami perubahan atau tidak. Berikut gambar tampilan form decrypt text dapat dilihat di bawah ini :

(11)

Gambar 4.5 Tampilan form decrypt text

5. Form Encrypt File Untuk Mengenkripsi File Non Teks

Form ini berfungsi untuk mengenkripsi file non teks berupa file dokumen (doc dan pdf), gambar (bmp, gif dan jpg), dan audio (mp3). Form ini terbagi menjadi beberapa fungsi utama. Fungsi pertama adalah memasukkan kunci untuk mengekripsi file. Fungsi kedua adalah menambahkan file yang akan dienkripsi dan proses enkripsi itu sendiri. Fungsi yang ketiga adalah memberikan pilihan pada pengguna terhadap file asli yang akan dienkripsi, apakah tetap disimpan, dihapus, atau dihancurkan. Form ini juga memberikan informasi mengenai proses enkripsi yang terjadi. Untuk mengenkripsi file non teks digunakan komponen dari .NET Framework 2.0 yaitu RC2CryptoServiceProvider. Berikut gambar tampilan form encrypt file seperti di bawah ini:

(12)

Gambar 4.6 Tampilan form encrypt file

6. Form Decrypt File Untuk Mendekripsi File Non Teks

Form ini berfungsi untuk mengdekripsi file non teks berupa file dokumen (doc dan pdf), gambar (bmp, gif dan jpg), dan audio (mp3) yang terenkripsi. Form ini tidak jauh berbeda dengan form untuk enkripsi file non teks. Form ini terbagi menjadi beberapa fungsi utama. Fungsi pertama adalah memasukkan kunci untuk mendekripsi file. Fungsi kedua adalah menambahkan file yang akan didekripsi dan proses dekripsi itu sendiri. Fungsi yang ketiga adalah memberikan pilihan pada pengguna terhadap file asli yang akan didekripsi, apakah tetap disimpan, dihapus, atau dihancurkan. Form ini juga memberikan informasi mengenai proses dekripsi yang terjadi. Untuk mendekripsikan file non teks sama halnya dengan saat proses enkripsi, komponen yang digunakan yaitu komponen dari .NET Framework 2.0 yaitu RC2CryptoServiceProvider. Berikut gambar tampilan form decrypt file non teks :

(13)

Gambar 4.7 Tampilan form decrypt file

7. Form File Shredder Untuk Menghancurkan File

Form ini berfungsi untuk menghancurkan file yang sudah tidak digunakan lagi, tetapi bukan menghapus file seperti remove atau delete file seperti biasanya. Tetapi menghancurkan file dalam arti sesungguhnya, yaitu membuat file benar-benar terhapus dan tidak bisa di-restore kembali, sehingga dapat menjaga kerahasiaan suatu data. Pada saat dijalankan, tombol Shred them now berada dalam posisi disable. Ini untuk menghindari kesalahan dalam program.

(14)

8. Menu Send Mail

Menu ini berfungsi untuk mengirimkan kunci maupun file yang sudah dienkripsi melalui email. Menu ini akan mengarahkan pengguna untuk membuka web browser dan membuka link alamat web yaitu www.yahoo.com. Sehingga memudahkan pengguna dalam men-share file yang penting dan rahasia. Berikut cuplikan kode untuk menu send mail :

9. Menu Reference

Menu ini berfungsi untuk membantu pengguna dalam menggunakan aplikasi dengan benar, sehingga pengguna tidak akan menemui kesulitan dalam pengoperasiannya. Menu reference akan membuka file help.html pada web browser secara localhost. Dan terdapat penjelasan mengenai program di dalamnya. Berikut tampilan file reference :

Gambar 4.26 Tampilan menu reference

Private Sub MenuSendMail_Click(ByVal sender As Object,_

ByVal e As System.EventArgs) Handles_ MenuSendMail.Click

Dim webAddress As String = "www.yahoo.com"

Process.Start(webAddress)

(15)

5. Kesimpulan

Dari keseluruhan bab pada skripsi ini, maka dapat diambil kesimpulan sebagai berikut :

 Pada proses enkripsi/dekripsi menggunakan algoritma RSA dan digital signature menggunakan kunci publik dan kunci private, file hasil enkripsi bertambah besar karena adanya penambahan bit-bit kunci dan kode-kode enkripsi. Adanya perbedaan kode hasil proses enkripsi baik inputan secara manual melalui keyboard ataupun inputan file teks yang sudah ada. Setiap kali proses enkripsi teks dilakukan, maka akan menghasilkan kode yang berbeda-beda, walaupun plaintext yang dimasukkan sama.

 Pada proses enkripsi/dekripsi file non-teks, ukuran file hasil enkripsi bertambah, karena adanya penambahan dua array bytes terpisah yang digunakan dalam proses enkripsi, yaitu kunci dan kunciIV, yang digunakan untuk menghindari seseorang melakukan rekayasa balik agar mendapatkan kunci dan untuk mengenkrip blok pertama data.

Digital signature diberikan pada teks yang telah dienkripsi berupa bit-bit yang berfungsi untuk menjaga keabsahan data. Digital signature memanfaatkan fungsi hashing MD5CryptoServiceProvider.

Tool File Shredder dapat menghancurkan file dengan baik dan waktu yang dibutuhkan untuk menghancurkan masing-masing file tergantung kepada ukuran file itu sendiri dan kekuatan penghancuran yang dipilih. Semakin besar ukuran file, maka waktu yang dibutuhkan untuk menghancurkan file akan semakin lama.

Daftar Pustaka

Ardhian, Ardhi dan Riyanto, M. Zaki. 2008. Kriptografi Kunci Publik: Sandi RSA,

http://sandi.math.web.id/download/paper/kssy-algoritma_sandi_rsa .pdf, diakses tanggal 4 Noverber 2009.

Ariyus, Dony. 2006. Kriptografi Keamanan Data dan Komunikasi. Yogyakarta: Graha Ilmu.

Haro, Gok Asido. 2006. Studi dan Penggunaan Algoritma RSA Sebagai Algoritma Kriptografi yang Aman, http://www.informatika.org/~rinaldi/Matdis/2006-2007/Makalah/Makalah 0607-101.pdf, diakses tanggal 4 November 2009.

Hill, McGraw. 2008. Cryptography And Network Security. Singapore: McGraw-Hill Book co.

(16)

Komputer, Wahana. 2003. Memahami Model Enkripsi dan Security Data. Yogyakarta: Andi.

Kurniawan, Agus. 2008. Konsep dan Implementasi Cryptography Dengan .NET. Jakarta: PC Media.

Kurniawan, Ir. Yusuf. 2004. Kriptografi Keamanan Internet dan Jaringan Telekomunikasi. Bandung: Informatika Bandung.

Kusrini S.Kom dan Andri Konio. 2007. Tuntunan Praktis Membangun Sistem Informasi Akuntansi Dengan Visual Basic dan Microsoft SQL Server. Yogyakarta: Andi. Kusumo, Drs. Ario Suryo. 2004. Buku Latihan Visual Basic .NET Versi 2002 dan 2003.

Jakarta: PT. Elex Media Komputindo.

Mackenzei, Duncan. 2002. Teach Yourself Visual Basic.NET In 21 Days. Pearson Education.

Rhee, Man Young. 1994. Cryptography and Secure Communication. Singapore: McGraw-Hill Book Co.

Rinaldi, Munir. 2006. Kriptografi. Bandung: Informatika Bandung.

Rinaldi, Munir. 2006. Otentikasi dan Sidik Digital,

http://kur2003.if.itb.ac.id/file/Otentikasi%20dan%20Sidik%20Dijital.doc, diakses pada tanggal 4 November 2009.

Sismoro, Heri. 2005. Pengantar Logika Informatika, Algoritma dan Pemrograman Komputer. Yogyakarta: Andi.

Sofwan, Aghus, dkk. 2006. Aplikasi Kriptografi Dengan Algoritma Message Diggest 5 (MD5),

Wibowo, Inu Laksito. 2001. Algoritma RSA Pada Sistem Pengamanan Data Yang

Menjamin Keaslian dan Kerahasiaan Data,

http://www.fmipa.its.ac.id/isi%20mipa/jurnal/jurnal/KAPPA%20%282001%29%20 Vol.2,%20No.2,%2012-20.pdf, diakses pada tanggal 6 November 2009.

Gambar

Gambar 4.1  Struktur model kriptosistem
Gambar 4.2  Tampilan form utama
Gambar 4.4  Tampilan form encrypt text
Gambar 4.5  Tampilan form decrypt text
+4

Referensi

Dokumen terkait

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

Jadi disiplin kerja tersebut memiliki hubungan dengan kinerja pegawai pada Dinas Pendapatan dan Pengelolaan Keuangan Daerah Kota Cilegon, namun kebenaran dan

Terkait dengan pencapaian tujuan jangka menengah kegiatan SPP maka perlu untuk mengoptimalkan proses pendampingan dalam pelaksanaan kegiatan SPP, maka hal penting

Setiap Pemegang saham public DVLA yang secara tegas memberikan suara tidak setuju atas rencana Penggabungan Usaha pada saat RUPSLB DVLA dan bermaksud untuk

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

- Bahan atau alat untuk melaksanakan suatu prosedur; dan - Langkah/ tahapan dengan urutan yang benar.. Rangkuman B.Indo: Menyibak Ilmu Dalam Laporan Hasil Observasi  Pengertian

Apabila Kabupaten Pulau Morotai mampu mempertahankan nilai reduksi shortfall yang cukup tinggi maka pada beberapa tahun ke depan akan menaikkan peringkat IPM kabupaten ini, data

Sasaran Bimtek Online Video Conference Tahap I ini adalah 357 guru matematika, 6 MGMP Matematika SMP/SMA dan 1 perguruan tinggi jurusan pendidikan matematika.5.