1 / 14

Algoritma RSA

wilfridus.bambang@eng.maranatha.edu. Algoritma RSA. Sejarah. Algoritma ini dikembangkan oleh Ron Rivest , Adi Shamir, dan Len Adleman pada tahun 1977.

art
Télécharger la présentation

Algoritma RSA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. wilfridus.bambang@eng.maranatha.edu Algoritma RSA

  2. Sejarah • Algoritmainidikembangkanoleh Ron Rivest, Adi Shamir, dan Len Adlemanpadatahun 1977. • Algoritmainisekaligusmenjawabtantangandarisebuah paper yang dibuatolehDiffiedan Hellman tentangpendekatanbarumengenaialgoritmakriptografi yang dapatmemenuhikebutuhanuntukmetodekuncipublik. • AlgoritmaRivestShamirAdleman (RSA) iniadalahalgoritmametodekuncipublik yang paling banyakdipakaisampaisaatini.

  3. Cara Kerja • RSA merupakanalgoritma yang melibatkanekspresidenganfungsieksponensial. • Plaintext dienkripsidalamblokblok, dimanasetiapbloktersebutmempunyainilaibiner yang kurangdariangkatertentu (n). • Prosesenkripsidandekripsiuntuk plaintext blokM danciphertextblok C dapatdigambarkansebagaiberikut : C = Me mod n M = Cd mod n = (Me)d mod n = Med mod n

  4. Besaran-besaran yang digunakanpadaalgoritma RSA 1. p dan q bilangan prima (rahasia) 2. n = p ⋅ q (tidakrahasia) 3. m = (p – 1)(q – 1) (rahasia) 4. PK (kunci enkripsi) (tidakrahasia) 5. SK (kunci dekripsi) (rahasia) 6. X (plainteks) (rahasia) 7. Y (cipherteks) (tidakrahasia)

  5. PembuatanKunci 1. Hasilkanduabuah integer prima besar, p dan q Untukmemperolehtingkatkeamanan yang tinggipilih p dan q yang berukuranbesar, 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 thd m artinyafaktorpembagiterbesarkeduanya adalah 1, secaramatematisdisebutgcd(e,m) = 1. Untukmencarinya dapatdigunakanalgoritma Euclid. 5. Cari d, sehingga e*d = 1 mod (m), atau d = (1+nm)/e Untukbilanganbesar, dapatdigunakanalgoritma extended Euclid. 6. Kuncipublik : e, n Kunci private : d, n

  6. Enkripsi & Dekripsi B mengenkripsi message M untuk A Ygharusdilakukan B : 1. Ambilkuncipublik A ygotentik (n, e) 2. Representasikan message sebagaiinteger M dalam interval [0,n-1] 3. Hitung C = M ^ e (mod n) 4. Kirim C ke A Untukmendekripsi, A melakukan : Gunakankuncipribadi d untuk M = C^(d) (mod n) Nb: jikanilaidaripesan > nilaidari mod, makaprosesdekripsitidakakanberjalandenganbaik

  7. Bilangan Prima 2-256

  8. Contoh Pilih d yg relatively prime terhadapm gcd(e,m) = 1 gcd(e, 20 ) = 1 e = 2 => gcd(e, 20) = 2 (tidak) e = 3 => gcd(e, 20) = 1 (ya) e = 5 =>gcd(5,20) =5 (tidak) e = 7 =>gcd(7,20) =1 (ya) Asumsidipilih e =3 p = 3, q = 11 n = 3 * 11 = 33 m = (3-1) * (11-1) = 20 e = 2 => gcd(e, 20) = 2 e = 3 => gcd(e, 20) = 1 (yes) d = 0 => e = 1 / 3 d = 1 => e = 21 / 3 = 7 (yes) Public key : (3, 33) Private key : (7, 33) Carinilai d e*d mod (m) = 1 3*d mod 20 = 1 Dari hasi l perhitungan: misaldipilihd=7 21 mod 20 =1

  9. Contoh (2) Try encryption : message “14“ C = 14 ^ 3 (mod 33) = 2744 (mod 33) = 5 Decrypt : ciphertext 5 M = 5 ^ 7 (mod 33) = 78125 (mod 33) = 14 Try encryption : message "2“ C = 2 ^ 3 (mod 33) = 8 Try to decrypt : ciphertext "8“ M = 8 ^ 7 (mod 33) = 2097152 (mod 33) = 2

  10. Contoh (3) • Pilih 2 bilangan prima p dan q, misalnya 7 dan 17 • Cari n = pq = 7 x 17 = 119 • Hitungø(n)=(p1)(q1)= (71)(171)= 96 • Pilihe yang relatif prima terhadap ø(n) = 96 dankurangdari ø(n), dalam • halinie = 5 • Tentukand dimanaed = 1 mod ø(n) dan d < ø(n), berarti 5 x d = 1 mod 96, d = 77 karena 5 x 77 = 4 x 96 + 1 • Didapatkuncipublik {5,119 } dankuncipribadi {77,119 } • Jikakitamenggunakankuncitersebutuntukmengenkripsipesan M = 19, maka C = Me mod n = 195 mod 119 = 66 (ciphertextyang dihasilkan) • Jikakitainginmendekripsiciphertexttersebut, kitamasukkanrumusdengankuncipribadi: M = Cd mod n = 6677 mod 119 = 19

  11. Contoh (4) • Misalkan p = 47 dan q = 71 (keduanya prima). • n= p x q = 3337 dan m= (p – 1)(q – 1) = 3220. • Pilihkuncipublik e = 79, karena 79 relatif prima dengan 3220. e dan n dapatdipublikasikankeumum. (e,n) = (79, 3337) • Selanjutnyaakandihitungkuncidekripsi d • Denganmencobanilai-nilai m = 1, 2, 3, …, diperolehnilai SK yang bulatadalah 1019. Iniadalahkuncidekripsi yang harusdirahasiakan. • (d,n) = (1019, 3337) • C=m^e (mod n) = 10^79 mod 3337 = 3269 • M=c^d (mod n) = 3269^1019 mod 3337 = 10

  12. AktifitasCyptanalysisutkmemecahkankode RSA • Brute force : mencobasemuakemungkinankuncipribadi • Mencobamencarifaktorp dan q, sehinggadapatdihitung ø(n). Denganmengetahui ø(n), maka dapat ditentukan faktor d. • Menentukanø(n) secaralangsungtanpamenentukan p dan q. Hal inijugadapatmenemukanhasilperhitungandarifaktord. • Menentukand secaralangsung, tanpamenentukan ø(n).

  13. Pustaka • Muhash, Algoritma RSA, 2008 • RinaldiMunir, IF5054 Kriptografi/Algoritma RSA danElGamal, IF-ITB • SetiawanAji, KunciPublik, 2005 • TediHeriyanto <tedi-h@usa.net>,PengenalanAlgoritma RSA, 2000

  14. TerimaKasih

More Related