Algoritma RSA

on Kamis, 16 November 2017

RSA di bidang kriptografi adalah sebuah algoritma pada enkripsi public key. RSA merupakan algoritma pertama yang cocok untuk digital signature seperti halnya ekripsi, dan salah satu yang paling maju dalam bidang kriptografi public key. RSA masih digunakan secara luas dalam protokol electronic commerce, dan dipercaya dalam mengamankan dengan menggunakan kunci yang cukup panjang.

Algortima RSA dijabarkan pada tahun 1977 oleh tiga orang : Ron Rivest, Adi Shamir dan Len Adleman dari Massachusetts Institute of Technology. Huruf RSA itu sendiri berasal dari inisial nama mereka (Rivest—Shamir—Adleman).
Clifford Cocks, seorang matematikawan Inggris yang bekerja untuk GCHQ, menjabarkan tentang sistem ekuivalen pada dokumen internal pada tahun 1973. Penemuan Clifford Cocks tidak terungkap hingga tahun 1997 karena alasan top-secret classification.
Algoritma tersebut dipatenkan oleh Massachusetts Institute of Technology pada tahun 1983 di Amerika Serikat sebagai U.S. Patent 4.405.829. Paten tersebut berlaku hingga 21 September 2000. Semenjak Algoritma RSA dipublikasikan sebagai aplikasi paten, regulasi di sebagian besar negara-negara lain tidak memungkinkan penggunaan paten. Hal ini menyebabkan hasil temuan Clifford Cocks di kenal secara umum, paten di Amerika Serikat tidak dapat mematenkannya.

Sumber :
https://id.wikipedia.org/wiki/RSA

Pembuatan Kunci
1. Tentukan p dan q : Pilih 2 Bilangan Prima
Cth : p = 23, q =17
2. hitung N
N = p x q
N = 23 x17
N = 391
3. hitung M
M = ( p - 1 ) x ( q - 1 )
M = ( 23 - 1 ) x ( 17 - 1 )
M = 22 x 16
M = 352
4. tentukan e
e adalah bilangan prima > 2
Cth : e = 7
5. hitung d
dimana d x e = 1 mod M
d x 7 = 1 mod M atau (d x 7) mod M = 1
cara menghitung d :
buat percobaan dengan persamaan (a x M + 1) / e
a dimulai dari 1, jika hasil desimal maka a+1
(1 x 352 + 1) / 7 = 353/7 = 50.43 (desimal)
(2 x 352 + 1) / 7 = 705/7 = 100.71 (desimal)
(3 x 352 + 1) / 7 = 1057/7 = 151 (tidak desimal)

maka d =151
karena (151 x 7) mod 352 = 1

pasangan kunci yaitu :
public key {e,N} = {7,391}
private key {d,N} = {151,391}

Enkripsi
Cth :
Plaintext = "AKU"
berdasarkan kode ASCII
A=65
K=75
U=85
rumus enkripsi :
E(ta)=(ta^e) mod N
E(65)=(65^7) mod 391
E(65)= 176
E(75)=(75^7) mod 391
E(75)= 233
E(85)=(85^7) mod 391
E(85)= 340
ciphertext =176,233,340

Dekripsi
ciphertext = 176,233,340
rumus dekripsi :
D(Ca)=(Ca^d) mod N
E(176)=(176^151) mod 391
E(176)=65
E(233)=(233^151) mod 391
E(233)=75
E(340)=(340^151) mod 391
E(340)=85
plaintext = 65,75,85 = A,K,U

0 komentar: