Kamis, 05 Januari 2017

ALGORITMA RSA



Pengertian RSA

Pada penelitian ini algoritma kriptografi yang akan digunakan adalah algoritma kriptografi asimetris RSA yang ditemukan oleh Ron Rivest, Adi Shamir, dan Leonard Adleman pada tahun 1978 dan RSA merupakan singkatan inisial dari nama mereka bertiga.RSA digunakan karena merupakan algoritma kriptografi asimetris yang paling sering digunakan pada saat ini dikarenakan kehandalannya. Panjang kunci dalam bit dapat diatur, dengan semakin panjang bit maka semakin sukar untuk dipecahkan karena sulitnyamemfaktorkan dua bilangan yang sangat besar tersebut, tetapi juga semakin lama pada proses dekripsinya.

Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor prima. Pemfaktoran dilakukan untuk memperoleh kunci pribadi. Selama pemfaktoran bilangan besar menjadi faktor-faktor prima belum ditemukan algoritma yang mangkus, maka selama itu pula keamanan algoritma RSA tetap terjamin.

·       Besaran-besaran yang digunakan pada algoritma RSA:
1.  p dan q bilangan prima                                 (rahasia)
2.  r = p × q                                                          (tidak rahasia)
3.  f(r) = (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)    

Prosedur Membuat Pasangan Kunci

1.      Pilih dua buah bilangan prima sembarang, p dan q.
2.    Hitung r = p × q. Sebaiknya p ¹ q, sebab jika p = q maka r = p2sehingga p dapat diperoleh dengan menarik akar pangkat dua dari r.
3.     Hitung f(r) = (p – 1)(q – 1).
4.     Pilih kunci publik, PK, yang relatif prima terhadap f(r).
5.   Bangkitkan kunci rahasia dengan menggunakan persamaan (5), yaitu SK × PK º 1 (mod f(r)).


Kekuatan dan Keamanan RSA
·       Keamanan algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan non prima menjadi faktor primanya, yang dalam hal ini r = p ´ q.

·       Sekali r berhasil difaktorkan menjadi p dan q, maka  f(r) = (p– 1) (q – 1) dapat dihitung. Selanjutnya, karena kunci enkrispiPK diumumkan (tidak rahasia), maka  kunci dekripsi SK dapat dihitung dari persamaan PK × SK º 1 (mod f(r)).
         
·       Penemu algoritma RSA menyarankan nilai p dan q panjangnya lebih dari 100 digit. Dengan demikian hasil kali r = p ´ q akan berukuran lebih dari 200 digit. Menurut Rivest dan kawan-kawan, uasaha untuk mencari faktor bilangan 200 digit membutuhkan waktu komputasi selama 4 milyar tahun! (dengan asumsi bahwa algoritma pemfaktoran yang digunakan adalah algoritma yang tercepat saat ini dan komputer yang dipakai mempunyai kecepatan 1 milidetik).

·       Untunglah algoritma yang paling mangkus untuk memfaktorkan bilangan yang besar belum ditemukan. Inilah yang membuat algoritma RSA tetap dipakai hingga saat ini. Selagi belum ditemukan algoritma yang mangkus untuk memfaktorkan bilangan bulat menjadi faktor primanya, maka algoritma RSA tetap direkomendasikan untuk menyandikan pesan.

Tidak ada komentar:

Posting Komentar