Preview only show first 10 pages with watermark. For full document please download

Implementasi Kriptografi Dengan Metode Rsa Menggunakan Java

May 20, 2016 - dengan membangun software aplikasi. kriptografi berbasis desktop yang dapat. dijalankan tanpa harus terkoneksi ke jaringan. internet. Dari latar belakang tersebut maka. penulis tertarik untuk membuat sebuah aplikasi. yang mengaplikasian algoritma kriptogafi RSA. menggunakan Java. II. LANDASAN ...

   EMBED

  • Rating

  • Date

    June 2017
  • Size

    395.7KB
  • Views

    5,497
  • Categories


Share

Transcript

IMPLEMENTASI KRIPTOGRAFI DENGAN METODE RSA MENGGUNAKAN JAVA Kori Carda Puspita (1137050124) [email protected] Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri Sunan Gunung Djati Bandung Abstrak Enkripsi merupakan teknik (cara) untuk menyembunyikan pesan (informasi) sehingga hanya dapat terbaca oleh orang tertentu yang berhubungan dengan pesan tersebut. Informasi sangatlah penting maka dari itu kita harus menjaga kerahasiaannya. Saat ini metode enkripsi sudah banyak dikembangkan salah satunya metode RSA yang merupakan salah satu algoritma kriptografi asimetris yang menggunakan sepasang kunci, yaitu kunci publik dan kunci pribadi. Panjang kunci dapat diatur, dimana semakin panjang bit pembentukan kunci maka semakin sukar untuk dipecahkan karena sulitnya memfaktorkan dua bilangan yang sangat besar umum algoritma RSA banyak digunakan pada proses penyandian yang bersifat software aplikasi web. Umumnya hal ini dilakukan dengan cara membuat suatu algoritma matematis yang mampu mengubah data hingga menjadi sulit untuk dibaca dan dipahami. Maka sebagai solusi masalah diatas adalah dengan membangun software aplikasi kriptografi berbasis desktop yang dapat dijalankan tanpa harus terkoneksi ke jaringan internet. Dari latar belakang tersebut maka penulis tertarik untuk membuat sebuah aplikasi yang mengaplikasian algoritma kriptogafi RSA menggunakan Java. II. LANDASAN TEORI Kata Kunci : Kriptografi ,Encrypt, RSA,Decrypt I. LATAR BELAKANG Teknologi komputer sebagai salah satu media penyimpanan dan komunikasi menjadi suatu kebutuhan yang tidak dapat dipisahkan lagi. Fungsinya sebagai media penyimpanan dan komunikasi secara luas memungkinkan pihak-pihak yang tidak memiliki kepentingan memanfaatkannya sehingga sulit untuk menjaga kerahasiaan dari informasi tersebut. Oleh karena itu, dibutuhkan suatu mekanisme yang dapat mengamankan informasi tersebut dari pihak yang tidak memiliki kepentingan. Salah satu algoritma yang memanfaatkan kriptografi sebagai sistem keamanan adalah algoritma RSA (Ron Rivest,Shamir, dan Leonard Adleman). RSA merupakan suatu algoritma yang populer digunakan karena kesederhanaan, serta memiliki kecepatan proses yang tidak kalah cepat dibandingkan dengan algoritma kriptografi lainnya. Secara A. Algoritma Kriptografi Algoritma kriptografi terdiri dari tiga fungsi dasar, yaitu : a) Enkripsi, merupakan hal yang sangat penting dalam kriptografi, merupakan pengamanan data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli disebut Plaintext, yang diubah menjadi kode-kode yang tidak dimengerti. Enskripsi bisa diartikan dengan Cipher atau kode b) Dekripsi, merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi dikembalikan ke bentuk asalnya (teskasli), disebut dengan dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu berbeda dengan algoritma untuk enkripsi. c) Kunci, yang dimaksud adalah kunci yang dipakai untu melakukan enkripsi dan dekripsi. Kunci terbagi menjadi dua bagian, kunci rahasia (private key) dan kunci umum (public key). B. Kriptografi Secara etimologi kata kriptografi (Cryptography) berasal dari bahasa Yunani, yaitu kryptos yang artinya yang tersembunyi dan graphein yang artinya tulisan (Prayudi, 2005). Awal mula kriptografi dipahami sebagai ilmu tentang menyembunyikan pesan (Sadikin, 2012), tetapi seiring perkembangan zaman hingga saat ini pengertian kriptografi berkembang menjadi ilmu tentang teknik matematis yang digunakan untuk menyelesaikan persoalan keamanan berupa privasi dan otentikasi (Diffie, 1976). Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak ketiga. Prinsip-prinsip yang mendasari kriptografi yakni : a. Data integrity (keutuhan data) yaitu layanan yang mampu mengenali/mendeteksi adanya manipulasi (penghapusan, pengubahan atau penambahan) data yang tidak sah (oleh pihak lain). b. Authentication (keotentikan) yaitu layanan yang berhubungan dengan identifikasi. Baik otentikasi pihak-pihak yang terlibat dalam pengiriman data maupun otentikasi keaslian data/informasi. c. Non-repudiation (anti-penyangkalan) yaitu layanan yang dapat mencegah suatu pihak untuk menyangkal aksi yang dilakukan sebelumnya (menyangkal bahwa pesan tersebut berasal dirinya). (Alferd J. Menezes, 1996) d. Confidelity (kerahasiaan) yaitu layanan agar isi pesan yang dikirimkan tetap rahasia dan tidak diketahui oleh pihak lain (kecuali pihak pengirim, Keamanan dari algoritma kriptografi tergantung pada bagaimana algoritma itu bekerja. Keamanan dari kriptografi modern didapat dengan merahasiakan kunci yang dimiliki dari orang lain, tanpa harus merahasiakan algoritma itu sendiri. Kunci memiliki fungsi yang sama dengan password. Jika keseluruhan dari keamanan algoritma tergantung pada kunci yang dipakai maka algoritma ini bisa dipublikasikan dan dianalisis oleh orang lain. Jika algoritma yang telah dipublikasikan bisa dipecahkan dalam waktu yang singkat oleh orang lain maka algoritma tersebut tidaklah aman untuk digunakan. (Dony Ariyus, 2008) C. RSA RSA merupakan algoritma kriptografi asimetris. Ditemukan pertama kali pada tahun 1977 oleh Ron Rivest, Adi Shamir, dan Leonard Adleman. Nama RSA sendiri diambil dari inisial nama depan ketiga penemunya tersebut. Sebagai algoritma kunci publik, RSA mempunyai dua kunci, yaitu kunci publik dan kunci pribadi. Kunci publik boleh diketahui oleh siapa saja, dan digunakan untuk proses enkripsi. Sedangkan kunci pribadi hanya pihakpihak tertentu saja yang boleh mengetahuinya, dan digunakan untuk proses dekripsi. Algoritma RSA masih digunakan hingga pada saat ini. Keamanan sandi RSA terletak pada sulitnya memfaktorkan bilangan yang besar. Sampai saat ini RSA masih dipercaya dan digunakan secara luas di internet. (Kriptografi Kunci Publik:Sandi RSA, 2008). Skema algoritma kunci publik Sandi RSA terdiri dari tiga proses, yaitu proses pembentukan kunci, proses enkripsi dan proses dekripsi. Sebelumnya diberikan terlebih dahulu beberapa konsep perhitungan matematis yang digunakan RSA (RSA and Public Key Criptography, 2003, hlm 61). D. Java Java adalah sebuah bahasa pemrograman pada komputer sama seperti pendahulunya c++. Bahasa pemrograman ini dikembangkan oleh Sun microsystems yang dikembangkan pada tahun 1995 . Awalnya java diciptakan pada tahun 1991 oleh Patrick Naughton, Mike Sheridan , James Gosling dan Bill Joy beserta programer dari Sun Microsystems. Uniknya nama java diambil dari nama pulau jawa ( bahasa inggris dari jawa ) karena James Gosling " Bapak Java " menyukai kopi tubruk yang berasal dari pulau Jawa. Jadi kita perlu berbangga menjadi warga negara Indonesia . Java sendiri merupakan bahasa pemrograman yang berbasis objek , maksudnya adalah semua aspek yang terdapat pada java adalah objek sehingga sangat memudahkan untuk mendesain, membuat dan mengembangkan program java dengan cepat. Kelebihan ini membuat program java menjadi mudah untuk digunakan oleh banyak orang. Bahasa pemrograman ini juga dapat digunakan oleh banyak sistem operasi seperti : Microsoft Windows, Linux, Mac OS, dan Sun Solaris ( Multiplatform ) . III. PEMBAHASAN A. Proses Enkripsi Data Enkripsi data merupakan bagian awal dari proses pengamanan data. Dalam proses enkripsi ini data yang asli akan dilakukan proses pengacakan dengan algoritma yang sudah ditentukan. Tampilan awal dari aplikasi yang dikembangkan seperti pada gambar berikut ini : ɸn = (p-1)(q-1) 4. User kemudian memilih proses Enkripsi 5. Masukkanlah Plaintext yang akan di enkripsi 6. Kemudian tekan tombol OK 7. Maka pada field ciphertext akan tampil hasil enkripsi plaintext Kode program enkripsi pada program ini adalah sebagai berikut : public BigInteger[] encript(String msg) { int i; byte[] temp = new byte[1]; byte[] digits = msg.getBytes(); System.out.print(digits); BigInteger[] bigdigits = new BigInteger[digits.length]; System.out.print(bigdigits); for(i=0; i