Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Sejarah  Algoritma ini dikembangkan oleh Ron Rivest, Adi Shamir, dan Len Adleman pada tahun 1977.  Algoritma ini.

Presentasi serupa


Presentasi berjudul: "Sejarah  Algoritma ini dikembangkan oleh Ron Rivest, Adi Shamir, dan Len Adleman pada tahun 1977.  Algoritma ini."— Transcript presentasi:

1 wilfridus.bambang@eng.maranatha.edu

2 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 RivestShamirAdleman (RSA) ini adalah algoritma metode kunci publik yang paling banyak dipakai sampai saat ini.

3 Cara Kerja  RSA merupakan algoritma yang melibatkan ekspresi dengan fungsi eksponensial.  Plaintext dienkripsi dalam blokblok, 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

4 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) (tidakrahasia) 5. SK (kunci dekripsi) (rahasia) 6. X (plainteks) (rahasia) 7. Y (cipherteks) (tidak rahasia)

5 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 thd 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. 6. Kunci publik : e, n Kunci private : d, n

6 Enkripsi & Dekripsi B mengenkripsi message M untuk A 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 Untuk mendekripsi, A melakukan : Gunakan kunci pribadi d untuk M = C^(d) (mod n) Nb: jika nilai dari pesan > nilai dari mod, maka proses dekripsi tidak akan berjalan dengan baik

7 Bilangan Prima 2-256

8 Contoh 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) Pilih d yg relatively prime terhadap m 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) Asumsi dipilih e =3 Cari nilai d e*d mod (m) = 1 3*d mod 20 = 1 Dari hasi l perhitungan: misal dipilih d=7 21 mod 20 =1

9 Contoh (2) Try encryption : message "2“ C = 2 ^ 3 (mod 33) = 8 Try to decrypt : ciphertext "8“ M = 8 ^ 7 (mod 33) = 2097152 (mod 33) = 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

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  Pilih e yang relatif prima terhadap ø(n) = 96 dan kurang dari ø(n), dalam  hal ini e = 5  Tentukan d dimana ed = 1 mod ø(n) dan d < ø(n), berarti 5 x d = 1 mod 96, d = 77 karena 5 x 77 = 4 x 96 + 1  Didapat kunci publik {5,119 } dan kunci pribadi {77,119 }  Jika kita menggunakan kunci tersebut untuk mengenkripsi pesan M = 19, maka C = Me mod n = 195 mod 119 = 66 (ciphertext yang dihasilkan)  Jika kita ingin mendekripsi ciphertext tersebut, kita masukkan rumus dengan kunci pribadi : 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.  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

12 Aktifitas Cyptanalysis utk memecahkan kode RSA  Brute force : mencoba semua kemungkinan kunci pribadi  Mencoba mencari faktor p dan q, sehingga dapat dihitung ø(n). Dengan mengetahui ø(n), maka dapat ditentukan faktor d.  Menentukan ø(n) secara langsung tanpa menentukan p dan q. Hal ini juga dapat menemukan hasil perhitungan dari faktor d.  Menentukan d secara langsung, tanpa menentukan ø(n).

13 Pustaka  Muhash, Algoritma RSA, 2008  Rinaldi Munir, IF5054 Kriptografi/Algoritma RSA dan ElGamal, IF-ITB  Setiawan Aji, Kunci Publik, 2005  Tedi Heriyanto,Pengenalan Algoritma RSA, 2000

14 Terima Kasih


Download ppt "Sejarah  Algoritma ini dikembangkan oleh Ron Rivest, Adi Shamir, dan Len Adleman pada tahun 1977.  Algoritma ini."

Presentasi serupa


Iklan oleh Google