1. A cryptography engine for performing cryptographic operations on a data block, the cryptography engine comprising: a key scheduler configured to provide keys for cryptographic operations; a two-level multiplexer; expansion logic coupled to the input stage of the multiplexer circuitry, the expansion logic configured to expand a first bit sequence having a first size to an expanded first bit sequence having a second size greater than the first size, the first bit sequence corresponding to a portion of the data block; permutation logic coupled to the expansion logic, the permutation logic configured to alter a second bit sequence corresponding to the portion of the data block, whereby altering the second bit sequence performs cryptographic operations on the data block.