Cryptography Reference
In-Depth Information
Theorem 3.6.14: Let G and the f s 's be as in Construction 3.6.13, and suppose
that G is a pseudorandom generator. Then { f s } s ∈{ 0 , 1 } is an efficiently computable
ensemble of unbounded-input pseudorandom functions.
Proof Sketch: We follow the proof method of Theorem 3.6.6. That is, we use the
hybrid technique, where the k th hybrid will be assigned a function that results from
uniformly selecting labels for the vertices of the highest k + 1 levels of the tree,
and computing the labels for lower levels as in Construction 3.6.13. Specifically,
the k th hybrid is defined as equal to the function f s 1 ,..., s 3 k : { 0 , 1 } →{ 0 , 1 }
r ( n ) ,
2 n + r ( n )
defined next, where s 1 ,..., s 3 k
∈{ 0 , 1 }
are uniformly and independently
distributed.
f s 1 ,..., s 3 k ( σ 1 σ 2 ··· σ d )
P 2 s idx(2 k d · σ d ··· σ 1 ) if d k
G 2 G σ d ··· G σ k + 2 G σ k + 1 s idx( σ k ··· σ 1 ) ··· otherwise
def
=
where idx( α ) is the index of α in the standard lexicographic order of ternary
strings of length | α | , and P 2 ( β )isthe r ( n )-bit-long suffix of β .
Note that (unlike the proof of Theorem 3.6.6) for every n there are infinitely
many hybrids, because here k can be any non-negative integer (rather than
k ∈{ 0 , 1 ,..., n } as in the proof of Theorem 3.6.6). Still, because we consider an
(arbitrary) probabilistic polynomial-time distinguisher denoted M , there exists a
polynomial d such that on input 1 n the oracle machine M makes only queries
of length at most d ( n ) 1. Thus, giving M oracle access to the d ( n ) hybrid is
equivalent to giving M oracle access to the uniform random variable H n (where
H n is as in Definition 3.6.12), because a uniformly chosen label is assigned to
each i -level leaf for i d ( n ). On the other hand, the 0 hybrid corresponds to the
random variable F n (where F n is as in Definition 3.6.12), because a uniformly
chosen label is assigned to the root. Thus, if M can distinguish
{
F n }
from
{
H n }
,
then it can distinguish a (random) pair of neighboring hybrids (i.e., the k
1
and k hybrids, where k is uniformly selected in
). As in the proof of
Theorem 3.6.6, the latter assertion can be shown to violate the pseudorandomness
of G . Specifically, we can distinguish multiple independent samples taken from
the distribution U 2 n + r ( n ) and multiple independent samples taken from the dis-
tribution G ( U n ): Given a sequence of (2 n
{
1
,...,
d ( n )
}
r ( n ))-bit-long strings, we use these
strings in order to label vertices in the highest k
+
1 levels of the tree (by breaking
each string into three parts and using those parts as labels for the three children
of some ( i 1)-level node, for i k ). In case the strings are taken from U 2 n + r ( n ) ,
we emulate the k hybrid, whereas in case the strings are taken from G ( U n ), we
emulate the k 1 hybrid. The theorem follows.
+
Comment. Unbounded-input (and generalized) pseudorandom functions can be con-
structed directly from (ordinary) pseudorandom functions; see Section 3.8.2.
Search WWH ::




Custom Search