Pembangkit bilangan acak yang aman untuk kriptografi Pembentukan Kunci CSPRNG berbasis RSA

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