Algoritma Pengujian Bilangan Prima Rabin Miller CSPRNG berbasis RSA

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