Reference articles on history, science, culture and more
Encyclopedia

Pseudorandom permutation

Class of functions in cryptography

In cryptography, a pseudorandom permutation (PRP) is a function that cannot be distinguished from a random permutation (that is, a permutation selected at random with uniform probability, from the family of all permutations on the function's domain) with practical effort.

01Definition

Let F be a mapping \left\{0,1\right\}^{n}\times \left\{0,1\right\}^{s}\rightarrow \left\{0,1\right\}^{n}. F is a PRP if and only if

  • For any K\in \left\{0,1\right\}^{s}, F_{K} is a bijection from \left\{0,1\right\}^{n} to \left\{0,1\right\}^{n}, where F_{K}(x)=F(x,K).
  • For any K\in \left\{0,1\right\}^{s}, there is an "efficient" algorithm to evaluate F_{K}(x) for any x\in \left\{0,1\right\}^{n},.
  • For all probabilistic polynomial-time distinguishers D: \left|Pr\left(D^{F_{K}}(1^{n})=1\right)-Pr\left(D^{f_{n}}(1^{n})=1\right)\right|<\varepsilon (s), where K\in \left\{0,1\right\}^{s} is chosen uniformly at random and f_{n} is chosen uniformly at random from the set of permutations on n-bit strings.

A pseudorandom permutation family is a collection of pseudorandom permutations, where a specific permutation may be chosen using a key.

02The model of block ciphers

The idealized abstraction of a (keyed) block cipher is a truly random permutation on the mappings between plaintext and ciphertext. If a distinguishing algorithm exists that achieves significant advantage with less effort than specified by the block cipher's security parameter (this usually means the effort required should be about the same as a brute force search through the cipher's key space), then the cipher is considered broken at least in a certificational sense, even if such a break doesn't immediately lead to a practical security failure.

Modern ciphers are expected to have super pseudorandomness. That is, the cipher should be indistinguishable from a randomly chosen permutation on the same message space, even if the adversary has black-box access to the forward and inverse directions of the cipher.

03Connections with pseudorandom function

Michael Luby and Charles Rackoff showed that a "strong" pseudorandom permutation can be built from a pseudorandom function using a Luby-Rackoff construction which is built using a Feistel cipher.

05Applications

K x X → X ∀ X={0,1}64, K={0,1}56
K x X → X ∀ k=X={0,1}128
Watch videos about Pseudorandom permutationExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article Pseudorandom permutation, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.