Cryptography: Theory and Practice:Pseudo-random Number Generation

cryptography: theory and practice Cryptography: Theory and Practice
by Douglas Stinson
CRC Press, CRC Press LLC
ISBN: 0849385210   Pub Date: 03/17/95
  

Previous Table of Contents Next


The Blum-Blum-Shub Generator is presented in Figure 12.6. The generator works quite simply. Given a seed s0 ∈ QR(n), we compute the sequence by successive squaring modulo n, and then reduce each si modulo 2 to obtain zi. It follows that

.

Table 12.3 Bits produced by BBS generator
i si zi
0 20749  
1 143135 1
2 177671 1
3 97048 0
4 89992 0
5 174051 1
6 80649 1
7 45663 1
8 69442 0
9 186894 0
10 177046 0
11 137922 0
12 123175 1
13 8630 0
14 114386 0
15 14863 1
16 133015 1
17 106065 1
18 45870 0
19 137171 1
20 48060 0

We now give an example of the BBS Generator.

Example 12.4

Suppose n = 192649 = 383 × 503 and s0 = 1013552 mod n = 20749. The first 20 bits produced by the BBS Generator are computed as shown in Table 12.3. Hence the bit-string resulting from this seed is

11001110000100111010.

Here is a feature of the BBS Generator that is useful when we look at its security. Since n = pq where pq ≡ 3 mod 4, it follows that for any quadratic residue x, there is a unique square root of x that is also a quadratic residue. This square root is called the principal square root of x. It follows the mapping mod n used to define the BBS Generator is a permutation on QR(n), the set of quadratic residues modulo n.

12.3.1 Security of the BBS Generator

In this section, we look at the security of the BBS Generator in detail. We begin by supposing that the pseudo-random bits produced by the BBS Generator are ε-distinguishable from random bits and then see where that leads us. Throughout this section, n = pq, where p and q are primes such that pq ≡ 3 mod 4, and the factorization n = pq is unknown.

We have already discussed the idea of a next bit predictor. In this section we consider a similar concept that we call a previous bit predictor. A previous bit predictor for a -BBS Generator will take as input pseudo-random bits produced by the generator (as determined by an unknown random seed s0 ∈ QR(n)), and attempt to predict the value z0 = s0 mod 2. A previous bit predictor can be a probabilistic algorithm, and we say that a previous bit predictor B0 is an ε-previous bit predictor if its probability of correctly guessing z0 is at least 1/2 + ε, where this probability is computed over all possible seeds s0.

We state the following theorem, which is similar to Theorem 12.3, without proof.

THEOREM 12.4

Suppose A, is an ε-distinguisher of p1 and p0, where p1 is the probability distribution induced on by the -BBS Generator, f, and p0 is the uniform probability distribution on . Then there exists an -previous bit predictor B0 for f.

We now show how to use an -previous bit predictor, B0, to construct a probabilistic algorithm that distinguishes quadratic residues modulo n from pseudo-squares modulo n with probability 1/2 + ε. This algorithm A, presented in Figure 12.7, uses B0 as a subroutine, or oracle.

THEOREM 12.5

Suppose B0 is an ε-previous bit predictor for the -BBS Generator f. Then the algorithm A, as described in Figure 12.7, determines quadratic residuosity correctly with probability at least 1/2 + ε, where this probability is computed over all possible inputs .

PROOF  Since n = pq and pq ≡ 3 mod 4, it follows that so . Hence, if then the principal square root s0 = x2 is x if x ∈ QR(n); and -x if . But

so it follows that algorithm A gives the correct answer if and only if B0 correctly predicts z. The result then follows immediately.


Figure 12.7  Constructing a quadratic residue distinguisher from a previous bit predictor

Theorem 12.5 shows how we can distinguish pseudo-squares from quadratic residues with probability at least 1/2 + ε. We now show that this leads to a Monte Carlo algorithm that gives the correct answer with probability at least 1/2 + ε. In other words, for any , the Monte Carlo algorithm gives the correct answer with probabilty at least 1/2 + ε. Note that this algorithm is an unbiased algorithm (it may give an incorrect answer for any input) in contrast to the Monte Carlo algorithms that we studied in Section 4.5 which were all biased algorithms.

The Monte Carlo algorithm A1 is presented in Figure 12.8. It calls the previous algorithm A as a subroutine.


Previous Table of Contents Next

Copyright © CRC Press LLC



Cryptography. Theory and Practice
Modern Cryptography: Theory and Practice
ISBN: 0130669431
EAN: 2147483647
Year: 1995
Pages: 133
Authors: Wenbo Mao

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net