RSA merupakan algoritma kriptografi asimetri, dimana kunci yang
digunakan untuk mengenkripsi berbeda dengan yang digunakan untuk
mendekripsi. Kunci yang digunakan untuk mengenkripsi disebut dengan
kunci public, dan yang digunakan untuk mendekripsi disebut dengan kunci
privat.
RSA adalah salah satu algoritma kriptografi yang menggunakan
konsep kriptografi kunci publik
RSA membutuhkan tiga langkah dalam
prosesnya, yaitu pembangkitan kunci, enkripsi, dan dekripsi.
Proses
enkripsi dan dekripsi merupakan proses yang hampir sama. Jika bilangan
acak yang dibangkitkan kuat, maka akan lebih sulit untuk melakukan
cracking terhadap pesan
Fungsi enkripsi dan dekripsinya dijabarkan dalam fungsi berikut :
C = Me mod n ( fungsi enkripsi )
M = Cd mod n (fungsi dekripsi)
C = Cipherteks
M = Message / Plainteks
e = kunci publik
d= kunci privat
n = modulo pembagi(akan dijelaskan lebih lanjut )
Kedua pihak harus mengetahui nilai e dan nilai n ini, dan salah satu
pihak harus memilki d untuk melakukan dekripsi terhadap hasil enkripsi
dengan menggunakan public key e. Penggunaan algoritma ini harus memenuhi
kriteria berikut :
1. Memungkinkan untuk mencari nilai e, d, n sedemikian rupa sehingga Med mod n = M untuk semua M < n.
2. Relatif mudah untuk menghitung nilai Me mod n dan Cd mod n untuk semua nilai M < n.
3. Tidak memungkinkan mencari nilai d jika diberikan nilai n dan e.
2. Relatif mudah untuk menghitung nilai Me mod n dan Cd mod n untuk semua nilai M < n.
3. Tidak memungkinkan mencari nilai d jika diberikan nilai n dan e.
Syarat nilai e dan d ini, gcd(d,e)=1
sebelum memulai penggunaan RSA ini, terlebih dahulu kita harus memiliki bahan – bahan dasar sebagai berikut :
1. p, q = 2 bilangan prima yang dirahasiakan
2. n, dari hasil p.q
3. e, dengan ketentuan gcd (Φ(n), e) =1
4. d, e-1 (mod Φ(n))