Nilai dari setiap Plaintext : P
1
= C
d
mod p = C
1 d
= 269 mod p
181
P mod 487
1
P = 5
plaintext = E
2
= C
d
mod p = C
2 d
= 354 mod p
181
P mod 487
2
P = 3
plaintext = C
3
= C
d
mod p = C
3 d
= 314 mod p
181
P mod 487
3
P = 9
plaintext = I
4
= C
d
mod p = C
4 d
= 107 mod p
181
P mod 487
1
Setelah mendapatkan semua plaintext terhitung maka dapat dirangkai seluruh kode dan menghasilkan plaintext : ECIL
= 12 plaintext = L
8. Dari contoh didapat bahwa Alice dapat membuka kembali pesan yang sudah dienkripsi dengan melakukan proses dekripsi.
2.5. Algoritma RSA
2.5.1. Perkembangan Algoritma RSA
Algortima RSA dijabarkan pada tahun 1977 oleh tiga orang yaitu Ron Rivest, Adi Shamir dan Len Adleman yang berasal dari Massachusetts Institute of
Technology. Huruf RSA itu sendiri berasal dari inisial nama mereka Rivest Shamir Adleman. Algoritma ini dipatenkan oleh Massachusetts Institute of
Technology pada tahun 1983 di Amerika Serikat
Stallings, 2005.
Algoritma RSA adalah sebuah algoritma pada enkripsi kunci publik. RSA merupakan
algoritma pertama yang cocok digunakan untuk digital
signature karena kehandalannya dalam proses enkripsi. Hal ini menjadikan algoritma yang lebih banyak dikembangkan dalam bidang kriptografi public key.
Universitas Sumatera Utara
2.5.2. Proses Algoritma RSA
Proses atau cara kerja dari algoritma RSA dapat dilihat sebagai berikut: 1. Menentukan dua bilangan prima p
≠ q secara acak dan terpisah untuk tiap- tiap p dan q.
2. Melakukan perhitungan n = pq. n merupakan hasil perkalian dari p dikalikan dengan q
3. Melakukan perhitungan nilai totient φ n= p-1q-1.
4. Menentukan nilai kunci enkripsi e dengan syarat bahwa nilangan tersebut merupakan bilangan bulat integer 1 e
φn dimana nilai GCD φn, e=1. 5. Menghitung kunci enkripsi yang dilakukan dengan perhitungan kunci dekripsi
dengan rumus d ≡ e
-1
6. Setelah mendapatkan kunci-kunci tersebut maka dapat dilakukan proses enkripsi maupun proses dekripsi.
mod φn.
7. Rumus untuk melakukan proses enkripsi adalah C = M
e
8. Rumus untuk melakukan proses dekripsi adalah P = C mod n
d
mod n
2.5.3. Contoh Kasus Algoritma RSA
Algoritma RSA disimulasikan dalam sebuah simulasi pengiriman pesan yang dilakukan antara Alice dan Bob. Alice mengizinkan Bob untuk mengirimkan
sebuah pesan pribadi private message. Dalam algoritma RSA multiple-key, Alice dan Bob akan melakukan langkah-langkah pada sebagai berikut :
1. Alice penerima dan Bob pengirim menyepakati dua buah bilangan prima sebagai kunci privat dari pesan yang akan dikirimkan. Misalkan kunci tersebut
adalah bernilai p=631 dan q=311. 2. Setelah disepakati kedua bilangan prima tersebut kemudian digunakan untuk
menghitung nilai totient dengan rumus n =pq, sehingga didapat nilai: n = 631311= 196241
3. Langkah selanjutnya adalah menghitung nilai totient dengan rumus ϕn =p–1q-1, sehingga didapat nilai:
ϕn = 631-1311-1= 195300.
Nilai n dan nilai totient akan digunakan dalam perhitungan nilai kunci enkripsi.
Universitas Sumatera Utara
4. Dari nilai totient yang didapat, maka Bob dapat menghitung nilai kunci enkripsi e yang digunakan dalam program dengan syarat bahwa nilai 1e
ϕn dan juga nilai e relatif prima dengan
ϕn. Hal ini dapat dihitung dengan menghitung GCD
ϕn,e=1. Dalam perhitungan didapati: GCD 195300, e = 1 , 1e195300
e = 78899 Didapat nilai e yang memungkinkan dan disepakati oleh keduanya adalah e =
78899. Dengan nilai kunci enkripsi ini makan selanjutnya dapat dilakukan proses enkripsi.
5. Kunci dekripsi juga langsung ditetapkan oleh kedua belah pihak dengan syarat rumusan d = e
-1
d = e mod
ϕ n. Dari nilai e yang didapat sebelumnya maka dapat dihitung nilai d dengan langkah sebagai berikut :
-1
d = 78899 mod
ϕ n
-1
d = 17399 mod 195300
Kunci dekripsi digunakan untuk mengembalikan nilai ciphertext ke dalam bentuk plaintext.
6. Proses enkripsi merupakan proses dimana pesan yang sebelumnya berupa plaintext yang dikodekan menjadi ciphertext. Terlebih dahulu Bob akan
membuat pesan rahasia berupa teks. Dalam kasus ini pesan yang akan digunakan adalah kode 100. Dari rumus perhitungan enkripsi C = m
e
Pesan yang akan dikirim M = 100 mod n,
maka dapat dihitung kode ciphertext dari setiap pesan tersebut sebagai berikut:
Nilai dari setiap Plaintext P
1
C = 100, maka nilai ciphertext dari setiap pesan
dengan perhitungan : = M
e
= 100 mod n
78899
C = 31538 mod 196241
7. Setelah mendapatkan semua kode ciphertext maka dapat dirangkai seluruh kode yang menghasilkan ciphertext sebesar 31538. Pesan inilah yang akan
Universitas Sumatera Utara
dikirimkan kepada Alice, sehingga pihak lain tidak akan mengetahui makna pesan sebenarnya.
8. Alice dapat mendapatkan pesan sebenarnya dengan melakukan proses dekripsi. Dari rumus perhitungan dekripsi P = C
d
C = 31538 mod n, maka dapat dihitung kode
plaintext dari setiap chipertext tersebut sebagai berikut:
Nilai dari setiap Plaintext : P
1
= C
d
mod n = C
1 d
= 31538 mod n
17399
P mod 196241
1
Setelah mendapatkan semua plaintext terhitung maka dapat dirangkai seluruh kode dan menghasilkan plaintext adalah 100
= 100
9. Dari contoh didapat bahwa Alice dapat membuka kembali pesan yang sudah dienkripsi dengan melakukan proses dekripsi.
2.5.4. Algoritma RSA Multiple Key