Unpredictable Permutation
   HOME

TheInfoList



OR:

In
cryptography Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adver ...
, a pseudorandom permutation (PRP) is a function that cannot be distinguished from a
random permutation A random permutation is a random ordering of a set of objects, that is, a permutation-valued random variable. The use of random permutations is often fundamental to fields that use randomized algorithms such as coding theory, cryptography, and sim ...
(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 \left\^n \times \left\^s \rightarrow \left\^n. ''F'' is a PRP if and only if * For any K \in \left\^s, F_K is a
bijection In mathematics, a bijection, also known as a bijective function, one-to-one correspondence, or invertible function, is a function between the elements of two sets, where each element of one set is paired with exactly one element of the other s ...
from \left\^n to \left\^n, where F_K(x)=F(x,K). * For any K \in \left\^s, there is an "efficient" algorithm to evaluate F_K(x) for any x \in \left\^n,. * For all probabilistic polynomial-time distinguishers D: \left, Pr\left(D^(1^n) = 1\right) - Pr\left(D^(1^n) = 1\right) \ < \varepsilon(s), where K \in \left\^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.


The model of block ciphers

The idealized abstraction of a (keyed)
block cipher In cryptography, a block cipher is a deterministic algorithm operating on fixed-length groups of bits, called ''blocks''. Block ciphers are specified cryptographic primitive, elementary components in the design of many cryptographic protocols and ...
is a truly
random permutation A random permutation is a random ordering of a set of objects, that is, a permutation-valued random variable. The use of random permutations is often fundamental to fields that use randomized algorithms such as coding theory, cryptography, and sim ...
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 In cryptography, a security parameter is a way of measuring of how "hard" it is for an adversary to break a cryptographic scheme. There are two main types of security parameter: ''computational'' and ''statistical'', often denoted by \kappa and \ ...
(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 Security is protection from, or resilience against, potential harm (or other unwanted coercive change) caused by others, by restraining the freedom of others to act. Beneficiaries (technically referents) of security may be of persons and social ...
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 In cryptography, a pseudorandom function family, abbreviated PRF, is a collection of efficiently-computable functions which emulate a random oracle in the following way: no efficient algorithm can distinguish (with significant advantage) betwee ...
using a Luby–Rackoff construction which is built using a
Feistel cipher In cryptography, a Feistel cipher (also known as Luby–Rackoff block cipher) is a symmetric structure used in the construction of block ciphers, named after the German-born physicist and cryptographer Horst Feistel, who did pioneering research whi ...
.


Related concepts


Unpredictable permutation

An unpredictable permutation (UP) ''F''''k'' is a
permutation In mathematics, a permutation of a set is, loosely speaking, an arrangement of its members into a sequence or linear order, or if the set is already ordered, a rearrangement of its elements. The word "permutation" also refers to the act or proc ...
whose values cannot be predicted by a fast
randomized algorithm A randomized algorithm is an algorithm that employs a degree of randomness as part of its logic or procedure. The algorithm typically uses uniformly random bits as an auxiliary input to guide its behavior, in the hope of achieving good performan ...
. Unpredictable permutations may be used as a
cryptographic primitive Cryptographic primitives are well-established, low-level cryptographic algorithms that are frequently used to build cryptographic protocols for computer security systems. These routines include, but are not limited to, one-way hash functions and ...
, a building block for cryptographic systems with more complex properties. An
adversary An adversary is generally considered to be a person, group, or force that opposes and/or attacks. Adversary may also refer to: * Satan ("adversary" in Hebrew), in Judeo-Christian religion Entertainment Fiction * Adversary (comics), villain fro ...
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 ''F''''k''. 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.. 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 mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An exa ...
in ''n'', and whose error probability is less than 1/2 for all instances. That is, it cannot be predicted in the
complexity class In computational complexity theory, a complexity class is a set of computational problems of related resource-based complexity. The two most commonly analyzed resources are time and memory. In general, a complexity class is defined in terms of ...
PP, relativized by the oracle for the permutation.


Properties of unpredictable permutations

It can be shown that a function ''F''''k'' is not a secure
message authentication code In cryptography, a message authentication code (MAC), sometimes known as a ''tag'', is a short piece of information used for authenticating a message. In other words, to confirm that the message came from the stated sender (its authenticity) and ...
(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. 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.Advances in Cryptology – EUROCRYPT 2007: 26th Annual International Conference on the Theory and Applications of Cryptographic Techniques – by Moni Naor, International Association for Cryptologic Research 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 ''A''''f'' 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.http://cs.nyu.edu/~puniya/papers/public_feistel.pdf 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..


Applications

*
DES Des is a masculine given name, mostly a short form (hypocorism) of Desmond. People named Des include: People * Des Buckingham, English football manager * Des Corcoran, (1928–2004), Australian politician * Des Dillon (disambiguation), sever ...
::K x X → X ∀ X=''64'', K=''56'' *
AES-128 The Advanced Encryption Standard (AES), also known by its original name Rijndael (), is a specification for the encryption of electronic data established by the U.S. National Institute of Standards and Technology (NIST) in 2001. AES is a variant ...
::K x X → X ∀ k=X=''128''


See also

*
Block cipher In cryptography, a block cipher is a deterministic algorithm operating on fixed-length groups of bits, called ''blocks''. Block ciphers are specified cryptographic primitive, elementary components in the design of many cryptographic protocols and ...
(pseudorandom permutation families operating on fixed-size blocks of bits) *
Format-preserving encryption In cryptography, format-preserving encryption (FPE), refers to encrypting in such a way that the output (the ciphertext) is in the same format as the input (the plaintext). The meaning of "format" varies. Typically only finite sets of characters ar ...
(pseudorandom permutation families operating on arbitrary finite sets)


References

{{Cryptography navbox Theory of cryptography Cryptographic primitives Permutations