Perfect Block Ciphers with Small Blocks

Abstract

Existing symmetric encryption algorithms target messages consisting of elementary binary blocks of at least 64 bits. Some applications need a block cipher which operates over smaller and possibly non-binary blocks, which can be viewed as a pseudo-random permutation of n elements. We present an algorithm for selecting such a random permutation of n elements and evaluating efficiently the permutation and its inverse over arbitrary inputs. We use an underlying deterministic RNG (random number generator). Each evaluation of the permutation uses O(logn) space and O((logn)3) RNG invocations. The selection process is “perfect”: the permutation is uniformly selected among the n! possibilities.

This work has been supported in part by the French government through X-Crypt, in part by the European Commission through ECRYPT.