The polynomial k-wise independent hash family #
For a finite field F, the polynomials of degree less than k, evaluated as maps F → F and
indexed by their coefficient vectors c : Fin k → F (Cslib.Probability.polynomialHash), form a
k-wise independent hash family (Cslib.Probability.isKWiseIndependentHash_polynomialHash)
Vadhan, Section 3.5.5: by Lagrange interpolation, every
assignment of values to at most k points is attained by a polynomial of degree less than k,
and evaluation depends additively on the coefficients, so the surjectivity criterion
Cslib.Probability.isKWiseIndependentHash_of_surjective applies. The seed consists of k field
elements. For k = 2 these are the affine maps x ↦ c₀ + c₁ x of
Cslib.Probability.isPairwiseIndependentHash_affineHash in dimension one.
Main definitions #
Cslib.Probability.polynomialHash: evaluation of the polynomial with coefficientsc.
Main results #
Cslib.Probability.isKWiseIndependentHash_polynomialHash: the polynomials of degree less thankform ak-wise independent hash family.
References #
The polynomial hash is additive in its coefficient vector.
The polynomial hash with coefficients c evaluates any polynomial of degree less than k
whose coefficients are c.
The polynomial hash family is k-wise independent Vadhan, Section 3.5.5:
over a finite field F, the polynomials of degree less than k with uniformly
random coefficients take independent uniform values at any k distinct points.