Elastic Block Ciphers: The Basic Design

01 January 2007

New Image

Standard block ciphers are designed around one or a small number of block sizes, with most supporting 128-bit blocks. In applications, the length of the data to be encrypted is often not a multiple of the supported block size. This results in the use of plaintext-padding schemes that impose computational and space overheads by appending bits to the data. When the data being encrypted is relatively small, the padding can become a significant portion of the encrypted data. We introduce the concept of an elastic block cipher, which allows us to "stretch" the supported block size of a block cipher uto a length double the original block size, while increasing the computational workload proportionally to the block size. This, together with modes of operation, permits block sizes to be set based on an application's requirements, allowing, for example, a non-traditional block size to be used for all blocks, or a traditional block size to be used for all but the last block in a given mode of operation. We propose a general method for creating an elastic block cipher from an existing block cipher. Our intent is not to design a new ad-hoc cipher, but to systematically build upon existing block ciphers. Our method consists of a network structure that uses the round function from an existing block cipher, allowing us to treat the round function of the original cipher as a black box and reuse its properties. This results in the security of the elastic version of a cipher being directly related to that of the original cipher.