Asymptotic Definition
A one-way function provides the following interface:
-
is a randomized polynomial time algorithm in such that given a security parameter , it outputs a function description .
-
the input space to
-
the output space of
-
Security: For a randomized algorithm define:
Defintion: is a one-way function if is negligible.
A one-way permutation is a one-way function where for all with and is one-to-one.
Example: : generate two -bit primes such that , output .
Problem: defined by is not an asymptotically one-way function, as it does not depend on security parameters. == Fixed Security Parameter Definition == Definition: is -one-way if there exists an "efficient" algorithm for evaluating , and for all probabilistic -time algorithms , we have
Then is -one-way for some . Note: One-way functions/permutations are considered "fast" primitives.
Amplification of One-wayness
Suppose is one-way.
Define: .
Theorem: If is -one-way then is -one-way.
One-wayness of follows from Yao's XOR lemma.
Applications of One-way functions
Using the Blum-Micali Generator, one-way functions can be used to construct Pseudo Random Number Generators, which enable us to construct Pseudo Random Functions (by using the GGM method for example), which in turn can be used to make Pseudo Random Permutations via the Luby-Rackoff construction.
One-way functions also imply (inefficient) signature schemes.
Nonapplications of One-way functions
It is known that one-way functions are not sufficient for the following.
-
Collision resistant hash functions
-
Key exchange