Paper 2015/773

Distinguishing a truncated random permutation from a random function

Shoni Gilboa and Shay Gueron


An oracle chooses a function f from the set of n bits strings to itself, which is either a randomly chosen permutation or a randomly chosen function. When queried by an n-bit string w, the oracle computes f(w), truncates the m last bits, and returns only the first n-m bits of f(w). How many queries does a querying adversary need to submit in order to distinguish the truncated permutation from a random function? In 1998, Hall et al. showed an algorithm for determining (with high probability) whether or not f is a permutation, using O ( 2^((m+n)/2) ) queries. They also showed that if m < n/7, a smaller number of queries will not suffice. For m > n/7, their method gives a weaker bound. In this manuscript, we show how a modification of the method used by Hall et al. can solve the porblem completely. It extends the result to essentially every m, showing that Omega ( 2^((m+n)/2) ) queries are needed to get a non-negligible distinguishing advantage. We recently became aware that a better bound for the distinguishing advantage, for every m<n, follows from a result of Stam published, in a different context, already in 1978.

Available format(s)
Publication info
Preprint. MINOR revision.
Pseudo random permutationspseudo random functionsadvantage
Contact author(s)
shay @ math haifa ac il
2015-08-03: received
Short URL
Creative Commons Attribution


      author = {Shoni Gilboa and Shay Gueron},
      title = {Distinguishing a truncated random permutation from a random function},
      howpublished = {Cryptology ePrint Archive, Paper 2015/773},
      year = {2015},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.