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