ALG 4.1 Randomized Pattern Matching:

Size: px
Start display at page:

Download "ALG 4.1 Randomized Pattern Matching:"

Transcription

1 Algorithms Professor John Reif Generalized Pattern Matching ALG 4.1 Randomized Pattern Matching: Reading Selection: CLR: Chapter 12 Handout: R. Karp and M. Rabin, "Efficient Randomized Pattern-Matching" input index set R for each r e R strings X(r), Y(r) problem find r e R s.t. X(r) = Y(r) e {0,1} m Examples: (1) ID String Pattern Matching input pattern X = X 1... X Œ m {0,1} m text Y = Y 1... Y n Œ {0,1} n index set R = {1,2,..., n-m+1} "r ŒR X(r) = X Y( r ) = Y r Y r+1... Y r+(m-1) 1 2

2 Pattern Matching by Fingerprinting (2)2D Array Matching input pattern s s binary array X = (X ij ), m = s 2 text b b binary array Y = (Y ij ), n = b 2 index set R = {< i,j > s i,j b} X(< i,j >) = string of rows of X Y(< i.j >) = string of rows in s s block of Y with (i,j) in lower right postion. ( note Karp & Pratt reverse n,m) S is a finite set "p es F p ( ) is function {0,1} m Æ small range D p F p (X) is "fingerprint" for string X idea compare X(r) = Y(r) only if fingerprints agree: F p (X(r)) = F p (Y(r)) Algorithm p random element of S 3 for each r e R in order do begin compute a p (r) = F p (X(r)) compute b p (r) = F p (Y(r)) if a p (r) = b p (r) then if X(r) = Y(r) then output "Match at r" end fingerprint fn F p : {0,1} m Æ D p 4

3 Requirements (1) small domain D p (2) small probability of false match F p (X(r)) = F p (Y(r)) but X(r) π Y( r ) ) (3) fingerprints F p (X(r)), F p (Y(r)) are easily updatable from previous r Examples of fingerprints: represent binary string X = X 1... X m by integer m H( x ) = Â i=1 X i 2 m-i modular fingerprint F p (x) = res (H(x), p) modular fingerprint F p (X) = res (H(x), p) H( X) = p Î p - H( X) note F p (x) H(X) mod p (A)integer modular fns. (B) unimodular matrices (C) irreducible polynomial modular fns. 5 6

4 Facts about Prime Numbers let P(k) = number of primes k Define S = {p p is prime and p M} where M is a (suf. large) integer k FACT 1 If k 29 and a 2, then a has P(k) distinct prime divisors idea choose random p e S fi must prove F p (X) = res (H(X), p) is good fingerprint proof follows from Rosser & Schoenfeld bound: P p > e k k2 p prime p k 1 FACT 2 for all k 17 k ln k P(k) k ln k (prime number theorem) 7 8

5 Suppose Randomized Pattern Match Algorithm is executed, with fingerprint F p (X) = res(h(x), p) wi th s et S = {p p prime M} where M = mn 2 and mn 29 proof A false match occurs only if $ r e R X( r ) π Y(r) and P (H(x(r)) - H(Y(r))) iff p L where L = P H(X(r)) - H(Y(r)) X( r) π Y( r) Theorem for each r e R, p r obability of false match F p (X(r)) = F p (Y(r)) but X(r) π Y( r ) is n But L 2 mn so by Fact 1, L has at most P(mn) prime divisors Since p is chosen at and only Prob(false match) by Fact 2. random from P(M) primes, P(mn) give false matches, P(mn) P(M) n 9 10

6 Updating Modular Fingerprints pattern text X = X 1... X m Y = Y 1... Y n Theorem Total Exp. Time for finding a match is O(n) X( r ) = X, Y( r ) = Y r Y r+1... Y r+m-1 Si nce update formula: Y(r+1) = (Y(r) - 2 m-1 Y r ) 2 + Y r+m a p (r+1) = (a p (r) + a p (r) + x Y r + Y r+m ) mod p where x = - 2 m mod p proof Expected Time is: O( n ) + nm Prob(false match) O( n) + nm O( n O(n) 1) gives F p (Y(r+1)) = a p (r+1) from F p (Y(r)) = a p (r) in O(1) arithmetic steps using O(log n) bit integers on range [O, mn 2-1] 11 12

7 2D Randomized Pattern Matching input pattern X = (X ij ) is s s boul. array text Y = (Y ij ) is b b boul. array text window Y(< i,j >) = concatination of rows of s s subarray of Y with < i,j > in lower right corner b s i,j s Index i Update fingerprint a p (< i+1, j >) = a p (< i,j >) + ( a (< i,j >) - l Y + p i-s+1,j Y i+1,j ) mod p where Index j Update a p (< i,j+1 >) = where l = 2 s mod p - a p (< i,j >) + 2 Y i,j Y 2,j Ys,j Y i,1 2 + Y 2, Ys, s(s-1) q = - 2 mod p 2 s s s q - mod p b 13 14

8 Unimodular Matrices as Fingerprints Definition homomorphism k from {0,1} * into unimodular matrices with k(e ) = ( ) (, k(0) = 10 11) (, k(1) = 11 01) k(x * Y) = k(x) k(y) concatenation matrix multiplication Suppose the unimodular fingerprint fn F p is used with random p e S = {p p M is prime} where M = mn 2. Theorem The Random Pattern Matching Algorithm has probability of false match. n Fact 1 ' If X e {0,1} m, then each entry of k(x) is F m = mth Fibonacci (where F 0 = F 1 = 1, and F m = F m-1 + F m-2 for m 2) Fact 2' log F m ~.694m 15 16

9 proof A false match occurs if $i,j e {1,2} F p (X(r)) i,j = F p (Y(r)) i,j but k(x(r)) i,j π k(y(r)) i,j iff p L' where L' = P k(x(r)) i,j - k(y(r)) i,j r e R i,j e {1,2} But L' (F m ) 4n 2 È 4n log Fm By fact 1, the number of primes that divide L' is at most P ( È 4n log Fm ) Updating Using Unimodular Matrices ID string matching: a p (r+1) = K p (Y r ) -1 a p (r) H(Y r+m ) a p (r) = F p (Y(r)) where K p (0) -1 = ( 1 0 p-1 1) and K p (1) -1 = ( 1 p-1 0 1) (can also extend to 2D string matching) mod p The probability of a false match is P(È 4n log Fm ) P(M) n since by Fact 2' log(f ) m ~.694m 17 18

10 (2) S = {p p M and p is M-fat} p is M-fat if p M and p has prime divisor > M Simplifications of Modular Fingerprinting S = {p p M and p prime or pseudoprime} p is pseudoprime if 2 p-1 1 mod p but p not prime -c(log m log log m)2 # pseudoprimes is Me 1 fact S ~ M(ln2 + 0(1)) A false match occurs when p L where L = P(H(X(r)) - H(Y(r))) X(r) π Y(r) nm Bound L < 2 Let N be the number of M-fat integers dividing L Then N N ( M) M ln 2 2 <L < 2 nm so n 4 (log n) 2 The prob of false match is: N <.5 if M = n 4 S (ln n)

11 Fingerprinting by Random Polynomials (3) S = {p p M} with some M idea use new p when get false match expected time cn (.5 + (.5) 2 + (.5) ) O( n) Gal oi s Fi e l d GF( 2 k ) = {b 1... b k b i,... b k e{0,1}} Z 2 [t] = pol y nomials of form p(t) = t k + a k-1 t k a o where a k-1, a k-2,..., a e 0 {0,1} p(x) irreducible if can't be factored Lemma If k is prime, the number of irreducible polynomials of degree k in Z 2 [t] is (2 k - 2) k Fi nger p r int fn F p (x) = x 1 t m x m mod p (t) (residue comp can be done efficiently) 21 22

12 Open Problems Theorem If use random Fingerprint fn with degree k > log (nm e -1 ), then prob of false match is < e. proof use usual argument and above Lemma (1) Are there deterministic methods for Fingerprinting? (2) What are optimal trade offs for prob of error and size of S for randomized Fingerprinting? 23 24

13 Application of Fingerprinting to Computer Security for fixed random p, idea store F p (F 1 ),..., F p (F k ) fingerprints of files F 1,..., F k Security: only operator knows p, so if ' any file F i modi fi ed, to F i then with high likelihood F p (F i ' ) π F p (F i ) fi can build a secure operating system from this idea! 25

String Matching. Thanks to Piotr Indyk. String Matching. Simple Algorithm. for s 0 to n-m. Match 0. for j 1 to m if T[s+j] P[j] then

String Matching. Thanks to Piotr Indyk. String Matching. Simple Algorithm. for s 0 to n-m. Match 0. for j 1 to m if T[s+j] P[j] then String Matching Thanks to Piotr Indyk String Matching Input: Two strings T[1 n] and P[1 m], containing symbols from alphabet Σ Goal: find all shifts 0 s n-m such that T[s+1 s+m]=p Example: Σ={,a,b,,z}

More information

ALG 4.0 Number Theory Algorithms:

ALG 4.0 Number Theory Algorithms: Algorithms Professor John Reif ALG 4.0 Number Theory Algorithms: (a) GCD (b) Multiplicative Inverse (c) Fermat & Euler's Theorems (d) Public Key Cryptographic Systems (e) Primality Testing Greatest Common

More information

Lecture 7: Fingerprinting. David Woodruff Carnegie Mellon University

Lecture 7: Fingerprinting. David Woodruff Carnegie Mellon University Lecture 7: Fingerprinting David Woodruff Carnegie Mellon University How to Pick a Random Prime How to pick a random prime in the range {1, 2,, M}? How to pick a random integer X? Pick a uniformly random

More information

ALG 4.3. Hashing Polynomials and Algebraic Expressions: Main Goal of Lecture: Algorithms Professor John Reif

ALG 4.3. Hashing Polynomials and Algebraic Expressions: Main Goal of Lecture: Algorithms Professor John Reif Algorithms Professor John Reif ALG 4.3 Hashing Polynomials and Algebraic Expressions: (a) Identity Testing of Polynomials (b) Applications of Polynomial Hashing (c) Hashing Classes of Algebraic Expressions

More information

compare to comparison and pointer based sorting, binary trees

compare to comparison and pointer based sorting, binary trees Admin Hashing Dictionaries Model Operations. makeset, insert, delete, find keys are integers in M = {1,..., m} (so assume machine word size, or unit time, is log m) can store in array of size M using power:

More information

Monoids. Definition: A binary operation on a set M is a function : M M M. Examples:

Monoids. Definition: A binary operation on a set M is a function : M M M. Examples: Monoids Definition: A binary operation on a set M is a function : M M M. If : M M M, we say that is well defined on M or equivalently, that M is closed under the operation. Examples: Definition: A monoid

More information

s 1 if xπy and f(x) = f(y)

s 1 if xπy and f(x) = f(y) Algorithms Proessor John Rei Hash Function : A B ALG 4.2 Universal Hash Functions: CLR - Chapter 34 Auxillary Reading Selections: AHU-Data Section 4.7 BB Section 8.4.4 Handout: Carter & Wegman, "Universal

More information

CSCI Honor seminar in algorithms Homework 2 Solution

CSCI Honor seminar in algorithms Homework 2 Solution CSCI 493.55 Honor seminar in algorithms Homework 2 Solution Saad Mneimneh Visiting Professor Hunter College of CUNY Problem 1: Rabin-Karp string matching Consider a binary string s of length n and another

More information

Chapter Summary. Mathematical Induction Strong Induction Well-Ordering Recursive Definitions Structural Induction Recursive Algorithms

Chapter Summary. Mathematical Induction Strong Induction Well-Ordering Recursive Definitions Structural Induction Recursive Algorithms 1 Chapter Summary Mathematical Induction Strong Induction Well-Ordering Recursive Definitions Structural Induction Recursive Algorithms 2 Section 5.1 3 Section Summary Mathematical Induction Examples of

More information

Public Key Encryption

Public Key Encryption Public Key Encryption 3/13/2012 Cryptography 1 Facts About Numbers Prime number p: p is an integer p 2 The only divisors of p are 1 and p s 2, 7, 19 are primes -3, 0, 1, 6 are not primes Prime decomposition

More information

String Search. 6th September 2018

String Search. 6th September 2018 String Search 6th September 2018 Search for a given (short) string in a long string Search problems have become more important lately The amount of stored digital information grows steadily (rapidly?)

More information

3 The fundamentals: Algorithms, the integers, and matrices

3 The fundamentals: Algorithms, the integers, and matrices 3 The fundamentals: Algorithms, the integers, and matrices 3.4 The integers and division This section introduces the basics of number theory number theory is the part of mathematics involving integers

More information

MATH FINAL EXAM REVIEW HINTS

MATH FINAL EXAM REVIEW HINTS MATH 109 - FINAL EXAM REVIEW HINTS Answer: Answer: 1. Cardinality (1) Let a < b be two real numbers and define f : (0, 1) (a, b) by f(t) = (1 t)a + tb. (a) Prove that f is a bijection. (b) Prove that any

More information

About complexity. We define the class informally P in the following way:

About complexity. We define the class informally P in the following way: About complexity We define the class informally P in the following way: P = The set of all problems that can be solved by a polynomial time algorithm, i.e., an algorithm that runs in time O(n k ) in the

More information

Finite Fields. Mike Reiter

Finite Fields. Mike Reiter 1 Finite Fields Mike Reiter reiter@cs.unc.edu Based on Chapter 4 of: W. Stallings. Cryptography and Network Security, Principles and Practices. 3 rd Edition, 2003. Groups 2 A group G, is a set G of elements

More information

CS 4770: Cryptography. CS 6750: Cryptography and Communication Security. Alina Oprea Associate Professor, CCIS Northeastern University

CS 4770: Cryptography. CS 6750: Cryptography and Communication Security. Alina Oprea Associate Professor, CCIS Northeastern University CS 4770: Cryptography CS 6750: Cryptography and Communication Security Alina Oprea Associate Professor, CCIS Northeastern University March 15 2018 Review Hash functions Collision resistance Merkle-Damgaard

More information

1. Algebra 1.7. Prime numbers

1. Algebra 1.7. Prime numbers 1. ALGEBRA 30 1. Algebra 1.7. Prime numbers Definition Let n Z, with n 2. If n is not a prime number, then n is called a composite number. We look for a way to test if a given positive integer is prime

More information

Number Theory. Modular Arithmetic

Number Theory. Modular Arithmetic Number Theory The branch of mathematics that is important in IT security especially in cryptography. Deals only in integer numbers and the process can be done in a very fast manner. Modular Arithmetic

More information

Know the meaning of the basic concepts: ring, field, characteristic of a ring, the ring of polynomials R[x].

Know the meaning of the basic concepts: ring, field, characteristic of a ring, the ring of polynomials R[x]. The second exam will be on Friday, October 28, 2. It will cover Sections.7,.8, 3., 3.2, 3.4 (except 3.4.), 4. and 4.2 plus the handout on calculation of high powers of an integer modulo n via successive

More information

Homework 10 Solution

Homework 10 Solution CS 174: Combinatorics and Discrete Probability Fall 2012 Homewor 10 Solution Problem 1. (Exercise 10.6 from MU 8 points) The problem of counting the number of solutions to a napsac instance can be defined

More information

U.C. Berkeley CS174: Randomized Algorithms Lecture Note 12 Professor Luca Trevisan April 29, 2003

U.C. Berkeley CS174: Randomized Algorithms Lecture Note 12 Professor Luca Trevisan April 29, 2003 U.C. Berkeley CS174: Randomized Algorithms Lecture Note 12 Professor Luca Trevisan April 29, 2003 Fingerprints, Polynomials, and Pattern Matching 1 Example 1: Checking Matrix Multiplication Notes by Alistair

More information

2. Exact String Matching

2. Exact String Matching 2. Exact String Matching Let T = T [0..n) be the text and P = P [0..m) the pattern. We say that P occurs in T at position j if T [j..j + m) = P. Example: P = aine occurs at position 6 in T = karjalainen.

More information

Module 9: Tries and String Matching

Module 9: Tries and String Matching Module 9: Tries and String Matching CS 240 - Data Structures and Data Management Sajed Haque Veronika Irvine Taylor Smith Based on lecture notes by many previous cs240 instructors David R. Cheriton School

More information

Cyclotomic Resultants. By D. H. Lehmer and Emma Lehmer. Dedicated to Daniel Shanks on his 10 th birthday

Cyclotomic Resultants. By D. H. Lehmer and Emma Lehmer. Dedicated to Daniel Shanks on his 10 th birthday mathematics of computation volume 48. number 177 january 1w7. paces 211-216 Cyclotomic Resultants By D. H. Lehmer and Emma Lehmer Dedicated to Daniel Shanks on his 10 th birthday Abstract. This paper examines

More information

Induction and recursion. Chapter 5

Induction and recursion. Chapter 5 Induction and recursion Chapter 5 Chapter Summary Mathematical Induction Strong Induction Well-Ordering Recursive Definitions Structural Induction Recursive Algorithms Mathematical Induction Section 5.1

More information

Part II. Number Theory. Year

Part II. Number Theory. Year Part II Year 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2017 Paper 3, Section I 1G 70 Explain what is meant by an Euler pseudoprime and a strong pseudoprime. Show that 65 is an Euler

More information

Discrete Math, Fourteenth Problem Set (July 18)

Discrete Math, Fourteenth Problem Set (July 18) Discrete Math, Fourteenth Problem Set (July 18) REU 2003 Instructor: László Babai Scribe: Ivona Bezakova 0.1 Repeated Squaring For the primality test we need to compute a X 1 (mod X). There are two problems

More information

The set of integers will be denoted by Z = {, -3, -2, -1, 0, 1, 2, 3, 4, }

The set of integers will be denoted by Z = {, -3, -2, -1, 0, 1, 2, 3, 4, } Integers and Division 1 The Integers and Division This area of discrete mathematics belongs to the area of Number Theory. Some applications of the concepts in this section include generating pseudorandom

More information

Homework #2 solutions Due: June 15, 2012

Homework #2 solutions Due: June 15, 2012 All of the following exercises are based on the material in the handout on integers found on the class website. 1. Find d = gcd(475, 385) and express it as a linear combination of 475 and 385. That is

More information

INF 4130 / /8-2017

INF 4130 / /8-2017 INF 4130 / 9135 28/8-2017 Algorithms, efficiency, and complexity Problem classes Problems can be divided into sets (classes). Problem classes are defined by the type of algorithm that can (or cannot) solve

More information

Chapter 7 Randomization Algorithm Theory WS 2017/18 Fabian Kuhn

Chapter 7 Randomization Algorithm Theory WS 2017/18 Fabian Kuhn Chapter 7 Randomization Algorithm Theory WS 2017/18 Fabian Kuhn Randomization Randomized Algorithm: An algorithm that uses (or can use) random coin flips in order to make decisions We will see: randomization

More information

Hash tables. Hash tables

Hash tables. Hash tables Dictionary Definition A dictionary is a data-structure that stores a set of elements where each element has a unique key, and supports the following operations: Search(S, k) Return the element whose key

More information

NOTE: You have 2 hours, please plan your time. Problems are not ordered by difficulty.

NOTE: You have 2 hours, please plan your time. Problems are not ordered by difficulty. EXAM 2 solutions (COT3100, Sitharam, Spring 2017) NAME:last first: UF-ID Section NOTE: You have 2 hours, please plan your time. Problems are not ordered by difficulty. (1) Are the following functions one-to-one

More information

Hash tables. Hash tables

Hash tables. Hash tables Dictionary Definition A dictionary is a data-structure that stores a set of elements where each element has a unique key, and supports the following operations: Search(S, k) Return the element whose key

More information

Basics of hashing: k-independence and applications

Basics of hashing: k-independence and applications Basics of hashing: k-independence and applications Rasmus Pagh Supported by: 1 Agenda Load balancing using hashing! - Analysis using bounded independence! Implementation of small independence! Case studies:!

More information

4 Number Theory and Cryptography

4 Number Theory and Cryptography 4 Number Theory and Cryptography 4.1 Divisibility and Modular Arithmetic This section introduces the basics of number theory number theory is the part of mathematics involving integers and their properties.

More information

Elliptic Curve Discrete Logarithm Problem

Elliptic Curve Discrete Logarithm Problem Elliptic Curve Discrete Logarithm Problem Vanessa VITSE Université de Versailles Saint-Quentin, Laboratoire PRISM October 19, 2009 Vanessa VITSE (UVSQ) Elliptic Curve Discrete Logarithm Problem October

More information

Hash tables. Hash tables

Hash tables. Hash tables Basic Probability Theory Two events A, B are independent if Conditional probability: Pr[A B] = Pr[A] Pr[B] Pr[A B] = Pr[A B] Pr[B] The expectation of a (discrete) random variable X is E[X ] = k k Pr[X

More information

Rings. EE 387, Notes 7, Handout #10

Rings. EE 387, Notes 7, Handout #10 Rings EE 387, Notes 7, Handout #10 Definition: A ring is a set R with binary operations, + and, that satisfy the following axioms: 1. (R, +) is a commutative group (five axioms) 2. Associative law for

More information

About complexity. Number theoretical algorithms

About complexity. Number theoretical algorithms Page 1 About complexity We define the class informally P in the following way: P = The set of all problems that can be solved by a polynomial time algorithm, i.e., an algorithm that runs in time O(n k

More information

Lecture 10 Oct. 3, 2017

Lecture 10 Oct. 3, 2017 CS 388R: Randomized Algorithms Fall 2017 Lecture 10 Oct. 3, 2017 Prof. Eric Price Scribe: Jianwei Chen, Josh Vekhter NOTE: THESE NOTES HAVE NOT BEEN EDITED OR CHECKED FOR CORRECTNESS 1 Overview In the

More information

Introduction to Hash Tables

Introduction to Hash Tables Introduction to Hash Tables Hash Functions A hash table represents a simple but efficient way of storing, finding, and removing elements. In general, a hash table is represented by an array of cells. In

More information

INF 4130 / /8-2014

INF 4130 / /8-2014 INF 4130 / 9135 26/8-2014 Mandatory assignments («Oblig-1», «-2», and «-3»): All three must be approved Deadlines around: 25. sept, 25. oct, and 15. nov Other courses on similar themes: INF-MAT 3370 INF-MAT

More information

CS5314 Randomized Algorithms. Lecture 15: Balls, Bins, Random Graphs (Hashing)

CS5314 Randomized Algorithms. Lecture 15: Balls, Bins, Random Graphs (Hashing) CS5314 Randomized Algorithms Lecture 15: Balls, Bins, Random Graphs (Hashing) 1 Objectives Study various hashing schemes Apply balls-and-bins model to analyze their performances 2 Chain Hashing Suppose

More information

Basic elements of number theory

Basic elements of number theory Cryptography Basic elements of number theory Marius Zimand By default all the variables, such as a, b, k, etc., denote integer numbers. Divisibility a 0 divides b if b = a k for some integer k. Notation

More information

LARGE PRIME NUMBERS (32, 42; 4) (32, 24; 2) (32, 20; 1) ( 105, 20; 0).

LARGE PRIME NUMBERS (32, 42; 4) (32, 24; 2) (32, 20; 1) ( 105, 20; 0). LARGE PRIME NUMBERS 1. Fast Modular Exponentiation Given positive integers a, e, and n, the following algorithm quickly computes the reduced power a e % n. (Here x % n denotes the element of {0,, n 1}

More information

Basic elements of number theory

Basic elements of number theory Cryptography Basic elements of number theory Marius Zimand 1 Divisibility, prime numbers By default all the variables, such as a, b, k, etc., denote integer numbers. Divisibility a 0 divides b if b = a

More information

13 More on free abelian groups

13 More on free abelian groups 13 More on free abelian groups Recall. G is a free abelian group if G = i I Z for some set I. 13.1 Definition. Let G be an abelian group. A set B G is a basis of G if B generates G if for some x 1,...x

More information

PRIMALITY TESTING. Professor : Mr. Mohammad Amin Shokrollahi Assistant : Mahdi Cheraghchi. By TAHIRI JOUTI Kamal

PRIMALITY TESTING. Professor : Mr. Mohammad Amin Shokrollahi Assistant : Mahdi Cheraghchi. By TAHIRI JOUTI Kamal PRIMALITY TESTING Professor : Mr. Mohammad Amin Shokrollahi Assistant : Mahdi Cheraghchi By TAHIRI JOUTI Kamal TABLE OF CONTENTS I- FUNDAMENTALS FROM NOMBER THEORY FOR RANDOMIZED ALGORITHMS:.page 4 1)

More information

Hashing. Dictionaries Chained Hashing Universal Hashing Static Dictionaries and Perfect Hashing. Philip Bille

Hashing. Dictionaries Chained Hashing Universal Hashing Static Dictionaries and Perfect Hashing. Philip Bille Hashing Dictionaries Chained Hashing Universal Hashing Static Dictionaries and Perfect Hashing Philip Bille Hashing Dictionaries Chained Hashing Universal Hashing Static Dictionaries and Perfect Hashing

More information

Mathematical Foundations of Cryptography

Mathematical Foundations of Cryptography Mathematical Foundations of Cryptography Cryptography is based on mathematics In this chapter we study finite fields, the basis of the Advanced Encryption Standard (AES) and elliptical curve cryptography

More information

Hashing. Hashing. Dictionaries. Dictionaries. Dictionaries Chained Hashing Universal Hashing Static Dictionaries and Perfect Hashing

Hashing. Hashing. Dictionaries. Dictionaries. Dictionaries Chained Hashing Universal Hashing Static Dictionaries and Perfect Hashing Philip Bille Dictionaries Dictionary problem. Maintain a set S U = {,..., u-} supporting lookup(x): return true if x S and false otherwise. insert(x): set S = S {x} delete(x): set S = S - {x} Dictionaries

More information

CSE 190, Great ideas in algorithms: Pairwise independent hash functions

CSE 190, Great ideas in algorithms: Pairwise independent hash functions CSE 190, Great ideas in algorithms: Pairwise independent hash functions 1 Hash functions The goal of hash functions is to map elements from a large domain to a small one. Typically, to obtain the required

More information

Linear Congruences. The equation ax = b for a, b R is uniquely solvable if a 0: x = b/a. Want to extend to the linear congruence:

Linear Congruences. The equation ax = b for a, b R is uniquely solvable if a 0: x = b/a. Want to extend to the linear congruence: Linear Congruences The equation ax = b for a, b R is uniquely solvable if a 0: x = b/a. Want to extend to the linear congruence: ax b (mod m), a, b Z, m N +. (1) If x 0 is a solution then so is x k :=

More information

arithmetic properties of weighted catalan numbers

arithmetic properties of weighted catalan numbers arithmetic properties of weighted catalan numbers Jason Chen Mentor: Dmitry Kubrak May 20, 2017 MIT PRIMES Conference background: catalan numbers Definition The Catalan numbers are the sequence of integers

More information

With Question/Answer Animations

With Question/Answer Animations Chapter 5 With Question/Answer Animations Copyright McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education. Chapter Summary

More information

Chapter 6 Randomization Algorithm Theory WS 2012/13 Fabian Kuhn

Chapter 6 Randomization Algorithm Theory WS 2012/13 Fabian Kuhn Chapter 6 Randomization Algorithm Theory WS 2012/13 Fabian Kuhn Randomization Randomized Algorithm: An algorithm that uses (or can use) random coin flips in order to make decisions We will see: randomization

More information

GF(2 m ) arithmetic: summary

GF(2 m ) arithmetic: summary GF(2 m ) arithmetic: summary EE 387, Notes 18, Handout #32 Addition/subtraction: bitwise XOR (m gates/ops) Multiplication: bit serial (shift and add) bit parallel (combinational) subfield representation

More information

conp = { L L NP } (1) This problem is essentially the same as SAT because a formula is not satisfiable if and only if its negation is a tautology.

conp = { L L NP } (1) This problem is essentially the same as SAT because a formula is not satisfiable if and only if its negation is a tautology. 1 conp and good characterizations In these lecture notes we discuss a complexity class called conp and its relationship to P and NP. This discussion will lead to an interesting notion of good characterizations

More information

Chapter 9 Mathematics of Cryptography Part III: Primes and Related Congruence Equations

Chapter 9 Mathematics of Cryptography Part III: Primes and Related Congruence Equations Chapter 9 Mathematics of Cryptography Part III: Primes and Related Congruence Equations Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 9.1 Chapter 9 Objectives

More information

Chapter 4 Finite Fields

Chapter 4 Finite Fields Chapter 4 Finite Fields Introduction will now introduce finite fields of increasing importance in cryptography AES, Elliptic Curve, IDEA, Public Key concern operations on numbers what constitutes a number

More information

Lecture 6: Introducing Complexity

Lecture 6: Introducing Complexity COMP26120: Algorithms and Imperative Programming Lecture 6: Introducing Complexity Ian Pratt-Hartmann Room KB2.38: email: ipratt@cs.man.ac.uk 2015 16 You need this book: Make sure you use the up-to-date

More information

Finite Fields. SOLUTIONS Network Coding - Prof. Frank H.P. Fitzek

Finite Fields. SOLUTIONS Network Coding - Prof. Frank H.P. Fitzek Finite Fields In practice most finite field applications e.g. cryptography and error correcting codes utilizes a specific type of finite fields, namely the binary extension fields. The following exercises

More information

Induction and Recursion

Induction and Recursion . All rights reserved. Authorized only for instructor use in the classroom. No reproduction or further distribution permitted without the prior written consent of McGraw-Hill Education. Induction and Recursion

More information

Efficient random number generation on FPGA-s

Efficient random number generation on FPGA-s Proceedings of the 9 th International Conference on Applied Informatics Eger, Hungary, January 29 February 1, 2014. Vol. 1. pp. 313 320 doi: 10.14794/ICAI.9.2014.1.313 Efficient random number generation

More information

Lecture 3: String Matching

Lecture 3: String Matching COMP36111: Advanced Algorithms I Lecture 3: String Matching Ian Pratt-Hartmann Room KB2.38: email: ipratt@cs.man.ac.uk 2017 18 Outline The string matching problem The Rabin-Karp algorithm The Knuth-Morris-Pratt

More information

Error Correcting Codes Questions Pool

Error Correcting Codes Questions Pool Error Correcting Codes Questions Pool Amnon Ta-Shma and Dean Doron January 3, 018 General guidelines The questions fall into several categories: (Know). (Mandatory). (Bonus). Make sure you know how to

More information

CHAPTER 14. Ideals and Factor Rings

CHAPTER 14. Ideals and Factor Rings CHAPTER 14 Ideals and Factor Rings Ideals Definition (Ideal). A subring A of a ring R is called a (two-sided) ideal of R if for every r 2 R and every a 2 A, ra 2 A and ar 2 A. Note. (1) A absorbs elements

More information

Algorithms CMSC Homework set #1 due January 14, 2015

Algorithms CMSC Homework set #1 due January 14, 2015 Algorithms CMSC-27200 http://alg15.cs.uchicago.edu Homework set #1 due January 14, 2015 Read the homework instructions on the website. The instructions that follow here are only an incomplete summary.

More information

Advanced Algorithms and Complexity Course Project Report

Advanced Algorithms and Complexity Course Project Report Advanced Algorithms and Complexity Course Project Report Eklavya Sharma (2014A7PS0130P) 26 November 2017 Abstract This document explores the problem of primality testing. It includes an analysis of the

More information

Counting bases of representable matroids

Counting bases of representable matroids Counting bases of representable matroids Michael Snook School of Mathematics, Statistics and Operations Research Victoria University of Wellington Wellington, New Zealand michael.snook@msor.vuw.ac.nz Submitted:

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 9 September 30, 2015 CPSC 467, Lecture 9 1/47 Fast Exponentiation Algorithms Number Theory Needed for RSA Elementary Number Theory

More information

Math 370 Homework 2, Fall 2009

Math 370 Homework 2, Fall 2009 Math 370 Homework 2, Fall 2009 (1a) Prove that every natural number N is congurent to the sum of its decimal digits mod 9. PROOF: Let the decimal representation of N be n d n d 1... n 1 n 0 so that N =

More information

Ad Placement Strategies

Ad Placement Strategies Case Study 1: Estimating Click Probabilities Tackling an Unknown Number of Features with Sketching Machine Learning for Big Data CSE547/STAT548, University of Washington Emily Fox 2014 Emily Fox January

More information

Computational Number Theory. Adam O Neill Based on

Computational Number Theory. Adam O Neill Based on Computational Number Theory Adam O Neill Based on http://cseweb.ucsd.edu/~mihir/cse207/ Secret Key Exchange - * Is Alice Ka Public Network Ka = KB O KB 0^1 Eve should have a hard time getting information

More information

Know the Well-ordering principle: Any set of positive integers which has at least one element contains a smallest element.

Know the Well-ordering principle: Any set of positive integers which has at least one element contains a smallest element. The first exam will be on Monday, June 8, 202. The syllabus will be sections. and.2 in Lax, and the number theory handout found on the class web site, plus the handout on the method of successive squaring

More information

Some notes on streaming algorithms continued

Some notes on streaming algorithms continued U.C. Berkeley CS170: Algorithms Handout LN-11-9 Christos Papadimitriou & Luca Trevisan November 9, 016 Some notes on streaming algorithms continued Today we complete our quick review of streaming algorithms.

More information

Quiz 1 Solutions. Problem 2. Asymptotics & Recurrences [20 points] (3 parts)

Quiz 1 Solutions. Problem 2. Asymptotics & Recurrences [20 points] (3 parts) Introduction to Algorithms October 13, 2010 Massachusetts Institute of Technology 6.006 Fall 2010 Professors Konstantinos Daskalakis and Patrick Jaillet Quiz 1 Solutions Quiz 1 Solutions Problem 1. We

More information

Name: MAT 444 Test 4 Instructor: Helene Barcelo April 19, 2004

Name: MAT 444 Test 4 Instructor: Helene Barcelo April 19, 2004 MAT 444 Test 4 Instructor: Helene Barcelo April 19, 004 Name: You can take up to hours for completing this exam. Close book, notes and calculator. Do not use your own scratch paper. Write each solution

More information

Basic Concepts in Number Theory and Finite Fields

Basic Concepts in Number Theory and Finite Fields Basic Concepts in Number Theory and Finite Fields Raj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available at: 4-1 Overview

More information

Dynamics of finite linear cellular automata over Z N

Dynamics of finite linear cellular automata over Z N Dynamics of finite linear cellular automata over Z N F. Mendivil, D. Patterson September 9, 2009 Abstract We investigate the behaviour of linear cellular automata with state space Z N and only finitely

More information

MULTILINEAR ALGEBRA: THE TENSOR PRODUCT

MULTILINEAR ALGEBRA: THE TENSOR PRODUCT MULTILINEAR ALGEBRA: THE TENSOR PRODUCT This writeup is drawn closely from chapter 27 of Paul Garrett s text Abstract Algebra, available from Chapman and Hall/CRC publishers and also available online at

More information

Hash Tables. Given a set of possible keys U, such that U = u and a table of m entries, a Hash function h is a

Hash Tables. Given a set of possible keys U, such that U = u and a table of m entries, a Hash function h is a Hash Tables Given a set of possible keys U, such that U = u and a table of m entries, a Hash function h is a mapping from U to M = {1,..., m}. A collision occurs when two hashed elements have h(x) =h(y).

More information

1 The Fundamental Theorem of Arithmetic. A positive integer N has a unique prime power decomposition. Primality Testing. and. Integer Factorisation

1 The Fundamental Theorem of Arithmetic. A positive integer N has a unique prime power decomposition. Primality Testing. and. Integer Factorisation 1 The Fundamental Theorem of Arithmetic A positive integer N has a unique prime power decomposition 2 Primality Testing Integer Factorisation (Gauss 1801, but probably known to Euclid) The Computational

More information

Non-Interactive Zero Knowledge (II)

Non-Interactive Zero Knowledge (II) Non-Interactive Zero Knowledge (II) CS 601.442/642 Modern Cryptography Fall 2017 S 601.442/642 Modern CryptographyNon-Interactive Zero Knowledge (II) Fall 2017 1 / 18 NIZKs for NP: Roadmap Last-time: Transformation

More information

Algorithms lecture notes 1. Hashing, and Universal Hash functions

Algorithms lecture notes 1. Hashing, and Universal Hash functions Algorithms lecture notes 1 Hashing, and Universal Hash functions Algorithms lecture notes 2 Can we maintain a dictionary with O(1) per operation? Not in the deterministic sense. But in expectation, yes.

More information

William Stallings Copyright 2010

William Stallings Copyright 2010 A PPENDIX E B ASIC C ONCEPTS FROM L INEAR A LGEBRA William Stallings Copyright 2010 E.1 OPERATIONS ON VECTORS AND MATRICES...2 Arithmetic...2 Determinants...4 Inverse of a Matrix...5 E.2 LINEAR ALGEBRA

More information

Lecture 14. Outline. 1. Finish Polynomials and Secrets. 2. Finite Fields: Abstract Algebra 3. Erasure Coding

Lecture 14. Outline. 1. Finish Polynomials and Secrets. 2. Finite Fields: Abstract Algebra 3. Erasure Coding Lecture 14. Outline. 1. Finish Polynomials and Secrets. 2. Finite Fields: Abstract Algebra 3. Erasure Coding Modular Arithmetic Fact and Secrets Modular Arithmetic Fact: There is exactly 1 polynomial of

More information

Lecture notes: Algorithms for integers, polynomials (Thorsten Theobald)

Lecture notes: Algorithms for integers, polynomials (Thorsten Theobald) Lecture notes: Algorithms for integers, polynomials (Thorsten Theobald) 1 Euclid s Algorithm Euclid s Algorithm for computing the greatest common divisor belongs to the oldest known computing procedures

More information

Discrete Math. Instructor: Mike Picollelli. Day 10

Discrete Math. Instructor: Mike Picollelli. Day 10 Day 10 Fibonacci Redux. Last time, we saw that F n = 1 5 (( 1 + ) n ( 5 2 1 ) n ) 5. 2 What Makes The Fibonacci Numbers So Special? The Fibonacci numbers are a particular type of recurrence relation, a

More information

A polytime proof of correctness of the Rabin-Miller algorithm from Fermat s Little Theorem

A polytime proof of correctness of the Rabin-Miller algorithm from Fermat s Little Theorem A polytime proof of correctness of the Rabin-Miller algorithm from Fermat s Little Theorem Grzegorz Herman and Michael Soltys November 24, 2008 Abstract Although a deterministic polytime algorithm for

More information

36 Rings of fractions

36 Rings of fractions 36 Rings of fractions Recall. If R is a PID then R is a UFD. In particular Z is a UFD if F is a field then F[x] is a UFD. Goal. If R is a UFD then so is R[x]. Idea of proof. 1) Find an embedding R F where

More information

Outline. Criteria of good signal sets. Interleaved structure. The main results. Applications of our results. Current work.

Outline. Criteria of good signal sets. Interleaved structure. The main results. Applications of our results. Current work. Outline Criteria of good signal sets Interleaved structure The main results Applications of our results Current work Future work 2 He Panario Wang Interleaved sequences Criteria of a good signal set We

More information

3x + 1 (mod 5) x + 2 (mod 5)

3x + 1 (mod 5) x + 2 (mod 5) Today. Secret Sharing. Polynomials Polynomials. Secret Sharing. Share secret among n people. Secrecy: Any k 1 knows nothing. Roubustness: Any k knows secret. Efficient: minimize storage. A polynomial P(x)

More information

2a 2 4ac), provided there is an element r in our

2a 2 4ac), provided there is an element r in our MTH 310002 Test II Review Spring 2012 Absractions versus examples The purpose of abstraction is to reduce ideas to their essentials, uncluttered by the details of a specific situation Our lectures built

More information

Mathematical Background

Mathematical Background Chapter 1 Mathematical Background When we analyze various algorithms in terms of the time and the space it takes them to run, we often need to work with math. That is why we ask you to take MA 2250 Math

More information

Remainders. We learned how to multiply and divide in elementary

Remainders. We learned how to multiply and divide in elementary Remainders We learned how to multiply and divide in elementary school. As adults we perform division mostly by pressing the key on a calculator. This key supplies the quotient. In numerical analysis and

More information

* 8 Groups, with Appendix containing Rings and Fields.

* 8 Groups, with Appendix containing Rings and Fields. * 8 Groups, with Appendix containing Rings and Fields Binary Operations Definition We say that is a binary operation on a set S if, and only if, a, b, a b S Implicit in this definition is the idea that

More information

Congruences and Residue Class Rings

Congruences and Residue Class Rings Congruences and Residue Class Rings (Chapter 2 of J. A. Buchmann, Introduction to Cryptography, 2nd Ed., 2004) Shoichi Hirose Faculty of Engineering, University of Fukui S. Hirose (U. Fukui) Congruences

More information

cse 311: foundations of computing Fall 2015 Lecture 12: Primes, GCD, applications

cse 311: foundations of computing Fall 2015 Lecture 12: Primes, GCD, applications cse 311: foundations of computing Fall 2015 Lecture 12: Primes, GCD, applications n-bit unsigned integer representation Represent integer x as sum of powers of 2: If x = n 1 i=0 b i 2 i where each b i

More information