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
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.
Universitas Sumatera Utara
Algoritma ini sangat efektif untuk memastikan bilangan yang sudah ditentukan prima yang murni atau bukan.Ulangi pengujian dengan algoritma Rabin-Miller diatas
sebanyak t kali dengan nilai a yang berbeda untuk memastikan keprimaan bilangan tersebut.
Perlu diketahui bahwa perulangan dari looping algoritma Rabin-Miller haruslah cukup besar agar algoritma Rabin-Miller tersebut dapat menghasilkan bilangan prima
non komposit.
Universitas Sumatera Utara
Perangkat Lunak Penerapan Metode Probabilistic Encryption yang dirancang mampu menjelaskan proses kerja dari algoritma probabilistic
encryption ini secara terperinci langkah demi langkah dan menyediakan interface untuk mengaplikasikan algoritma ini yang dapat diterapkan untuk file teks.
Fungsi Pembangkitan Bilangan Prima dengan Rabin Miller, tanpa parameter input. Berikut ini proses kerja yang digambarkan dengan flowchart:
Start nP = ambil sebuah nilai acak
c80 = FTest80PnP
IF c80.Prima Ya
bSuccess = FIsRabinMillernP, nA
IF bSuccess Ya
Lanjutkan Tes untuk nilai nA yang lain ?
Tidak
Tidak Ya
nA = Bangkitkan bilangan acak
End Tidak
nP bukan bilangan prima
nP merupakan bilangan prima
Gambar 4.5 Proses dari Fungsi Pengujian Bilangan Prima Rabin Miller
Universitas Sumatera Utara
4.6 Proses Pembentukan Kunci
Prosedur kerja dari proses pembentukan kunci dari metode probabilistic encryption ini dapat dilihat pada gambar flowchart berikut ini:
Start Pilih 2 bilangan prima acak
besar, p dan q Hitung nilai n = pq
Pilih bilangan acak y Kunci publik n, y
Kunci privat p, q End
Gambar 4.6 Flowchart Proses Pembentukan Kunci Sederhana dari Algoritma Probabilistic
keterangan pada gambar di atas yaitu : a.
Pada saat sistem berjalan untuk membentuk sebuah kunci, maka sistem tersebut akan secara otomatis meminta pemasukkan nilai pilih, 2 buah
bilangan prima acak yang besar yaitu p dan q. b.
Kemudian sistem akan melakukan perhitungan perkalian antara nilai p dan q untuk menentukan nilai n.
c. Setelah itu masukkan bangkitkan nilai acak y secara sembarang
d. Kemudian secara otomatis sistem akan memproses dan menentukan kunci
publik dan kunci privat berdasarkan nilai yang telah ditetapkan. e.
Setelah urutan langkah diatas dilakukan maka pengirim dan penerima pesan sudah dapat melakukan pengamanan pengiriman data.
Universitas Sumatera Utara
4.7 Proses Penerapan Enkripsi