Académique Documents
Professionnel Documents
Culture Documents
Sejarah
Algoritma ini dikembangkan oleh Ron
Rivest, Adi Shamir, dan Len Adleman pada
tahun 1977.
Algoritma
ini
sekaligus
menjawab
tantangan dari sebuah paper yang dibuat
oleh
Diffie
dan
Hellman
tentang
pendekatan baru mengenai algoritma
kriptografi
yang
dapat
memenuhi
kebutuhan untuk metode kunci publik.
Algoritma Rivest Shamir Adleman (RSA) ini
adalah algoritma metode kunci publik yang
paling banyak dipakai sampai saat ini.
Cara Kerja
RSA
merupakan
algoritma
yang
melibatkan ekspresi dengan fungsi
eksponensial.
Plaintext dienkripsi dalam blok-blok,
dimana
setiap
blok
tersebut
mempunyai nilai biner yang kurang
dari angka tertentu (n).
Proses enkripsi dan dekripsi untuk
plaintext blok M dan ciphertext blok C
dapat digambarkan sebagai berikut :
C = Me mod n
M = Cd mod n = (Me)d mod n = Med mod n
Besaran-besaran yang
digunakan pada algoritma RSA
1. p dan q bilangan prima (rahasia)
2. n = p q (tidak rahasia)
3. m = (p 1)(q 1) (rahasia)
4. PK (kunci enkripsi) (tidak rahasia)
5. SK (kunci dekripsi) (rahasia)
6. X (plainteks) (rahasia)
7. Y (cipherteks) (tidak rahasia)
Pembuatan Kunci
1. Hasilkan dua buah integer prima besar, p dan q
Untuk memperoleh tingkat keamanan yang tinggi pilih p
dan q
yang berukuran besar, misalnya 1024 bit.
2. Hitung m = (p-1)*(q-1)
3. Hitung n = p*q
4. Pilih d yg relatively prime terhadap m
e relatively prime terhadap m artinya faktor pembagi
terbesar keduanya
adalah 1, secara matematis disebut gcd(e,m) = 1. Untuk
mencarinya
dapat digunakan algoritma Euclid.
5. Cari d, sehingga e*d = 1 mod (m), atau d = (1+nm)/e
Untuk bilangan besar, dapat digunakan algoritma
extended
Euclid.
Yg harus dilakukan B :
1. Ambil kunci publik A yg otentik (n, e)
2. Representasikan message sebagai integer M
dalam interval [0,n-1]
3. Hitung C = M ^ e (mod n)
4. Kirim C ke A
Contoh
p = 3, q = 11
n = 3 * 11 = 33
m = (3-1) * (11-1) = 20
d = 0 => e = 1 / 3
d = 1 => e = 21 / 3 = 7
(yes)
Public key : (3, 33)
21 mod 20 =1
Contoh (2)
Try encryption :
Try encryption :
message 14
message "2
C = 2 ^ 3 (mod 33) C = 14 ^ 3 (mod 33)
= 2744 (mod 33)
=8
= 5
Try to decrypt :
ciphertext "8
Decrypt : ciphertext 5
M = 8 ^ 7 (mod 33) M = 5 ^ 7 (mod 33)
= 2097152 (mod 33) = 78125 (mod 33)
= 14
=2
Contoh (3)
Contoh (4)
Misalkan p = 47 dan q = 71 (keduanya prima).
n= p x q = 3337 dan m= (p 1)(q 1) = 3220.
Pilih kunci publik e = 79, karena 79 relatif prima
dengan 3220. e dan n dapat dipublikasikan ke
umum. (e,n) = (79, 3337)
Selanjutnya akan dihitung kunci dekripsi d
Dengan mencoba nilai-nilai m = 1, 2, 3, ,
diperoleh nilai SK yang bulat adalah 1019. Ini
adalah kunci dekripsi yang harus dirahasiakan.
(d,n) = (1019, 3337)
C=m^e (mod n) = 10^79 mod 3337 = 3269
M=c^d (mod n) = 3269^1019 mod 3337 =
10
Terima
Kasih