Analisis Algoritma RSA Implementasi kriptografi menggunakan algoritma RSA untuk mengamankan SMS Berbasis J2ME

aplikasi SMS yang ada hanya berupa keamanan pada handphone, bukan keamanan pada SMS yang disampaikan. Salah satu cara untuk melakukan pengamanan data yaitu dengan menggunakan sistem keamanan data berupa metode kriptografi. Data yang akan di enkripsi berupa SMS yang telah dikirim oleh pengirim sms. Masalah utama pada penelitian ini adalah implementasi kriptografi yang dengan menggunakan algoritma RSA. Setelah dijelaskan dengan rinci permasalahan diatas, maka pada bagian ini akan dibahas mengenai analisis terhadap algoritma RSA dan juga terhadap problems masalah-masalah yang dihadapi dan opportunities peluang-peluang yang bisa diambil dari keadaan sistem saat ini. Analisis terhadap problem dan opportunities akan diperlihatkan dengan menggunakan metode yaitu Matriks Masalah, Kesempatan, Tujuan dan Batasan.

a. Analisis Algoritma RSA

Algorima RSA mendasarkan proses enkripsi dan dekripsinya pada konsep bilangan prima dan aritmetika modulo. Kunci enkripsi maupun kunci dekripsi keduanya harus berupa bilangan bulat. Kunci enkripsi tidak dirahasiakan dan diketahui umum sehingga dinamakan juga kunci publik, namun kunci untuk dekripsi bersifat rahasia . Kunci dekripsi dibangkitkan dari beberapa buah bilangan prima bersama- sama dengan kunci enkripsi. Untuk menemukan kunci dekripsi, suatu bilangan non prima harus difaktorkan menjadi faktor primanya. Dalam kenyataannya, memfaktorkan bilangan non prima menjadi faktor primanya bukanlah pekerjaan yang mudah. Belum ada algoritma yang secara efisien yang dapat melakukan pemfaktoran tersebut. Semakin besar bilangan non primanya maka semakin sulit pulapemfaktorannya. Semakin sulit pemfaktorannya, semakin kuat pula algoritma RSA. Secara ringkas, algoritma RSA adalah sebagai berikut : 1. Pilih dua buah bilangan prima sembarang, sebut a dan b. Jaga kerahasiaan nilai a dan b ini. 2. Hitung n = a x b. 3. Hitung m = a - 1 x b - 1. Sekali m telah dihitung, a dan b dapat dihapus untuk mencegah diketahuinya oleh orang lain. 4. Pilih sebuah bilangan bulat untuk kunci publik, sebut namanya e, yang relatif prima terhadap m. 5. Bangkitkan kunci dekripsi d, dengan kekongruenan ed º 1 mod m. Lakukan enkripsi terhadap isi pesan dengan persamaan ci = pi e mod n, yang dalam hal ini pi adalah blok plainteks, ci adalah chiperteks yang diperoleh, dan e adalah kunci enkripsi kunci publik. Harus dipenuhi persyaratan bahwa pi harus terletak dalam himpunan nilai 0, 1, 2, ..., n-1 untuk menjamin hasil perhitungan tidak berada diluar himpunan. 6. Proses dekripsi dilakukan dengan menggunakan persamaan pi = ci d mod n, dalam hal ini d adalah kunci dekripsi. Seperti sudah dikatakan sebelumnya, kekuatan algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan non prima menjadi faktor primanya, yang dalam hal ini n = a x b. Sekali n berhasil difaktorkan menjadi a dan b, maka m = a - 1 x b - 1 dapat dihitung. Selanjutnya, karena kunci enkripsi e diumumkan tidak rahasia, maka kunci dekripsi d dapat dihitung dari persamaan e x d º 1 mod m. Jika hal ini sampai terjadi berarti proses dekripsi dapat dilakukan oleh orang yang tidak berhak.

b. Problems, Opportunities, Objectives, and Constraints Matrix