ArticleslgStudy

computer science

Pseudorandom permutation

Pseudorandom permutation is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Pseudorandom permutation rather than just read about it. In short: 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 Let F be a mapping { 0 , 1 } n × { 0 , 1 } s → { 0 , 1 } n {\displaystyle \left\{0,1\right\}^{n}\times \left\{0,1\right\}^{s}\rightarro…

Key takeaways

  • Pseudorandom permutation belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Pseudorandom permutation to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Pseudorandom permutation from memory before moving on to harder problems.

Reference excerpt

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 Let F be a mapping { 0 , 1 } n × { 0 , 1 } s → { 0 , 1 } n {\displaystyle \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 ∈ { 0 , 1 } s {\displaystyle K\in \left\{0,1\right\}^{s}} , F K {\displaystyle F_{K}} is a bijection from { 0 , 1 } n {\displaystyle \left\{0,1\right\}^{n}} to { 0 , 1 } n {\displaystyle \left\{0,1\right\}^{n}} , where F K ( x ) = F ( x , K ) {\displaystyle F_{K}(x)=F(x,K)} . For any K ∈ { 0 , 1 } s {\displaystyle K\in \left\{0,1\right\}^{s}} , there is an "efficient" algorithm to evaluate F K ( x ) {\displaystyle F_{K}(x)} for any x ∈ { 0 , 1 } n {\displaystyle x\in \left\{0,1\right\}^{n}} ,. For all probabilistic polynomial-time distinguishers D {\displaystyle D} : | P r ( D F K ( 1 n ) = 1 ) − P r ( D f n ( 1 n ) = 1 ) | < ε ( s ) {\displaystyle \left|Pr\left(D^{F_{K}}(1^{n})=1\right)-Pr\left(D^{f_{n}}(1^{n})=1\right)\right|<\varepsilon (s)} , where K ∈ { 0 , 1 } s {\displaystyle K\in \left\{0,1\right\}^{s}} is chosen uniformly at random and f n {\displaystyle 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.

The 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.

Connections 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.

Related concepts

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with Pseudorandom permutation

Start with the simplest possible case. Write down what Pseudorandom permutation claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Pseudorandom permutation before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Pseudorandom permutation ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Pseudorandom permutation

In research
Pseudorandom permutation appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Pseudorandom permutation in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Pseudorandom permutation is common in secondary-school and first-year university syllabi. It links to neighbouring topics Cryptographic primitives, Permutations, Theory of cryptography, so understanding it makes those chapters shorter.
In everyday life
Look for Pseudorandom permutation outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Pseudorandom permutation in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Pseudorandom permutation means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Pseudorandom permutation out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Pseudorandom permutation in simple terms?

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 Let F be a mapp…

Why does Pseudorandom permutation matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Pseudorandom permutation?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Pseudorandom permutation.

Tags

  • Cryptographic primitives
  • Permutations
  • Theory of cryptography

Keep exploring