Friday, April 11, 2008 * One-way functions and trapdoor functions ONE-WAY FUNCTIONS A function f: Sigma^* -> Sigma^* is length-preserving if the lengths of w and f(w) are equal for every w. So f maps Sigma^n to Sigma^n. A one-way permutation is a length-preserving permutation with the following properties. 1. It is computable in polynomial time. 2. For every probabilistic poly-time TM M, every k, and sufficiently large n, if we pick a random w of length n and run M on input w, then Pr_{M,w}[M(f(w)) = w] <= 1/n^k. A one-way function is a length-preserving function with the following properties. 1. It is computable in polynomial time. 2. For every probabilistic poly-time TM M, every k, and sufficiently large n, if we pick a random w of length n and run M on input w, then Pr_{M,w}[f(M(f(w))) = w] <= 1/n^k. Candidate one-way function is multiplication. For example, mult(w) = w_1*w_2, where w_1 and w_2 represent the first and second halves of w. Pad the product with leading 0s to make it length-preserving. No probabilistic poly-time algorithm is known to invert mult, even on a polynomial fraction of the inputs. http://qwiki.stanford.edu/wiki/Complexity_Zoo TRAPDOOR FUNCTIONS A trapdoor function is a variant of one-way functions which can be efficiently inverted given some additional information. Call f: Sigma^* x Sigma^* -> Sigma^* an indexing function. Here f can be viewed as {f_i: i in Sigma^*}. A trapdoor function is a triple -- indexing function f, auxiliary probabilistic TM G and auxiliary function h: Sigma^* x Sigma^* -> Sigma^* with the following properties. 1. f and h are computable in poly time. 2. For every poly-time probabilistic TM E and every k and sufficiently large n, if we take a random output of G on 1^n and a random w in Sigma^n then Pr[E(i,f_i(w)) = y, where f_i(y) = f_i(w)] <= n^{-k}. 3. For every n, every w of length n, and every output of G that occurs with nonzero probability for some input to G h(t,f_i(w)) = y, where f_i(y) = f_i(w).