Random function

From Wikipedia, the free encyclopedia

A random function is a function chosen at random from a finite family of functions. Typically, the family consists of the set of all maps from the domain to the image set. Thus, a random function can be considered to map each input independently at random to any one of the possible outputs. Viewed this way it is an idealization of a cryptographic hash function. A special case of a random function is a random permutation.

A random function is a useful building block in enabling cryptographic protocols. However, there are scenarios where it is not possible for mutually distrustful parties to agree on a random function (i.e, coin flipping is impossible). Therefore, cryptographers study models which explicitly allow for the use of a random function or a related object. See random oracle model, common reference string model.