Bounds on the Efficiency of Generic Cryptographic
Constructions∗
Rosario Gennaro†
Yael Gertner‡
Jonathan Katz§
Luca Trevisan¶
Abstract
A central focus of modern cryptography is the construction of efficient, “high-level”
cryptographic tools (e.g., encryption schemes) from weaker, “low-level” cryptographic
primitives (e.g., one-way functions). Of interest are both the existence of such constructions, and their efficiency.
Here, we show essentially-tight lower bounds on the best possible efficiency of any
black-box construction of some fundamental cryptographic tools from the most basic
and widely-used cryptographic primitives. Our results hold in an extension of the
model introduced by Impagliazzo and Rudich, and improve and extend earlier results
of Kim, Simon, and Tetali. We focus on constructions of pseudorandom generators,
universal one-way hash functions, and digital signatures based on one-way permutations,
as well as constructions of public- and private-key encryption schemes based on trapdoor
permutations. In each case, we show that any black-box construction beating our
efficiency bound would yield the unconditional existence of a one-way function and
thus, in particular, prove P 6= N P .
1
Introduction
A central focus of modern cryptography is the construction of “high-level” cryptographic
protocols and tools that are both provably secure and efficient. Generally speaking, work
proceeds along two lines: (1) demonstrating the feasibility of a particular construction,
based on the weakest possible primitive; and (2) improving the efficiency of such constructions, either based on the weakest primitive for which a construction is known or perhaps
by assuming the existence of a stronger primitive. The first of these approaches has been
immensely successful; for example, the existence of one-way functions is known to be sufficient for constructing pseudorandom generators [8, 42, 22, 27], pseudorandom functions [21],
∗
This work appeared in preliminary form as [15, 14].
rosario@watson.ibm.com. IBM T.J. Watson Research Center.
‡
ygertner@uiuc.edu. Department of Psychology, University of Illinois at Urbana-Champaign. Work
done while in the Dept. of Computer and Information Science, University of Pennsylvania.
§
jkatz@cs.umd.edu. Department of Computer Science, University of Maryland. Portions of this work
were done while at DIMACS.
¶
luca@eecs.berkeley.edu. Computer Science Division, UC Berkeley. Work done while at Columbia
University. This research was supported by NSF grant CCR 9984703.
†
1
universal one-way hash functions and digital signature schemes [36, 38], private-key encryption schemes and message-authentication codes [20], and commitment schemes [35]. In
each of these cases one-way functions are also known to be necessary [30, 38], thus exactly
characterizing the feasibility of these constructs.
Unfortunately, progress on the second approach — i.e., improving the efficiency of these
constructions — has been much less successful. Indeed, while the constructions referenced
above are all important from a theoretical point of view, their practical impact has been
limited due to their inefficiency. In practice, more efficient constructions based on stronger
assumptions (or, even worse, heuristic solutions with no proofs of security) tend to be used.
Furthermore, relying on stronger assumptions (or resorting to heuristic solutions) seems
necessary to obtain improved efficiency; for each of the examples listed above, no provablysecure constructions based on general assumptions are known which improve upon the
efficiency of the initial solutions.
This trade-off between the efficiency of a cryptographic construction and the strength
of the complexity assumption on which it relies motivates the question: How efficient can
cryptographic constructions be when based on general assumptions? We show in this paper
that, in fact, the efficiency of many of the known constructions based on general assumptions
cannot be improved without using non-black-box techniques, or finding an unconditional
proof that one-way functions exist (and hence proving P 6= N P ).
Our results hold in a generalization of the Impagliazzo-Rudich model [31], introduced
by those authors in the context of proving impossibility results for the existence of certain
black-box cryptographic constructions (see Section 1.3 for further discussion). Following
their work, a number of additional black-box impossibility results have appeared [40, 41, 16,
32, 17, 13]. Kim, Simon, and Tetali [33] initiated work focused on bounding the efficiency of
black-box cryptographic constructions (rather than their existence), and their work provided
the original inspiration for our research. We compare our results with those of Kim, et al.
in the following section.
1.1
Our Results
Informally, we say a permutation π : {0, 1}n → {0, 1}n is one-way with security S if any
circuit of size1 at most S inverts π with probability less than 1/S (one can think of S
as a slightly super-polynomial function of n but our results hold for any choice of S). In
this work, we consider two types of black-box constructions, described informally now and
discussed in more detail in Section 1.3. Following the terminology introduced in [37], a semi
black-box construction (based on a one-way permutation) is an oracle procedure P (·) such
that, for any one-way permutation f given as an oracle, (1) P f has the desired functionality
and (2) P f is “secure” (in some appropriate sense) against every efficient (oracle) adversary
Af even when considering adversaries given oracle access to f . In contrast, a weak black-box
construction is an oracle procedure P (·) satisfying (1) as before but for which, for any oneway permutation f given as an oracle, the only guarantee is that (2) P f is “secure” against
efficient adversaries A that are not given oracle access to f . Both notions preclude using
the code (or circuit) of the one-way permutation f in the construction; roughly speaking
(see [37] for further elaboration), semi black-box constructions also rule out the use of
1
We let the size of a circuit refer to the number of gates the circuit has.
2
the adversary’s code in the security reduction (whereas weak black-box constructions do
not). Clearly, any semi black-box construction is also a weak black-box construction and
so impossibility results for the latter are stronger than impossibility results for the former.
Given these definitions, our results may be summarized informally as follows.
Pseudorandom generators (PRGs). Let U ℓ denote the uniform distribution over ℓ-bit
strings. A PRG is a deterministic, length-increasing function G : {0, 1} ℓ → {0, 1}ℓ+k such
that G(Uℓ ) is computationally indistinguishable (by poly-time algorithms) from U ℓ+k . The
notion of a PRG was introduced by Blum and Micali [8] and Yao [42], who showed that
PRGs can be constructed from any one-way permutation. This was subsequently improved
by Håstad, et al. [27], who show that a PRG can be constructed from any one-way function.
The Blum-Micali-Yao construction, using a later improvement of Goldreich and Levin [22]
(see also [18, Section 2.5.3]), requires Θ(k/ log S) invocations of a one-way permutation
with security S in order to construct a PRG stretching its input by k bits. This is the best
known efficiency for constructions based on arbitrary one-way permutations.
We show that this is essentially the best efficiency that can be obtained using black-box
constructions. More formally, we show that any weak black-box construction of a PRG that
stretches its input by k bits while making o(k/ log S) invocations of a one-way permutation
with security S implies the unconditional existence of a PRG (i.e., without any invocations
of the one-way permutation). Put another way, the only way to design a more efficient
construction of a PRG is to design a PRG from scratch! This would in particular imply the
unconditional existence of a one-way function, as well as a proof that P 6= N P .
(Families of ) universal one-way hash functions (UOWHFs). A UOWHF H = {h s }
is a family of length-decreasing functions (all defined over the same domain and range)
such that for any input x and random choice of h i ∈ H it is hard to find a collision (i.e.,
an x′ 6= x such that hi (x′ ) = hi (x)). UOWHFs were introduced by Naor and Yung [36],
who show that UOWHFs suffice to construct secure signature schemes and furthermore
show how to construct the former from any one-way permutation. Rompel [38] later gave
a construction of UOWHFs, and hence signature schemes, based on any one-way function.
The Naor-Yung construction requires one invocation of the one-way permutation per bit
of compression; that is, if hi : {0, 1}ℓ+k → {0, 1}ℓ (for all hi ∈ H), then evaluating hi
requires k invocations of the one-way permutation. This can be improved easily to obtain
a construction making Θ(k/ log S) invocations to compress by k bits.
We show that this, too, is essentially optimal. In particular, any semi black-box construction of a UOWHF whose hash functions compress their input by k bits yet can be
evaluated using o(k/ log S) invocations of a one-way permutation (with security S) implies
the unconditional existence of a UOWHF. Since the existence of UOWHFs implies the existence of one-way functions, this consequence would again imply a proof of P 6= N P . This
improves upon the work of Kim, Simon,pand Tetali [33], who show a similar result but only
for the case of constructions making o( k/ log S) invocations of a one-way permutation.
Encryption schemes. PRGs and UOWHFs may be viewed as 1-party, or “stand-alone”,
cryptographic primitives for which there is no inherent notion of “interaction”. We also
explore the efficiency of 2-party protocols, including those used in a “public-key” setting.
A public-key encryption scheme for m-bit messages is semantically-secure [25] if for any
two messages M0 , M1 ∈ {0, 1}m the distribution over encryptions of M 0 is computationally
3
indistinguishable from the distribution over encryptions of M 1 , even when given the public
key as input. A similar definition (but with no public key) holds for the case of private-key
encryption. Public-key encryption schemes constructed using the hard-core bit paradigm
[8, 7, 22, 42] require Θ(m/ log S) invocations of a trapdoor permutation to encrypt an mbit message. Similarly, private-key encryption schemes constructed using this paradigm
require Θ( m−k
log S ) invocations of a one-way permutation, where k is the length of the shared
key. The same bound holds in the private-key case even if one is willing to use the stronger
assumption of a trapdoor permutation.
We show that the above constructions are essentially the best possible (at least, for
the notions of security considered above). For the case of public-key encryption, we show
that any weak black-box construction supporting encryption of m-bit messages requires
Ω(m/ log S) invocations of the trapdoor permutation for the encryption algorithm alone
(i.e., in addition to any invocations made during the key-generation phase). Using related
techniques, we also show that any weak black-box construction of a private-key encryption
scheme — even when based on trapdoor permutations — which securely encrypts m-bit
messages using a k-bit key must query its permutation oracle Ω( m−k
log S ) times. In each
case, we show that any weak black-box construction beating our bound would imply the
unconditional existence of a one-way function (from which a secure private-key encryption
scheme, with no reliance on an oracle, can be derived), and hence a proof that P 6= N P .
Signature schemes. We say a one-time signature scheme is secure if no efficient adversary
can forge a valid signature on a new message after seeing a signature on a single, random
message (we remark that it is easy to covert any such scheme to one that is secure when
an adversary sees a signature on a single, chosen message: run two of the “basic” schemes
in parallel to obtain keys (P K1 , SK1 ), (P K2 , SK2 ) and set P K = (P K1 , P K2 ); to sign a
message M ∈ {0, 1}m choose random r ∈ {0, 1}m , sign r using SK1 , sign r ⊕ M using SK2 ,
and output both signatures). Of course, lower bounds on one-time schemes immediately
extend to schemes satisfying stronger definitions of security [26]. We show that in any semi
black-box construction of a one-time signature scheme for messages of length m based on
a one-way permutation, the verification algorithm must evaluate the one-way permutation
Ω(m/ log S) times. As before, any semi black-box construction beating our bound implies
the unconditional existence of a one-way function (from which a secure signature scheme
requiring no oracle access can be constructed).
We observe that there exist one-time signature schemes essentially meeting our lower
bound; see Section 4.5 for further discussion.
1.2
Overview of Our Techniques
We prove our results in an extension of the model of Impagliazzo and Rudich [31, 39]. Among
other things, Impagliazzo and Rudich prove that a semi black-box construction of a secure
key-exchange protocol based on a one-way permutation would inherently yield a proof that
P 6= N P , and hence it is presumably “hard” to come up with such a construction. (This
was later strengthened by Reingold, et al. [37], who proved unconditionally that there exists
no semi black-box construction of a key-exchange protocol based on one-way permutations.)
Our results are in the same vein, but are in many respects even stronger. For one, some of our
impossibility results concern the larger class of weak black-box constructions. Furthermore,
4
in all cases we show that constructions beating our bounds would imply the unconditional
existence of a one-way function; this is stronger than the results of Impagliazzo-Rudich
both because the existence of a one-way function is not known to be implied by P 6= N P ,
and also because (in all but one case) a one-way function suffices to give an unconditional
construction of the object under consideration. Finally, we stress that Impagliazzo and
Rudich were concerned with the question of feasibility, while we are concerned with questions
of efficiency.
Each of our proofs hinges on a technical result that has not been stated or proved
previously: a random permutation on t-bit strings is, with high probability, one-way with
security 2Ω(t) even against non-uniform adversaries. For the related case of random functions, a similar result has been proven by Impagliazzo and Rudich [31] in the (much simpler)
uniform case, and by Impagliazzo [29] in the non-uniform case. 2 We also show a similar
result for the case of trapdoor permutations.
Using this result, we now describe the intuition behind our lower bound using the case
of PRGs as an example. Given a secure construction G of a PRG having oracle access to a
one-way permutation over n-bit strings, we run G with a permutation oracle that randomly
permutes its first t = Θ(log S) bits while leaving the remaining n − t bits unchanged. It
follows from the technical result above that with high probability such a permutation is
one-way with security S, and hence G is secure when run with a permutation chosen from
this distribution. Let q be the number of queries made by G to its oracle. The key point
of our proof is to notice that the answers to these q oracle queries can be “simulated” by
a deterministic function G′ itself (i.e., without access to any oracle) if q · t random bits,
representing the t-prefixes of the q answers to G’s oracles queries, are included as part
of the seed of G′ . The distribution on the output of G′ (over random choice of seed) is
essentially identical to that of the output of G (over random seed, and random choice of
oracle as above), and is thus indistinguishable from uniform. Finally, if q is “small” then
the seed-length does not grow “too much” and the input of G ′ remains shorter than its
output. But this means that G′ is an unconditional PRG which does not require any oracle
access (a corollary of which is a proof that P 6= N P ).
Additional technical work is needed to prove our bounds on UOWHFs, public-key encryption schemes, and digital signature schemes. In the latter two cases in particular, which
are in a “public-key” setting, there is no “seed” as part of which to include the necessary
randomness for answering oracle queries, and thus no immediate way to apply the above
technique. The proofs of our lower bounds in these cases follow a slightly different approach. In the case of public-key encryption, for example, we show that a scheme making
fewer than the prescribed number of queries can be used to construct (unconditionally) a
secure private-key encryption scheme in which the key is shorter than the message. Moving
from the public-key to the private-key setting circumvents the issues above, and enables
the necessary randomness to be included as part of the shared key without compromising
the functionality or the security of the scheme. Unfortunately, our result in this case is
somewhat weaker than what we obtain in all other cases; namely, we show that a public-key
encryption scheme making “few” black-box oracle queries exists only if a secure privatekey encryption scheme (or, equivalently, a one-way function) exists unconditionally. This
2
Although one could derive our result from Impagliazzo’s result and the fact that a random function is
indistinguishable from a random permutation, our proof is quite different and a bit simpler.
5
is, of course, weaker than showing the unconditional existence of a secure public-key encryption scheme. We stress that for the case of PRGs, UOWHFs, private-key encryption
schemes, and signature schemes, constructions beating our bounds imply the existence of
an unconditional construction for each of these tasks.
1.3
Black-Box Lower Bounds and Impossibility Results
We provide here a brief discussion regarding the notion of “black-box constructions”. Our
presentation adapts the recent definitional work of Reingold, et al. [37], simplifying their
definitions when appropriate for the present context. The discussion here is relatively
informal, and we have chosen to provide definitions specific to each primitive in the relevant
sub-sections of Section 4 rather than providing a single, generic definition as in [37].
At a high level, a construction P of a primitive based on, say, a one-way permutation is a
procedure which takes as “input” a permutation f and outputs a (description of a) circuit 3
having some desired functionality. Informally, a construction P uses f as a black-box if P
relies only on the input/output characteristics of the provided function f and not on any
internal structure of the circuit computing f ; formally, this means the construction can be
described as an oracle procedure P (·) such that P f itself realizes the desired functionality.
In addition to correctness (i.e., the requirement that P f has the desired functionality
for any permutation f ), a construction also provides some guarantee with regard to the
security of the resulting implementation P f . We say P is a semi black-box construction if
the following holds:
For any hard-to-invert permutation f , the implementation P f is “secure” (in
some sense appropriate for the primitive being constructed) against all efficient
adversaries, even those given oracle access to f .
In contrast, P is a weak black-box construction if the following relaxed definition holds:
For any hard-to-invert permutation f , the implementation P f is “secure” against
all efficient adversaries (who are not given oracle access to f ).
The distinction between whether an adversary is given oracle access to f or not is important
since the above are required to hold even when f is not efficiently computable (and so the
only way for an efficient adversary to evaluate f , in general, may be via oracle access to
f ). We hasten to point out, however, that even weak black-box constructions suffice to give
implementations with meaningful security guarantees in the real world: in this case, f will
be efficiently-computable and furthermore an explicit circuit for f will be known; hence, it
is irrelevant whether an adversary is given oracle access to f or not.
Clearly, any semi black-box construction is also a weak black-box construction and
hence impossibility results for the latter are stronger. Indeed, Reingold, et al. [37] show that
(1) a semi black-box construction of key-exchange from one-way functions is unconditionally
impossible, yet (2) (informally) if the statement “one-way functions imply key exchange”
is true, then there does exist a weak black-box construction of key exchange (for a singlebit key) from one-way functions. Roughly speaking, a difference between semi black-box
3
For simplicity, the present discussion is phrased in terms of circuits rather than Turing machines although
similar definitions could be made in the latter case as well.
6
and weak black-box constructions is with regard to whether the circuits of adversaries
attacking P f can be used in the security reduction (i.e., the proof that P is secure). In
more detail: typical security proofs for a construction P proceed by showing via reduction
how any efficient adversary AP “breaking” the security of P f can be used to construct an
efficient adversary Af inverting f . Since the latter is impossible by assumption on f , this
implies that no AP with the claimed properties exists. If the reduction relies only on the
input/output characteristics of A P , we refer to this as a reduction which uses the adversary
as a black-box. In contrast, a reduction which relies on knowledge of the circuit for A P is
said to make non-black-box use of the adversary. A security reduction for a weak black-box
construction may potentially make non-black-box use of the adversary. As argued in [37],
however, security reductions for semi black-box constructions are essentially restricted to
using the adversary as a black-box (see [37] for further discussion).
Non-black-box constructions. Black-box constructions form an important subclass,
since most cryptographic constructions are black-box (indeed, most known constructions
are fully black-box [37], a notion which is even more restrictive than semi black-box). We
stress, however, that a number of non-black-box cryptographic constructions are known. 4
The examples of which we are aware occur in two ways: due to the use of generic zeroknowledge proofs (of knowledge) [23, 12, 4] or due to the use of generic protocols for secure
computation [43, 24]. As an illustrative example: let L f denote the image of a function
def
f ; i.e., Lf = {y|y = f (x)}. A cryptographic protocol which utilizes a zero-knowledge
proof that y ∈ Lf (for f a one-way function, say) requires the parties to agree on a
circuit computing f and is thus inherently non-black-box. 5 Examples of non-black-box
constructions where zero-knowledge proofs of this sort are used include a construction of
an identification protocol based on one-way functions [12], a signature scheme based on
non-interactive zero-knowledge [5], and all known constructions of chosen-ciphertext-secure
encryption schemes from trapdoor permutations (e.g., [11]). Furthermore, protocols for
distributed computation (without honest majority) tolerating computationally-bounded,
malicious adversaries [24, 43] are themselves non-black-box 6 (this is in contrast to the case
of zero-knowledge proofs; cf. footnote 5).
Knowledge of the circuit computing f is also necessary if one wants to evaluate f in a
secure, distributed fashion (e.g., if two parties with respective inputs x 1 , x2 want to evaluate
y = f (x1 ⊕ x2 ) without revealing any more information about their inputs than what is
revealed by y itself). Thus, a generic construction of a threshold cryptosystem [10] based on
a family F of trapdoor permutations (in which the parties share the trapdoor for inverting
a single member of this family) would inherently make non-black-box use of the underlying
circuit(s) for F . Another example is a result of Beaver [3] which makes non-black-box use
4
We focus here on constructions making non-black-box use of an underlying function f , rather than on
constructions whose security analysis makes non-black-box use of the adversary (as in [1, 2]).
5
Note that constructions of zero-knowledge proofs for N P (e.g., [23]) are themselves black-box in their
usage of primitives such as one-way functions. The issue is that a proof for the language of interest — e.g.,
Lf in the example in the text — cannot be given unless a (poly-size) circuit computing f is available.
6
For example: although the well-known protocol for oblivious transfer secure against semi-honest adversaries [19, Sec. 7.3.2] makes black-box use of trapdoor permutations, adapting the protocol (using zeroknowledge proofs) to ensure security against malicious adversaries involves non-black-box use of the circuit
for the trapdoor permutation.
7
of a one-way function f to extend “few” oblivious transfers into “many”.
Given the above, a black-box impossibility result cannot be said to rule out the feasibility
of a particular construction. Yet, it is unclear how non-black-box techniques can help
outside the domains mentioned above (i.e., generic use of zero-knowledge proofs or secure
computation). Furthermore, a black-box impossibility result is useful insofar as it indicates
the type of techniques that will be necessary to achieve a desired result, or, conversely,
the type of techniques that are ruled out. Finally, it is fair to say that non-black-box
constructions are much less efficient than black-box ones (this is certainly the case for
all the examples given above, and we are aware of no exceptions), and thus a black-box
impossibility result does seem to rule out constructions likely to be practical.
1.4
Future Work and Open Problems
This work suggests a number of intriguing research directions. The results given here
suggest that assuming only the existence of one-way permutations (or, in some cases, even
trapdoor permutations) may be too weak of a computational hypothesis to obtain efficient
cryptographic constructions. Thus, stronger assumptions may be needed to build practical
schemes. It is important to explore the “minimal” such assumptions necessary to achieve
greater efficiency, as well as to bound the maximum achievable efficiency even when such
stronger assumptions are made. For example: what additional efficiency is possible if
homomorphic one-way permutations (i.e., permutations over a group G satisfying f (ab) =
f (a)f (b) for all a, b ∈ G) are assumed?
In a related vein, it will be interesting to explore more efficient constructions based on
specific number-theoretic assumptions. As will be evident from our proof techniques, the
efficiency limitations of constructions based on arbitrary (trapdoor) one-way permutations
stem from the fact that a one-way permutation may have security S even if it has only
Θ(log S) “hard-core” bits. (Actually, we use “pathological” functions of this form to prove
our lower bounds.) But specific one-way permutations and trapdoor permutations with
Θ(n) hard-core bits are known under suitable number-theoretic assumptions (e.g., [28, 9]).
Given such functions, we know how to construct PRGs and semantically-secure private- and
public-key encryption schemes with improved efficiency. It remains open, however, whether
such functions can also be used to improve the efficiency of digital signature schemes or
(say) public-key encryption schemes achieving chosen-ciphertext security.
The present work also leaves some more concrete open questions. First, can bounds
on the efficiency of other cryptographic constructions (e.g., commitment schemes) also be
given? Additionally, our lower bounds essentially match known upper bounds only for
schemes achieving relatively weak notions of security: namely, semantic security for encryption of a single message in the case of encryption and one-time security for the case of
signatures. What can be said about schemes achieving stronger notions of security? Examples of interest include private-key encryption schemes secure when polynomially-many
messages are encrypted (this seems related to the efficiency of pseudorandom functions,
for which a gap remains between known upper and lower bounds), public-key encryption
schemes satisfying various flavors of non-malleability/security against chosen-ciphertext attacks, and signature schemes secure when polynomially-many messages are signed.
Finally, our bound for signatures pertains to the efficiency of signature verification. It
8
would be nice to have corresponding bounds for the efficiency of key-generation/signing.
2
Definitions and Preliminaries
In this section, we review some notation and definitions for the various standard cryptographic primitives considered in this work. Appropriate definitions of “black-box” constructions are deferred to the relevant sections containing our lower bounds.
In what follows, we consider a number of definitions of “(S, ε)-security” having the form
“no circuit of size S can have advantage better than ε”, where “advantage” is defined in
some appropriate way. In each of the cases considered here, the existence of an (S, ε)-secure
scheme for any ε < 1 implies the existence of an (S ′ , ε′ )-secure scheme for an arbitrarily
small ε′ > 0. For this reason, in all our lower bounds we content ourselves with showing
the existence of an (S, ε)-secure construction for an arbitrary ε < 1.
All our results are stated and proved in the non-uniform setting for simplicity only; we
stress that they extend immediately to the uniform setting as well. Indeed, it is for this
reason that we claim that constructions beating our efficiency bounds imply the existence
of one-way functions and P 6= N P . For example: Theorem 4.2 states only that the existence of a certain PRG construction G(·) : {0, 1}ℓ → {0, 1}ℓ+k based on a permutation
′
π : {0, 1}n → {0, 1}n implies the unconditional existence of a PRG G ′ : {0, 1}ℓ → {0, 1}ℓ+k .
Essentially the same proof, however, also shows that a certain construction of a PRG family
(·)
{Gi : {0, 1}ℓ(i) → {0, 1}ℓ(i)+k(i) } based on a one-way permutation family {π i : {0, 1}n(i) →
(·)
{0, 1}n(i) }, where Gi can be evaluated by a uniform algorithm in polynomial time (in i),
′
implies the unconditional existence of a PRG family {G ′i : {0, 1}ℓ (i) → {0, 1}ℓ(i)+k(i) }, where
again each G′i can be evaluated by a uniform algorithm in polynomial time.
2.1
One-Way Permutations and Trapdoor Permutations
One-way functions/permutations. We say that a function π : {0, 1} n → {0, 1}n is
(S, ε)-one way if for every circuit A of size ≤ S we have Pr x [A(f (x)) ∈ f −1 (f (x))] ≤ ε.
When f is given as an oracle, we provide A with access to f and write this as A f . To reduce
the number of parameters, we will call a function S-hard if it is (S, 1/S)-one way.
Let Πt denote the set of all permutations over {0, 1} t . In Section 3.1 we prove:
Theorem 2.1 For all sufficiently large t, a random π ∈ Π t is 2t/5 -hard with probability at
t/2
least 1 − 2−2 .
For t ≤ n, let Πt,n denote the subset of Πn such that π ∈ Πt,n iff π(a, b) = (π̂(a), b) for some
π̂ ∈ Πt (that is, π permutes the first t bits of its input, while leaving the remaining n − t
bits fixed). An immediate corollary of the above theorem is that if t = 5 log S, then for any
n ≥ t a random π ∈ Πt,n is S-hard with very high probability.
Corollary 2.2 For all sufficiently large t and any n ≥ t, a random π ∈ Π t,n is 2t/5 -hard
t/2
with probability greater than 1 − 2−2 .
(One-way) trapdoor permutations. Our model for trapdoor permutations is somewhat
more involved. We represent a family of trapdoor permutations as a tri-partite oracle
9
τ = (G, F, F −1 ). Informally, G corresponds to the key generation oracle which when queried
on a string td (intended as a “trapdoor”) produces the corresponding public key k. The
oracle F is the actual trapdoor permutation, which will be queried on key k and an input x.
The oracle F −1 allows inversion of F ; i.e., if G(td) = k and F (k, x) = y, then F −1 (td, y) = x.
More formally, consider the class Tn = {τ | τ = (G, F, F −1 )} where:
• G ∈ Πn is a permutation over {0, 1}n . (Having G map trapdoors to keys rather than
having G map “seeds” to a (trapdoor, key) pair does not affect our results.)
• F : {0, 1}n × {0, 1}n → {0, 1}n is an oracle such that, for each k ∈ {0, 1}n , F (k, ·) is
a permutation on {0, 1}n .
• F −1 : {0, 1}n × {0, 1}n → {0, 1}n is an oracle defined as follows: F −1 (td, y) returns
the unique x such that G(td) = k and F (k, x) = y.
A uniformly random τ = (G, F, F −1 ) ∈ Tn is chosen in the natural way: G is chosen at
random from Πn and, for each k ∈ {0, 1}n , the permutation F (k, ·) is chosen independently
at random from Πn . We say that trapdoor permutation family τ = (G, F, F −1 ) is (S, ε)trapdoor one way if for every circuit A of size ≤ S we have
Pr [k := G(td) : Aτ (k, F (k, x)) = x] ≤ ε.
x,td
We say that τ is S-trapdoor one way if it is (S, 1/S)-trapdoor one way. When clear from
the context, we will also say that τ is S-hard. Although technically one must always speak
of families of trapdoor permutations, we will often abuse terminology and simply refer to a
τ ∈ Tn as a trapdoor permutation.
In Section 3.2, we prove the following analogue of Theorem 2.1 for trapdoor permutations:
Theorem 2.3 For all sufficiently large t, a random τ ∈ T t is 2t/5 -hard with probability
t/2
greater than 1 − 2−2 .
For t ≤ n, we let Tt,n be the subset of Tn defined as follows: τ = (G, F, F −1 ) ∈ Tt,n iff:
• G ∈ Πt,n , and thus G(tda , tdb ) = (Ĝ(tda ), tdb ) for some Ĝ ∈ Πt .
• F ((ka , kb ), (xa , xb )) = (F̂ (ka , xa ), xb ), where F̂ (ka , ·) ∈ Πt . Equivalently, F (k, ·) ∈ Πt,n
and furthermore this permutation is determined by the first t bits of k.
• As before, F −1 (td, y) returns the unique x such that G(td) = k and F (k, x) = y.
An immediate corollary of Theorem 2.3 is that if t = 5 log S, then for any n ≥ t a
random τ ∈ Tt,n is S-hard with very high probability.
Corollary 2.4 For all sufficiently large t and any n ≥ t, a random τ ∈ T t,n is 2t/5 -hard
t/2
with probability greater than 1 − 2−2 .
10
2.2
Pseudorandom Generators
Two distributions X, Y are (S, ε)-indistinguishable if for every distinguishing circuit Dist of
size at most S we have
Pr [Dist(x) = 1] − Pr [Dist(y) = 1] ≤ ε.
x∈X
y∈Y
(S,ε)
We also write this as X ≈ Y . We say a function G : {0, 1}ℓ → {0, 1}ℓ+k is an (Sg , ε)secure PRG if G(Uℓ ) is (Sg , ε)-indistinguishable from Uℓ+k , where Un denotes the uniform
distribution over {0, 1}n .
2.3
Universal One-Way Hash Functions
As discussed in the Introduction, a family of universal one-way hash functions (UOWHFs)
is a family H of length-decreasing functions such that, for a random function h ∈ H and a
random point x in the domain, it is hard (given h, x) to find x ′ 6= x such that h(x′ ) = h(x).
More formally, a family H = {hs : {0, 1}ℓ+k → {0, 1}ℓ }s∈{0,1}r of functions is an (S, ε)UOWHF if for every circuit A of size at most S we have
^
Pr[A(s, x, hs (x)) = x′ : x′ 6= x hs (x′ ) = hs (x)] ≤ ε.
s,x
We will represent such a family as a single function H : {0, 1} r × {0, 1}ℓ+k → {0, 1}ℓ where
H(s, x) = hs (x).
2.4
Public- and Private-Key Encryption
Public-key encryption. A public-key encryption scheme for m-bit messages is a tuple of
algorithms PKE = (Gen, Enc, Dec) having the following functionality:
• The key generation algorithm Gen is a probabilistic algorithm which generates a key
pair (pk, sk). We say pk is the public key and sk is the secret key.
• The encryption algorithm Enc is a probabilistic algorithm which, on input a public
key pk and a message M ∈ {0, 1}m , outputs a ciphertext C.
• The decryption algorithm Dec is a deterministic algorithm which, on input a secret
key sk and a ciphertext C, outputs either a message M ∈ {0, 1} m or ⊥.
We also require perfect correctness; that is, for all (pk, sk) output by Gen, all M ∈ {0, 1} m ,
and all C output by Enc(pk, M ), we have Dec(sk, C) = M . (Our results can be modified appropriately for the case of decryption schemes with error; see the remark following
Lemma 4.6.)
For M ∈ {0, 1}m , let PKE(M ) denote the distribution on the view of an adversary
eavesdropping on the encryption of message M ; i.e.,
def
PKE(M ) = {(pk, sk) ← Gen; C ← Enc(pk, M ) : (pk, C)} .
11
We say that PKE is (Se , ε)-secure if for all M0 , M1 ∈ {0, 1}m we have
(Se ,ε)
PKE(M0 ) ≈ PKE(M1 ).
Note that this corresponds to a definition of indistinguishability, or semantic security [25].
The above can be extended in the natural way to allow for interactive encryption
schemes. However, since we do not explicitly consider interactive public-key encryption
in this work and since a formal definition of interactive encryption in the private-key setting is given below, we omit the details.
Private-key encryption. The model for private-key encryption is an appropriate modification of the above. A private-key encryption scheme for m-bit messages using k-bit keys
is a pair of algorithms SKE = (Enc, Dec), where:
• The encryption algorithm Enc is a probabilistic algorithm which, on input a key
sk ∈ {0, 1}k and a message M ∈ {0, 1}m , outputs a ciphertext C.
• The decryption algorithm Dec is a deterministic algorithm which, on input a key
sk ∈ {0, 1}k and a ciphertext C, outputs either a message M ∈ {0, 1} m or ⊥.
As in the public-key case, we require perfect correctness: i.e., for all sk ∈ {0, 1} k , all
M ∈ {0, 1}m , and all C output by Enc(sk, M ), we have Dec(sk, C) = M . (Our results can
be modified appropriately for the case of decryption schemes with error; see the remark
following Lemma 4.6.)
For M ∈ {0, 1}m , denote by SKE(M ) the probability distribution over the view of an
adversary eavesdropping on the encryption of message M (where the shared key sk is chosen
uniformly at random); i.e.,
n
o
def
SKE(M ) = sk ← {0, 1}k ; C ← Enc(sk, M ) : C .
We say that SKE is (Se , ε)-secure if for all M0 , M1 ∈ {0, 1}m we have:
(Se ,ε)
SKE(M0 ) ≈ SKE(M1 ).
The above can be extended to allow for interactive encryption in the natural way. In this
case, Enc and Dec represent interactive Turing machines operating in a sequence of rounds.
d
For notational convenience, we let T ← Enc(sk,
M ) denote the experiment in which random
coins ω1 , ω2 are chosen for Enc and Dec, respectively, and T is the transcript resulting from
d
the interaction of Enc(sk, M ; ω 1 ) with Dec(sk; ω2 ). We also let M ′ ← Dec(sk,
M ) denote the
final output of Dec at the conclusion of the above experiment. Perfect correctness requires
d
that Dec(sk,
M ) = M with probability 1. In the interactive setting, SKE(M ) denotes the
distribution
n
o
def
d
SKE(M ) = sk ← {0, 1}k ; T ← Enc(sk,
M) : T ;
definitions for (Se , ε)-security follow in the obvious way.
12
2.5
Signature Schemes
A signature scheme for m-bit messages is a tuple of algorithms SIG = (Gen, Sign, Vrfy)
having the following functionality:
• The key generation algorithm Gen is a probabilistic algorithm which generates a key
pair (P K, SK). We say that P K is the public key and SK is the secret key.
• The signing algorithm Sign is a probabilistic algorithm which, on input SK and a
message M ∈ {0, 1}m , outputs a signature σ.
• The verification algorithm Vrfy is a deterministic algorithm which, on input P K, a
message M , and a signature σ, outputs a single bit.
We also require that for all (P K, SK) output by Gen, all M ∈ {0, 1} m , and all σ output by
Sign(SK, M ) we have Vrfy(P K, M, σ) = 1.
Our definition of security for signature schemes is extremely weak: we only require security against existential forgery for an adversary who gets a signature on a single, random
message (i.e., we consider a one-time signature scheme secure under random-message attack ). Our lower bounds apply even to “weakly-secure” schemes of this type. Since any
signature scheme secure against adaptive chosen-message attack (cf. [26]) trivially achieves
this “weak” level of security, our results immediately imply a bound for the more general
case. Formally, signature scheme SIG is (S Σ , ε)-secure if for all circuits A of size at most
SΣ we have
(P K, SK) ← Gen; M ← {0, 1}m ;
Pr σ ← Sign(SK, M ); (MV′ , σ ′ ) := A(P K, M, σ) : ≤ ε.
Vrfy(P K, M ′ , σ ′ ) = 1 M ′ 6= M
3
“Hardness” of Random (Trapdoor) Permutations
In this section, we state and prove two key technical theorems which show that a random
permutation π ∈ Πt and a random trapdoor permutation τ ∈ T t are exponentially “hard”
with all but negligible probability for t large enough. Before doing so, we first state the
following bound on the number of oracle circuits of a given size S:
Lemma 3.1 The number of circuits of size S having input/output length n and oracle
access to a function f : {0, 1}n → {0, 1}n is at most 22S+(S+1)n(log(Sn+n)+1) .
Proof A circuit of the form considered here consists of three types of gates: “and” gates,
“or” gates, and “oracle” gates; the first two have in-degree 2 and out-degree 1, while “oracle”
gates have in-degree and out-degree n. A circuit may be specified by listing for each gate:
(1) its type; and (2) for each of this gate’s at most n input wires, the source of the wire
(which may be the output wire of another gate or one of the input wires of the circuit) and
whether its value is complemented. Finally, for each of the n output wires of the circuit
one must also specify the source of this wire and whether its value is complemented. The
information associated with each gate can be specified using at most 2 + n(log(Sn + n) + 1)
bits (per gate), while the information associated with each output wire can be specified
using at most an additional log(Sn + n) + 1 bits. The lemma follows.
13
3.1
“Hardness” of Random Permutations
We now prove Theorem 2.1, restated for convenience.
Theorem For all sufficiently large t, a random π ∈ Π t is 2t/5 -hard with probability at least
t/2
1 − 2−2 .
Proof We begin by showing that given any (π, A) such that A inverts π with “high”
probability, the permutation π has a “short” description (given A).
Claim Let A be a circuit that makes q queries to a permutation π : {0, 1} t → {0, 1}t , and
for which Pry [Aπ (y) = π −1 (y)] ≥ ε. Then π can be described using at most
t
2
+ log (2t − a)!
2 log
a
bits (given A), where a = ε2t /(q + 1).
Proof (of claim) Let N = 2t . Consider the set I of at least εN points on which A is able
to invert π, after making q queries to π. We argue that there exists a set Y ⊆ I such that
|Y | ≥ a and such that the value of π −1 is completely determined by the circuit A, the sets
def
Y and X = π −1 (Y ), and the value of π −1 on all points in {0, 1}t \ Y .
Define Y via the following process: initially Y is empty, and all elements in I are
candidates for inclusion in Y . Take the lexicographically first element y from I, and place
it in Y . Next, simulate the computation of A π (y) and let x1 , . . . , xq be the queries made
by A to π (we assume without loss of generality that they are different), and y 1 , . . . , yq be
the corresponding answers (i.e., y i = π(xi )). If y 6∈ {yi }qi=1 , then remove y1 , . . . , yq from
I. If y = yi for some i, then remove y1 , . . . , yi−1 from I. Then take the lexicographically
smallest of the remaining elements of I, put it into Y , etc. At any step of the construction,
one element is added to Y and at most q are removed from I. Since I initially contains at
least εN elements, in the end we have |Y | ≥ ⌈εN/q⌉ > εN/(q + 1).
We claim that given descriptions of the sets Y and X = π −1 (Y ), the values of π on
{0, 1}t \ X, and the circuit A, it is possible to invert (or, equivalently, compute) π everywhere. For y 6∈ Y , the value of π −1 (y) is explicitly given. The values of π −1 on Y can be
reconstructed sequentially for all y ∈ Y , taken in lexicographic order, as follows: Simulate
the computation of Aπ (y). By construction of Y , during its computation A π (y) will query
π either on points not in X, on points x ∈ X for which π(x) < lex y, or on the point x ∈ X
for which π(x) = y. In the first two cases, we have enough information to continue the
simulation. In the last case, the query itself gives the desired answer π −1 (y). In all possible
cases, we have enough information to reconstruct π −1 (y).
Describing Y , X, and the values of π on {0, 1} t \ X requires 2 log |YN | + log ((N − |Y |)!)
bits, which is at most the number of bits claimed.
Given the above claim, we may now easily prove the theorem. Let A be an oracle circuit
of size at most S = 2t/5 . Note that A will make at most q = 2t/5 queries to π. Let N = 2t .
From the claim, we see that the fraction of permutations π ∈ Π t such that
Pr[Aπ (π(x)) = x] ≥ 2−t/5
x
14
(1)
is at most
N 2
a (N
− a)!
N!
=
N
a
a!
,
where a = 2−t/5 2t /(2t/5 + 1) ≥ N 3/5 /2. Using the inequalities a! ≥ (a/e)a and
(eN/a)a , we may derive the following upper bound on the above expression:
2 a 2 a
N
4e
e N
3/5
a
≤
< 2−a < 2−N /2
<
2
1/5
a!
a
N
N
a
≤
for all sufficiently large N .
1/5
By Lemma 3.1 there are at most 22S+(S+1)t(log(St+t)+1) = 2O(N ) circuits of size S
e
(where the O-notation
suppresses polylogarithmic factors). A union bound thus shows that
the probability over a random choice of π ∈ Π t that there exists a circuit of size S for which
Equation (1) holds is at most
2O(N
1/5 )
· 2−N
3/5 /2
< 2−N
1/2
for all sufficiently large N .
3.2
“Hardness” of Random Trapdoor Permutations
We now prove an analogue of the above theorem for trapdoor permutations. (This is
Theorem 2.3, restated for convenience.)
Theorem For all sufficiently large t, a random τ ∈ T t is 2t/5 -hard with probability greater
t/2
than 1 − 2−2 .
Proof The proof is substantially similar to the proof of Theorem 2.1. We first prove:
Claim Let A be a circuit making q queries to a trapdoor permutation τ ∈ T t and for
which Prk,y [Aτ (k, y) = x ∧ F (k, x) = y] ≥ ε. Then τ can be described using at most
t
2
t
t
+ log (2t − a)!
1 + 2 log(2 !) + t + 2 log
a
bits (given A), where a = ε2t /(2q + 1).
Proof (of claim) Let N = 2t , and let Q(k, y) denote the event that Aτ (k, y) queries either
G(td) or F −1 (td, y ′ ) where y ′ is arbitrary and G(td) = k. Also, we say “A τ inverts (k, y)”
if Aτ (k, y) = x such that F (k, x) = y. There are two possibilities: either
Pr[Aτ inverts (k, y) ∧ Q(k, y)] ≥ ε/2 or
k,y
Pr[Aτ inverts (k, y) ∧ Q(k, y)] ≥ ε/2.
k,y
(2)
Consider the first case. Here, there certainly exists a ŷ for which it is the case that
Prk [Aτ inverts (k, ŷ) ∧ Q(k, ŷ)] ≥ ε/2. Proceeding as in the proof of Theorem 2.1, we
will specify G using a “small” number of bits. Let I be the set of at least εN/2 points
(k, ŷ) on which Aτ inverts (k, ŷ) and Q(k, ŷ) occurs. Define a set K ⊆ I via the following
process: initially K is empty, and all elements in I are candidates for inclusion in K. Take
15
the lexicographically first element (k, ŷ) from I, and place it in K. Next, simulate the
computation of Aτ (k, ŷ). Since Q(k, ŷ) occurs, we know that there is a query i of the form
G(td) or F −1 (td, y ′ ), where G(td) = k. Looking at each of the preceding i − 1 queries, for
each query of the form G(td′ ) with answer k ′ remove (k ′ , ŷ) from I. For each query of the
form F −1 (td′ , y ′ ) let G(td′ ) = k ′ and remove (k ′ , ŷ) from I. Then take the lexicographically
smallest of the remaining elements of I, put it into K, etc. At any step of the construction,
one element is added to K and at most q are removed from I. Since I initially contains at
least εN/2 elements, in the end we have |K| ≥ ⌈εN/2q⌉ > εN/(2q + 1).
Exactly as in the proof of Theorem 2.1 (and so we omit the details), the permutation
G is completely specified given A, ŷ, descriptions of K and G −1 (K), the
values of G−1 on
N
{0, 1}t \ K, and the values of F on all points. This requires 2 log |K| + log ((N − |K|)!)
bits plus an additional 2t log(2t !) bits to specify F . Using an additional bit to specify that
we are in the first case, we can completely specify τ in at most the number of bits claimed.
Consider next the second case of Equation (2). Here, there must exist a k̂ for which
Pry [Aτ inverts (k̂, y) ∧ Q(k̂, y)] ≥ ε/2. Now, we specify F (k̂, ·) using a “small” number of
bits. Let I be the set of at least εN/2 points ( k̂, y) on which Aτ inverts (k̂, y) and Q(k̂, y)
does not occur. Define a set Y ⊆ I via the following process: initially Y is empty, and
all elements in I are candidates for inclusion in Y . Take the lexicographically first element
(k̂, y) from I, and place it in Y . Next, simulate the computation of A τ (k̂, y). Consider
the ℓ ≤ q queries made by A of the form {F (k̂, xi )} with corresponding answers {y i }. If
j−1
y 6∈ {yi }ℓi=1 then remove {(k̂, yi )}ℓi=1 from Y . If y = yj for some j, then remove {(k̂, yi )}i=1
from Y . Then take the lexicographically smallest of the remaining elements of I, put it
into Y , etc. At any step of the construction, one element is added to Y and at most q
are removed from I. Since I initially contains at least εN/2 elements, in the end we have
|Y | ≥ ⌈εN/2q⌉ > εN/(2q + 1).
Following the proof of Theorem 2.1, the permutation F ( k̂, ·) is completely specified given
A, descriptions of Y and the set X such that F ( k̂, X) = Y , the value of F (k̂, ·) on {0, 1}t \X,
the values of G at all points, and the values of F (k, ·) at all points for all k 6= k̂. (We omit the
details, but remark that we crucially use the fact that in the computation of A τ (k̂, y) with
y ∈ Y we are guaranteed that Q(k̂, y) does not occur and, in particular,
A does not make
N
−1
′
a query of the form F (td, y ) with G(td) = k̂.) This requires 2 log |Y | + log ((N − |Y |)!)
bits plus log(2t !) bits to specify G and (2t − 1) log(2t !) bits to specify F (k, ·) for k 6= k̂.
Using an additional t bits to specify k̂, as well as a bit to specify that we are in the second
case, we have that τ is specified in at most the number of bits claimed.
Proceeding as in Theorem 2.1, let A be an oracle circuit of size at most S = 2 t/5 and
note that A makes at most q = 2t/5 queries to τ . Let N = 2t . From the claim, we see that
the fraction of τ ∈ Tt such that Prk,y [Aτ inverts (k, y)] ≥ 2−t/5 is at most
2t+1 Na
3/5
≤ 2−N /4
a!
for sufficiently large N , where a = 2−t/5 2t /(2t/5+1 + 1) and using the fact that a ≥ N 3/5 /4.
Applying Lemma 3.1 (and taking into account that A here has input length 2t, output
length t, and access to three oracles some of which are functions from {0, 1} 2t to {0, 1}t ),
1/5
there are at most 2O(N ) circuits of size S. A union bound thus shows that the probability
16
over a random choice of π ∈ Πt that there exists a circuit of size S for which Equation (1)
holds is at most
1/5
3/5
1/2
2O(N ) · 2−N /4 < 2−N
for all sufficiently large N .
4
4.1
Lower Bounds
Pseudorandom Generators
In this section we show our lower bound for PRG constructions, defined formally as follows.
Definition 4.1 A PRG construction from a one-way permutation is an oracle procedure
G(·) : {0, 1}ℓ → {0, 1}ℓ+k that expects as an oracle a permutation π ∈ Π n . We refer to k as
the stretch of G.
We say G(·) is an (Sp , Sg , ε)-OWP-to-PRG weak black-box construction if for every
permutation π that is Sp -hard, Gπ is an (Sg , ε)-secure PRG.
For any (Sp , Sg , ε)-OWP-to-PRG weak black-box construction with stretch k, we prove
that unless G queries π on at least Ω(k/ log S p ) points, it is possible to derive an unconditional construction of a pseudorandom generator. Before giving the proof, we provide some
intuition.
The basic idea of the proof is as follows: let t = Θ(log S p ). First, note that if G uses
as an oracle π ∈ Πt,n chosen uniformly at random, then G is an (S g , ε)-secure PRG with
all but negligible probability (since a random permutation from Π t,n is Sp -hard with all
but negligible probability). Now, if G queries the oracle at only a few (say, q) points, we
can encode the answers to these queries in the seed of the PRG itself. Furthermore, this
encoding is “short” since only t bits are needed to answer a query to π ∈ Π t,n . We thus
′
obtain a PRG G′ : {0, 1}ℓ → {0, 1}ℓ+k which uses no oracle at all, but which is able to
“simulate” the computation of G when using a random permutation oracle. The desired
bound comes from the fact that G′ still stretches its input provided that ℓ ′ is smaller than
ℓ + k. But ℓ′ = ℓ + qt since qt bounds the number of bits needed to encode the t-bit answers
to G’s q queries.
Theorem 4.2 Let G(·) : {0, 1}ℓ → {0, 1}ℓ+k be an (Sp , Sg , ε)-OWP-to-PRG weak black-box
construction that makes q queries to an oracle π ∈ Π n . If q < k/(5 log Sp ) then there exists
2
′
an (Sg , ε + 2−Sp + q 2 /Sp5 )-secure PRG G′ : {0, 1}ℓ → {0, 1}ℓ+k with ℓ′ < ℓ + k.
Proof
Since G(·) is an (Sp , Sg , ε)-OWP-to-PRG construction, this means that if π :
n
{0, 1} → {0, 1}n is Sp -hard then for any distinguisher T of size at most S g we have
Pr [T (x) = 1] − Pr [T (Gπ (s)) = 1] ≤ ε.
x∈Uℓ+k
s∈Uℓ
Let t = 5 log Sp . From Corollary 2.2 we know that a random permutation π ∈ Π t,n is
t/2
Sp -hard with probability greater than 1 − 2−2 . An averaging argument thus shows that
17
for any circuit T of size at most Sg we have
t/2
Pr [T (x) = 1] − Pr [T (Gπ (s)) = 1] < ε + 2−2
x∈Uℓ+k
π∈Πt,n
.
(3)
s∈Uℓ
Recall that any π ∈ Πt,n operates only on its first t input bits; i.e., any such π satisfies
π(a, b) = (π̂(a), b) where π̂ is a permutation over {0, 1} t . Without loss of generality, we now
assume that G always queries π with strings having distinct t-prefixes. Indeed, for any G
b with essentially the same running time, such
asking arbitrary queries, one can construct a G
b simulates the answer
that if G asks (a, b) with a equal to the t-prefix of a previous query, G
without querying π using the previously-obtained value of π̂(a). In general the behavior of
b is different than that of G, but when we restrict to π ∈ Π t,n they are equivalent.
G
By assumption, G queries π at most q < k/t times. We now construct G ′ which takes
def
as input a seed s′ of length ℓ′ = ℓ + qt < ℓ + k. Let s denote the first ℓ bits of s ′ , and let
y1 , . . . , yq ∈ {0, 1}t denote the remaining qt bits. We then define
def
G′ (s′ ) = G′ (s, y1 , . . . , yq ) = Gy1 ,...,yq (s),
where the notation Gy1 ,...,yq (s) denotes the computation of G(·) (s) when its ith oracle query
xi = (ai , bi ) (with |ai | = t) is answered with (yi , b). (Here we use the fact that the t-prefixes
of G’s queries are distinct.)
G′ stretches its input by at least one bit, and requires no oracle access. Furthermore,
Pr [T (Gπ (s)) = 1] − ′Pr [T (G′ (s′ )) = 1] ≤ 2 · Pry~∈{0,1}qt [Coll],
π∈Πt,n
s∈Uℓ
s ∈Uℓ′
where we let ~y = y1 , . . . , yq and Coll denotes the event that these q values are not distinct. An
easy “birthday problem” calculation shows that Pr y~∈{0,1}qt [Coll] ≤ q 2 /2t+1 , which together
with Equation (3) implies the statement of the theorem.
4.2
Universal One-Way Hash Functions
In this section we prove lower bounds for constructions of universal one-way hash functions
based on one-way permutations. The formal definition of such constructions follows.
Definition 4.3 A construction of a UOWHF from a one-way permutation is an oracle
procedure H (·) (·, ·) that expects as an oracle a permutation π ∈ Π n and is given inputs
s ∈ {0, 1}r and x ∈ {0, 1}ℓ+k . The output is H π (s, x) ∈ {0, 1}ℓ . We refer to k as the
compression of H.
We say H is an (Sp , Sh , ε)-OWP-to-UOWHF semi black-box construction if for every π
that is Sp -hard, H π is an (Sh , ε)-UOWHF even for circuits given oracle access to π.
We show that if there exists an (Sp , Sh , ε)-OWP-to-UOWHF semi black-box construction
with compression k making q < k/(5 log S p ) queries to its oracle π, then it is possible to
derive an unconditionally-secure construction of a UOWHF (i.e., without any access to π).
18
As in the case of PRGs, we first observe that H π is secure when π is chosen uniformly
at random from Πt,n , for t = 5 log S. We then show that the computation of H π for random
π ∈ Πt,n can be simulated by an H ′ (without any oracle access) by including as part of
the key for H ′ the t-prefixes of the answers for the q queries H makes to π. Furthermore,
we include in the output of H ′ the t-prefixes of the q queries themselves. The crux of
the proof is to show that H ′ is a UOWHF. As some intuition toward this, note that since
the t-prefixes of the queries (resp., answers) are included with the output (resp., key), an
adversary finding a collision in H ′ is bound to these particular values. Hence, any collision
in H ′ is also a collision in H π . Since ℓ + qt < ℓ + k (and hence H ′ is length-decreasing)
whenever q < k/(5 log Sp ), this yields the desired bound.
Theorem 4.4 Let H (·) : {0, 1}r × {0, 1}ℓ+k → {0, 1}ℓ be an (Sp , Sh , ε)-OWP-to-UOWHF
semi black-box construction that makes q queries to an oracle π ∈ Π n . If q < k/(5 log Sp )
2
′
then there exists an (Sh − SH , ε + 2−Sp + q 2 /2Sp5 )-secure UOWHF H ′ : {0, 1}r × {0, 1}ℓ+k →
′
{0, 1}ℓ with ℓ′ < ℓ + k, where SH is the size of the circuit computing H.
Proof
Since H (·) is an (Sp , Sh , ε)-OWP-to-UOWHF construction, this means that if
π ∈ Πn is Sp -hard then any circuit A of size ≤ S h finds a collision with probability at most
ε; that is
h
i
^
Pr Aπ (s, z, H π (s, z)) = z ′ : z ′ 6= z H π (s, z ′ ) = H π (s, z) ≤ ε.
s∈Ur
z∈Uℓ+k
We say that z ′ as above is a collision exactly when z ′ 6= z but H π (s, z ′ ) = H π (s, z).
We now restrict the class of adversaries A under consideration: we consider adversaries
that do not access π arbitrarily, but are instead simply given the t-prefixes of the queries
and answers made during the computation of H π (s, z). Since such restricted adversaries
can be simulated by general adversaries with overhead S H (recall that this is the size of the
circuit computing H), we have that if π is S p -hard and A is a circuit of size ≤ Sh − SH then
Pr A(s, y1 , . . . , yq , z, H π (s, z), x1 , . . . , xq ) = z ′ : z ′ is a collision ≤ ε,
s∈Ur
z∈Uℓ+k
where x1 , . . . , xq are the t-prefixes of the q queries made to π during computation of H π (s, z),
and y1 , . . . , yq are the t-prefixes of the corresponding answers.
Let t = 5 log Sp . From Corollary 2.2 we know that a random permutation π ∈ Π t,n is
t/2
Sp -hard with probability greater than 1 − 2−2 . An averaging argument thus shows that
for any circuit A of size ≤ Sh − SH we have
t/2
A(s, y1 , . . . , yq , z, H π (s, z), x1 , . . . , xq ) = z ′ : z ′ is a collision < ε + 2−2 . (4)
Pr
π∈Πt,n
s∈Ur , z∈Uℓ+k
As in the proof of Theorem 4.2, we may assume without loss of generality that H queries
′
′
π on points with distinct t-prefixes. Consider the function H ′ : {0, 1}r ×{0, 1}ℓ+k → {0, 1}ℓ
defined as follows, where r ′ = r + qt and ℓ′ = ℓ + qt:
def
H ′ (s′ , z) = H ′ ((s, y1 , . . . , yq ), z) = H y1 ,...,yq (s, z), x1 , . . . , xq ,
19
where by H y1 ,...,yq (s, z) we mean the computation of H (·) (s, z) when its ith oracle query
(ai , bi ) (with |ai | = t) is answered with (yi , bi ), and where xi , . . . , xq denote the t-prefixes of
the q oracle queries made (i.e., xi = ai ). Note that if q < k/t then ℓ′ < ℓ + k, so H ′ (s′ , ·) is
a length-decreasing function.
By definition of H ′ , if H ′ ((s, y1 , . . . , yq ), z) = H ′ ((s, y1 , . . . , yq ), z ′ ) then H π (s, z) =
H π (s, z ′ ) for any π satisfying π(x1 ) = y1 , . . . , π(xq ) = yq . Thus,
h
i
^
Pr A(s′ , z, H ′ (s′ , z)) = z ′ : z ′ 6= z H ′ (s′ , z ′ ) = H ′ (s′ , z)
s′ ∈U ′
r
z∈Uℓ+k
≤
Pr
π∈Πt,n
s∈Ur , z∈Uℓ+k
A(s, y1 , . . . , yq , z, H π (s, z), x1 , . . . , xq ) = z ′ : z ′ is a collision
+ Pry~∈{0,1}qt [Coll],
where Coll denotes the event that the q values y 1 , . . . , yq are not distinct.7 Equation (4) and
a simple “birthday problem” calculation give the result stated in the theorem.
4.3
Public-Key Encryption
Definition 4.5 A construction of a public-key encryption scheme based on trapdoor permutations is a tuple of oracle procedures PKE (·) = (Gen(·) , Enc(·) , Dec(·) ) such that, for all
τ ∈ Tn , the resulting PKE τ satisfies the functional definition of a public-key encryption
scheme (the construction may be for either an interactive or a non-interactive encryption
scheme, as it does not affect our results).
We say PKE (·) is an (Sp , Se , ε)-TDP-to-PKE weak black-box construction if for every
oracle τ ∈ Tn that is Sp -trapdoor one way, PKE τ is (Se , ε)-secure.
We prove that for any such construction which encrypts messages of length m, unless
Encτ queries τ at least Ω(m/ log Sp ) times there exists a one-way function which does not
require any oracle access. Our proof proceeds by showing that unless Enc τ makes at least
Ω(m/ log Sp ) queries to τ , we can explicitly construct an interactive, private-key encryption
scheme (Enc′ , Dec′ ) requiring no access to the oracle and in which the encrypted message is
longer than the shared key. Using a previous result of Impagliazzo and Luby [30] (see also
Lemma 4.6), this implies the existence of a one-way function.
As in the previous proofs, we first observe that a random τ ∈ T t,n is Sp -hard with all
but negligible probability when t = 5 log S p (cf. Corollary 2.4). To construct an interactive,
private-key encryption scheme without access to an oracle, we have the parties “simulate”
a random τ by appropriately choosing random t-prefixes for the answers to their queries, as
needed. The bits to simulate τ cannot be included in the private key, since the encryption
and decryption algorithms may make their queries in different order and, indeed, may make
different queries altogether. However, we must somehow ensure consistency between the
7
In fact — in contrast to the seemingly-similar situation arising in the proof of Theorem 4.2 — there is
no need to conserve random bits here since the values y1 , . . . , yq are included as part of the key and not the
output (and the length of the key is irrelevant for our purposes). A tighter security reduction is possible
by lowering Pr[Coll]; for example, by including random values y1 , . . . , y2q in the key and using the first q
distinct values (when they exist) to answer the queries of H.
20
oracle answers of the sender and receiver. A possibility that comes to mind is to have each
party include, along with each protocol message it sends to the other party, a list of tprefixes for the queries and answers generated thus far in accessing τ . In this case, however,
privacy is no longer guaranteed as the queries may reveal information about the plaintext
message. But this is easily be remedied in the private-key setting: the parties simply share
a sufficiently-long one-time pad in advance and then “encrypt” their queries and answers
using this pad.
Let qg be the number of queries made to τ by Gen, and let q e be the number of queries
made by Enc. The private-key encryption scheme outlined above requires a shared key of
size roughly O(t) · (qg + qe ) to encrypt an m-bit message. Recalling the result of Impagliazzo
and Luby [30], if O(t) · (qg + qe ) < m then the key is shorter than the message and a oneway function exists. This already gives a “weak” lower bound. To obtain the better lower
bound qe < m/O(t) (so that we bound the efficiency of encryption alone), additional work
is needed; details are given in the proof of Theorem 4.7.
We begin by showing that the existence of a private-key encryption scheme (Enc, Dec)
which securely encrypts messages longer than the shared key implies the existence of a
one-way function. Although this result is already known [30] (without the concrete bounds
given below), we give a much simpler and more direct proof. We stress that the result
applies even in the case of interactive encryption.
Lemma 4.6 Let (Enc, Dec) be an (S, ε)-secure private-key encryption scheme for messages
of length m using a shared key of length k < m. Let S Enc be the size of the circuit needed to
run the encryption protocol (i.e., the size of the circuit for Enc in the non-interactive case,
or the combined sizes of the circuits for Enc and Dec in the interactive setting). Then for
any ℓ ∈ there exists a function f which is (S − ℓS Enc , ℓε + 2−ℓ(m−k) )-one way.
✁
Proof We prove the lemma for the case of interactive encryption, which implies the same
result for the degenerate, non-interactive case as well. First note that, via standard hybrid
argument, running ℓ parallel copies of (Enc, Dec) using ℓ independent keys yields an (S, ℓε)secure private-key encryption scheme for messages of length ℓm in which the shared key has
length ℓk. Let SKE ℓ = (Encℓ , Decℓ ) denote this modified scheme.
d ℓ (sk, M ; ω1 , ω1 )kM , where ω1 , ω2 represent the ranDefine f by f (sk, M, ω1 , ω2 ) = Enc
dom coins used by Encℓ and Decℓ , respectively. We claim that this function is (S ′ , ε′ )-one
way, where S ′ = S − ℓSEnc and ε′ = ℓε + 2−ℓ(m−k) . If not, then there is an algorithm B of
size at most S ′ for which SuccB,f > ε′ , where
def
SuccB,f =
h
i
d ℓ (sk, M ) : B(T kM ) ∈ f −1 (T kM ) .
Pr sk ← {0, 1}ℓk ; M ← {0, 1}ℓm ; T ← Enc
We show how such a B can be used to construct an algorithm A of size at most S for which
SuccA,SKE ℓ > ℓε, where
def
SuccA,SKE ℓ =
Pr
M0 ,M1 ∈{0,1}ℓm
[A(M0 , M1 , T ) = 1] −
Pr
M0 ,M1 ∈{0,1}ℓm
T ∈SKE ℓ (M1 )
T ∈SKE ℓ (M0 )
21
[A(M0 , M1 , T ) = 1] .
This implies that there exist two messages M 0 , M1 for which A can distinguish encryptions
of M0 from encryptions of M1 with probability better than ℓε, contradicting the assumed
security of (Encℓ , Decℓ ). Thus, we are done once we have demonstrated such an A.
Define A as follows: on input (M0 , M1 , T ), algorithm A runs B(T kM0 ) to obtain the
?
result sk ′ kM ′ kω1′ kω2′ . It then checks whether f (sk ′ , M ′ , ω1′ , ω2′ ) = T kM0 . If so (i.e., B
has succeeded in inverting f ), then A outputs 0. Otherwise, A outputs 1. Note that
|A| = |B| + ℓSEnc ≤ S, as required.
First, note that
Pr
M0 ,M1 ∈{0,1}ℓm
[A(M0 , M1 , T ) = 0] = SuccB,f > ε′ .
T ∈SKE ℓ (M0 )
For a transcript T , we say (sk, M ) is consistent with T if there exist ω 1 , ω2 such that
d ℓ (sk, M ; ω1 , ω2 ). We have:
T = Enc
Pr
M0 ,M1 ∈{0,1}ℓm
[A(M0 , M1 , T ) = 1]
T ∈SKE ℓ (M1 )
≤ Pr[sk ← {0, 1}ℓk ; M0 , M1 ← {0, 1}ℓm ;
d ℓ (sk, M1 ) : ∃sk′ s.t. (sk ′ , M0 ) is consistent with T ]
T ← Enc
X
≤
Pr[sk ← {0, 1}ℓk ; M0 , M1 ← {0, 1}ℓm ;
sk ′ ∈{0,1}ℓk
d ℓ (sk, M1 ) : (sk ′ , M0 ) is consistent with T ].
T ← Enc
Perfect correctness of the encryption scheme implies that for any sk, T there is at most one
value of M ∈ {0, 1}ℓm such that (sk, M ) is consistent with T . Using this and the fact that
M0 is chosen at random independent of anything else gives:
X
[A(M0 , M1 , T ) = 1] ≤
2−ℓm
Pr
M0 ,M1 ∈{0,1}ℓm
sk ′ ∈{0,1}ℓk
T ∈SKE ℓ (M1 )
= 2ℓ(k−m) .
Putting everything together shows that Succ A,SKE ℓ > ε′ −2ℓ(k−m) ≥ ℓε, giving the desired
contradiction.
We remark that an analog of the above lemma is known to hold also for the case of
(interactive) private-key encryption schemes with error [30]. This, in turn, implies results analogous to those of Theorems 4.7 and 4.9 for black-box constructions of encryption
schemes with error. However, as we were unable to simplify the proof of [30] in this setting
(and as the concrete bounds on the resulting one-way function are rather unwieldy) we do
not explicitly focus on the case of encryption schemes with error here.
Our main result of this section follows. The theorem is stated for the case of noninteractive public-key encryption, but the proof immediately extends to the case of interactive public-key encryption as well (where q e will in this case refer to the total number of
queries made by sender and receiver during the encryption protocol, and S Enc will refer to
the sizes of Enc and Dec jointly).
22
Theorem 4.7 Let PKE (·) = (Gen(·) , Enc(·) , Dec(·) ) be an (Sp , Se , ε)-TDP-to-PKE weak blackbox construction for messages of length m, and let t = 5 log S p . Assume Gen makes qg
queries to an oracle τ ∈ Tn and Enc makes qe queries to τ ; set ℓ = 2 · ⌈5tqg / (m − 5tqe )⌉.
2
Assume further that ε < (1/4−2−Sp )/ℓ. If qe < m/5t, then there exists an (Se −3ℓSEnc , 3/4)one-way function (without access to any oracle), where S Enc is the size of the circuit for
Enc.
Proof
Note that we did not try to optimize the constants in the proof or the required bound on ε. In applications of cryptographic interest, S p and Se are typically
super-polynomial, SEnc , qg , qe , and m are (small) polynomials, and ε is negligible; thus,
2
ε ≪ (1/4 − 2−Sp )/ℓ and Se ≫ 3ℓSEnc anyway.
Let PKE (·) = (Gen(·) , Enc(·) , Dec(·) ). As in the proof of Lemma 4.6, for any ℓ ∈ we
(·)
(·)
(·)
(·)
may construct a public-key encryption scheme PKE ℓ = (Genℓ , Encℓ , Decℓ ) for ℓm-bit
messages in the natural way; furthermore, we may set Gen ℓ = Gen since we are now in
the public-key setting and so key generation need only be done once. It is easy to see (via
(·)
hybrid argument) that PKE ℓ is an (Sp , Se − ℓSEnc , ℓε)-TDP-to-PKE construction, where
the number of queries made by Genℓ is qg and the number of queries made by Enc ℓ is at
most ℓqe .
Set ℓ = 2 · ⌈5t qg /(m − 5t qe )⌉ as in the statement of the theorem, and let S ′ = Se − ℓSEnc
2
(·)
and ε′ = ℓε + 2−Sp . We use PKE ℓ to construct an (S ′ , ε′ )-secure interactive, private-key
′
encryption scheme SKE = (Enc , Dec′ ) for ℓm-bit messages in which the shared key will have
length 5t · (qg + ℓqe ). Furthermore, SKE will require no access to the trapdoor permutation
oracle. Finally, we have 5t · (q g + ℓqe ) < ℓm (in fact, ℓm − 5t · (qg + ℓqe ) ≥ 1) and ε′ < 1/4;
thus, application of Lemma 4.6 (with ℓ = 1 there) yields the desired result.
(·)
Security of PKE ℓ implies that if τ is Sp -hard then, for any circuit B of size ≤ S ′ and
for any messages M0 , M1 ∈ {0, 1}ℓm we have
✁
Pr
v∈PKE τℓ (M0 )
[B(v) = 1] −
Pr
[B(v) = 1] ≤ ℓε.
v∈PKE τℓ (M1 )
Corollary 2.4 shows that a random τ ∈ Tt,n is Sp -hard except with probability less than
2
2−Sp . A straightforward averaging argument thus shows that for any circuit B of size ≤ S ′
and for any messages M0 , M1 ∈ {0, 1}ℓm we have:
Pr
τ ∈Tt,n
v∈PKE τℓ (M0 )
[B(v) = 1] −
2
Pr
τ ∈Tt,n
v∈PKE τℓ (M1 )
[B(v) = 1] < ℓε + 2−Sp = ε′ .
(5)
As mentioned in the discussion at the beginning of this section, our private-key encryption scheme SKE will “simulate” a random τ ∈ T t,n for algorithms Gen, Encℓ , and Decℓ . We
achieve this simulation using a “simulation procedure” SIM which ensures consistency of
the answers to all oracle queries. This procedure takes as input a list L of (appropriate prefixes of) previous oracle queries and answers; before answering any query, SIM examines L
and ensures that the answer it gives will not generate any inconsistencies. After answering
a query, L is updated accordingly. As an example, if query tdkb to G was answered by kkb
23
(where |td| = |k| = t), then subsequent query td ′ kb′ to G must be answered by k ′ kb′ where
k′ = k iff td′ = td. A more involved procedure is needed to answer queries to F and F −1 .
We now describe the details of this simulation.
SIM(L):
• On query G(tdkb) (where |td| = t): if ∃k s.t. (td, k) ∈ L, return kkb. Otherwise pick
random k ∈ {0, 1}t such that ∀td′ : (td′ , k) 6∈ L, return kkb, and store (td, k) in L.
• On query F (kkb, xkb′ ) (where |k| = |x| = t):
1. if ∃y s.t. (k, x, y) ∈ L, return ykb′ .
2. Otherwise, if ∃td s.t. (td, k) ∈ L, choose random y ∈ {0, 1} t such that ∀x′ :
(k, x′ , y) 6∈ L, return ykb′ , and store (k, x, y) in L.
3. Otherwise, choose random td ∈ {0, 1}t such that ∀k ′ : (td, k ′ ) 6∈ L, choose random
y ∈ {0, 1}t , return ykb′ , and store (k, td) and (k, x, y) in L.
• On query F −1 (tdkb, ykb′ ) (where |tk| = |y| = t):
1. if ∃k, x s.t. (td, k), (k, x, y) ∈ L, return xkb ′
2. Otherwise, if ∃k s.t. (td, k) ∈ L, choose random x ∈ {0, 1} t such that ∀y ′ :
(k, x, y ′ ) 6∈ L, return xkb′ , and store (k, x, y) in L
3. Otherwise, choose random k ∈ {0, 1}t such that ∀td′ : (td′ , k) 6∈ L, choose random
x ∈ {0, 1}t , return xkb′ , and store (td, k) and (k, x, y) in L
Note that each time a query is answered, at most 5t bits are stored in L.
Construct SKE as follows. Parse the shared key s as (s 1 , s2 ) where |s1 | = 5tqg and
|s2 | = 5tℓqe . To encrypt message M , the receiver Dec′ begins by initializing list L := ∅.
The receiver then computes (pk, sk) ← Gen SIM(L) (updating L in the process) and sends
pk, s1 ⊕ L to the sender. The receiver stores sk, L for later use. Upon receiving the first
message pk, ŝ1 , the sender computes L1 := s1 ⊕ ŝ1 and sets L := L1 . The sender then
SIM(L)
(pk, M ) and sets L2 := L\L1 . Finally, Enc′ sends C, s2 ⊕ L2 to
computes C ← Encℓ
the receiver. Upon receiving message C, ŝ 2 , the receiver decrypts by setting L 2 := s2 ⊕ ŝ2
and L := L0 ∪ L2 (here, L0 is the list stored by the receiver from the first stage). The
SIM(L)
(sk, C).
receiver can then compute M := Dec ℓ
It is clear that SKE has correct decryption. We now show that the scheme is (S ′ , ε′ )secure. Assume toward a contradiction that there exists a circuit A of size ≤ S ′ and messages
M0 , M1 ∈ {0, 1}ℓm such that
Pr
[A(v) = 1] −
v∈SKE(M0 )
Pr
v∈SKE(M1 )
[A(v) = 1] > ε′ .
We construct circuit B attacking PKE ℓ as follows. On input pk, C, circuit B picks random
strings ŝ1 , ŝ2 where |ŝ1 | = 5tqg and |ŝ2 | = 5tℓqe . Then, B outputs A(pk, ŝ1 , C, ŝ2 ). Because
the keys s1 , s2 of SKE are used as a one-time pad, it is easy to see that, for b ∈ {0, 1}:
Pr
τ ∈Tt,n
[B(pk, C) = 1] =
(pk,C)∈PKE τℓ (Mb )
24
Pr
[A(v) = 1].
v∈SKE(Mb )
Thus, the advantage of B is equal to the advantage of A (which is greater than ε ′ ), contradicting Equation (5).
4.4
Private-Key Encryption
The techniques of the previous section can be adapted to show a similar lower bound for
private-key encryption schemes based on trapdoor permutations; note that trapdoor permutations generalize one-way permutations (which are sufficient for private-key encryption),
and therefore our result shows that improved efficiency cannot be obtained in this case even
by assuming a stronger primitive.
Definition 4.8 A construction of a private-key encryption scheme based on trapdoor permutations is a pair of oracle procedures SKE (·) = (Enc(·) , Dec(·) ) such that, for all τ ∈ Tn ,
the resulting SKE τ satisfies the functional definition of a private-key encryption scheme
given earlier (again, the construction may yield either an interactive or a non-interactive
scheme).
We say SKE (·) is an (Sp , Se , ε)-TDP-to-SKE weak black-box construction if for every
τ ∈ Tn that is Sp -hard, SKE τ is (Se , ε)-secure.
Suppose a construction of this type exists which encrypts m-bit messages using a shared
m−k
key of length k. We show that unless Enc τ queries τ at least q = Ω( log
Sp ) times, then
an unconditional one-way function exists. This matches the known upper bound, even for
schemes constructed using one-way permutations.
The proof is similar to that of Theorem 4.7, in that we convert SKE (·) to a private-key
encryption scheme SKE ′ that does not access an oracle at all. The only difference between
the proof here and the proof of Theorem 4.7 is that here the parties need to share a k-bit
key in addition to the one-time pad used to encrypt their “simulated” queries and answers
to the oracle. Set t = 5 log Sp . The resulting SKE ′ requires a shared key of length k + 5tq
and encrypts an m-bit message. As before, then, if k + 5tq < m we obtain a private-key
encryption scheme (making no oracle queries) in which the message is longer than the key.
By Lemma 4.6, this implies the existence of a one-way function.
The following theorem is stated for the case of non-interactive private-key encryption,
but the proof immediately extends to the case of interactive private-key encryption as well.
Theorem 4.9 Let SKE (·) = (Enc(·) , Dec(·) ) be an (Sp , Se , ε)-TDP-to-SKE weak black-box
construction for messages of length m using a key of length k in which Enc makes q queries
−Sp2
)-secure
to an oracle τ ∈ Tn . Let t = 5 log Sp . If q < m−k
5t then there exists an (Se , ε + 2
private-key encryption scheme in which the message is longer than the key, without access
to any oracle.
Proof The proof is substantially similar to the proof of Theorem 4.7, so the discussion
here will be somewhat terse. Let t = 5 log S p . As in the previous proof, security of the given
construction and a straightforward averaging argument imply that for any circuit B of size
≤ Se and for any messages M0 , M1 ∈ {0, 1}m we have:
Pr
τ ∈Tt,n
[B(v) = 1] −
v∈SKE τ (M0 )
Pr
τ ∈Tt,n
v∈SKE τ (M1 )
25
2
[B(v) = 1] < ε + 2−Sp .
2
We now construct an (Se , ε + 2−Sp )-secure private-key encryption scheme SKE ′ =
def
(Enc′ , Dec′ ) for m-bit messages in which the shared key has length k ′ = k + 5t · q. Furthermore, SKE ′ requires no oracle access. If q < (m − k)/5t, then k ′ < m and we obtain the
desired result.
The approach for constructing SKE ′ is exactly as in Theorem 4.7 (and as discussed
earlier in this section), and in particular we use the same simulation procedure SIM as
there. SKE ′ is constructed as follows: The shared key s of length k ′ is parsed as (s1 , s2 )
where |s1 | = k and |s2 | = 5t · q. To encrypt message M , the sender initializes L := ∅,
computes C ← EncSIM(L) (s1 , M ) (updating L in the process), and then sends C, s 2 ⊕ L to
the receiver. The receiver obtains ciphertext C, L̂, recovers L = L̂ ⊕ s2 , and then computes
M = DecSIM(L) (s1 , C).
It is not hard to see that SKE ′ has correct decryption. Arguing exactly as in Theorem 4.7
2
we see that SKE ′ is (Se , ε + 2−Sp )-secure, completing the proof of the theorem.
4.5
Signature Schemes
We now demonstrate a lower bound on the efficiency of signature verification for any signature scheme based on one-way permutations.
Definition 4.10 A construction of a digital signature scheme for m-bit messages (based on
one-way permutations) is a tuple of procedures SIG (·) = (Gen(·) , Sign(·) , Vrfy(·) ) such that,
for all π ∈ Πn , the resulting SIG π satisfies the functional definition of a signature scheme
given earlier. We say SIG (·) is an (Sp , SΣ , ε)-OWP-to-signature semi black-box construction
if for every oracle π ∈ Πn that is Sp -hard, SIG π is (SΣ , ε)-secure, where this must hold even
for circuits given access to π.
Given a construction of this sort, we prove that unless Vrfy queries π at least Ω(m/ log S p )
times, then it is possible to construct from SIG a one-way function which does not access
any oracle. Note that this one-way function could then be used to construct an secure
signature scheme (which requires no oracle access) [38].
We start with an informal overview of our proof technique. As a first attempt to
construct a one-way function from the verification algorithm, one might define
F1 (P K, M, σ) = P KkVrfy(·) (P K, M, σ).
Intuitively, this function is difficult to invert on elements of the form P Kk1 if P K is a valid
and randomly-generated public key, since inverting the function on points of this form is
equivalent to signature forgery. As presently defined, however, evaluating F 1 requires calls
to π; however, our goal is to construct a function which does not require access to any
oracle. As in the previous section, though, one may observe that π is S p -hard (and thus
SIG is secure) when π is uniformly chosen from Π t,n for t = 5 log Sp (cf. Corollary 2.2). So,
if Vrfy makes q queries to π, then specifying qt bits as the answers to these queries removes
any need to query the oracle. Based on this, one might consider the function
F2 (P K, y1 , . . . , yq , M, σ) = P Kky1 k · · · kyq kx1 k · · · kxq kVrfyy1 ,...,yq (P K, M, σ),
26
(6)
where |y1 | = · · · = |yq | = |x1 | = · · · = |xq | = t and the ith query xi kbi of Vrfy is answered
with yi kbi (we assume without loss of generality that Vrfy queries π with strings having
distinct t-prefixes). The intuition, as before, is that F 2 is difficult to invert on elements of
the form P Kk~y k~xk1 if P K, ~y , and ~x are chosen appropriately.
Now, however, another problem arises. In order for F 2 to qualify as a one-way function, it must be hard to invert F2 (P K, ~y , M, σ) when P K, ~y , M, σ are sampled from an
efficiently sampleable distribution (cf. Lemma 4.12, below). More specifically, a proof of
one-wayness will need to show how to efficiently sample P K, ~y , M, σ such that inverting the
value F2 (P K, ~y , M, σ) results in a signature forgery and hence a contradiction. A necessary
condition for inversion to result in signature forgery is that Vrfy y~ (P K, M, σ) = 1. Generating P K, ~y , M, σ such that this holds is easy if we have the secret key SK; but then inverting
F2 and forging a signature does not yield the desired contradiction!
Instead, in the proof we will obtain M, σ from the signer. In this case, however, inverting
F2 (P K, ~y , M, σ) does not result in a forgery if it results in the same message/signature pair
M, σ. We come now to the crux of our proof. If the number of queries is “small”, we
show that inversion of F2 yields a different message M ′ (and thus a successful forgery) with
noticeable probability. More precisely, for randomly-generated P K, ~y , ~x, σ, let
Y = P Kk~y k~xk1 = F2 (P K, ~y , M, σ).
P
If |~x| = qi=1 |xi | < |M |, then (on average) there exists an element P Kk~y kM ′ kσ ′ ∈ F2−1 (Y )
with M ′ 6= M ; hence inverting Y results in a forgery with noticeable probability. This idea
is formalized in the proof of the following theorem.
Theorem 4.11 Let SIG (·) be an (Sp , SΣ , ε)-OWP-to-signature semi black-box construction
for messages of length m in which Vrfy makes q queries to an oracle π ∈ Π n , algorithms
2
Gen, Sign, and Vrfy jointly make q̂ queries to π, and ε < 1/4 − 2 −Sp . If q < m/(5 log Sp )
then there exists an (SΣ − SGen − SSign − 2SVrfy , 3/4 + q̂ 2 /2Sp5 )-one-way function (without
access to a permutation oracle), where S Gen , SSign ,and SVrfy are the sizes of the circuits for
Gen, Sign, and Vrfy, respectively.
Proof As in Theorem 4.7, we did not try to optimize the constants in the proof or
the required bound on ε. In applications of cryptographic interest, one will anyway have
2
SΣ ≫ SGen + SSign + 2SVrfy and ε ≪ 1/4 − 2−Sp .
We first present a technical lemma showing that the existence of a function which is
one-way over an efficiently sampleable domain implies the existence of a function which is
one-way under the definition of Section 2.1.
Lemma 4.12 Let D be a distribution sampleable by a circuit of size S D and let f be a
function such that for every circuit A of size ≤ S we have:
Pr[x ← D : A(f (x)) ∈ f −1 (f (x))] ≤ δ.
Then there exists a function fˆ that is (S − SD , δ)-one way.
Proof (of lemma) We equate the distribution D with the circuit of size S D which samples
it; i.e., {D(r)} ≡ D (where r is a string of the appropriate length chosen uniformly at
27
def
random). Define fˆ(r) = f (D(r)). We claim that fˆ is (S − SD , δ)-one way. Assume the
contrary. Then there exists a circuit  of size at most S − SD for which
Prr [Â(fˆ(r)) ∈ fˆ−1 (fˆ(r))] > δ.
def
Toward a contradiction, define a circuit A as follows: A(y) = D(Â(y)). Notice that |A| ≤ S.
Furthermore,
Pr[x ← D : A(f (x)) ∈ f −1 (f (x))]
= Prr [x := D(r) : f (A(f (x))) = f (x)]
= Prr [f (A(fˆ(r))) = fˆ(r)]
= Prr [fˆ(Â(fˆ(r))) = fˆ(r)]
= Prr [Â(fˆ(r)) ∈ fˆ−1 (fˆ(r))] > δ.
The proof of the theorem proceeds by using SIG to construct a function F along with
a distribution D such that for every circuit A of size ≤ S Σ − SVrfy we have:
Pr[X ← D : A(F (X)) ∈ F −1 (F (X))] ≤ ε + 2−Sp + 1/2 + q̂ 2 /2Sp5
< 3/4 + q̂ 2 /2Sp5 .
(7)
Furthermore, D will be computable by a circuit of size S Gen + SSign + SVrfy . Applying
Lemma 4.12 then yields the desired result.
Since SIG (·) is an (Sp , SΣ , ε)-OWP-to-signature construction, if π is S p -hard then, for
any circuit B of size ≤ SΣ we have Succπ,B ≤ ε where
def
Succπ,B =
Pr [(P K, SK) ← Genπ ; M ← {0, 1}m ; σ ← Signπ (SK, M ); (M ′ , σ ′ ) := B π (P K, M, σ) :
Vrfyπ (P K, M ′ , σ ′ ) = 1 ∧ M ′ 6= M .
Let t = 5 log Sp . Corollary 2.2 shows that a random π ∈ Πt,n is Sp -hard except with
2
probability less than 2−Sp . An averaging argument then implies that for any circuit B of
2
size ≤ SΣ we have Succ∗B < ε + 2−Sp where Succ∗B is defined analogously to Succπ,B except
that the probability is now taken over random choice of π ∈ Π t,n as well.
Define a function F as in Equation (6), repeated here for convenience:
F (P K, ~y , M, σ) = P Kk~y k~xkVrfy y~ (P K, M, σ),
where ~y = (y1 , . . . , yq ), ~x = (x1 , . . . , xq ), |y1 | = · · · = |yq | = |x1 | = · · · = |xq | = t, and the
ith query xi kbi of Vrfy is answered with yi kbi . (As in the proof of Theorem 4.2, we assume
Vrfy queries its oracle on points having distinct t-prefixes.) We also define distribution D
by the following experiment which depends on uniformly distributed coins r g , rs (of some
appropriate length), ry ∈ {0, 1}q̂t (parsed as a sequence of t-bit strings ŷ 1 , . . . , ŷq̂ ∈ {0, 1}t ),
and M ∈ {0, 1}m :
(P K, SK) := Gen(rg );
: P Kk~y kM kσ .
σ := Sign(SK, M ; rs ); Vrfy(P K, M, σ)
28
In the above experiment, the coins ry = ŷ1 , . . . , ŷq̂ are used to give a simulation8 of a random
π ∈ Πt,n which is consistent across the executions of Gen, Sign, and Vrfy. The component
yi of y~ is the t-prefix of the answer given in response to the i th query of Vrfy. Note that D
is computable by a circuit of size essentially S Gen + SSign + SVrfy .
We claim that F satisfies the requirement expressed in Equation (7). Assume toward
a contradiction that there exists a circuit A of size ≤ S Σ − SVrfy for which Equation (7)
does not hold. We use A to construct an algorithm B which — given P K, a random
message M , and a signature σ on M — forges a valid signature on a new message M ′ with
“high” probability. B π (P K, M, σ) first runs Vrfy(P K, M, σ), answering the queries of Vrfy
by forwarding them to π. Let ~x be the t-prefixes of the queries made by Vrfy, and let ~y be
the t-prefixes of the corresponding answers. Define X = P Kk~y kM kσ and Y = P Kk~y k~xk1;
note that Y = F (X). Finally, algorithm B computes P K ′ k~y ′ kM ′ kσ ′ = A(Y ) and outputs
(M ′ , σ ′ ). We clearly have |B| ≤ SΣ .
B outputs a successful forgery if both F (P K ′ k~y ′ kM ′ kσ ′ ) = Y and M ′ 6= M hold. To
see this, note that the first condition implies ~y = ~y ′ , and hence Vrfyy~ (P K, M ′ , σ ′ ) = 1
and furthermore Vrfy makes queries with t-prefixes ~x. Thus, Vrfy π (P K, M ′ , σ ′ ) = 1. If
furthermore M ′ 6= M , then (M ′ , σ ′ ) is a successful forgery. Finally, the distribution on
X — over random choice of π ∈ Πt,n — is statistically close to distribution D, where the
difference is due to the fact that the ŷ 1 , . . . , ŷq̂ used in the experiment defining D may not be
distinct. This accounts for the term q̂ 2 /2Sp2 in the analysis below (obtained using a simple
“birthday problem” calculation), but see footnote 7.
Let Eq be the event that M ′ = M . Then
Succ∗B ≥
=
Pr [Y = F (X); X ′ = A(Y ) : X ′ ∈ F −1 (Y ) ∧ Eq] − q̂ 2 /2Sp5
X←D
Pr [Y = F (X); X ′ = A(Y ) : X ′ ∈ F −1 (Y )]
X←D
− Pr [Y = F (X); X ′ = A(Y ) : X ′ ∈ F −1 (Y ) ∧ Eq] − q̂ 2 /2Sp5
X←D
−Sp
> ε+2
+ 1/2
− Pr[X ← D; P Kk~y k~xk1 = F (X);
P K ′ k~y ′ kM ′ kσ ′ = A(P Kk~y k~xk1) : M ′ = M ]
= ε + 2−Sp + 1/2
X
−
Pr[X ← D; P Kk~y k~xk1 = F (X);
~
z
P K ′ k~y ′ kM ′ kσ ′ = A(P Kk~y k~xk1) : M ′ = M ∧ ~x = ~z ],
where the sum is over ~z consisting of q distinct t-bit strings. Substituting ~z for ~x in part of
the final equation above gives
Succ∗B ≥ ε + 2−Sp + 1/2
X
−
Pr[X ← D; P Kk~y k~xk1 = F (X);
~
z
8
Simulating a random π ∈ Πt,n is done as expected: the oracle query xj kb with the j th distinct tprefix across the executions of Gen, Sign, and Vrfy is answered with ŷ j kb, and an oracle query xkb with a
previously-used t-prefix is answered in a consistent manner in the obvious way.
29
P K ′ k~y ′ kM ′ kσ ′ = A(P Kk~y k~z k1) : M ′ = M ∧ ~x = ~z ]
≥ ε + 2−Sp + 1/2
X
−
Pr[X ← D; P Kk~y k~xk1 = F (X);
~
z
P K ′ k~y ′ kM ′ kσ ′ = A(P Kk~y k~z k1) : M ′ = M ].
In this last equation we may note that A has no information about M , which is chosen at
random from {0, 1}m independently of P K, ~y , and ~z. Therefore:
X
2−m .
(8)
Succ∗B ≥ ε + 2−Sp + 1/2 −
~
z
2t
Noting that there are q < 2qt ≤ 2m−1 terms in the sum of Equation (8), we derive the
contradiction Succ∗B > ε + 2−Sp .
Upper bounds on the efficiency of signature schemes. As mentioned in the Introduction, our lower bounds focus on the efficiency of signature verification. We briefly observe
some upper bounds on the efficiency of verification for one-time signatures (satisfying the
notion of security considered here) on m-bit messages. The Lamport scheme [34] requires
m invocations of a one-way permutation to verify a signature. Instead of signing bit-by-bit,
the scheme can be modified to sign block-by-block. When basing the construction on an
S-hard one-way permutation, it is possible to obtain provable security using blocks of length
Θ(log(S/m)); this gives a signature scheme requiring only Θ(m/ log(S/m)) invocations for
verification. When S is polynomial, this is essentially optimal as far as verification is concerned (although the key-generation time and public-key size are prohibitive); however, the
resulting scheme does not even run in polynomial time when S is super-polynomial. An
alternate approach is to include a universal one-way hash function h s as part of the public key, and to use the (basic) Lamport scheme to sign h s (M ). Verification now requires
evaluation of hs followed by a verification in the underlying Lamport scheme. Since h s can
be used to compress an arbitrary-length message to an n-bit string (when using an S-hard
permutation on n bits) [36], we obtain a verification complexity of Θ(n + (m − n)/ log S)
when m ≥ n.
References
[1] B. Barak. How to Go Beyond the Black-Box Simulation Barrier. 42nd IEEE Symposium
on Foundations of Computer Science (FOCS), IEEE, pp. 106–115, 2001.
[2] B. Barak. Constant-Round Coin-Tossing with a Man in the Middle, or Realizing the
Shared Random String Model. 43rd IEEE Symposium on Foundations of Computer
Science (FOCS), IEEE, pp. 345–355, 2002.
[3] D. Beaver. Correlated Pseudorandomness and the Complexity of Private Computations. 28th ACM Symposium on Theory of Computing (STOC), ACM, pp. 479–488,
1996.
30
[4] M. Bellare and O. Goldreich. On Defining Proofs of Knowledge. Adv. in Cryptology —
Crypto 1992, LNCS vol. 740, Springer-Verlag, pp. 390–420, 1993.
[5] M. Bellare and S. Goldwasser. New Paradigms for Digital Signatures and Message
Authentication Based on Non-Interactive Zero-Knowledge Proofs. Adv. in Cryptology
— Crypto 1989, LNCS vol. 435, Springer-Verlag, pp. 194–211, 1990.
[6] M. Bellare, S. Halevi, A. Sahai, and S. Vadhan. Many-to-one Trapdoor Functions and
their Relation to Public-Key Cryptosystems. Adv. in Cryptology — Crypto 1998, LNCS
vol. 1462, Springer-Verlag, pp. 283–298, 1998.
[7] M. Blum and S. Goldwasser. An Efficient Probabilistic Encryption Scheme Which Hides
All Partial Information. Adv. in Cryptology — Crypto ’84, LNCS vol. 263, SpringerVerlag, pp. 289–302, 1985.
[8] M. Blum and S. Micali. How to Generate Cryptographically Strong Sequences of
Pseudo-Random Bits. SIAM J. Computing 13(4): 850–864, 1984.
[9] D. Catalano, R. Gennaro, and N. Howgrave-Graham. Paillier’s Trapdoor Function
Hides up to O(n) Bits. J. Cryptology 15(4): 251–269, 2002.
[10] Y. Desmedt and Y. Frankel. Threshold Cryptosystems. Adv. in Cryptology — Crypto
1989, LNCS vol. 435, Springer-Verlag, pp. 307–315, 1990.
[11] D. Dolev, C. Dwork, and M. Naor. Non-Malleable Cryptography. SIAM J. Computing
30(2): 391–437, 2000.
[12] U. Feige, A. Fiat, and A. Shamir. Zero-Knowledge Proofs of Identity. J. Cryptology
1(2): 77–94, 1988.
[13] M. Fischlin. On the Impossibility of Constructing Non-Interactive Statistically-Secret
Protocols From any Trapdoor One-Way Function. Cryptographers’ Track — RSA 2002,
LNCS vol. 2271, pp. 79–95, 2002.
[14] R. Gennaro, Y. Gertner, and J. Katz. Lower Bounds on the Efficiency of Encryption and
Digital Signature Schemes. 35th ACM Symposium on Theory of Computing (STOC),
ACM, pp. 417–425, 2003.
[15] R. Gennaro and L. Trevisan. Lower bounds on the Efficiency of Generic Cryptographic
Constructions. 41st IEEE Symposium on Foundations of Computer Science (FOCS),
IEEE, pp. 305–313, 2000.
[16] Y. Gertner, S. Kannan, T. Malkin, O. Reingold, and M. Viswanathan. The Relationship
between Public-Key Encryption and Oblivious Transfer. 41st IEEE Symposium on
Foundations of Computer Science (FOCS), IEEE, pp. 325–335, 2000.
[17] Y. Gertner, T. Malkin, and O. Reingold. On the Impossibility of Basing Trapdoor
Functions on Trapdoor Predicates. 42nd IEEE Symposium on Foundations of Computer Science (FOCS), IEEE, pp. 126–135, 2001.
31
[18] O. Goldreich. Foundations of Cryptography, vol. 1: Basic Tools. Cambridge University
Press, Cambridge, UK, 2001.
[19] O. Goldreich. Foundations of Cryptography, vol. 2: Basic Applications. Cambridge
University Press, Cambridge, UK, 2004.
[20] O. Goldreich, S. Goldwasser, and S. Micali. On the Cryptographic Applications of
Random Functions. Adv. in Cryptology — Crypto ’84, LNCS vol. 263, Springer-Verlag,
pp. 276–288, 1985.
[21] O. Goldreich, S. Goldwasser, and S. Micali. How to Construct Random Functions. J.
ACM 33(4): 792–807, 1986.
[22] O. Goldreich and L. Levin. Hard-Core Predicates for any One-Way Function. 21st ACM
Symposium on Theory of Computing (STOC), ACM, pp. 25–32, 1989.
[23] O. Goldreich, S. Micali, and A. Wigderson. Proofs that Yield Nothing but Their Validity or All Languages in NP Have Zero-Knowledge Proof Systems. J. ACM 38(3):
691–729, 1991.
[24] O. Goldreich, S. Micali, and A. Wigderson. How to Play Any Mental Game or A
Completeness Theorem for Protocols with Honest Majority. 19th ACM Symposium on
Theory of Computing (STOC), ACM, pp. 218–229, 1987.
[25] S. Goldwasser and S. Micali. Probabilistic Encryption. J. Computer and System Sciences 28(2): 270–299, 1984.
[26] S. Goldwasser, S. Micali, and R. Rivest. A Digital Signature Scheme Secure Against
Adaptive Chosen Message Attacks. SIAM J. Computing 17(2): 281–308, 1988.
[27] J. Håstad, R. Impagliazzo, L. Levin, and M. Luby. A Pseudorandom Generator From
any One-Way Function. SIAM J. Computing 28(4): 1364–1396, 1999.
[28] J. Håstad, A. Schrift, and A. Shamir. The Discrete Logarithm Modulo a Composite
Hides O(n) Bits. J. Computer and System Sciences 47(3): 376–404, 1993.
[29] R. Impagliazzo. Very Strong One-Way Functions and Pseudo-random Generators Exist
Relative to a Random Oracle. Manuscript, 1996.
[30] R. Impagliazzo and M. Luby. One-Way Functions are Essential for Complexity-Based
Cryptography. 30th IEEE Symposium on Foundations of Computer Science (FOCS),
IEEE, pp. 230–235, 1989.
[31] R. Impagliazzo and S. Rudich. Limits on the Provable Consequences of One-Way Permutations. 21st ACM Symposium on Theory of Computing (STOC), ACM, pp. 44–61,
1989.
[32] J. Kahn, M.E. Saks, and C.D. Smyth. A Dual Version of Reimer’s Inequality and a
Proof of Rudich’s Conjecture. 15th IEEE Conference on Computational Complexity,
IEEE, pp. 98–103, 2000.
32
[33] J.H. Kim, D.R. Simon, and P. Tetali. Limits on the Efficiency of One-Way PermutationBased Hash Functions. 40th IEEE Symposium on Foundations of Computer Science
(FOCS), IEEE, pp. 535–542, 1999.
[34] L. Lamport. Constructing Digital Signatures From a One-Way Function. Technical
Report CSL-98, SRI International, 1979.
[35] M. Naor. Bit Commitment Using Pseudorandom Generators. J. Cryptology 4(2): 151–
158, 1991.
[36] M. Naor and M. Yung. Universal One-Way Hash Functions and Their Cryptographic
Applications. 21st ACM Symposium on Theory of Computing (STOC), ACM, pp. 33–
43, 1989.
[37] O. Reingold, L. Trevisan, and S. Vadhan. Notions of Reducibility Between Cryptographic Primitives. 1st Theory of Cryptography Conference, LNCS vol. 2951, SpringerVerlag, pp. 1–20, 2004.
[38] J. Rompel. One-Way Functions are Necessary and Sufficient for Secure Signatures.
22nd ACM Symposium on Theory of Computing (STOC), ACM, pp. 387–394, 1990.
[39] S. Rudich. Limits on the Provable Consequences of One-Way Functions. PhD thesis,
University of California at Berkeley, 1988.
[40] S. Rudich. The Use of Interaction in Public Cryptosystems. Adv. in Cryptology —
Crypto 1991, LNCS vol. 576, Springer-Verlag, pp. 242–251, 1992.
[41] D.R. Simon. Finding Collisions on a One-Way Street: Can Secure Hash Functions be
Based on General Assumptions? Adv. in Cryptology — Eurocrypt 1998, LNCS vol.
1403, Springer-Verlag, pp. 334–345, 1998.
[42] A. C.-C. Yao. Theory and Application of Trapdoor Functions. 23rd IEEE Symposium
on Foundations of Computer Science (FOCS), IEEE, pp. 80–91, 1982.
[43] A. C.-C. Yao. How to Generate and Exchange Secrets. 27th IEEE Symposium on Foundations of Computer Science (FOCS), IEEE, pp. 162–167, 1986.
33