Cryptography Reference
In-Depth Information
def
=
group mod N
P
·
Q . It outputs the sequence
lsb X e 2 mod φ ( N )
mod N ,
lsb X e 3 mod φ ( N )
mod N ,...
lsb( X e
lsb( X )
,
mod N )
,
Z e mod N .
The intractability of factoring Blum integers : Specifically, we assume that given a prod-
uct of two large primes, each congruent to 3 (mod 4), it is infeasible to retrieve these
primes. The generator is based on the fact that (under this assumption) the least signif-
icant bit constitutes a hard-core predicate for the modular squaring function. We also
use the fact that for such moduli (called Blum integers), modular squaring induces a
permutation over the quadratic residues.
The generator uses the seed in order to select a pair of primes ( P
That is, the function being iterated is Z
,
Q ), each congruent
def
=
to 3
(mod 4), and an element X in the multiplicative group mod N
P
·
Q . It outputs
the sequence
lsb X 2 2 mod φ ( N )
mod N ,
lsb X 2 3 mod φ ( N )
mod N ,...
lsb( X 2
lsb( X )
,
mod N )
,
Z 2
That is, the function being iterated is Z
mod N .
All these suggestions rely on a randomized algorithm for selecting random primes.
Thus, regarding the random bits such an algorithm uses, the fewer the better. Obvious
algorithms for generating n -bit-long random primes utilize O ( n 3 ) random bits (see
Appendix A). We comment that there are procedures that are more randomness-efficient
for generating an n -bit-long prime, utilizing only O ( n ) random bits.
3.4.3. Using Hard-Core Functions Rather than Predicates
Construction 3.4.2 (resp., Construction 3.4.4) can be easily generalized to one-way
permutations (resp., collections of one-way permutations) having hard-core functions,
rather than hard-core predicates. The advantage in such constructions is that the number
of bits output by the generator per each application of the one-way permutation is
larger (i.e., greater than 1). We assume familiarity with Section 2.5.3, where hard-core
functions are defined. Next, we present only the generalization of Construction 3.4.4.
Construction 3.4.7: Let ( I , D , F ) be as in Construction 3.4.4, and suppose that
H is a corresponding hard-core function. Let p ( · ) be an arbitrary polynomial.
Fo r n ∈ N and r , s ∈{ 0 , 1 }
def
= I (1 n
q ( n ) , define G ( r , s ) = α 1 ··· α p ( n ) , where i
, r ) ,
def
=
s 0
D ( i
,
s ) , and for every 1
j
p (
|
s
|
) it holds that
α j =
H ( i
,
s j 1 ) and
s j =
f i ( s j 1 ) .
For a hard-core function H , we denote by
H ( n ) the logarithm to base 2 of the size of
the range of H ( i
) for i produced by I (1 n ). Any hard-core predicate can be viewed
as a hard-core function H with
, ·
1. Recall that any one-way function can be
modified to have a hard-core function H with
H ( n )
=
O (log n ) (see Theorem 2.5.6).
Also, assuming that the RSA collection is one-way, the O (log n ) least significant bits
constitute a hard-core function (with
H ( n )
=
H ( n )
=
O (log n )). The same holds for the Rabin
collection.
Search WWH ::




Custom Search