Lecturer: Moni Naor Weizmann Institute of Science

Slides:



Advertisements
Similar presentations
Foundations of Cryptography Lecture 1 Lecturer: Moni Naor.
Advertisements

Lecturer: Moni Naor Weizmann Institute of Science
Ulams Game and Universal Communications Using Feedback Ofer Shayevitz June 2006.
Foundations of Cryptography Lecture 3 Lecturer: Moni Naor.
ONE WAY FUNCTIONS SECURITY PROTOCOLS CLASS PRESENTATION.
NP-Hard Nattee Niparnan.
Shortest Vector In A Lattice is NP-Hard to approximate
Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)
Foundations of Cryptography Lecture 2: One-way functions are essential for identification. Amplification: from weak to strong one-way function Lecturer:
Many-to-one Trapdoor Functions and their Relations to Public-key Cryptosystems M. Bellare S. Halevi A. Saha S. Vadhan.
Complexity Theory Lecture 9 Lecturer: Moni Naor. Recap Last week: –Toda’s Theorem: PH  P #P. –Program checking and hardness on the average of the permanent.
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
Foundations of Cryptography Lecture 11 Lecturer: Moni Naor.
The Recursion Theorem Sipser – pages Self replication Living things are machines Living things can self-reproduce Machines cannot self reproduce.
1 COMP 382: Reasoning about algorithms Unit 9: Undecidability [Slides adapted from Amos Israeli’s]
Foundations of Cryptography Lecture 5 Lecturer: Moni Naor.
Bounds on Code Length Theorem: Let l ∗ 1, l ∗ 2,..., l ∗ m be optimal codeword lengths for a source distribution p and a D-ary alphabet, and let L ∗ be.
Foundations of Cryptography Lecture 13 Lecturer: Moni Naor.
Foundations of Cryptography Lecture 4 Lecturer: Moni Naor.
Short course on quantum computing Andris Ambainis University of Latvia.
Foundations of Cryptography Lecture 12 Lecturer: Moni Naor.
Foundations of Cryptography Lecture 8: Application of GL, Next-bit unpredictability, Pseudo-Random Functions. Lecturer: Moni Naor Announce home )deadline.
1 L is in NP means: There is a language L’ in P and a polynomial p so that L 1 · L 2 means: For some polynomial time computable map r : 8 x: x 2 L 1 iff.
Complexity 18-1 Complexity Andrei Bulatov Probabilistic Algorithms.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
CS151 Complexity Theory Lecture 7 April 20, 2004.
Perfect and Statistical Secrecy, probabilistic algorithms, Definitions of Easy and Hard, 1-Way FN -- formal definition.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
Lecturer: Moni Naor Foundations of Cryptography Lecture 4: One-time Signatures, UOWHFs.
ACT1 Slides by Vera Asodi & Tomer Naveh. Updated by : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Sergey Benditkis,
Introduction to Modern Cryptography, Lecture ?, 2005 Broadcast Encryption, Traitor Tracing, Watermarking.
Lecturer: Moni Naor Foundations of Cryptography Lecture 3: One-way on its iterates, Authentication.
Lecturer: Moni Naor Weizmann Institute of Science
Introduction to Modern Cryptography, Lecture 7/6/07 Zero Knowledge and Applications.
Theoretical Cryptography Lecture 1: Introduction, Standard Model of Cryptography, Identification, One-way functions Lecturer: Moni Naor Weizmann Institute.
Chapter 11: Limitations of Algorithmic Power
1 Constructing Pseudo-Random Permutations with a Prescribed Structure Moni Naor Weizmann Institute Omer Reingold AT&T Research.
Foundations of Privacy Lecture 11 Lecturer: Moni Naor.
Introduction to Modern Cryptography, Lecture 9 More about Digital Signatures and Identification.
On Everlasting Security in the Hybrid Bounded Storage Model Danny Harnik Moni Naor.
Lecturer: Moni Naor Foundations of Cryptography Lecture 3: One-way on its Iterates, Authentication.
Foundations of Cryptography Lecture 9 Lecturer: Moni Naor.
Foundations of Cryptography Lecture 8 Lecturer: Moni Naor.
Foundations of Cryptography Lecture 2 Lecturer: Moni Naor.
Theory of Computing Lecture 19 MAS 714 Hartmut Klauck.
On necessary and sufficient cryptographic assumptions: the case of memory checking Lecture 4 : Lower bound on Memory Checking, Lecturer: Moni Naor Weizmann.
The RSA Algorithm Rocky K. C. Chang, March
Cryptography Lecture 8 Stefan Dziembowski
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Ragesh Jaiswal Indian Institute of Technology Delhi Threshold Direct Product Theorems: a survey.
Completeness in Two-Party Secure Computation Revisited Danny Harnik Moni Naor Omer Reingold Alon Rosen Weizmann Institute of Science AT&T IAS.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
Computational Complexity Theory Lecture 2: Reductions, NP-completeness, Cook-Levin theorem Indian Institute of Science.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
NP Complexity By Mussie Araya. What is NP Complexity? Formal Definition: NP is the set of decision problems solvable in polynomial time by a non- deterministic.
CS151 Complexity Theory Lecture 13 May 11, Outline proof systems interactive proofs and their power Arthur-Merlin games.
Foundations of Cryptography Lecture 6 Lecturer: Moni Naor.
Cryptography Lecture 2 Stefan Dziembowski
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
A Universal Turing Machine
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
1 Chapter 34: NP-Completeness. 2 About this Tutorial What is NP ? How to check if a problem is in NP ? Cook-Levin Theorem Showing one of the most difficult.
Fall 2013 CMU CS Computational Complexity Lectures 8-9 Randomness, communication, complexity of unique solutions These slides are mostly a resequencing.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
Computability Heap exercise. The class P. The class NP. Verifiers. Homework: Review RELPRIME proof. Find examples of problems in NP.
Data Stream Algorithms Lower Bounds Graham Cormode
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
Probabilistic Algorithms
Cryptography Lecture 12 Arpita Patra © Arpita Patra.
Presentation transcript:

Lecturer: Moni Naor Weizmann Institute of Science Foundations of Cryptography Lecture 2: One-way functions are essential for identification. Amplification: from weak to strong one-way functions Lecturer: Moni Naor Weizmann Institute of Science

Recap Key Idea of Cryptography: use the intractability of some problems to create secure system. The Identification Problem Shannon and Min Entropies One-way functions Solution to the identification problem with multiple verifiers Cryptographic Reductions: using one adversary to create another

Rigorous Specification of Security To define security of a system must specify: What constitute a failure of the system The power of the adversary computational access to the system what it means to break the system. Why is this more relevant in cryptography than other realms?

Function and inversions We say that a function f is hard to invert if given y=f(x) it is hard to find x’ such that y=f(x’) x’ need not be equal to x We will use f-1(y) to denote the set of preimages of y To discuss hard must specify a computational model Use two flavors: Concrete Asymptotic

Computational Models Asymptotic: Turing Machines with random tape For classical models: precise model does not matter up to polynomial factor Random tape 1 1 1 1 Both algorithm for evaluating f and the adversary are modeled by PTM Input tape

One-way functions - asymptotic A function f: {0,1}* → {0,1}* is called a one-way function, if f is a polynomial-time computable function Also polynomial relationship between input and output length for every probabilistic polynomial-time algorithm A, every positive polynomial p(.), and all sufficiently large n’s Prob[ A(f(x))  f-1(f(x)) ] ≤ 1/p(n) Where x is chosen uniformly in {0,1}n and the probability is also over the internal coin flips of A

Computational Models Concrete : Boolean circuits (example) precise model makes a difference Time = circuit size Input Output

One-way functions – concrete version A function f:{0,1}n → {0,1}n is called a (t,ε) one-way function, if f is a polynomial-time computable function (independent of t) for every t-time algorithm A, Prob[A(f(x))  f-1(f(x)) ] ≤ ε Where x is chosen uniformly in {0,1}n and the probability is also over the internal coin flips of A Can either think of t and ε as being fixed or as t(n), ε(n) Boolean circuit

The two guards problem Perfect completeness Or 1-ε completeness Completeness: If Alice wants to `approve’ and Eve does not interfere – Bob moves to state Y Soundness: If Alice does not `approve’, then for any behavior from Eve and Charlie, Bob stays in N Similarly if Bob and Charlie are switched Charlie Alice Bob Eve

Solution to the password problem Assume that f: {0,1}n → {0,1}n is a (t,ε) one-way function Adversary’s run times is bounded by t Setup phase: Alice chooses xR {0,1}n computes y=f(x) Gives y to Bob and Charlie Approval phase: when Alice wants to approve – she sends x If Bob gets any symbols on channel – call them z; compute f(z) and compares to y If equal moves to state Y If not equal moves permanently to state N Bob Alice

Are one-way functions essential to the two guards password problem? Suppose that we have a solution to the two guards problem Alice, Bob and Charlie can be implemented by polynomial time machines for every probabilistic polynomial-time algorithm A controlling Eve and Charlie every polynomial p(.), and all sufficiently large n’s Prob[Bob moves to Y | Alice does not approve] ≤ 1/p(n) Already saw Theorem: the two guards password problem has a solution if and only if one-way functions exist

One-way functions are essential to the two guards password problem Want to put protocol in canonical form Recall observation: what Bob and Charlie received in the setup phase might as well be public Claim: can get rid of interaction: given an interactive identification protocol possible to construct a noninteractive one. In the new protocol: Alice` sends Bob` the random bits Alice used to generate the setup information Bob` simulates the conversation between Alice and Bob in original protocol and accepts only if simulated Bob accepts. Claim: Probability of cheating remains the same in both protocols With Alice and bob With Alice’ and Bob’

One-way functions are essential to the two guards password problem Given a noninteracive identification protocol want to define a one-way function: Define g(r): the setup phase mapping between the random bits r of Alice and the information y given to Bob and Charlie random bits r Alice setup Charlie y Bob

One-way functions are essential to the two guards password problem Define g(r): the setup phase mapping between the random bits r of Alice and the information y given to Bob and Charlie Are we done? Yes: if we have perfect completeness But, the function g(r) is not necessarily one-way without perfect completeness… Can be unlikely ways to generate it. Can be exploited to invert. Example: Alice chooses x, x’{0,1}n. If x’= 0n, set y=x, o.w. set y=f(x). The protocol is still secure, but with probability 1/2n not complete The resulting function g(x,x’) is easy to invert: given y {0,1}n set inverse as (y, 0n )

One-way functions are essential to the two guards password problem… However: possible to estimate the probability that Bob accepts on a given string from Alice Should be close to 1 for most r Second attempt: define function g(r) as the mapping that Alice does in the setup phase between her random bits r and the information given to Bob and Charlie, plus a bit indicating whether probability of Bob accepts given r is greater than 2/3 Theorem: the two guards password problem has a solution if and only if one-way functions exist Arbitrary…

Examples of One-way functions Examples of hard problems: Subset sum Discrete log Factoring (numbers, polynomials) into prime components How do we get a one-way function out of them? Easy problem

Subset Sum Subset sum problem: given n numbers 0 ≤ a1, a2 ,…, an ≤ 2m Target sum T Find subset S⊆ {1,...,n} ∑ i S ai,=T (n,m)-subset sum assumption: for uniformly chosen a1, a2 ,…, an R{0,…2m -1} and S⊆ {1,...,n} For any probabilistic polynomial time algorithm, the probability of finding S’⊆{1,...,n} such that ∑ i S ai= ∑ i S’ ai is negligible, where the probability is over the random choice of the ai‘s, S and the inner coin flips of the algorithm Not true for very small or very large m. most difficult case m=n Subset sum one-way function f:{0,1}mn+n → {0,1}mn+m f(a1, a2 ,…, an , b1, b2 ,…, bn ) = (a1, a2 ,…, an , ∑ i=1n bi ai mod 2m )

Exercise Show a function f such that if f is polynomial time invertible on all inputs, then P=NP f is not one-way

x is called the discrete log of y to base g. Discrete Log Problem Let G be a group and g an element in G. Let y=gz and x the minimal non negative integer satisfying the equation. x is called the discrete log of y to base g. Example: y=gx mod p in the multiplicative group of Zp In general: easy to exponentiate via repeated squaring Consider binary representation What about discrete log? If difficult, f(g,x) = (g, gx ) is a one-way function

Prob[A[f(x)]  f-1(f(x)) ] ≤ 1-1/p(n) Weak One-way function A function f: {0,1}n → {0,1}n is called a weak one-way function, if f is a polynomial-time computable function There exists a polynomial p(¢), for every probabilistic polynomial-time algorithm A, and all sufficiently large n’s Prob[A[f(x)]  f-1(f(x)) ] ≤ 1-1/p(n) Where x is chosen uniformly in {0,1}n and the probability is also over the internal coin flips of A

Why is it polynomial time computable? Integer Factoring Consider f(x,y) = x • y Easy to compute Is it one-way? No: if f(x,y) is even, can set inverse as (f(x,y)/2,2) If factoring a number into prime factors is hard: Specifically given N= P • Q , the product of two random large (n-bit) primes, it is hard to factor Then somewhat hard – there are a non-negligible fraction of such numbers ~ 1/n2 from the density of primes Hence a weak one-way function Alternatively: let g(r) be a function mapping random bits into random primes. The function f(r1,r2) = g(r1) • g(r2) is one-way Why is it polynomial time computable?

Exercise: weak exist if strong exists Show that if strong one-way functions exist, then there exists a function which is a weak one-way function but not a strong one

What about the other direction? Given a function f that is guaranteed to be a weak one-way Let p(n) be such that Prob[A[f(x)]  f-1(f(x)) ] ≤ 1-1/p(n) can we construct a function g that is (strong) one-way? An instance of a hardness amplification problem Simple idea: repetition. For some polynomial q(n) define g(x1, x2 ,…, xq(n) )=f(x1), f(x2), …, f(xq(n)) To invert g need to succeed in inverting f in all q(n) places If q(n) = p2(n) seems unlikely (1-1/p(n))p2(n) ≈ e-p(n) But how to we show? Sequential repetition intuition – not a proof.

Want: Inverting g with low probability implies inverting f with high probability Given a machine B that inverts g want a machine B’ operating in similar time bounds inverts f with high probability Idea: given y=f(x) plug it in some place in g and generate the rest of the locations at random z=(y, f(x2), …, f(xq(n))) Ask machine B to invert g at point z Probability of success should be at least (exactly) B’s Probability of inverting g at a random point Once is not enough How to amplify? Repeat while keeping y fixed Put y at random position (or sort the inputs to g )

Proof of Amplification for Repetition of Two Concentrate on a two-repetition: g(x1, x2 ) = f(x1), f(x2) Goal: show that the probability of inverting g is roughly squared the probability of inverting f just as would be sequentially Claim: Let (n) be a function that for some p(n) satisfies 1/p(n) ≤ (n) ≤ 1-1/p(n) Let ε(n) be any inverse polynomial function Suppose that for every polynomial time A and sufficiently large n Prob[A[f(x)]  f-1(f(x)) ] ≤ (n) Then for every polynomial time B and sufficiently large n Prob[B[g(x1, x2 )]  g-1(g(x1, x2 )) ] ≤ 2(n) + ε(n)

Proof of Amplification for Two Repetition Given a better than 2+ε algorithm B for inverting g construct the following: B’(y): Inversion algorithm for f Repeat t times Choose x’ at random and compute y’=f(x’) Run B(y,y’). Check the results If correct: Halt with success Output failure Inner loop Helpful for constructive algorithm

Probability of Success Define S={y=f(x) | Prob[Inner loop successful| y ] > β} Since the choices of the x’ are independent Prob[B’ succeeds| yS] > 1-(1- β)t Taking t= n/β means that when yS almost surely B’ will invert it Hence want to show that Prob[yS] > (n) Probability is over the choice of x

The success of B Fix the random bits of B. Define P={(y1, y2)| B succeeds on (y1,y2)} P= P ⋂ {(y1,y2 )| y1,y2 S} ⋃ P ⋂ {(y1,y2 )| y1 S} ⋃ P ⋂ {(y1,y2 )| y2 S} y1 Well behaved part y2 Want to bound P by a square P

S is the only success... But Prob[B[y1, y2]  g-1(y1, y2) | y1  S] ≤ β and similarly Prob[B[y1, y2]  g-1(y1, y2) | y2  S] ≤ β so Prob[(y1, y2)  P and y1,y2  S] ≥ Prob[(y1, y2)  P ] - 2β ≥ 2+ ε - 2β Setting β =ε/3 we have Prob[(y1, y2) P and y1,y2  S] ≥ 2 + ε/3

Prob[y S] ≥ √(α2+ ε/3) > α Contradiction But Prob[(y1, y2) P and y1,y2 S] ≤ Prob[y1 S] Prob[y2 S] = Prob2[y S] So Prob[y S] ≥ √(α2+ ε/3) > α

Is there an ultimate one-way function? aka `universal’ Do not know: P≠NP implies the existence of one-way functions, Can we show a specific function f so that if some one-way exists, then f is one-way? If f1:{0,1}* → {0,1}* and f2:{0,1}* → {0,1}* are guaranteed to: Be polynomial time computable At least one of them is one-way. then can construct a function g:{0,1}* → {0,1}* which is one-way: g(x1, x2 ) = (f1(x1),f2 (x2 )) Robust Combiner Can generalizes to a 1-out-m combiner

g(x1, x2 ,…, xlog (n) )=M1(x1), M2(x2), …, Mlog n(xlog (n)) The Construction If a 5n2 time one-way function is guaranteed to exist, can construct an O(n2 log n) one-way function g: Idea: enumerate Turing Machine and make sure they run 5n2 steps g(x1, x2 ,…, xlog (n) )=M1(x1), M2(x2), …, Mlog n(xlog (n)) Eventually get to the TM of the one-way function If a one-way function is guaranteed to exist, then there exists a 5n2 time one-way: Idea: concentrate on the prefix, ignore the rest n’ where n=p(n’)

Ultimate one-way function conclusions Original proof due to L. Levin Be careful what you wish for Problem with resulting one-way function: Cannot learn about behavior on large inputs from small inputs Whole rational of considering asymptotic results is eroded! Construction does not work for non-uniform one-way functions Notion of robust combiner seems fundamental See “Robust Combiners for Oblivious Transfer and Other Primitives” by Harnik, Kilian, Naor, Reingold and Rosen, Eurocrypt 2005

Distributionally One-Way Functions A function f:{0,1}*  {0,1}* is one-way if: it is computable in poly-time the probability of successfully finding an inverse in poly-time is negligible (on a random input) A function f :{0,1}*  {0,1}* is distributionally one-way if: No poly-time algorithm can successfully find a random inverse (on a random input) Distribution on inverting algorithm far from uniform on the pre-images Theorem [Impagliazzo Luby 89]: distributionally one-way functions exist iff one-way functions exists Example: function from two guards problem