Sistem Kriptografi Multiple-Key RSA Algoritma Miller-Rabin

e kunci enkripsi: bilangan acak dalam rentang 1 e ϕn, dengan syarat gcde, ϕn = 1 d kunci dekripsi:e -1 mod ϕn K publik = e, n K privat = d P = plain text C = cipher text 2.4.2 Enkripsi RSA Proses enkripsi RSA menggunakan kunci publik yang telah dibangkitkan sebelumnya. Enkripsi pada RSA menggunakan fungsi eksponensial modulokunci enkripsi e berikut: K publik = e, n C P e mod n 2.4.3 Dekripsi RSA Untuk mengembalikan cipher text menjadi plain text, dekripsi RSA juga berupa fungsi eksponensial modulon dengan menggunakan kunci privat. Berikutproses dekripsi RSA: K publik = e, n K privat = d P C d mod n

2.5 Sistem Kriptografi Multiple-Key RSA

Kriptografi kunci publik umumnya menggunakan dua kunci untuk masing-masing proses enkripsi dan dekripsi. Pada 1988, Colin Boyd memperkenalkan konsep generalisasi RSA sehingga menjadi algoritma Multiple-Key RSA [18]. Dalam fungsi modulo RSA, n merupakan hasil perkalian dua bilangan prima p dan q sehingga d · e ≡ 1 mod ϕn Untuk konsep ini, dipilih sejumlah t kunci, sehingga K 1 · K 2 · …· K t ≡ 1 mod ϕn Universitas Sumatera Utara Berikutlangkah-langkah yang terdapat pada Multiple-Key RSA: p, qbilangan prima acak besar, p ≠ q n p · q, sehingga ϕn p – 1· q – 1 t = jumlah kunci enkripsi danatau dekripsi Pembangkitan kunci enkripsi: K e1 bilangan acak ganjil dalam rentang 1 K e1 ϕn, gcdK e1 , ϕn = 1 K e2 bilangan acak ganjil dalam rentang 1 K e2 ϕn, gcdK e1 ·K e2 , ϕn = 1 ⁞ K et bilangan acak ganjil dalam rentang 1 K et ϕn, gcdK e1 ·K e2 · … · K et , ϕn = 1 e K e1 ·K e2 · … · K et Pembangkitan kunci dekripsi: K d1 bilangan acak ganjil dalam rentang 1 K d1 ϕn, gcdK d1 , ϕn = 1, K e1 -1 mod ϕn K d2 bilangan acak ganjil dalam rentang 1 K d2 ϕn, gcdK d2 ·K d2 , ϕn = 1, K e2 -1 mod ϕn ⁞ K dt bilangan acak ganjil dalam rentang 1 K dt ϕn, gcdK d1 ·K d2 · … · K dt , ϕn = 1, K et -1 mod ϕn d K d1 ·K d2 · … · K dt K publik = K e , n K privat = K d P = Plain text C = Cipher text Proses Enkripsi: K publik = K e , n C P Ke mod n Proses Dekripsi: K publik = K e , n, K privat = K d P C Kd mod n Universitas Sumatera Utara

2.6 Algoritma Miller-Rabin

Algoritma Miller-Rabin merupakan algoritma probabilistik pengujian keprimaan sebuah bilangan berdasarkan pada Fermat’s LittleTheorem dan kepemilikan akar kuadrat [3]. Fermat’s LittleTheorem menyatakan bahwa � �−1 ≡ 1 ��� � apabila n adalah bilangan prima. Sedangkan untuk kepemilikan akar kuadrat, jika n adalah bilangan prima, akar kuadrat modulo n �� 2 = 1 ��� �� akan menghasilkan 1 atau ˗1 �� + 1� − 1 = 0 ��� ��. Misalkan � – 1 = 2 � � di mana � ∈ ℕ ialah ganjil dan � ∈ ℕ serta n merupakan bilangan integer positif ganjil n ≥ 3 yang akan diuji keprimaannya [13]. Algoritma Miller-Rabin tidak menghitung � �−1 ��� � secara langsung, melainkan menghitung deret berikut secara berulang: � � ≡ � 2 � ≡ � 2 2 � ≡ ⋯ ≡ � 2 �−1 � ≡ � 2 � � ��� �. Pada setiap perhitungan � 2 � � dilakukan pengujian Fermat dan pengujian kepemilikan akar kuadrat. Jika pengujian akar kuadrat ialah positif, n dideklarasikan sebagai bilangan komposit. Jika pengujian Fermat ialah positif, maka n mungkin bilangan prima. Berikut pseudocode algoritma Miler-Rabin: MillerRabinn, s: 1. for j = 1 to s: 2. a = Random1, n-1 3. if Witnessa, n: 4. return “Composite” 5. return “Prime” Witnessa, n: 1. let t and u be such that t ≥ 1, u is odd and n – 1 = 2 t u 2.x = ModularExponentationa, u, n 3. for i = 1 to t: 4. � � = � �−1 2 ��� � 5. if x i == 1 and x i-1 ≠ 1 and x i-1 ≠ n – 1: 6.return True 7. if x t ≠ 1: 8. return True 9. return False Universitas Sumatera Utara

2.7 Strong Prime