lecture 1: one-way functions - purdue university 2015/lectures/… · algorithm and running-time...

41
Lecture 1: One-way Functions Lecture 1: One-way Functions

Upload: others

Post on 20-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Lecture 1: One-way Functions

Lecture 1: One-way Functions

Page 2: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Introduction

Learn a new Mathematical languageEncouraged to speak this languageEncouraged to conjecture

Lecture 1: One-way Functions

Page 3: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Introduction

Learn a new Mathematical language

Encouraged to speak this languageEncouraged to conjecture

Lecture 1: One-way Functions

Page 4: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Introduction

Learn a new Mathematical languageEncouraged to speak this language

Encouraged to conjecture

Lecture 1: One-way Functions

Page 5: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Introduction

Learn a new Mathematical languageEncouraged to speak this languageEncouraged to conjecture

Lecture 1: One-way Functions

Page 6: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Algorithm and Running-time

Definition (Algorithm)

An algorithm A is a deterministic Turing machine whose input andoutput are strings over alphabet Σ = {0, 1}.

Definition (Running-time)

An algorithm A is said to run in time T (n) if for all x ∈ {0, 1}n,A(x) halts within T (|x |) steps. A runs in polynomial time if thereexists a constant c such that A runs in time T (n) = nc .

An algorithm is efficient if it runs in polynomial time.

Think: Why?

Lecture 1: One-way Functions

Page 7: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Algorithm and Running-time

Definition (Algorithm)

An algorithm A is a deterministic Turing machine whose input andoutput are strings over alphabet Σ = {0, 1}.

Definition (Running-time)

An algorithm A is said to run in time T (n) if for all x ∈ {0, 1}n,A(x) halts within T (|x |) steps. A runs in polynomial time if thereexists a constant c such that A runs in time T (n) = nc .

An algorithm is efficient if it runs in polynomial time.

Think: Why?

Lecture 1: One-way Functions

Page 8: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Algorithm and Running-time

Definition (Algorithm)

An algorithm A is a deterministic Turing machine whose input andoutput are strings over alphabet Σ = {0, 1}.

Definition (Running-time)

An algorithm A is said to run in time T (n) if for all x ∈ {0, 1}n,A(x) halts within T (|x |) steps. A runs in polynomial time if thereexists a constant c such that A runs in time T (n) = nc .

An algorithm is efficient if it runs in polynomial time.

Think: Why?

Lecture 1: One-way Functions

Page 9: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Algorithm and Running-time

Definition (Algorithm)

An algorithm A is a deterministic Turing machine whose input andoutput are strings over alphabet Σ = {0, 1}.

Definition (Running-time)

An algorithm A is said to run in time T (n) if for all x ∈ {0, 1}n,A(x) halts within T (|x |) steps. A runs in polynomial time if thereexists a constant c such that A runs in time T (n) = nc .

An algorithm is efficient if it runs in polynomial time.

Think: Why?

Lecture 1: One-way Functions

Page 10: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Randomized Algorithms

Definition (Randomized (PPT) Algorithm)

A randomized algorithm, also called a probabilitic polynomial-timeTuring machine and abbreviated as PPT, is a Turing machineequipped with an extra randomness tape. Each bit of therandomness tape is uniformly and independently chosen.

Output is a distributionThink: Define using a coin-tossing oracle

Lecture 1: One-way Functions

Page 11: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Randomized Algorithms

Definition (Randomized (PPT) Algorithm)

A randomized algorithm, also called a probabilitic polynomial-timeTuring machine and abbreviated as PPT, is a Turing machineequipped with an extra randomness tape. Each bit of therandomness tape is uniformly and independently chosen.

Output is a distribution

Think: Define using a coin-tossing oracle

Lecture 1: One-way Functions

Page 12: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Randomized Algorithms

Definition (Randomized (PPT) Algorithm)

A randomized algorithm, also called a probabilitic polynomial-timeTuring machine and abbreviated as PPT, is a Turing machineequipped with an extra randomness tape. Each bit of therandomness tape is uniformly and independently chosen.

Output is a distributionThink: Define using a coin-tossing oracle

Lecture 1: One-way Functions

Page 13: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Function Computation

Definition (Function Computation)

A randomized algorithm A computes a functionf : {0, 1}∗ → {0, 1}∗, if for all x ∈ {0, 1}∗, A on input x , outputsf (x) with probability 1. The probability is taken over the randomtape of A.

Without loss of generality, we can restrict to functions with binaryoutput

Think: Relax the definition to work with probability 1− 2−|x |

Think: Amplify an algorithm which is correct only withprobability 1

2 + 1poly(|x |) into one which is correct with

probability 1− 2−|x |.

Lecture 1: One-way Functions

Page 14: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Function Computation

Definition (Function Computation)

A randomized algorithm A computes a functionf : {0, 1}∗ → {0, 1}∗, if for all x ∈ {0, 1}∗, A on input x , outputsf (x) with probability 1. The probability is taken over the randomtape of A.

Without loss of generality, we can restrict to functions with binaryoutput

Think: Relax the definition to work with probability 1− 2−|x |

Think: Amplify an algorithm which is correct only withprobability 1

2 + 1poly(|x |) into one which is correct with

probability 1− 2−|x |.

Lecture 1: One-way Functions

Page 15: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Function Computation

Definition (Function Computation)

A randomized algorithm A computes a functionf : {0, 1}∗ → {0, 1}∗, if for all x ∈ {0, 1}∗, A on input x , outputsf (x) with probability 1. The probability is taken over the randomtape of A.

Without loss of generality, we can restrict to functions with binaryoutput

Think: Relax the definition to work with probability 1− 2−|x |

Think: Amplify an algorithm which is correct only withprobability 1

2 + 1poly(|x |) into one which is correct with

probability 1− 2−|x |.

Lecture 1: One-way Functions

Page 16: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Function Computation

Definition (Function Computation)

A randomized algorithm A computes a functionf : {0, 1}∗ → {0, 1}∗, if for all x ∈ {0, 1}∗, A on input x , outputsf (x) with probability 1. The probability is taken over the randomtape of A.

Without loss of generality, we can restrict to functions with binaryoutput

Think: Relax the definition to work with probability 1− 2−|x |

Think: Amplify an algorithm which is correct only withprobability 1

2 + 1poly(|x |) into one which is correct with

probability 1− 2−|x |.

Lecture 1: One-way Functions

Page 17: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Function Computation

Definition (Function Computation)

A randomized algorithm A computes a functionf : {0, 1}∗ → {0, 1}∗, if for all x ∈ {0, 1}∗, A on input x , outputsf (x) with probability 1. The probability is taken over the randomtape of A.

Without loss of generality, we can restrict to functions with binaryoutput

Think: Relax the definition to work with probability 1− 2−|x |

Think: Amplify an algorithm which is correct only withprobability 1

2 + 1poly(|x |) into one which is correct with

probability 1− 2−|x |.

Lecture 1: One-way Functions

Page 18: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Adversaries

Definition (Non-Uniform PPT)

A non-uniform probabilistic polynomial-time Turing machine(abbreviated as n.u. p.p.t.) A is a sequence of probabilisticmachines A = {A1,A2, . . . } for which there exists a polynomiald(·) such that the description size of |Ai | < d(i) and the runningtime of Ai is also less than d(i). We write A(x) to denote thedistribution obtained by running A|x |(x).

Lecture 1: One-way Functions

Page 19: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Intuition:

A function f is an one-way function ifEasy to compute f (x) given x

: Use language of “FunctionComputation”

Difficult to compute x from f (x)

: Use language of “n.u. PPT”and “Function Computation”

May be possible to partially recover x

Lecture 1: One-way Functions

Page 20: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Intuition: A function f is an one-way function if

Easy to compute f (x) given x

: Use language of “FunctionComputation”

Difficult to compute x from f (x)

: Use language of “n.u. PPT”and “Function Computation”

May be possible to partially recover x

Lecture 1: One-way Functions

Page 21: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Intuition: A function f is an one-way function ifEasy to compute f (x) given x

: Use language of “FunctionComputation”Difficult to compute x from f (x)

: Use language of “n.u. PPT”and “Function Computation”

May be possible to partially recover x

Lecture 1: One-way Functions

Page 22: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Intuition: A function f is an one-way function ifEasy to compute f (x) given x

: Use language of “FunctionComputation”

Difficult to compute x from f (x)

: Use language of “n.u. PPT”and “Function Computation”

May be possible to partially recover x

Lecture 1: One-way Functions

Page 23: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Intuition: A function f is an one-way function ifEasy to compute f (x) given x : Use language of “FunctionComputation”Difficult to compute x from f (x)

: Use language of “n.u. PPT”and “Function Computation”

May be possible to partially recover x

Lecture 1: One-way Functions

Page 24: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Intuition: A function f is an one-way function ifEasy to compute f (x) given x : Use language of “FunctionComputation”Difficult to compute x from f (x): Use language of “n.u. PPT”and “Function Computation”

May be possible to partially recover x

Lecture 1: One-way Functions

Page 25: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Intuition: A function f is an one-way function ifEasy to compute f (x) given x : Use language of “FunctionComputation”Difficult to compute x from f (x): Use language of “n.u. PPT”and “Function Computation”

May be possible to partially recover x

Lecture 1: One-way Functions

Page 26: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Definition (Strong One-Way Function)

A function f : {0, 1}∗ → {0, 1}∗ is a strong one-way function if itsatisfies the following two conditions:

1 Easy to compute. There is a PPT C that computes f (x) onall inputs x ∈ {0, 1}∗, and

2 Hard to invert. For any n.u. PPT adversary A, there exists afast decaying function ν(·) such that for any input lengthn ∈ N,

Pr[x

$←{0, 1}n; y ← f (x) : f ( A(

1n,

y) ) = y]6

Lecture 1: One-way Functions

Page 27: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Definition (Strong One-Way Function)

A function f : {0, 1}∗ → {0, 1}∗ is a strong one-way function if itsatisfies the following two conditions:

1 Easy to compute.

There is a PPT C that computes f (x) onall inputs x ∈ {0, 1}∗, and

2 Hard to invert. For any n.u. PPT adversary A, there exists afast decaying function ν(·) such that for any input lengthn ∈ N,

Pr[x

$←{0, 1}n; y ← f (x) : f ( A(

1n,

y) ) = y]6

Lecture 1: One-way Functions

Page 28: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Definition (Strong One-Way Function)

A function f : {0, 1}∗ → {0, 1}∗ is a strong one-way function if itsatisfies the following two conditions:

1 Easy to compute.

There is a PPT C that computes f (x) onall inputs x ∈ {0, 1}∗

, and2 Hard to invert.

For any n.u. PPT adversary A, there exists afast decaying function ν(·) such that for any input lengthn ∈ N,

Pr[x

$←{0, 1}n; y ← f (x) : f ( A(

1n,

y) ) = y]6

Lecture 1: One-way Functions

Page 29: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Definition (Strong One-Way Function)

A function f : {0, 1}∗ → {0, 1}∗ is a strong one-way function if itsatisfies the following two conditions:

1 Easy to compute. There is a PPT C that computes f (x) onall inputs x ∈ {0, 1}∗, and

2 Hard to invert.

For any n.u. PPT adversary A, there exists afast decaying function ν(·) such that for any input lengthn ∈ N,

Pr[x

$←{0, 1}n; y ← f (x) : f ( A(

1n,

y) ) = y]6

Lecture 1: One-way Functions

Page 30: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Definition (Strong One-Way Function)

A function f : {0, 1}∗ → {0, 1}∗ is a strong one-way function if itsatisfies the following two conditions:

1 Easy to compute. There is a PPT C that computes f (x) onall inputs x ∈ {0, 1}∗, and

2 Hard to invert. For any n.u. PPT adversary A,

there exists afast decaying function ν(·) such that

for any input lengthn ∈ N,

Pr[x

$←{0, 1}n; y ← f (x) : f ( A(

1n,

y) ) = y]6

Lecture 1: One-way Functions

Page 31: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Definition (Strong One-Way Function)

A function f : {0, 1}∗ → {0, 1}∗ is a strong one-way function if itsatisfies the following two conditions:

1 Easy to compute. There is a PPT C that computes f (x) onall inputs x ∈ {0, 1}∗, and

2 Hard to invert. For any n.u. PPT adversary A,

there exists afast decaying function ν(·) such that

for any input lengthn ∈ N,

Probability of Inversion is small

Pr[x

$←{0, 1}n; y ← f (x) : f ( A(

1n,

y) ) = y]6

Lecture 1: One-way Functions

Page 32: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Definition (Strong One-Way Function)

A function f : {0, 1}∗ → {0, 1}∗ is a strong one-way function if itsatisfies the following two conditions:

1 Easy to compute. There is a PPT C that computes f (x) onall inputs x ∈ {0, 1}∗, and

2 Hard to invert. For any n.u. PPT adversary A,

there exists afast decaying function ν(·) such that

for any input lengthn ∈ N,

Pr[

x$←{0, 1}n; y ← f (x) : f ( A(

1n,

y) ) = y

]6 small

Lecture 1: One-way Functions

Page 33: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Definition (Strong One-Way Function)

A function f : {0, 1}∗ → {0, 1}∗ is a strong one-way function if itsatisfies the following two conditions:

1 Easy to compute. There is a PPT C that computes f (x) onall inputs x ∈ {0, 1}∗, and

2 Hard to invert. For any n.u. PPT adversary A,

there exists afast decaying function ν(·) such that

for any input lengthn ∈ N,

Pr[x

$←{0, 1}n

; y ← f (x) : f ( A(

1n,

y) ) = y

]6 small

Lecture 1: One-way Functions

Page 34: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Definition (Strong One-Way Function)

A function f : {0, 1}∗ → {0, 1}∗ is a strong one-way function if itsatisfies the following two conditions:

1 Easy to compute. There is a PPT C that computes f (x) onall inputs x ∈ {0, 1}∗, and

2 Hard to invert. For any n.u. PPT adversary A,

there exists afast decaying function ν(·) such that

for any input lengthn ∈ N,

Pr[x

$←{0, 1}n; y ← f (x)

: f ( A(

1n,

y) ) = y

]6 small

Lecture 1: One-way Functions

Page 35: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Definition (Strong One-Way Function)

A function f : {0, 1}∗ → {0, 1}∗ is a strong one-way function if itsatisfies the following two conditions:

1 Easy to compute. There is a PPT C that computes f (x) onall inputs x ∈ {0, 1}∗, and

2 Hard to invert. For any n.u. PPT adversary A,

there exists afast decaying function ν(·) such that

for any input lengthn ∈ N,

Pr[x

$←{0, 1}n; y ← f (x) : f ( A(

1n,

y) ) = y]6 small

Lecture 1: One-way Functions

Page 36: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Definition (Strong One-Way Function)

A function f : {0, 1}∗ → {0, 1}∗ is a strong one-way function if itsatisfies the following two conditions:

1 Easy to compute. There is a PPT C that computes f (x) onall inputs x ∈ {0, 1}∗, and

2 Hard to invert. For any n.u. PPT adversary A, there exists afast decaying function ν(·) such that for any input lengthn ∈ N,

Pr[x

$←{0, 1}n; y ← f (x) : f ( A(

1n,

y) ) = y]6 ν(n)

Lecture 1: One-way Functions

Page 37: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Definition (Strong One-Way Function)

A function f : {0, 1}∗ → {0, 1}∗ is a strong one-way function if itsatisfies the following two conditions:

1 Easy to compute. There is a PPT C that computes f (x) onall inputs x ∈ {0, 1}∗, and

2 Hard to invert. For any n.u. PPT adversary A, there exists afast decaying function ν(·) such that for any input lengthn ∈ N,

Pr[x

$←{0, 1}n; y ← f (x) : f ( A(1n, y) ) = y]6 ν(n)

Lecture 1: One-way Functions

Page 38: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Negligible Function

Definition (Negligible Function)

A function ν(n) is negligible if for every c , there exists some n0such that for all n > n0, ν(n) 6 1

nc .

1 Negligible function decays faster than all “inverse-polynomial”functions

2 That is, n−ω(1)

Lecture 1: One-way Functions

Page 39: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Negligible Function

Definition (Negligible Function)

A function ν(n) is negligible if for every c , there exists some n0such that for all n > n0, ν(n) 6 1

nc .

1 Negligible function decays faster than all “inverse-polynomial”functions

2 That is, n−ω(1)

Lecture 1: One-way Functions

Page 40: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

Negligible Function

Definition (Negligible Function)

A function ν(n) is negligible if for every c , there exists some n0such that for all n > n0, ν(n) 6 1

nc .

1 Negligible function decays faster than all “inverse-polynomial”functions

2 That is, n−ω(1)

Lecture 1: One-way Functions

Page 41: Lecture 1: One-way Functions - Purdue University 2015/lectures/… · Algorithm and Running-time Definition(Algorithm) AnalgorithmAisadeterministicTuringmachinewhoseinputand outputarestringsoveralphabet

One-way Functions

Definition (Strong One-Way Function)

A function f : {0, 1}∗ → {0, 1}∗ is a strong one-way function if itsatisfies the following two conditions:

1 Easy to compute. There is a PPT C that computes f (x) onall inputs x ∈ {0, 1}∗, and

2 Hard to invert. For any n.u. PPT adversary A, there exists anegligible function ν(·) such that for any input length n ∈ N,

Pr[x

$←{0, 1}n; y ← f (x) : f (A(1n, y), y) = y]6 ν(n)

Lecture 1: One-way Functions