2

I am reading whitebox AES. "Mixing Bijection" is one of the important definition. For example, I copy one paragraph here:

The look-up tables that incorporate bytes of round keys can be considered miniature block ciphers. The application of concatenated input and output encodings help these components achieve confusion, as defined by Shannon. To help them achieve diffusion, linear transformations are also composed at their input and output (these compositions are done before the application of the concatenated input and output encodings). An invertible linear transformation is referred to as a mixing bijection.

I have read the definition of bijection online, which is easy to understand. What means mixing bijection? Explain in "simple" English, better with an example.

TJCLK
  • 497
  • 5
  • 19

1 Answers1

2

What they are referring to as a mixing bijection is the MixColumns step of the AES round function. It functions to improve diffusion by reversibly scrambling the state of each column. Recall that the block state consists of a 4x4 matrix of byte-sized elements (totaling 16 bytes, or 128 bits), so each of the four columns are composed of four vertical elements. The MixColumns transformation is applied to each column in parallel. It is just one step of several. Together with AddRoundKey, ShiftRows, and SubBytes, it makes up a single AES round. Ten to fourteen rounds are applied on each block.

It is referred to as a mixing bijection instead of just a bijection to imply that the output is random. Not all bijections appear random of course. This isn't standard terminology, which explains the confusion. Just think of it as a bijection whose output appears fairly random, making it useful for diffusion.

I strongly recommend you read A Stick Figure Guide to the Advanced Encryption Standard (AES). It is a wonderful explanation of the internals of AES, including MixColumns.

forest
  • 15,626
  • 2
  • 49
  • 103