1 Fingerprinting techniques. 2 Is X equal to Y? = ? = ?

Slides:



Advertisements
Similar presentations
Estimating Distinct Elements, Optimally
Advertisements

1+eps-Approximate Sparse Recovery Eric Price MIT David Woodruff IBM Almaden.
Optimal Space Lower Bounds for All Frequency Moments David Woodruff MIT
Numerical Linear Algebra in the Streaming Model Ken Clarkson - IBM David Woodruff - IBM.
Optimal Bounds for Johnson- Lindenstrauss Transforms and Streaming Problems with Sub- Constant Error T.S. Jayram David Woodruff IBM Almaden.
Sublinear Algorithms … Lecture 23: April 20.
6.1 Vector Spaces-Basic Properties. Euclidean n-space Just like we have ordered pairs (n=2), and ordered triples (n=3), we also have ordered n-tuples.
CSCI 3160 Design and Analysis of Algorithms Tutorial 4
Randomness and Computation: Some Prime Examples Great Theoretical Ideas In Computer Science (Steven Rudich) John LaffertyCS Fall 2005 Lecture 22Nov.
Foundations of Cryptography Lecture 4 Lecturer: Moni Naor.
COM 5336 Cryptography Lecture 7a Primality Testing
Fast Fourier Transform Lecture 6 Spoken Language Processing Prof. Andrew Rosenberg.
Theoretical Program Checking Greg Bronevetsky. Background The field of Program Checking is about 13 years old. Pioneered by Manuel Blum, Hal Wasserman,
Randomized Algorithms Randomized Algorithms CS648 Lecture 6 Reviewing the last 3 lectures Application of Fingerprinting Techniques 1-dimensional Pattern.
Maths for Computer Graphics
Linear Transformations
1 Fingerprint 2 Verifying set equality Verifying set equality v String Matching – Rabin-Karp Algorithm.
Avraham Ben-Aroya (Tel Aviv University) Oded Regev (Tel Aviv University) Ronald de Wolf (CWI, Amsterdam) A Hypercontractive Inequality for Matrix-Valued.
6 1 Linear Transformations. 6 2 Hopfield Network Questions.
Introduction to Algorithms
11 -1 Chapter 11 Randomized Algorithms Randomized algorithms In a randomized algorithm (probabilistic algorithm), we make some random choices.
Finite probability space set  (sample space) function P:  R + (probability distribution)  P(x) = 1 x 
11/26/02CSE FFT,etc CSE Algorithms Polynomial Representations, Fourier Transfer, and other goodies. (Chapters 28-30)
Chapter 2 The Fundamentals: Algorithms, the Integers, and Matrices
Cyclic codes 1 CHAPTER 3: Cyclic and convolution codes Cyclic codes are of interest and importance because They posses rich algebraic structure that can.
Tight Bounds for Graph Problems in Insertion Streams Xiaoming Sun and David P. Woodruff Chinese Academy of Sciences and IBM Research-Almaden.
2 2.1 © 2016 Pearson Education, Inc. Matrix Algebra MATRIX OPERATIONS.
Chapter 14 Randomized algorithms Introduction Las Vegas and Monte Carlo algorithms Randomized Quicksort Randomized selection Testing String Equality Pattern.
Implementing RSA Encryption in Java
11 -1 Chapter 11 Randomized Algorithms Randomized Algorithms In a randomized algorithm (probabilistic algorithm), we make some random choices.
Advanced Algebraic Algorithms on Integers and Polynomials Prepared by John Reif, Ph.D. Analysis of Algorithms.
Karatsuba’s Algorithm for Integer Multiplication
Great Theoretical Ideas In Computer Science Anupam GuptaCS Fall 2006 Lecture 17Oct 24, 2006Carnegie Mellon University Randomness and Computation:
Applied Symbolic Computation1 Applied Symbolic Computation (CS 300) Karatsuba’s Algorithm for Integer Multiplication Jeremy R. Johnson.
The Fast Fourier Transform and Applications to Multiplication
Information Security Lab. Dept. of Computer Engineering 87/121 PART I Symmetric Ciphers CHAPTER 4 Finite Fields 4.1 Groups, Rings, and Fields 4.2 Modular.
China Summer School on Lattices and Cryptography Craig Gentry and Shai Halevi June 4, 2014 Homomorphic Encryption over Polynomial Rings.
Umans Complexity Theory Lectures Lecture 7b: Randomization in Communication Complexity.
1 Fast Polynomial and Integer Multiplication Jeremy R. Johnson.
Module #9 – Number Theory 1/5/ Algorithms, The Integers and Matrices.
Greatest Common Divisors & Least Common Multiples  Definition 4 Let a and b be integers, not both zero. The largest integer d such that d|a and d|b is.
Applied Symbolic Computation1 Applied Symbolic Computation (CS 567) The Fast Fourier Transform (FFT) and Convolution Jeremy R. Johnson TexPoint fonts used.
Hardware Implementations of Finite Field Primitives
May 9, 2001Applied Symbolic Computation1 Applied Symbolic Computation (CS 680/480) Lecture 6: Multiplication, Interpolation, and the Chinese Remainder.
Let W be a subspace of R n, y any vector in R n, and the orthogonal projection of y onto W. …
MTH108 Business Math I Lecture 20.
Random Access Codes and a Hypercontractive Inequality for
13.4 Product of Two Matrices
Matrix Algebra MATRIX OPERATIONS © 2012 Pearson Education, Inc.
Matrix Algebra MATRIX OPERATIONS © 2012 Pearson Education, Inc.
Polynomial + Fast Fourier Transform
Multiplication of Matrices
Random Number Generators
Applied Symbolic Computation
September 4, 1997 Applied Symbolic Computation (CS 300) Fast Polynomial and Integer Multiplication Jeremy R. Johnson.
Applied Symbolic Computation
September 4, 1997 Applied Symbolic Computation (CS 300) Fast Polynomial and Integer Multiplication Jeremy R. Johnson.
Advanced Algorithms Analysis and Design
Applied Symbolic Computation
September 4, 1997 Applied Symbolic Computation (CS 567) Fast Polynomial and Integer Multiplication Jeremy R. Johnson.
Applied Symbolic Computation
Applied Symbolic Computation
Multiplication of Matrices
Applied Symbolic Computation
Eigenvalues and Eigenvectors
Matrix Algebra MATRIX OPERATIONS © 2012 Pearson Education, Inc.
Fast Polynomial and Integer Multiplication
Presentation transcript:

1 Fingerprinting techniques

2 Is X equal to Y? = ? = ?

3 Are Two Matrices Identical?

4 The problem Input: two n-by-n matrices A and B. Output: determining whether A = B? A B = ?

5 Naïve approach Comparing all elements. Needs n 2 comparisons. Can we reduce the number of comparisons if a small probability of error is allowed?

6 Fingerprinting approach 1.Choose an n-element column vector r, –where each element of r is either 0 or 1 independently and equally likely. –Comment: As a matter of fact, 0 and 1 can be any two distinct numbers. 2.Compare Ar and Br, and output whether they are identical.

7 Fingerprinting A B = ? = ? A r B r Only n comparisons.

8 Error Probability?

9 Proof

10 Bounding the probability

11 Therefore, …

12 Criticism: Computing Ar takes Ω(n 2 ) time. A B = ? = ? A r B r Only n comparisons.

13 More interesting example: Is AB = C? Input: three n-by-n matrices A, B, C. Output: determining whether AB = C. Naïve approach takes O(n 3 ) time for matrix multiplication and O(n 2 ) time for comparison. –Or, the fast matrix multiplication takes O(n 2.37 ) time.

14 Fingerprinting approach Choose an n-element column vector r, –where each element of r is either 0 or 1 independently and equally likely. –Comment: As a matter of fact, 0 and 1 can be any two distinct numbers. Compare ABr and Cr, and output whether they are identical.

15 Fingerprinting A C = ? = ? B r C r Only n comparisons. B A Only O(n 2 ) comparisons. Only O(n 2 ) operations

16 Error Probability?

17 Are two Polynomials Identical?

18 Is A(x)*B(x) = C(x)? Input: –A(x) and B(x) are two degree-n polynomials. –C(x) is a degree-2n polynomial. Output: –Determine whether the product of A(x) and B(x) is equal to C(x).

19 Naïve approach Multiplying A(x) and B(x) takes Ω(n log n) time –e.g., using Fast Fourier Transform. Comparing A(x)*B(x) and C(x) takes Ω(n) time.

20 Fingerprinting approach 1.Let R consist of arbitrary 4n distinct numbers. 2.Choose a number r from R uniformly at random. 3.Evaluate A(r)*B(r) and C(r), and output whether they are identical. Time complexity –O(n) for computation; –O(1) for comparison.

21 Error Probability?

22 Proof

23 Are Two Strings Identical?

24 The problem Input: Two n bit strings A and B. Output: determining whether A = B. Naïve approach requires comparing all n bits of both strings.

25 The story Each of Alice and Bob maintains a copy of the same n-bit database. They have to make sure that both copies are indeed identical. Can they discover inconsistency with high probability by comparing only poly-log number of bits?

26 Fingerprinting approach Let a (resp., b) be the n-bit number whose binary representation is A (resp., B). Randomly choose a polylog(n)-bit prime number p. –(For example, p ≦ 2n 2 log 2 n.) Alice compute the remainder r of a divided by p. Bob compute the remainder s of b divided by p. Output whether r = s.

27 Error Probability?

28 Two Facts Prime Number Theorem –The number of primes smaller than m is asymptotically m/ln m. Observation –The number of distinct prime divisors of an n- bit number is O(n). (Why?)

29 Proof