OneWay Functions David Lagakos Yutao Zhong April 2

  • Slides: 26
Download presentation
One-Way Functions David Lagakos Yutao Zhong April 2, 2001

One-Way Functions David Lagakos Yutao Zhong April 2, 2001

Topics • What are one-way functions? • Do they exist? • One-to-one one-way functions

Topics • What are one-way functions? • Do they exist? • One-to-one one-way functions • “Spiffy” One-Way functions • An application to cryptography

Honesty 0 n if |x|=2 n for some n 1 otherwise

Honesty 0 n if |x|=2 n for some n 1 otherwise

Polynomial-time Invertibility f 3(x) = ceiling(log(log(max(|x|, 4)))))

Polynomial-time Invertibility f 3(x) = ceiling(log(log(max(|x|, 4)))))

Definition of a One-way Function

Definition of a One-way Function

A One-way Function ‘Candidate’ (Note that primality can be verified quickly. )

A One-way Function ‘Candidate’ (Note that primality can be verified quickly. )

Do one-way functions exist? Theorem:

Do one-way functions exist? Theorem:

“Sister” Theorem

“Sister” Theorem

“Spiffy” one-way functions u u u Motivation: cryptography Properties v 2 -ary one-way v

“Spiffy” one-way functions u u u Motivation: cryptography Properties v 2 -ary one-way v Strongly noninvertible v Total v Commutative v Associative Claim: One-way function exists iff “spiffy” one-way function exists

Definitions for 2 -ary functions uf is honest if uf is (polynomial-time) invertible if

Definitions for 2 -ary functions uf is honest if uf is (polynomial-time) invertible if

2 -ary One-way functions 1. f is polynomial-time computable 2. f is NOT polynomial-time

2 -ary One-way functions 1. f is polynomial-time computable 2. f is NOT polynomial-time invertible 3. f is honest

Strong Noninvertibility is strongly (polynomial- u time) noninvertible if v it is s-honest v

Strong Noninvertibility is strongly (polynomial- u time) noninvertible if v it is s-honest v given the output and even one of the inputs, the other input cannot in general be computed in polynomial time

“S-Honesty”

“S-Honesty”

Strong Noninvertibility is strongly (polynomial- u time) noninvertible if v it is s-honest v

Strong Noninvertibility is strongly (polynomial- u time) noninvertible if v it is s-honest v given the output and even one of the inputs, the other input cannot in general be computed in polynomial time

Associativity & Commutativity u Def: total function associative if is u Def: is total

Associativity & Commutativity u Def: total function associative if is u Def: is total function commutative if

Theorem u One-way functions exist if and only if strongly noninvertible, total, commutative, associative,

Theorem u One-way functions exist if and only if strongly noninvertible, total, commutative, associative, 2 -ary one-way functions exist.

Proposition u The following are equivalent: 1. One-way functions exist 2. 2 -ary one-way

Proposition u The following are equivalent: 1. One-way functions exist 2. 2 -ary one-way functions exist 3.

strongly non-invertible, commutative, associative, 2 -ary one-way function exists Proof: each computation path of

strongly non-invertible, commutative, associative, 2 -ary one-way function exists Proof: each computation path of N(x) has exactly p(|x|) bits ( p(n)>n ) W(x): the set of all witness for x

<x, min(w 1, w 2)> f (u, v) = <x, x> <t, t 1>

<x, min(w 1, w 2)> f (u, v) = <x, x> <t, t 1> otherwise Claim: f is the function we need v strongly noninvertible v one-way v commutative v associative

An Application to Cryptography x, y Alice y, f(x, y) f(x, f(y, z)) z

An Application to Cryptography x, y Alice y, f(x, y) f(x, f(y, z)) z f(y, z) Eve Bob f(f(x, y), z)

Using the Secret Key k =010011011 Alice m =11010 k =010011011 m’ =100110001 m’

Using the Secret Key k =010011011 Alice m =11010 k =010011011 m’ =100110001 m’ Bob m’ =100110001 k =010011011 m =11010

Conclusions u One-way functions are easy to compute and hard to invert. u Proving

Conclusions u One-way functions are easy to compute and hard to invert. u Proving that one-way functions exist is the same as proving that P and NP are different. u Special types of one-way functions, like “Spiffy” one-way functions, can have quite useful applications in cryptography.