Tag Info

A function which is easy to compute but hard to invert (i.e. find preimages for). The existence of one-way functions implies the possibility of many useful cryptographic schemes. No one-way functions have so far been proven to exist, but many likely candidates exist.

A one-way function is a function which is easy to compute but hard to invert: given the output $f(x)$ of the function for some randomly chosen unknown input $x$, it should not be feasible to find an input $y$ (which may or may not equal $x$) such that $f(y) = f(x)$.

Formally, a function $f: \{0,1\}^* \to \{0,1\}^*$ is one-way if it can be computed by a polynomial-time algorithm, and if, for every polynomial-time randomized algorithm $A$, every polynomial $p$ and all sufficiently large $n$,

i.e. the probability the any algorithm $A$ can find a preimage for $f(x)$, where $x$ is a string of length $n$, tends to zero faster than the reciprocal of any polynomial $p$.

No functions have been proven to be one-way, and indeed even the existence of one-way functions is an open problem. However, there do exist so-called "universal one-way functions", which are known to be one-way if one-way functions exist at all.

Closely related to one-way functions are so-called trapdoor one-way functions, which are easy to compute but hard to invert unless one knows a secret key used to construct the function. (Obviously, constructing the function from the key must itself be a one-way process as defined above.) Trapdoor one-way functions are the foundation of public-key cryptography.