Hubbry Logo
Pseudorandom permutationPseudorandom permutationMain
Open search
Pseudorandom permutation
Community hub
Pseudorandom permutation
logo
7 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Pseudorandom permutation
Pseudorandom permutation
from Wikipedia

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.

Definition

[edit]

Let F be a mapping . F is a PRP if and only if

  • For any , is a bijection from to , where .
  • For any , there is an "efficient" algorithm to evaluate for any ,.
  • For all probabilistic polynomial-time distinguishers : , where is chosen uniformly at random and is chosen uniformly at random from the set of permutations on n-bit strings.[1]

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

The model of block ciphers

[edit]

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.[2]

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.[3]

Connections with pseudorandom function

[edit]

Michael Luby and Charles Rackoff[4] 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.

[edit]

Unpredictable permutation

[edit]

An unpredictable permutation (UP) Fk is a permutation whose values cannot be predicted by a fast randomized algorithm. Unpredictable permutations may be used as a cryptographic primitive, a building block for cryptographic systems with more complex properties.

An adversary for an unpredictable permutation is defined to be an algorithm that is given access to an oracle for both forward and inverse permutation operations. The adversary is given a challenge input k and is asked to predict the value of Fk. It is allowed to make a series of queries to the oracle to help it make this prediction, but is not allowed to query the value of k itself.[5]

A randomized algorithm for generating permutations generates an unpredictable permutation if its outputs are permutations on a set of items (described by length-n binary strings) that cannot be predicted with accuracy significantly better than random by an adversary that makes a polynomial (in n) number of queries to the oracle prior to the challenge round, whose running time is polynomial in n, and whose error probability is less than 1/2 for all instances. That is, it cannot be predicted in the complexity class PP, relativized by the oracle for the permutation.[5]

Properties of unpredictable permutations

[edit]

It can be shown that a function Fk is not a secure message authentication code (MAC) if it satisfies only the unpredictability requirement. It can also be shown that one cannot build an efficient variable input length MAC from a block cipher which is modelled as a UP of n bits. It has been shown that the output of a k = n/ω(log λ) round Feistel construction with unpredictable round functions may leak all the intermediate round values.[5] Even for realistic Unpredictable Functions (UF), some partial information about the intermediate round values may be leaked through the output. It was later shown that if a super-logarithmic number of rounds in the Feistel construction is used, then the resulting UP construction is secure even if the adversary gets all the intermediate round values along with the permutation output.[6]

There is also a theorem that has been proven in this regard which states that if there exists an efficient UP adversary Aπ that has non-negligible advantage επ in the unpredictability game against UP construction ψU,k and which makes a polynomial number of queries to the challenger, then there also exists a UF adversary Af that has non-negligible advantage in the unpredictability game against a UF sampled from the UF family F . From this, it can be shown that the maximum advantage of the UP adversary Aπ is επ = O (εf. (qk)6). Here εf denotes the maximum advantage of a UF adversary running in time O(t + (qk)5) against a UF sampled from F, where t is the running time of the PRP adversary Aψ and q is the number of queries made by it.[6][7]

In addition, a signature scheme that satisfies the property of unpredictability and not necessarily pseudo-randomness is essentially a Verifiable Unpredictable Function (VUF). A verifiable unpredictable function is defined analogously to a Verifiable Pseudorandom Function (VRF) but for pseudo-randomness being substituted with weaker unpredictability. Verifiable unpredictable permutations are the permutation analogs of VUFs or unpredictable analogs of VRPs. A VRP is also a VUP and a VUP can actually be built by building a VRP via the Feistel construction applied to a VRF. But this is not viewed useful since VUFs appear to be much easier to construct than VRFs.[8]

Applications

[edit]
K x X → X ∀ X={0,1}64, K={0,1}56
K x X → X ∀ k=X={0,1}128

See also

[edit]

References

[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
A pseudorandom permutation (PRP) is a keyed family of over a finite domain such that, when the key is chosen uniformly at random, no efficient adversary can distinguish the permutation from a uniformly random with non-negligible probability, even after adaptively querying the permutation on polynomially many inputs. Formally, for a PRP Π={πK:{0,1}n{0,1}n}K{0,1}s\Pi = \{\pi_K : \{0,1\}^n \to \{0,1\}^n\}_{K \in \{0,1\}^s}, each πK\pi_K is a , efficiently computable, and for any probabilistic polynomial-time distinguisher DD making at most qq queries, the advantage Pr[DπK()=1]Pr[Dπ()=1]\left| \Pr[D^{\pi_K}(\cdot) = 1] - \Pr[D^\pi(\cdot) = 1] \right| is negligible in nn, where π\pi is a random and the probabilities are over random KK and π\pi. A related notion is the strong PRP (SPRP), which remains indistinguishable even when the adversary has access to both the forward permutation and its inverse. In , PRPs serve as the standard security model for block ciphers, such as AES, which encrypt fixed-length blocks of data under a secret key by permuting the in a way that appears random to unauthorized parties. This indistinguishability ensures that block ciphers resist attacks like distinguishing the cipher from random behavior, thereby providing confidentiality against chosen-plaintext adversaries. PRPs differ from pseudorandom functions (PRFs) in that they are bijective, enabling efficient decryption, but both primitives are foundational for symmetric-key protocols including message authentication and key derivation. The concept of PRPs was formalized in 1988 by Luby and Rackoff, who demonstrated how to construct a PRP from a PRF using a Feistel network: three rounds suffice for PRP security against chosen-plaintext attacks, while four rounds are needed for SPRP security against chosen-ciphertext attacks, with concrete bounds like ϵ+q2/2n\epsilon + q^2 / 2^n for the distinguishing advantage. Their construction, inspired by the DES cipher, composes rounds of the form Li+1=RiL_{i+1} = R_i, Ri+1=Lifk(Ri)R_{i+1} = L_i \oplus f_k(R_i), where fkf_k is a keyed PRF, proving security under the PRF assumption. Subsequent work by Naor and Reingold in 1999 improved this by constructing super-pseudorandom permutations (also known as strong PRPs or SPRPs) from PRFs using pairwise-independent permutations, enhancing efficiency and security proofs for practical implementations. These results underpin the design of modern block ciphers and enable provable security in cryptographic schemes.

Fundamentals

Definition

A pseudorandom permutation (PRP) is a keyed of s over a finite domain that is computationally indistinguishable from a truly by any efficient adversary with access to the permutation as an . This primitive models the ideal behavior of block ciphers in cryptography, where the permutation appears random under a secret key, ensuring that no polynomial-time can reliably detect patterns or predict outputs beyond what chance would allow. Formally, consider a function family E:{0,1}κ×{0,1}n{0,1}nE: \{0,1\}^\kappa \times \{0,1\}^n \to \{0,1\}^n, where κ\kappa is the key length. The family EE is a PRP if for every probabilistic polynomial-time distinguisher DD, the distinguishing advantage Pr[DEk()(1κ)=1]Pr[DP()(1κ)=1]\left| \Pr[D^{E_k(\cdot)}(1^\kappa) = 1] - \Pr[D^{P(\cdot)}(1^\kappa) = 1] \right|
Add your contribution
Related Hubs
User Avatar
No comments yet.