Here we have a typical hybrid realization: The figure shows connections from a block of 8 input bytes at the top, which are each substituted through keyed "8-bit" invertible tables or S-boxes. Each table represents about 1684 bits of keying.

Each yellow diamond represents half of a linear BBM component. Each mixing takes two bytes in, and produces a 2-byte result. The mixings are arranged in an FFT-style pattern which mixes every byte across the entire block using only byte mixings.

We have a top row of substitutions, then a complete mixing. Then we have another row of substitutions and another complete mixing. Then we have a final substitution row, which produces 8 bytes of ciphertext out the bottom.



FFT-style mixing patterns can be computed at ciphering time, so blocks of dynamically arbitrary power-of-2 size can be ciphered. Extremely large blocks can be ciphered almost as fast (per byte) as smaller blocks, thus possibly avoiding CBC chaining, and providing room for authentication and dynamic keying fields.