- CSPRNG yang paling sederhana dan paling mangkus (secara kompleksitas teoritis).
- BBS dibuat pada tahun 1986 oleh Lenore Blum, Manuel Blum, dan Michael Shub.
- Berbasis teori bilangan
Algoritma:
- Pilih dua buah bilangan prima rahasia, p dan q, yang masing-masing kongruen dengan 3 modulo 4.
- Kalikan keduanya menjadi n = pq. Bilangan m ini disebut bilangan bulat Blum
- Pilih bilangan bulat acak lain, s, sebagai umpan sedemikian sehingga:
(i) 2 £ s < n
(ii) s dan n relatif prima
kemudian hitung x0 = s2 mod n
- Barisan bit acak dihasilkan dengan melakukan iterasi berikut sepanjang yang diinginkan:
- (i) Hitung xi = xi – 1 2 mod n
- (ii) zi = bit LSB (Least Significant Bit) dari xi
Barisan bit acak adalah z1, z2, z3, …
- Bilangan acak tidak harus 1 bit LSB tetapi bisa juga j buah bit (j adalah bilangan bulat positif yang tidak melebihi log2(log2 n)) ).
- Perhatikan contoh berikut:
- Keamanan BBS terletak pada sulitnya memfaktorkan n. Nilai n tidak perlu rahasia dan dapat diumumkan kepada publik.
- BBS tidak dapat diprediksi dari arah kiri (unpredictable to the left) dan tidak dapat diprediksi dari arah kanan (unpredictable to the kanan),
- artinya jika diberikan barisan bit yang dihasilkan oleh BBS, kriptanalis tidak dapat memprediksi barisan bit sebelumnya dan barsian nit sesudahnya
CSPRNG Berbasis RSA
- Pilih dua buah bilangan prima rahasia, p dan q, dan bilangan bulat e yang relatif prima dengan (p – 1)(q – 1)
- Kalikan keduanya menjadi n = pq
- Pilih bilangan bulat acak lain, s, sebagai x0 yang dalam hal ini 2 £ s £ n
- Barisan bit acak dihasilkan dengan melakukan iterasi berikut sepanjang yang diinginkan:
a. Hitung xi = xi – 1 e mod n degan x0 = s.
b. zi = bit LSB (Least Significant Bit) dari xi
5. Barisan bit acak adalah z1, z2, z3, …
Tidak ada komentar:
Posting Komentar