Perkembangan Algoritma RSA Proses Algoritma RSA Contoh Kasus Algoritma RSA

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