A method is presented to generate a keyed random permutation (for example when enciphering a block of binary data) using the theoretical minimum number of key bits. The method is especially useful in an environment with limited key supply. An algorithm for implementing the method is given, with an estimate of its complexity.