Cryptography Reference
In-Depth Information
there are no non-uniformly one-way functions. However, this situation (i.e., that one-
way functions exist only in the uniform sense) seems unlikely, and it is widely believed
that non-uniformly one-way functions exist. In fact, all candidates mentioned in the
preceding subsection are believed to be non-uniformly one-way functions.
2.3. Weak One-Way Functions Imply Strong Ones
We first remark that not every weak one-way function is necessarily a strong one.
Consider, for example, a one-way function f (which, without loss of generality, is
length-preserving). Modify f into a function g so that g ( p , x )
=
( p , f ( x )) if p starts
with log 2 |
. 4
We claim that g is a weak one-way function but not a strong one. Clearly, g cannot be
a strong one-way function (because for all but a
x
|
zeros, and g ( p
,
x )
=
( p
,
x ) otherwise, where (in both cases)
|
p
|=|
x
|
1
n fraction of the strings of length 2 n
the function g coincides with the identity function). To prove that g is weakly one-way,
we use a “reducibility argument.”
Proposition 2.3.1: Let f be a one-way function ( even in the weak sense ) . Then
g, constructed earlier, is a weakly one-way function.
Proof: Intuitively, inverting g on inputs on which it does not coincide with the
identity transformation is related to inverting f . Thus, if g is inverted, on inputs
of length 2 n , with probability that is noticeably greater than 1
1
n , then g must be
inverted with noticeable probability on inputs to which g applies f . Therefore, if
g is not weakly one-way, then neither is f . The full, straightforward but tedious
proof follows.
Given a probabilistic polynomial-time algorithm B for inverting g , we construct a
probabilistic polynomial-time algorithm A that inverts f with “related” success prob-
ability. Following is the description of algorithm A . On input y , algorithm A sets
n
def
=|
def
=
def
=
log 2 n , selects p uniformly in
n l , computes z
B (0 l p ,
y ),
and halts with output of the n -bit suffix of z . Let S 2 n denote the sets of all 2 n -bit-long
strings that start with log 2 n zeros (i.e., S 2 n
y
|
and l
{
0
,
1
}
def
={ 0 log 2 n
2 n
log 2 n
α : α ∈{ 0 , 1 }
} ). Then,
by construction of A and g ,wehave
[ A ( f ( U n ))
f 1 ( f ( U n ))]
Pr
f 1 ( f ( U n )))]
= Pr [ B ( g ( U 2 n )) g 1 ( g ( U 2 n )) | U 2 n S 2 n ]
Pr
[ B (0 l U n l ,
(0 l U n l ,
Pr
f ( U n ))
[ B ( g ( U 2 n ))
g 1 ( g ( U 2 n ))]
Pr
[ U 2 n
S 2 n ]
Pr
[ U 2 n S 2 n ]
1
1
n
Pr [ B ( g ( U 2 n )) g 1 ( g ( U 2 n ))]
= n ·
[ B ( g ( U 2 n ))
g 1 ( g ( U 2 n ))])
=
1
n
·
(1
Pr
4 Throughout the text, we treat log 2 | x | as if it were an integer. A precise argument can be derived by replacing
log 2 | x | with log 2 | x | and some minor adjustments.
Search WWH ::




Custom Search