IMPLEMENTASI ALGORITMA RSA UNTUK PENGAMANAN PESAN PADA APLIKASI INSTANT MESSENGER Skripsi Diajukan untuk memenuhi syarat kelulusan Jenjang Strata Satu Program Studi Sistem Informasi Oleh: Teten Nugraha 10508648 PROGRAM STUDI SISTEM INFORMASI FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS KOMPUTER INDONESIA BANDUNG 2012
Latar Belakang Pengguna instant messenger mencapai 10 juta lebih pengguna aktif di Asia Tenggara. Kebanyakan aplikasi instant messenger dibangun bukan berdasarkan aspek keamanan Penyadapan (eavesdroppingo) menjadi urutan pertama dalam kasus penyerangan terhadap aplikasi instant messenger (Symantec Enterprise Security)
Latar Belakang (lanjutan) Kebutuhan akan enkripsi data menjadi sangat penting mengingat sifat data yang memerlukan tingkat privasi yang tinggi Salah satu algoritma enkripsi yang cocok digunakan yaitu Algoritma RSA (Rivest, Shamir, Adleman) Algoritma RSA melakukan proses pemfaktoran dalam proses pembangkitan kunci, enkripsi dan dekripsi.
Rentannya keamanan pada aplikasi instant messenger Penyadapan menjadi urutan pertama dalam kasus penyerangan Identifikasi Masalah
Rumusan Masalah “ Bagaimana algoritma RSA dapat mengamankan pesan pada aplikasi instant messenger ? “.
Maksud dan Tujuan Penelitian Mengimplementasikan algoritma RSA pada aplikasi instant messenger. Membuat sebuah aplikasi instant messenger dengan mengimplemtasikan algoritma RSA didalamnya sehingga diharapkan dapat menjaga privasi setiap pengguna nya.
Manfaat Penelitian 1. Untuk Pengembangan Ilmu Pengembangan ilmu kriptografi khususnya yang dapat berjalan pada aplikasi instant messenger 2. Untuk Peneliti Lain Menjadi referensi kepada peneliti yang mengambil kajian yang sama 3. Untuk Penulis Menambah wawasan, kualitas keilmuan baik teori maupun praktek
Batasan Masalah Input berupa teks yang dapat dirubah ke dalam bentuk ASCII. Tidak Sinkron database Tidak mendukung input berupa audio. Tidak mendukung fasilitas add friend, delete friend dan block friend. Tidak mendukung operasi file transfer.
Pembentukan Rumus Algoritma RSA (Rinaldi Munir) aΦ(n)=1 (mod n) (1) Berdasarkan sifat ak=bk (mod n) untuk k bilangan bulat ≥ 1, maka persamaan (1) dapat ditulis menjadi : ak Φ(n)=1(mod n) (2) Bila a diganti dengan m , maka persamaan (2) menjadi mk Φ(n)=1 ( mod n) (3) Berdasarkan sifat ac = bc (mod n), maka bila persamaan (3) dikali m hasil nya menjadi : mk Φ(n)+1=m ( mod n) (4)
Pembentukan Rumus Algoritma RSA (lanjutan) Misalkan e dan d dipilih sedemikian sehingga e.d = 1 (mod Φ(n)) (5) atau e.d = k Φ(n)+1 (6) Sulihkan persamaan (6) ke dalam persamaan (4) menjadi : m e.d=m(mod n) ( 7) Persamaan (7) dapat ditulis kembali menjadi : (m e)d=m(mod n) (8)
Rumus Algoritma RSA Berdasarkan persamaan (8), maka enkripsi dan dekripsi dirumuskan sebagai berikut : Ee(m) = c = me mod n (9) Dd(c) = m = cd mod n (10)
Flowchart Algoritma RSA
Cara Kerja Algoritma RSA Proses Pembentukan Kunci (Key Generation) Proses Enkripsi (Encryption) Proses Dekripsi (Decryption)
Proses Pembentukan Kunci (Key Generation) Masukan nilai prima p dan q secara acak Tentukan nilai modulus dengan rumus n=p.q Tentukan nilai Φ(n) dengan persamaan : Φ(n) = (p-1)(q-1) Pilih sebuah angka kecil e yang relatif prima terhadap Φ(n) untuk menghasilkan nilai 1 gcd (e, Φ(n))=1
Proses Pembentukan Kunci (lanjutan) Pembentukan kunci privat d = 1+(mod(m))/e Kunci publik adalah pasangan (e,n) Kunci privat adalah pasangan (d,n)
Flowchart Pembangkitan Kunci
Proses Enkripsi Menggunakan Persamaan ci = mi e mod n c = ciphertext m = pesan (plaintext) e = kunci publik n = modulus i = indeks blok yang akan dienkripsi
Flowchart Enkripsi
Proses Dekripsi Menggunakan Persamaan mi = ci d mod n c = ciphertext m = pesan (plaintext) d = kunci privat n = modulus i = nilai-nilai blok yang akan didekripsi
Flowchart Dekripsi
Paket untuk Proses Implementasi Java.Math Java.RMI (Remote Method Invocation) Java.Math.BigInteger Java.Net Java.Lang.Thread
Gambaran Umum Sistem 1142 1142 Dekripsi Enkripsi Hi Hi
Distribusi Kunci java.rmi.Remote adalah sebuah interface yang mengenkapsulasi setiap kunci yang digunakan Kunci dikirimkan secara by pass artinya kunci dikirimkan langsung secara serentak Selain itu, pesan yang dikirim dibentuk menjadi stub object ke VM Server dan dari VM server dibentuk skeleton object. Mekanisme ini menggunakan proses yang disebut Marshalling
Kesimpulan Dengan adanya aplikasi ini dapat meningkatkan keamanan pada aplikasi instant messenger khususnya pada proses pengamanan pesan. Dengan adanya aplikasi ini dapat mengurangi tingkat penyadapan pesan (eavesdroppingo) karena aplikasi mengimplementasikan algoritma RSA.
Saran Memperhatikan masalah kelebihan dan kelemahan Algoritma RSA Mendukung input berupa audio Mendukung fasilitas add friend, delete friend dan block friend. Mendukung operasi transfer file. Sinkronisasi dengan database
Terima Kasih