a. Kunci publik adalah pasangan e,n
b. Kunci privat adalah pasangan d,n
Catatan: n tidak bersifat rahasia, sebab n diperlukan pada perhitungan enkripsi dekripsi
3.5 Algoritma Pengujian Bilangan Prima Rabin Miller
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 Rabin-Miller. Adapun prosedur dari algoritma Rabin-Miller
tersebut sebelum diimplementasikan kedalam bentuk program, adalah sebagai berikut:
1. Bangkitkan bilangan p yang akan diuji keprimaannya
2. Hitung b dimana 2
b
3. Hitung m sedemikian sehingga p=1 + 2
adalah nilai pangkat 2 terbesar yang habis membagi p-1
b
Masukkan : p,m dan b
m
Keluaran : p adalah prima atau tidak prima
a. Bangkitkan bilangan acak a yang lebih kecil dari p
b. Nyatakan j = 0 dan hitung z = a
m
c. Jika z = 1 atau z = p-1, maka p lolos dari pengujian dan mungkin prima
mod p
d. Jika z 0 dan z = 1, maka p bukan prima
e. Nyatakan j= j + 1. Jika j b dan z
≠ p – 1, nyatakan z = z
2
f. Jika j = b dan z
≠ p – 1, maka p tidak prima. mod p dan kembali
kelangkah d jika z = p – 1, maka p lolos pengujian dan mungkin prima.
Ulangi pengujian dengan algoritma Rabin-Miller diatas sebanyak t kali dengan nilai a yang berbeda
Perlu diketahui bahwa perulangan dari looping algoritma Rabin-Miller haruslah cukup besar agar algoritma Rabin-Miller tersebut dapat menghasilkan bilangan prima
non komposit Contoh :
A. 2 = 2 x 1
5 = 5 x 1
Prima faktor Non Komposit
Universitas Sumatera Utara
B. 4 = 2 x 2 x 1
18 = 3 x 3 x 2 x 1
3.6 CSPRNG berbasis RSA
Algoritma pembangkitan bilangan acak berbasis RSA yang penulis gunakan adalah sebagai berikut :
1. Pilih dua buah bilangan prima rahasia p dan q , dan bilangan bulat e yang
relatif prima dengan p-1q-1 Catatan: bilangan tersebut diatas haruslah cukup besar, min 128 bit.
2. Kalikan keduanya menjadi n = pq.
3. Pilih bilangan bulat acak lain, s sebagai x
o
4. Barisan bit acak dihasilkan dengan melakukan iterasi berikut sepanjang
yang diinginkan : yang dalam hal ini 2
≤ s ≤ n
a. Hitung x
i
= x
i-1 e
mod n dengan x b.
z = s
i
= bit LSB Least Significant Bit dari x 5.
Barisan bit acak adalah z
i 1
, z
2
, z
3
, ......
Komposit faktorial 2
Universitas Sumatera Utara
BAB IV ANALISIS DAN PEMBAHASAN