# How to Construct Pseudorandom Permutations from Pseudorandom Functions
URL: https://epubs.siam.org/doi/abs/10.1137/0217022
Authors: Michael Luby, Charles Rackoff
## Abstract
We show how to efficiently construct a pseudorandom invertible permutation generator from a pseudorandom function generator. Goldreich, Goldwasser and Micali [[GGM86 - How to construct random functions|GGM86]] introduce the notion of a pseudorandom function generator and show how to efficiently construct a pseudorandom function generator from a pseudorandom bit generator. We use some of the ideas behind the design of the Data Encryption Standard for our construction. A practical implication of our result is that any pseudorandom bit generator can be used to construct a block private key cryptosystem which is secure against chosen plaintext attack, which is one of the strongest known attacks against a cryptosystem.