Enkripsi Dan Deskripsi Menggunakan Algoritma RSA SANTOMO Fakultas Teknik, Universitas PGRI Ronggolawe Tuban. Jl. Manunggal No. 61, Tuban / www.unirow.ac.id. Email :Santomo97@gmail.com Abstrak : Ide dasar sistem kriptografi kunci publicadalah bahwa kunci kriptografi dibuat sepasang, satukunci untuk enkripsi dan satu kunci untuk dekripsi.kunci untuk enkripsi bersifat public (tidak rahasia) sehingga dinamakan kunci public, sedangkan kunci dekripsi bersifat rahasia sehingga dinamakan kunci private. Hasil kajian teknik enkripsi data dengan metode algoritma simetri menunjukan bahwa kelemahan-kelemahan pada metode simetri dengan kunci tunggal bisa diselesaikan dengan menggunakan metode lainyang disebut dengan metode kunci public yang menggunakan 2 (dua) kunci yaitu kunci public dan kunciprivate. Hasil kajian teknik enkripsi dengan menggunakan metode kunci public yang pernah dilakukanmenunjukan bahwa penggunaan 2 (dua) buah kunci untuk pengamanan data memberikan keamanan yanghandal dan efisien. Sistem kriptografi kunci public cocok untuk kelompok pengguna di lingkungan jaringan komputer.setiap pengguna jaringan mempunyai kunci public dan kunci private yang bersesuaian. Dari sekian banyak algoritma kriptografi kunci publik yang pernah dibuat, algoritma yang popular adalah algoritma RSA.Langkah dalam algoritma RSA adalah membuat pasangan kunci yaitu kunci public dan kunci private.keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor prima.pemfaktoran dilakukan untuk memperoleh kunci private.selama pemfaktoran bilangan besar menjadi faktor-faktor prima belum ditemukan algoritma yang tepat, maka selama itu pula keamanan algoritma RSA tetap terjamin. Kata Kunci : enkripsi, dekripsi, kriptografi, RSA.
PENDAHULUAN Pada proses pengiriman data (pesan) terdapat beberapa hal yang harus diperhatikan, yaitu: kerahasiaan, integritas data,autentikasi dan non repudiasi. Oleh karenanya dibutuhkan suatu proses penyandian atau pengkodean data sebelum dilakukan proses pengiriman. Sehingga data yang dikirim terjaga kerahasiaannya dan tidak dapat dengan mudah diubah untuk menjaga integritas data tersebut. Ilmu yang mempelajari tentang cara-cara pengamanan data dikenal dengan istilah Kriptografi, sedangkan langkah-langkah dalam kriptografi disebutalgoritma kriptografi.berdasarkan dari kunci yang digunakan algoritmakriptografi dapat dibagi menjadi dua, Algoritma Simetri dan Algoritma Assimetri.Dimana Algoritma Simetri menggunakan satu kunci untuk proses enkripsi dandekripsinya. Algoritma kriptografi yang menggunakan kunci simetri adalah, DES,RC2, RC4, RC5, RC6, IDEA, AES, OTP, A5 dan lain sebagainya. Sedangkan Algoritma Assimetri menggunakan dua kunci berbeda untuk proses enkripsi dan dekripsinya, yaitu kunci umum (public key) yang digunakanuntuk proses enkripsi (perubahan data plain teks menjadi chipper text) yangsifatnya tidak rahasia, dan kunci pribadi (private key) yang digunakan untukproses dekripsi (pengembalian data chipper text menjadi plain text) yang sifatnyarahasia dan masing-masing pihak memiliki kunci pribadi yang berbeda.penggunaan kunci pribadi dapat digunakan untuk autentikasi (pengenalan identitas pengirim) dan non repudiasi (pencegahan penyangkalan pengirimandata) karena dalam proses dekripsi dapat diketahui siapa pihak pengirim denganmelihat kunci pribadi yang dipakai. Dalam proses penyandian, penyandian yang biasa dipakai adalah RSA, dimana RSA merupakan proses penyandian kunci asimetris(asymmetric key). Proses perumusan RSA didasarkan pada TeoremaEuler, sedemikian sehingga menghasilkan kunci umum dan kunci pribadi yangsaling berkaitan. Sehingga meskipun proses enkripsi dan dekripsi menggunakandua kunci yang berbeda hasilnya akan tetap benar. Kunci umum dan kunci pribadiyang digunakan adalah suatu bilangan prima, dan disarankan bilangan prima yangbesar.hal ini digunakan untuk pencegahan usaha pemecahan chipper text, karenasemakin besar bilangan prima yang digunakan sebagai kunci maka semakin sulitmencari bilangan besar sebagai faktornya. BAHAN DAN METODE Cryptography salah satu ilmu yang sangat penting dan mulai menonjol sejak digunakan pada aplikasi radio dan pengiriman perintah perang pada Perang Dunia ke II.Aplikasi ini pada PD II digunakan untuk membuat kode dan membakar atau mengacak kode lawan.saat ini cryptography semakin
dikembangkan untuk aplikasi-aplikasi pertahanan keamanan maupun untuk aplikasi bisnis. Pada intinya sistem pengamanan dengan cryptography ada 2 langkah, yaitu : 1. Proses Enkripsi Proses enkripsi adalah suatu proses yang mengubah plainteks (kode sesungguhnya) menjadi ciperteks (kode rahasia). Untuk merubah plainteks ke ciperteks digunakan fungsi matematika dan kunci. 2. Proses Dekripsi Proses dekripsi adalah suatu proses yang mengubah ciperteks menjadi plainteks, dimana pesan yang sudah teracak dikembalikan ke pesan semula yang juga menggunakan fungsi matematika dan kunci. Sebelum proses (proses enkripsi maupun dekripsi) dilakukan, ada satu pengaman awal yaitu menentukan kunci sandi kunci pengaman (key pairs) yang terdiri dari private key, public key dan modulo yang digunakan untuk membuka dan mengunci system. Setelah system dapat dibuka dengan kunci pengaman, proses enkripsi maupun dekripsi dapat dilakukan, baik dilakukan dengan proses enkripsi dan enkripsi sekali saja maupun proses enkripsi dan dekripsi yang dilakukan berkali-kali agar semakin terjamin kerahasiaannnya. Banyak metode yang berasal dari fungsi matematika yang digunakan untuk proses enkripsi maupun dekripsi. Salah satu metode tersebut yang digunakan adalah metode RSA.Pada metodersa yang berperan penting adalah penyandian blok, yaitu setiap proses perhitungan enkripsi dan dekripsi dilakukan dengan hitungan per blok. Metode RSA digagas oleh Ron Rivest, Adi Shamir dan Leonard Adleman dari MIT (Massachussets Institute of Technology) tahun 1977.Walaupun metode RSA sudah berumur 39tahun, tetapi metode ini termasuk metode pengaman pesan yang cukup handal. Besaran-besaran yang digunakan pada algoritma RSA antara lain : 1. p dan q bilangan prima (rahasia) 2. n=pq (tidak rahasia) 3. φ (n ) = (p -1)(q-1) (rahasia) 4. e (kunci enkripsi) (tidak rahasia) 5. d (kunci dekripsi) (rahasia) 6. m (plainteks) (rahasia) 7. c (chiperteks) (tidak rahasia) Proses pembangkitan kunci algoritma RSA memiliki dua kunci yang berbeda untuk proses enkripsi dan dekripsi. Dalam menentukan dua bilangan prima sebagai kunci adalahbilangan prima yang besar, karena pemfaktoran bilangan dari dua bilangan prima yang besar sangat sulit, sehingga keamanan pesan lebih terjamin. Pasangan kunci adalah elemen penting dari algoritma RSA.Berikut ini langkah-langkah dalam membangkitkan dua kunci algoritma RSA adalah :
1. Pilih dua bilangan prima p dan q secara acak, p q. Bilangan ini harus cukup besar (minimal 100 digit). 2. Hitung N= pq. BilanganNdisebut parametersekuriti. 3. Hitung φ = (p-1)(q-1). 4. Pilih bilangan bulat (integer) antara satu dan φ (1 < e < φ) yang tidak mempunyai faktor pembagi dari φ. 5. Hitung d hingga d e 1 (mod φ). Keterangan: Langkah 3 dan 4 dapat dihasilkan dengan cara algoritma Euclidean Langkah 4 dapat dihasilkan dengan menemukan integer x sehingga d = (x(p-1)(q-1) + 1)/e menghasilkan bilangan bulat, kemudian menggunakan nilai dari d (mod (p-1)(q-1)). Setelah melalu cara ini, maka kita akan mendapatkan kunci publik dan kunci privat. Kunci publik terdiri dari dua elemen, yaitu: N, merupakan modulus yang digunakan e, eksponen publik atau eksponen enkripsi. dan kunci privat, yang terdiri dari: N, merupakan modulus yang digunakan, sama seperti pada kunci publik d, eksponen pribadi atau eksponen deskripsi, yang harus dijaga kerahasiaanya Hasil dari algoritma tersebut akan menghasilkan dua kunci, yaitu kunci publik (e,n) dan kunci pribadi (d,n). HASIL Implementasi sistem Implementasi perangkat lunak dilakukan untuk mengetahui apakah aplikasiyang dibangun telah berjalan dengan baik dan memenuhi spesifikasi yang telah ditentukan.pembuatan perancangan aplikasi kriptografi dengan algoritma RSA ini dibuat dengan menggunakan bahasa pemrograman PHP dan menggunakan web server Xampp. Pengujian sistem Setelah sistem selesai dibangun, maka harus diuji apakah sistem dapat berjalan dengan baik dan mudah dioperasikan. Pengujian dilakukan dengan melakukan langkah langkah : 1. Enkripsi teks : a. Masukkan teks yang akan di enkripsi pada form yang di sediakan. b. Tekan button enkripsi maka hasil enkripsi akan muncul pada form cipherteks dan kunci public akan muncul secara otomatis pada form kunci public. 2. Deskripsi teks : a. Masukkan cipherteks yang akan di deskripsi pada form yang di sediakan. b. Tekan button deskripsi maka hasil deskripsi akan muncul pada form
decrypted dan kunci private akan muncul secara otomatis pada form kunci private. Keterangan : semua variable telah di default. Hasil pengujian Dari prosedur pengujian yang dilakukan, terlihat bahwa aplikasi dapat menjalankan fitur-fitur yang ada.hal ini ditunjukkan dengan berhasilnya penggunaan uji coba fitur fitur yang dibuat.hasil pengujian dapat dilihat pada gambar di bawah ini. Gambar 3. Memasukkan teks yang akan di enkripsi. Gambar 4. Hasil proses enkripsi. Gambar 1.Halaman awal aplikasi. Gambar 5. Memasukkan cipherteks yang akan di deskripsi. Gambar 2.Halaman enkripsi deskripsi aplikasi.
diakses 06 Februari 2016. [2] Chandra Putra Devha,(2013),Pengamanan Gambar 6. Hasil proses deskripsi. Kesimpulan Kesimpulan yang dapat diambil dari studi pemakaian RSA dalam penyandian adalah: 1. RSA merupakan salah satu algoritma enkripsi terkuat saat ini. 2. RSA memiliki dua buah kunci, yaitu kunci privat dan kunci publik. Kunci publik adalah kunci yang dipublikasikan, sedangkan kunci privat adalah kunci yang tidak boleh diberitahukan kepada siapapun. 3. Dalam proses pembuatan kunci publik dan kunci privat, terdapat beberapa faktor yang menjadi pertimbangan, yaitu ukuran dari kunci, penentuan nilai p dan q agar sulit untuk dibobol, dan kemungkinan kelemahan yang dapat diketahui saat data selesai dienkripsi. DAFTAR PUSTAKA [1] Supriyono,(2008),PengujianSistem Enkripsi-Dekripsi Dengan Metode Rsa Untuk Pengamanan Dokumen,(online),(jurnal.sttn-batan.ac.id/wpcontent/uploads/2009/04/07-Supriyono.pdf), Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA),(online),(repository.upi.edu/2939/6/S_ MTK_0905803_CHAPTER3.pdf),diakses 06 Februari 2016. [3] Prasetyo Andy Wicaksono,(2007),Studi Pemakaian Algoritma Rsa Dalam Proses EnkripsiDan Aplikasinya,(online),(informatika.stei.itb.ac.i d/rinaldi.munir/matdis/.../makalah0607-80.pdf),diakses 06 Februari 2016. [4] Muhammad Iqbal,(2007),Studi Teknis Metode Enkripsi Rsa Dalam Perhitungannya,(online),(informatika.stei.itb.a c.id/rinaldi.munir/matdis/.../makalah0607-82.pdf),diakses 06 Februari 2016. [5] Prasetyo Andy Wicaksono,(2007), Enkripsi Menggunakan Algoritma RSA,(online),(informatika.stei.itb.ac.id/rinald i.munir/matdis/.../makalah0809-010.pdf), diakses 06 Februari 2016. [6] Swastyayana Wisesa,(2007),Metode Enkripsi RSA,(online),(informatika.stei.itb.ac.id/rinaldi.mu nir/.../makalahif2153-0708-020.pdf), diakses 06 Februari 2016. [7] Hersatoto Listiyono,(2009), Implementasi Algoritma Kunci Public Pada Algoritma Rsa,(online),(http://www.unisbank.ac.id/ojs/i ndex.php/fti2/article/view/270/421), diakses 06 Februari 2016.
[8] Suryoto 2010),Kriptografi Rsa,(online),(core.ac.uk/download/pdf/11723 970.pdf),diakses 06 Februari 2016.