Algoritma RSA TINJAUAN PUSTAKA

Kelebihan Algoritma Asimetris: • Masalah keamanan pada distribusi kunci dapat lebih baik • Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit Kelemahan Algoritma Asimetris: • Kecepatan yang lebih rendah bila dibandingkan dengan algoritma simetris • Untuk tingkat keamanan sama, kunci yang digunakan lebih panjang dibandingkan dengan algoritma simetris. Kriptografi kunci-publik mempunyai kontribusi yang luar biasa dibandingkan dengan sistem kriptografi simetri.Kontribusi yang paling penting adalah tandatangan digital pada pesan untuk memberikan aspek keamanan otentikasi, integritas data, dan nir-penyangkalan.Tandatangan digital adalah nilai kriptografis yang bergantung pada isi pesan dan kunci yang digunakan.Pengirim pesan mengenkripsi pesan yang sudah diringkas dengan kunci private nya, kemudian hasil enkripsi inilah yang dinamakan tandatangan digital.Tandatangan digital dilekatkan pada pesan asli.Penerima pesan memverifikasi tandatangan digital dengan menggunakan kunci publik.Kristanto, 2003

2.2. Algoritma RSA

Dari sekian banyak algoritma kunci publik yang pernah dibuat, algoritma yang paling populer adalah algoritma RSA. Algoritma RSA dibuat oleh 3 orang peneliti dari MIT Massachusetts Institute of Technology pada tahun 1976, yaitu: Ron R ivest, Adi Shamir , dan Leonard Adleman. Keamanan algoritma RSA terletak pada sulitnya memfaktorkanbilangan yang besar menjadi faktor prima.Pemfaktoran dilakukan untuk memperoleh kunci privat.Selama pemfaktoran bilangan besar menjadi faktor-faktor prima belum ditemukan algoritma yang mangkus, maka selama itu pula keamanan algoritma RSA tetap terjamin. Schneier, 1996 Universitas Sumatera Utara Algoritma RSA memiliki besaran-besaran sebagai berikut: 1. p dan q, bilangan prima rahasia 2. n = p . q tidak rahasia 3. Φ n = p-1q-1 rahasia 4. e kunci enkripsi tidak rahasia 5. d kunci dekripsi rahasia 6. m plainteks rahasia 7. c cipherteks tidak rahasia Fungsi totient Φ n , Juga disebut fungsi totient Euler, didefinisikan sebagai jumlah bilangan bulat positif ≤ nyang relatif prima dengan yaitu, tidak mengandung faktor kesamaan dengan n, Di mana 1 dihitung sebagai relatif prima untuk semua nomor. Karena jumlah kurang dari atau sama dengan dan relatif prima untuk angka yang diberikan disebut totative , fungsi totient Φnbisa dengan sederhana didefinisikan sebagai jumlah totatives dari n. Misalnya, ada delapan totatives dari 24 1, 5, 7, 11, 13, 17, 19, dan 23, sehingga Φ24 = 8. Ada metode lain untuk menghitung invers modulo n, tapi mungkin tidak selalu bisa digunakan.Set mengurangi residu mod n adalah subset dari set lengkap residu yang relatifprima dengan n. Sebagaicontoh,himpunan mengurangi residu mod 12 adalah {1, 5, 7, 11}. Jika n adalah bilangan prima, maka dikurangi set residu mod n adalah himpunan semua bilangan dari 1 sampai n-1. 0 nolbukan bagian dari set pengurangan residu untuk setiap n tidak sama dengan 1. Fungsi Euler totient, juga disebut fungsi Euler phi dan ditulis sebagai Φn, adalahjumlahelemen dalam set mengurangi residu modulo n. Dengan kata lain, Φnadalahjumlahpositifkurang dari n yang relatif prima terhadap n untuk n lebihbesardari1bilanganbulat.LeonhardEuler, menyebutkan kapal tangki, adalah seorang ahli matematika Swiss yang hidup pada 1707-1783. Mollin, 2002. Jika n adalah bilangan prima, maka n = n-1. Jika n = pq, dimana p dan q adalah prima, maka Φn = p-1 q-1. Inilah mengapa angka - angka muncul Universitas Sumatera Utara dalam beberapa algoritma kunci publik.Menurut generalisasi dari teorema Euler kecil Fermat, jika FPB a, n = 1, makaSchneier, 1996 : a Φn mod n = 1 …………………………………………………….. 2.1 saat ini mudah untuk menghitunga -1 mod n Schneier, 1996 : x = a Φn-1 modn…………………………………………………….. 2.2Misalnya, apa kebalikan 5, modulo 7? jika 7 adalah bilangan prima, Φ7 = 7 –1= 6. Jadi, kebalikan 5, modulo 7, adalah : 5 6-1 mod 7 = 5 5 mod 7 = 3 ..……………………………………….. 2.3Kedua metode untuk menghitung invers dapat diperpanjang untuk menyelesaikan x dalam masalah umum jika FPBa, n = 1Schneier, 1996 : ax mod n = b………………………………………………………2.4 Menggunakan generalisasi Euler, Schneier, 1996 : x = b a Φn -1 mod n ……………………………………………2.5 Menggunakan algoritma Euclid, Schneier, 1996 : x = b a -1 mod n mod n …………………………………………2.6 Secara umum, algoritma Euclid slebih cepat darigeneralisasiEuleruntukmenghitunginvers, terutamauntuk digitdi kisaran500- bit. JikaFPB a, n ≠ 1, semua tidak hilang. secara umum,a x mod n =b, dapat memiliki beberapa solusiatautidak. 1. Pilih 2 buah bilangan prima p dan q.Untuk tujuan keamanan, bilanganinteger p dan q dipilihsecara random, dan harus memiliki panjang bityang sama. Biasanya panjang bit yang dipilih untukbilangan p dan q ukurannya besar, agar kunci semakinaman. Schneier, 1996 Proses pembangkitan kunci RSA adalah sebagaiberikut: 2. Hitung n, yaitu n = pq.Bilangan nakan digunakan sebagai modulus untukkunci publik dan kunci privat. Universitas Sumatera Utara 3. Hitung Φ n = p – 1q – 1, dimana Φ adalah fungsitotient Euler. 4. Pilih bilangan integer e, dimana 1 e Φ n, fpbe, Φ n = 1, e dan Φ n adalah coprime e relatif primaterhadap Φ n . Bilangan e adalah bilangan yang menjadikunci publik. 5. Hitung kunci dekripsi d, dengan persamaanMollin, 2007 : ed= 1 mod Φ n atau d = e -1 - Kunci publik adalah pasangan e, n mod Φ n … ……………………….. 2.7 Dari perhitungan di atas didapatkan kunci publik dankunci privat: - Kunci privat adalah pasangan d, n Proses enkripsi dan dekripsi algoritma RSA: 1. Nyatakan pesan menjadi blok-blok plainteks m 1 , m 2 , m 3 , ..., m n , dengan syarat 0 m i 2. Hitung blok chiperteks c n-1. i untuk blok plainteks p i c dengan persamaan i = m i e mod n . ………………………………………………………..2.8Proses dekripsi dilakukan dengan menggunakan persamaan p i = c i d 1. Hitung n = p.q memberikan mod n. ………………………………………………………..2.9 Contoh: Pilih dua bilangan prima yang berbeda, seperti p = 13 dan q = 5. n = 13 · 5 = 65 . 2. Hitunglah totient dari produk sebagai Φ n = p - 1 q - 1 memberikan Φ n = 13-1 5-1 = 48. 3. Ambil bilangan bulat e dengan syarat 1 e Φ n , relatif prima dengan 28. Yang memiliki FPB = 1 dengan 28. Misalkan e = 17. Kunci publik adalah n= 65, e= 17 Universitas Sumatera Utara 4. encode pesan ke ASCII misalkanplaintext yang dikirim adalah “ POT“ plainchar 1 = “P” → P1 = 80………………. P 1 plainchar 2 = “O” → P2 = 79………………. P 2 plainchar 3 = “T” → P3 = 84……………….P 3 5. Enkripsi pesan dengan rumus Mollin, 2007: c = p e mod n 80 17 mod 65 =45 ……………….C 1 79 17 mod65 = 14 ……………….C 2 84 17 mod65 = 54 ……………….C 3 6. Hitunglah kunci privat d, dengan rumus berikut Mollin, 2007: d = e 1 + k mod Φ n Untuk mencari nilai k Dapat dicari dengan menggunakan Microsoft Excel. Dengan syarat k dan d adalah bilangan bulat positif. Menghasilkand = 113. Kunci Privat adalah n = 65, d = 113 7. Deskripsikan pesan terenkripsi dengan rumus : P = c d mod n P 1 = 45 113 mod 65 = 80 P 2 = 14 113 mod 65 = 79 P 1 = 54 113 8. Hasil Dekripsi adalah “80”, “79”, “84” = “POT ’’. mod 65 = 84 Penemu algoritma RSA menyarankan untuk nilai p dan q agar panjangnya lebih dari 100 digit. Dengan demikian hasil kali dari n = p x q akan berukuran lebih dari 200 digit. Maka waktu yang dibutuhkan untuk mencari faktor prima dari bilangan 200 digit adalah selama 4 milayar tahun, sedangkan untuk bilangan 500 digit membutuhkan waktu 10 25 tahun. Dengan asumsi algoritma pemfaktoran yang digunakan adalah algoritma yang tercepat saat ini dan komputer yang dipakai mempunyai kecepatan 1 milidetik.Mollin, 2007 Universitas Sumatera Utara Secara umum dapat disimpulkan bahwa RSA hanya aman jika n cukup besar. Jika panjang n hanya 256 bit atau kurang, maka ia dapat difaktorkan dalam beberapa jam saja dengan sebuah komputer PC dan program yang tersedia secara bebas. Jika sebuah bilangan prima acak yang memiliki nilai kecil bukanlah sebuah masalah untuk membentuk sebuah kunci, akan tetapi menentukan sebuah bilangan yang sudah terlalu besar prima atau tidak, maka perlu dilakukan pengujian berulang-ulang kali sebanyak t kali. Maka untuk melakukan pengujian tersebut, penulis mencoba menggunakan pengujian bilangan prima menggunakan algoritma The Sieve of Eratosthenes.

2.3. Pembangkit Bilangan Prima