Dari 4 kali eksekusi yang dilakukan dan setelah dianalisa bilangan dari 1 sampai 100 telah ditemukan atau ditetapkan sebagai bilangan prima, maka eksekusi dihentikan.
Adapun bilangan tersisa yang dinyatakan prima yakni : 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97.
Sehingga dapat disimpulkan bahwa untuk menentukan bilangan prima dari 1 sampai x tak terhingga eksekusi yang dilakukan cukup sebanyak 4 kali eksekusi.
4.3 Pembangkit bilangan acak yang aman untuk kriptografi
Pembangkit bilangan acak yang dapat menghasilkan bilangan yang tidak dapat diprediksi oleh pihak lawan sangat cocok untuk penerapan kriptografi. Pembangkit
bilangan acak tersebut dinamakan CSPRNG Cryptographically Secure Pseudo Random Generator. Keunggulan dari sebuah konsep CSPRNG adalah :
a. Secara statistik CSPRNG mempunyai sifat-sifat yang bagus yaitu lolos uji
keacakan statistik. b.
Tahan terhadap serangan attack yang serius. Serangan ini bertujuan untuk memprediksi bilangan acak yang dihasilkan.
Pada tahap ini penulis mencoba merancang pembangkit kunci bilangan acak menggunakan CSPRNG berbasis RSA Rivest, Shamir dan Adleman dengan
teori bilangan berdasarkan persoalan matematika yang sulit, yaitu pemfaktoran bilangan menjadi faktor prima.
4.4 Pembentukan Kunci CSPRNG berbasis RSA
Algoritma pembangkitan bilangan acak berbasis RSA yang penulis gunakan adalah sebagai berikut :
6. 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.
7. Kalikan keduanya menjadi n = pq.
8. Pilih bilangan bulat acak lain, s sebagai x
o
yang dalam hal ini 2 ≤ s ≤ n
Universitas Sumatera Utara
9. Barisan bit acak dihasilkan dengan melakukan iterasi berikut sepanjang
yang diinginkan : c.
Hitung x
i
= x
i-1 e
mod n dengan x d.
z = s
i
= bit LSB Least Significant Bit dari x 10.
Barisan bit acak adalah z
i 1
, z
2
, z
3
, ......
Karena algoritma ini merupakan bagian dari algoritma kriptografi kunci publik, maka proses pembentukan kunci dari algoritma probabilistic encryption
ini akan menghasilkan kunci private dan kunci publik yang dapat digunakan dalam proses enkripsi dan dekripsi. Proses pembentukan kunci dari algoritma ini
memerlukan beberapa input data yaitu: 1.
Dua buah bilangan prima acak yang bernilai besar yaitu nilai p dan q. 2.
Sebuah bilangan acak y, yang lebih kecil daripada n dan merupakan sebuah bilangan kuadratik non residu.
Adapun output dari proses pembentukan kunci ini adalah: 1.
Kunci publik yang akan digunakan dalam proses enkripsi, yang berupa pasangan nilai n dan y.
2. Kunci private yang akan digunakan dalam proses dekripsi, yang berupa
pasangan nilai p dan q.
4.5 Pengukuhan Sebuah Bilangan Prima Rabin – Miller