Universal one-way hash function

From CRYPTUTOR

Jump to: navigation, search

A universal one-way hash function (UOWHF) is a hash function which achieves a "selective" version of collision-resistance.

Definition

Let m and h be polynomials, and let \mathcal{H}_n  = \{ H_k \}_{k \in \{0,1\}^n} be a collection of functions from m(n) bits to h(n) bits, indexed by seeds k. We say that \mathcal{H}_n is a universal one-way hash function if it has the following properties:

  • Efficiency: Hk(m) can be computed in polynomial time in the security parameter n.
  • Compression: h(n) < m(n) for all n.
  • Collision-resistance: For all non-uniform PPT (polynomial in the security parameter n) adversaries A, the probability that A succeeds in the following experiment is negligible in n:
UOWHF Collision Experiment:
  1. A outputs a string x \in \{0,1\}^{m(n)}.
  2. We choose a random seed k \gets \{0,1\}^n and give it to the adversary.
  3. A outputs a different string y \in \{0,1\}^{m(n)}, x \ne y.
We say that A succeeds if Hk(x) = Hk(y).

Note that, unlike in the definition of collision-resistant hash functions, the adversary must choose x before the hash seed is drawn.

Existence

A UOWHF can be constructed from any one-way permutation and universal hash function -- see Construction:UOWHF from OWP.